System Monitors / Freezer
Der er mange rene software freezers derude. Brugen af disse værktøjer kan være
til stor hjælp under udvikling og debugging af slaver og det
installerede program. WHDLoad sunderstøtter HRTMon and ThrillKill. Andre
kan bruges via indstillingen NoTrapHandler/S
(Dette har selvfølgelig andre ulemper). Hvis du vil have understøttelse
af andre kan du kontakte mig og hvis det er muligt vil jeg inkludere understøttelse for
den. Ved start af WHDLoad vil den kontrollere om en af de understøttede monitorer er aktive.
Hvis en findes vil WHDLoad gøre forskellige ting. Hvis MMU'en bliver brugt af
WHDLoad vil den sætte hukommelsen brugt af monitoren som valid og WriteThrough
cacheable. Mens spillet/demoen kører vil den videresende alle NMI exceptions
til NMI vektoren der er gemt fra monitor vektor tabellen. Hvis VBR yderligere
bliver flyttet af WHDLoad vil (NoVBRMove/S
ikke blive sat og CPU'en er mindst en 68010) den sammenligne FreezeKey med den aktuele keyboard værdi ved
hver interrupt. Hvis værdierne matcher vil WHDLoad gøre de nødvendige keyboard
ting, transformere stackframen til en NMI stackframe og tilgå monitoren via
dens NMI handler.
HRTMon
Undersøgelsen i hukommelsen skulle være relativ sikker. Jeg tror også at den
vil virke i fremtidige versioner. Vær forsigtig hvis MMU bliver brugt af WHDLoad:
tilgå ikke områder udenfor BaseMem fra HRTMon. Den vil crashe fordi HRTMon ikke
håndterer den resulterende Access Fault Exception.
I HRTmonPrefs skal du vælge 'No VBR move' boksen, ellers vil du ikke være i
stand til at tilgå monitoren mens WHDLoad kører.
Efter at returnere fra en aktiveret HRTMon til programmet der kører under WHDLoad
vil du måske notere ukorrekt grafik display. Dette er fordi HRTMon overskriver nogle
specielle registre. Du kan omgå dette ved at fortælle HRTMon den korrekte værdi,
f.eks. bruge 'e $100 $5200' for en 32 farver skærm før returnering.
Den indbyggede HRTmon i WinUAE kan kun detektere om HRTmon tidligere har været aktiveret
mindst én gang (tryk key PgUp). Firdi ved første aktivering vil NMI vektoren, der bliver
brugt af WHDLoad til at finde monitoren, blive sat.
Der er nyere udgaver af HRTmon som tilføjer specielle kommandoer når de køres under WHDLoad.
Så du kan load/save filer og bruge resload_Protect#? funktionerne indefra HRTMon.
Disse udgaver kan downloades fra WHDLoad siden.
ThrillKill
Der er ikke nogle brugbare signaturer i freezeren, så noget kode sammenligning bliver brugt.
Derfor vil undersøgelsen ikke virke med andre versioner.