Domanda Problema boot programma

mattstack

Utente Bronze
1 Aprile 2021
36
10
23
Ciao sto sviluppando un piccolo giochino da eseguire in bare metal, non potento memorizzare quest'ultimo nel settore di avvio per le sue modeste dimensioni, sono stato costretto ha scrivere un piccolo bootloader, fatto sta che non tutto funziona come dovrebbe, o meglio su un emulatore non ci sono problemi, ma quando vado a eseguire il programma su hardware reale ottengo una triste schermata nera con un cursore che lampeggia, quindi da ciò deduco che effettivamente il disco è avviabile e ho memorizzato correttamente le istruzioni del bootloader all'interno del primo settore, allora, secondo me il problema sta nel modo in cui vengono indirizzati i dati all'interno delle memorie di massa, forse non viene utilizzato il metodo CHS, assegnando a ogni settore una terna di identificatori, bensì un altro metodo, di cui adesso non ricordo il nome, che consiste nell'assegnare a ogni singolo settore un identificatore univoco, praticamente un indirizzo, cioè comporta che il programma attivando la subroutine di servizio del BIOS dedicate allle operazioni di lettura dal disco tramite CHS, attivi in realtà quelle per il secondo metodo, in quanto il primo non è supportato dal BIOS, è il risultato sarà ben diverso, in quanto i registri verranno caricati con dei valori senza senso o che saranno mal interpretati, comportando ciò. Voi che ne dite, potrebbe essere questo il problema, oppure un altro?