add persistent reset vector

This commit is contained in:
4am 2019-01-08 14:10:26 -05:00
parent 0403c272c6
commit 76d49fda57
5 changed files with 32 additions and 11 deletions

View File

@ -94,14 +94,14 @@ dsk: md asm
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/DEMO" "build/DEMO" >>build/log
rsync -aP res/fx/* build/FX >>build/log
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/FX" "build/FX" >>build/log
# $(CADIUS) CREATEFOLDER build/"$(DISK)" "/${VOLUME}/X/" >>build/log
# bin/do2po.py res/dsk/ build/po/
# rsync -a res/dsk/*.po build/po/
# bin/extract.py build/po/ | sh >build/log
# rm -f build/X/**/.DS_Store
# rm -f build/X/**/PRODOS
# rm -f build/X/**/LOADER.SYSTEM
# $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/X" "build/X" >build/log
$(CADIUS) CREATEFOLDER build/"$(DISK)" "/${VOLUME}/X/" >>build/log
bin/do2po.py res/dsk/ build/po/
rsync -a res/dsk/*.po build/po/
bin/extract.py build/po/ | sh >build/log
rm -f build/X/**/.DS_Store
rm -f build/X/**/PRODOS
rm -f build/X/**/LOADER.SYSTEM
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/X" "build/X" >build/log
bin/changebootloader.py build/"$(DISK)" res/proboothd
mount: dsk

View File

@ -22,6 +22,21 @@ Reenter ; self-running demos should call this to ex
Main
ldx #$FF
txs
ldx #5
- lda Prelaunch,x ; copy reset vector code (switches to LC RAM and jumps to |Reenter|)
sta $100,x
dex
bpl -
inx
stx $3F2 ; set up reset vectors
stx $FFFC
inx
stx $3F3
stx $FFFD
txa
eor #$A5
sta $3F4
jsr BlankHGR
@loop
bit $C010

View File

@ -82,6 +82,8 @@ OneTimeSetup
!word gGamesListStore
!word ldrlo2 ; (ldrlo2) points to last load address, so $8000
bit $C010 ; clear keyboard strobe so we don't mistakenly think we just tried to run something
jmp Main ; continue execution from LC RAM bank
kGameListConfFile

View File

@ -34,6 +34,10 @@ kDemoDirectory
!byte 4
!raw "DEMO"
kGameDirectory
!byte 1
!raw "X"
kFXDirectory
!byte 2
!raw "FX"

View File

@ -529,15 +529,15 @@ ClearHGR1
; clear and display text screen
;
; in: none
; out: $0100..$011F clobbered
; out: $0106..$011F clobbered
;------------------------------------------------------------------------------
Home
ldx #(@end-@start-1)
- lda @start,x
sta $100,x
sta $106,x
dex
bpl -
jmp $100
jmp $106
@start
; this will be run from main memory
+READ_ROM_NO_WRITE