diff --git a/src/glue.prorwts2.lc2.a b/src/glue.prorwts2.lc2.a index e9cf11c4b..6d7d5ccbd 100644 --- a/src/glue.prorwts2.lc2.a +++ b/src/glue.prorwts2.lc2.a @@ -15,7 +15,7 @@ LoadFileAuxInternal !if RELBASE != $2000 { !ifdef PASS2 { } else { ;PASS2 - !if * != $DAF3 { + !if * != $DAFD { !error "LoadFileDirect=",*, ", adjust !if and fix Berzap" } } diff --git a/src/prelaunch/berzap.a b/src/prelaunch/berzap.a index bb1443984..a0cccd8e2 100644 --- a/src/prelaunch/berzap.a +++ b/src/prelaunch/berzap.a @@ -36,7 +36,7 @@ callback2 pha lda #berzap_mb - jsr $DAF3 ; ahem, LoadFileDirect + jsr $DAFD ; ahem, LoadFileDirect pla sta $D403 pla diff --git a/src/prodos.impl.lc2.a b/src/prodos.impl.lc2.a index 5d6b60e91..3edab832a 100644 --- a/src/prodos.impl.lc2.a +++ b/src/prodos.impl.lc2.a @@ -214,7 +214,7 @@ ProDOS_enter sta sizelo jsr hddopendir stx blkidx - beq @jmp_zp ;always + beq @link_jmpzp ;always resetval=$f0 @imp_seek @@ -226,7 +226,14 @@ resetval=$f0 stx reqcmd jsr @reset ldx sizelo - beq @seek64 + bne @seek64 + cmp ldrhi + bcc @seek64 + bne @seek32 + ldx ldrlo + beq @seek32 + +@seek64 sta sizehi sta sizelo jsr @seekreset @@ -234,7 +241,7 @@ resetval=$f0 sbc #resetval sta ldrhi -@seek64 +@seek32 lda ldrhi sta sizehi lda ldrlo @@ -244,6 +251,7 @@ resetval=$f0 ora ldrlo bne @jmp_zp dec blkidx +@link_jmpzp beq @jmp_zp ;always @seekreset