Can't call wait in LC RAM area.

This commit is contained in:
David Schmenk 2023-04-02 18:02:05 -07:00
parent 08380799eb
commit 1c045eac93
2 changed files with 23 additions and 18 deletions

View File

@ -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.