Releases: EremusOne/ESPectrum
ESPectrum 1.3.2
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
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
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
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
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
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
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
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)
ESPectrum 1.0 rc1
New features:
-
Support of real Spectrum 48k keyboard using Antonio Villena's new ESPectrum board. From now on, there will be two binaries: one for Lilygo VGA32 and similar boards and one for Villena's board.
-
Support for three video modes: VGA Standard (60 and 70hz), VGA 33-40k 50hz and CRT 15k 50hz modes. For VGA 50hz modes you only need a monitor that supports them. CRT 50hz mode is supported in ESPectrum board through Antonio Villena's VGA-Scart adapter (it also works in Lilygo board but a little hack, which we'll detail on ESPectrum website, is needed).
-
You can switch between modes using the following key combinations during emu boot sequence and check later current video mode on lower bar of Help screen:
- 1 + Q -> VGA Standard 4:3 (60hz) - 1 + W -> VGA Standard 16:9 (70hz) - 2 + Q -> VGA 40khz 50hz 4:3 - 2 + W -> VGA 33khz 50hz 16:9 - 3 + Q -> CRT 15khz 50hz 4:3 - 3 + W -> CRT 15khz 50hz 16:9 (On PS/2 keyboards you should alternate between the two keys. On ZX Spectrum keyboard you can keep both keys pressed)
Changes:
- More optimizations: improved emu speed.
- Improved menu system: you can move forward and backward menu levels flawlessly.
- Multicolor "ESPectrum" name on main menu.
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 /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)
ZX-ESPectrum-IDF v1.0 beta 5.3
New features:
- Added "Spectrum like" typematic rate delay and click sounds (48 and 128k versions) to menu and FKeys interactions.
- Added Help Screen as suggested by azesmbog.
Changes:
- Improved overall AY emulation quality and fixed AY chip detection (Now AY doesn't shows as YM) (Thanks Rampa!)
- PS/2 keyboard revamped to meet Spectrum emulation standards: now both Shifts act as Spectrum Caps Shift and both Ctrls act as Spectrum Symbol Shift. The only "convenience" keys are now Backspace, comma and dot keys.
- Cursor joystick emulation now generates Caps Shift+Cursor keys and 0 as fire.
- Now, emu will not remember last snapshot loaded on restart. It will always boot to last used Spectrum ROM.
Bugfixes:
- Fixed AY envelope emulation. The problem with sound in "The Addams Family", and probably other titles, is solved.
Known issues:
- In rare cases, sound doesn't get initialized on emu start or 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 /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.0beta5.3.bin
(Don't forget to change -p parameter to reflect the serial port where your system has detected your board)