prodos-drivers/clocks/jumbo/clock.system.s
Joshua Bell f2ea11fcde Add "jumbo" clock driver, an amalgamation of the others
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.
2022-11-26 20:29:38 -08:00

76 lines
1.8 KiB
ArmAsm

;;; "Jumbo" Clock Driver
;;;
;;; Pulls in several clock drivers sources and tries each one in sequence.
;;;
JUMBO_CLOCK_DRIVER = 1
.setcpu "6502"
.linecont +
.feature string_escapes
.include "apple2.inc"
.include "apple2.mac"
.include "opcodes.inc"
.include "../../inc/apple2.inc"
.include "../../inc/macros.inc"
.include "../../inc/prodos.inc"
.include "../../inc/ascii.inc"
;;; ************************************************************
.include "../../inc/driver_preamble.inc"
;;; ************************************************************
.scope ns_clock
.include "../ns.clock/ns.clock.system.s"
.endscope
.scope romx
.include "../romx/romxrtc.system.s"
.endscope
.scope dclock
.include "../dclock/dclock.system.s"
.endscope
.scope fujinet
.include "../fujinet/fn.clock.system.s"
.endscope
.scope cricket
.include "../cricket/cricket.system.s"
.endscope
;;; ============================================================
;;;
;;; Driver Installer
;;;
;;; ============================================================
.define PRODUCT "Jumbo Clock Driver"
.proc maybe_install_driver
lda MACHID
and #$01 ; existing clock card?
bne ret
jsr ns_clock::maybe_install_driver
bcc ret
jsr romx::maybe_install_driver
bcc ret
jsr dclock::maybe_install_driver
bcc ret
jsr fujinet::maybe_install_driver
bcc ret
jsr cricket::maybe_install_driver
bcc ret
ret: rts
.endproc
;;; ************************************************************
.include "../../inc/driver_postamble.inc"
;;; ************************************************************