mirror of
https://github.com/mgcaret/rom4x.git
synced 2024-06-02 21:41:44 +00:00
Rework card clear to avoid stack ops
This commit is contained in:
parent
d2b79dc4bb
commit
63ca071737
|
@ -175,36 +175,33 @@ recovdn rts
|
||||||
; zero ram card space
|
; zero ram card space
|
||||||
rdclear jsr rdinit ; init ramcard
|
rdclear jsr rdinit ; init ramcard
|
||||||
jsr testsize ; get size
|
jsr testsize ; get size
|
||||||
|
lda numbanks,y ; # of 64Ks to write
|
||||||
|
beq clrdone ; no memory
|
||||||
lda #$c0 ; 'A' - 1
|
lda #$c0 ; 'A' - 1
|
||||||
sta $400 ; upper left corner
|
sta $400 ; upper left corner
|
||||||
lda #$00 ; we are going to write this everywhere
|
stz addrl,x ; slinky address 0
|
||||||
sta addrl,x ; slinky address 0
|
stz addrm,x
|
||||||
sta addrm,x
|
stz addrh,x
|
||||||
sta addrh,x
|
clbnklp inc $400 ; poor mans progress meter
|
||||||
ldx numbanks,y ; # of 64Ks to write
|
|
||||||
beq clrdone ; no memory
|
|
||||||
clbnklp phx ; wish the 65xx had more registers
|
|
||||||
inc $400 ; poor mans progress meter
|
|
||||||
ldy #$00
|
ldy #$00
|
||||||
cl64klp ldx #$00 ; loop for all pages in bank
|
cl64klp ldx #$00 ; loop for all pages in bank
|
||||||
cl256lp phx ; loop for all bytes in page
|
cl256lp txa ; loop for all bytes in page
|
||||||
ldx #rx_devno ; more registers, please!
|
ldx #rx_devno
|
||||||
sta data,x ; write a zero to card
|
stz data,x ; write a zero to card
|
||||||
plx
|
tax
|
||||||
dex
|
dex
|
||||||
bne cl256lp
|
bne cl256lp ; 256 byte loop
|
||||||
dey
|
dey
|
||||||
bne cl64klp
|
bne cl64klp ; 64K loop
|
||||||
plx
|
ldx #rx_mslot
|
||||||
dex
|
dec numbanks,x
|
||||||
bne clbnklp
|
bne clbnklp ; if more banks
|
||||||
clrdone ldy #rx_mslot
|
clrdone ldx #rx_mslot
|
||||||
sta pwrup,y ; zero screen holes
|
stz pwrup,x ; zero powerup byte
|
||||||
sta numbanks,y
|
|
||||||
lda #$a0 ; ' '
|
lda #$a0 ; ' '
|
||||||
sta $400 ; clear progress
|
sta $400 ; clear progress
|
||||||
rts
|
rts
|
||||||
rdinit bit rx_mslot *$100 ; activate registers
|
rdinit bit rx_mslot*$100 ; activate registers
|
||||||
ldy #rx_mslot ; slot offset
|
ldy #rx_mslot ; slot offset
|
||||||
ldx #rx_devno ; register offset
|
ldx #rx_devno ; register offset
|
||||||
rts
|
rts
|
||||||
|
|
Loading…
Reference in New Issue
Block a user