Uso
WHDLoad puede ser ejecutado desde la línea de comandos (CLI/Shell) o desde Workbench.
Las opciones pueden especificarse en un fichero de configuración global y mediante
argumentos o Tooltypes. La opción Esclavo usualmente es requerida.
Otras opciones pueden tambien ser necesarias, dependiendo del hardware y el programa
a ejecutar desde WHDLoad.
Cuando se ejecuta desde la línea de comandos WHDLoad termina con uno de los siguientes
códigos de retorno:
- 0 - ejecución exitosa
- 10 - error, el Esclavo no puede ser ejecutado debido a problemas previos, se muestra el mensaje de error
- 20 - error fatal, no hay suficiente memoria libre
- > 100 - el Esclavo ha sido ejecutado, ha retornado con 100 + TDREASON
Opciones y configuración global
Hay opciones locales y globales. Las opciones locales se especifican como argumentos
a través de la línea de comandos o como ToolTypes al ejecutarlo desde Workbench.
El fichero de configuración global es "S:WHDLoad.prefs
". Es un fichero normal
en ASCII y contiene una opción por línea. Las líneas vacías y los comentarios son
ignorados. Los comentarios están basados en líneas, comienzan con el caracter ";
"
y continúan hasta el final de la línea.
Un fichero de configuración de ejemplo está contenido en el paquete
WHDLoad ("S/WHDLoad.prefs
").
Lista de todas las opciones disponibles
Hay tres tipos de opciones:
numericas: |
el valor de la opción es un entero,
en la línea de comandos Ud. debe usar notación decimal, como ToolType Ud.
puede también utilizar notación hexadecimal indicada por el prefijo "$ "
|
cadena de caracteres: |
el valor de la opción es una cadena |
conmutador: |
la opción esta habilitada si se especifica (valor booleano) |
La columna Local muestra si la opción puede utilizarse en la línea de comandos y como un
tipo de herramienta (tooltype) en el ícono. La columna Global muestra si la opción puede ser
utilizada en el archivo de configuración global.
Muchas de las opciones no están disponibles en WHDLoadCD32. La
columna CD³² muestra si la opción esta disponible en esta versión especial de WHDLoad.
Ejemplo
Descripción de cada Opción
ButtonWait/S
Esta opción no afectara a WHDLoad en si, pero puede ser comprobada por el Esclavo.
El significado de esta opción es que si se configura, los usuarios quieren que el programa
instalado espere la pulsación de un botón cuando muestre pantallas y/o ejecute música
y normalmente lo hace solamente por un tiempo muy limitado (debido al tiempo de carga
desde disco duro/RAM comparado con la carga lenta desde disco).
BranchCache/S
Esta opción activa la caché de ramificaciones del 68060. En otros tipos de CPU no
tiene efecto.
La opción no tiene efecto si también se configura NoCache/S.
Cache/S
Esta opción activa la caché de instrucciones y desactiva la caché de datos para
el programa instalado. Si la MMU esta siendo utilizada por WHDLoad, marca la
memoria Chip como Cacheable Writethrough (imprecisa).
La opción no tiene efecto si también se configura NoCache/S.
Chk/S
Esta opción es un atajo y activa las opciones ChkBltSize/S, ChkBltWait/S y ChkColBst/S.
ChkBltHog/S
Esta opción comprueba todo el tiempo que el bit blthog
(bltpri
)
en el registro custom.dmacon no este configurado.
Esta funcionalidad solo funciona conjuntamente con una de las opciones
SnoopOCS/SnoopECS/SnoopAGA.
ChkBltSize/S
Esta opción comprueba que el programa instalado use el blitter en forma correcta,
de tal forma que solo se utilicen áreas de memoria validas para operaciones
de blitter. Esta funcionalidad solo funciona conjuntamente con una de las opciones
SnoopOCS/SnoopECS/SnoopAGA.
ChkBltWait/S
Esta opción comprueba que el programa instalado espere correctamente que el blitter
termine antes de comenzar un nuevo trabajo con el blitter. Esta funcionalidad solo
funciona conjuntamente con una de las opciones SnoopOCS/SnoopECS/SnoopAGA.
ChkColBst/S
Esta opción comprueba todo el tiempo que el bit color
en el registro custom.bplcon0
este configurado. Esta funcionalidad solo funciona conjuntamente con una de las opciones
SnoopOCS/SnoopECS/SnoopAGA.
ChkCopCon/S
Esta opción comprueba que el programa instalado no active el acceso del copper a los
registros DMA configurando custom.copcon
.
Esta funcionalidad solo funciona conjuntamente con una de las opciones
SnoopOCS/SnoopECS/SnoopAGA.
ChkInts/S
Esta opción comprueba durante cada interrupción si hay un par que se corresponda
en intreq
e intena
configurado para esta interrupción.
En caso negativo el programa instalado terminará con un mensaje de error apropiado.
Esta funcionalidad permite la detección sencilla de problemas de confirmación de
interrupción (interrupt acknowledge) en máquinas rápidas (68040/060) o con
hardware fallido que cause interrupciones no esperadas. Debido a que dicha
condición tambien puede darse si las interrupciones son desactivadas
configurando intena
simultáneamente con la ocurrencia de una
interrupción, esto ha sido configurado como una opción que puede activarse o
desactivarse.
ChipNoCache/S
Esta opción desactiva la cacheabilidad de la Memoria Chip (BaseMem). Debe ser usada en hardware
que no permite la cacheabilidad de la Memoria Chip (por ej. tarjetas BlizzardPPC) para
evitar enlentecimiento en la velocidad de ejecución del programa instalado.
Ver también Gestión de la Caché de la CPU.
CoreDump/S
Si se selecciona, al salir de cada programa instalado, WHDLoad creara un volcado
de memoria y registros. Esto puede ser útil para extraer un modulo de música
del vuelco de memoria o para eliminación de errores.
CoreDumpPath
El directorio destino para todos los ficheros de volcados
creados por WHDLoad.
Custom/K, Custom1/K/N, Custom2/K/N, Custom3/K/N,
Custom4/K/N, Custom5/K/N
Estas opciones no son utilizadas por WHDLoad en si, pero pueden ser comprobadas
por el Esclavo para controlar varias características especificas del Esclavo.
Custom/K puede contener una cadena y Custom1-5/K puede contener solamente un entero.
Compruebe la documentación del instalador especifico si este soporta las opciones
Custom.
D/S
Esta opción es útil para eliminación de errores. Si la opción esta activada
y un congelador por software soportado (Hrt/TK) se encuentra en memoria, WHDLoad
simulara una NMI antes de ejecutar la primer instrucción de CPU contenida en el Esclavo.
Data/K
Usando esta opción se puede especificar un directorio al cual entrara WHDLoad
antes de comenzar a cargar los datos del programa instalado. Esta opción
sobreescribe el valor de ws_CurrentDir contenido en el Esclavo.
DCache/S
Esta opción activa las caches de instrucciones y datos para el programa instalado. Si
la MMU esta siendo utilizada por WHDLoad marcara la memoria Chip como Cacheable
Writethrough (imprecisa).
La opción no tiene efecto si NoCache/S esta configurado.
DebugKey/K/N
Configura el código rawkey para salir del programa para
eliminación de errores (escribirá los archivos de volcado y
saldrá). Esta opción solo funcionara si el modo experto esta activo
y el VBR es movido por WHDLoad (NoVBRMove/S no esta configurado
y la CPU es como mínimo un 68010) o si el Esclavo en si mismo lo soporta.
ExecuteCleanup
Con esta opción puede especificarse un comando que será ejecutado por WHDLoad al salir.
ExecuteStartup
Con esta opción puede especificarse un comando que será ejecutado por WHDLoad durante
el arranque. Puede usarse para desactivar hardware que cause problemas en conjunto con
WHDLoad, o para detener la pila de TCP/IP o algo similar.
Expert/S
Esta opción activa el modo experto de WHDLoad. Actualmente afecta la
funcionalidad DebugKey/S y los mensajes de advertencia
durante la conmutación entre el programa instalado y el SO (pantallas con ciclo
de colores mediante copper). Si el modo experto no está activo,
la DebugKey/S no está disponible. En el modo experto
también aparece otro botón en algunos de los diálogos de error producidos por
WHDLoad. Este botón llamado Show Regs permite
visualizar información sobre los registros y el estado similar a la escrita
por un volcado de registros.
ExpChip/S, ExpLocal/S, Exp24Bit/S
Si el programa instalado usa memoria de expansión (ws_ExpMem) esta opción puede usarse para
forzar a WHDLoad a asignar esta memoria respectivamente a Memoria Chip, Memoria Local o
Memoria de 24 bits DMA. Esto puede resultar en una degradación del rendimiento dado que
la memoria especificada puede ser accedida mas lentamente por la CPU comparada con la
memoria Fast por defecto. Ud. puede usar herramientas de terceros (por ej. SysInfo,
GvpInfo,...) para comprobar la configuración de su memoria y ver que memoria
tiene que propiedades.
En general estas opciones están pensadas para solucionar problemas de compatibilidad de
programas instalados en máquinas rápidas haciéndolas mas lentas durante la ejecución
mediante el uso apropiado de memoria mas lenta.
FileLog/S
Esta opción es solamente para eliminación de errores.
Ver Volcados y Archivos de Bitácora para
mas informacion.
FreezeKey/K/N
Si Ud. esta usando uno de los congeladores por software soportados (HrtMon o Thrillkill)
puede usar esta opción para configurar un código rawkey que al
ser presionado ocasionara que WHDLoad entre en el modo congelador. Para que funcione,
el VBR debe ser movido por WHDLoad (NoVBRMove/S no debe estar
configurado y la CPU debe ser al menos un 68010) y el congelador debe estar activo.
Consulte también el capítulo Monitores del Sistema / Congelador
para mayor información.
MMU/S
Esta opción puede ser usada en máquinas con 68030 para activar las funcionalidades
relacionadas con la MMU (protección de memoria,
gestión de la caché mejorada, Snooping,
funciones resload_Protect#?). En un 68040/060
esta opción no tiene efecto puesto que la MMU será usada por defecto. Se recomienda
colocar esta opción en el fichero de configuración global en todos los sistemas
conteniendo un 68030 con una MMU funcional (es decir, no un 68EC030) dado que incrementa
mucho la estabilidad y la seguridad. Si la opción NoMMU/S también
esta configurada, esta opción no tiene efecto.
NoAutoVec/S
Si se selecciona, WHDLoad no terminara el programa si ocurre una interrupción de autovector
o NMI no esperada (vectores #25-31 / $64-$7c). Esto debe ser usados en sistemas/hardware
donde dichas interrupciones se generen al azar, para evitar que WHDLoad termine (mejor
remover el hardware con fallas!).
NoCache/S
Si se selecciona, todas las caches serán desactivadas.
Esta opción toma precedencia sobre BranchCache/S,
Cache/S, DCache/S, StoreBuffer/S y SuperScalar/S.
NoFileCache/S
Desactiva el cacheado de ficheros de WHDLoad y fuerza una conmutación al SO para cada
operación de disco del programa instalado.
Esta opción inactiva Preload/S.
NoFilter/S
Desactiva el filtro de audio. Tome en cuenta que esta opción solo afecta la inicialización
durante el arranque, si el programa instalado cambia por si mismo el estado del filtro
de audio esta opción carecerá de efecto.
NoFlushMem/S
Normalmente WHDLoad limpia la memoria durante el arranque para obtener tanta memoria libre
como sea posible para la operación de Preload/S. Esto removerá todos
los recursos no utilizados tales como librerías, fuentes, etc. Usando esta opción WHDLoad
no limpiara la memoria. Puede ser usada en sistemas con mucha memoria libre evitando la recarga
de recursos residentes y por lo tanto mejorando el rendimiento.
NoMemReverse/S
Si esta opción es activada WHDLoad no asignará memoria usando la bandera MEM_REVERSE flag.
Ha sido reportado que el uso de esta bandera causa problemas en algunas configuraciones
(configuraciones utilizando memoria en el conector PCMCIA de las A600/A1200 como memoria Fast,
configuraciones con una M-Tec 1230/8 MB OS3.0). La razón de este problema es desconocida.
Esta opción también puede ayudar si parte de la RAM alta está corrupta, dado que WHDLoad utilizará
primero la memoria en direcciones bajas. Si Ud. obtiene errores extraños, vale la pena intentar
esta opción.
Esta opción ha sido introducida en WHDLoad v16.8.
NoMMU/S
Si se configura esta opción WHDLoad no usará la MMU.
Esta es una opción crítica y peligrosa recomendada solo para propóstios de prueba y
eliminación de errores, y no para el uso normal. Vea el capítulo MMU
para mas información. Esta opción toma precedencia sobre MMU/S.
NoReq/S
Esta opción solo puede ser usada cuando WHDLoad
ha sido ejecutado desde la línea de comandos (CLI/Shell). Si se ejecuta desde Workbench
no tiene ningún efecto. La opción fuerza WHDLoad a no mostrar ningún cuadro de diálogo en una
ventana nueva, separada, sino a mostrar los mensajes de salida en la ventana de comandos desde la cual
WHDLoad ha sido ejecutado.
NoResInt/S
Esta opción deshabilita las interrupciones
durante la ejecución de las funciones resload. Normalmente las interrupciones están permitidas
mientras se ejecutan las funciones resload. Las interrupciones pueden ejecutar sonidos, refrescar
la pantalla o hacer cualquier otro trabajo importante. El deshabilitarlas puede provocar
distorciones de sonido/imagen o un fallo general en el funcionamiento. Sin embargo el funcionamiento
impropio de las interrupciones puede destruir áreas de datos internas de WHDLoad, lo cual usualmente
conduce a un colapso de WHDLoad y probablemente de todo el sistema operativo. Esta opción puede
utilizarse para verificar dichos problemas.
Si un instalador se comporta de forma extraña o colapsa WHDLoad sin esta opción, pero funciona
bien con esta opción la razón es muy probablemente un problema de interrupciones. En dichos casos
el instalador necesita ser corregido.
NoTrapHandler/S
Si se activa esta opción WHDLoad usara la tabla de vectores original del SO que este activa
al momento de arrancar WHDLoad. Durante el arranque WHDLoad copiara la tabla de vectores
del sistema en lugar de crear una tabla propia. Esto puede ser útil solamente con propósitos
de eliminación de errores y no debe ser utilizado durante la operación normal.
Precaución: si un gestor de excepciones llamado a través de la tabla de vectores original
intenta llamar cualquier función del SO o intenta usar estructuras de datos del SO la
máquina producirá una caída del sistema (esto es exec.Alert).
NoVBRMove/S
Por defecto WHDLoad reubica la tabla de vectores usando el VBR (Vector Base Register) a una
ubicación de memoria diferente de $0. Esto tiene la ventaja que el programa instalado
no puede cambiar la tabla de vectores, lo cual incrementa mucho la seguridad y la estabilidad
de WHDLoad. Algunos programas instalados/esclavos no trabajarán correctamente con un VBR reubicado.
La razón de esto es que el programa instalado puede hacer algunas cosas raras que no estén
soportadas por un VBR reubicado o que el autor del instalador no sea capaz de soportar un VBR
reubicado. En dicho caso, deberá configurarse esta opción para evitar que WHDLoad reubique
el VBR.
Otra funcionalidad del VBR reubicado es que WHDLoad puede controlar el teclado cada vez
que ocurre una interrupción de Autovector. Con esta comprobación WHDLoad es capaz de
terminar el programa instalado independientemente del trabajo del programa instalado/esclavo
si la QuitKey/S o DebugKey/S es presionada
(en forma similar, el programa instalado puede ser interrumpido cuando la FreezeKey/S es presionada).
La funcionalidad de reubicar el VBR requiere como un mínimo un 68010 para funcionar. En un
68000 esta función no tiene efecto, dado que el VBR es siempre $0 y no puede ser reubicado.
NoWriteCache/S
Esta opción desactiva la funcionalidad de usar una caché de escritura a disco de WHDLoad.
Sin esta opción WHDLoad intentará guardar todas las operaciones de escritura en memoria
y demorarlas hasta que el programa termine para evitar conmutaciones innecesarias al sistema operativo.
NTSC/S
Si se selecciona, WHDLoad usara una pantalla NTSC (60Hz) para el programa instalado. En una
Amiga PAL, el manejador de monitor NTSC debe estar instalado en "DEVS:Monitors/
".
PAL/S
Si se selecciona, WHDLoad usara una pantalla PAL (50Hz) para el programa instalado. En una
Amiga NTSC, el manejador de monitor PAL debe estar instalado en "DEVS:Monitors/
".
Preload/S
Si esta opción esta activada, WHDLoad cargará tantos ficheros e imágenes de disco como sea
posible en memoria (dependiendo de cuanta memoria este libre) durante el arranque. Esto
incrementa el rendimiento cuando el programa instalado se esta ejecutando, dado que se
evita la conmutación al SO para cargar datos directamente desde el disco duro. Esta
opción siempre debe estar activa.
QuitKey/K/N
Configura el código rawkey para salir del programa,
esto solo funcionará si el VBR es movido por WHDLoad (NoVBRMove/S no debe
estar configurado y la CPU debe ser como mínimo un 68010) o para que el esclavo en si
soporte dicha función.
ReadDelay/K/N
Esta opción especifica el tiempo en 1/50vos de segundo que WHDLoad debe esperar luego que ha
cargado datos desde los discos, y también esperara ese tiempo luego que el Preload haya terminado.
Esto soluciona problemas con los dispositivos (por ej. lectoras de CD) que quieren hacer
algo luego de terminada la lectura (por ej. detener el motor).
RestartKey/K/N
Usando esta opción se puede configurar un código de rawkey que al ser
presionada ocasionara que WHDLoad reinicie el programa instalado.
ShowRegs/K/N
Esta opción solamente es útil en conjunto con la opción Expert/S. Con
esta opción se especificará el programa que será usado por WHDLoad para mostrar el volcado
de registros si el botón Show Regs en un diálogo de error de WHDLoad es presionado. WHDLoad
añadirá el nombre del fichero salvado temporalmente (actualmente T:.whdl_register) a
la cadena de comandos especificada.
Slave
Nombre del esclavo que debe ser usado por WHDLoad. El esclavo contiene el código de interfase
que se requiere para la comunicación entre el programa instalado y WHDLoad.
Snoop/S, SnoopAGA/S, SnoopECS/S, SnoopOCS/S
Estas opciones activan la funcionalidad snoop de registros Cia/Custom de
WHDLoad.
SplashDelay/K/N
Esta opción especifica el tiempo en 1/50vos de segundo que WHDLoad mostrara la ventana de información
durante el arranque. Si SplashDelay/K/N es menor que ReadDelay/K/N será
ignorada y la ventana se mostrara usando el tiempo de ReadDelay/K/N.
La ventana se mostrara como mínimo mientras Preload/S este trabajando.
Si la opción se configura a 0 no se mostrara la ventana.
StoreBuffer/S
Esta opción activa el Buffer de Almacenamiento del 68060. En otros tipos de CPU no tiene efecto.
Esta opción carece de efecto si NoCache/S también esta configurada.
SuperScalar/S
Esta opción activa la funcionalidad del 68060 de ejecutar múltiples instrucciones por cada ciclo
de máquina. En otros tipos de CPU no tiene efecto.
Esta opción carece de efecto si NoCache/S también esta configurada.
TimeOut/K/N
Si se configura permite que WHDLoad y el programa instalado terminen luego del
tiempo especificado. Esta opción requiere que NoVBRMove/S no este
configurado y que el programa instalado no modifique el temporizador ciaa.ciatod
.
El tiempo tras el cual el programa terminara se especifica en 1/50vos de segundo.
Para medir dicho tiempo para una demo o juego active la opción Expert/S
y configure una DebugKey/K/N, cuando se alcance el punto en el cual
desea que el programa termine, presione la tecla DebugKey. Luego mire en el
fichero .whdl-register creado y busque el valor de ciaa-event
.
Si la frecuencia de su alimentación eléctrica es 50 Hz entonces ese es el valor que
debe configurar con TimeOut/K/N, si la frecuencia es 60 Hz debe multiplicar el valor hallado
por 5/6.
WriteDelay/K/N
Esta opción especifica el tiempo en 1/50vos de segundo que WHDLoad esperara luego de
escribir cualquier cosa físicamente a disco. Afecta a todas las funciones
resload_Save#? y la funcionalidad FileLog/S.
Esto tiene sentido puesto que los sistemas de archivos usualmente no escriben la información
inmediatamente a disco. Toma un tiempo (1..3 seg) hasta que todas las estructuras del
sistema de archivos han sido actualizadas exitosamente. El valor por defecto para WriteDelay
es 150 que conduce a una espera de 3 segundos en WHDLoad luego de cada escritura al disco
duro. Ud. puede configurar este valor en 0, pero entonces Ud. nunca debe salir con un
reset del programa instalado dado que los datos grabados no serán escritos correctamente
a disco.