Can't call wait in LC RAM area.
This commit is contained in:
parent
08380799eb
commit
1c045eac93
|
@ -217,12 +217,12 @@ PIVDCNT: DB 0
|
|||
;* FIXUP TABLE
|
||||
;*
|
||||
IFIXUPTBL:
|
||||
DW FIXUP1+1
|
||||
DW FIXUP2+1
|
||||
DW FIXUP3+1
|
||||
SFIXUPTBL:
|
||||
DW FIXUP4+1
|
||||
SFIXUPTBL:
|
||||
DW FIXUP5+1
|
||||
DW FIXUP6+1
|
||||
DRVRELOC:
|
||||
;*
|
||||
;* PRODOS INTELLIGENT DEVICE ENTRYPOINT (OVERWRITE CLOCK DRIVER)
|
||||
|
@ -235,7 +235,7 @@ DOCMD: LDA PDUNIT
|
|||
ASL
|
||||
ORA #$A0
|
||||
PHP
|
||||
FIXUP4: STA PAD0
|
||||
FIXUP5: STA PAD0
|
||||
SEI
|
||||
JSR SENDACC
|
||||
LDA PDBLKL
|
||||
|
@ -245,7 +245,7 @@ FIXUP4: STA PAD0
|
|||
CHKACK: JSR RECVACC
|
||||
TAX
|
||||
DEX
|
||||
FIXUP5: CPX PAD0
|
||||
FIXUP6: CPX PAD0
|
||||
BNE CHKACK
|
||||
LDY PDCMD
|
||||
BEQ STATUS
|
||||
|
@ -287,20 +287,25 @@ WRBLK: LDA (PDBUFF),Y
|
|||
;* ACIA I/O ROUTINES
|
||||
;*
|
||||
SENDACC:
|
||||
FIXUP1: STA ACIADR
|
||||
TXA
|
||||
PHA
|
||||
LDA #$10
|
||||
JSR WAIT
|
||||
PLA
|
||||
TAX
|
||||
FIXUP2: STA ACIADR
|
||||
LDA #$FF
|
||||
SEC
|
||||
;SNDWT1: PHA
|
||||
SNDWT2: SBC #$01
|
||||
NOP
|
||||
NOP
|
||||
NOP
|
||||
BNE SNDWT2
|
||||
; PLA
|
||||
; SBC #$01
|
||||
; BNE SNDWT1
|
||||
RTS
|
||||
RECVACC:
|
||||
FIXUP2:
|
||||
FIXUP3:
|
||||
RECVWT: LDA ACIASR
|
||||
AND #$08
|
||||
BEQ RECVWT
|
||||
FIXUP3: LDA ACIADR
|
||||
FIXUP4: LDA ACIADR
|
||||
RTS
|
||||
.ASSERT * - DOCMD <= DRVRLEN, error, "Driver too big"
|
||||
.OUT .SPRINTF("Driver size %i", * - DOCMD)
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue