BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum
Asnivor b9729d0dc2 TZX tape format handling re-write nearly complete (supporting advanced protection/loader schemes) 2018-02-15 14:37:22 +00:00
..
Hardware TZX tape format handling re-write nearly complete (supporting advanced protection/loader schemes) 2018-02-15 14:37:22 +00:00
Machine Tape device re-write and TAP format reading done. Loading state is now fully serializable 2018-02-14 12:21:02 +00:00
Media TZX tape format handling re-write nearly complete (supporting advanced protection/loader schemes) 2018-02-15 14:37:22 +00:00
Pulse.cs Initial commit. 48K spectrum only. 2017-11-23 17:26:15 +00:00
RomData.cs Started Spectrum128 implementation 2017-12-05 10:02:57 +00:00
SoundProviderMixer.cs Mixer balancing and stereo output toggle 2017-12-07 13:09:53 +00:00
ZXSpectrum.Controllers.cs Added virtual pad to UI 2017-12-04 14:05:04 +00:00
ZXSpectrum.IDebuggable.cs Initial commit. 48K spectrum only. 2017-11-23 17:26:15 +00:00
ZXSpectrum.IEmulator.cs Some TapeDevice serialization 2018-01-15 12:50:07 +00:00
ZXSpectrum.IInputPollable.cs Initial commit. 48K spectrum only. 2017-11-23 17:26:15 +00:00
ZXSpectrum.IMemoryDomains.cs More SynState work 2017-11-28 19:28:22 +00:00
ZXSpectrum.ISettable.cs Small settings change 2018-02-12 17:22:03 +00:00
ZXSpectrum.IStatable.cs Small settings change 2018-02-12 17:22:03 +00:00
ZXSpectrum.Util.cs More SynState work 2017-11-28 19:28:22 +00:00
ZXSpectrum.cs Some TapeDevice serialization 2018-01-15 12:50:07 +00:00
readme.md Started implementing new ULA implemetation (far more performant) 2017-12-11 12:54:48 +00:00

readme.md

ZXHawk

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

Implemented and sorta working

  • IEmulator
  • ZX Spectrum 48k, 128k & Plus2 models
  • ULA video output (implementing IVideoProvider)
  • ULA Mode 1 VBLANK interrupt generation
  • IM2 Interrupts and DataBus implementation (thanks Aloysha)
  • Beeper/Buzzer output (implementing ISoundProvider)
  • AY-3-8912 sound chip implementation
  • 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)
  • ISettable core settings
  • IMemoryDomains (I think)

Work in progress

  • Exact emulator timings
  • Floating memory bus emulation

Not working

  • IDebuggable
  • ZX Spectrum Plus3 emulation
  • 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

-Asnivor