Skip to content

ZX Spectrum emulator for Windows, Linux and MacOS.

License

Notifications You must be signed in to change notification settings

r-lyeh/Spectral

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spectral

Sinclair ZX Spectrum emulator from the 80s.

image image image

About

Spectral is an experimental emulator that I have been randomly assembling since the pandemic days, inspired by my old fZX32 emulator. Accuracy and performance are long-term goals, but the primary focus is just having fun with this thing. Hardcore ZX users will find little value in this emulator right now, but I hope newbies may find its ease of use somehow appealing to try. That being said, Spectral has a very compatible TAP/TZX loader and some other interesting features that provide me some fun in these days. Code is highly experimental and prone to change in the future. I will keep altering/breaking things randomly for good sake.

Features and wishlist

  • Single executable.
  • Z80. Z80 Disassembler.
  • 16, 48, 128, +2, +2A, +3, Pentagon128 models.
  • Issue 2/3 keyboards.
  • ULA/ULA+ graphics.
  • Beeper/AY chips.
  • Kempston mouse.
  • Kempston/Fuller/Cursor/Sinclair joysticks.
  • RF/CRT experience (not physically accurate though).
  • TAP/TZX/PZX/CSW tapes. Z80/SNA/SZX snaps. ROM/IF2 roms.
  • DSK/EDSK/TRD/SCL/FDI/MGT/IMG/HOBETA disks.
  • SCR/PNG screenshots.
  • ZIP/RAR/GZ archives.
  • AY tunes player.
  • µ765/Betadisk interfaces.
  • Auto load games. Auto play/stop tape. TurboROM.
  • Graphical tape browser.
  • 50/60Hz fps lock.
  • Run-a-head.
  • POK support.
  • Gunstick, Lightgun.
  • External shaders support.
  • Internal savestates.
  • Graphical User Interface.
  • Portable: Windows, Linux, MacOS.
  • Embedded ZXDB.
  • ZXDB Browser. ZXDB Gallery.
  • Extra accurate Z80 backend.
  • Cycle accurate (border, multicolor, etc).
  • RZX support.
  • Gamepad support.
  • MP3s.
  • Netplay.
  • Optimized.
  • Unlicensed.

Downloads

Download any binary release from the bin/ folder.

Alternatively, you can build the emulator yourself:

  • Windows users double click MAKE.bat file.
  • Linux/MacOS users can run sh MAKE.bat instead.

Usage

Spectral can be configured with a mouse.

Here are some keyboard shortcuts, though:

  • ESC: Game browser
  • F1: CPU throttle (hold)
  • F2: Start/stop tape
  • F3/F4: Rewind/advance tape
  • F5: Reload game
  • F6: Toggle input latency (Run-a-head)
  • F7: Toggle issue 2/3
  • F8: Toggle tape speed
  • F9: Toggle TV/RF (4 modes)
  • F9+SHIFT: Toggle AY core (2 modes)
  • F11/F12: Quick save/load
  • ALT+ENTER: Fullscreen
  • TAB+CURSORS: Joysticks

Credits

Andre Weissflog, for their many single-header libraries! (Zlib licensed). Peter Sovietov and wermipls, for their accurate AY chip emulator (MIT licensed). Ulrich Doewich and Colin Pitrat, for their uPD765A floppy disk controller (GPL licensed). Marat Fayzullin for their WD1793/FDI controllers (Proprietary). Sergey Bulba for their ay2sna tool (Public Domain). Potapov Vsevolod Viktorovich for their rusfaq website. Andrew Owen and Geoff Wearmouth for their custom ROMs. Simon Owen for their DSK technical websites. Santiago Romero, Philip Kendall, James McKay for their FOSS emulators. Damian Vila for their BESCII truetype font (CC-1.0). lalaoopybee, for their lovely tube shader. Günter Woigk, Juan Carlos González Amestoy and David Colmenero for their floppy sound recordings. The ZXDB devs. The ZX Spectrum Discord folks. All the ZX community!

Unlicense

This software is released into the public domain. Also dual-licensed as 0-BSD or MIT (No Attribution) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned.

Links