La seguente tabella mostra la sequenza di azioni compiute quando viene eseguito un programma installato con WHDLoad.Spero che vi possa aiutare a capire meglio come funziona WHDLoad e come avviene la sua cooperazione con lo Slave ed il programma installato.
L'UTENTE |
- avvia il demo o il gioco cliccando un'icona o avviando WHDLoad dalla riga di comando
|
Il Sistema Operativo |
- carica l'eseguibile di WHDLoad e lo avvia
|
WHDLoad |
- controlla l'ambiente Software e Hardware
- carica e controlla lo Slave
- alloca la memoria necessaria per il programma installato
- se Preload/S è abilitata allora carica le immagini disco e i file nella RAM (se
c'è abbastanza memoria disponibile)
- disabilita il SO (disabilita il multitasking e gli interrupt, degrada l'hardware grafico all'OCS, inizializza
tutto l'hardware con i valori definiti)
- passa il controllo allo Slave
|
Slave |
- carica l'eseguibile principale del programma installato mediante una chiamata ad una funzione di WHDLoad
(ad esempio resload_DiskLoad o resload_LoadFile)
- patcha l'eseguibile principale (in modo che il programma carichi i suoi dati tramite lo Slave, per fissare
problemi di compatibilità, per abilitare l'uscita dal programma)
- passa il controllo all'eseguibile principale
|
Il Programma Installato |
- eseguirà le operazioni necessarie
- al caricamento di dati dal disco richiamerà lo Slave (poichè quest'ultimo in precedenza lo ha patchato in modo
che lo faccia), e lo Slave richiamerà WHDLoad, e WHDLoad abiliterà parzialmente il SO per caricare i dati (solo
se i dati non sono Preload'ed, precaricati), quindi ritornerà il controllo allo
Slave, e quindi ancora al programma installato che procederà con l'esecuzione
|
L'UTENTE |
- uscirà dal programma mediante pressione del QuitKey
|
Slave |
- ripasserà il controllo a WHDLoad mediante chiamata a resload_Abort
|
WHDLoad |
- riabiliterà il SO (ripristino dei registri hardware, del display e della memoria)
- libererà tutte le risorse allocate
- ritornerà al SO
|