add patcher for Springboard RWTS [fixes The Newsroom, The Chalice of Mostania]

This commit is contained in:
4am 2019-02-08 12:02:47 -05:00
parent 4e1dc2929d
commit 108ccbb2d2
4 changed files with 43 additions and 2 deletions

View File

@ -114,6 +114,7 @@ AnalyzeT00
!source "../patchers/dakin5.a"
!source "../patchers/muserwts.a"
!source "../patchers/artsci.a"
!source "../patchers/springboard.a"
;add only above this line
rts

View File

@ -0,0 +1,35 @@
;-------------------------------
; #SPRINGBOARD
; RWTS checks for timing bit by
; comparing the data latch after
; the last address epilogue
;
; tested on
; - The Newsroom (Springboard)
; - Easy as ABC (Springboard)
; - Early Games for Young Children (Springboard)
; - The Chalice of Mostania (Coastal)
;-------------------------------
!zone {
bit gMode ; nothing to do here in verify-only mode
bpl .exit
lda gIsRWTS ; if DOS 3.3 RWTS
bne .exit
lda #$03
sta gDisplayBytes
ldx #$92
ldy #$07
jsr compare ; and T00,S03,$92 ==
!byte $D0,$AE ; BNE $B942
CMP $C08C,X
!byte $D0,$A9 ; BNE $B942
bcs .exit
lda #s_springboard
jsr PrintByID
lda #$03
ldx #$98
ldy #$01
jsr modify ; then set T00,S03,$98 =
!byte $00 ; branch to next instruction on failure
.exit
}

View File

@ -127,6 +127,7 @@ StringTable
!word .toverify
!word .sector13
!word .dakin5
!word .springboard
;
; Text can contain substitution strings, which
; are replaced by current values at runtime. Each
@ -152,7 +153,7 @@ StringTable
; can be set directly before calling PrintByID.
;
.header
!text "Passport by 4am 2019-02-07",$00
!text "Passport by 4am 2019-02-08",$00
.mainmenu
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
!text " "
@ -468,4 +469,7 @@ StringTable
!text "Switching to verify-only mode",$8D,$00
.sector13
!text "T00,S00 Found 13-sector format",$8D,$00
.springboard
!text "T%t,S%0 RWTS requires a timing bit after"
!text "the address epilogue",$8D,$00
}

View File

@ -113,4 +113,5 @@ s_infocom18 = $6B
s_toverify = $6C
s_13sector = $6D
s_dakin5 = $6E
STRINGCOUNT = $6F
s_springboard =$6F
STRINGCOUNT = $70