Skip to content

Releases: EremusOne/ESPectrum

ESPectrum 1.4.15

01 Mar 11:30

Choose a tag to compare

ESPectrum 1.4.15

  • Now, when moving back through directories (using BACKSPACE, the “..” entry of left arrow when positioned at first item), the browser will position itself in the folder you are returning from. Much more natural and comfortable for navigating file collections :)

  • WD1793 Step functions optimizations.

  • Fixed the WD1793 emulation so that it behaves correctly when a bug present in the TR-DOS 5.03 ROM appears (Thanks to Drew for the information and to J.C. González for the fix).

  • There was a bug in the creation of .esp files that could cause potential issues when loading files created using ROMs other than the default one, in models where ROM selection is available. This should no longer be a problem (Thanks to Kee Toy for the report!).

  • Background reset after post firmware flash corrected (Thanks for the bug report, The_RiderNight).


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.15.bin

(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)

ESPectrum 1.4.11

11 Aug 02:28
88ddc01

Choose a tag to compare

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 directo...

Read more

ESPectrum 1.3.2

28 Oct 11:53

Choose a tag to compare

Bugfixes:

  • Fixed a problem with the snapshot menu in Portuguese language.
  • Fixed an implementation error in loading .sp files that caused the loading of some files to fail.
  • Fixed some problems with new virtual tape system and tape browser.

How to Flash:

Note

The current ESPectrum.1.3.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 three options to update your boards:

- 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.3 or any prerelease version of 1.3 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.3.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)

ESPectrum 1.3

07 Oct 10:49
103b75b

Choose a tag to compare

New Features:

  • Microdigital TK90X and TK95 models emulation with selectable ULA for TK models (Ferranti, Microdigital 50hz and Microdigital 60hz) and selectable TK90X v1, v2 and v3 (Rodolfo Guerra) ROMs.
  • Possibility of using one TK90X custom ROM.
  • Betadisk: new option to reset to TR-DOS, which also supports auto-start of trd or scl disks if inserted before reset.
  • New option to disable Betadisk emulation.
  • Complete overscan supported in CRT 15Khz mode (at 352x272 resolution for 50hz machines and 352x224 for 60hz ones).
  • New accelerated speed modes at 125% and 150% with sound: to activate them, you need to use the same turbo key as always (CTRL + F2 on the PS/2 keyboard and CS+SS+T on the ZX keyboard. The OSD background will change color to reflect the selected turbo mode:
    • Blue -> Normal mode, 100% speed
    • Red -> 125% speed mode
    • Magenta -> 150% speed mode
    • Black -> Maximum speed mode (without sound)
  • New support for Pedro Gimeno's emulator .sp format with support of .sp files with 16K ROM included (Shadow of the Unicorn i.e.). ESPectrum snapshots will save also the ROM to be able to save games of these titles (thanks to @SplinterGU)
  • New virtual tape system: now you can create empty tapes and fill them with support for SAVE command and block renaming, deleting and moving (thanks to @SplinterGU)
  • Added graphical keyboard layout help screens inspired by Gerton Lunter's Z80 emulator (adapted by Rodolfo Guerra and used with Gerton's knowledge and permission).
  • Volume level is now saved and remembered between sessions.
  • Tape isn't ejected after soft reset.
  • Eject tape shortcut added: SHIFT+F6 or CS + SS + E in ZX kbd.
  • Added Portuguese language.

Changes:

  • File browser enhancements (thanks to @SplinterGU):
    • Improved file indexing algorithm: indexing is now a lot faster.
    • Sorting (and searching) is now case insensitive.
    • Expanded browser file name length support: up to 127 characters long.
    • Improved SD management and error conditions: emulator will show error message if can't find media. Also, now you can swap the card on the fly and the emulator will remount it.
  • Border drawing size is extended horizontally on 360x200 (16:9) mode: now is 48 pixels wide on each side.
  • Hardware info shortcut is now SHIFT+F1 and CS + SS + I in ZX kbd.
  • Updated About screen to thank new Patreons and contributors.

How to Flash:

Note

The current ESPectrum.1.3.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 three options to update your boards:

- 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 any prerelease version of 1.3 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.3.bin

(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)

ESPectrum 1.2

25 May 01:28
c4a926b

