mirror of
https://github.com/a2-4am/4cade.git
synced 2024-11-27 08:50:01 +00:00
work around unpatchable CFFA firmware bug
This commit is contained in:
parent
2929be8f2c
commit
f411819870
@ -143,10 +143,10 @@ SUPPORTS_SHR = %00110000
|
|||||||
CHEATS_ENABLED = %00001000
|
CHEATS_ENABLED = %00001000
|
||||||
|
|
||||||
; shared symbols
|
; shared symbols
|
||||||
iProDOS_enter = $D66E
|
iProDOS_enter = $D678
|
||||||
LoadFileDirect = $DAFA
|
LoadFileDirect = $DB01
|
||||||
launchpatch = $D613
|
launchpatch = $D616
|
||||||
iAddToPath = $FEC3
|
iAddToPath = $FEC3
|
||||||
itraverse = $D8D9
|
itraverse = $D8E0
|
||||||
namlo = $57
|
namlo = $57
|
||||||
namhi = $58
|
namhi = $58
|
||||||
|
@ -169,10 +169,7 @@ ProDOS_enter
|
|||||||
lda ldrlo2+1
|
lda ldrlo2+1
|
||||||
sta (ipacket), y
|
sta (ipacket), y
|
||||||
ldy #$13
|
ldy #$13
|
||||||
lda (scratchlo), y
|
jsr fetchscratch
|
||||||
tax
|
|
||||||
iny
|
|
||||||
lda (scratchlo), y
|
|
||||||
ldy #9
|
ldy #9
|
||||||
sta (ipacket), y
|
sta (ipacket), y
|
||||||
txa
|
txa
|
||||||
|
@ -1037,32 +1037,20 @@ foundname iny
|
|||||||
|
|
||||||
!if override_adr = 0 {
|
!if override_adr = 0 {
|
||||||
ldy #AUX_TYPE
|
ldy #AUX_TYPE
|
||||||
lda (scratchlo), y
|
jsr fetchscratch
|
||||||
!if (allow_subdir + allow_saplings + allow_trees + (aligned_read xor 1)) > 0 {
|
stx ldrlo
|
||||||
sta ldrlo
|
|
||||||
iny
|
|
||||||
lda (scratchlo), y
|
|
||||||
sta ldrhi
|
sta ldrhi
|
||||||
} else { ;allow_subdir = 0 and allow_saplings = 0 and allow_trees = 0 and aligned_read = 1
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (scratchlo), y
|
|
||||||
pha
|
|
||||||
} ;allow_subdir = 1 or allow_saplings = 1 or allow_trees = 1 or aligned_read = 0
|
|
||||||
} ;override_adr = 0
|
} ;override_adr = 0
|
||||||
|
|
||||||
;cache KEY_POINTER
|
;cache KEY_POINTER
|
||||||
|
|
||||||
ldy #KEY_POINTER
|
ldy #KEY_POINTER
|
||||||
lda (scratchlo), y
|
jsr fetchscratch
|
||||||
tax
|
|
||||||
!if (allow_subdir + allow_saplings + allow_trees) > 0 {
|
!if (allow_subdir + allow_saplings + allow_trees) > 0 {
|
||||||
sta dirbuf
|
stx dirbuf
|
||||||
!if (allow_trees + (fast_trees xor 1)) > 1 {
|
!if (allow_trees + (fast_trees xor 1)) > 1 {
|
||||||
sta treeblklo
|
stx treeblklo
|
||||||
} ;allow_trees = 1 and fast_trees = 0
|
} ;allow_trees = 1 and fast_trees = 0
|
||||||
iny
|
|
||||||
lda (scratchlo), y
|
|
||||||
sta dirbuf + 256
|
sta dirbuf + 256
|
||||||
!if (allow_trees + (fast_trees xor 1)) > 1 {
|
!if (allow_trees + (fast_trees xor 1)) > 1 {
|
||||||
sta treeblkhi
|
sta treeblkhi
|
||||||
@ -3237,8 +3225,11 @@ hddwriteimm lda adrhi ;for Trackstar support
|
|||||||
jsr saveslot
|
jsr saveslot
|
||||||
} ;swap_scrn = 1
|
} ;swap_scrn = 1
|
||||||
|
|
||||||
|
php
|
||||||
|
sei
|
||||||
unrentry = unrelochdd + (* - reloc)
|
unrentry = unrelochdd + (* - reloc)
|
||||||
jsr $d1d1
|
jsr $d1d1
|
||||||
|
plp
|
||||||
!if use_smartport = 1 {
|
!if use_smartport = 1 {
|
||||||
unrpcommand = unrelochdd + (* - reloc)
|
unrpcommand = unrelochdd + (* - reloc)
|
||||||
pcommand !byte $2c ;hide packet in non-SmartPort mode
|
pcommand !byte $2c ;hide packet in non-SmartPort mode
|
||||||
@ -3283,6 +3274,13 @@ initpatch lda ($48), y
|
|||||||
} ;swap_scrn = 1
|
} ;swap_scrn = 1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
fetchscratch
|
||||||
|
lda (scratchlo), y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
lda (scratchlo), y
|
||||||
|
rts
|
||||||
|
|
||||||
!if use_smartport = 1 {
|
!if use_smartport = 1 {
|
||||||
unrpacket = unrelochdd + (* - reloc)
|
unrpacket = unrelochdd + (* - reloc)
|
||||||
packet !byte 3
|
packet !byte 3
|
||||||
|
Loading…
Reference in New Issue
Block a user