A multiplatform ZX Spectrum emulator written in Java
Java Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

JSpeccy

A multiplatform ZX Spectrum emulator written in Java language.

  • Emulates ZX Spectrum models 16k, 48k, 128k, +2 and +2a
  • Uses the same Z80 core as Z80Core project.
  • Contended memory emulation.
  • Border effects (Aquaplane, The Sentinel)
  • Selectable border size (no border, standard, complete, huge)
  • High resolution color effects (Uridium, Black Lamp)
  • Emulation for screen scanlines, PAL effect or RGB monitor
  • Floating bus emulation (Arkanoid, Sidewize, Cobra)
  • Beeper & MIC emulation (Cobra's Arc)
  • Read/Write SNA/Z80/SP/SZX snapshot formats
  • LOAD/SAVE Tape files in TAP/TZX/CSW formats
  • Emulates Kempston, Sinclair 1/2, Cursor AGF, Fuller joysticks using keyboard cursor keys.
  • AY-3-8910 PSG emulation, including Fuller Audio Box, with Mono & Stereo ABC/ACB/BAC modes.
  • Interfaz I with up to 8 Microdrives, using real emulation when using MDV files.
  • Interfaz II ROM emulation.
  • Multiface One/128/Plus 3 emulation
  • ULA+ mode support (up to 64 colors on screen)
  • LEC Memory expansion, up to 528 KB, to use LEC CP/M v2.2, using Microdrives as storage
  • Window can be maximized up to x4.
  • Selectable emulation speed up to x10 (35 Mhz CPU)
  • Translations to English, Spanish & Italian
  • Complete command line support, to integrate JSpeccy with front-ends.

How to Use

You need to have installed Java 8. Run with:

java -jar JSpeccy.jar

A configuration file named JSpeccy.xml will be created on the user directory.

On Unix/Linux platforms using X11, Java 8 have a bug redrawing the screen. Java 8 use the XRender extension by default and this causes some problems. To resolve it, you can test two possible solutions. First, you can add the option:

java -Dsun.java2d.opengl=True -jar JSpeccy.jar

that uses the OpenGL backend. This solution can be problematic when don't exist a good OpenGL driver or X11 is using Mesa. With these case you can use:

java -Dsun.java2d.xrender=false -jar JSpeccy.jar

If you are using Java 9 you need to add another startup option:

java --add-modules jdk.xml.bind -jar JSpeccy.jar

in Java 9 the Swing redrawing bug exist too, and you can need any of the previous solutions (sigh!).

Web: JSpeccy (only in Spanish, I'm sorry)