User Tools

Site Tools


alessandro_s_cycle-perfect_zx_spectrum_48_and_128_emulator

V6Z80P Speccy

A ZX Spectrum 48/128K/Pentagon 128K emulator for the V6Z80P v1.1

Description

  • ZX Spectrum 48K, 128K and Pentagon 128K emulation
  • ULA 6C001/6C011 48K timing (PAL/NTSC) and 7K010E 128K timing (PAL)
  • Pentagon 128K timing (“PAL”, 48.8xHz vertical refresh)
  • Uncontended mode for Pentagon emulation (time-multiplexing happening at 14MHz)
  • AY-3-8912 sound chip emulation in all the cores with ABC stereo
  • Tape player emulation (loads a TAP file selected during core startup)
  • Standard CPU speed (3.5 MHz) and Turbo CPU speed (7MHz) available on all the emulated machines (even on Pentagon)
  • VGA and SCART RGB output
  • Early timing emulation (99% of the ZX Spectrums)
  • Issue 2 keyboard emulation (for better compatibility with older games, see Abu Simbel Profanation)
  • Floating bus emulation
  • Snow effect faithful emulation
  • ULA+ 64 color mode support
  • Timex 8×1 attributes mode
  • Timex alternative video RAM block
  • Timex hires 512×192
  • Alessandro Poppi's ZXMMC+ interface emulation (512KB RAM and SD Card interface)
  • DivMMC virtual interface (DivIDE memory model with 8KB eprom + 256KB RAM and ZXMMC+ SD Card SPI interface)
  • Miguel Guerreiro's esxDOS as main O.S. with NMI file browser
  • Garry Lancaster's ResiDOS as optional O.S. with TaskMan and TapeIO packages pre-installed
  • Kempston joystick emulation (joystick port 1)
  • Scanlines effect in VGA mode
  • Support for the EAR→Serial adapter cable which allows real tape (or .wav) input from devices with 3.5mm headphone sockets

The emulator can be started in a simple way from FLOS (EMU.EXE program by Phil).

Download

The core can be downloaded HERE

There you can find all the required information to setup and use the emulator.

Acknowledgements

A sincere “thanks!” to Phil and Miguel for their support (and patience) during the whole development process.

Config files history

v0.9

  • ZX10717P (17/07/2011): first official release (only PAL core)
  • ZX10719U (19/07/2011): NTSC ULA support (F12 key switches beetween PAL and NTSC)
  • ZX10721U (21/07/2011): Fixed VSync_NTSC

v0.9.1

  • ZX10726U (26/07/2011): first release supporting VGA output; in VGA mode a scanline effect can be enabled pressing the F11 key.

v0.9.2

  • ZX10816U (16/08/2011): first release supporting ZXMMC+ interface; to run games like Abu Simbel Profanation, the emulated keyboard has now the Issue2 behaviour; “ESC” key is used to RESET the machine, “CAPS” key is the NMI button (needed for ResiDOS task manager).

v1.0.0

  • ZX10918U (18/09/2011): final 1.0 release, supported by GOSPEC.EXE interactive kickstarter; ZXMMC+ memory can be restored at startup, and ResiDOS ready for use in few seconds; some PS/2 keys are now mapped to ZX Spectrum keys combos (ex. Backspace → CAPS+0, Cursors → CAPS+5,6,7,8).

v2.0.0

  • 048K251A and 128K251A (26/05/2012): first 2.0 release, new EMU.EXE interactive kickstarter; 48K and 128K support, AY-3-8912 sound chip emulated for both versions with ABC stereo.

v2.1.0

  • 048K2815 and 128K2815 (15/08/2012): added support to DivMMC interface (enabling esxDOS execution) and to Timex graphics modes.

v2.2.0

  • 048K2815, 128K2815, PNTG2A1C (01/11/2012): added the new machine Pentagon 128K

Tested software

Operating Systems

ResiDOS installation TAP (ZXMMC+ version): OK, use 0.9.2 release (Alessandro)

Games

