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 $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/DEMO" "build/DEMO" >>build/log
rsync -aP res/fx/* build/FX >>build/log rsync -aP res/fx/* build/FX >>build/log
$(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/FX" "build/FX" >>build/log $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/FX" "build/FX" >>build/log
# $(CADIUS) CREATEFOLDER build/"$(DISK)" "/${VOLUME}/X/" >>build/log $(CADIUS) CREATEFOLDER build/"$(DISK)" "/${VOLUME}/X/" >>build/log
# bin/do2po.py res/dsk/ build/po/ bin/do2po.py res/dsk/ build/po/
# rsync -a res/dsk/*.po build/po/ rsync -a res/dsk/*.po build/po/
# bin/extract.py build/po/ | sh >build/log bin/extract.py build/po/ | sh >build/log
# rm -f build/X/**/.DS_Store rm -f build/X/**/.DS_Store
# rm -f build/X/**/PRODOS rm -f build/X/**/PRODOS
# rm -f build/X/**/LOADER.SYSTEM rm -f build/X/**/LOADER.SYSTEM
# $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/X" "build/X" >build/log $(CADIUS) ADDFOLDER build/"$(DISK)" "/${VOLUME}/X" "build/X" >build/log
bin/changebootloader.py build/"$(DISK)" res/proboothd bin/changebootloader.py build/"$(DISK)" res/proboothd
mount: dsk mount: dsk

View File

@ -22,6 +22,21 @@ Reenter ; self-running demos should call this to ex
Main Main
ldx #$FF ldx #$FF
txs 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 jsr BlankHGR
@loop @loop
bit $C010 bit $C010

View File

@ -82,6 +82,8 @@ OneTimeSetup
!word gGamesListStore !word gGamesListStore
!word ldrlo2 ; (ldrlo2) points to last load address, so $8000 !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 jmp Main ; continue execution from LC RAM bank
kGameListConfFile kGameListConfFile

View File

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

View File

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