Monitores del Sistema / Congelador

Hay gran cantidad de congeladores puramente por software ahí afuera. El uso de estas herramientas puede ser de gran ayuda durante el desarrollo y detección de errores en los Esclavos y el programa instalado. WHDLoad soporta directamente HrtMon y ThrillKill. Otros tipos pueden ser usados con la opción NoTrapHandler/S (esto tiene algunas desventajas, por supuesto). Si Ud. desea tener soporte directo para otro programa, contácteme y si puede ser hecho incluiré soporte para el mismo. Durante el arranque de WHDLoad este intentara comprobar si alguno de los monitores soportados esta activo. Si se encuentra alguno, WHDLoad hará algunas cosas especiales. Si la MMU esta siendo usada por WHDLoad este declarará la memoria usada por el monitor como válida y cacheable WriteThrough. Durante la ejecución de la demo/el juego se reenviarán todas las excepciones NMI al vector NMI salvado desde la tabla de vectores del monitor. Adicionalmente, si el VBR es desplazado por WHDLoad (NoVBRMove/S no esta configurada y la CPU es como mínimo un 68010) este comparará la FreezeKey con el valor actual del teclado en cada interrupción. Si los valores coinciden, WHDLoad hará lo necesario con el teclado, transformando el marco de la pila a un marco de pila de NMI y entrando en el monitor a través de su gestor de NMI.

HrtMon

La detección en memoria debe ser relativamente segura. Pienso que también funcionará con versiones futuras. Tenga cuidado si la MMU esta siendo usada por WHDLoad: no acceda al área fuera de BaseMem desde HrtMon. Esto ocasionará un cierre del programa debido a que HrtMon no puede manejar la Excepción de Falla de Acceso (Access Fault Exception).

En HRTmonPrefs Ud. debe seleccionar la casilla 'No VBR move', de lo contrario no podrá ingresar al monitor mientras WHDLoad se esta ejecutando.

Luego de retornar desde HRTmon al programa ejecutándose bajo WHDLoad Ud. puede notar una pantalla gráfica incorrecta. Esto se debe a que HRTmon sobreescribe algunos registros. Se puede evitar esto indicándole a HRTmon el valor correcto, por ej. use 'e $100 $5200' para una pantalla de 32 colores antes de retornar.

ThrillKill

No hay ninguna firma utilizable en el congelador, por lo tanto se usan algunas comparaciones en el código. Por lo tanto la detección no funcionará con otras versiones.