Contenido 

Introducción:

Ana Rosa es un emulador de ordenadores de la arquitectura Amstrad PcW16. También es capaz de emular hardware adicional, diferentes opciones y configuraciones, etc.

No emula los modelos clásicos de PCW, pues pertenecen a una arquitectura distinta; para ello está su propio emulador.

La versión actual del emulador es la 0.1.1, siendo a la cual hace referencia este manual.

El objetivo es lograr una emulación lo más fiel posible a la máquina original.

Características:

Requerimientos:

Rollo legal:

Instalación y uso:

Instalación:

Este emulador no precisa de instalación alguna, simplemente basta con descomprimir los contenidos del fichero ZIP en alguna carpeta y proceder a ejecutarlo.

Adicionalmente, el programa soporta la automatización de comandos a través de la línea de comandos, siendo su sintaxis idéntica a las de las macros. Se puede utilizar para asociar extensiones de ficheros, ejecutarlo desde lanzadores externos, etc.

Por otro lado, la máquina emulada sí requiere de una instalación, pues no se incluye una imagen completa de la flash por defecto.

Snapshots:

Un fichero de snapshot es un estado completo de la máquina (incluyendo memoria, estado del hardware, contenido de discos, etc.) junto con metadatos sobre la máquina emulada.

Al arrastrarse un fichero sobre la ventana este se cargaría sin más. Si durante el soltado sobre la ventana estuviese apretada la tecla de mayúsculas, la emulación se activaría en caso de estar desactivada.

Acciones:

Un fichero de acciones es un snapshot junto con datos adicionales que describen los eventos sucedidos tras ese momento. Es útil para guardar tutoriales o partidas de forma más compacta que un video.

Al arrastrarse un fichero sobre la ventana este se cargaría sin más. Si durante el soltado sobre la ventana estuviese apretada la tecla de mayúsculas, la emulación se activaría en caso de estar desactivada.

Discos:

Un fichero de disco contiene los datos de usuario de un disquete físico, junto con información geométrica del mismo.

El emulador es capaz de cargar tanto discos en formato DSK del CPCEmu (normales y extendidos, con o sin protección) como imágenes crudas con extensión IMG.

El emulador trabaja con imágenes de disco en memoria, con la opción de volcarlas al ser desmontadas. También tiene la opción de montarlas con protección de escritura.

Al arrastrarse un fichero sobre la ventana este se montaría en la unidad A. Si durante el soltado sobre la ventana estuviese apretada la tecla control, este se insertaría en la unidad B; si estuviese apretada la tecla de mayúsculas, el emulador se reiniciaría y la emulación se activaría en caso de estar desactivada (opción interesante para discos de arranque).

Adicionalmente, el emulador permite acelerar la emulación durante las cargas de disco.

Videos:

El emulador permite la grabación de videos, grabando exactamente lo mostrado en la pantalla emulada y el sonido emitido.

Esta opción requiere Windows 7 o superior, así como de un ordenador capaz de comprimir video en tiempo real.

Teclado:

El emulador mapea por defecto cada tecla del PC a la correspondiente del PcW16. Cuando no está capturada la entrada, los atajos de teclado del emulador no generan pulsaciones, y viceversa: cuando hay captura no funcionan los atajos de teclado.

Para salir de la captura, basta pulsar la tecla Aplicación (entre Windows derecho y Control derecho), o retirando el foco de la aplicación (tecla Windows, etc.).

Joystick:

El emulador reconoce cualquier joystick / pad que Windows reconozca, mapeando directamente el eje X, Y y los dos primeros botones hacia el joystick emulado y convirtiendo la señal a digital en caso de ser necesario.

Ratón:

El emulador es capaz de emular un ratón de PcW16. Para poder manejar el puntero en el PcW16 emulado debemos capturar la entrada, lo cual se efectúa haciendo click con el botón derecho sobre la pantalla emulada. Para liberarlo de nuevo, basta pulsar la tecla Aplicación.

Almacenamiento masivo:

El emulador es capaz de emular varios dispositivos de almacenamiento masivo: Flash y ATA. En el primer caso, se intentará usa un fichero llamado 1024.bin o 2048.bin según el tamaño de la flash en la carpeta del emulador. En caso de no existir serán creados, y requerirán una instalación.

