La siguiente tabla muestra el flujo del programa cuando un programa instalado con WHDLoad
será ejecutado. Espero que ayude a comprender como trabaja WHDLoad y como cooperan WHDLoad,
el Esclavo y el programa instalado.
El USUARIO |
- arranca la demo o el juego cliqueando en un Icono o arrancando
WHDLoad desde la línea de comandos
|
El Sistema Operativo |
- carga el ejecutable de WHDLoad e inicia la ejecución
|
WHDLoad |
- comprueba el entorno de Software y Hardware
- carga y comprueba el Esclavo
- asigna la memoria requerida por el programa instalado
- si Preload/S esta activado, carga
las imágenes de disco y los ficheros en RAM (en tanto que haya memoria libre
disponible)
- conmuta el SO hacia "apagado" (desactiva la multitarea y las interrupciones, degrada
el hardware de gráficos a OCS, inicializa todo el hardware con los valores definidos)
- transfiere la ejecución al Esclavo
|
Esclavo |
- carga el ejecutable principal del programa instalado llamando una
función de WHDLoad (tal como resload_DiskLoad
o resload_LoadFile)
- parcha el ejecutable principal (para que el programa cargue sus datos
utilizando el Esclavo, para solucionar problemas de compatibilidad, o habilitar la función de salir
desde el programa)
- transfiere la ejecución al ejecutable principal
|
Programa Instalado |
- hará lo suyo
- al cargar datos desde disco llamara al Esclavo (dado que el
Esclavo lo ha parchado para que lo haga previamente), y el Esclavo
llamará a WHDLoad, y WHDLoad habilitará parcialmente el SO para
cargar los datos (solamente si la información no ha sido Precargada [Preload]), luego retorna, retorna
y el programa instalado continúa
|
El USUARIO |
- sale del programa presionando la tecla de salida (QuitKey)
|
Esclavo |
|
WHDLoad |
- re-activa el SO (restaura los registros de hardware, visualización y memoria)
- libera todos los recursos asignados
- retorna al SO
|