BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/readme.md

1.4 KiB

ZXHawk

At this moment this is still very experimental and needs a lot more work.

Implemented and sorta working

  • IEmulator
  • ZX Spectrum 48k model
  • ULA video output (implementing IVideoProvider)
  • ULA Mode 1 VBLANK interrupt generation
  • IM2 Interrupts and DataBus implementation (thanks Aloysha)
  • Beeper/Buzzer output (implementing ISoundProvider)
  • Keyboard input (implementing IInputPollable)
  • Kempston joystick (mapped to J1 currently)
  • Tape device that will load spectrum games in realtime (*.tzx and *.tap)
  • IStatable (although this is not currently working/implemented properly during tape load operations)
  • IMemoryDomains (I think)

Some progress

  • ISettable - There are some Settings and SyncSettings instantiated, although they are not really used and I haven't yet figured out how to wire these up to the front-end yet

Not working

  • IDebuggable
  • Default keyboard keymappings (you have to configure yourself in the core controller settings)
  • Manual tape device control (at the moment the tape device detects when the spectrum goes into 'loadbytes' mode and auto-plays the tape. This is not ideal and manual control should be implemented so the user can start/stop manually, return to zero etc..)
  • Only standard spectrum tape blocks currently work. Any fancy SpeedLock encoded (and similar) blocks do not

Known bugs

  • Audible 'popping' from the emulated buzzer after a load state operation