Skip to content

ESPectrum 1.2

Compare
Choose a tag to compare
@EremusOne EremusOne released this 25 May 01:28
· 69 commits to master since this release
c4a926b

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)