[Main]
[Docs]
[Installs]
[Search]
[Team]
[Guestbook]
[Links]
System Monitore und Freezer
Es gibt eine Reihe verschiedener Softwarefreezer. Die Verwendung solcher
Programme kann eine große Hilfe bei der Entwicklung und der Fehlersuche bei
Slaves und zu installierenden Programmen sein. Direkte Unterstützung gibt es in
WHDLoad für HRTmon und ThrillKill. Wenn direkte Unterstützung für andere
Monitore gewünscht wird, bitte eine Nachricht an den Autor senden, der dann
versuchen wird die Unterstützung dafür hinzuzufügen. Beim Starten von WHDLoad
wird geprüft, ob ein bekannter Freezer aktiv ist. Falls einer gefunden wird,
werden einige spezielle Initialisierungen durchgeführt. Wenn die MMU von
WHDLoad benutzt wird, wird der gesamte Speicher der vom Freezer belegt ist als
gültig unter WHDLoad markiert und auf cacheable WriteThrough gesetzt. Während
das installierte Programm ausgeführt wird, werden alle Exceptions und der NMI
an den Freezer weitergeleitet. Außerdem vergleicht WHDLoad bei jedem Interrupt
den FreezeKey mit der aktuell gedrückten
Taste. Wenn diese übereinstimmen, wandelt WHDLoad das gegebene Stackframe in
ein NMI-Stackframe um und springt in den NMI-Handler des Freezers.
HRTmon
Die Erkennung im Speicher sollte relativ sicher sein, insbesondere bei neueren
Versionen da mittlerweile eine dafür verwendbare Signatur hinzugefügt wurde.
Vorsicht ist geboten, wenn die MMU von WHDLoad verwendet wird: es darf nicht
auf Speicher außerhalb von BaseMem/ExpMem zugegriffen werden. Ansonsten gibt es
einen Absturz, weil HRTmon die resultierende Access Fault Exception nicht
verarbeiten kann.
In den HRTmonPrefs muss die Option 'No VBR move' mit einem Häckchen
ausgewählt sein, sonst ist es nicht möglich den Monitor während das Laufes von
WHDLoad zu aktivieren.
Nach dem Zurückkehren aus dem Monitor zum installierten Programm kann es
sein, das die Grafikanzeige nicht in Ordnung ist. Die Ursache dafür ist, dass
HRTmon einige Custom Register überschreibt. Das Problem kann behoben werden,
indem man HRTmon die korrekten Werte für diese Register mitteilt, z.B. mit
'e $100 $5200' was das Register bplcon0 für einen 32-Farben Bildschirm
setzt.
Der in WinUAE eingebaute HRTmon kann von WHDLoad nur erkannt werden, wenn
dieser vorher einmal aktiviert wurde (drücken von PgDn). Dies hat den Grund,
dass bei der Aktivierung der NMI-Vector gesetzt wird welcher von WHDLoad zur
Entdeckung des Monitors benötigt wird.
Es gibt neuere Versionen von HRTmon welche zusätzliche, spezielle Kommandos
im Zusammenspiel mit WHDLoad beinhalten. Damit können Dateien
geladen/gespeichert und die resload_Protect#?
Funktionen direkt aus HRTmon heraus verwendet werden. Diese neueren Versionen
sind von der WHDLoad Seite
erhältlich.
ThrillKill
Es gibt keine verwendbare Signatur bei diesem Freezer, deshalb werden einige
Code-Vergleiche verwendet. Das ist auch der Grund dafür, dass die Erkennung
vermutlich nicht mit zukünftigen Versionen funktionieren wird.
[Main]
[Docs]
[Installs]
[Search]
[Team]
[Guestbook]
[Links]