4cade/src/prelaunch/last.gladiator.a

71 lines
1.4 KiB
Plaintext

;license:MIT
;(c) 2020, 2022 by qkumba
!cpu 6502
!to "build/PRELAUNCH.INDEXED/LG",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$60
sta $11EA
jsr $1000 ; decompress
lda #$4C
sta $BC00
lda #<callback1
sta $BC01
lda #>callback1
sta $BC02
ldx #<callback2
stx $BC0B
sta $BC0C
ldx #(reset_e-reset_b)-1
- lda reset_b,x
sta callback1,x
dex
bpl -
+DISABLE_ACCEL
jmp $11EF
reset_b !pseudopc $240 {
callback1
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
beq +
lda #$ad
sta $6FA4 ; patch - don't increase lives
sta $7604 ; patch - don't decrease lives
+
lda #<reset
sta $3F2
lda #>reset
sta $3F3
jmp $FB6F
reset
+READ_RAM1_NO_WRITE
jmp ($FFFC)
callback2
jsr $BC16
lda $BD4C
cmp #8
bne +
lda $2D
bne +
lda #<reset xor $58
sta $5FF2
lda #>reset
sta $5FF3
lda #(>reset xor $A5) xor $59
sta $5FF4
+ rts
}
reset_e
!if * > $1C0 {
!error "code is too large, ends at ", *
}