diff --git a/res/dsk/castle smurfenstein PRODOS (san inc pack).po b/res/dsk/castle smurfenstein PRODOS (san inc pack).po index aa8e5e558..9202007b8 100644 Binary files a/res/dsk/castle smurfenstein PRODOS (san inc pack).po and b/res/dsk/castle smurfenstein PRODOS (san inc pack).po differ diff --git a/src/prelaunch/dino.smurf.a b/src/prelaunch/dino.smurf.a index 10665490c..9ffe1948f 100644 --- a/src/prelaunch/dino.smurf.a +++ b/src/prelaunch/dino.smurf.a @@ -16,7 +16,20 @@ beq + lda #$ad sta $1895 ; patch - don't decrease lives -+ +DISABLE_ACCEL + ++ lda ROM_MACHINEID + cmp #$06 + beq ++ + ldy #$2C +- lda $AE4A,Y + cmp #$E1 + bcc + + and #$DF + sta $AE4A,Y ++ dey + bne - + +++ +DISABLE_ACCEL jmp $A892 !if * > $1C0 { diff --git a/src/prelaunch/smurfen.a b/src/prelaunch/smurfen.a index 82f2d0c7c..2d2ad04ce 100644 --- a/src/prelaunch/smurfen.a +++ b/src/prelaunch/smurfen.a @@ -8,7 +8,23 @@ !source "src/prelaunch/common.a" +ENABLE_ACCEL - +USES_TEXT_PAGE_2 + + lda ROM_MACHINEID + cmp #$06 + beq + + + lda #$E9 + sta $36 + lda #$BD + sta $37 + bne ++ + ++ sec + jsr $FE1F ; check for IIgs + bcs ++ + jsr ROM_TEXT2COPY ; set alternate display mode on IIgs (required for some games) +++ + lda #$60 sta $A0B jsr $800 ; find and load "DOS" @@ -20,27 +36,25 @@ callback lda #0 - sta $9E52 - lda #1 - sta $9E53 + stx $9E52 + inx + stx $9E53 - lda #$00 ; intercept BRUN command before + lda #patch sta $A396 - ldx #patchend-patch -- lda patch,x ; The game code has a stack leak and will - sta $0300,x ; clobber all of page 1 after repeated plays - dex ; so move the patch code to page 3 - bpl - - +@notiiplus +DISABLE_ACCEL jmp $9B00 patch - !word $0302 + !word brunpatch +brunpatch + ldx #$FF + txs lda $AA76 ; check second character of filename cmp #$D7 ; = W, filename = @WOLF bne + @@ -58,7 +72,6 @@ patch stx $1999 ; or grenades + jmp ($AA72) ; finally jump to the loaded file -patchend !if * > $1C0 { !error "code is too large, ends at ", *