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
@@ -10,6 +10,8 @@
|
||||
; Same as the 'c64' configuration, except:
|
||||
; - the banner names mc64
|
||||
; - BCD_SAFE_INTERRUPTS is off, for IRQ entry timing closer to the original
|
||||
; - ARNITECH_CONTROLLER: IOINIT sets CIA1's TOD on 50 Hz and from the Arnitech controller's clock,
|
||||
; and the Arnitech jump table is at $FF00 (src/kernal/arnitech)
|
||||
|
||||
|
||||
|
||||
@@ -103,6 +105,7 @@
|
||||
;; #CONFIG# TAPE_WEDGE NO
|
||||
;; #CONFIG# TAPE_HEAD_ALIGN NO
|
||||
;; #CONFIG# BCD_SAFE_INTERRUPTS NO
|
||||
;; #CONFIG# ARNITECH_CONTROLLER YES
|
||||
|
||||
|
||||
; --- BASIC features
|
||||
|
||||
Reference in new issue
Block a user