diff --git a/src/modify.a b/src/modify.a index b844c10..92dd269 100755 --- a/src/modify.a +++ b/src/modify.a @@ -11,7 +11,8 @@ ; stack set to return to ; code after string ; all registers clobbered -; all flags clobbered +; oVerflow bit clear +; all other flags clobbered ;------------------------------- !zone { modify @@ -70,5 +71,6 @@ modify .exit inc gPatchCount .exitnomod + clv rts } diff --git a/src/patchers/ssprot.a b/src/patchers/ssprot.a index b7f3554..4070d10 100644 --- a/src/patchers/ssprot.a +++ b/src/patchers/ssprot.a @@ -12,6 +12,8 @@ ; Spanish Grammar Review - Familiar and Formal Commands in the Affirmative and Negative (1984, Gessler) ; Spanish Grammar Review - Por vs. Para (1984, Gessler) ; Water in the Air Quiz (1985, EME) +; Comic Strip Maker (1986, Walt Disney) +; Wortgefecht (Word Attack German) (1984, Gessler) ;------------------------------- !zone { lda gIsF7F6 @@ -37,14 +39,23 @@ !byte $F0,$03 ; BEQ +3 !byte $4C,$16,$08 ; JMP $0816 bcs .nextsector + ldx #$76 ldy #$03 jsr compare !byte $23,$2A,$28 - bcs .nextsector + bcc .variant1 + + ldy #$03 + jsr compare + !byte $70,$79,$77 lda .sector+1 ldx #$20 ldy #$03 + bcc .variant2 + bcs .nextsector + +.variant1 jsr modify !byte $EA ; NOP !byte $A9,$35 ; LDA #$35 @@ -53,6 +64,20 @@ ldy #$02 jsr modify !byte $AA,$A2 ; new JMP entry point ($0900 when decrypted) + bvc .nextsector ; always branches + +.variant2 + jsr modify + !byte $EA ; NOP + !byte $A9,$27 ; LDA #$27 + lda .sector+1 + ldx #$76 + ldy #$02 + jsr modify ; new JMP entry point ($0903 when decrypted) + !byte $FA,$F2 + +; note: execution falls through here + .nextsector dec .sector+1 bpl .sector