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.