BizHawk/BizHawk.Emulation.Cores/Computers/SinclairSpectrum
Asnivor 9a9b56c69b ZXHawk: Improvements to reset methods 2018-03-20 15:28:23 +00:00
..
Hardware Better volume levels for AY-3-8912 MONO panning configuration 2018-03-19 23:53:06 +00:00
Machine ZXHawk: Improvements to reset methods 2018-03-20 15:28:23 +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 Handling loadstate issues for different machine configurations 2018-03-13 22:09:46 +00:00
ZXSpectrum.IDebuggable.cs z80: make TotalExecutedCycles long and change related variables accordingly 2018-03-18 09:55:56 -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 UI - added Core Emulation Settings menu 2018-03-16 14:33:18 +00: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 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 New AY-3-8912 implementation. Better sounding and more performant 2018-03-15 16:32:26 +00: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