diff --git a/res/dsk/space spikes PRODOS (san inc pack).po b/res/dsk/space spikes PRODOS (san inc pack).po index dad528a9c..d878e0780 100644 Binary files a/res/dsk/space spikes PRODOS (san inc pack).po and b/res/dsk/space spikes PRODOS (san inc pack).po differ diff --git a/src/prelaunch/_FileInformation.txt b/src/prelaunch/_FileInformation.txt index d8b2180af..b470d464a 100644 --- a/src/prelaunch/_FileInformation.txt +++ b/src/prelaunch/_FileInformation.txt @@ -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) diff --git a/src/prelaunch/space.spikes.a b/src/prelaunch/space.spikes.a index 83b4a4a46..cf8a11eb3 100644 --- a/src/prelaunch/space.spikes.a +++ b/src/prelaunch/space.spikes.a @@ -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 $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 ", * diff --git a/src/prelaunch/spikes.cheat.a b/src/prelaunch/spikes.cheat.a new file mode 100644 index 000000000..6ddcfccef --- /dev/null +++ b/src/prelaunch/spikes.cheat.a @@ -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 #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