4cade/src/demo/mr.cool.a

71 lines
1.3 KiB
Plaintext

;license:MIT
;(c) 2021 by Frank M.
!cpu 6502
!to "res/DEMO/MC",plain
*=$200
!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 #5-1 ; we also need to copy the length byte
- lda newpath,x
sta $BFD0,x
dex
bpl -
lda #$60
sta $83C
jsr $800 ; decompress
lda #$4C
sta $597F
sta $5A05
lda #0
sta $597F+1
sta $5A05+1
lda #1
sta $597F+2 ; set exit on keypress
sta $5A05+2 ; set exit on button press
lda #$20
sta $7F37
lda #<callback
sta $7F37+1
lda #>callback
sta $7F37+2 ; exit at end of demo cycle
+DISABLE_ACCEL
jmp $4000
callback
sta $5E9B
lda $5C04
cmp #$0C
beq exit
rts
exit jmp $0100
newpath
!byte 4
!text "X/MC"
title !byte x_e-x_b
x_b !text "X/MC/MC"
x_e
!if * > $300 {
!error "code is too large, ends at ", *
}