### System Monitors / Freezer

Υπάρχουν πολλοί καθαροί software freezers. Η χρήση τέτοιων εργαλείων μπορεί να είναι μεγάλη βοήθεια κατά την ανάπτυξη και debugging των Slaves και των εγκατεστημένων προγραμμάτων. Το WHDLoad υποστηρίζει απευθείας το HRTMon και το ThrillKill. Άλλοι τύποι μπορούν να χρησιμοποιηθούν με την επιλογή NoTrapHandler/S (αυτό έχει άλλα μειονεκτήματα φυσικά). Εάν θέλετε απευθείας υποστήριξη για ένα άλλο, μπορείτε να επικοινωνήσετε μαζί μου και αν μπορεί να γίνει, θα συμπεριλάβω υποστήριξη για αυτό. Στην εκκίνησή του το WHDLoad θα ελέγξει αν ένα από τα υποστηριζόμενα monitors είναι ενεργό. Αν βρεθεί κάποιο το WHDLoad θα κάνει μερικά ειδικά πράγματα. Αν το MMU χρησιμοποιείται από το WHDLoad θα δηλώσει τη μνήμη που χρησιμοποιείται από το monitor ως έγκυρη και ως WriteThrough cacheable. Κατά τη διάρκεια της εκτέλεσης του παιχνιδού/demo θα προωθήσει όλες τις εξαιρέσεις NMI στο NMI vector που αποθηκεύεται από το vector table του monitor. Επιπλέον, εάν το VBR μετακινηθεί από το WHDLoad (Η NoVBRMove/S δεν έχει οριστεί και ο cpu είναι τουλάχιστον 68010) θα συγκρίνει το FreezeKey με την τιμή του πληκτρολογίου σε κάθε interrupt. Αν οι τιμές ταιριάζουν το WHDLoad θα κάνει τα απαραίτητα πράγματα του πληκτρολογίου, θα μεταμορφώσει το stackframe σε ένα NMI stackframe και θα μπει στο monitor μέσω του NMI handler του.

#### HRTMon

Η αναγνώριση στη μνήμη πρέπει να είναι σχετικά ασφαλής. Νομίζω ότι θα δουλέψει και με μελλοντικές εκδόσεις επίσης. Προσοχή αν χρησιμοποιείται το MMU από το WHDLoad: μην προσπελάσετε περιοχές έξω από την BaseMem από το HRTMon. Θα αποτύχει γιατί το HRTMon δεν χειρίζεται την εξαίρεση Access Fault Exception που προκύπτει.

Στο HRTmonPrefs πρέπει να επιλέξετε το 'No VBR move', διαφορετικά δεν θα μπορείτε να μπείτε στο monitor ενώ τρέχει το WHDLoad.

Μετά την επιστροφή από ένα ενεργό HRTmon στο πρόγραμμα που έτρεχε από το WHDLoad μπορεί να παρατηρήσετε προβληματική εμφάνιση γραφικών. Αυτό συμβαίνει γιατί το HRTmon γράφει πάνω σε κάποιον custom καταχωρητή. Μπορείτε να το παρακάμψετε αυτό δίνοντας στο HRTmon τη σωστή τιμή, π.χ. use `'e $100 $5200'` για μια οθόνη 32 χρωμάτων πριν την επιστροφή.

Το HRTmon που βρίσκεται μέσα στο WinUAE μπορεί να εντοπιστεί μόνο εάν το HRTmon έχει ενεργοποιηθεί προηγουμένως μία φορά τουλάχιστον (πατήστε το πλήκτρο PgUp). Επειδή στην πρώτη ενεργοποίηση το NMI vector θα οριστεί το οποίο θα χρησιμοποιηθεί από το WHDLoad για να εντοπιστεί το monitor.

#### ThrillKill

Δεν υπάρχει χρησιμοποιούμενη υπογραφή στο freezer, οπότε χρησιμοποιούνται μερικές συγκρίσεις κώδικα. Συνεπώς η αναγνώριση δεν θα λειτουργήσει με άλλες εκδόσεις.