2022-05-17 00:19:06 +00:00
|
|
|
;license:MIT
|
2022-05-30 05:13:41 +00:00
|
|
|
;(c) 2022 by qkumba, Frank M.
|
2022-05-17 00:19:06 +00:00
|
|
|
|
|
|
|
!cpu 6502
|
|
|
|
!to "build/PRELAUNCH.INDEXED/PP",plain
|
|
|
|
*=$106
|
|
|
|
|
2024-05-25 23:18:49 +00:00
|
|
|
!source "src/macros.a"
|
2022-05-17 00:19:06 +00:00
|
|
|
|
2022-05-30 05:13:41 +00:00
|
|
|
inc $3F4 ; force reboot on reset
|
|
|
|
|
2022-05-17 00:19:06 +00:00
|
|
|
+READ_RAM2_NO_WRITE
|
|
|
|
jsr EnableAccelerator
|
|
|
|
lda MachineStatus
|
|
|
|
and #CHEATS_ENABLED
|
|
|
|
sta cheat_smc1+1
|
|
|
|
sta cheat_smc2+1
|
2022-10-04 20:37:33 +00:00
|
|
|
lda WaitForVBL
|
|
|
|
cmp #$60
|
|
|
|
php
|
2022-05-17 00:19:06 +00:00
|
|
|
+READ_ROM_NO_WRITE
|
|
|
|
lda #$60
|
|
|
|
sta $13B8
|
|
|
|
jsr $1200 ; decompress
|
2022-10-04 20:37:33 +00:00
|
|
|
|
2022-05-17 00:19:06 +00:00
|
|
|
lda #<callback1
|
|
|
|
sta $FE06
|
2022-10-04 20:37:33 +00:00
|
|
|
lda #<callback2
|
|
|
|
sta $FD26
|
2022-05-17 00:19:06 +00:00
|
|
|
lda #>callback1
|
|
|
|
sta $FE07
|
2022-10-04 20:37:33 +00:00
|
|
|
sta $FD27
|
|
|
|
plp
|
|
|
|
bne @good_vbl
|
|
|
|
ldx #<callback3
|
|
|
|
stx $FD6A
|
|
|
|
sta $FD6B
|
|
|
|
|
|
|
|
@good_vbl
|
2022-05-17 00:19:06 +00:00
|
|
|
jmp $EE00
|
|
|
|
|
|
|
|
callback1
|
|
|
|
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
|
|
|
|
|
2022-10-04 20:37:33 +00:00
|
|
|
callback3
|
|
|
|
lda #$60 ; if VBL disabled in TR
|
|
|
|
sta $4ED ; then disable VBL in game
|
|
|
|
jmp $F924
|
|
|
|
|
2022-05-17 00:19:06 +00:00
|
|
|
!if * > $1C0 {
|
|
|
|
!error "code is too large, ends at ", *
|
|
|
|
}
|