4cade/src/prelaunch/serpentine.a

38 lines
934 B
Plaintext

;license:MIT
;(c) 2019-2020 by 4am
!cpu 6502
!to "build/PRELAUNCH.INDEXED/SERPENTINE",plain
*=$106
!source "src/prelaunch/common.a"
+GET_MACHINE_STATUS
and #CHEATS_ENABLED
sta cheat
+NEW_RESET_VECTOR $3C0
ldx #$0E ; copy patch code to zero page (stack will be destroyed by the time we need to patch)
- lda patch,x
sta $3B0,x
dex
bpl -
lda #$B0 ; call patch instead of $233
sta $8C96
lda #$03
sta $8C97
jmp $43F5 ; decompress and show title
patch
jsr $00F0 ; decompress
cheat=*+1
lda #0 ; SMC
beq +
; lives in $D8 (capped at 3)
lda #$A5
sta $868F ; patch - don't decrease lives
+
jmp $0800
!if * > $1C0 {
!error "code is too large, ends at ", *
}