Arnitech controller: the TOD set at boot, and a jump table at $FF00
A new option, ARNITECH_CONTROLLER, on in the mc64 configuration only. IOINIT starts timer A with CIA #1's TOD on 50 Hz, the mc64's mains, and if the Arnitech controller's signature "ARNI" is at $DE80, latches its clock and copies its real time into the TOD, hours first and tenths last, flipping bit 7 of an hour of 12 first, since the CIA flips it back when 12 is written. Without the signature the TOD is left alone. The Arnitech jump table at $FF00: "ARNI", version $01, two entries, and JMPs from $FF06: $FF06 finds the first Card slot holding a Card of the type in A (carry clear, the slot in A, its Card window's low byte in X; carry set if none or no controller), $FF09 sets the TOD as IOINIT does. $FF48-$FF80 stay clear. The code is in new files under src/kernal/arnitech; other configurations build as before.
This commit is contained in:
1 parent
0ec343a727
commit
03e2d4a4b8
8 files changed
+208
No files matched your search
@@ -289,6 +289,12 @@ On the most widespread CPUs the D flag is not cleared upon entering interrupts.
|
||||
|
||||
Feature needs 2 bytes in KERNAL segmment (for CPUs needing the patch), but at the same time allows optimizations allowing to gain some more bytes. If unsure - enable.
|
||||
|
||||
### `ARNITECH_CONTROLLER`
|
||||
|
||||
For the mc64 computers of arnitech only, whose expansion port holds the Arnitech controller at `$DE80`. IOINIT puts CIA #1's TOD on 50 Hz and, if the controller's signature `"ARNI"` is at `$DE80`, sets the TOD from the controller's clock. The Arnitech jump table at `$FF00` (`src/kernal/arnitech/ff00.arnitech_jumptable.s`) wraps the controller's registers.
|
||||
|
||||
Feature needs about 120 bytes in KERNAL segment, and the page at `$FF00`. Disable on any other machine.
|
||||
|
||||
## Eye candy
|
||||
|
||||
### `COLORS_BRAND`
|
||||
|
||||
Reference in new issue
Block a user