Changes:
- Add a drop-down menu to the 'Advanced' tab that lets the user select a dongle in use
- Add a new file "CopyProtectionDongles.cpp" that is a place to put drivers for these.
- Add a driver for the one known dongle we have now - Speed Star
- Modify Joystick.cpp to allow PB0-PB2 to be "pushed" by the protection dongle.
. In 2x windowed mode: always show slot 5 Disk II LEDs.
. Add tooltips for slot 5/6 track/sector info (d1 & d2) - shows dec/hex & fractional track position.
- but this track/sector info is now on a UI toggle in the Config -> Disk tab.
. Debugger: add 'DISK SLOT n' - to set current slot of Disk II card
- ie. support 'DISK INFO' for slot 5
. so that a diskii card can be re-inserted into an empty slot 6
Improve command line for slots 5&6: -sN diskii and -sN diskii13
. on a restart (or change of config), if that diskii card is already in the slot then ignore
. ie. don't lose the image(s) across a restart
. Fix regression when switched to using correct primary AY8913 (regressed at 1.30.10 and 1.30.11)
. Specifically fixes AppleWin-Test: phasor-fugue.aws.yaml
. NB. bumps Mockingingboard version in save-state to v8
Use FindTrackSeamWOZ() to find longest run of sync FF/10 nibbles.
Jitter added:
. only for tracks 33.0 and above
. only for tracks with long runs of sync FF/10 of more than 110
Changes:
. DumpTrackWOZ() outputs nibble then zeros (instead of zeros first)
. Debugger: 'disk info' outputs bitOffset (instead of byteOffset+mask)
. try CurrentDir first, only if this fails then try AppleWin's ProgramDir.
Also: defer DebugInitialize() until later so it can take advantage of -current-dir command line switch.
Reason: calling SetVolume() in Play() is too early, and the previous phoneme won't have completed.
Getting the timing right will be difficult, so better to just manipulate the samples as they get written to the playback buffer.
When the debugger is active (eg. breakpoints enabled) then trap on HDD r/w's that match the BPM[R|W].
NB. the breakpoint will fire after the whole HDD r/w operation has completed.
Fix for rare race-condition, where a phoneme could complete immediately before SSI263's interrupt is enabled:
- resulting in A2 code failing to detect SSI263 or speech phrase never completing.
Only ever possible when debugger-stepping or in full-speed mode.