From aa62ea3ea7d8b07b6d2991e45be74ae0e63e9660 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Thu, 19 May 2022 10:42:44 -0700 Subject: [PATCH] add cheats V-Z --- res/GAMES.CONF | 14 ++++++------- src/index/artwork.idx.a | 2 +- src/index/attract.idx.a | 2 +- src/index/cache00.idx.a | 2 +- src/index/cache01.idx.a | 2 +- src/index/cache10.idx.a | 2 +- src/index/cache11.idx.a | 2 +- src/index/coverfade.idx.a | 2 +- src/index/credits.idx.a | 2 +- src/index/decrunch.idx.a | 2 +- src/index/dfx.idx.a | 2 +- src/index/dgr.fizzle.idx.a | 2 +- src/index/dgr.idx.a | 2 +- src/index/dhgr.idx.a | 2 +- src/index/dtitle.idx.a | 2 +- src/index/fx.idx.a | 2 +- src/index/gamehelp.idx.a | 2 +- src/index/gr.fizzle.idx.a | 2 +- src/index/gr.idx.a | 2 +- src/index/helptext.idx.a | 2 +- src/index/hgr0.idx.a | 2 +- src/index/hgr1.idx.a | 2 +- src/index/hgr2.idx.a | 2 +- src/index/hgr3.idx.a | 2 +- src/index/hgr4.idx.a | 2 +- src/index/hgr5.idx.a | 2 +- src/index/hgr6.idx.a | 2 +- src/index/joystick.idx.a | 2 +- src/index/miniattract0.idx.a | 2 +- src/index/miniattract1.idx.a | 2 +- src/index/prelaunch.idx.a | 2 +- src/index/res.cover.idx.a | 2 +- src/index/res.help.idx.a | 2 +- src/index/res.title.idx.a | 2 +- src/index/search00.idx.a | 2 +- src/index/search01.idx.a | 2 +- src/index/search10.idx.a | 2 +- src/index/search11.idx.a | 2 +- src/index/sfx.idx.a | 2 +- src/index/slideshow.idx.a | 2 +- src/index/title.idx.a | 2 +- src/prelaunch/victory.road.a | 37 +++++++++++++++++++++++++++++++++ src/prelaunch/viper.patrol.a | 32 ++++++++++++++++++++++++---- src/prelaunch/vortex.a | 11 ++++++++-- src/prelaunch/warp.destroyer.a | 18 ++++++++++++++-- src/prelaunch/whomper.stomper.a | 13 ++++++++++-- src/prelaunch/zenith.a | 28 +++++++++++++++++++++++++ src/prelaunch/zoo.master.a | 15 +++++++++++++ 48 files changed, 191 insertions(+), 57 deletions(-) create mode 100644 src/prelaunch/victory.road.a create mode 100644 src/prelaunch/zenith.a diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 232807954..b3c3049dd 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -430,25 +430,25 @@ 0001,TUNNEL.TERROR=Tunnel Terror 0001,TWERPS=Twerps 1001,UD=Up'n Down -0110,VICTORY.ROAD=Victory Road +0111,VICTORY.ROAD=Victory Road 0000,VIDEO.VEGAS=Video Vegas 0001,VINDICATOR=Vindicator -1000,VIPER.PATROL=Viper Patrol -0000,VORTEX=Vortex +1001,VIPER.PATROL=Viper Patrol +0001,VORTEX=Vortex 0000,WALL.DEFENCE=Wall Defence 0001,WARGLE=Wargle -0000,WARP.DESTROYER=Warp Destroyer +0006,WARP.DESTROYER=Warp Destroyer 0001,WAVY.NAVY=Wavy Navy 0000,WAYOUT=Wayout 1111,RR=Who Framed Roger Rabbit -1000,WHOMPER.STOMPER=Whomper Stomper +1001,WHOMPER.STOMPER=Whomper Stomper 0000,WILLY.BYTE=Willy Byte 1113,WF=Wings of Fury 1001,XEVIOUS=Xevious 0001,ZARGS=Zargs 1001,ZAXXON=Zaxxon -0000,ZENITH=Zenith +0005,ZENITH=Zenith 1000,ZP=Zero Gravity Pinball -0000,ZOO.MASTER=Zoo Master +0001,ZOO.MASTER=Zoo Master [eof] diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 12b531c7f..78bcef14f 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11439082 + !be24 11439594 !le16 4545 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index e11334f2d..bf7da56d8 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11390295 + !be24 11390807 !le16 5294 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index 8355e1930..4029689f2 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11330657 + !be24 11331169 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index cc136f898..8fc4849f2 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11343438 + !be24 11343950 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 0384cde6e..221e0cf69 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11359478 + !be24 11359990 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index bafb059ae..36d591b0b 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11377992 + !be24 11378504 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index b0ac99e36..9273d2e03 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11443627 + !be24 11444139 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index f2d6c3b84..0df71f565 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11444381 + !be24 11444893 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 00175f4ca..a6a19db04 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11444829 + !be24 11445341 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index ff43d7455..a16500020 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11397735 + !be24 11398247 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index b72d5911a..b3400d5ee 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11444113 + !be24 11444625 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index 6b3aa85b2..268d77514 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11439023 + !be24 11439535 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 72b3152df..3f0d267ea 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11437538 + !be24 11438050 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index fe4bc82ea..23f197646 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11423155 + !be24 11423667 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 27b712dec..01e6d2734 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11395589 + !be24 11396101 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index fe5423664..344b7954a 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11399335 + !be24 11399847 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 92ead7c88..a60bf2569 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11444037 + !be24 11444549 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 7825006c7..abdd52a29 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11438942 + !be24 11439454 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index e8d5367d7..62bdc8a31 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11444180 + !be24 11444692 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 08670fb4e..a0f3c3618 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11423676 + !be24 11424188 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 23ea86dbe..d0d7a46b1 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11428187 + !be24 11428699 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index cffb90b86..28893bf3b 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11429778 + !be24 11430290 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index f4bd31e00..63b742d1d 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11430831 + !be24 11431343 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 052a842fa..348bec7e0 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11434068 + !be24 11434580 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 6824dc2e6..b4e1ee105 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11436945 + !be24 11437457 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index af7ba7e47..9d5fdcfc1 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11437424 + !be24 11437936 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 6e4931d04..9fb107777 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11445132 + !be24 11445644 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index aedb9ae6a..65f7bfb10 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11410724 + !be24 11411236 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index b2a4b6585..37300aa4d 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11414366 + !be24 11414878 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index a604c422e..72f47113c 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11383862 + !be24 11384374 !le16 6433 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 8c009dae4..5c4b46bf8 100644 --- a/src/index/res.cover.idx.a +++ b/src/index/res.cover.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3702784 + !be24 3703296 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 0c654985f..bdbca0b21 100644 --- a/src/index/res.help.idx.a +++ b/src/index/res.help.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3719168 + !be24 3719680 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 552dfe58d..6f08408c1 100644 --- a/src/index/res.title.idx.a +++ b/src/index/res.title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3710976 + !be24 3711488 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index c8eb4a84f..2346f4a7e 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11322374 + !be24 11322886 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 19f93cb02..21ae38781 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11334311 + !be24 11334823 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index d34de3e65..df8d7f15f 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11347502 + !be24 11348014 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 8dbe09dd7..8791e8c12 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11364723 + !be24 11365235 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index b5242b697..8ec01616b 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11398977 + !be24 11399489 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 984faaa93..74e00ca9c 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11405768 + !be24 11406280 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 98fc30ef7..cff73a41d 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11417161 + !be24 11417673 !le16 5994 diff --git a/src/prelaunch/victory.road.a b/src/prelaunch/victory.road.a new file mode 100644 index 000000000..534872ad9 --- /dev/null +++ b/src/prelaunch/victory.road.a @@ -0,0 +1,37 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/VICTORY.ROAD",plain +*=$106 + + !source "src/prelaunch/common.a" + + jmp ++ + +callback + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $D433 ; patch - don't decrease lives ++ + jsr DisableAccelerator + jmp $D000 + +++ + +ENABLE_ACCEL + lda #$60 + sta $11A7 + jsr $1000 ; decompress + dex + jsr $D300 ; decompress more + lda #callback + sta $A17B + jmp $A000 ; decompress + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/viper.patrol.a b/src/prelaunch/viper.patrol.a index c8a5d7220..ad1719d29 100644 --- a/src/prelaunch/viper.patrol.a +++ b/src/prelaunch/viper.patrol.a @@ -9,24 +9,48 @@ lda #$4C sta $948E - lda #callback + lda #>callback1 sta $9490 jmp $5200 ; load "DOS" -callback +callback1 +ENABLE_ACCEL lda #0 sta $56 jsr $BDAC ; decompress - + lda $1B82 + cmp #$4C + bne + + lda #callback2 + sta $1B84 + lda #callback3 + sta $1BCB ++ +DISABLE_ACCEL lda #0 rts +callback2 + lda #$A5 + sta $B7D ; patch - don't increase lives + sta $B8B ; patch - don't decrease lives + lda #$EA + sta $C39 ; patch - don't decrease fuel + bne + + +callback3 + dec $100C ; patch - don't increase lives + dec $101A ; patch - don't decrease lives ++ jmp $800 + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/vortex.a b/src/prelaunch/vortex.a index 37d2c367f..628c54f9d 100644 --- a/src/prelaunch/vortex.a +++ b/src/prelaunch/vortex.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by Frank M. +;(c) 2021-2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/VORTEX",plain @@ -15,7 +15,14 @@ jmp $4000 ; decompress2 hook +NEW_RESET_VECTOR $BFF0 - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $EA8 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $D566 !if * > $1C0 { diff --git a/src/prelaunch/warp.destroyer.a b/src/prelaunch/warp.destroyer.a index 550a036a5..f47a5c86b 100644 --- a/src/prelaunch/warp.destroyer.a +++ b/src/prelaunch/warp.destroyer.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019, 2021 by qkumba +;(c) 2019, 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/WARP.DESTROYER",plain @@ -20,7 +20,21 @@ lda #$13 sta $76D2 ; disable unknown hardware support ; otherwise hangs on IIGS - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $644D ; patch - don't increase damage + sta $6455 ; patch - don't increase damage + sta $646D ; patch - don't increase damage + sta $647B ; patch - don't increase damage + sta $6488 ; patch - don't increase damage + sta $649A ; patch - don't increase damage + sta $64AC ; patch - don't increase damage ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE lda #0 jmp $896 !if * > $1C0 { diff --git a/src/prelaunch/whomper.stomper.a b/src/prelaunch/whomper.stomper.a index ef261340d..5afae7575 100644 --- a/src/prelaunch/whomper.stomper.a +++ b/src/prelaunch/whomper.stomper.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/WHOMPER.STOMPER",plain @@ -11,7 +11,16 @@ lda #$60 sta $202C jsr $2000 ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$bd + sta $9A7C ; patch - don't decrease lives + sta $BBCC ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $B407 !if * > $1C0 { diff --git a/src/prelaunch/zenith.a b/src/prelaunch/zenith.a new file mode 100644 index 000000000..1fa03cc01 --- /dev/null +++ b/src/prelaunch/zenith.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/ZENITH",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $403E + jsr $4000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$60 + sta $A235 ; patch - don't decrease fuel ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp ($20) + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/zoo.master.a b/src/prelaunch/zoo.master.a index 3a0f2e442..c2ded82bc 100644 --- a/src/prelaunch/zoo.master.a +++ b/src/prelaunch/zoo.master.a @@ -16,11 +16,26 @@ sta $89F jsr $800 ; decompress more +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $48A1 ++ jsr DisableAccelerator lda MockingboardStuff +READ_ROM_NO_WRITE bmi + jmp $8C0 + +callback + jsr $4800 + lda #$AD + sta $135E ; patch - don't decrease lives + rts + + and #7 ora #$C0