En el segundo caso se pueden utilizar tanto imágenes crudas como ficheros HDF que incluyen información geométrica del disco.

Dado el tamaño de dichos ficheros su información no se almacena en los snapshots, sino un vínculo al fichero que lo contiene.

Interfaz:

En modo de ventana, se disponen de los siguientes elementos:

Título:

En la parte superior de la ventana, como en cualquier otra aplicación, se encuentra la barra de título.

Esta incluye el título de la aplicación y además el nombre del disco insertado en la unidad A.

Por último, se incluyen los típicos iconos de minimizar, maximizar y cerrar la ventana, los cuales tienen el comportamiento esperado de cualquier otra aplicación, con la excepción del maximizar: pulsando sobre él se activa el modo de pantalla completa, del cual puede salirse pulsando Escape.

Menús:

Barra:

Bajo los menús tenemos la barra, la cual se divide en tres secciones:

Pantalla:

Esta sección representa la pantalla del ordenador emulado, con sus correspondientes opciones visuales.

Admite el arrastre de ficheros de snapshots, acciones y discos.

Hardware:

En esta ventana se pueden escoger las opciones hardware a emular. La aceptación de las mismas provocará un reinicio de la emulación. Las opciones se dividen en varias pestañas:

Emulación:

En esta ventana se pueden escoger las opciones del emulador. La aceptación de las mismas no provocará un reinicio. Las opciones se dividen en varias pestañas:

Uso avanzado:

Depurador:

La ventana del depurador es flotante, redimensionable y queda siempre por encima de la del emulador. Mientras esté abierta, el emulador trabaja en modo de depuración.

Al ejecutar código ésta adquiere transparencia para indicar indisponibilidad y poder ver lo que tenga debajo. Con la tecla Escape se puede detener siempre la ejecución.

Si no ejecuta código, sobre la pantalla del PCW estará marcada la posición de vídeo actual con dos líneas rojas.

La ventana consta de varias secciones:

Registros:

En esta sección se muestra el valor de los diferentes registros del Z80, en rojo si fueron modificados desde la última operación. El valor de los mismos se puede modificar de forma directa.

Además se puede ver el estado de los distintos flags. Con doble click sobre los mismos se cambia su valor.

Por último, si se está usando el modo decimal, los valores de los registros muestran sus partes altas y bajas separadas si se posa el ratón encima.

Desensamble:

Esta sección representa un desensamble de la memoria, por defecto a partir del registro PC.

Las filas en rojo indican que causarán ruptura; además, la correspondiente al valor de PC tiene fondo naranja. Con doble click sobre una fila se rellenan los datos para poner un punto de ruptura en esa dirección.

Debajo existen los siguientes botones:

Puntos de ruptura:

Esta sección permite definir puntos de ruptura. Cada uno tiene las siguientes propiedades:

En la parte de abajo se encuentran botones para añadir, eliminar y editar un punto de ruptura. Un doble click sobre uno existente también lo edita, y además pueden arrastrarse para reordenar la lista.

La expresión determina a qué direcciones debe aplicarse. Su sintaxis puede describirse como:

Notas sobre la semántica:

Ejemplos:

Otros:

Registros hardware:

Aquí se muestra el valor de algunos registros hardware; de nuevo, en rojo los que han cambiado.

Memoria:

Esta ventana representa un volcado de la memoria. El valor de cada posición puede ser cambiado escribiendo otro valor en su casilla.

Debajo existen los siguientes botones y opciones:

Aparte, mientras se está en modo de depuración se admiten ciertas instrucciones Z80 especiales:

Formato P16:

El formato de snapshot PcW16 nace de la necesidad de representar todo lo necesario para la emulación (incluyendo discos) en un solo archivo y al mismo tiempo ser manipulable por el usuario avanzado de forma sencilla.

Por eso mismo cada archivo PcW16 no es más que un archivo ZIP, el cual contiene dentro otros archivos. De esta forma puede manipularse con cualquier programa compresor.

Dentro hay dos tipos de archivos: textuales (INI, legibles y editables con cualquier editor de texto) y volcados de datos (resto, normalmente BIN).

Siempre se hayan presentes "Config.ini" (configuración hardware del emulador), "Hardware.ini" (estado de dicho harware), "Memory.bin" (volcado de la RAM) y "Flash.bin" (idem flash).

