4cade/src/demo/warp.destroyer.a
frankmilliron 608c2382e5
some more demo launchers (#415)
* Add files via upload

* Delete PIEMAN.HI

* Delete PIEMAN.1

* Delete LABYRINTH.1

* Delete WARP.DESTROY.1

* Add files via upload

* Add files via upload
2021-10-31 23:22:14 -04:00

89 lines
1.8 KiB
Plaintext

;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/WARP.DESTROYER",plain
*=$320
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
;+LOAD_FILE_KEEP_DIR
ldx #0 ; read to main memory
stx ldrhi
stx ldrlo
+LDADDR title
jsr iLoadFileDirect
ldx #17-1 ; we also need to copy the length byte
- lda newpath,x
sta $BFD0,x
dex
bpl -
+READ_ROM_NO_WRITE
lda #$4C
sta $893
jsr $800 ; decompress, show title
ldx #1
stx $6692
dex
stx $669C ; reset vector patch
lda #$B0
sta $76D1
lda #$13 ; disable unknown hardware support
sta $76D2 ; otherwise hangs on IIgs
lda #$A9
sta $7AA6
lda #$CB
sta $7AA6+1
lda #$EA
sta $7AA6+2 ; auto-select keyboard control
lda #$D0
sta $65D6 ; disable sound
+DISABLE_ACCEL
lda #$60
sta $8BB
lda #0
jsr $896 ; memory move, show second title
lda #$4C
sta $8051
sta $8107
sta $8157
sta $839D
lda #0
sta $8051+1
sta $8107+1
sta $8157+1
sta $839D+1
lda #1
sta $8051+2
sta $8107+2
sta $8157+2
sta $839D+2 ; set exits
jmp $667D
newpath
!byte 16
!text "X/WARP.DESTROYER"
title !byte x_e-x_b
x_b !text "X/WARP.DESTROYER/WARP.DESTROYER"
x_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}