mirror of
https://github.com/a2-4am/4cade.git
synced 2025-02-09 02:31:05 +00:00
support Jungle Hunt
This commit is contained in:
parent
a130581c17
commit
3ca6a4bdbc
@ -286,6 +286,7 @@ ProDOS_enter
|
||||
} else { ;PASS2
|
||||
!set PASS2=1
|
||||
}
|
||||
jsr @swap_zp
|
||||
pla
|
||||
sta @fetchaddr+1
|
||||
pla
|
||||
@ -304,12 +305,6 @@ ProDOS_enter
|
||||
pha
|
||||
tya
|
||||
pha
|
||||
ldx #(last_zp - first_zp) - 1
|
||||
@save_zp
|
||||
lda first_zp,x
|
||||
pha
|
||||
dex
|
||||
bpl @save_zp
|
||||
@request
|
||||
lda #$d1
|
||||
cmp #$c4
|
||||
@ -399,11 +394,9 @@ ProDOS_enter
|
||||
sta sizehi
|
||||
sta sizelo
|
||||
jsr hddopendir
|
||||
ldx encbufpatch1+1
|
||||
inx
|
||||
stx @block_index2+2
|
||||
lda #0
|
||||
beq @block_index2 ;always
|
||||
sta blkidx
|
||||
beq @jmp_zp ;always
|
||||
|
||||
@imp_seek
|
||||
lda #cmdseek
|
||||
@ -423,18 +416,8 @@ ProDOS_enter
|
||||
lda ldrlo
|
||||
sta sizelo
|
||||
@set_blocks
|
||||
ldx encbufpatch1+1
|
||||
inx
|
||||
stx @block_index1+2
|
||||
stx @block_index2+2
|
||||
@block_index1
|
||||
lda $d1ff
|
||||
sta blkidx
|
||||
clc ;not a subdirectory
|
||||
jsr hddrdwrpart
|
||||
lda blkidx
|
||||
@block_index2
|
||||
sta $d1ff
|
||||
@jmp_zp
|
||||
jmp @restore_zp
|
||||
|
||||
@imp_close
|
||||
@ -496,13 +479,19 @@ ProDOS_enter
|
||||
sta $1,x
|
||||
rts
|
||||
|
||||
@restore_zp
|
||||
ldx #(last_zp - first_zp) - 1
|
||||
@store_zp
|
||||
pla
|
||||
sta first_zp,x
|
||||
@swap_zp
|
||||
ldx #last_zp-first_zp
|
||||
@save_zp
|
||||
lda first_zp,x
|
||||
ldy @saved_zp,x
|
||||
sta @saved_zp,x
|
||||
sty first_zp,x
|
||||
dex
|
||||
bpl @store_zp
|
||||
bpl @save_zp
|
||||
rts
|
||||
|
||||
@restore_zp
|
||||
jsr @swap_zp
|
||||
pla ;saved inside ProDOS_enter
|
||||
tay
|
||||
pla
|
||||
@ -513,3 +502,6 @@ ProDOS_enter
|
||||
|
||||
@handle
|
||||
!byte 0, 0 ;only up to two handles at a time
|
||||
|
||||
@saved_zp
|
||||
!fill (last_zp - first_zp) + 1
|
||||
|
@ -196,7 +196,7 @@ ver_02 = 1
|
||||
SETAUXZP = $c009
|
||||
|
||||
first_zp = $40 ;lowest address to save if swap_zp enabled
|
||||
last_zp = $60 ;highest address to save if swap_zp enabled (max 127 entries later)
|
||||
last_zp = $5f ;highest address to save if swap_zp enabled (max 127 entries later)
|
||||
|
||||
D1S1 = 1 ;disk 1 side 1 volume ID if rwts_mode enabled
|
||||
|
||||
@ -941,11 +941,16 @@ foundname iny
|
||||
|
||||
rdwrfile
|
||||
unrdrvon2 = unrelocdsk + (* - reloc)
|
||||
lda MOTORON
|
||||
lda MOTORON
|
||||
!if allow_subdir = 1 {
|
||||
clc
|
||||
} ;allow_subdir
|
||||
|
||||
!if no_interrupts = 1 {
|
||||
!if detect_err = 1 {
|
||||
!if allow_subdir = 0 {
|
||||
clc
|
||||
} ;allow_subdir
|
||||
} ;detect_err
|
||||
php
|
||||
sei
|
||||
@ -1069,6 +1074,9 @@ unrdrvon3 = unrelocdsk + (* - reloc)
|
||||
sbc sizehi
|
||||
sta sizehi
|
||||
ora sizelo
|
||||
!if allow_subdir = 1 {
|
||||
clc
|
||||
} ;allow_subdir
|
||||
bne rdwrfilei
|
||||
!if allow_aux = 0 {
|
||||
unrdrvoff3 = unrelocdsk + (* - reloc)
|
||||
@ -2259,15 +2267,21 @@ attribpatch
|
||||
|
||||
!if allow_subdir = 1 {
|
||||
plp
|
||||
!byte $24 ;mask the clc that follows
|
||||
} ;allow_subdir
|
||||
++
|
||||
} ;rwts_mode
|
||||
|
||||
hddrdfile
|
||||
hddrdwrfile
|
||||
!if allow_subdir = 1 {
|
||||
clc
|
||||
} ;allow_subdir
|
||||
!if no_interrupts = 1 {
|
||||
!if detect_err = 1 {
|
||||
!if allow_subdir = 0 {
|
||||
clc
|
||||
} ;allow_subdir
|
||||
} ;detect_err
|
||||
php
|
||||
sei
|
||||
@ -2398,7 +2412,16 @@ encbufpatch1
|
||||
sbc sizehi
|
||||
sta sizehi
|
||||
ora sizelo
|
||||
!if allow_subdir = 1 {
|
||||
!if no_interrupts = 1 {
|
||||
clc
|
||||
bne hddrdwrfilei
|
||||
} else { ;no_interrupts = 0
|
||||
bne hddrdwrfile
|
||||
} ;no_interrupts
|
||||
} else { ;allow_subdir = 0
|
||||
bne hddrdwrfilei
|
||||
} ;allow_subdir
|
||||
!if allow_aux = 0 {
|
||||
rts
|
||||
} else { ;allow_aux
|
||||
|
Loading…
x
Reference in New Issue
Block a user