From c17407bb7c186a5ee7ac4e461a87e8fd3dc443df Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Sun, 29 Dec 2019 20:34:18 -0800 Subject: [PATCH] some reset fixes --- src/prelaunch/black.magic.a | 43 ++++++++++++++++++++++++++++++++++ src/prelaunch/spider.raid.a | 24 +++++++++++++++++++ src/prelaunch/warp.destroyer.a | 24 +++++++++++++++++++ src/prelaunch/xevious.a | 9 +++++++ 4 files changed, 100 insertions(+) create mode 100644 src/prelaunch/black.magic.a create mode 100644 src/prelaunch/spider.raid.a create mode 100644 src/prelaunch/warp.destroyer.a diff --git a/src/prelaunch/black.magic.a b/src/prelaunch/black.magic.a new file mode 100644 index 000000000..e5b60eb86 --- /dev/null +++ b/src/prelaunch/black.magic.a @@ -0,0 +1,43 @@ +;license:MIT +;(c) 2019 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/BLACK.MAGIC",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $9C2 + jsr $800 ; decompress + + lda #$60 + sta $1B2D + sta $D6E6 + jsr DisableAccelerator + jsr $1B00 + jsr EnableAccelerator + jsr $D000 + lda #$4C + sta $D6EB + lda #callback + sta $8D6 + jsr DisableAccelerator + jmp $800 + +callback + jsr EnableAccelerator + jsr $D003 + lda #$A6 + sta $4183 + lda #$FA + sta $4184 + jsr DisableAccelerator + jmp $D6EE + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/spider.raid.a b/src/prelaunch/spider.raid.a new file mode 100644 index 000000000..9cb63e23a --- /dev/null +++ b/src/prelaunch/spider.raid.a @@ -0,0 +1,24 @@ +;license:MIT +;(c) 2019 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/SPIDER.RAID",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $3F0E + jsr $3EB9 ; decompress + lda #$60 + sta $40F1 + jsr $4000 + +RESET_VECTOR $100 + + +DISABLE_ACCEL + jmp $4246 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/warp.destroyer.a b/src/prelaunch/warp.destroyer.a new file mode 100644 index 000000000..ff4d9454e --- /dev/null +++ b/src/prelaunch/warp.destroyer.a @@ -0,0 +1,24 @@ +;license:MIT +;(c) 2019 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/WARP.DESTROYER",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$4C + sta $893 + jsr $800 ; decompress + ldx #1 + stx $6692 + dex + stx $669C + +DISABLE_ACCEL + lda #0 + jmp $896 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/xevious.a b/src/prelaunch/xevious.a index cf56272d7..c664a7bc7 100644 --- a/src/prelaunch/xevious.a +++ b/src/prelaunch/xevious.a @@ -16,6 +16,11 @@ lda #>patch1 sta $35E5 jmp $34AA ; decompress 1 + +reset + +READ_ROM_NO_WRITE + jmp $FAA6 + patch1 +DISABLE_ACCEL lda #reset + sta $FFFD jmp $0600 !if * > $1C0 {