Port x86 Elkulator Acorn Electron version 0.5 (author Tom Walker) to TTGO VGA32 v1.x (1.0, 1.1, 1.2, 1.4) board with ESP32.
I have made several modifications:
- Running on ESP32 with 520 KB of RAM (TTGO VGA32)
- Use of a single core
- Low-income OSD
- Created project compatible with Arduino IDE and Platform IO
- Web Editor and ArduinoDroid (6.3.1) compatible project with tool makeandroid.bat
- Loading ROMs in Flash progmem
- Loading SNA (version 0.5) in Flash progmem
- Loading ADF disk in Flash progmem
- 8 and 64 color mode support (reduced version by Ricardo Massaro)
- Video mode 320x200
- Screen scale
- Precompiled version (flash download 3.9.2) 320x200 (DAC 3 bits, 8 colors)
- No sound emulation for the time being.
- Option to remove the IEEE (double) rounding calculation from the VGA, to avoid accuracy issues. This anomaly was found as a result of David Crespo Tascón's failure to take video.
-
There are no keys to be mapped:
Missing: Row 0: Copy (bit 1) and NC (bit 2, No connection, no need) Row 2: NC (bit 3, No connection, no need) Row 3: ; (bit 2)
https://github.com/rpsubc8/ESP32TinyElkulator/tree/main/esp32/precompile/320x200
A 320x200 option without IEEE calculation has also been added.
We must choose the ESP32 type: Subsequently, select the files as shown in the attached screenshot, with the same offset values: And we will press start. If everything has been correct, we will only have to restart the 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)
- Arduino bitluni 0.3.3 reduced library (included in project)
At the end, the script itself ends up deleting the dataFlash directory.
The script uses fart.exe (find and replace text).
Once, it has been successfully executed, it can be used with the ArduinoDroid.
- Snapshots SNA (version 0.5)
- 16 KB and 32 KB cartridges
- ADF format discs
http://tomeko.net/online_tools/file_to_hex.php?lang=en
- use_lib_vga320x200: 320x200 mode
- use_lib_320x200: Displays 200 lines in, instead of 256 in 320x200
- use_lib_vga8colors: 8-color (3-bit RGB) or 64-color (6-bit RRGGBB) mode
- use_lib_log_serial: Logs are sent by serial port usb
- FIX_PERIBOARD_NOT_INITING: David Crespo Tascón's solution for keyboards that do not initialize.
- gb_ms_keyboard: You must specify the number of milliseconds of polling for the keyboard.
- use_lib_fix_double_precision: It doesn't use the VGA video frequency calculation with the ESP32 itself, avoiding possible accuracy problems with the mantissa. This is useful for ESP32's that miscalculate the frequency.
- Craze Erider
- Space Invaders
- Killer gorilla
- Stock car
- Felix
Multiple cartridges (16 KB) have been left behind:
- Hopper
- Snapper
Multiple cartridges (32 KB) have been left behind:
- Count Down
- Star Ship Command
- LISP
The Wellcome disc has been left behind. For testing from the emulator:
*CAT *!BOOT