2021-10-31 22:20:30 +00:00
|
|
|
;license:MIT
|
|
|
|
;(c) 2021 by Frank M.
|
|
|
|
|
|
|
|
!cpu 6502
|
|
|
|
!to "res/DEMO/VINDICATOR",plain
|
2021-11-05 00:23:28 +00:00
|
|
|
*=$320
|
2021-10-31 22:20:30 +00:00
|
|
|
|
|
|
|
!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 #13-1 ; we also need to copy the length byte
|
|
|
|
- lda newpath,x
|
|
|
|
sta $BFD0,x
|
|
|
|
dex
|
|
|
|
bpl -
|
|
|
|
|
|
|
|
lda #$60
|
|
|
|
sta $1867
|
|
|
|
jsr $180F ; decompress
|
|
|
|
|
|
|
|
+NEW_RESET_VECTOR $BFF0
|
2021-11-05 00:23:28 +00:00
|
|
|
lda #$4C
|
|
|
|
sta $56D9
|
|
|
|
sta $4902 ; set exits
|
2021-10-31 22:20:30 +00:00
|
|
|
lda #$F0
|
2021-11-05 00:23:28 +00:00
|
|
|
sta $56D9+1
|
|
|
|
sta $4902+1
|
2021-10-31 22:20:30 +00:00
|
|
|
sta $4001
|
|
|
|
lda #$BF
|
2021-11-05 00:23:28 +00:00
|
|
|
sta $56D9+2
|
|
|
|
sta $4902+2
|
|
|
|
sta $400F ; reset vector fix (overwrites $100)
|
2021-10-31 22:20:30 +00:00
|
|
|
|
|
|
|
lda #$60 ; annunciator fix - kills Gizmo/joyport support
|
|
|
|
sta $5B77 ; but fixes ][+ 80-col softswitch
|
|
|
|
sta $5B43 ; and //c+ coloring
|
|
|
|
|
|
|
|
lda #$D0
|
|
|
|
sta $441F
|
|
|
|
sta $5E25
|
|
|
|
sta $5DDC ; disable sound
|
|
|
|
|
|
|
|
+DISABLE_ACCEL
|
|
|
|
|
|
|
|
jmp $4000
|
|
|
|
|
|
|
|
newpath
|
|
|
|
!byte 12
|
|
|
|
!text "X/VINDICATOR"
|
|
|
|
|
|
|
|
title !byte x_e-x_b
|
|
|
|
x_b !text "X/VINDICATOR/VINDICATOR"
|
|
|
|
x_e
|
|
|
|
|
|
|
|
!if * > $3F0 {
|
|
|
|
!error "code is too large, ends at ", *
|
|
|
|
}
|