From b3d34a1294f07976a80df6c2cfe6c5a06e8d2c0d Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Mon, 16 May 2022 22:08:38 -0700 Subject: [PATCH] add cheats R --- res/GAMES.CONF | 26 ++++++++++----------- 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/radwarrior.a | 28 +++++++++++++++++++++-- src/prelaunch/raiders.of.ring.a | 13 +++++++++-- src/prelaunch/rampage.a | 15 +++++++++++-- src/prelaunch/renegade.a | 30 ++++++++++++++++++++++++- src/prelaunch/repton.a | 35 +++++++++++++++++++++++++++++ src/prelaunch/retro.fever.a | 28 +++++++++++++++++++++++ src/prelaunch/ribbit.a | 29 ++++++++++++++++++++++++ src/prelaunch/roach.hotel.a | 22 +++++++++++------- src/prelaunch/roadblock.a | 28 +++++++++++++++++++++++ src/prelaunch/robot.battle.a | 28 +++++++++++++++++++++++ src/prelaunch/robotron.2084.a | 40 +++++++++++++++++++++++++++++++++ src/prelaunch/russki.duck.a | 28 +++++++++++++++++++++++ 53 files changed, 362 insertions(+), 68 deletions(-) create mode 100644 src/prelaunch/repton.a create mode 100644 src/prelaunch/retro.fever.a create mode 100644 src/prelaunch/ribbit.a create mode 100644 src/prelaunch/roadblock.a create mode 100644 src/prelaunch/robot.battle.a create mode 100644 src/prelaunch/robotron.2084.a create mode 100644 src/prelaunch/russki.duck.a diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 1a3397548..0361cdbb2 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -309,29 +309,29 @@ 0001,PULSAR.II=Pulsar II 1111,QIX=Qix 1001,QUADRANT.6112=Quadrant 6112 -0110,RADWARRIOR=Radwarrior -0000,RM=Raid Over Moscow -1000,RG=Raiders of the Lost Ring -0110,RAMPAGE=Rampage +0116,RADWARRIOR=Radwarrior +0007,RM=Raid Over Moscow +1001,RG=Raiders of the Lost Ring +0116,RAMPAGE=Rampage 0001,RANDAMN=Randamn 0000,RASTER.BLASTER=Raster Blaster 1006,RI=Realm of Impossibility 0007,REAR.GUARD=Rear Guard 1000,RED.ALERT=Red Alert -1110,RENEGADE=Renegade -0000,REPTON=Repton +1114,RENEGADE=Renegade +0001,REPTON=Repton 0007,RESCUE.RAIDERS=Rescue Raiders -1000,RETRO.FEVER=Retro Fever +1001,RETRO.FEVER=Retro Fever 1000,RB=Retro-Ball -0000,RIBBIT=Ribbit -1000,ROACH.HOTEL=Roach Hotel -0000,ROADBLOCK=Roadblock +0004,RIBBIT=Ribbit +1001,ROACH.HOTEL=Roach Hotel +0005,ROADBLOCK=Roadblock 0117,ROBOCOP=Robocop -0000,ROBOT.BATTLE=Robot Battle -0000,ROBOTRON.2084=Robotron 2084 +0001,ROBOT.BATTLE=Robot Battle +0001,ROBOTRON.2084=Robotron 2084 0001,ROUND.ABOUT=Round About 0001,RUN.FOR.IT=Run For It -0000,RUSSKI.DUCK=Russki Duck +0001,RUSSKI.DUCK=Russki Duck 0002,SABOTAGE=Sabotage 0001,SAMMY.LIGHTFOOT=Sammy Lightfoot 0001,SARACEN=Saracen diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index b959eb1ea..c03ba0707 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 11435661 + !be24 11436685 !le16 4545 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 152dc2125..3a2f3cbde 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 11386874 + !be24 11387898 !le16 5294 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index ce47a0443..eba8416e8 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 11327236 + !be24 11328260 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 9787bd4e5..463397c61 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 11340017 + !be24 11341041 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index c7fb61e59..3dbbf4a1f 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 11356057 + !be24 11357081 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 722bc832d..21de42108 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 11374571 + !be24 11375595 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index e9db01f33..79cdd1da9 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 11440206 + !be24 11441230 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index de03d94e9..49c89d326 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 11440960 + !be24 11441984 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 1d54a52b9..66726c8ee 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 11441408 + !be24 11442432 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 9a4a9bd3c..f4fbadca0 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 11394314 + !be24 11395338 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 4973df0b7..f86ab381a 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 11440692 + !be24 11441716 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index bfeb28960..c4cfe4208 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 11435602 + !be24 11436626 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 5d82161db..00f4053c5 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 11434117 + !be24 11435141 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index bf2959099..fb2ba7528 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 11419734 + !be24 11420758 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 0cc974ff5..ab80e5fdd 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 11392168 + !be24 11393192 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index fa375fc19..b969f7b6c 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 11395914 + !be24 11396938 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 910bf7c32..fdc1cf457 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 11440616 + !be24 11441640 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 434959c41..4021dd919 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 11435521 + !be24 11436545 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 4c6898887..8f4ea4bf7 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 11440759 + !be24 11441783 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 4f044d544..9eda7cea6 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 11420255 + !be24 11421279 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 8cd259236..d11379316 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 11424766 + !be24 11425790 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index cc2e0b3a7..5393ba8a2 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 11426357 + !be24 11427381 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 32a6b4268..10211910e 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 11427410 + !be24 11428434 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 39e2a2358..6506da3b1 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 11430647 + !be24 11431671 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 080b73979..a4030ebb5 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 11433524 + !be24 11434548 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 66bef7b89..d44721658 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 11434003 + !be24 11435027 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index d700f05d7..f5aced341 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 11441711 + !be24 11442735 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 01d0dae54..ede584ba2 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 11407303 + !be24 11408327 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index e2bfeece1..ce2544697 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 11410945 + !be24 11411969 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 86288503a..e7e60b87f 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 11380441 + !be24 11381465 !le16 6433 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index ff43564e0..a676caaf4 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 3699712 + !be24 3700736 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index c69f67c1b..ccaf59b9e 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 3716096 + !be24 3717120 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index cd8c9c490..7dfb36cf0 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 3707904 + !be24 3708928 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 9f0a3efa9..c5027d97e 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 11318953 + !be24 11319977 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 768d9fb56..e2edaed92 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 11330890 + !be24 11331914 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 30c2f10c6..cf1038472 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 11344081 + !be24 11345105 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 66b2151d3..ae55b9ff8 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 11361302 + !be24 11362326 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 383751345..5ef4f62fe 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 11395556 + !be24 11396580 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index a89238f3a..e10d9890a 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 11402347 + !be24 11403371 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 29783c8f0..b9fdaaad7 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 11413740 + !be24 11414764 !le16 5994 diff --git a/src/prelaunch/radwarrior.a b/src/prelaunch/radwarrior.a index 94e5f3820..14cf4ffaa 100644 --- a/src/prelaunch/radwarrior.a +++ b/src/prelaunch/radwarrior.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/RADWARRIOR",plain @@ -8,7 +8,31 @@ !source "src/prelaunch/common.a" +RESET_VECTOR $FAA6 - jmp $3FD7 + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + ldx #callback_e-callback_b +- lda callback_b,x + sta callback,x + dex + bpl - + lda #callback + sta $4078 ++ jmp $3FD7 + +callback_b !pseudopc $240 { +callback + lda #$4C + sta $400E + jsr $3FF8 + lda #$a5 + sta $D587 ; patch - don't decrease lives + sta $EFA9 ; patch - don't decrease lives ++ jmp $4011 +} +callback_e !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/raiders.of.ring.a b/src/prelaunch/raiders.of.ring.a index 2c9dfb666..368c171fc 100644 --- a/src/prelaunch/raiders.of.ring.a +++ b/src/prelaunch/raiders.of.ring.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/RG",plain @@ -11,7 +11,16 @@ lda #$60 sta $9413 jsr $7000 ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $FE2 ; patch - don't increase lives + sta $1A65 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $803 !if * > $1C0 { diff --git a/src/prelaunch/rampage.a b/src/prelaunch/rampage.a index 8b563416b..1a05dc6ee 100644 --- a/src/prelaunch/rampage.a +++ b/src/prelaunch/rampage.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by Frank M. +;(c) 2020, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/RAMPAGE",plain @@ -7,8 +7,19 @@ !source "src/prelaunch/common.a" + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + php inc $3F4 ; force reboot - jmp $2EED + lda #$60 + sta $413A + jsr $2EED + plp + beq + + lda #$b1 + sta $A3DC ; patch - don't decrease lives ++ + jmp $E800 !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/renegade.a b/src/prelaunch/renegade.a index ef78a9605..96424861c 100644 --- a/src/prelaunch/renegade.a +++ b/src/prelaunch/renegade.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by Frank M. +;(c) 2020, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/RENEGADE",plain @@ -8,8 +8,36 @@ !source "src/prelaunch/common.a" inc $3F4 ; force reboot + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + ldx #callback_e-callback_b +- lda callback_b,x + sta callback,x + dex + bpl - + lda #callback + sta $25DA ++ jmp $2000 +callback_b !pseudopc $200 { +callback + jsr $1C1D + dec $D58B ; patch - don't decrease time + lda #$bd + sta $D05C ; patch - don't decrease lives + lda #$a5 + sta $D9E0 ; patch - don't decrease lives + sta $DB39 ; patch - don't decrease lives + sta $DBC8 ; patch - don't decrease lives + sta $DBE9 ; patch - don't decrease lives + rts +} +callback_e + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/repton.a b/src/prelaunch/repton.a new file mode 100644 index 000000000..f47cffed9 --- /dev/null +++ b/src/prelaunch/repton.a @@ -0,0 +1,35 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/REPTON",plain +*=$106 + + !source "src/prelaunch/common.a" + + +READ_RAM2_NO_WRITE + jsr EnableAccelerator + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $884 ++ + +READ_ROM_NO_WRITE + lda #$60 + sta $86D + jsr $800 ; decompress + +DISABLE_ACCEL + + jmp $BA03 + +callback + lda #$a5 + sta $19D7 ; patch - don't decrease lives + jmp $868C + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/retro.fever.a b/src/prelaunch/retro.fever.a new file mode 100644 index 000000000..a1fbe2dc8 --- /dev/null +++ b/src/prelaunch/retro.fever.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/RETRO.FEVER",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $813 + jsr $800 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $4817 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $4000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/ribbit.a b/src/prelaunch/ribbit.a new file mode 100644 index 000000000..b99d11e0e --- /dev/null +++ b/src/prelaunch/ribbit.a @@ -0,0 +1,29 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/RIBBIT",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $4023 + jsr $4000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $643C ; patch - don't decrease lives + sta $6589 ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $6000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/roach.hotel.a b/src/prelaunch/roach.hotel.a index 33570c852..2a12649a3 100644 --- a/src/prelaunch/roach.hotel.a +++ b/src/prelaunch/roach.hotel.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/ROACH.HOTEL",plain @@ -10,16 +10,14 @@ +ENABLE_ACCEL lda #callback2 - sta $5165 + ldx #>callback2 + stx $5165 lda #pcallback2 - sta $5035 + stx $5035 lda #pcallback1 - sta $5155 + stx $5155 jmp $800 ; decompress callback1 @@ -31,7 +29,15 @@ callback2 jmp $BDF4 ; decompress callback3 - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $CBC ; patch - don't increase lives + dec $1029 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp ($200) pcallback1 diff --git a/src/prelaunch/roadblock.a b/src/prelaunch/roadblock.a new file mode 100644 index 000000000..552b18c54 --- /dev/null +++ b/src/prelaunch/roadblock.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/ROADBLOCK",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $3192 + jsr $800 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $15D0 ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $80D + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/robot.battle.a b/src/prelaunch/robot.battle.a new file mode 100644 index 000000000..aba8113c5 --- /dev/null +++ b/src/prelaunch/robot.battle.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/ROBOT.BATTLE",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $82F + jsr $800 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$bd + sta $7930 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $6000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/robotron.2084.a b/src/prelaunch/robotron.2084.a new file mode 100644 index 000000000..cc1c8b58d --- /dev/null +++ b/src/prelaunch/robotron.2084.a @@ -0,0 +1,40 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/ROBOTRON.2084",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + ldx #(callback_e-callback_b)+1 +- lda callback_b-1,x + sta <(callback-1),x + dex + bne - + lda # $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/russki.duck.a b/src/prelaunch/russki.duck.a new file mode 100644 index 000000000..0a9bf0d5e --- /dev/null +++ b/src/prelaunch/russki.duck.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/RUSSKI.DUCK",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $3EDB + jsr $3E8A ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $87E ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp ($20) + +!if * > $1C0 { + !error "code is too large, ends at ", * +}