add cheats P,Q

This commit is contained in:
Peter Ferrie 2022-05-16 17:19:06 -07:00
parent 0b588f7170
commit b28f83dc1f
55 changed files with 392 additions and 78 deletions

View File

@ -283,32 +283,32 @@
0000,OUTWORLD=Outworld
0001,PACMAN=Pacman
0001,PB=Pandora's Box
0100,PAPERBOY=Paperboy
1000,PEEPING.TOM=Peeping Tom
1000,PEGASUS.II=Pegasus II
0101,PAPERBOY=Paperboy
1001,PEEPING.TOM=Peeping Tom
1004,PEGASUS.II=Pegasus II
1001,PENETRATOR=Penetrator
0000,PENGO=Pengo
0001,PENGO=Pengo
1001,PENTAPUS=Pentapus
0001,PEST.PATROL=Pest Patrol
1000,PHANTOMS.FIVE=Phantoms Five
1001,PHANTOMS.FIVE=Phantoms Five
0001,PR=Pharaoh's Revenge
0000,PHASER.FIRE=Phaser Fire
0001,PHASER.FIRE=Phaser Fire
0000,PHOTAR=Photar
0000,PICNIC.PARANOIA=Picnic Paranoia
0000,PM=Pie-Man
0000,PIG.PEN=Pig Pen
0005,PICNIC.PARANOIA=Picnic Paranoia
0001,PM=Pie-Man
0001,PIG.PEN=Pig Pen
0110,PIPE.DREAM=Pipe Dream
1000,PITFALL.II=Pitfall II
0000,PITSTOP.II=Pitstop II
1001,PLANETOIDS=Planetoids
0000,PLASMANIA=Plasmania
1110,PLATOON=Platoon
0001,PLASMANIA=Plasmania
1111,PLATOON=Platoon
1000,POLLYWOG=Pollywog
0001,POOYAN=Pooyan
0110,PP=Prince of Persia
0114,PP=Prince of Persia
0001,PULSAR.II=Pulsar II
1110,QIX=Qix
1000,QUADRANT.6112=Quadrant 6112
1111,QIX=Qix
1001,QUADRANT.6112=Quadrant 6112
0110,RADWARRIOR=Radwarrior
0000,RM=Raid Over Moscow
1000,RG=Raiders of the Lost Ring

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11435149
!be24 11435661
!le16 4545

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11386362
!be24 11386874
!le16 5294

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11326724
!be24 11327236
!le16 3654

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11339505
!be24 11340017
!le16 4064

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11355545
!be24 11356057
!le16 5245

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11374059
!be24 11374571
!le16 5870

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11439694
!be24 11440206
!le16 410

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11440448
!be24 11440960
!le16 448

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11440896
!be24 11441408
!le16 303

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11393802
!be24 11394314
!le16 1242

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11440180
!be24 11440692
!le16 67

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11435090
!be24 11435602
!le16 59

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11433605
!be24 11434117
!le16 1404

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11419222
!be24 11419734
!le16 521

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11391656
!be24 11392168
!le16 2146

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11395402
!be24 11395914
!le16 6433

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11440104
!be24 11440616
!le16 76

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11435009
!be24 11435521
!le16 81

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11440247
!be24 11440759
!le16 201

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11419743
!be24 11420255
!le16 4511

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11424254
!be24 11424766
!le16 1591

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11425845
!be24 11426357
!le16 1053

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11426898
!be24 11427410
!le16 3237

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11430135
!be24 11430647
!le16 2877

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11433012
!be24 11433524
!le16 479

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11433491
!be24 11434003
!le16 114

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11441199
!be24 11441711
!le16 2370

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11406791
!be24 11407303
!le16 3642

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11410433
!be24 11410945
!le16 2795

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11379929
!be24 11380441
!le16 6433

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 3699200
!be24 3699712
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 3715584
!be24 3716096
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 3707392
!be24 3707904
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11318441
!be24 11318953
!le16 8283

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11330378
!be24 11330890
!le16 9127

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11343569
!be24 11344081
!le16 11976

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11360790
!be24 11361302
!le16 13269

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11395044
!be24 11395556
!le16 358

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11401835
!be24 11402347
!le16 4956

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 11413228
!be24 11413740
!le16 5994

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2019-2020 by qkumba
;(c) 2019-2020, 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PAPERBOY",plain
@ -7,15 +7,42 @@
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$60
sta $8E1
inc $bf0e ; disable ROM mapping
jsr $800
lda #$20
sta $8E1
jsr DisableAccelerator
jmp $8E1
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
lda MachineStatus
and #CHEATS_ENABLED
sta callback_b+(cheat_smc-callback)+1
+READ_ROM_NO_WRITE
lda #$60
sta $8E1
inc $bf0e ; disable ROM mapping
jsr $800
lda #$20
sta $8E1
jsr DisableAccelerator
lda #<callback
sta $20F
lda #>callback
sta $210
ldx #callback_e-callback_b
- lda callback_b,x
sta callback,x
dex
bpl -
jmp $8E1
callback_b !pseudopc $BF80 {
callback
sta $20F
lda #$60
sta $210
cheat_smc
lda #0
beq +
lda #$ad
sta $8277 ; patch - don't decrease lives
+ jmp $6000
}
callback_e
!if * > $1C0 {
!error "code is too large, ends at ", *

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2021 by Frank M.
;(c) 2021-2022 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PEEPING.TOM",plain
@ -22,6 +22,11 @@ hook1 lda #<hook2
jmp $BE81 ; decompress2
hook2 +RESET_VECTOR $100
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
beq +
dec $94a ; patch - don't decrease lives
+
jmp $17E3
!if * > $1C0 {

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2021 by qkumba
;(c) 2021-2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PEGASUS.II",plain
@ -36,6 +36,14 @@ callback
stx $994A
lda #$A4
sta $994B
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
beq +
lda #$ad
sta $CD5 ; patch - don't decrease lives
sta $719F ; patch - don't increase lives
sta $71C0 ; patch - don't decrease fuel
+
clc
rts

29
src/prelaunch/pengo.a Normal file
View File

@ -0,0 +1,29 @@
;license:MIT
;(c) 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PENGO",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$60
sta $206C
jsr $2000 ; decompress
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #$a5
sta $1269 ; patch - don't decrease lives
sta $14CC ; patch - don't increase lives
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $800
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2020 by qkumba
;(c) 2020, 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PHANTOMS.FIVE",plain
@ -8,7 +8,27 @@
!source "src/prelaunch/common.a"
+NEW_RESET_VECTOR $340
jmp $26B2
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
beq +
ldx #cheat_e-cheat_b
- lda cheat_b, x
sta cheat, x
dex
bpl -
lda #<cheat
sta $8C99
lda #>cheat
sta $8C9A
+ jmp $26B2
cheat_b !pseudopc $346 {
cheat
lda #$a5
sta $1D03 ; patch - don't decrease lives
jmp $15B0
}
cheat_e
!if * > $1C0 {
!error "code is too large, ends at ", *

View File

@ -0,0 +1,24 @@
;license:MIT
;(c) 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PHASER.FIRE",plain
*=$106
!source "src/prelaunch/common.a"
lda #$60
sta $4074
jsr $4000 ; decompress
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
beq +
lda #$ad
sta $96A ; patch - don't decrease lives
+
jmp ($20)
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2019 by qkumba
;(c) 2019, 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PICNIC.PARANOIA",plain
@ -16,13 +16,21 @@
callback
nop
+DISABLE_ACCEL
lda #0
sta $45e5
lda #1
sta $45ea
eor #$A5
sta $45ef
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
dec $79B7 ; patch - don't decrease time
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $78fb
!if * > $1C0 {

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2019 by Frank M.
;(c) 2019, 2022 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PM",plain
@ -28,6 +28,12 @@
inx
stx $10B2
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
beq +
lda #$ad
dec $107B ; patch - don't decrease lives
+
jmp $950
!if * > $1C0 {

36
src/prelaunch/pig.pen.a Normal file
View File

@ -0,0 +1,36 @@
;license:MIT
;(c) 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PIG.PEN",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$4C
sta $933D
jsr $6500 ; decompress
lda #$60
sta $936D
+DISABLE_ACCEL
jsr $9340
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
jsr $9396 ; decompress more
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #$ad
sta $733A ; patch - don't decrease lives
lda #0
sta $7336 ; patch - don't update draw position
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $6000
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -7,9 +7,8 @@
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
+USES_TEXT_PAGE_2
inc $3f4 ; mismatch checksum to trigger reboot
; game overwrites LC during title
lda #>(callback1-1)
sta $84E
lda #<(callback1-1)
@ -28,6 +27,19 @@ callback1
sta $7353
lda #>callback2
sta $7354
lda #$4C
sta $6F31 ; patch - fix bug causing stack overflow
sta $8E99 ; patch - fix bug causing stack overflow
sta $8E9A ; patch - fix bug causing stack overflow
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #$a5
sta $92D7 ; patch - don't decrease lives
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $6000
!if * > $1C0 {

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2020 by Frank M.
;(c) 2020, 2022 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PLATOON",plain
@ -7,8 +7,47 @@
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
inc $3F4 ; force reboot
jmp $1000
lda #$60
sta $1196
jsr $1000
dex
jsr $D300
lda #$4C
sta $852
jsr $800
lda #$60
sta $8FB
jsr DisableAccelerator
jsr $855
ldx #callback_e-callback_b
- lda callback_b,x
sta callback,x
dex
bpl -
lda #<callback
sta $88C0
lda #>callback
sta $88C1
jmp $882D
callback_b !pseudopc $200 {
callback
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #0
sta $F329 ; patch - don't decrease morale
sta $F32E ; patch - don't decrease lives
lda #$ad
sta $FA30 ; patch - don't decrease lives
sta $FA33 ; patch - don't decrease morale
sta $FAE8 ; patch - don't decrease morale
sta $FAEB ; patch - don't decrease lives
+ jmp $EA00
}
callback_e
!if * > $1C0 {
!error "code is too large, ends at ", *

View File

@ -0,0 +1,53 @@
;license:MIT
;(c) 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PP",plain
*=$106
!source "src/prelaunch/common.a"
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
lda MachineStatus
and #CHEATS_ENABLED
sta cheat_smc1+1
sta cheat_smc2+1
+READ_ROM_NO_WRITE
lda #$60
sta $13B8
jsr $1200 ; decompress
lda #<callback1
sta $FE06
lda #>callback1
sta $FE07
jmp $EE00
callback1
lda #<callback2
sta $FD26
lda #>callback2
sta $FD27
cheat_smc1
lda #0
beq +
dec $2D0E ; patch - don't decrease time
+
+READ_RAM2_NO_WRITE
jsr DisableAccelerator
+READ_RAM1_WRITE_RAM1
jmp $4906
callback2
jsr $FF24
cheat_smc2
lda #0
beq +
lda #$a5
sta $2612 ; patch - don't decrease lives
+
rts
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2020 by Frank M.
;(c) 2020, 2022 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/QIX",plain
@ -7,9 +7,45 @@
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
inc $3F4 ; force reboot
lda #<callback1
sta $60CA
lda #>callback1
sta $60CB
ldx #callback_e-callback_b
- lda callback_b,x
sta callback1,x
dex
bpl -
jmp $23AC
callback_b !pseudopc $340 {
callback1
lda MachineStatus
and #CHEATS_ENABLED
php
jsr DisableAccelerator
jsr $100 ; decompress
sta $0
lda #8
sta $1
plp
beq +
lda #>(callback2 - 1)
pha
lda #<(callback2 - 1)
pha
+
jmp $60D6
callback2
lda #$ad
sta $9B2F ; patch - don't decrease lives
jmp $801
}
callback_e
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2019 by Frank M.
;(c) 2019, 2022 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/QUADRANT.6112",plain
@ -7,12 +7,23 @@
!source "src/prelaunch/common.a"
+NEW_RESET_VECTOR $160
+ENABLE_ACCEL
lda #$60
sta $872
+NEW_RESET_VECTOR $140
jsr $800 ; title
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
dec $71C6 ; patch - don't decrease lives
lda #$ad
sta $3387 ; patch - don't decrease lives
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $2007