mirror of
https://github.com/tjboldt/Apple2-IO-RPi.git
synced 2024-09-27 11:57:44 +00:00
Add assembly of clock driver
This commit is contained in:
parent
c07dcdd52e
commit
4fd6b7b91e
48
Apple2/Clock.Driver.asm
Normal file
48
Apple2/Clock.Driver.asm
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
enableWriteLang = $C088
|
||||||
|
disableWriteLang = $C082
|
||||||
|
|
||||||
|
prodosJump = $BF06
|
||||||
|
prodosClockCode = $BF07
|
||||||
|
prodosMachineId = $BF98
|
||||||
|
|
||||||
|
; Find Apple2-IO-RPi card
|
||||||
|
|
||||||
|
; Change driver code to point to the card
|
||||||
|
|
||||||
|
; Change destination to be ProDOS clock code location
|
||||||
|
lda prodosClockCode
|
||||||
|
sta DriverDestination+1
|
||||||
|
lda prodosClockCode+1
|
||||||
|
sta DriverDestination+2
|
||||||
|
|
||||||
|
; Changing RTS to JMP enables clock driver
|
||||||
|
lda #$4C ; jump instruction
|
||||||
|
sta prodosJump
|
||||||
|
|
||||||
|
; Enable writing to language card RAM
|
||||||
|
; by triggering switch twice
|
||||||
|
lda enableWriteLang
|
||||||
|
lda enableWriteLang
|
||||||
|
|
||||||
|
; write driver code to language card RAM
|
||||||
|
WriteDriver:
|
||||||
|
ldy #EndDriver-Driver+1
|
||||||
|
lda Driver,y
|
||||||
|
DriverDestination:
|
||||||
|
sta $D000,y ; this address gets modified above
|
||||||
|
dey
|
||||||
|
bne WriteDriver
|
||||||
|
|
||||||
|
; Disable writing to language card RAM
|
||||||
|
lda disableWriteLang
|
||||||
|
|
||||||
|
; Update ProDOS Machine ID to mark clock as enabled
|
||||||
|
lda prodosMachineId
|
||||||
|
ora #$01
|
||||||
|
sta prodosMachineId
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
Driver:
|
||||||
|
EndDriver:
|
||||||
|
rts
|
@ -88,7 +88,12 @@ ca65 RPi.Command.asm -D HW_TYPE=%HW_TYPE% -o RPi.Command.o --listing RPi.Command
|
|||||||
ld65 RPi.Command.o -o RPi.Command.bin -C ../.cicd/none.cfg
|
ld65 RPi.Command.o -o RPi.Command.bin -C ../.cicd/none.cfg
|
||||||
@if errorlevel 1 goto exit
|
@if errorlevel 1 goto exit
|
||||||
|
|
||||||
del *.o
|
ca65 Clock.Driver.asm -D HW_TYPE=%HW_TYPE% -o Clock.Driver.o --listing Clock.Driver.lst
|
||||||
|
@if errorlevel 1 goto exit
|
||||||
|
ld65 Clock.Driver.o -o Clock.Driver.bin -C ../.cicd/none.cfg
|
||||||
|
@if errorlevel 1 goto exit
|
||||||
|
|
||||||
|
cdel *.o
|
||||||
del DriveFirmware.bin
|
del DriveFirmware.bin
|
||||||
del MenuFirmware.bin
|
del MenuFirmware.bin
|
||||||
del CommandFirmware.bin
|
del CommandFirmware.bin
|
||||||
|
@ -51,6 +51,9 @@ ld65 Shell.o -o ../RaspberryPi/driveimage/Shell.bin -C ../.cicd/none.cfg || exi
|
|||||||
ca65 RPi.Command.asm -D HW_TYPE=$HW_TYPE -o RPi.Command.o --listing RPi.Command.lst || exit 1
|
ca65 RPi.Command.asm -D HW_TYPE=$HW_TYPE -o RPi.Command.o --listing RPi.Command.lst || exit 1
|
||||||
ld65 RPi.Command.o -o ../RaspberryPi/driveimage/RPi.Command.bin -C ../.cicd/none.cfg || exit 1
|
ld65 RPi.Command.o -o ../RaspberryPi/driveimage/RPi.Command.bin -C ../.cicd/none.cfg || exit 1
|
||||||
|
|
||||||
|
ca65 Clock.Driver.asm -D HW_TYPE=$HW_TYPE -o Clock.Driver.o --listing Clock.Driver.lst || exit 1
|
||||||
|
ld65 Clock.Driver.o -o ../RaspberryPi/driveimage/Clock.Driver.bin -C ../.cicd/none.cfg || exit 1
|
||||||
|
|
||||||
rm ./*.o
|
rm ./*.o
|
||||||
rm DriveFirmware.bin
|
rm DriveFirmware.bin
|
||||||
rm MenuFirmware.bin
|
rm MenuFirmware.bin
|
||||||
|
Loading…
Reference in New Issue
Block a user