From 98107fcb6252f52a62cf70fe3d0749d3109d37fb Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 27 Jan 2023 21:30:55 -0500 Subject: [PATCH] add support for nonstandard epilogues in SIGCHECK [fixes Water Pollution] --- src/patchers/sigcheck.a | 31 ++++++++++++++++++++++++++++--- src/strings/en.a | 2 +- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/patchers/sigcheck.a b/src/patchers/sigcheck.a index 117fe52..b360442 100644 --- a/src/patchers/sigcheck.a +++ b/src/patchers/sigcheck.a @@ -12,15 +12,40 @@ ; - Conjecture (Robert Scott) ;------------------------------- lda gIsBoot0 - bne + + bne @exit ldy #$05 jsr SearchTrack !byte $BD,$80,$C0; LDA $C080,X !byte $18 ; CLC !byte $68 ; PLA - bcs + ; passport-test-suite/Advanced Electricity.woz [C=0] matches + bcs @exit ; passport-test-suite/Advanced Electricity.woz [C=0] matches inx inx jsr modify1 !byte $D0 ; change indexed softswitch address so it does nothing -+ + ; now search for non-standard RWTS parameters + ; conveniently listed at beginning of SIGCHECK routine + ldy #$0C + jsr SearchTrack + !byte $D5,$AA,$96 + !byte WILDCARD,WILDCARD + !byte $D5,$AA,$AD + !byte WILDCARD,WILDCARD + !byte $18,$B0 + bcs @exit + jsr + + jmp @exit ++ jsr ++ + inx + inx +++ inx + inx + inx + jsr compare2 + !byte $DE,$AA + bcc +++ + ; passport-test-suite/Water Pollution.woz reaches here + jsr modify2 + !byte $DE,$AA ++++ rts +@exit diff --git a/src/strings/en.a b/src/strings/en.a index 051b901..721d4c4 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -377,7 +377,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a .passport !text "Passport ",$00 .header - !text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-01-18",$00 + !text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-01-27",$00 .bar9 !text "_________",$00 .bar18