ESPectrum 1.2
New Features:
- TZX file format support: ESPectrum now can load TZX files with complete and top-notch support for every kind of block described in revision 1.20 of the format. (Thanks to @jcgamestoy (Retro Virtual Machine) and @jsanchezv (ZX Baremulator) for his help in development).
- Accurate snow effect emulation (as described by Weiv and MartianGirl).
- New "fake" scanlines option for VGA video modes.
- New video options available:
- Video/Render type: For selecting between "Standard" mode and "Snow effect" mode (requires more computing power and is only needed to mimic exactly the behavior of a real Speccy that shows that effect, so 99.99% of the time, you're good with Standard mode).
- Video/Scanlines: For enabling or disabling new "fake" scanlines.
- New volume on-screen bar indicator.
- Enabled multimedia volume up and down keys support (thanks @rtorralba).
Changes:
- Performance Improvements: ESPectrum is up to 20% faster on average in some scenarios thanks to a completely rewritten video render code and new CPU cycle optimizations.
- Fixed a bug in the Z80 core that caused a failure in the loader for Digital Integration games (ATF, Bobsleigh, TT-Racer).
- Updated Paul Farrow's ZX81+ IF2 ROM to version 3.13, which includes the following enhancements:
- Added support for a few more pseudo high-resolution display drivers, e.g., Brian Lewis' "Pacman" and "Invaders".
- Added support for two advanced low-resolution display techniques, utilized by several of Dr. beep's lo-res games, e.g., "LoadRunner".
- Added support for ZX81 programs written in C using the z88dk development kit.
- Added Spectrum+ special keys emulation to PS/2 keyboard:
- TAB key -> Extended mode
- CAPS LOCK -> Spectrum Caps Lock
- GRAVE ACCENT -> Edit
- SEMICOLON -> Spectrum semicolon
- BACKSLASH -> Spectrum double quote
- ESC -> Break
- Added new "TAB as fire 1" option to joystick PS/2 keyboard emulation: This option assigns the TAB key the same function as RIGHT ALT: joystick fire 1. It also makes the GRAVE ACCENT key act as joystick fire 2 if Kempston emulation is selected. If this option is enabled, the TAB and GRAVE ACCENT keys will not behave as described in the previously described change.
- Added new reset shortcuts to PS/2 keyboard:
- LEFT ALT + BACKSPACE -> Soft reset (resets Spectrum with autoload of the last loaded snapshot if present).
- CTRL + LEFT ALT + BACKSPACE -> Reset Spectrum.
- CTRL + LEFT ALT + SUPR -> Reset ESP32.
- Firmware update: From this version on, the firmware update file name for SD firmware update procedure needs to be "firmware.upg".
- Updated About screen to thank new Patreons and contributors.
How to Flash:
Note
The current ESPectrum.1.2.bin file can be flashed in any of the three supported boards (Lilygo TTGO VGA32, Antonio Villena's ESPectrum board and Olimex ESP32-SBC-FabGL).
From this version on, there are two options to update your boards:
Updating via SD card if you have version 1.1 or later installed: copy firmware.bin file in the root directory of your SD card and use "Options/Update/Firmware" on ESPectrum.
Full flash your board using the following instructions:
Flashing tutorial (in Spanish, auto translation supported)
https://youtu.be/fxzaKa-J6gk?si=uP7kxuqSSeoLM7vR
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 ESPectrum.1.2.bin
(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)