Choose a tag to compare

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)

ESPectrum 1.1

03 Mar 10:10
abf2fc1

Choose a tag to compare

New features:

  • Several user-selectable ROMs have been added: 48k Spanish, 128k Spanish, +2 English and Spanish and ZX81+ IF2 ROM by Paul Farrow (thanks to Paul Farrow for giving permission).
  • .P file (ZX81) loading support integrated in the same snapshot loading dialog as SNA and Z80 files. 128K and Paul Farrow ROM is auto-selected and .P file loaded instantly.
  • Ability to choose the preferred architecture and ROM (including remembering the last one used). The emulator will start with the desired selection and will also use these preferences, appropriately, when loading .z80 files.
  • Added option to flash and use custom ROMs, one for 48k model and one for 128k model of 16 and 32kb size each one.
  • Expanded own snapshot space to 100 slots. In addition, the snapshots themselves will save (and load) info about the ROM used when it was taken, which allows you to also take snapshots of ZX81 games.
  • Added poke introduction dialog: CTRL-F9 or CS+SS+O on ZX keyboard.
  • Added shortcut to send NMI signal: CTRL + F10 or CS+SS+N on ZX keyboard.
  • Added tape player mode. If selected, ESPectrum will output only boosted EAR sound so you can use ESPectrum as .tap file player sending its audio to a real ZX Spectrum machine.
  • Added Rodolfo Guerra ROMs timing support to .tap loading routines: if you activate it and use some ROM from Rodolfo, ESPectrum will send .tap data at 4000bps speed (Thanks for the info about your great ROMs timings Rodolfo!).
  • Added "turbo" mode shortcut (CTRL + F2 or CS+SS+T on ZX keyboard). It makes ESPectrum run "without brake" and at the maximum possible speed. Audio is disabled and the stats OSD turns red when turbo mode is activated.

Changes:

  • Average emulator speed improved by 3.24%.
  • SRAM optimizations (about 6 kb saved).
  • Reduced interface click volume by about 66%.
  • Improved response time and accuracy of calculations in the CPU statistics OSD.
  • Stats OSD now can be cycled between tape loading (if there's some tape playing) and CPU stats using its keyboard shortcut.
  • It's no longer necessary to create the folders /.c and /.p on the SD card for screenshots and own snapshots respectively. The emulator will create them automatically if needed.
  • Help screen updated to reflect new shortcuts.
  • Updated About screen to thank new Patreons and contributors.

How to Flash:

Note

The current .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).

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 ESPectrum1.1.bin

(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)

ESPectrum 1.0

29 Dec 22:03
9914e40

Choose a tag to compare

New features:

  • Improved SD file system support:

    • Folder support with top status bar showing current folder.
    • Autoindexing of folders with process info through progress bars. No need of manual regeneration of folder indexes from now on.
    • 48 character long file names (plus 4 for extension).
    • Bigger snapshot and tape file open dialog.
    • Special ascii characters support: á,à,ä,â,é,è,ë,ê,í,ì,ï,î,ó,ò,ö,ô,ú,ù,ü,û,Ñ,ñ,Ç,ç,¿,¡,º and ª.
    • Positioning at item on file list starting with A-Z or a-z pressing corresponding letter on PS/2 or ZX Keyboard (SS + letter).
    • Case insensitive search option: press F3 on PS/2 keyboard or F, B on ZX Keyboard and input search text to realtime filter item list.
    • Status bar with total number of items and current item focused on folder.
    • Name autoscroll (keeping focus for more than two seconds) for items with name longer than dialog width.
  • New joystick system through ESPjoy DB9 to PS/2 converter (or DIY converter using ESPectrum joystick special scancodes):

    • Support of two up to 8 buttons joysticks.
    • Easy customization dialog: you can assign Spectrum keys, PS/2 special keys, Kempston actions or Fuller actions to any joystick input.

Important

To be able to use new joystick system with ESPjoy, you have to use new firmware at: https://github.com/dacarsoft/DB9_2_Keyboard/tree/DB9_2_Keyboard_ESPectrum

  • Support of flashing new firmware through SD card: just put firmware file on SD root dir and select update option.

  • New interface elements (progress bars and confirmation dialogs).

  • Overwrite confirmation dialog added to snapshot save and SAVE command.

  • New screen centering system for CRT 15Khz 50hz modes: use CRTL F5-F8 or CS+SS Z,X,C,V in ZX Keyboard.

  • New hardware information dialog (CTRL-F1 or CS+SS+I on ZX kbd).

