mirror of
https://github.com/a2-4am/4cade.git
synced 2024-06-25 21:29:43 +00:00
add persistent reset vector
This commit is contained in:
parent
0403c272c6
commit
76d49fda57
16
Makefile
16
Makefile
|
@ -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
|
||||||
|
|
15
src/4cade.a
15
src/4cade.a
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user