Add assembly of clock driver
This commit is contained in:
parent
c07dcdd52e
commit
4fd6b7b91e
|
@ -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
|
||||
@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 MenuFirmware.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
|
||||
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 DriveFirmware.bin
|
||||
rm MenuFirmware.bin
|
||||
|
|
Loading…
Reference in New Issue