diff --git a/res/ATTRACT/WARGLE b/res/ATTRACT/WARGLE new file mode 100644 index 000000000..c990ea1d5 --- /dev/null +++ b/res/ATTRACT/WARGLE @@ -0,0 +1,7 @@ +# +# Attract mode for WARGLE +# This file is automatically generated +# + + +[eof] diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 9927247ce..702e6d1cc 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -382,6 +382,7 @@ 0000,VIDEO.VEGAS 0001,VINDICATOR 0000,VORTEX +0001,WARGLE 0000,WARP.DESTROYER 0001,WAVY.NAVY 0000,WAYOUT diff --git a/res/TITLE.HGR/WARGLE b/res/TITLE.HGR/WARGLE new file mode 100644 index 000000000..84665a573 Binary files /dev/null and b/res/TITLE.HGR/WARGLE differ diff --git a/res/TITLE.HGR/_FileInformation.txt b/res/TITLE.HGR/_FileInformation.txt index fbe879f04..21eb4b561 100644 --- a/res/TITLE.HGR/_FileInformation.txt +++ b/res/TITLE.HGR/_FileInformation.txt @@ -357,6 +357,7 @@ VIDEO.VEGAS=Type(06),AuxType(4000),Access(C3) VINDICATOR=Type(06),AuxType(4000),Access(C3) VORTEX=Type(06),AuxType(4000),Access(C3) VV=Type(06),AuxType(4000),Access(C3) +WARGLE=Type(06),AuxType(4000),Access(C3) WARP.DESTROYER=Type(06),AuxType(4000),Access(C3) WAVY.NAVY=Type(06),AuxType(4000),Access(C3) WAYOUT=Type(06),AuxType(4000),Access(C3) diff --git a/res/dsk/wargle PRODOS (san inc pack).po b/res/dsk/wargle PRODOS (san inc pack).po new file mode 100644 index 000000000..804305aa2 Binary files /dev/null and b/res/dsk/wargle PRODOS (san inc pack).po differ diff --git a/res/notes/wishlist.txt b/res/notes/wishlist.txt index 294f32ac3..1bf7ed71a 100644 --- a/res/notes/wishlist.txt +++ b/res/notes/wishlist.txt @@ -9,4 +9,3 @@ Star Avenger (Western MicroData) Torax (Creative Computing) Torpedo Terror (Continental) Tsunami (Creative Computing) -Wargle (Hayden) diff --git a/src/constants.a b/src/constants.a index be8126d9b..d6531b52b 100644 --- a/src/constants.a +++ b/src/constants.a @@ -6,7 +6,7 @@ ; YE OLDE GRAND UNIFIED MEMORY MAP ; ; LC RAM BANK 1 -; D000..E7F4 - persistent data structures (gGlobalPrefsStore, gGamesListStore) +; D000..E7FE - persistent data structures (gGlobalPrefsStore, gGamesListStore) ; E9EE..FFEE - main program code ; FFEF..FFF9 - API functions and global constants available for main program ; code, prelaunchers, transition effects, &c. diff --git a/src/prelaunch/voyage.valkyrie.a b/src/prelaunch/voyage.valkyrie.a index 9c3b08828..38a8a7276 100644 --- a/src/prelaunch/voyage.valkyrie.a +++ b/src/prelaunch/voyage.valkyrie.a @@ -15,6 +15,11 @@ jmp $800 ; load "DOS" callback + ldx #$00 + stx $9E52 + inx + stx $9E53 + +DISABLE_ACCEL jmp $9D84 diff --git a/src/prelaunch/wargle.a b/src/prelaunch/wargle.a new file mode 100644 index 000000000..7f9ba45a1 --- /dev/null +++ b/src/prelaunch/wargle.a @@ -0,0 +1,61 @@ +;license:MIT +;(c) 2021 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/WARGLE",plain +*=$106 + + !source "src/prelaunch/common.a" + + jmp main + +callback2 + jsr $BD58 + jsr $BD09 + lda $B7EC + cmp #7 + bne + + ldy #$A5 + lda $B7ED + cmp #7 + beq ++ + cmp #9 + bne + + sty $96D6 ; don't increase lives + beq + +++ sty $962E ; don't decrease lives ++ pla + pla + clc + rts + +main + +ENABLE_ACCEL + lda #$60 + sta $9EA + jsr $800 ; load "DOS" + lda #callback1 + sta $B749 + jmp $B700 + +callback1 + ldx #$00 + stx $9E52 + inx + stx $9E53 ; reset vector + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #callback2 + sta $BD08 ++ + +DISABLE_ACCEL + jmp $9D84 + +!if * > $1C0 { + !error "code is too large, ends at ", * +}