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.
ThrillKill
Der er ikke nogle brugbare signaturer i freezeren, så noget kode sammenligning bliver brugt.
Derfor vil undersøgelsen ikke virke med andre versioner.