diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 8e7a66c1c..4314c1fda 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -42,6 +42,7 @@ 0001,CANNONBALL.BLTZ=Cannonball Blitz 0001,CANYON.CLIMBER 0000,CAPTN.GOODNIGHT=Captain Goodnight +0000,SMURFEN=Castle Smurfenstein 0000,WOLFEN84=Castle Wolfenstein 1001,CEILING.ZERO 0001,CENTIPEDE diff --git a/res/TITLE.HGR/SMURFEN b/res/TITLE.HGR/SMURFEN new file mode 100644 index 000000000..d61207804 Binary files /dev/null and b/res/TITLE.HGR/SMURFEN differ diff --git a/res/TITLE.HGR/_FileInformation.txt b/res/TITLE.HGR/_FileInformation.txt index b64c3c1bc..fcc459977 100644 --- a/res/TITLE.HGR/_FileInformation.txt +++ b/res/TITLE.HGR/_FileInformation.txt @@ -170,6 +170,7 @@ SHORT.CIRCUIT=Type(06),AuxType(4000),Access(C3) SHUFFLEBOARD=Type(06),AuxType(4000),Access(C3) SITUATION.CRTCL=Type(06),AuxType(4000),Access(C3) SKYFOX=Type(06),AuxType(4000),Access(C3) +SMURFEN=Type(06),AuxType(4000),Access(C3) SNACK.ATTACK=Type(06),AuxType(4000),Access(C3) SNAKE.BYTE=Type(06),AuxType(4000),Access(C3) SNEAKERS=Type(06),AuxType(4000),Access(C3) diff --git a/res/dsk/castle smurfenstein PRODOS (san inc pack).po b/res/dsk/castle smurfenstein PRODOS (san inc pack).po new file mode 100644 index 000000000..5fb4b597c Binary files /dev/null and b/res/dsk/castle smurfenstein PRODOS (san inc pack).po differ diff --git a/res/notes/wishlist.txt b/res/notes/wishlist.txt index 308caf6b7..b412c0496 100644 --- a/res/notes/wishlist.txt +++ b/res/notes/wishlist.txt @@ -60,7 +60,6 @@ Jawbreaker ][ //other Battle Chess [DHGR] -Castle Smurfenstein [priority] Dino Smurf [priority] //TODO(woz-imaged but uncracked) diff --git a/src/prelaunch/smurfen.a b/src/prelaunch/smurfen.a new file mode 100644 index 000000000..3d74fae5e --- /dev/null +++ b/src/prelaunch/smurfen.a @@ -0,0 +1,40 @@ +;license:MIT +;(c) 2020 by qkumba/Frank M. + +!cpu 6502 +!to "build/PRELAUNCH/SMURFEN",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + +USES_TEXT_PAGE_2 + lda #$60 + sta $A0B + jsr $800 ; find and load "DOS" + lda #callback + sta $B749 + jmp $B700 + +reset + +READ_ROM_NO_WRITE + jmp $FAA6 + +callback + +READ_RAM2_WRITE_RAM2 + lda #reset + sta $9E53 + sta $FFFD ; reset vector patch + +READ_ROM_NO_WRITE + + +DISABLE_ACCEL + jmp $9B00 + +!if * > $1C0 { + !error "code is too large, ends at ", * +}