BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum
Asnivor f612ae043b Disabled tape trap auto-stop (this is more trouble than its worth - tzx formats should include 'stopthetape' blocks anyway, and tap files are generally junk and should be discouraged) 2018-03-13 14:08:53 +00:00
..
Hardware Disabled tape trap auto-stop (this is more trouble than its worth - tzx formats should include 'stopthetape' blocks anyway, and tap files are generally junk and should be discouraged) 2018-03-13 14:08:53 +00:00
Machine new IPSG interface ahead of trying to A/B a version of the ColecoHawk AY-3-8910 2018-03-13 14:00:29 +00:00
Media Fixed tzx tape standard data block PauseAfter value. Now speedlock7 encoded games should work 2018-03-12 10:20:56 +00:00
SoundProviderMixer.cs Mixer balancing and stereo output toggle 2017-12-07 13:09:53 +00:00
ZXSpectrum.Controllers.cs Added 'Get Tape Status' keybinding - fires an OSD message with state info about the current tape 2018-03-12 14:37:45 +00:00
ZXSpectrum.IDebuggable.cs Initial commit. 48K spectrum only. 2017-11-23 17:26:15 +00: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 Implemented DeterministicEmulation as a syncsetting and if this is set to false, audio and video devices respect the render and renderSound IEmulator bools 2018-03-07 12:21:36 +00:00
ZXSpectrum.IStatable.cs Memory overhaul for a nice performance benefit 2018-03-12 15:22:06 +00:00
ZXSpectrum.Messaging.cs Added 'Get Tape Status' keybinding - fires an OSD message with state info about the current tape 2018-03-12 14:37:45 +00: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 Fixed zx16 machine after memory changes 2018-03-13 12:48:08 +00:00
readme.md Finished port IO contention rewrites 2018-03-12 12:00:17 +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 (stereo or mono 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