Port del emulador x86 Elkulator Acorn Electron versión 0.5 (autor Tom Walker) a la placa TTGO VGA32 v1.x (1.0, 1.1, 1.2, 1.4) con ESP32.
He realizado varias modificaciones:.
- Funciona en ESP32 con 520 KB de RAM (TTGO VGA32)
- Usa un sólo core
- OSD de bajos recursos
- Proyecto compatible con Arduino IDE y Platform IO
- Proyecto compatible con Web Editor y ArduinoDroid (6.3.1) con tool makeandroid.bat
- Carga de ROMs desde Flash progmem
- Carga de SNA (version 0.5) desde Flash progmem
- Carga de discos ADF disk desde Flash progmem
- Soporta 8 y 64 colores (librería reducida de Ricardo Massaro)
- Modo de video 320x200
- Permite escala de pantalla en 320x200. Recordar que el acorn tiene 256 lineas.
- Versión precompilada (flash download 3.9.2) 320x200 (DAC 3 bits, 8 colores)
- Sin emulación de sonido, por ahora.
- Opción de eliminar el cálculo de redondeo IEEE (double) de la VGA, para evitar problemas de precisión. Encontrada esta anomalía a partir del fallo encontrado por David Crespo Tascón al no sacar video.
-
Faltan teclas por mapear:
Faltan: Fila 0: Copy (bit 1) y NC (bit 2, Sin conexión, no se necesita) Fila 2: NC (bit 3, Sin conexión, no se necesita) Fila 3: ; (bit 2)
https://github.com/rpsubc8/ESP32TinyElkulator/tree/main/esp32/precompile/320x200
También se ha añadido la opción de 320x200 sin cálculo IEEE.
Debemos elegir el tipo ESP32: A continuación, seleccione los archivos como se muestra en la captura de pantalla adjunta, con los mismos valores de desplazamiento: Y pulsaremos start. Si todo ha sido correcto, solo tendremos que reiniciar el ESP32.
- TTGO VGA32 v1.x (1.0, 1.1, 1.2, 1.4)
- Visual Studio 1.66.1 PLATFORMIO 2.5.0 Espressif32 v3.5.0
- Arduino IDE 1.8.11 Espressif System 1.0.6
- ArduinoDroid (6.3.1)
- Librería reducida Arduino bitluni 0.3.3 (incluida en proyecto)
Al finalizar, el propio script, termina borrando el directorio dataFlash.
El script utiliza el fart.exe (find and replace text).
Una vez, se haya ejecutado con éxito, se puede usar con el ArduinoDroid.
- Snapshots SNA (version 0.5)
- Cartuchos 16 KB y 32 KB
- Discos formato ADF
http://tomeko.net/online_tools/file_to_hex.php?lang=en
- use_lib_vga320x200: Modo 320x200
- use_lib_320x200: Muestra 200 lineas en, lugar de 256 en 320x200
- use_lib_vga8colors: Modo 8 colores (3 bits RGB) o 64 colores (6 bits RRGGBB)
- use_lib_log_serial: Se envian logs por puerto serie usb
- FIX_PERIBOARD_NOT_INITING: Solución de David Crespo Tascón para teclados que no se inicializan.
- gb_ms_keyboard: Se debe especificar el número de milisegundos de polling para el teclado.
- use_lib_fix_double_precision: No usa el cálculo de frecuencia de video VGA con el propio ESP32, evitando posibles problemas de precisión con la mantisa. Es útil para ESP32's que calculen mal la frecuencia.
- Craze Erider
- Space Invaders
- Killer gorilla
- Stock car
- Felix
Se han dejado múltiples cartuchos (16 KB):
- Hopper
- Snapper
Se han dejado múltiples cartuchos (32 KB):
- Count Down
- Star Ship Command
- LISP
Se ha dejado el disco de Wellcome. Para testear desde el emulador:
*CAT *!BOOT