Monitors del Sistema / Congeladors

### Monitors del Sistema / Congeladors (freezers)

Hi ha gran quantitat de congeladors que funcionen per programari al mercat. L'ús d'aquestes eines pot ser de gran ajuda durant el desenvolupament i detecció d'errors als Esclaus i el programa instal·lat. WHDLoad suporta directament HRTMon i ThrillKill. Es poden utilitzar d'altres amb l'opció NoTrapHandler/S (però això té alguns desavantatges, per descomptat). Si desitja tenir suport directe per a un altre programa, contacti'm i si es pot fer, inclouré suport per al mateix. Durant l'arrencada de WHDLoad, aquest intentarà comprovar si algun dels monitors suportats es troba actiu. Si se'n troba algun, WHDLoad realitzarà algunes tasques especials: Si la MMU està éssent utilitzada per WHDLoad, declararà la memòria utilitzada pel monitor com vàlida i "Cachable WriteThrough". Durant l'execució de la demo/joc es redirigiran totes les excepcions NMI al vector NMI desat des de la taula de vectors del monitor. Addicionalment, si el VBR és desplaçat per WHDLoad (NoVBRMove/S no està configurat i la CPU és com a mínim un 68010) aquest compararà la FreezeKey amb el valor actual del teclat a cada interrupció. Si els valors coincideixen, WHDLoad farà el necessari amb el teclat, transformant el marc de la pila (stackframe) a un marc de pila NMI i entrant en el monitor a través del seu gestor de NMI.

#### HRTMon

La detecció en memòria hauria d'ésser relativament segura. Penso que també funcionarà en versions futures. Tingui cura si la MMU està éssent utilitzada per WHDLoad: no accedeixi a l'àrea fora de BaseMem des de HRTMon. Això ocasionarà un tancament del programa degut al fet que HRTMon no pot tractar l'Excepció de Falla d'Accés (Access Fault Exception).

A les preferències d'HRTMon (HRTMonPrefs), s'ha de seleccionar la casella 'No VBR move', en cas contrari no podrà entrar al monitor mentre WHDLoad s'està executant.

Després de retornar des de HRTMon al programa que s'està executant sota WHDLoad, pot notar-se una pantalla gràfica incorrecta. Això es deu al fet que HRTMon sobreescriu alguns registres; això es pot evitar indicant-li a HRTMon el valor correcte, per ex. empri `'e $100 $5200'` per a una pantalla de 32 colors abans de retornar.

The HRTmon built into WinUAE can only be detected if HRTmon has been previousy activated at least one time (press key PgUp). Because on first activation the NMI vector will be set which is used by WHDLoad to locate the monitor.

L'HRTmon inclòs a WinUAE només es pot detectar si HRTmon s'ha activat prèviament com a mínim una vegada (s'ha polsat la tecla PgUp), donat que durant la primera activació s'estableix el vector NMI, que és utilitzat per WHDLoad per localitzar el monitor.

#### ThrillKill

No hi ha cap signatura utilitzable al congelador, per tant s'utilitza un sistema a base de comparacions al codi. Això implica que la detecció no funcionarà amb altres versions.