Changes:

  • Z80 Core: Add accurate emulation of WZ according to the latest discoveries as described in https://spectrumcomputing.co.uk/forums/viewtopic.php?t=10555 Thanks to @redcode !

  • Optimized video and port management routines (emulator is about 5% average faster than previous release).

  • PS/2 joystick emulation improved: added Sinclair and Fuller type joystick emulation.

  • Improved OSD: quicker response and more precise calcs.

  • 16:9 70hz (360x200) modeline adjusted to better comply with IBM 720x400 standard.

Bugfixes:

  • Solved rare sound mute bug after snapshot load.

How to Flash:

Note

The current .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).

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 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)

ESPectrum 1.0 rc3

22 Oct 01:02

Choose a tag to compare

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)

ESPectrum 1.0 rc2

01 Sep 20:57
54d5047

Choose a tag to compare

New features:

  • Fast TAP file load implemented and selectable through Options/Storage menu.

  • Ability to flash load or just insert tape from TAP file selector: use ENTER for flashload and SPACE for insert tape (ENTER and 0 in ZX keyboard).

  • New Tape Browser (F7) which allows to navigate the tape and (re)start loading from any point.

  • Tape status realtime OSD: if tape is loading OSD (F8) will change to reflect info about loading status.

  • SAVE command is now trapped: if you use the command, it will save a .tap file in the SD card with the name you put between quotes.

  • Emulation of "Early" and "Late" ULA timings. Now, with "Late timings" the "128k Spectrum Timing Test" works perfectly. (Thanks to @redcode AKA zJoyKiler for his help)

  • Spectrum 48K Issue 2 emulation is now selectable (Options/Other/48K Issue 2).

  • Detection of different supported boards in software. Now, there's only one binary for all supported boards: Lilygo TTGO VGA32, Antonio Villena's ESPectrum and ESP32-SBC FabGL from Olimex. (Thanks to David Carrion @dacarsoft for help with ESPectrum board)

Changes:

  • Video system and CPU cycle optimizations resulting in ~10.65% of emulation speed boost.

  • Changes to Z80 core to reflect block instructions behaviour as described in https://github.com/hoglet67/Z80Decoder/ ... nted-Flags (Thanks to José Luis Sánchez @jsanchezv for his help)

  • Added changes in HALT instruction emulation as described in https://github.com/jsanchezv/JSpeccy/co ... 0d1eb40cfd

  • Fixed screen bank switch timing. Now Patrik Rak's ptime.tap test works right. (We can also pass perfectly Weiv's ptime128.tap test, but it needs a more precise and slower drawing functions so we decided to leave faster drawing functions because it is a test not supported in most emulators and with no practical use. More info in https://softspectrum48.weebly.com/notes ... -challenge

  • The SPIFFS file system is no longer used. The SD card is the only storage option at this time and the settings are now stored in the NVS partition.

  • F7 key is no longer "Stop tape" and F6 key changes from "Play/Pause tape" to "Play/Stop tape".

  • F11 key is now a shortcut to "Hard reset" (CS + SS + Q in ZX keyboard).

  • BMP screen capture changes to CS + SS + S in ZX keyboard.

  • Reduced AY emulation RAM consumption in 6kb.

  • Improved Kempston joystick emulation for reading also port 0xDF. Joystick works now right in Nonamed and probably other games.

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.0rc2.bin

(Don't forget to change USB SERIAL DEVICE on -p parameter to reflect the serial port where your system has detected your board)

ESPectrum 1.0 rc1 hotfix 1

24 Jul 11:45

Choose a tag to compare

Bugfixes:

  • Fixed functions peek16 and poke16 to check if first and last byte of address are on different ram pages. This fixes problems detected on Cabal, 1k intros included in "Ahh... the tape loading era" and "Back to the gemba" demo speech samples.

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 /dev/tty.usbserial-0001 -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x0 ESPectrum1.0rc1.bin

(Don't forget to change -p parameter to reflect the serial port where your system has detected your board)