Monitory systemu / programy zatrzymujące działanie innych programów
Istnieje wiele programów zatrzymujących działanie innych programów.
Wykorzystanie tych programów może być bardzo pomocne w trakcie prac nad
rozwojem i testowaniem plików .slave oraz zainstalowanych programów. WHDLoad
bezpośrednio wspólpracuje z HrtMon i ThrillKill. Inne programy mogą być użyte dzięki
opcji NoTrapHandler/S (oczywiście ma to
swoje wady). Jeśli potrzebujesz wsparcia dla innego oprogramowania, możesz
się skontaktować ze mną i, jeśli będzie to możliwe, dodam obsługę dla Twojego
monitora systemu. Przy uruchomieniu WHDLoad sprawdza, czy jest aktywny jeden z
obsługiwanych monitorów systemu. Jeśli takowy znajdzie, uruchomi dodatkowe
procedury. Jeśli MMU jest używane przez WHDLoad, zadeklaruje pamięć używaną
przez monitor jako obowiązującą buforowalną w trybie WriteThrough.
W trakcie działania gry/programu demonstracyjnego będzie przekazywał wszystkie
wyjątki NMI do wektora NMI zapisywanego z tabeli wektorów monitora. Dodatkowo,
jeśli VBR jest przeniesiony przez WHDLoad (opcja NoVBRMove/S
nie jest włączona, a komputer jest wyposażony w procesor co najmniej 68010)
porówna FreezeKey z aktualną wartością
z klawiatury przy każdym wywołanym przerwaniu.
Jeśli wartość się zgadza, WHDLoad obsłuży klawiaturę, następnie przekształci
ramkę stosu na ramkę stosu NMI i przejdzie do monitora poprzez jego handler
NMI.
HrtMon
Wykrycie w pamięci powinno być względnie bezpieczne. Myślę, iż WHDLoad będzie
działał również z przyszłymi wersjami. Bądź ostrożny, gdy MMU jest
wykorzystywane przez WHDLoad: nie próbuj odwoływać się z poziomu HrtMon do pamięci
spoza obszaru BaseMem. Spowoduje to zawieszenie systemu, gdyż HrtMon nie
obsługuje wyniku wyjątku błędu dostępu (Access Fault Exception).
ThrillKill
Nie ma żadnej użytecznej sygnatury w tym programie zatrzymującym działanie
innych programów, więc jest wykorzystywane
porównywanie fragmentów kodu. Dlatego też detekcja nie zadziała z innymi
wersjami.