Cada linea en los archivos de texto es de la forma "A=B", asignando el valor B a la propiedad A. Dentro de "Hardware.ini", los registros del Z80 son las propiedades "Z80_xxx".

Las acciones son exactamente un snapshot junto con un fichero extra que contiene los valores que han de ser leídos en los puertos, así como los correspondientes al teclado.

Macros:

El emulador tiene un pequeño intérprete de macros, las cuales consisten en la ejecución de uno o más comandos del emulador.

Estos pueden lanzarse desde la línea de comandos o bien almacenarse como macreos en la carpeta macros del emulador.

En el caso de almacenarse en la carpeta, estas constan de dos ficheros con el mismo nombre y extensiones TXT y PNG respectivamente. Al arrancar el emulador estas se enumeran y se añaden en forma de botones al emulador, en la barra superior, y se pueden invocar apretando dicho botón.

El lenguaje de macros está compuesto por tokens (comandos o parámetros de los mismos) separados por blancos (espacios, tabuladores, retornos de carro). En el caso que un parámetro contenga espacios, puede rodearse de comillas para no ser fragmentado en tokens.

El lenguaje es muy simple: una sucesión de comandos separados entre sí, cada uno seguido de sus parámetros igualmente separados. Cada comando tiene una forma corta (un carácter, menos escritura) y una larga (una palabra, más intuitiva), pudiendo emplearse ambas de forma indistinta.

Los comandos no distinguen mayúsculas de minúsculas. En forma corta los comandos pueden de forma opcional estar precedidos de - o /, por compatibilidad.

La ejecución de dichos comandos es asíncrona a la emulación en caso de estar activa, salvo que se indique lo contrario.

Los comandos son:

CortaLargaDescripción
8EXITSin parámetros. Salir del emulador.
9WAITKSin parámetros. Espera a que el buffer de teclado quede vacío.
@EXECToma cinco parámetros. El primero es el valor del registro PC del Z80, los otros cuatro la configuración de memoria (puertos $F0-$F3 del GA).
RRESETToma un parámetro opcional. Reinicia el emulador, y en caso de haber un parámetro especifica un fichero con la definición hardware a hacer efectiva, o hace un hard reset si es *.
ADISKAToma un parámetro. Si el valor es . entonces extrae el disco de la unidad A, en caso contrario inserta el fichero imagen de disco especificada en el parámetro. Obsoleto.
BDISKBIgual que el caso anterior, pero para la unidad B.
DDISKSimilar a los dos casos anteriores, pero toma dos parámetros. El primero es la unidad (A o B), el segundo el fichero especificado o bien si es . extrae el actual.
ESYNCSin parámetros. "Sincroniza" estado (detiene el emulador y lo pone a velocidad normal). Obsoleto.
TTYPEToma un parámetro. Añade el parámetro como cadena de caracteres al buffer de teclado. Admite el carácter # como escape para caracteres, en formato de dos dígitos hexadecimales.
WWAITToma un parámetro. Esperar el número determinado por el mismo de milisegundos. En caso de estar detenida la emulación, la inicia.
FFULLToma un parámetro de forma opcional. Este puede ser OFF o 0 para modo ventana, ON o 1 para modo pantalla completa, ninguno para alternar.
GSPEEDToma un parámetro de forma opcional. OFF o 0 para modo normal, ON o 1 para el modo rápido, ninguno para alternar.
OTURNToma un parámetro de forma opcional. OFF o 0 para emulación detenida, ON o 1 para iniciada, ninguno para alternar.
XEXTERNALToma dos parámetros. Ejecuta el programa externo indicado por el primero con los parámetros indicados en el segundo.
PPOKEToma dos parámetros. Escribe en la dirección de memoria absoluta indicada por el primero el valor indicado por el segundo. Ambos son números en hexadecimal.
QDEBUGSin parámetros. Abre el debugger.
SSNAPLOADToma un parámetro. Carga el fichero de snapshot indicado por él.
USNAPSAVEIgual que el caso anterior, pero grabando.
YBINLOADToma dos parámetros. Carga en la dirección de memoria absoluta indicada por el primero el fichero binario indicada por el segundo.
ZBINSAVEIgual que el caso anterior, pero grabando.

Notas:

F.A.Q.:

Errores comunes:

Más información:

Contacto:

Agradecimientos:


© 2011- HabiSoft.