diff --git a/Makefile b/Makefile index 10be75714..6c27131c9 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/src/4cade.a b/src/4cade.a index 6f8a4e5a2..3ec192d5c 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -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 diff --git a/src/4cade.init.a b/src/4cade.init.a index aa41d9a8c..762257161 100644 --- a/src/4cade.init.a +++ b/src/4cade.init.a @@ -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 diff --git a/src/prodos.path.a b/src/prodos.path.a index 9bf9cc8f5..1d4ba5bd4 100644 --- a/src/prodos.path.a +++ b/src/prodos.path.a @@ -34,6 +34,10 @@ kDemoDirectory !byte 4 !raw "DEMO" +kGameDirectory + !byte 1 + !raw "X" + kFXDirectory !byte 2 !raw "FX" diff --git a/src/ui.attract.mode.a b/src/ui.attract.mode.a index c9917746f..43b77bd9a 100644 --- a/src/ui.attract.mode.a +++ b/src/ui.attract.mode.a @@ -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