4cade/src/demo/night.stalker.a

101 lines
2.2 KiB
Plaintext

;license:MIT
;(c) 2021-2022 by qkumba/Frank M.
!cpu 6502
!to "build/DEMO/NIGHT.STALKER#06BD00",plain
*=$BD00
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+ENABLE_ACCEL_LC
+LOAD_XSINGLE title
ldx #0
stx $618C ; fix reset
stx $6198 ; fix IRQ
inx
stx $618D ; fix reset
stx $6199 ; fix IRQ
lda #$A4
sta $618E ; fix reset checksum
; (game picks up vectors from un-initialized memory)
lda #$60
sta $6017
sta $603F
jsr $800
lda #$92
sta $0D
lda #$72
sta $0C
lda #$40
sta $0F
stx $0E
jsr $2A8
lda $c057
lda $c052
lda $c050
ldx #$C0
txs
ldx #x_e - x_b
- lda x_b - 1, x
sta $1C0,x
dex
bne -
jmp $1C1
x_b !pseudopc $1C1 {
jsr $28D
lda #$D0
sta $0DEF
sta $1DC5
sta $ABC9
sta $AC6E
sta $B765
ldx #3-1
- lda patch2,x
sta $196D,x
sta $BF00,x
sta $BB6B,x
dex
bpl -
lda #$60
sta $1D67
lda #$A9
sta $AB30
ldx #4
stx $AB31
dex
stx $18EE
stx $0CB8
stx $0CD2
lda #$20
sta $18EC
sta $0CB6
sta $0CD0
lda #$70
sta $18ED
lda #$7C
sta $0CB7
lda #$85
sta $0CD1
ldx #24
- lda patch, x
sta $370, x
dex
bpl -
+DISABLE_ACCEL
jmp $6000
patch !byte $20,$30,$AB,$CE,$24,$03,$D0,$03
patch2 !byte $4C,$00,$01,$60,$AD,$6F,$03,$05,$EA,$60,$8D,$6F,$03,$A2,$FF,$60
!if * > $282 {
!error "code is too large, ends at ", *
}
}
x_e
title !byte xx_e-xx_b
xx_b !text "NIGHT.STALKER"
xx_e