* The Cricket!: fix hang on Total Replay
The Cricket reset command sends Total Replay into an endless loop when launched, presumably because of an interrupt situation (TR just does RTI on an interrupt). Toggling the COMMAND and CONTROL settings seems to allow TR to function properly, while also allowing the Cricket initialization code to silence any playing notes.
* The Cricket!: Reset Cricket before probing
Finds the Cricket every single time this way. Occasionally the driver would miss finding it due to it being in a wait state. Sending a reset first fixes that.
* The Cricket!: make sure registers are toggled for TR
This stops any active music playback, which is handy if you did a warm
boot in the middle of playback, and your The Cricket! is stuck playing
the same note constantly but you don't want to power-cycle the device
which will unset the RTC.
c/o @frankmilliron
... and don't bother saving/restoring registers during install,
as this will only follow a boot or OS restart.
Suggested by @frankmilliron
Also inhibit interrupts in the SET.XXX utilities for good measure.
* Replace BCD->Binary with smaller routine
* Replace most absolute use of $200-7 with stack
* Remove unneeded sentinel byte at end of unlock sequence
Leaves 9 bytes free in driver.
The NSC driver installer starts off by checking each slot, bit-banging
into the card's memory space to try and detect an NSC installed. If a
Z80 card is encountered before the NSC is hit, the Z80 card is
activated, causing the 6502 to halt.
Borrow the Z80 detection routine from A2D's This Apple and verify that
there isn't a Z80 in the slot before we start bit-banging.
Fixes#15
When a SmartPort device was found that wasn't the FujiNet, the search
continuation used the wrong offset to get the high byte of the slot
address.
Also, fix the "jumbo" clock driver's Makefile to ensure it is rebuilt
when dependencies change.
This one driver pulls in the installers for each other clock driver,
and invokes each in turn:
* No-Slot Clock
* ROMX
* FujiNet
* DClock
* Cricket!
This requires adding `.ifndef JUMBO` guards in the other drivers for
when they pull in include files (symbols, macros, etc). The other
drivers are adjusted to return with carry clear on successful install,
failure otherwise.