diff --git a/Makefile b/Makefile index 481236636..5f93913fc 100644 --- a/Makefile +++ b/Makefile @@ -44,12 +44,7 @@ dsk: index asmproboot asmlauncher # for f in \ build/TOTAL.DATA \ - res/TITLE \ - res/COVER \ - res/HELP \ build/PREFS.CONF \ - build/CREDITS \ - build/HELPTEXT \ res/DECRUNCH \ res/JOYSTICK \ res/Finder.Data \ @@ -113,6 +108,9 @@ index: md asmfx asmprelaunch compress [ -f build/index ] || bin/padto.sh build/TOTAL.DATA [ -f build/index ] || ((for f in res/TITLE.HGR/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/TITLE.HGR build/HGR.TITLES.LOG > build/TITLE.IDX) [ -f build/index ] || ((for f in res/TITLE.DHGR/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/TITLE.DHGR build/DHGR.TITLES.LOG > build/DTITLE.IDX) + [ -f build/index ] || bin/addfile.sh res/COVER build/TOTAL.DATA > src/index/res.cover.idx.a + [ -f build/index ] || bin/addfile.sh res/TITLE build/TOTAL.DATA > src/index/res.title.idx.a + [ -f build/index ] || bin/addfile.sh res/HELP build/TOTAL.DATA > src/index/res.help.idx.a # # precompute indexed files for game help # note: these can be padded because they're loaded into $800 at a time when $800..$1FFF is clobber-able @@ -201,6 +199,11 @@ index: md asmfx asmprelaunch compress [ -f build/index ] || bin/addfile.sh build/DHGR.IDX build/TOTAL.DATA > src/index/dhgr.idx.a [ -f build/index ] || bin/addfile.sh build/GR.IDX build/TOTAL.DATA > src/index/gr.idx.a [ -f build/index ] || bin/addfile.sh build/ARTWORK.IDX build/TOTAL.DATA > src/index/artwork.idx.a +# +# add additional miscellaneous files +# + [ -f build/index ] || bin/addfile.sh build/HELPTEXT build/TOTAL.DATA > src/index/helptext.idx.a + [ -f build/index ] || bin/addfile.sh build/CREDITS build/TOTAL.DATA > src/index/credits.idx.a touch build/index asmlauncher: md diff --git a/res/COVER b/res/COVER index 40f8b6ba0..e74f6b05d 100644 Binary files a/res/COVER and b/res/COVER differ diff --git a/res/HELP b/res/HELP index cea01e0a9..49c483d26 100644 Binary files a/res/HELP and b/res/HELP differ diff --git a/res/TITLE b/res/TITLE index 5de00a560..1d3e31e15 100644 Binary files a/res/TITLE and b/res/TITLE differ diff --git a/res/_FileInformation.txt b/res/_FileInformation.txt index 8b3a335f6..ae64b522c 100644 --- a/res/_FileInformation.txt +++ b/res/_FileInformation.txt @@ -2,11 +2,7 @@ LAUNCHER.SYSTEM=Type(FF),AuxType(2000),Access(C3) TOTAL.DATA=Type(06),AuxType(0000),Access(C3) -TOTAL.IDX=Type(06),AuxType(0000),Access(C3) PREFS.CONF=Type(04),AuxType(0000),Access(C3) -COVER=Type(06),AuxType(2000),Access(C3) -TITLE=Type(06),AuxType(2000),Access(C3) -HELP=Type(06),AuxType(2000),Access(C3) CREDITS=Type(06),AuxType(0800),Access(C3) HELPTEXT=Type(06),AuxType(0800),Access(C3) DECRUNCH=Type(06),AuxType(0200),Access(C3) diff --git a/src/constants.a b/src/constants.a index f6d8a7957..9dcee2764 100644 --- a/src/constants.a +++ b/src/constants.a @@ -201,7 +201,7 @@ PRELAUNCH_STANDARD_SIZE = 61 ; LoadStandardPrelaunch, eventually to be d iCurBlockLo = $D601 ; constant iCurBlockHi = $D603 ; constant launchpatch = $D853 ; glue.launch.a -iAddToPath = $FEBA ; Roger Rabbit, avoid, use Infiltrator 2 style instead +iAddToPath = $FEB9 ; Roger Rabbit, avoid, use Infiltrator 2 style instead itraverse = $DB31 ; Roger Rabbit, avoid, use Infiltrator 2 style instead ldrlo = $55 ; constant ldrhi = $56 ; constant diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 42de56a29..8281c487d 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 9882226 - !le16 4186 + !be24 10334857 + !le16 4493 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index be6b76514..f28d6a018 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 9835641 + !be24 10288272 !le16 5174 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index 115492067..6db84a6dc 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 9779017 + !be24 10231648 !le16 3580 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 090ff8eff..a4e28165c 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 9791349 + !be24 10243980 !le16 3940 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 860acc786..e70e64238 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 9806710 + !be24 10259341 !le16 4615 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 6326d7f4a..c7ab790ff 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 9823947 + !be24 10276578 !le16 5562 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 7b3ec4f2e..4f018165c 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 9842961 + !be24 10295592 !le16 1242 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index c3a9757e2..e93b54638 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 9880884 + !be24 10333515 !le16 1249 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index ae5bd8399..f021d0df1 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 9867032 + !be24 10319663 !le16 464 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 349e39844..68a6da695 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 9840815 + !be24 10293446 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 7a3dc5224..9da898e5f 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 9844203 + !be24 10296834 !le16 6132 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 48ce96f5f..3de783c8e 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 9882133 + !be24 10334764 !le16 93 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 8312ecd5f..16200c97a 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 9867496 + !be24 10320127 !le16 4364 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index d97fab544..a016be87f 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 9871860 + !be24 10324491 !le16 1516 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index fdc144965..3f4768d15 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 9873376 + !be24 10326007 !le16 1031 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 316548654..54e275aa7 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 9874407 + !be24 10327038 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 6e1d46bca..35252a72c 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 9877644 + !be24 10330275 !le16 2694 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 4c1835364..8514d1c94 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 9880338 + !be24 10332969 !le16 441 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 2638d0852..2b5f929e1 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 9880779 + !be24 10333410 !le16 105 diff --git a/src/index/miniattract.idx.a b/src/index/miniattract.idx.a index 231ecc3f8..5fe526a8b 100644 --- a/src/index/miniattract.idx.a +++ b/src/index/miniattract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 9855171 + !be24 10307802 !le16 6132 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index d16e79260..545acc110 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 9829509 + !be24 10282140 !le16 6132 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a new file mode 100644 index 000000000..f03a445d4 --- /dev/null +++ b/src/index/res.cover.idx.a @@ -0,0 +1,8 @@ +; +; Index record for res/COVER +; +; This file is automatically generated +; + !byte 0 + !be24 3523584 + !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a new file mode 100644 index 000000000..7a22c8014 --- /dev/null +++ b/src/index/res.help.idx.a @@ -0,0 +1,8 @@ +; +; Index record for res/HELP +; +; This file is automatically generated +; + !byte 0 + !be24 3539968 + !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a new file mode 100644 index 000000000..0233ec963 --- /dev/null +++ b/src/index/res.title.idx.a @@ -0,0 +1,8 @@ +; +; Index record for res/TITLE +; +; This file is automatically generated +; + !byte 0 + !be24 3531776 + !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index aadf38f6e..11cf39396 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 9771017 + !be24 10223648 !le16 8000 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 560581952..573ed1b4c 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 9782597 + !be24 10235228 !le16 8752 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 0fd1b5c5e..1d34e9de0 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 9795289 + !be24 10247920 !le16 11421 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 49546a742..97fe14701 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 9811325 + !be24 10263956 !le16 12622 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index 60d57c19c..de2586883 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 9850335 + !be24 10302966 !le16 4836 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index e0341f772..dcf822c7a 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 9861303 + !be24 10313934 !le16 5729 diff --git a/src/prodos.path.a b/src/prodos.path.a index ec45dc2d0..f500c3a10 100644 --- a/src/prodos.path.a +++ b/src/prodos.path.a @@ -159,22 +159,10 @@ kCreditsFile !byte 7 !raw "CREDITS" -kHelpBackgroundFile - !byte 4 - !raw "HELP" - kHelpTextFile !byte 8 !raw "HELPTEXT" -kTitleFile - !byte 5 - !raw "TITLE" - -kCoverFile - !byte 5 - !raw "COVER" - kCoverFadeFile !byte 9 !raw "COVERFADE" @@ -194,3 +182,12 @@ kDecrunchFile kJoystickFile !byte 8 !raw "JOYSTICK" + +kHelpBackgroundRecord + !source "src/index/res.help.idx.a" + +kTitleRecord + !source "src/index/res.title.idx.a" + +kCoverRecord + !source "src/index/res.cover.idx.a" diff --git a/src/ui.credits.a b/src/ui.credits.a index c67ec6c57..7d84ce1ee 100644 --- a/src/ui.credits.a +++ b/src/ui.credits.a @@ -37,10 +37,9 @@ Help clc bcc .clearAndDisplayHelp ; always branches -@global jsr LoadFile ; load help text into $800 - !word kRootDirectory - !word kHelpTextFile +@global jsr LoadIndexedFile ; load help text into $800 !word $800 + !word kHelpTextRecord jsr LoadHelpOffscreen ; load fancy backdrop ldx #7 @@ -55,10 +54,9 @@ Help ; all other flags and registers clobbered ;------------------------------------------------------------------------------ Credits - jsr LoadFile ; load credits text into $800 - !word kRootDirectory - !word kCreditsFile + jsr LoadIndexedFile ; load credits text into $800 !word $800 + !word kCreditsRecord .clearAndDisplayHelp jsr ForceHGRMode jsr ClearOffscreen diff --git a/src/ui.offscreen.a b/src/ui.offscreen.a index d41ad3c02..b753c94a2 100644 --- a/src/ui.offscreen.a +++ b/src/ui.offscreen.a @@ -50,7 +50,7 @@ OffscreenPage = * + 1 ; out: all flags and registers clobbered ;------------------------------------------------------------------------------ LoadTitleOffscreen - lda #kCoverFile ; all of these are on the same page + sta @addrhi + jsr LoadIndexedFile !byte $00 -+ !byte $FD ; SMC +@addrhi !byte $FD ; SMC +@indexlo !byte $FD ; SMC + !byte >kCoverRecord ; all of these are on the same page rts LoadGameTitleOffscreen