diff --git a/Makefile b/Makefile index fc866248c..7354ae5be 100644 --- a/Makefile +++ b/Makefile @@ -63,16 +63,29 @@ dsk: index asmproboot asmlauncher extract rm -f "$$f"/.DS_Store; \ $(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/$$(basename $$f)" "$$f" -C >>build/log; \ done - $(CADIUS) CREATEFOLDER build/"$(DISK)" "/$(VOLUME)/X/" -C >>build/log - for f in build/X/*; do \ - $(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/X/$$(basename $$f)" "$$f" -C >>build/log; \ - done + $(CADIUS) ADDFOLDER build/"$(DISK)" "/$(VOLUME)/X" "build/X" -C >>build/log; \ bin/changebootloader.sh build/"$(DISK)" build/proboothd -extract: preconditions md +gamesconf: preconditions md +# +# create a version of GAMES.CONF without comments or blank lines or anything after display titles +# + [ -f build/index ] || (awk '!/^$$|^#/' < res/GAMES.CONF | awk -F'/' '{ print $$1 }' > build/GAMES.CONF) +# +# create a list of all game filenames, without metadata or display names, sorted by game filename +# + [ -f build/index ] || (awk -F, '/,/ { print $$2 }' < build/GAMES.CONF | awk -F= '{ print $$1 }' | sort > build/GAMES.SORTED) + +extract: preconditions md gamesconf $(PARALLEL) '$(CADIUS) EXTRACTVOLUME {} build/X/ >>build/log' ::: res/dsk/*.po - rm -f build/X/**/.DS_Store build/X/**/PRODOS* build/X/**/LOADER.SYSTEM* - for f in $$(grep '^....1' res/GAMES.CONF | awk '!/^$$|^#/' | awk -F, '/,/ { print $$2 }' | awk -F= '{ print $$1 }'); do mv build/X/"$$(basename $$f)"/"$$(basename $$f)"* build/X.INDEXED/; rm -rf build/X/"$$(basename $$f)"; done + rm -f build/X/**/.DS_Store build/X/**/PRODOS* build/X/**/LOADER.SYSTEM* build/X/**/_FileInformation.txt + for f in $$(grep '^....1' build/GAMES.CONF | awk '!/^$$|^#/' | awk -F, '/,/ { print $$2 }' | awk -F= '{ print $$1 }'); do mv build/X/"$$(basename $$f)"/"$$(basename $$f)"* build/X.INDEXED/; rm -rf build/X/"$$(basename $$f)"; done + for d in build/X/*; do \ + for f in "$$d"/*; do \ + mv "$$f" build/X/"$$(basename $$f)"; \ + done; \ + rmdir "$$d"; \ + done (for f in build/X.INDEXED/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a -p build/TOTAL.DATA build/X.INDEXED > build/XSINGLE.IDX index: preconditions md asmfx asmprelaunch asmdemo compress extract @@ -88,14 +101,6 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract [ -f build/index ] || (bin/converthelp.sh res/CREDITS build/CREDITS) [ -f build/index ] || $(PARALLEL) 'bin/converthelp.sh "{}" "build/GAMEHELP/{/}"' ::: res/GAMEHELP/* # -# create a version of GAMES.CONF without comments or blank lines -# - [ -f build/index ] || (awk '!/^$$|^#/' < res/GAMES.CONF > build/GAMES.CONF) -# -# create a list of all game filenames, without metadata or display names, sorted by game filename -# - [ -f build/index ] || (awk -F, '/,/ { print $$2 }' < build/GAMES.CONF | awk -F= '{ print $$1 }' | sort > build/GAMES.SORTED) -# # precompute indexed files for prelaunch # note: prelaunch must be first in TOTAL.DATA due to a hack in LoadStandardPrelaunch # note 2: these can not be padded because they are loaded at $0106 and padding would clobber the stack @@ -254,12 +259,12 @@ attract: compress bin/check-attract-mode.sh bin/generate-mini-attract-mode.sh -cache: preconditions md +cache: preconditions md gamesconf $(PARALLEL) ::: \ - 'awk -F= '"'"'/^00/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache00.a' \ - 'awk -F= '"'"'/^0/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache01.a' \ - 'awk -F= '"'"'/^.0/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache10.a' \ - 'awk -F= '"'"'!/^$$|^#|^\[/ { print $$2 }'"'"' < res/GAMES.CONF | bin/buildcache.py > build/cache11.a' + 'awk -F= '"'"'/^00/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache00.a' \ + 'awk -F= '"'"'/^0/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache01.a' \ + 'awk -F= '"'"'/^.0/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache10.a' \ + 'awk -F= '"'"'!/^$$|^#|^\[/ { print $$2 }'"'"' < build/GAMES.CONF | bin/buildcache.py > build/cache11.a' $(PARALLEL) ::: \ '$(ACME) -o res/CACHE00.IDX build/cache00.a' \ '$(ACME) -o res/CACHE01.IDX build/cache01.a' \ diff --git a/res/ACTION.HGR.UNCOMPRESSED/SC b/res/ACTION.HGR.UNCOMPRESSED/SL similarity index 100% rename from res/ACTION.HGR.UNCOMPRESSED/SC rename to res/ACTION.HGR.UNCOMPRESSED/SL diff --git a/res/ACTION.HGR/SC b/res/ACTION.HGR/SL similarity index 100% rename from res/ACTION.HGR/SC rename to res/ACTION.HGR/SL diff --git a/res/ARTWORK.SHR.SCORES/SC b/res/ARTWORK.SHR.SCORES/SL similarity index 100% rename from res/ARTWORK.SHR.SCORES/SC rename to res/ARTWORK.SHR.SCORES/SL diff --git a/res/ARTWORK.SHR.UNCOMPRESSED/SC b/res/ARTWORK.SHR.UNCOMPRESSED/SL similarity index 100% rename from res/ARTWORK.SHR.UNCOMPRESSED/SC rename to res/ARTWORK.SHR.UNCOMPRESSED/SL diff --git a/res/ARTWORK.SHR/SC b/res/ARTWORK.SHR/SL similarity index 100% rename from res/ARTWORK.SHR/SC rename to res/ARTWORK.SHR/SL diff --git a/res/ATTRACT/SC b/res/ATTRACT/SL similarity index 73% rename from res/ATTRACT/SC rename to res/ATTRACT/SL index 407306a4e..80358c284 100644 --- a/res/ATTRACT/SC +++ b/res/ATTRACT/SL @@ -1,11 +1,11 @@ # -# Attract mode for SC +# Attract mode for SL # This file is automatically generated # -SC=C -SC=A +SL=C SITUATION.CRTC2=A SITUATION.CRTC3=A +SL=A [eof] diff --git a/res/SS/ACTIONS1.CONF b/res/SS/ACTIONS1.CONF index 15a18e911..2c257fe73 100644 --- a/res/SS/ACTIONS1.CONF +++ b/res/SS/ACTIONS1.CONF @@ -12,6 +12,6 @@ SHAMUS SEA.DRAGON3=SEA.DRAGON STAR.CLONES SHORT.CIRCUIT -SITUATION.CRTC2=SC +SITUATION.CRTC2=SL [eof] diff --git a/res/SS/ACTIONS2.CONF b/res/SS/ACTIONS2.CONF index 77d41c48e..1bb17f92c 100644 --- a/res/SS/ACTIONS2.CONF +++ b/res/SS/ACTIONS2.CONF @@ -6,7 +6,7 @@ SKYFOX SHORT.CIRCUIT2=SHORT.CIRCUIT STARGATE2=STARGATE SPACE.EGGS -SITUATION.CRTC3=SC +SITUATION.CRTC3=SL SPUTNIK.ATTACK2=SPUTNIK.ATTACK SIGMA.SEVEN STAR.MAZE diff --git a/res/SS/ACTIONS4.CONF b/res/SS/ACTIONS4.CONF index fc75cfe0f..aedcc1882 100644 --- a/res/SS/ACTIONS4.CONF +++ b/res/SS/ACTIONS4.CONF @@ -2,7 +2,7 @@ # action shots slideshow of games that begin with "S" # -SC +SL STAR.BLAZER2=STAR.BLAZER SKYFOX3=SKYFOX STAR.DANCE diff --git a/res/SS/FAVORITES5.CONF b/res/SS/FAVORITES5.CONF index 16682b7a0..d9bc1c06f 100644 --- a/res/SS/FAVORITES5.CONF +++ b/res/SS/FAVORITES5.CONF @@ -4,7 +4,7 @@ CONAN NM -SC +SL SPECTRE SABOTAGE DINO.EGGS diff --git a/res/SS/OTHER1.CONF b/res/SS/OTHER1.CONF index 2fbff7067..1835c8cc7 100644 --- a/res/SS/OTHER1.CONF +++ b/res/SS/OTHER1.CONF @@ -2,7 +2,7 @@ # slideshow of titles not in other company-specific slideshows # -SC +SL EARLY.BIRD GUARDIAN BH diff --git a/res/SS/S3.CONF b/res/SS/S3.CONF index 5e6be0bac..8b070ebb2 100644 --- a/res/SS/S3.CONF +++ b/res/SS/S3.CONF @@ -6,7 +6,7 @@ SAMMY.LIGHTFOOT SPACE.WARRIOR SPACE.KADET SNOGGLE -SC +SL S2 SPACE.SPIKES SEAFOX diff --git a/res/SS/SHR1.CONF b/res/SS/SHR1.CONF index 050b0efb3..86d3a5ea4 100644 --- a/res/SS/SHR1.CONF +++ b/res/SS/SHR1.CONF @@ -2,7 +2,7 @@ # super hi-res slideshow # -SC +SL CANYON.CLIMBER MC LANCASTER diff --git a/src/demo/aquatron.a b/src/demo/aquatron.a index a9bb5899d..806ba6d94 100644 --- a/src/demo/aquatron.a +++ b/src/demo/aquatron.a @@ -44,7 +44,7 @@ aquatron !byte aquatron_e-aquatron_b aquatron_b aquatron_dir_b - !text "X/AQUATRON" + !text "X" aquatron_dir_e !text "/AQUATRON" aquatron_e diff --git a/src/demo/beer.run.a b/src/demo/beer.run.a index a8b58d428..fff29d8a5 100644 --- a/src/demo/beer.run.a +++ b/src/demo/beer.run.a @@ -48,7 +48,7 @@ beer_run !byte beer_run_e-beer_run_b beer_run_b beer_run_dir_b - !text "X/BEER.RUN" + !text "X" beer_run_dir_e !text "/BEER.RUN" beer_run_e diff --git a/src/demo/borg.a b/src/demo/borg.a index 4234ee63a..440bd80c6 100644 --- a/src/demo/borg.a +++ b/src/demo/borg.a @@ -42,7 +42,7 @@ patch2 !byte $4C,$00,$01 borg !byte borg_e-borg_b borg_b borg_dir_b - !text "X/BORG" + !text "X" borg_dir_e !text "/BORG" borg_e diff --git a/src/demo/bouncing.kmngas.a b/src/demo/bouncing.kmngas.a index 53179cb54..ec3d86a78 100644 --- a/src/demo/bouncing.kmngas.a +++ b/src/demo/bouncing.kmngas.a @@ -55,7 +55,7 @@ patch !byte $4C,$00,$01 kamungas !byte kamungas_e-kamungas_b kamungas_b kamungas_dir_b - !text "X/BK" + !text "X" kamungas_dir_e !text "/BK" kamungas_e diff --git a/src/demo/championship.lode.runner.a b/src/demo/championship.lode.runner.a index fb089a375..3667ff0e8 100644 --- a/src/demo/championship.lode.runner.a +++ b/src/demo/championship.lode.runner.a @@ -38,7 +38,7 @@ champ_lode !byte champ_lode_e-champ_lode_b champ_lode_b champ_lode_dir_b - !text "X/CL" + !text "X" champ_lode_dir_e !text "/CL" champ_lode_e diff --git a/src/demo/cider.spider.a b/src/demo/cider.spider.a index cc28ea964..f27ba2845 100644 --- a/src/demo/cider.spider.a +++ b/src/demo/cider.spider.a @@ -37,7 +37,7 @@ cider_spider !byte cider_spider_e-cider_spider_b cider_spider_b cider_spider_dir_b - !text "X/AC" + !text "X" cider_spider_dir_e !text "/AC" cider_spider_e diff --git a/src/demo/conan.a b/src/demo/conan.a index f4e6623c2..d6bff6415 100644 --- a/src/demo/conan.a +++ b/src/demo/conan.a @@ -59,7 +59,7 @@ conan !byte conan_e-conan_b conan_b conan_dir_b - !text "X/CONAN" + !text "X" conan_dir_e !text "/CONAN" conan_e diff --git a/src/demo/crime.wave.a b/src/demo/crime.wave.a index 5aa9d0a0d..421e778b8 100644 --- a/src/demo/crime.wave.a +++ b/src/demo/crime.wave.a @@ -31,7 +31,7 @@ crime_wave !byte crime_wave_e-crime_wave_b crime_wave_b crime_wave_dir_b - !text "X/CRIME.WAVE" + !text "X" crime_wave_dir_e !text "/CRIME.WAVE" crime_wave_e diff --git a/src/demo/dino.eggs.a b/src/demo/dino.eggs.a index 7974adf2f..15aa44ed7 100644 --- a/src/demo/dino.eggs.a +++ b/src/demo/dino.eggs.a @@ -34,7 +34,7 @@ dino_eggs !byte dino_eggs_e-dino_eggs_b dino_eggs_b dino_eggs_dir_b - !text "X/DINO.EGGS" + !text "X" dino_eggs_dir_e !text "/DINO.EGGS" dino_eggs_e diff --git a/src/demo/firebug.a b/src/demo/firebug.a index 717e23c18..ed38de2f4 100644 --- a/src/demo/firebug.a +++ b/src/demo/firebug.a @@ -44,7 +44,7 @@ patch !byte $4C,$00,$01 title !byte x_e-x_b -x_b !text "X/FIREBUG/FIREBUG" +x_b !text "X/FIREBUG" x_e !if * > $3F0 { diff --git a/src/demo/gumball.a b/src/demo/gumball.a index 5dcf86c25..22d8477c4 100644 --- a/src/demo/gumball.a +++ b/src/demo/gumball.a @@ -68,7 +68,7 @@ patch5 !byte $4C,callback2 gumball !byte gumball_e-gumball_b gumball_b gumball_dir_b - !text "X/GUMBALL" + !text "X" gumball_dir_e !text "/GUMBALL" gumball_e diff --git a/src/demo/jungle.hunt.a b/src/demo/jungle.hunt.a index 5ad30ae57..7eb4e3c88 100644 --- a/src/demo/jungle.hunt.a +++ b/src/demo/jungle.hunt.a @@ -51,7 +51,7 @@ jungle_hunt !byte jungle_hunt_e-jungle_hunt_b jungle_hunt_b jungle_hunt_dir_b - !text "X/JUNGLE.HUNT" + !text "X" jungle_hunt_dir_e !text "/JUNGLE.HUNT" jungle_hunt_e diff --git a/src/demo/karateka.a b/src/demo/karateka.a index 8e2e956a7..f0a1dcd0a 100644 --- a/src/demo/karateka.a +++ b/src/demo/karateka.a @@ -92,7 +92,7 @@ karateka !byte karateka_e-karateka_b karateka_b karateka_dir_b - !text "X/KARATEKA" + !text "X" karateka_dir_e !text "/KARATEKA" karateka_e diff --git a/src/demo/labyrinth.a b/src/demo/labyrinth.a index 15f9093e5..39db31aa6 100644 --- a/src/demo/labyrinth.a +++ b/src/demo/labyrinth.a @@ -43,7 +43,7 @@ labyrinth !byte labyrinth_e-labyrinth_b labyrinth_b labyrinth_dir_b - !text "X/LABYRINTH" + !text "X" labyrinth_dir_e !text "/LABYRINTH" labyrinth_e diff --git a/src/demo/lady.tut.a b/src/demo/lady.tut.a index 9e9cfb39c..4a4d12aae 100644 --- a/src/demo/lady.tut.a +++ b/src/demo/lady.tut.a @@ -51,5 +51,5 @@ callback patch !byte $4C,$70,$00 title !byte x_e-x_b -x_b !text "X/LADY.TUT/LADY.TUT" +x_b !text "X/LADY.TUT" x_e diff --git a/src/demo/lode.runner.a b/src/demo/lode.runner.a index deccd1542..9cac99ace 100644 --- a/src/demo/lode.runner.a +++ b/src/demo/lode.runner.a @@ -42,7 +42,7 @@ lode_runner !byte lode_runner_e-lode_runner_b lode_runner_b lode_runner_dir_b - !text "X/LODE.RUNNER" + !text "X" lode_runner_dir_e !text "/LODE.RUNNER" lode_runner_e diff --git a/src/demo/mr.cool.a b/src/demo/mr.cool.a index dda3d10a9..630c62395 100644 --- a/src/demo/mr.cool.a +++ b/src/demo/mr.cool.a @@ -41,7 +41,7 @@ patch2 !byte $20,callback mr_cool !byte mr_cool_e-mr_cool_b mr_cool_b mr_cool_dir_b - !text "X/MC" + !text "X" mr_cool_dir_e !text "/MC" mr_cool_e diff --git a/src/demo/nightmare.a b/src/demo/nightmare.a index 58a835866..6b120728c 100644 --- a/src/demo/nightmare.a +++ b/src/demo/nightmare.a @@ -40,7 +40,7 @@ nightmare !byte nightmare_e-nightmare_b nightmare_b nightmare_dir_b - !text "X/NI" + !text "X" nightmare_dir_e !text "/NI" nightmare_e diff --git a/src/demo/pieman.a b/src/demo/pieman.a index 32bbcdc8a..57d43ed60 100644 --- a/src/demo/pieman.a +++ b/src/demo/pieman.a @@ -44,7 +44,7 @@ patch2 !byte $4C,$97,$0A pieman !byte pieman_e-pieman_b pieman_b pieman_dir_b - !text "X/PM" + !text "X" pieman_dir_e !text "/PM" pieman_e diff --git a/src/demo/plasmania.a b/src/demo/plasmania.a index d3cefce22..6d8acf84b 100644 --- a/src/demo/plasmania.a +++ b/src/demo/plasmania.a @@ -47,7 +47,7 @@ callback patch !byte $4C,$00,$01 title !byte x_e-x_b -x_b !text "X/PLASMANIA/PLASMANIA" +x_b !text "X/PLASMANIA" x_e !if * > $3F0 { diff --git a/src/demo/repton.a b/src/demo/repton.a index 67dabf368..6054750ae 100644 --- a/src/demo/repton.a +++ b/src/demo/repton.a @@ -38,7 +38,7 @@ patch2 !byte $4C,$00,$01 repton !byte repton_e-repton_b repton_b repton_dir_b - !text "X/REPTON" + !text "X" repton_dir_e !text "/REPTON" repton_e diff --git a/src/demo/sammy.lightfoot.a b/src/demo/sammy.lightfoot.a index 59a0398ba..a73c06fce 100644 --- a/src/demo/sammy.lightfoot.a +++ b/src/demo/sammy.lightfoot.a @@ -53,7 +53,7 @@ sammy_lightfoot !byte sammy_lightfoot_e-sammy_lightfoot_b sammy_lightfoot_b sammy_lightfoot_dir_b - !text "X/SAMMY.LIGHTFOOT" + !text "X" sammy_lightfoot_dir_e !text "/SAMMY.LIGHTFOOT" sammy_lightfoot_e diff --git a/src/demo/serpentine.a b/src/demo/serpentine.a index f1d0a8afd..810d3a318 100644 --- a/src/demo/serpentine.a +++ b/src/demo/serpentine.a @@ -52,7 +52,7 @@ serpentine !byte serpentine_e-serpentine_b serpentine_b serpentine_dir_b - !text "X/SERPENTINE" + !text "X" serpentine_dir_e !text "/SERPENTINE" serpentine_e diff --git a/src/demo/short.circuit.a b/src/demo/short.circuit.a index 9ec3e64dc..b11cb0904 100644 --- a/src/demo/short.circuit.a +++ b/src/demo/short.circuit.a @@ -41,7 +41,7 @@ short_circuit !byte short_circuit_e-short_circuit_b short_circuit_b short_circuit_dir_b - !text "X/SHORT.CIRCUIT" + !text "X" short_circuit_dir_e !text "/SHORT.CIRCUIT" short_circuit_e diff --git a/src/demo/spare.change.a b/src/demo/spare.change.a index f9b45e339..c5933c7d7 100644 --- a/src/demo/spare.change.a +++ b/src/demo/spare.change.a @@ -38,7 +38,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spcartoon.1.a b/src/demo/spcartoon.1.a index f2243cdef..0b28e7127 100644 --- a/src/demo/spcartoon.1.a +++ b/src/demo/spcartoon.1.a @@ -33,7 +33,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spcartoon.2.a b/src/demo/spcartoon.2.a index 437debff4..27b5bbc5b 100644 --- a/src/demo/spcartoon.2.a +++ b/src/demo/spcartoon.2.a @@ -33,7 +33,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spcartoon.3.a b/src/demo/spcartoon.3.a index 4f831c9d6..dc899ac6b 100644 --- a/src/demo/spcartoon.3.a +++ b/src/demo/spcartoon.3.a @@ -33,7 +33,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spcartoon.4.a b/src/demo/spcartoon.4.a index b93c05a1e..409feeff1 100644 --- a/src/demo/spcartoon.4.a +++ b/src/demo/spcartoon.4.a @@ -33,7 +33,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spcartoon.5.a b/src/demo/spcartoon.5.a index 8a6d81142..3d66e4883 100644 --- a/src/demo/spcartoon.5.a +++ b/src/demo/spcartoon.5.a @@ -33,7 +33,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spcartoon.6.a b/src/demo/spcartoon.6.a index adf8d037b..2a686e92b 100644 --- a/src/demo/spcartoon.6.a +++ b/src/demo/spcartoon.6.a @@ -33,7 +33,7 @@ spare_change !byte spare_change_e-spare_change_b spare_change_b spare_change_dir_b - !text "X/SPARE.CHANGE" + !text "X" spare_change_dir_e !text "/SPARE.CHANGE" spare_change_e diff --git a/src/demo/spys.demise.a b/src/demo/spys.demise.a index 787bacdea..1aa6441c1 100644 --- a/src/demo/spys.demise.a +++ b/src/demo/spys.demise.a @@ -38,7 +38,7 @@ sd !byte sd_e-sd_b sd_b sd_dir_b - !text "X/SD" + !text "X" sd_dir_e !text "/SD" sd_e diff --git a/src/demo/stellar.7.a b/src/demo/stellar.7.a index d803e1659..9b88d6c23 100644 --- a/src/demo/stellar.7.a +++ b/src/demo/stellar.7.a @@ -39,9 +39,12 @@ callback1 sta $A572 lda #>callback2 sta $A573 + ldx #0 + stx $A473 + stx $A476 + stx $A47A ; start demo immediately lda #$4C sta $A484 - ldx #0 stx $A485 inx stx $A486 @@ -65,8 +68,7 @@ stellar_7 !byte stellar_7_e-stellar_7_b stellar_7_b stellar_7_dir_b - !text "X/STELLAR.7" + !text "X/STEL.DIR" stellar_7_dir_e - !text "/" - !text "STELLAR.7" + !text "/STELLAR.7" stellar_7_e diff --git a/src/demo/the.goonies.a b/src/demo/the.goonies.a index a46d35696..394dab019 100644 --- a/src/demo/the.goonies.a +++ b/src/demo/the.goonies.a @@ -58,7 +58,7 @@ the_goonies !byte the_goonies_e-the_goonies_b the_goonies_b the_goonies_dir_b - !text "X/THE.GOONIES" + !text "X" the_goonies_dir_e !text "/THE.GOONIES" the_goonies_e diff --git a/src/demo/thunder.bombs.a b/src/demo/thunder.bombs.a index ad19d4314..041c3886e 100644 --- a/src/demo/thunder.bombs.a +++ b/src/demo/thunder.bombs.a @@ -73,7 +73,7 @@ thunder_bombs !byte thunder_bombs_e-thunder_bombs_b thunder_bombs_b thunder_bombs_dir_b - !text "X/THUNDER.BOMBS" + !text "X" thunder_bombs_dir_e !text "/THUNDER.BOMBS" thunder_bombs_e diff --git a/src/demo/tubeway.a b/src/demo/tubeway.a index b1e1b3c49..3b432b33e 100644 --- a/src/demo/tubeway.a +++ b/src/demo/tubeway.a @@ -47,7 +47,7 @@ patch !byte $4C,$00,$01 title !byte x_e-x_b -x_b !text "X/TB/TB" +x_b !text "X/TB" x_e !if * > $3F0 { diff --git a/src/demo/vindicator.a b/src/demo/vindicator.a index 9899b5e03..55f43e6dc 100644 --- a/src/demo/vindicator.a +++ b/src/demo/vindicator.a @@ -48,7 +48,7 @@ vindicator !byte vindicator_e-vindicator_b vindicator_b vindicator_dir_b - !text "X/VINDICATOR" + !text "X" vindicator_dir_e !text "/VINDICATOR" vindicator_e diff --git a/src/demo/warp.destroyer.a b/src/demo/warp.destroyer.a index 4c8768555..eebe108bb 100644 --- a/src/demo/warp.destroyer.a +++ b/src/demo/warp.destroyer.a @@ -59,7 +59,7 @@ warp_destoyer !byte warp_destoyer_e-warp_destoyer_b warp_destoyer_b warp_destoyer_dir_b - !text "X/WARP.DESTROYER" + !text "X" warp_destoyer_dir_e !text "/WARP.DESTROYER" warp_destoyer_e diff --git a/src/glue.launch.a b/src/glue.launch.a index d7db8a070..ddbf09ca3 100644 --- a/src/glue.launch.a +++ b/src/glue.launch.a @@ -158,49 +158,15 @@ PlayGameInAY jmp Launch @loadFromSubdirectory - ; we start by placing the subdirectory name at gPathname+kGameDirectoryLen - ; to leave room for the GameDirectory name as the parent - - lda #kGameDirectoryLen - sta gPathname +LD16 SAVE - jsr AddToPath + +ST16 @p - ; attach the separator - - inc gPathname - lda #'/' - sta gPathname+1,x - - ; then we save the length of the resulting string without the count byte - - dex - txa - pha - - ; then attach the game name - - +LD16 SAVE - jsr AddToPath - - ; don't look while I do this - ; we "place" a string at gPathname+kGameDirectoryLen - ; whose length is the subdirectory name and game name - ; then we load it - ; the load sets the path to the GameDirectory - ; and then finds the subdirectory name and game name right after it - ; and attaches it to the path by overwriting the count byte - - ;;sec ; carry set by AddToPath - lda gPathname - sbc #kGameDirectoryLen - sta gPathname+kGameDirectoryLen jsr LoadFile ; load the game startup file !word kGameDirectory - !word gPathname+kGameDirectoryLen +@p !word $FDFD !word 0 ; use file's default address - pla + lda #1 sta ProDOS_prefix ; set 'root' directory to the path part ; of the game startup file we just loaded ; so games can load other files without diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 278874715..5b1c37024 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15606670 + !be24 15605888 !le16 5112 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 3e897f86a..8c8bc4c0d 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15551801 + !be24 15551019 !le16 5732 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index ea7fad039..019b99168 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15482686 + !be24 15481904 !le16 4192 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 8cb5099e9..ee45b4bc9 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15497345 + !be24 15496563 !le16 4650 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 2c8a6519d..e55f96341 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15516059 + !be24 15515277 !le16 6069 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 9c6b2e71c..4c779fcab 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15537549 + !be24 15536767 !le16 6688 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index e22fc4a82..4ddf056f7 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15611782 + !be24 15611000 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index a233841f4..79f67cde6 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15612536 + !be24 15611754 !le16 449 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 6490e2d56..dc42855b3 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15612985 + !be24 15612203 !le16 303 diff --git a/src/index/demo.idx.a b/src/index/demo.idx.a index 507804144..6fd8f0023 100644 --- a/src/index/demo.idx.a +++ b/src/index/demo.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 12378958 + !be24 12378176 !le16 1652 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index e1ac7e364..e0029b18f 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15560173 + !be24 15559391 !le16 1640 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index d117e7eee..412c04cc1 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15612268 + !be24 15611486 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index 81b194119..f3163f341 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15606611 + !be24 15605829 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 8b689ef2c..34b6a9810 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15605031 + !be24 15604249 !le16 1426 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index f5fa57c92..f6212ce57 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15589797 + !be24 15589015 !le16 557 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index d0026331c..a08c17ce8 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15557533 + !be24 15556751 !le16 2640 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 25cd80820..7ddf9f102 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15562171 + !be24 15561389 !le16 7564 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 30b7b5f40..b4a219a6a 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15612192 + !be24 15611410 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 34c9d9280..d6ce8d9a4 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15606457 + !be24 15605675 !le16 154 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index d41e4e4b2..d2d3dc32a 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15612335 + !be24 15611553 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 931f28ae5..c9b29cedb 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15590354 + !be24 15589572 !le16 4352 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 60fea04b4..b27374330 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15594706 + !be24 15593924 !le16 1733 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 185aef766..ca62d4aff 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15596439 + !be24 15595657 !le16 1181 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index ec2156f99..6883448e0 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15597620 + !be24 15596838 !le16 3376 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 7fa053202..e6e1ea97f 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15600996 + !be24 15600214 !le16 3429 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index eaea62c41..8e2ee7075 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15604425 + !be24 15603643 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 4df257605..8ef121e94 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15604904 + !be24 15604122 !le16 127 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index bcfd6fc32..941ac3279 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15613288 + !be24 15612506 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index b7147b8ef..24f1888dd 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15575140 + !be24 15574358 !le16 5083 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 62c1e8630..8ae02a1a5 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15580223 + !be24 15579441 !le16 2485 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 8b254bb4e..0f00a32ca 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15544237 + !be24 15543455 !le16 7564 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 69434bcb0..f92f33564 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15473156 + !be24 15472374 !le16 9530 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 88c9e563f..04850cace 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15486878 + !be24 15486096 !le16 10467 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index a044db73c..16b852ee0 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15501995 + !be24 15501213 !le16 14064 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index f126af5cd..44932b4e7 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15522128 + !be24 15521346 !le16 15421 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 816505a8c..e67f70b8f 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15561813 + !be24 15561031 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 887959275..c5a3c159f 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15569735 + !be24 15568953 !le16 5405 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 21c2fcdbd..236dc58d3 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15582708 + !be24 15581926 !le16 7089 diff --git a/src/index/xsingle.idx.a b/src/index/xsingle.idx.a index d61387bc7..c947a4c16 100644 --- a/src/index/xsingle.idx.a +++ b/src/index/xsingle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15468808 + !be24 15468026 !le16 4348