Because of the time that has passed since the last release (and to save myself the time of converting all this into a single file :D ), here are the changes in the various prereleases of ESPectrum in chronological order:
ESPectrum 1.4 Prerelease 1 / November 11, 2024
- Complete Spectrum +2A emulation (cycle accurate, floating bus, etc.)
- Emulation of mono COVOX (port 0xFB), stereo Covox, and SoundDrive 1.05 modes 1 and 2. More info at https://velesoft.speccy.cz/da_for_zx-cz.htm
- Added Pentagon floating bus emulation.
- ZX81 ROM changed to the + version, which fixes some bugs from edition 3. More info at http://www.fruitcake.plus.com/Sinclair/Interface2/Cartridges/Interface2_RC_New_ZX81.htm
- Modified the flashload system. It now simulates the key sequence that makes each machine enter load mode: it's more reliable and takes up less space in the firmware.
- Adjustments to ZX keyboard reading that give a few more frames to ESPectrum on Antonio Villena's board.
ESPectrum 1.4 Prerelease 2 / November 28, 2024
- Mouse support with Kempston mouse emulation. To use it, you must select "Mouse" under "Other/Second PS/2 device" and then check "Kempston" under "Other/Mouse". Important: After selecting "Mouse" as the second PS/2 device, you must restart the hardware to activate mouse support on the port. If you want to try mouse-adapted software, you can find a lot of things at the following link: https://velesoft.speccy.cz/da_for_zx-cz.htm
ESPectrum 1.4 Prerelease 3 / December 2, 2024
- Adjusted the +2A model's contention, which was not entirely correct (and caused problems in the Ganzfeld demo).
- Fixed a bug in video initialization in +2A mode that, under certain conditions, caused the video code of the 48/128 model to be used.
- Improved detection of devices connected to the second PS/2 port. There should no longer be resets or reset cycles in case of problems.
- The automatic loading system has also been modified for 48K models. It now simulates the pressing of the
LOAD ""sequence. More reliable and less costly in terms of code and firmware size. - Fixed a bug in the second PS/2 device menu in Portuguese that caused a reset.
- Slight optimization in audio generation code.
ESPectrum 1.4 prerelease 3.3 / December 9, 2024
- A small update with a couple of hotkeys that you might find useful:
- Shift + F3 -> Choose second PS/2 device (requires a subsequent restart).
- Shift + F4 -> Mouse resolution (25, 50, 100, 200 dpi). Applied instantly.
- On the ZX keyboard:
- CS + SS + S -> Choose second PS/2 device.
- CS + SS + D -> Mouse resolution.
ESPectrum 1.4 prerelease 4 / February 11, 2025
- New WD1793 emulation: Much more accurate and at a lower level, based on the Retro Virtual Machine implementation, solving compatibility problems with some Pentagon demos. The ability to create empty TRD disks with 80/40 tracks and 1/2 sides has been added. Real-time and accelerated controller emulation modes, in addition to the option to choose between two TR-DOS ROMs. Bicolor read/write LED indicator in the statistics OSD.
- New custom snapshot system: From now on, custom snapshots are created as .esp files. These files, in addition to containing information about the machine and the selected ROM, also store all joystick system settings, including joystick types and mappings. They no longer need to be in a specific folder and can be freely created, named, renamed, and deleted. Additionally, a Quick Save key has been added, which automates the sequential numbering of saves while keeping the name of the last loaded snapshot (.sna, .z80, or .esp).
- New TRD and SCL disk browser, and ESP custom snapshot browser.
- Improvements in instant search (now includes folders) and new functions in the file manager: create files, create folders, rename (files and folders), and delete (files and folders). The appearance of the browser and keyboard shortcuts for these functions have also been redesigned.
- New function layout on PS/2 and ZX keyboards. More intuitive and comfortable (at least for the author 😜).
- Fixed some bugs in external joysticks that could cause action blocks, in addition to other small adjustments.
ESPectrum 1.4 prerelease 5 / March 13, 2025
- Support for a physical reset button on Lilygo and Olimex boards via GPIOs 34, 36 (corresponds to the physical button on Lilygo) or 39.
- EXPERIMENTAL: Improved emulator startup speed. Now, without devices connected to the second PS/2 port, startup takes 7-8 tenths of a second. This could cause problems with PS/2 keyboard initialization—please report any failures.
- It is no longer necessary to repeatedly press keys to change the video mode on the PS/2 keyboard. You can just hold them down.
- New key combination to return ESPectrum to its configuration values after flashing: 0 + Z at startup.
- Improved player mode: It will now correctly play non-standard loading schemes.
- Changed the alternative TR-DOS version to 5.05D, considered the most advanced and stable (Thanks, Pegaz! ;D).
- Fixed a problem introduced in previous versions with Issue 2 and Issue 3 emulation.
- Fixed a bug in the directory deletion function.
- Noted improvement in file indexing speed.
ESPectrum 1.4 prerelease 5.1 / March 14, 2025
- Added read compatibility for old ESPectrum snapshots.
- Added keyboard shortcuts for the new file browser to the ZX keyboard and changed the combinations to CAPS SHIFT+<letter> for both keyboard options (PS/2 and ZX).
- The second PS/2 device is automatically adjusted on Antonio Villena's board to "Keyboard/Adapt. DB9" after flashing/updating to be able to use the board even without a ZX keyboard.
ESPectrum 1.4 prerelease 6 / March 31, 2025
- New audio loading system from analog audio devices. The system allows you to select the method by which the signal will be connected to the board via the "Cassette/Audio input" menu. To activate/deactivate the reading of the analog signal, you must use the shortcut SHIFT+F2 on the PS/2 keyboard or CS+SS+A on the ZX keyboard.
- New file information pop-up window for full-screen file browsers that replaces the autoscrolling mechanism for long names.
- The left and right keys can now be used to navigate the emulator menus. In the file browser, the left key also allows you to close the browser if it was invoked from a menu or move to the previous folder if you are on the first item.
- The functionality previously called "Player mode" is now called "Amplification" and now allows you to amplify the EAR signal, which is equivalent to the previous player mode, and/or the MIC signal, which allows you to amplify the output of the SAVE command to be able to record programs on real devices. The amplification of the EAR signal implies the suppression of any other sound from the emulator and is reflected in the volume indicator by substituting the acronym VOL with AMP.
- Improved ZX keyboard detection on Antonio Villena's board to avoid false positives on Lilygo or Olimex boards that use GPI34 or GPI39 for the reset button or audio loading.
- Added a check for SD card mounting to the firmware update option.
ESPectrum 1.4 prerelease 6.11 / April 6, 2025
- Fixed shortcut to activate audio input on the ZX keyboard. It is now CS + SS + L.
- Fixed a problem with file access in the disk browser.
- Minor performance improvements.
ESPectrum 1.4 prerelease 6.12 / April 25, 2025
ESPectrum 1.4 / July 5, 2025
- Fixed the modelines of the Pentagon VGA50 and CRT TV that caused tearing.
- Removed the unnecessary vertical sync compensation mechanism in VGA50 and CRT modes.
- Fixed the TRD disk creation option.
- Fixed TRD and SCL files that did not appear in the disk browser.
- Inverted tape polarity (fits better with some special cases).
- Added code to manage the last block with 0 pause in TZX files.
- Set Issue 3 as the default in the 48K model.
- Fix for NVS item names that were too long and did not work correctly.
- Fix for the NVS value reset function (using 0 + Z at startup).
- Fix to prevent the ENTER key used as an exit key in the interface from propagating to the emulation.
- New vertical scroll effect for the “About” dialog.
ESPectrum 1.4.11 / August 10, 2025
- New block indexing system for .tap files that speeds up their location in both normal loading and flashload. It was specially developed to optimize the operation of the PlayOnRetro Final Pack. More info at: https://playonretro.com/
- Updated list of sponsors and collaborators in the “About” dialog. Thank you all!!
- Added Portuguese language to the “About” dialog.
- Fixed a problem with operation on boards without PSRAM.
- Fixed incorrect modeline in 16:9 video mode.
- Fixed a problem with creating .ESP snapshots with file names that were too short.
How to Flash:
- Update via online flashing tool Now, a web tool where you can flash latest ESPectrum versión (and some older versions and CPCESP firmware) is available at https://zxespectrum.speccy.org/flash Bear in mind that it needs a browser with support for Web Serial (currently Chrome, Edge and Opera).
- Updating via SD card if you have version 1.4 or any prerelease version of 1.4 installed: copy firmware.upg 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.4.11.bin
(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)