2.0dev / 28-02-2021

Z64K

competition

Z64K runs on any platform with an updated Java Runtime Environment installed. 

It runs multiple computing devices such as Atari 2600 (cycle-accurate 6507 & pixel-accurate TIA emulation), Commodore 64 (cycle-exact 6510 including all undocumented instructions, CIA 6522/6522a emulation (cycle-exact SID 6581 emulation based on reSID, etc.), Commodore 128 (All features of C64 with most VDC features), Z80 processor emulated though not 100% cycle accurate, VIC 20 (cycle-accurate), Disk drive support (CBM 1541, CBM 1571, CBM 1581) and much more.

Accuracy

Performance

Features

--

RequirementJava Runtime Environment 7+

Note: JAVA 9 and 10: use the –Dsun.java2d.uiScale=1.0 option, if the screen does not render nicely on your setup. 

See bug for details..

Most Recent Changes 

  • Improved ZX Spectrum keyboard handling to handle all high byte address port range

  • More improvements to ZX Spectrumcontended memory timing.


  • Improved ZX Spectrum contented memory and contented  IO.  Full screen raster in Shock Megademo 3 shows correctly.  ULA test 3 and ULA test 3 modified show same output as reference screen from real ZX spectrum.

  • Improved floating bus behaviour.  Floatspy passes self test as OK.

  • Place 0xff on the bus for ZX spectrum Z80 interrupt mode 2

  • Implemented ZX Spectrum floating bus behaviour for disconnected IO reads.



Previous Update Change 

  • Add Custom and Gamepad joystick options for ZX Spectrum.

  • Improved Z80 instruction cycle exacttiming.

  • Fix number of raster lines for ZX Spectrum.  It was one less than it was meant to be.


  • Correctly set Interrupt flag when loading z80 files.

  • Fixed Kensington direction mapping.

  • Kensington joystick support using numpad direction keys (0=fire).

  • Added ZX spectrum Beeper sound.

  • Partial v2 z80 file format support for ZX spectrum.

  • Updated some reading of io port behaviour.  Fixes unintended animation in Fairlight and Fairlight 2

  • Basic z80 file support. (v1 only).  Tested with Firelord and Fairlight. Both are in aplayable state.

  • ZX spectrum screen timing adjustments.

  • Backspace key


  • Improved speed and display of memory and REU dumps in monitor

  • Update to REU floating bus behaviour.

  • Set correct REU size when using command line options


  • Set flags correctly for LD A,I and LDA A,R (needs testing)

  • Fix bug with Z80 RES/SET instructions that got broken in previous release

  • Fix disassembly of Z80 DDCB and FDCB instructions


  • Implemented missing Z80 instructions JP (IX) and JP (IY)

  • Implement missing Z80 instructions ld a,i (ed57) and in a,(*) (db).  Note: in a,(*) is not currently cycle exact so may cause issues with programs that require exact timing.  This will be fixed in next release.  Both of these instructions in addition to the HALT command require furthertesting. 

  • Fixed C128 that got broken in 10 February release

  • Set default emulation or application via General settings in Global settings Set default emulation or application via General settings in Global settings

  • Set default value of REU floating bus value to 255Slight improvement to REU timing.  Test b3 of REU Timing 2 passes. 

  • Improved VIC-II reset code and NTSC/PAL switching to prevent the emulator from ever being in an invalid state that couldpotentially cause it to crash.

  • Improved VIC-II reset code and NTSC/PAL switching to prevent the emulator from ever being in an invalid state that couldpotentially cause it to crash.

  • Fixed bug where VICII could crash emulator while doing a hard reset.  Always crashed when doing a hard resetusing 50/60Hz mode.

  • Save state of 50/60 Hz.

  • Include emulated computer name in window title bar

  • Show "paused" in title bar when emulator is paused.

  • Save Custom IC Glue Logic

  • Send labels from Assembler to emulated computer.

  • Implemented Z80 HALT command. *requires testing.

  • Fixed bug that could crash assembler when loading source code from file.

  • Confirm before exiting

  • Stand alone Assembler option

  • Enabled loading of t64 files into memory.  Need to type RUN and ENTER to execute program.


Version 2 of Z64K only

  • Included option for Custom IC Glue Logic available in the VICII section of model settings.  Undead shows "hidden" text.

  • Updated C128 REU to use bits 7 and 6 of register d506 for DMA target.  Fixes replays in Volley for Two when using REU as the extended replay method.

  • Allow use of shift key for selection of text in assembler in combination with mouse or arrow keys

  • Included more statistics of assembled program in bottom assembler status bar.

  • An example of what can be compiled with the Assembler is d030tester2.0 for the c128.

  • Fixed bug with assembling indirect JMP.  Use official opcodes for assembling NOP and SBC #imm

  • Assembler - Ignore assign label '=' inside double quotes

  • Assembler - Fix formatting when line with label and command on same line has leading whitespace

  • Assembler - Ignore comment character (;) and command delimiter character (:)  when in quotes

  • Bug fix toassembler !byte command

  • Assembler detects more errors in source

  • Assembler available via the Applications menu.

  • Fixed bug that was preventing assembling of indirect indexed and indexed indirect instructions in the machine monitor