fix Serpentine launch

This commit is contained in:
Peter Ferrie 2024-01-07 17:14:25 -08:00
parent e45b2821ad
commit 30151dd22d
2 changed files with 17 additions and 8 deletions

View File

@ -1,5 +1,5 @@
;license:MIT ;license:MIT
;(c) 2019-2020 by 4am ;(c) 2019-2020, 2023 by 4am and qkumba
!cpu 6502 !cpu 6502
!to "build/PRELAUNCH.INDEXED/SERPENTINE",plain !to "build/PRELAUNCH.INDEXED/SERPENTINE",plain
@ -7,20 +7,29 @@
!source "src/prelaunch/common.a" !source "src/prelaunch/common.a"
+ENABLE_ACCEL
+NEW_RESET_VECTOR $3C0 +NEW_RESET_VECTOR $3C0
ldx #$0E ; copy patch code to zero page (stack will be destroyed by the time we need to patch) ldx #(patch_e-patch)-1
- lda patch,x - lda patch,x
sta $3B0,x sta $390,x
dex dex
bpl - bpl -
lda #$B0 ; call patch instead of $233 lda #$90 ; call patch instead of $4000
sta $8C96 sta $8C58
lda #$03 lda #$03
sta $8C97 sta $8C59
lda #$4C
sta $8CEF
jmp $43F5 ; decompress and show title jmp $43F5 ; decompress and show title
patch patch !pseudopc $390 {
jsr $00F0 ; decompress +DISABLE_ACCEL
jsr $4000
+ENABLE_ACCEL
jsr $8C5A
+DISABLE_ACCEL
jmp $0800 jmp $0800
}
patch_e
!if * > $1C0 { !if * > $1C0 {
!error "code is too large, ends at ", * !error "code is too large, ends at ", *