2020-05-26 21:52:16 +00:00
|
|
|
;license:MIT
|
2022-05-19 04:42:49 +00:00
|
|
|
;(c) 2020, 2022 by qkumba
|
2020-05-26 21:52:16 +00:00
|
|
|
|
|
|
|
!cpu 6502
|
2021-10-16 01:34:39 +00:00
|
|
|
!to "build/PRELAUNCH.INDEXED/LG",plain
|
2020-05-26 21:52:16 +00:00
|
|
|
*=$106
|
|
|
|
|
2024-05-25 23:18:49 +00:00
|
|
|
!source "src/macros.a"
|
2020-05-26 21:52:16 +00:00
|
|
|
|
|
|
|
+ENABLE_ACCEL
|
|
|
|
lda #$60
|
|
|
|
sta $11EA
|
|
|
|
jsr $1000 ; decompress
|
|
|
|
|
2020-08-11 19:51:53 +00:00
|
|
|
lda #$4C
|
2020-05-26 21:52:16 +00:00
|
|
|
sta $BC00
|
2022-05-19 04:42:49 +00:00
|
|
|
lda #<callback1
|
2020-08-11 19:51:53 +00:00
|
|
|
sta $BC01
|
2022-05-19 04:42:49 +00:00
|
|
|
lda #>callback1
|
2020-08-11 19:51:53 +00:00
|
|
|
sta $BC02
|
2022-05-19 04:42:49 +00:00
|
|
|
ldx #<callback2
|
|
|
|
stx $BC0B
|
2020-08-11 19:51:53 +00:00
|
|
|
sta $BC0C
|
2022-05-19 04:42:49 +00:00
|
|
|
ldx #(reset_e-reset_b)-1
|
|
|
|
- lda reset_b,x
|
|
|
|
sta callback1,x
|
2020-08-11 19:51:53 +00:00
|
|
|
dex
|
|
|
|
bpl -
|
2020-05-26 21:52:16 +00:00
|
|
|
|
|
|
|
+DISABLE_ACCEL
|
|
|
|
jmp $11EF
|
|
|
|
|
2022-05-19 04:42:49 +00:00
|
|
|
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
|
|
|
|
+
|
2020-08-11 19:51:53 +00:00
|
|
|
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 +
|
2022-05-19 04:42:49 +00:00
|
|
|
lda #<reset xor $58
|
2020-08-11 19:51:53 +00:00
|
|
|
sta $5FF2
|
2022-05-19 04:42:49 +00:00
|
|
|
lda #>reset
|
2020-08-11 19:51:53 +00:00
|
|
|
sta $5FF3
|
2022-05-19 04:42:49 +00:00
|
|
|
lda #(>reset xor $A5) xor $59
|
2020-08-11 19:51:53 +00:00
|
|
|
sta $5FF4
|
|
|
|
+ rts
|
|
|
|
}
|
|
|
|
reset_e
|
|
|
|
|
2020-05-26 21:52:16 +00:00
|
|
|
!if * > $1C0 {
|
|
|
|
!error "code is too large, ends at ", *
|
|
|
|
}
|