BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum
Asnivor 6d66eee459 Disabled AY chip when memory paging is disabled (i.e. 48k mode) 2018-03-13 20:38:43 +00:00
..
Hardware Finally fixed tape trap auto loading/stopping routines 2018-03-13 20:31:13 +00:00
Machine Disabled AY chip when memory paging is disabled (i.e. 48k mode) 2018-03-13 20:38:43 +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 Reduced the AY center channel volume for better balance 2018-03-13 18:52:00 +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 Finally fixed tape trap auto loading/stopping routines 2018-03-13 20:31:13 +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