4cade/src/prelaunch/black.magic.a

66 lines
1.4 KiB
Plaintext
Raw Normal View History

2019-12-30 04:34:18 +00:00
;license:MIT
;(c) 2019 by qkumba/Tom Greene/Frank M.
2019-12-30 04:34:18 +00:00
!cpu 6502
!to "build/PRELAUNCH.INDEXED/BLACK.MAGIC",plain
2019-12-30 04:34:18 +00:00
*=$106
!source "src/prelaunch/common.a"
; acceleration has problems with Fastchip
; let's remove it
2020-07-18 20:58:06 +00:00
lda #<reset ; fix reset during title
sta $9AE
sta $80FC
2019-12-30 04:34:18 +00:00
lda #$60
sta $9C2
jsr $800 ; decompress
lda #$60
sta $1B2D
sta $D6E6
jsr $1B00
2020-07-18 20:58:06 +00:00
lda #<callback1
sta $D7E9
lda #>callback1
sta $D7EA
2019-12-30 04:34:18 +00:00
jsr $D000
2020-07-18 20:58:06 +00:00
lda #<callback2
2019-12-30 04:34:18 +00:00
sta $8D5
2020-07-18 20:58:06 +00:00
lda #>callback2
2019-12-30 04:34:18 +00:00
sta $8D6
jmp $800
2020-07-18 20:58:06 +00:00
callback1
lda #<reset
sta $5029 ; fix tamper check
sta $80FC ; re-cloned to $FFFC
jmp $5000
callback2
lda #$4C
sta $D6EB
2019-12-30 04:34:18 +00:00
jsr $D003
2019-12-30 23:18:14 +00:00
ldx #5
- lda reset, x
sta $4182, x
dex
bpl -
2020-03-26 16:59:57 +00:00
lda #$20
sta $D6EB
2020-07-18 20:58:06 +00:00
lda #$63 ; back to original vector
sta $3F2
sta $FFFC
+READ_RAM2_WRITE_RAM2 ; fix on //c+
jmp $D6EE
2019-12-30 04:34:18 +00:00
2019-12-30 23:18:14 +00:00
reset
+READ_ROM_NO_WRITE
jmp $FAA6
2019-12-30 04:34:18 +00:00
!if * > $1C0 {
!error "code is too large, ends at ", *
}