25/4/2001
- La primera vez que se vaya a cargar un archivo, el explorador mostrará el directorio que hayamos dado por defecto. Luego, las veces siguientes, el explorador mostrará el último directorio en el que hayamos estado. Esto se pierde al salir del emulador. Creo que así resulta más cómodo para navegar.
22/4/2001
- Implementada carga de SPs desde dentro de un ZIP.
- Implementada carga del resto de los archivos desde dentro de un ZIP. Si el ZIP tiene más de un archivo que se pueda cargar, abre una ventana para que el usuario elija cuál desea abrir.
- Corregido un fallo. Cargar un TAP sin interceptar la ROM colgaba el emulador al llegar al final de la cinta.
- Ni sé cómo, pero el Heartland (.z80) ahora carga.
- Los pokes son soportados tanto en el Drag'n Drop como en la ventana de carga de archivos.
19/4/2001
- Corregido un fallo en la emulación del Pentagon. No se cuelga más en modo BASIC.
- Corregido un fallo en la instrucción CPL. Estaba poniendo dos bits (dos!) mal. Eso hacía que los juegos con protección Digital Integration no cargaran. Ahora lo hacen.
- Ahora, si no hay sonido disponible, el emulador arranca, precisamente, sin sonido, en lugar de avisar y cerrarse.
- El emulador cambia de nombre. Ahora se llama GLECK. Gracias a Mario Sevillano Mansilla (de es.comp.sistemas.sinclair) por el nombre. Por las dudas, el nombre viene por los diferentes modos de cursor del Spectrum. G-raficos, L-owercase, E-xtended, C-aps lock, K-eyword
- Implementado preview desde archivos ZIP. Busca un SCR dentro del Zip. Si no lo encuentra, busca el primer archivo reconocido e intenta mostrarlo (SNA, SP, TAP, Z80 y TZX).
- Implementada carga de SNAs desde dentro de archivos ZIP.
15/4/2001
- Implementada emulación de Issue 3 e Issue 2.
15/4/2001
- No me aguanté y me puse a trabajar en la versión 0.0.4b.
- Los dos idiomas están integrados. Mediante el archivo de configuración se elige el idioma, así no tengo que andar sacando dos versiones separadas (era muy molesto tener que traducir todo el texto cada vez).
- Reescribí partes de la carga de TZX para que no se coma tanta memoria. Estaba creando demasiadas estructuras en memoria, con mucha información inútil y repetida.
- Corregido un fallo idiota en el que los archivos SCR que uno grababa quedaban con 16K de largo en lugar de 6912 bytes.
- Si se ejecutaba el emulador y no encontraba el archivo de configuración, se colgaba. Ya no más.
- Si se ejecutaba el emulador y no encontraba la ROM del modelo elegido, también se colgaba. Ahora tampoco pasa eso.
- El abrir el explorador de cintas automáticamente no funcionaba. Se abría y se cerraba solo (era una idiotez de las mías...)
- Para resolver luego. Si abro uno tras otro 32 TZX el emulador se cuelga. ¿?¿?¿?
- El TZX del "Astro Marine Corps" tiene 1604 bloques. Yo no preví que hubiese algún programa con tantos, y manejaba un máximo de 1024. Ahora subí el máximo a 2048, pero un futuro voy a usar una lista linkeada en lugar de un array para guardar los bloques.
- Corregí un error idiota que ahora permite que el TZX del Skool Daze cargue. Estaba guardando un valor de 24 bits en una variable de 16...
14/4/2001
13/4/2001
- Se corrigió una enorme cantidad de fallos. Y la verdad es que me olvidé qué cosas se han corregido, pero a grandes rasgos se eliminaron problemas en el debugger, en los gráficos, en el sonido, en el manejo de ventanas, en el manejo de pokes, etc.
- El modo pantalla completa aparentemente funciona bien ahora, pero es un tanto lento, comparado con otras cosas que he visto por ahí.
- El emulador no se come el 100% de la CPU cuando está en pausa.
- Corregido un error extraño al cambiar entre modelos.
- No se emula el chip AY en modo 48K, a menos que se indique expresamente mediante la configuración.
- Se aumentó el uso de threads, lo cual mejoró el rendimiento y algunos temas de sincronización.
8/4/2001
- Implementé una nueva técnica para los gráficos. En modos DirectX, si se trabaja con sin memoria de video, hago un Lock de las superficies una única vez, lo cual aumenta enormemente la performance. Esto no es posible si las superficies se crean en memoria de video. Hay que tener en cuenta que esto podría causar algún problema, pero en las máquinas que lo probé funciona a la perfección.
- Creé una nueva "clase" para manejar exclusivamente el modo de pantalla completa. Así elimino el código repetido y centralizo los cambios.
- El modo de pantalla completa es aún muy lento y funciona de forma rudimentaria.
7/4/2001
- Ahora se puede cambiar la resolución y colores del escritorio en Windows con el emulador funcionando, ya que detecta el cambia y se reinicializan las estructuras de display para seguir funcionando con la nueva configuración.
6/4/2001
- Corregido un fallo que hacía que los pokes que uno introducía y grababa como archivo .POK no eran reconocidos y colgaban el emulador.
- Corregidos un par de cuelgues al usar el explorador de cintas.
- Agregué un ProgressBar al explorador de cintas.
5/4/2001
- Implementada grabación de archivos .POK.
- Corregida carga de archivos .POK.
- El diálogo de manejo de Pokes ahora funciona de forma no modal (mucho más cómodo).
- Reestructurada ligeramente la jerarquía del manejo de archivos.
- Corregido un fallo que se producía al borrar un Poke.
- Mejorado el mecanismo para activar los pokes.
4/4/2001
- Implementada grabación de snapshots de 128K. (.SNA)
- Implementada lectura de snapshots de 128K. (.SNA)
- Implementada grabación de snapshots .Z80 (version 2.0) (en 48K y 128K) sin compresión.
- Implementadas opciones para ver el rendimiento de la emulación en frames por segundo (FPS) y para ver la velocidad con que se procesa el display (ms). Desactivando esta última opción, el rendimiento del emulador puede incrementarse hasta en 20 FPS (según lo que pude probar).
3/4/2001
- Solucionado un error de memoria al cambiar entre algunos modos de sonido. Estaba escribiendo sobre memoria no reservada.
- Implementado sonido AY ACB y ABC, con opciones para cambiar dicha configuración durante la ejecución.