Abu Simbel Profanation: OK, use 0.9.2 release (Issue2 Keyboard) (Phil)
Airwolf: OK (Phil)
Ant attack: OK (Phil)
Aquaplane: OK (Alessandro)
Arcadia: OK (Alessandro) (SNA loaded from ResiDOS)
Arkanoid (Floating Bus): OK (Alessandro)
Arkanoid 2 128: (Phil) OK .tap via Residos
Auf Wiedersehen Monty: OK (Alessandro) (SNA loaded from ResiDOS)
Back to the future 3 128: OK (Phil) (.tap via Residos)
Bombjack: OK (Phil)
Bounder: OK (Alessandro) (SNA loaded from ResiDOS)
ByteMe 128: OK (Phil) ULA+ support! (.tap via Residos)
Cauldron II: OK (Alessandro) (SNA loaded from ResiDOS)
Cobra: OK (Phil)
Cobra Force 128: OK (Phil) (.tap via Residos)
Cuckie Egg: OK (Alessandro)
Daley Thompsons Super Test 128: OK (Phil) (.tap using pre-loader, Residos load fails)
Darkman 128: OK (Phil) (.tap via Residos)
Dynamite Dan: OK (Alessandro)
Exolon: OK for both 48K and 128K (Alessandro)
Fighter Pilot: OK (Alessandro)
Green Beret: OK (Alessandro) (SNA loaded from ResiDOS)
Head over heels: OK (Alessandro) (SNA loaded from ResiDOS)
Hobbit: OK (Alessandro) (SNA loaded from ResiDOS)
Hypersports: OK (Phil)
Hunchback: OK (Alessandro)
IK+ 128: OK (Phil) (.tap via Residos)
Ikari Warriors 128: (Phil) .tap will not load via Residos or pre-loader (custom blocks?)
Jet Set Willy: OK (Alessandro) (SNA loaded from ResiDOS)
Kong strikes back: OK (Phil)
Manic Miner: OK (Alessandro)
Matchday2: OK (Phil)
Maziacs: OK (Alessandro)
Moon Cresta: OK (Alessandro) (SNA loaded from ResiDOS)
Operations Wolf 128: OK (Phil) (.tap via pre-loader, Residos load fails)
Pyjamarama: OK (Alessandro)
Rastan 128: OK (Phil) (.tap via Residos)
Robocop1 128: OK (Phil) (.tap via Residos)
Sidewize: OK (Phil)
Target Renegade 128: OK (Phil) (.tap via Residos)
Total Recall 128: OK (Phil) (.tap via Residos)
Uridium Plus: OK/KO needs a TAP file generated from the perfect TZX (ORIGINAL RELEASE) file (Alessandro); the TAP file on WOS (marked as COMPILATION RELEASE) crashes after pressing SPACEBAR at the loading screen (Phil)
Thanatos 128: OK (Alessandro); must be loaded using the tape-player emulator
Vectron: OK, if loaded from ResiDOS as SNA or TAP the title screen shows some garbage on the border! Load it without ResiDOS (Alessandro)
Wec Le Mans 128: OK (Phil) (.tap via Residos)
Zynaps: OK (Phil)

Tests

24-bit slideshow: OK (Alessandro), this is a 64 color mode slideshow.
BBG: OK for both 48K and 128K; 128K must be loaded as SNA using “%SNAPLOAD+-“bbg128.sna” from ResiDOS (Alessandro) http://8bitchip.info/zx48/zxse.php
BTime: OK for both 48K and 128K
Float48K: OK (Alessandro)
FloatSpy (Ramsoft): OK for both 48K and 128K (Alessandro)
FuseTest: OK for both 48K and 128K, 0x7FFD and 0x3FFD ports read too (Alessandro)
IR_contention: OK (low beep and white background between the vertical bars due to the peculiar version of the Z80CPU! The undocumented opcode OUT (C),0 outputs 255 instead of 0 in particular on CMOS Z80!) (Alessandro)
STime: OK for both 48K and 128K (Alessandro)
MInfo: OK for both 48K and 128K (Alessandro)
UlaTest3: OK for both 48K and 128K (Alessandro)

Demos

Digi Synth 3: OK (128K); can be started from ResiDOS; after attaching the TAP, you should use the ”%TAPEWIND 3“ command to skip the text intro
Echology: OK (128K); this demo can be used to test the 7MHz CPU mode during the 3D vector graphics part (higher frame rate)
Hercules: OK (128K); must be started using the tape-player emulator, not from ResiDOS
MDA: OK (128K); as for IR_contention also in this case OUT (C),0 creates some issues on the screen border, but it depends on the Z80
Mescaline: OK (128K)
Paralactika: OK (128K); must be loaded with the tape-player emulator, not from ResiDOS
No More Intelligence 2: OK for both 48K and 128K (Alessandro)
No More Intelligence 3: OK for both 48K and 128K (in particular the 3rd demo WHATSA DXYCP? is identical on a real ZX Spectrum 48K.. Thanks Phil for the test on your Speccy) (Alessandro)
Overscan: OK (128K)
Shock Megademo: OK for both 48K and 128K (Alessandro)

Known issues

Nothing serious yet.

alessandro_s_cycle-perfect_zx_spectrum_48_and_128_emulator.txt · Last modified: 2017/07/03 20:18 by z00m