From a3a231f1c8d21b1f90ebdea2fc817de6ca28bc2a Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 4 Apr 2024 13:29:05 -0400 Subject: [PATCH] simplify progress file access, compress level data, roll clock and ProDOS --- Makefile | 50 +++- res/CLOCK.SYSTEM#FF0000 | Bin 0 -> 2678 bytes res/DATA | Bin 0 -> 47605 bytes res/PRODOS#FF0000 | Bin 0 -> 17128 bytes res/_FileInformation.txt | 1 + res/levels/_FileInformation.txt | 12 - res/work.po | Bin 143360 -> 143360 bytes src/constants.a | 8 +- src/data.index.a | 24 ++ src/exodecrunch.a | 487 ++++++++++++++++++++++++++++++++ src/glue.mli.a | 20 +- src/million.a | 6 + src/storage.a | 95 ++++--- src/ui.strings.a | 6 +- 14 files changed, 634 insertions(+), 75 deletions(-) create mode 100644 res/CLOCK.SYSTEM#FF0000 create mode 100644 res/DATA create mode 100644 res/PRODOS#FF0000 delete mode 100644 res/levels/_FileInformation.txt create mode 100644 src/data.index.a create mode 100644 src/exodecrunch.a diff --git a/Makefile b/Makefile index 0761aa2..4b90dea 100644 --- a/Makefile +++ b/Makefile @@ -19,26 +19,46 @@ ACME=acme # version 1.4.0 or later CADIUS=cadius -BUILDDISK=build/million +EXOMIZER=exomizer mem -lnone -P23 -f -q -asm: - mkdir -p build - $(ACME) -r build/million.lst src/million.a 2>build/log - cp res/work.po "$(BUILDDISK)".po >>build/log - cp res/_FileInformation.txt build/ >>build/log - $(CADIUS) ADDFILE "${BUILDDISK}".po "/MILLION/" "res/PROGRESS" >>build/log - $(CADIUS) ADDFILE "${BUILDDISK}".po "/MILLION/" "res/PREFS" >>build/log - $(CADIUS) ADDFILE "${BUILDDISK}".po "/MILLION/" "build/MILLION.SYSTEM" >>build/log - for f in res/levels/*; do $(CADIUS) ADDFILE "${BUILDDISK}".po "/MILLION/" "$$f" >>build/log; done - bin/po2do.py build/ build/ - rm "$(BUILDDISK)".po +BUILDDISK=build/million.po +DISKVOLUME=MILLION + +asm: dirs + $(ACME) -r build/million.lst src/million.a + +compress: dirs + for f in res/levels/*; do \ + $(EXOMIZER) "$$f"@0x9000 -o build/LEVEL."$$(basename $$f)"; \ + done + rm -f src/data.index.a + rm -f res/DATA + touch res/DATA + for f in build/LEVEL.*; do \ + echo "!word $$(wc -c < res/DATA)" >> src/data.index.a ;\ + echo "!word $$(wc -c < $$f)" >> src/data.index.a; \ + cat "$$f" >> res/DATA; \ + done + +dsk: asm + $(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C + cp res/_FileInformation.txt build/ + $(CADIUS) ADDFILE "${BUILDDISK}" "/$(DISKVOLUME)/" "res/PROGRESS" + $(CADIUS) ADDFILE "${BUILDDISK}" "/$(DISKVOLUME)/" "res/PREFS" + $(CADIUS) ADDFILE "${BUILDDISK}" "/$(DISKVOLUME)/" "res/DATA" + $(CADIUS) ADDFILE "${BUILDDISK}" "/$(DISKVOLUME)/" "res/CLOCK.SYSTEM#FF0000" + $(CADIUS) ADDFILE "${BUILDDISK}" "/$(DISKVOLUME)/" "build/MILLION.SYSTEM" + $(CADIUS) ADDFILE "${BUILDDISK}" "/$(DISKVOLUME)/" "res/PRODOS#FF0000" clean: rm -rf build/ -mount: - open "$(BUILDDISK)".dsk +dirs: + mkdir -p build -all: clean asm mount +mount: + open "$(BUILDDISK)" + +all: clean dsk mount al: all diff --git a/res/CLOCK.SYSTEM#FF0000 b/res/CLOCK.SYSTEM#FF0000 new file mode 100644 index 0000000000000000000000000000000000000000..90f0b26be91e5341b2cbc6a580b5c56ad104db12 GIT binary patch literal 2678 zcmaJ?eQX>@6`$KZ-<|L5czt_!yEZN!hygn_`2wMG#;~w1+k^N-5%`4n`F|pDm6K%yIb1{-culhN*k9dis28}`DnQ2({1D& zZ}*%JMGC9gncvRLzW09by?K)kV836^MKn}s#=}UMW;ZU?;7fJ5$S$RkfNKQ2QNU9T z>4HF4TjWXMNH14v(a?A=*Y=XLs^p(8vMV+!)%SP0OE5j$DHQwIb;UrWQ&7lvhmBe@T!}5@D~2ij@22Ro9=e!!_!->PUezhfX!;IAl1udHuxj|%^& zSOWf@H&%`GavGYRAJYL$jjGpxM0%or$<{;^01z^pTsEV(*&Gl;l?|;XpGG)^zZE6q zpr%coyK+H0e);l$FKd578T_wBSkSbC1hoq`MYeDgMsOuvW5uH3YB)8?nw zBRsGOEtAzV**pt7|5o{Lc1Iz!b2%~6dhH*+OlYff+ z?~CM-Sbs7GNw`ro_-Z?ahsBKfJu)Mbk417`BnvQ2Hi)<=y4pZlMOUfCsWmZtwl$X; z9BjtvpykNsGP=)l9y5b~-ypJ+rN=I96zN9M38{JZkYQ`_ib^dA;`>jFeM`Eh*&vv< zUK~~}FfFOL&f*abT3Lwpi{z|GLsmAw9g$g)?y;e1zbX{Py?URp0Mx2|WXLkoBw*oy zMR(bQvYNwH2!ET*^@HRiqQg^%yhA=WN*}h>x<&ui$C(lE0ICgvxBOk={ z{EiP}-12dgOO0ZpCwK`exW3H;^69j5a3Uy?(K+Zk~Rh@tL@W@MrO1#82BH^%{OVuH=w5Oc9TFCCn{=w^E;nyFAQ!_;J9?DevL6IiD7! zeh+^g@ETg>;YPqw8u0KkPiD}=oUA03h24?k5jFBM^d-*ZXJln22?QaX(G-}fh59F4 z)~P~7@@!us*T*ionY_dSGC2jMxFge6>Pl_v0MOO7tz)F@E3%KNpMyx#Dh`sD`nay1 zo}OBcgSbQPuYhoak_-sFo6k^?_1$^R2elrvCXI&?v6xl`BhPBIp!e<1=Vc|IFV4Pa zzMn&2apkA-7#w|`^h*Ooa&O2%iTpvrdnD6;WWNOdR0akms7sZ(AU!M{8H9ahx5rRD z_DKql_DgWValF4O5DZm^BQ>?l>V*2J7>g$)xpLM-IPJLhII2b7LFAEYJ(K$@j!EVk zyiUT;OS7mH#xF{aSXu_*Jwl}7tj*4*IeFlOMEfQ37l{&yyd$Ok^1TO9*7Y6lO5|M$ z&YdL@OIk|O`ob~k|0L;BnWj|}PLfG9IN``lppgm3$Es<~gtLZmB|iPO3^6@ulk+k? zWRnXrKIS$9;fu1l0@pT}UvnneS6t8pS1}B6hm^vOsn$AwHmlW7@fo=_{cwXjxb7w( z>X21b-L=WL3I104el>3=8zU40{xWpb)|>Tb<2Q!)_B;J!dDZGvj+Rb8mUZO!*pDz`LefLLqgnq-Z5B&x>nQ!%v;e>bj% zu_>ul_$gUMO1oF9jBn=}@mCv5&Bmh@kT5zcpw?Jd0e&cTN-i+|OykJ0(?#Ki`bUGk>3OeOlSPdDF&cw|xJ(t=-+vZux=o;~zc$)1N3&DG`swL|JP3Qe%Vs EKQ@S>zyJUM literal 0 HcmV?d00001 diff --git a/res/DATA b/res/DATA new file mode 100644 index 0000000000000000000000000000000000000000..78ee0ddbd2c983720b136d12a4e87f7b1053bcb5 GIT binary patch literal 47605 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 z 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 + sta get_crunched_byte+2 + jsr decrunch jsr PreParseWorldData cpx #100 beq @success -@failure lda #$FF +@failure lda WorldFileLoaded + jsr CloseFile ; ignore error, if any + lda #$FF sta WorldFileLoaded sec rts @filename - !byte 1 ; length + !text 4,"DATA" WorldFileLoaded !byte $FF ; no file @@ -124,25 +157,17 @@ PreParseWorldData ; see comments in MarkPuzzleCompleted for file format ; ; in: none -; out: C clear if file was read successfully, and -; progressRefNum contains ProDOS file reference number (file is left -; open) -; C set if error occurred, and -; progressRefNum = 0xFF +; out: C clear if file was read successfully +; C set if error occurred ;------------------------------------------------------------------------------ LoadProgressFromDisk - jsr OpenFile - !word @progressFile - !word PROGRESSFILEBUFFER - bcs + - sta @refnum - sta progressRefNum - jsr ReadFile -@refnum !byte $FD ; SMC + jsr LoadFile1Shot + !word progressFile !word PACKEDPROGRESS ; data address !word $00C0 ; data length -+ rts -@progressFile + !word PROGRESSFILEBUFFER + rts +progressFile !byte 8 !raw "PROGRESS" @@ -374,14 +399,13 @@ MarkPuzzleSkipped eor checksum iny sta ($FE), y - lda progressRefNum - jsr SetMarkTo0 - lda progressRefNum - jsr WriteFile + jsr SaveFile1Shot + !word progressFile + !byte 4 + !word 0 !word PACKEDPROGRESS !word $00C0 - lda progressRefNum - jsr FlushFile + !word PROGRESSFILEBUFFER pla tax pla @@ -412,3 +436,10 @@ FindPackedProgress bcc + inc $FF + rts + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts diff --git a/src/ui.strings.a b/src/ui.strings.a index cce3d4e..395e8f3 100644 --- a/src/ui.strings.a +++ b/src/ui.strings.a @@ -13,7 +13,7 @@ sTitleLine3 !raw "LETTERS" sVersion !byte 4 - !raw "V1.0" + !raw "V1.1" sOneSpace !byte 1 !raw " " @@ -89,8 +89,8 @@ sWorldHelp !byte 40 !raw "ARROWS TO SELECT, RETURN TO PLAY, OR ESC" sAboutWritten - !byte 21 - !raw "COPYRIGHT 2022 BY 4AM" + !byte 26 + !raw "COPYRIGHT 2022-2024 BY 4AM" sAboutTested !byte 21 !raw "PLAYTESTED BY OPTION8"