Monitor di sistema / Freezer
Ci sono molti software di freeze (congelamento) in giro. L'utilizzo di questi programmi può essere di grande aiuto durante
lo sviluppo e il debug degli Slave e dei programmi installati. WHDLoad supporta direttamente HrtMon e ThrillKill. Altri
programmi possono essere usati tramite l'opzione NoTrapHandler/S (questo ha comunque
qualche svantaggio). Se vuoi un supporto diretto per un'altro programma puoi contattarmi, e se può essere fatto, includerò
il suo supporto. All'avvio WHDLoad controlla se uno dei monitor di sistema supportati è attivo. Se ne viene trovato uno,
WHDLoad eseguirà qualche azione speciale. Se la MMU è usata da WHDLoad, quest'ultimo dichiarerà la memoria utilizzata dal
monitor come valida e utilizzabile con la cache WriteThrough. Mentre il gioco/demo sarà in esecuzione reindirizzerà tutte le
eccezioni NMI al vettore NMI salvato dalla vector table del monitor. In aggiunta a questo, se il VBR viene spostato da
WHDLoad (NoVBRMove/S non è settato e la cpu è almeno una 68010), confronterà la FreezeKey con l'attuale valore rilevato dalla tastiera ad ogni interrupt. Se i valori
corrispondono allora WHDLoad eseguirà l'operazione richiesta, trasformerà lo stackframe in un NMI stackframe ed entrerà nel
monitor tramite il suo handler NMI.
HrtMon
Il suo rilevamento in memoria dovrebbe essere relativamente sicuro. Credo che funzionerà anche con le future versioni. Fate
attenzione se la MMU viene utilizzata da WHDLoad: non accedete alle aree fuori da BaseMem da HrtMon. Quest'ultimo andrà in
crash (guru) perché non prevede il supporto per il risultante Access Fault Exception.
ThrillKill
Non c'è nessun segno distintivo utilizzabile per questo freezer, vengono quindi utilizzati alcuni confronti nel codice per
rilevarlo. Per questo motivo la sua rilevazione non funzionerà con altre sue versioni.