From 3ee6fa37bcafa44d6411e64261e84022954a7bdd Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 24 Nov 2017 17:03:48 -0500 Subject: [PATCH] add patchers/dos32muse [fixes Castle Wolfenstein and maybe other DOS 3.2 MUSE titles] --- src/passport.a | 1 + src/patchers/dos32muse.a | 24 ++++++++++++++++++++++++ src/strings/en.a | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/patchers/dos32muse.a diff --git a/src/passport.a b/src/passport.a index ecca708..5292a19 100755 --- a/src/passport.a +++ b/src/passport.a @@ -697,6 +697,7 @@ _applyToAll !source "patchers/advint.a" ; gAdventureInternational only !source "patchers/jsr8635.a" ; gIsRWTS only !source "patchers/dos32jmpb4bb.a" ; T01 && gIsDOS32 only + !source "patchers/dos32muse.a" ; T01 && gIsDOS32 only !source "patchers/sra.a" ; gIsDOS32 or gIsRWTS only lda gPatchCount diff --git a/src/patchers/dos32muse.a b/src/patchers/dos32muse.a new file mode 100644 index 0000000..c66a32e --- /dev/null +++ b/src/patchers/dos32muse.a @@ -0,0 +1,24 @@ +;------------------------------- +; #DOS32MUSE +; $A5D6 jumps to $BFD5 for no good reason +; +; tested on +; Castle Wolfenstein (1981, MUSE) +;------------------------------- +!zone { + lda gIsDOS32 + bne .exit + lda gTrack + cmp #$01 + bne .exit + lda #$08 + ldx #$D6 + ldy #$02 + jsr compare ; if T01,S08,$D6 == + !byte $4C,$D5 + bcs .exit + ldy #$03 + jsr modify ; then set T01,S08,$D6 = + !byte $E8,$D0,$32 +.exit +} diff --git a/src/strings/en.a b/src/strings/en.a index 90b6d9b..fe8529f 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -134,7 +134,7 @@ StringTable ; can be set directly before calling PrintByID. ; .header - !text "Passport by 4am 2017-11-14",$00 + !text "Passport by 4am 2017-11-24",$00 .mainmenu !text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D !text " "