2022-01-01 00:34:21 +00:00
|
|
|
;license:MIT
|
2023-04-21 17:27:37 +00:00
|
|
|
;(c) 2021-2023 by Frank M., qkumba
|
2022-01-01 00:34:21 +00:00
|
|
|
|
|
|
|
!cpu 6502
|
2022-10-01 00:04:02 +00:00
|
|
|
!to "build/DEMO/GALAXIAN#060320",plain
|
2022-09-28 02:05:09 +00:00
|
|
|
*=$320
|
2022-01-01 00:34:21 +00:00
|
|
|
|
|
|
|
!source "src/constants.a" ; no code in these
|
|
|
|
!source "src/macros.a"
|
|
|
|
|
2022-09-27 17:20:04 +00:00
|
|
|
+ENABLE_ACCEL_LC
|
2022-09-10 04:58:15 +00:00
|
|
|
+LOAD_XSINGLE title
|
2022-01-01 00:34:21 +00:00
|
|
|
|
|
|
|
lda #$60
|
|
|
|
sta $5813
|
|
|
|
jsr $5800 ; decompress
|
|
|
|
|
|
|
|
ldx #0
|
|
|
|
stx $83F
|
|
|
|
inx
|
|
|
|
stx $847 ; reset vector fix
|
|
|
|
|
2023-06-03 23:48:40 +00:00
|
|
|
lda #$A9
|
2022-01-01 00:34:21 +00:00
|
|
|
sta $1909
|
2023-06-04 00:41:23 +00:00
|
|
|
stx $190A
|
2023-06-03 23:48:40 +00:00
|
|
|
lda #$60
|
2023-06-04 00:41:23 +00:00
|
|
|
sta $190B ; ignore joystick buttons
|
2022-01-01 00:34:21 +00:00
|
|
|
|
|
|
|
ldx #5-1
|
|
|
|
- lda patch1, x
|
2022-09-27 17:20:04 +00:00
|
|
|
sta $8E5, x ; exit on keypress during title screen
|
|
|
|
lda patch2, x
|
|
|
|
sta $E50, x ; exit on keypress during demo
|
2022-01-01 00:34:21 +00:00
|
|
|
dex
|
2022-09-27 17:20:04 +00:00
|
|
|
bpl -
|
2022-01-01 00:34:21 +00:00
|
|
|
|
|
|
|
lda #<callback
|
|
|
|
sta $8FF+1
|
|
|
|
lda #>callback
|
|
|
|
sta $8FF+2 ; set exit at end of demo cycle
|
|
|
|
|
|
|
|
+DISABLE_ACCEL
|
|
|
|
jmp $800
|
|
|
|
|
|
|
|
callback dec count
|
|
|
|
bne +
|
2022-09-27 17:20:04 +00:00
|
|
|
ldx #0
|
|
|
|
stx $8FF+1
|
|
|
|
inx
|
|
|
|
stx $8FF+2 ; exit after 3 times
|
2022-01-01 00:34:21 +00:00
|
|
|
+ jmp $A00
|
|
|
|
|
|
|
|
count !byte $03
|
|
|
|
|
|
|
|
patch1 !byte $10,$05,$4C,$00,$01
|
|
|
|
|
|
|
|
patch2 !byte $10,$49,$4C,$00,$01
|
|
|
|
|
|
|
|
title !byte x_e-x_b
|
2022-09-10 04:58:15 +00:00
|
|
|
x_b !text "GALAXIAN"
|
2022-01-01 00:34:21 +00:00
|
|
|
x_e
|
|
|
|
|
|
|
|
!if * > $3F0 {
|
|
|
|
!error "code is too large, ends at ", *
|
|
|
|
}
|