ESPectrum 1.0 rc3
New features:
- New Spectrum model: Pentagon 128.
- Betadisk emulation with read/write TRD & read only SCL support. Available in all Spectrum models.
- Dual PS/2 keyboard support at both ports of Lilygo & Olimex board.
- New option to tell emulator if there is a device connected to first PS/2 port on ESPectrum board or second PS/2 on Lilygo and Olimex board. This is useful to speed up boot process. Before this if you didn't have a device connected to the port, there was a delay while emulator tried to reset it.
- New option to select if you want cursor keys act as Spectrum cursor keys or Joystick emulation. It can be selected in menu or switched using Scroll Lock key. Regardless of cursor keys mode selected, joystick emulation will be always available at keypad cursor keys.
- Support for second fire button in Kempston emulation. It is binded to Slash key or Right Gui key.
Changes:
- Boot speed optimizations: now emulator boots in less than two seconds.
- Sna and z80 files load optimized.
- Cursor joystick emulation now sends 5678 and 0 again.
- Help screen now shows keys for ESPectrum board if emulator is running on it.
- You can use CS+SS+P as pause on ZX Keyboard.
- Pause message will not stay fixed on screen.
Bugfixes:
- Solved some bugs in z80 load: wrong R register, writing in ROM pages and uncompressed block load in v2 y v3 not implemented. Now, many z80 that didn't work before now load perfectly.
- Solved OSD bug after hard reset.
Known issues:
- In rare cases, sound doesn't get initialized on emu start or gets corrupted or muted after sna, z80 or snapshot load. Restarting ESP32 (using F12 or powering off/on) solves it always.
How to Flash:
Windows:
Use Flash download tools from Espressif to flash it into your board:
Open the ESP32 Flash Download Tool.
Select "ESP32" as chipType.
Select "Develop" as workMode.
Once started:
Select COM Port (whichever one your board has taken).
Select Baud rate (460800 works fine for me).
Finally:
Load .bin file, set 0x0 as address, check it and press START.
Wait until status panel shows "FINISH", power off and power on your board and ENJOY!
Linux / Mac / Windows:
Use esptool.py from Espressif to flash it into your board:
esptool.py -p USB SERIAL DEVICE -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x0 ESPectrum1.0rc3.bin
(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)