BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum
nattthebear e8145af463 i hope this breaks something 2018-05-12 12:55:42 -04:00
..
Hardware ZXHawk: Disk Drive code tidy 2018-05-10 10:42:36 +01:00
Machine ZXHawk: Removed IO port contention for now (this fixes the slow beeper music problem). Will re-implement properly later - #1158 2018-05-08 20:37:47 +01:00
Media ZXHawk: fixed tap tape image parsing exceptions (operation wolf etc) - #1158 2018-05-03 23:19:24 +01:00
SoundProviderMixer.cs ZXHawk: Better SoundProviderMixer implementation 2018-05-09 11:33:39 +01:00
ZXSpectrum.Controllers.cs ZXHawk: Multi-disks are now supported for +3 disk drive 2018-05-02 11:14:08 +01:00
ZXSpectrum.IDebuggable.cs i hope this breaks something 2018-05-12 12:55:42 -04:00
ZXSpectrum.IEmulator.cs Removed [CoreConstructor("ZXSpectrum")] identifier (as this was causing an exception when loading roms for other systems 2018-03-12 18:17:06 +00:00
ZXSpectrum.IInputPollable.cs LagFrame implementation 2018-03-06 17:57:13 +00:00
ZXSpectrum.IMemoryDomains.cs Memory overhaul for a nice performance benefit 2018-03-12 15:22:06 +00:00
ZXSpectrum.ISettable.cs ZXHawk: Buzzer/Beeper implementation now use BlipBuffer - #1158 2018-05-08 20:23:02 +01:00
ZXSpectrum.IStatable.cs New AY-3-8912 implementation. Better sounding and more performant 2018-03-15 16:32:26 +00:00
ZXSpectrum.Messaging.cs ZXHawk: Some UPD ReadID improvements 2018-05-03 15:33:30 +01:00
ZXSpectrum.Util.cs Added floating bus implementation to 128k/+2 and started looking at +3 emulation 2018-03-08 16:50:56 +00:00
ZXSpectrum.cs ZXHawk: Better SoundProviderMixer implementation 2018-05-09 11:33:39 +01:00
readme.md Readme update 2018-03-19 16:25:20 +00:00

readme.md

ZXHawk

At the moment this is experimental and is still being worked on.

Implemented and working (as far as I can tell)

  • IEmulator
  • ZX Spectrum 48k, 128k, +2 & +2A 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 (multiple stereo or mono panning options available as a setting)
  • Keyboard input (implementing IInputPollable)
  • Default keyboard keymappings
  • Kempston, Cursor and Sinclair (Left & Right) joysticks emulated
  • Tape device that will load spectrum games in realtime (*.tzx and *.tap)
  • Most tape protection/loading schemes that I've tested are currently working
  • IStatable
  • ISettable core settings
  • IDebuggable (for what it's worth)
  • DeterministicEmulation as a SyncSetting, LagFrame detection and FrameAdvance render & renderSound bools respected (when DeterministicEmulation == false)
  • Tape auto-loading routines (as a setting - default ON)
  • Basic tape block navigation (NextBlock, PrevBlock)
  • Tape-related OSD messages (verbosity level configured in settings)

Work in progress

  • ZX Spectrum +3 emulation (partially working, see below)
  • Exact emulator timings
  • Floating memory bus emulation
  • TASStudio (need to verify that this works as it should)

Not working

  • +3 disk drive - no implementation yet
  • Hard & Soft Reset menu options in the client (they are greyed out for some reason)

Help needed

  • I'm not a TASer, i've never TASed before. It would be really useful if someone (anyone) can build this branch and test this core from a TAS-workflow / TAStudio perpective. There may still be some work to do an exact timings and memory contention, but otherwise this core is able to play the majority of speccy games out there.

-Asnivor