BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum
Asnivor 2b988954ee Started implementing new ULA implemetation (far more performant) 2017-12-11 12:54:48 +00:00
..
Hardware Mixer balancing and stereo output toggle 2017-12-07 13:09:53 +00:00
Machine Started implementing new ULA implemetation (far more performant) 2017-12-11 12:54:48 +00:00
Media/Tape Started tape impl. 2017-11-24 18:43:04 +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 Embedded ZX Roms (allowed for distribution from AMSTRAD) 2017-12-11 09:05:12 +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 Embedded ZX Roms (allowed for distribution from AMSTRAD) 2017-12-11 09:05:12 +00:00
ZXSpectrum.ISoundProvider.cs More +3 stuff (still not working) 2017-12-07 15:43:28 +00:00
ZXSpectrum.IStatable.cs More SynState work 2017-11-28 19:28:22 +00:00
ZXSpectrum.IVideoProvider.cs More +3 stuff (still not working) 2017-12-07 15:43:28 +00:00
ZXSpectrum.Util.cs More SynState work 2017-11-28 19:28:22 +00:00
ZXSpectrum.cs Started implementing new ULA implemetation (far more performant) 2017-12-11 12:54:48 +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