add patchers/a5count for Houghton Mifflin disks, fix potential infinite loop in patchers/border

This commit is contained in:
4am 2017-01-11 17:50:05 -05:00
parent ca64133897
commit 07ad5e403d
4 changed files with 36 additions and 3 deletions

View File

@ -701,6 +701,7 @@ _applyToAll
!source "patchers/universale7.a"
!source "patchers/runhello.a"
!source "patchers/a6bc95.a"
!source "patchers/a5count.a"
!source "patchers/d5d5f7.a"
!source "patchers/prodosrwts.a"
!source "patchers/prodosmecc.a"

28
src/patchers/a5count.a Normal file
View File

@ -0,0 +1,28 @@
;-------------------------------
; #A5COUNT
; nibble count between $A5 and
; address prologue
; e.g. Game Frame One, Game Frame Two
;-------------------------------
_a5count
lda gIsPascal ; only ever seen this protection
bne a5count_exit ; on Pascal disks
ldy #$0A
jsr SearchTrack
!byte $07,$E6,$02,$D0,$03,$4C,$A5,$00
!byte $C9,$A5
bcs a5count_exit
sta gDisplayBytes
pha
lda #s_a5count
jsr PrintByID
txa
clc
adc #$08
tax
pla
ldy #$02
jsr modify
!byte $D0,$7B
a5count_exit

View File

@ -8,9 +8,9 @@
;-------------------------------
_border
lda gIsBoot0 ; if DOS 3.3 boot0 loader
bne rwtsswap_exit
bne border_exit
lda gIsBoot1 ; and DOS 3.3 boot1 loader
bne rwtsswap_exit
bne border_exit
lda #$08
ldx #$5A
ldy #$0A

View File

@ -82,7 +82,8 @@ s_encoded44 = $3F
s_encoded53 = $40
s_specdel = $41
s_bytrack = $42
STRINGCOUNT = $43
s_a5count = $43
STRINGCOUNT = $44
StringTable
!word header
@ -152,6 +153,7 @@ StringTable
!word encoded53
!word specdel
!word bytrack
!word a5count
;
; Text can contain substitution strings, which
; are replaced by current values at runtime. Each
@ -396,3 +398,5 @@ specdel
!text "T00,S00 Found DOS 3.3P bootloader",$8D,00
bytrack
!text "T%t,S%0 RWTS changes based on track",$8D,$00
a5count
!text "T%t,S%0 Found A5 nibble count",$8D,$00