add proper Space Spikes

This commit is contained in:
Peter Ferrie 2022-09-28 17:39:04 -07:00
parent d051ffc3f6
commit ad23f801b9
4 changed files with 82 additions and 44 deletions

View File

@ -7,3 +7,4 @@ FLAK.MB=Type(06),AuxType(0200),Access(C3)
KAMUNGAS.MB=Type(06),AuxType(0200),Access(C3)
RESQ.RAIDERS.MB=Type(06),AuxType(0300),Access(C3)
SITCRIT.CHEAT=Type(06),AuxType(BC00),Access(C3)
SPIKES.CHEAT=Type(06),AuxType(0250),Access(C3)

View File

@ -7,52 +7,16 @@
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$60
sta $88D
sta $905
sta $96E
jsr $800 ; decompress
- lda x_b, y
sta $250, y
iny
bne -
lda #<callback1
sta $9501
lda #<callback2
sta $95B1
lda #>callback1
sta $9502
sta $95B2
jmp $9500
x_b !pseudopc $250 {
callback1
+READ_RAM2_NO_WRITE
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
jsr $9503
+DISABLE_ACCEL
jsr $BC69
sta $C010
callback2
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
jsr $BC78
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #$ad
sta $6B5C ; patch - don't decrease lives
+
jsr DisableAccelerator
+LOAD_FILE_AT space_spiker, $250
+READ_ROM_NO_WRITE
lda #$21
jsr $FCA8 ; allow joystick timers to expire
jmp $A00
}
jmp $250
space_spiker
!byte x_e-x_b
x_b !text "PRELAUNCH/SPIKES.CHEAT"
x_e
!if * > $1C0 {
!error "code is too large, ends at ", *

View File

@ -0,0 +1,73 @@
;license:MIT
;(c) 2020, 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH/SPIKES.CHEAT",plain
*=$250
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60
sta $99A
sta $A15
sta $A84
sta $BE3
jsr $900 ; decompress
lda #<callback3
sta $8B1
lda #<callback1
sta $9501
lda #<callback2
sta $95B1
lda #>callback1
sta $8B2
sta $9502
sta $95B2
jmp $9500
callback1
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
jsr $9503
+DISABLE_ACCEL
jsr $BC6C
sta $C010
callback2
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
jsr $BC7B
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #$ad
sta $6AB0 ; patch - don't decrease fuel
sta $6B5C ; patch - don't decrease lives
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
lda #$30
jsr $FCA8 ; allow joystick timers to expire
jmp $A00
callback3
+READ_RAM2_NO_WRITE
jsr EnableAccelerator
jsr $BDFC
+READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED
beq +
lda #$ad
sta $6D9B ; patch - don't decrease fuel
sta $7EA0 ; patch - don't decrease lives
sta $8AF1 ; patch - don't decrease lives
+
jsr DisableAccelerator
+READ_ROM_NO_WRITE
jmp $8D00