4cade/src/prelaunch/prince.of.persia.a
frankmilliron 2c1c3c431b
some reset fixes (#478)
* fix Prince of Persia reboot

* Additional reset fixes

* fix Victory Road reset during title screen
2022-05-30 01:13:41 -04:00

56 lines
1.1 KiB
Plaintext

;license:MIT
;(c) 2022 by qkumba, Frank M.
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PP",plain
*=$106
!source "src/prelaunch/common.a"
inc $3F4 ; force reboot on reset
+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 ", *
}