From 995e099c07b2e6f71c92d02a7e377e0c77e3615a Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 29 Mar 2024 15:04:59 -0400 Subject: [PATCH] source code for some recent ports --- .gitignore | 2 +- res/ports/common/res/PRODOS#FF0000 | Bin 0 -> 17128 bytes res/ports/common/src/constants.a | 71 +++ res/ports/common/src/exodecrunch.a | 489 ++++++++++++++++++++ res/ports/common/src/macros.a | 27 ++ res/ports/fox-and-geese/Makefile | 51 ++ res/ports/fox-and-geese/src/BOARD.PIC | Bin 0 -> 8192 bytes res/ports/fox-and-geese/src/OBJ | Bin 0 -> 42752 bytes res/ports/fox-and-geese/src/OBJ.X | Bin 0 -> 14487 bytes res/ports/fox-and-geese/src/fox.and.geese.a | 50 ++ res/ports/fox-and-geese/src/loader.a | 25 + res/ports/kono/Makefile | 51 ++ res/ports/kono/notes.txt | 37 ++ res/ports/kono/src/OBJ | Bin 0 -> 42752 bytes res/ports/kono/src/OBJ.X | Bin 0 -> 14423 bytes res/ports/kono/src/kono.a | 50 ++ res/ports/kono/src/loader.a | 25 + res/ports/mu-torere/Makefile | 51 ++ res/ports/mu-torere/src/OBJ | Bin 0 -> 42752 bytes res/ports/mu-torere/src/OBJ.X | Bin 0 -> 13832 bytes res/ports/mu-torere/src/loader.a | 25 + res/ports/mu-torere/src/mu.torere.a | 50 ++ res/ports/nine-mens-morris/Makefile | 51 ++ res/ports/nine-mens-morris/src/OBJ | Bin 0 -> 42752 bytes res/ports/nine-mens-morris/src/OBJ.X | Bin 0 -> 15109 bytes res/ports/nine-mens-morris/src/loader.a | 25 + res/ports/nine-mens-morris/src/nine.mens.a | 50 ++ res/ports/seega/Makefile | 51 ++ res/ports/seega/src/OBJ | Bin 0 -> 42752 bytes res/ports/seega/src/OBJ.X | Bin 0 -> 14472 bytes res/ports/seega/src/loader.a | 25 + res/ports/seega/src/seega.a | 50 ++ res/ports/wari/Makefile | 51 ++ res/ports/wari/src/OBJ | Bin 0 -> 42752 bytes res/ports/wari/src/OBJ.X | Bin 0 -> 14566 bytes res/ports/wari/src/loader.a | 25 + res/ports/wari/src/wari.a | 50 ++ 37 files changed, 1381 insertions(+), 1 deletion(-) create mode 100644 res/ports/common/res/PRODOS#FF0000 create mode 100644 res/ports/common/src/constants.a create mode 100644 res/ports/common/src/exodecrunch.a create mode 100644 res/ports/common/src/macros.a create mode 100644 res/ports/fox-and-geese/Makefile create mode 100644 res/ports/fox-and-geese/src/BOARD.PIC create mode 100644 res/ports/fox-and-geese/src/OBJ create mode 100644 res/ports/fox-and-geese/src/OBJ.X create mode 100644 res/ports/fox-and-geese/src/fox.and.geese.a create mode 100644 res/ports/fox-and-geese/src/loader.a create mode 100644 res/ports/kono/Makefile create mode 100644 res/ports/kono/notes.txt create mode 100644 res/ports/kono/src/OBJ create mode 100644 res/ports/kono/src/OBJ.X create mode 100644 res/ports/kono/src/kono.a create mode 100644 res/ports/kono/src/loader.a create mode 100644 res/ports/mu-torere/Makefile create mode 100644 res/ports/mu-torere/src/OBJ create mode 100644 res/ports/mu-torere/src/OBJ.X create mode 100644 res/ports/mu-torere/src/loader.a create mode 100644 res/ports/mu-torere/src/mu.torere.a create mode 100644 res/ports/nine-mens-morris/Makefile create mode 100644 res/ports/nine-mens-morris/src/OBJ create mode 100644 res/ports/nine-mens-morris/src/OBJ.X create mode 100644 res/ports/nine-mens-morris/src/loader.a create mode 100644 res/ports/nine-mens-morris/src/nine.mens.a create mode 100644 res/ports/seega/Makefile create mode 100644 res/ports/seega/src/OBJ create mode 100644 res/ports/seega/src/OBJ.X create mode 100644 res/ports/seega/src/loader.a create mode 100644 res/ports/seega/src/seega.a create mode 100644 res/ports/wari/Makefile create mode 100644 res/ports/wari/src/OBJ create mode 100644 res/ports/wari/src/OBJ.X create mode 100644 res/ports/wari/src/loader.a create mode 100644 res/ports/wari/src/wari.a diff --git a/.gitignore b/.gitignore index 76b94df..5aef988 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ .DS_Store __pycache__ -/build/ +build diff --git a/res/ports/common/res/PRODOS#FF0000 b/res/ports/common/res/PRODOS#FF0000 new file mode 100644 index 0000000000000000000000000000000000000000..7760a274015968d0567b60e21d344a464696d314 GIT binary patch literal 17128 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 literal 0 HcmV?d00001 diff --git a/res/ports/fox-and-geese/src/OBJ b/res/ports/fox-and-geese/src/OBJ new file mode 100644 index 0000000000000000000000000000000000000000..8065617e841071a98dde36a66be4b1620a443a39 GIT binary patch literal 42752 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 literal 0 HcmV?d00001 diff --git a/res/ports/fox-and-geese/src/OBJ.X b/res/ports/fox-and-geese/src/OBJ.X new file mode 100644 index 0000000000000000000000000000000000000000..6d2559f589075d80989c1d80c52ad009393e30eb GIT binary patch literal 14487 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 literal 0 HcmV?d00001 diff --git a/res/ports/fox-and-geese/src/fox.and.geese.a b/res/ports/fox-and-geese/src/fox.and.geese.a new file mode 100644 index 0000000..32ddfac --- /dev/null +++ b/res/ports/fox-and-geese/src/fox.and.geese.a @@ -0,0 +1,50 @@ +!cpu 6502 +*=$8000 +!to "build/FOX.AND.GEESE#068000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + jmp start + +compressed_data + !bin "src/OBJ.X" +DECRUNCH_FORWARDS = 1 +SHOW_PROGRESS_DURING_DECRUNCH = 1 +kExoProgressWidth = 18 ; depends on total size, max 38 + !src "../common/src/exodecrunch.a" + +start + +INIT_MACHINE +!if * != $B9ED { + !serious "Adjust prelaunch to patch JSR at ", * +} + jsr decrunch ; compressed data contains target address + bit GFXMODE + bit PAGE1 + bit HIRES + bit FULLGFX + jsr $900 + ldx #$20 + ldy #$00 +@a lda $9000, y +@b sta $2000, y + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + jsr $906 + bit CLEARKBD + jsr PRODOS_MLI + !byte CMD_QUIT + !word + ++ !byte 4 + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts diff --git a/res/ports/fox-and-geese/src/loader.a b/res/ports/fox-and-geese/src/loader.a new file mode 100644 index 0000000..0eafba1 --- /dev/null +++ b/res/ports/fox-and-geese/src/loader.a @@ -0,0 +1,25 @@ +!cpu 6502 +*=$2000 +!to "build/LOADER.SYSTEM#FF2000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + +READ_ENTIRE_FILE parm_boot_open, parm_boot_read + jmp (entry) + +parm_boot_open + !byte 3 + !word filename + !word $2100 + !byte 0 + +parm_boot_read + !byte 4 + !byte 1 +entry !word $8000 + !word $FFFF + !word 0 + +filename + !text 13,"FOX.AND.GEESE" diff --git a/res/ports/kono/Makefile b/res/ports/kono/Makefile new file mode 100644 index 0000000..e02e8bd --- /dev/null +++ b/res/ports/kono/Makefile @@ -0,0 +1,51 @@ +# https://sourceforge.net/projects/acme-crossass/ +ACME=acme + +# https://github.com/mach-kernel/cadius +CADIUS=cadius + +EXOMIZER=exomizer mem -lnone -P23 -f -q + +BUILDDIR=build +DISKVOLUME=KONO +LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000 +EXE=$(BUILDDIR)/KONO\#068000 +COMPRESSED=src/OBJ.X +SOURCES=$(wildcard src/*.a) $(COMPRESSED) +RES=$(wildcard res/*) $(wildcard ../common/res/*) +BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po + +.PHONY: clean mount all + +$(BUILDDISK): $(EXE) $(LOADER) $(RES) + +$(LOADER): $(SOURCES) | $(BUILDDIR) + $(ACME) src/loader.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C + @touch "$@" + +$(EXE): $(SOURCES) $(COMPRESSED) | $(BUILDDIR) + $(ACME) src/kono.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C + @touch "$@" + +$(RES): $(BUILDDIR) + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C + @touch "$@" + +$(COMPRESSED): + $(EXOMIZER) src/OBJ@0x0900 -o "$@" + +mount: $(BUILDDISK) + @open "$(BUILDDISK)" + +clean: + rm -rf "$(BUILDDIR)" + +$(BUILDDIR): + mkdir -p "$@" + $(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C + +all: clean mount + +.NOTPARALLEL: diff --git a/res/ports/kono/notes.txt b/res/ports/kono/notes.txt new file mode 100644 index 0000000..0243e40 --- /dev/null +++ b/res/ports/kono/notes.txt @@ -0,0 +1,37 @@ +BLOAD OBJ.0900 ($0900..$3FFF) +BLOAD OBJ.5000 ($5000..$8FFF) +JSR $900 +BLOAD BOARD.PIC ($2000.$3FFF) +JSR $906 +MLI quit + +-=-=- + +BLOAD OBJ ($0900..$AFFF) +JSR $900 +copy $20 pages from $9000 to $2000 +JSR $906 +MLI quit + +-=-=- + +exomizer mem -q -P23 -lnone -f "OBJ"@0x0900 -o "OBJ.X" + +-f means forward decrunching so it'll start at $900 and +work its way up + +use version of exodecrunch that's in Passport with +DECRUNCH_FORWARDS = 1 + +that version also supports drawing a progress bar + +it's OK if earlier compressed data gets overwritten by +uncompressed data (decrunch never needs to go back to +previous data) so just load compressed data high enough +in memory that it can read and write the final bytes +i.e. uncompressed data ends at $AFFF so compressed data +can start before that as long as it ends after $B000 + +warning: XSingle index pads reads to 512 bytes +so don't put compressed data TOO high or the padding +might end up clobbering ProDOS code at $BF00 diff --git a/res/ports/kono/src/OBJ b/res/ports/kono/src/OBJ new file mode 100644 index 0000000000000000000000000000000000000000..0c775bfce9a840c8cfdf848c021beb8e3818731a GIT binary patch literal 42752 zcmeHw4M0>?+W#E}1{j7<5eE>tsTsPO6lG?vxSMU(PP={qC4G#73YJ%Q+ctJJ8AQ^^ zt5~sby}2>jx-uh!(ATP|;0G!uFsWpj1=gz$cLtvocV36UhK%NV;a0QQ9e8gIT|DBHKjAoV1N3i>teOC+= zY?G>OY1OtV)wZyO;z+?3zEDgQY!M5^+XVjCVK&v`GHx-S5oS{_F7sK;XNOsIW;L&w zZHW?t1xtb$B3J^%P{DGO7$#U;Vn2Z&7G~*JFt~uXs0wbjEHwAwCx_X>s`BY$@oV4Nx9ZlSiy>07(e9?0KhGx28U=OqH7M!bVD~rV1Ek#ts19GT0?vgA4YH%!CbtS<717MQ1cu7Z-{s5U+t%8b=euts#R1? zyn%>89cJ-0bNmN7XaBlW!4>^#)y^>B*YMA?F=G7$5TW*48v!;5bRdDo)vD~FWf(B6 zCDW|se;H;tr4IyY9gkW8Om4xa;qZ~t{d=rhb)q9kE*eLsAloy#-VU+n$ zkC6Q(c{Ceu7}s-VpKIYN@L#GibCnwLF`YP1C(h9AL;i7{DCoqQET5qh=djEyotVus zvvuNJmU%)a&ew@g>Y%=l@`+*m&pYQb-DQ+Ba*oGzjwf`E89GOX&M`~pn4@!K>l{z& z9P@OJ`8p%lP0}(0v%T{}t;QZ~tNy_r01^5MhAldaKhBVMV0D2%EKy_jt<+2e>(xTm z=(E*AZ2&-3B>FA7dSAibXcSKcuN)?<7%tcj2wLklTgcY3khMP0CO*+<8zvMCwhb4Y zfe?I%c>@V+0I6A1FloOzL_8h5ZC!|XCYb+Au&qw0^|e2!DCg_W*|nnciP}QgSFt_F zcAKEj4uXl;`_{gQqUH9FQ8fAt71e%Tag-1=1v_ttGH>C3ALblte_t{rGNS;wc8yXS z1Peoj^F_1)Gq6i9e&^KHKSFXr%2-FjSHsfq|lg&Ib#mp8ZKt35=W&2lXTgje&$Leg%V(O{Q!x z%l-;kGJ)X4AWI)sVxUS6mT%m1rn!mR-Spj=6HVOCrc-Ae+#zRE(}~j@e2gi?W(vWW zm_oMZhCnEGzj{-M{aX|o_w3$zs3CRv-`;kHAti7xgsciF4tYHU91i5PgE($Fr%mU$ zrJS~a<2G_y&M&x+E;v#j6ZaLzy&vKXxjXdfP|gn(!P?;}m8vG>vk;9Br`0^nzCS~r zzS@8fn=YHbJJx)msZBh1p&7@IE}S_JY@F6FQhS$1qjH5rhH3_*RU!M1LY}_bfE`X} zb5mW*g|;Sff6L{z^Jh+cE835J{WT#0*5fV5&V9`V_u;g`dhPI#5Y@!c$3iua0?FUm z_h-n{R~vA!sqMnqCK0Fe$IhL{+1Y&TGS?@D)Aotc-V_>RtBbk*BX# z+u#rzPM+jM`?;pJHuL$@P3HBVt~Y;+E}d^Nx1u9u;xWf%a|>$DQ4zpEshqP_mVF|c z4;|iN{>0vJNHibVy~F%gg{NdgrBqf|Q{VV00UKTpGkh6l*dAy2BCMyso5KzFgc~x# z4KIfqeh4?jMHr?;81fSIR7}_HYZ}u^K*2i$Hk6~Y=;gcvsbU#Ca-f&Nh zVM2`Ip%_DIjNv}Lp-6AI5^H!S%J4vc!_@vV#Y=q*+xr@f?DEc73tw;&Veu3^#UMev zT@aH5OQd**0PDX~uxt}Yk=N}bhtRWB2#g_ptT`U$Ub{JsMrg8ky@<}ktjxzPhx5H6Y+ z=+ba8m!LOu`~$fP{5b}H*tk?%5QP4GAI={PcYGgS_I{7VxayTD;9w4@h;pLaY%Wyg7f}teb2>5+c1M#9ecgdZ*9KPcFa3eVcaZ&`xOpbWf z8E%^tvD_J~pEoI@=%QnCg#Da_E1Mi)T>0Awsy7FWKKt8jTdemAndn) z$xrQ%aw8{hh!Ee65VuCGutuzSCt}41#1t>ASR28=6;ZYpD9d@l!9&zx&Yzz~W-Avq zk;b5#yF)0t*LDZ1yi-7xVOAeB z;?G5h=02z&eb(GZYIuek)^dqjJC)bnE>r~Bpt3|OK-p13k;XQPvgrLtp)66b2X5mEwsOxK>iUF*ZEY_o1On?e*U|@E zDB0#)pwAw>)%SU*=ZbK_b{n~QBh3R0r~A-}|IfZ=4mFh;%%t{3?z4Z#YS#@GV+7lN z3N`+GT!a`aIAVo$HzSt(5H9vduI@v@?#FNMyXR(Lu-(P_qY-1GfNW1B|8!r+o=8mR z67};&qQ7o836?-FTcH;aM7=fx-axhWe z5n=fp6B?ZUf(b7)V_*5+NTSt*RG!|}_e}VtWn+>s% z7Q%^P6@T9s*lZ&OaSRQlcn=f9SV7|2HkwAyb~lNXf3uJ6_kC+c`;c|K*&kiiXZwKd zSJ~J@b}ZJ{eo!IH{h;7|6&(Ge}!^g>;nU~j2kEI{?k^g?+w zybbeKp;4RRtwN$?=M@n}&MQ2sJO(Dk|CQrUH^&P0^G1y(ARsW%-_Or4Ai&Sx*FON) zQquToP#NgHL?%eNV7Xu<|6rxa&p*IVOBeq51W>LZXsLGPktjHsBT=ihPzSA|mn%Mw z;y;OkRL0i6?i^j~at72EJI`Xy6;=OnRN2Q-i62&KCtA4G+AQAM&+rlzt=1km5>=sb zd>n;q{;ht7GSUbBlYTa?I?*TWJ29*pcm@L>54`<>PhY#-8Ch#CimLsgB4Q%%r_X{e zihcA(mNycPPol)N{V+gK^|e~)F0y`s6##pc9l;~ufo?L;PLkRD25k1Vt?lPLCN}~K zfE!-#hXEU2yQLywXsGyRzu>j~?7o%?I}gxWZABj}R-l9P-s}f(!>E2JB@S$T^wh&q z{V;LMG~bROJCW(hUBc)q&=c5VwE(S#-+^lH5U2;XYNmiY1QZ$TBlY%ymO)~q-ZoKq zKqXET%I^}&pqY0I2peYo+P)T!f9yNU?XW!Rg#E5apcX=QDIDSe5 z$x{u@B!Rwc*V<|$9taa_;jWGRow4htlNl97!!*;y)zLOgHJ{hpLIiP{URbj`~Y3rsHJiIQY;1P1masn#Y$2dX4_pyZUNHk$urFX1iXhc1K zD%$qEUVKqcbXMqXqP{LnKp1;LUstGi4yzOO&g6>Nq5!$zcK+#T+l%_T<$8pM7xaer zl@?zqE&1|j+X{W%DgqD*z$n2x@2Oj%cSaWJ;M)Uah(usBM9c8bbNte1aiyN$A3bpd zPJB#OFiu;&AT&S@co3FQqrrhbLQ%khNO*h%e`6W?aWwY8GQCq{<4k-->;ta5IX<|b zKt%zLqG-F?u{zrEqTWbUP(@UtIlc=P$l0<6~-gB-*h;Z!CX7&!3JF zmqd%NMf2@3VqUcPYIHdSiNbfI#SfyzeXRVQXmLxlxEEpMtXqLn^_g~|9M@bC&W{zPK ztxu^oifY4c;et~KF`$VA$mUcp8M)@ZLXoaHN~rLc+@8@AYoxM3D)WU0G+Kgb4jiZNzCmMyx?tU@MHaQapZDGDO@TsKm1>MNqLB$vvILMj5yYF1vPwx}pxiI4SP z@p%80PxLq19_wHBc>i+bz(7IZQd;2;i7OitR~djfi;F}^jHWy|($qnUn%U&ZSP7;t zcTU|>jG>AJvd4yyx3!0G205@$b;18Bpus}0%Ikz3;) zk6Rh%6P25*#^N)W>&rcpdnec3=b7BchCMbc4WHaxf|o{t<2*T~L^|i@rVNul1n)}b z61fC!FgGxF5ZCP|cTmcZlv`8Aq>OPT(>=*a)fQen7zeq26lcNM@{W(q14)dSTnvzzWjR%$70m@lLb8Y>n(sHxZ-cVbA*i!bX`GW&qO;Jk?4;2KSY3ZQCq)jOHJK>zY*9uu-i=uSG}Rs zW22o7pKRG&VLo`6c%_TOpW188yZ7ugSD--Ro7jgiNN#i{Nl>m)E@||X9F%KFMiR7K z0?8{S2X-ikm`sVX*}h|M4aiw}{^K17Yj^BCP}6Aj`V?{<`DU+c?>fr6SXwVZTcO~rGPBB)Y$RSTJMt1`74Z6l}x4J((X&H4N@6Z zv|e^?=md|l!`8+^Q)yn|(Gn9?`&&xHnf#C zy~*%=Rm5)tg?2j zYOmT<-{#!)mYaU*iOuz{64xqM)ynPr+uGZlCtSNE3Lg1Z*`*SzYhz=nLWL2nx>B-3 zX5o+wqtrLLKBAIBlc~sLXFadBLIO)50&{`8|Bc5bJi9mj!+gYg!R3o;%TwDMAE-b&~4Q+d^e%T}&g zwRPpCHI18&y8GYw&CA~~OsjU74_U8BeeZCUY<0O#$@G^szUA(dwfOJF5+#Xmmy7gu zd!x01WbOVmxlUN>-&(VN^UA7~t);~)TbG|g{pHq|QPK+fyFK)&4H05kt}qO(8)eGU z$=Z0_gSnBoRrHMN<^1R0|HDn)3;LR6%J?%_MyJswOS!ah11oSJl+kCflC&he&=Ar= z=~HZNe1na+yF{t!?%avK(&DJAS4huJpLZ)p*qP7I_(#s&@Zyv6Bv9R7=oyr|Zql z`}eMDaFulIwRX7LtB$&yttZ^$-|9Ny+Uv@9Epsh%Y~Bz1uWu_YkbR)*gK8Hn0;y8! z8TFWOvQI$=al)$EL9r2~9`s2!&N-Lu-Ic$rKEKHHhIOTBjdN3V+tD2!`lYAH{yUbz z{_T5`qpiaZW(x-x&TN+s9zyxhzGe$Vi@oXaj+ zk64{HLe1YBttHmRO>P+LG0FZx zt&9C%O`k9mA!h&WjLwx#_E+VhO*yhZMbD_6od4p)UPUsU;jeM!ZGSav1RGrqZdgL> zNs9DY|A;=F+zv%w zNhN^%+-?5_xbo;<9))B%DS5lKSZXK7B88vM_J5_M_-NH~kNr1ZZT}n5^0@1*P5V~u zh5fq_e_ib^r>pfutH=Ia$6UK8HpBiup!ok~8|Dd&;&F;V5`H=UpG23IDcoE@@9b80 z?-d*M$iT%kN3#F5^@w3>to7D4$KhpmSG(!wl`h?+^xstIG?|u~5Um*vX`~qeS&n4? z3Vx}!s@3%oC-LB}Q6Q>1>5Wnnr!zHC{So-6289 z?T&On1FH@%QS3l!&Fuf3F7|JQ{a+n_3lA5<)?Kdr8qBAzNYd?aEs^@fjuwjV?hn@> zM<^MB^c8vn3Bd~}pH|Z;OZ~DpFx%LU`3H;tdDYg|qpMNUy2j)^|DZO63if|k?pynd zGH&Vg=HWsGFU}-)#n(~2oNxX1khQ=~-wXa4Wp4RXJ+q`n#agVZy|ju*bQ(u#+$F5= z(6VO8RQ{XsA9Fe8Pp`o~;IaQ!W`8XHy|D@A z*|vk?UorFetGnZO&zq-}xRcqeQ~*W&iT(rxA1IDnuPdnjQ9b;a2wN z=S+KDdtWx!zg1v%+kaV&n|>o=9@2&@7K+!GC7v0kV)8a}lKWiPzOk`T)-6d7sxG)> z9 zwCUr7FZT47=KCvMt2#>oXY{iCF{-F4aZrn~=W#puKS73;aOVYe4~*NdI( zk7g^%3>euend*Cm4c3~@`sc-uhchMTO~14KU$8WKdq2=n+OTsWV@<*hyYjYwdtoQY z-qV*McXYV^-jn?^IeF}#G~ji{jdb{-^BRo2h0Gm1#gXR~-Y~~RtWo+e&A-|DcRREH zU9|o!W){e-4mo99q*$zsGwgrKVK4GWwpVoSv26dQ_3itroDFZ)yd~S;?zUC!Zu@I3 zZF&u{dF`6@uhdsj{KpEM){5Z3Z5i$nAV2M8|1L{IsfPi@FDd<${W-J$L)Ll^{pz;% zy>9xAR@SSxu56(7AMD?4NA{y0-0~d(>y`D5l5e7U4NH)+wH@mR*VXH`Yui8OiHiKa zdbyzv^h-#Fh0yrpRWb#PqSyL+wIX9#Iwdr&pyc73`d@JIsB15+za6suV=DEL_45yw zVMS0y_Mh*jkJ&tvz=p;`tp8aoZ+xTboTu-=yu~e3;8sRM_RVrH8w$PGU(EhHmbI^1 zxwWIj%HqFd|0rShU+Sh0j7+afi#rqyS2im5R2UbXJuCHFz8_QUWq-xi1J)gG-SFnO z`@A=O$^H*ZvbSE?kk=)$cE&(Fu~CvDureMvU!{Rwb)9i|jlUPnN2jaIy|8~p(?~zO zIlZ?1LuNFIo>xi!NAbq6g|(gS zzs{>K=&x-5ubA8S{cwrw&m_&i>)YP=(rtgR|ILWaCfNVVDvJM?+Aw!)Bwv2D{hxG| zaPEFUYnS21L6tHC@%F?_+LHG>x8qb^J?x*&KWP4s`A55V{3n0t+PHg5BcuZRm+n2H zCr8}#Z}OMY_`&BXYdo1dNMJ*&YwtJgKA5NfrUKmcGnw;DSW{W?U5>k-xDzO)Mw7{- z|KGdFt08f)J`5+}I0{X=sNPd+5`LB+qPVue_Juz#n{wYTk|BIXyxEp z4P8L(;SyHF4o5aA^8~pEQmj6A*y^Zl+eY?R&F;T#u5a7g(8c~SH(0+yv42Lt*sb9} zu0&FYYh#Vu{+afza;=h9CGNg@q%G;jao35}WdAO@|3LQN>S}HGn*U1kxsuhJu1N7; zZeMKO>*<e@G5P~Pq`ZC{(C#-#A{&N z9{oRFBH4dQW8pShi_rX|!)3u;8n^u)_OkyANADQSbo^L4Ra5)-{|_mtMdv)`RsD#v0ST#MQO?Y3wIp9*aeRG zxc0}JKGW-s-uADIsl( z-jKz4*}oDGur_P&GzJQ#?$6%z6^PaojoTZP`DHhllWL3Ce2vM;D*F8m>t8SX?Bo-GZN_I5!inf z(eH4rujug1?Y!r;1&V$s_D}Gzf10a#KCpjybKYC&qlDM#_eUREuN@GBovKf z7^PK_)LU=+=Nbz?>Ns53GgVKmH+?Ctxk}{w&Q_x7l}b9_S0~@}mDD59Z*bpNYrItD z@de%VSfZUPCx!k`=bt3-lLUT}z)uqRNdiAf;3oW3Xm~djN83*9USaXaCN_M;!~BEOZQMe zUZp%{$eCv0)@uG*nZ7^ld+WA)7ygwiI(;-JU0+b{B;O|ey`*KJOBMmo?8l;59%H-u^?fd-L|nhM zubR{NtaLh#PU8=z8GcSJ6YrGSu1v=(>%q1y>2)8ZJNb$*!v~XX$OT9x6(Kmw$g3th z)!@KLtw+kO0XZ1l4OQXYOopPUZ-t!0+g*YDv(wN5Z)(wzUfB{W)5W*b#fmB7xG9Rz zoP$8HZrqfjzIHA48Ui~y6ac^mu;eKuGyf^J_|DW=gatC(U0>W;V59jpu6-cHw|KO~&hQ^l92iZ4$UUzzIN zkMb$@Fvset=!AYADqo&zNS#`@af&_I@sd>d3bi2aKeDZ!s?}ILp zqBYuHq4W1fi%CCk_0-X4Uz$qDMxT9Us?2(Q$J$##x zS~rxoYqC$A z&(+e^|2o#342!8Zp}v zh|LzT9Tc|7m>A~SUTt=mEWf0>Fghot|f~0B#@K@C~?iv+;sIYj!Of)dFymWK}+pZU_CbY#DfMPJ1n5A(%Ge zVspkq@{MqjfJF^9ApqCSX>*Z~ccd9@jx;zbZSdJN08-$GCdcuwJj`T5GV>Og#R=7A zmha^f+}obP0q~U%V~Z)gz@30sqk#gh!M)iOd;tc)@;SK(6?un8%!}ctBvVBRHeZ8m zJCB+>b^;gtn`OE=9Gj2fLW(UBvu*K<%LcIB_ikET#?$V5dJ6oj7l1dvsyfsISc@PPepRZ>#mv_EhV!f0THl#c}?O;{x_N z^1Ye6+xM^R`!e$Mz1#O8_I=s+8C*Z(u1`Z9eV+mRGg>}j8Z5^i3vUbuuEo&4grPMQ zPDd_Z&b@;%hkx$2-e`#QqnXvWb7@QH=Dsv{L7R*Ug+pu(+7ON#R98E=@dc^ihy7)54%yui1wBrpN zKqf4|{^fN0aU-WDh25A=3R{tGv~5f$4XsEg4TTANC9_w86BrQUduZPddrkSFhQ|8c zA9_{FS-`}1g4xq84BrW+u3MO!LcM7n=oZE=$k*DrV(*T+8gr$&^a$QQwwTS}N2itX z>})u=yXIhLaJmA_K!w)M0}Z>n=@!A}L*1W4u8Xb6T6^n!W2dzknjFPL|_hZ*1v z^KSPrao#ZRbq~|u8|MA)VPb>5`1wcoFfraRo4SXIR%A%>+1x!$sGk?D%8ILjAVWV* zw`2OYxs-gFG^SAst-2kDx*IMUix_3x3FaDO(NDp%tL8vA8pd=ZTIsvJwq{pNHv4q3!`i6AduXoI)dm275|J_172kK<`9NBSAegYI)dup!<h2O~X%v{f z4Go8Cx&Z=AbYQnUziTc%R8zBe2jf|<$Y&4Rc;PBUhWm_$*NlcwjfU@x2HzQmu`><- zG1JgL!|=NdL-Y*8KQau-nTE$QJ(&SB4Z2x|`(_!Qnq|nHWw6dLgw4cU%}22LVCzm1 z3$e$IHr?)8-tKSvVR!AvPQQ9=%6c5Nc9jtT?`6>Tk6qxfuwc)}HeBNns4*!e`q_LR{fh*2KvEDDFlz#?(?46%NO z*f>M{Y=)?xX$!#?YuJE>E3$`H7gn^_%pi({Bzn^he)&@o&%Z9j`{jXrZb|40UKqf>JJR>Am9*r(rweOb!i7gift z6b$0kTv&j#;~?(7m?KGVb9^BUTaF*?N_WW@d*PJ(2-|Y}*@lTh0&Sb96O0qra?b~p zzn8J{-Hhi0v186V8ChlTXBfC@%;TZmzhIlq{gQ1qcQ4z98p<$1zzj&dPq6(8w&f!R zWm>p-_Y0yf({{g5_A8;2Mg(S(Mg(Na8etF|L7C79U8c82*p_9MJ)cQ?TfdN5wmg&e zwx-?0Y`+%72VgoAXirSreQaY{Qd6puC_#Vf9}w(=BuH#A_5ihWYTbB@axNpxSeW^@ zOrM}!RW6sz<#ITy7yAD$)EGZLl=J6&d;&Rc95(=;aoq1YqiVdGO1o~fTFcQ2Oo zSdH@Vh7)G-$(cNyBg+{1+*!E5)X^D83IvatHH+8H0y5_}4`H+4COgMJHOokY_R=hJ zNiWYLm-GsXUYbRU@bWBDgjZ%k5saDK?Jim_|2SWRezxJ`*@l8ShOg%sn&%jNvkX7W zGEB}A&&*!&&1_4k`0Z@V9CH%86=OR)o0xUXCT3e^gIQXf2QMzuu`SQ%nA6zy%eFJK zG2gDp+PX0dTYlrJ?3>wq!5o{DwQgmt&&jQ&o5uIsYROZ?tb5EkcHNbs$<}Rcgd%kD z))1Pq8**pkeh9nYMfXLzRe4zL?_p`T1ykeKq({;(XP<{{B){g2z!CId%?Cznrslj_Q7Htm;Mf zr98XV5}X0C-vZ?6`;>NP&1dFAHJ@!Ub6U}V?utWmND3wJ7+k)m6Jh4qXx8U(@ zfpfP8%;mZHMvgn3UOMS$`tn3)`aU!A3nuc-bFx-zjaX11^v)Y16liU?2)O?lRF)uA zq8vM!o{5|Y#XQ56X01)21u9k?w8`}dELaCf3sxgmCFTV9aea0q)Ii=ZbEtq@8B{hx zQU{|Y3%l1A6=>m3S7BE!Y+LJc#;*(do0hhLj-cD?8mgQXR1oA?m1Y0Jwkper8#Z(g z2i}q7hE1RMaA{Ghr}uE-deuXFxaah$Ejo_h#93XnS^Kk2W@)nrXWy3ni|j|U=VkvX z`_=6Cvj3UQ9cXF!w$0pp=G!Lo#U}IVW8XE2$IKVcI2=vqxcV0JS?u(S>ZX(D%gyE^ zO(Fr9kD1S7Elqm?mve_tA3JZpc&rVDSZQAt9oX2Kwc={A0dvcRQ>V|H+giAW#$Ef$ zPypc57tWpcG;=p}a{j?Q3cN+I+d?!a4Kl zmUC@QZDni&;`67^IKDmOI7MyESoE`N^ReSC*r1rvq;7EC?FubQTNaxgO&8@39cgMl z(Ly*{*xiCQ^T~59XT@X9&E{k0S}x!|0BtLMvE^Lz*X0~HcPR+>HmBdvWv=)i$~s3 z78mktc}yIkB}oHUfAEAr@Z-dSA1mhke?-Uk|MtF;!-aZvN(nT>WNBRn_Z)}d$Q8*2 zE4Z0HK9Q=IS)SSg{&K$w9 z7VN*t02aSu9-fb1((UuJO0%r%?i;`EGJjzHy6=H&-4Fck`Rm&G>iLz;XjgFMWV8LV zlV=U{=Cgl&@D=f0x!c&2Jk&v=u~wZjE`<#jUI}IV5U<>5Fi*U4 zAnzhxsb4O_C}q%$Gg1klQ4@;HGGbNTL1ekb@mxDmGv>x~mjJ~wN0G_P$xY^}k;$iw z6YpX8F9J+EGNFrd)m#T<7Gn}hnfS$+o4Pt@P$iY9x$!Ks$Y05Xaz<8yky{{Ta^=i| zTy+jBF@l_&iC-*dk|AKw!YHv6&(R42jpvlahL__YDHF%DT}n9-u)=sPfGmAFA(*P1}4kRsQ{@%>AM9eK88YnYlU0 zP?aZ>8{fBNd%IM!Y>iXONXy4~u6~2+l3vNj!{#x59| z@_W}U9>zR84_h#7{M=uF`C<2ka^t2^rmsF;okE!uAM}G|v?LlTVIQvy`BIZ9f%;Av z^nKCO4OJbNLF?*_8^)cv8pd7XhPj%kQbHggiqVnAJ6Gi!fd8ek`03v!voAM3nSm(R zbfyB|0QGnYf=U*IG9a#NOU*!rH93vQjggN&)3lSuq~%PWdH)e#Nz&a*3ISqVq9P)Ej zMxygpB^^hMpyPj$!kCm{!20Kuxj2U8CO--~9EZG2Avc+Dd&!;Ud)o(zCrOh2qY0Bb zvFlOlgU$Be=!49kL@f?G7^lq*eu|Evi*OwC#jPYak9?&5^tKOPeV1glIA!h=W6~Dp z<~|Dw*kc*Er7`w`ydf!hwUb8r&uM=K$A8YvrE!obJa!M!@q+xXQt-whQJee3Vv^Ex zBS}jC0t%h9)w~qA=f2rQ+;4b~j<#;K)lZLzr{WMW5NI$oxXR5{Ar|MV*@5DTKRY0k z8`|50rascoupIAEVcW*fq$9av(n=SSRQwEw@V0Yb6kdp~BRN>ZIh?hL*wqm&}t+oNT~ zrmlroL#q8b8h<5y$BqB6#nB?ty%O_>E%=8}9RA4|o5m<-+%BXrPPYx&St(b}O1W}Y zQ2%tkz63t3`Sj2hQU14QwPpLuJ}j#A`<^@DBr?F+FqqnF)XV`yT_Io%`&8XK&51Gl#QtY0z23rWdi#>!6m_9LmZE~90O#yk4d3@gRywQ0R@+Rdy znwORL2W+tPm%O!k<#}83_T(MR`!esFyzlaSmV_*cSu$kF*d-H}Oj}}H^3;-?B}2fH0yUwbp&I57Re_^M z#mW_c8I_9&bB}&t)X(b+a>AzW=CEy4a-IEU(c}?4_g%4Dna9(i3sgfu2#n@a#smBu!T1C&Qfo9%2gmASbx#Lt zG>e$v7}eyYBodD*5Ny$(+!Df+xj`Y4RGyrq4pk?~y`{V?sc}ha^*u?_XaU%bGn51+ zOKL2{p-3SqHq<{fR-(&>jp6hORIBe-&sX2WiWq9f&233{CEt@YNal>Vk>o_|DjYy~ zNrPfZd8D2w*asx32PjlA_>>q7VM$85)sr6}$w?x854gBrLd_stUardg`sM1yU z;zL)|6FeIT4y2JM4wSK!%4s+WhH;sgXr%lAl&R&m<1m;~uQZx?XqKY?gi`4hp_Imw zC=%^-aN*5C#;E?IGGvUbWnv=w%5llEC2#%L|NmQJ1>KhtP1%sBUr6jXUteGR9!!ZD zj7H-xCHbG*1xkq?X+jE;k~9E1`Y(7$AyR^8r9}Vq7Aagx5mM?SrAR6Dl~RIo;^B`QQBfzap>yt!LSB{g+SI>-Y5#OAhne zN6C|3``DF!S9)DBcf}<8X!l9-)t;m5wcRJ#eY;NzeTA+q6mc$ ziXRj_C~{EPpqN1cgQ5k63W^gHBq%}Kt@zTz$Jw$!c15RBVi*AV#KYtjvSeoc-w8a-=36o#~pXxIcn5h zca0u>_uXU0+;h*^u|NO$xN*tJa^Ud~2-F7YfX!Xx@b_KoVNkB*7$A2%SLziHs0 z!8Z@NC1L2WpA8>z>&V30Zcn=7&QW)bzI)6)V}Cv_dHgSadGCb#es%xE2Oj*j;i2FB zcGBc2Q>Ue*rak<~^z=s`d;AIGjF}mkvu4l9%AWh=Q}cxR3x4v|)Pg_c zEK=ga|5$xMn4V8a96f&Gq=$`J3v#$0`#OwI96!mpfctly`SC{X-}xQS{aZgYXXs7B z|Ju4nT2|=0NcsKQ7kfuv1Iz_D=4^?Yua$lppwt`M1k*EK!bHDY-#GooY8N%`Cgm4S zqTgBAN7YlmtV#^wIPBoqQ~%vRVte}EEq#bEH#Z;h!Vd!M`H7zU6)DLTN57uwv){$( z$L~(`uQ6amA3w~n2Pb-_KOw$vZqA(KMQJ`g!}+>@H20$4lf2l|B2`RZdXlR|KV|XM z>(W<#E$=OTqx_sl&;6P}YiLr^M8J8b;2yP*#;4HN{i}a3=`T{A59yJ9=e<6ULUpL0ed$+IB9nX_IQKIzUi5pkKOpXv{ikHa3BL=ObY1&X zo|Wk>ef)%qC#bI1f7m}1U>bLQ`ZsF-%Hv(vkt?YmxHNHq>vlXD0PJ55Cw{%`zx%PU z9_e@0KS>uzAH0%VpBbZm|JwMQqdaZaBcIS`QACc=Veaz|b;N*4tAD_bc1>nsd@;}vzyt|$;pK(89*IW9^Q=L7_-yJ7t z{?)^L@`ml-{WNHg^yT>{DJtfl-O`ulliu@L(r`*ly?b%!(f-^InfAyh>|c3u)Fb~+ zd#iW0B=4)j9_cIQPyV+jea8Gtdg9bW|Hrj|P5dNc`^DW(2kz*PKZx=@-g9=TT`wd|5KzVV{e2$Er6~|Uka>5zdLbC zg1zzixBFr4p6Pqr74%OUi!Sbm#giM2|L%vtd#2Bk{j!7U8uJe+p2+$|(Er-_?|!zt zXFh%14~%<_zqgh5lv5ir@mC%+_oDwVi2o!|DP3p%?|v@bi~hCy4Ev|~ zcQ5R3j%@$_*O9;b!FDhDJ;>FUt-pIgpV@!%qU*1}Z*czWeix(Xeocs%4U7E$HSHhk zDfoYysPny@f4kq|=$XDU`mjO7A9*agvwx#d_tyU1c>itoFTYaKvz&b0?}>Qz zzuWjn9jaFDt3h5p+f^6;+ePxqCFbAm_e;F!U&sD)Y59Gf_`}36jX}@zkM8V$iKlhv z9L4`$+CTk@1TOKWM$h!S^?!OX|-i2us(qe|jRElFD2Ey2@R-hWu&%?*jaF)^(lqzgv4^^T|&3 zL~Kw}Sij!6$9c6eSALVMXF2)O5OGAwtN+AWx5-o}7gK{C_1e?CXEmkp5!=TqW__Q~!HSKNCaAUPtrpzo&KQ9Nqux?frMJ_}5cB@Am$OqHkT#H){XC z@VUPI(}QyK`kPn(d*YYm&)&T3S+6GeGqiXb6L8o5-1z$6{l;dG^sS^JQldBo)#)lq zT)XclaRk}R{=@#qqviGNUz-0CUd(@c`2kjzs8w%LPx|jWUPg8uKjrIwE7Yt1Kc@Y= z-zN2{o@s2l1`7~-`n2_asMwDFR0R6s9y9nx{ZHC7xSqbjsNZ! iwR@!B+2a0{_V0edyGQyIr;tbhzSiE}Pa_RS;{Fd8378H5 literal 0 HcmV?d00001 diff --git a/res/ports/kono/src/OBJ.X b/res/ports/kono/src/OBJ.X new file mode 100644 index 0000000000000000000000000000000000000000..6a51140857730d6ba76e7b9d9b89140816341917 GIT binary patch literal 14423 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 anv^Kll7Ke@LMUQrX2I{A@7n_a!2bYex-ZWF literal 0 HcmV?d00001 diff --git a/res/ports/kono/src/kono.a b/res/ports/kono/src/kono.a new file mode 100644 index 0000000..acb5cbc --- /dev/null +++ b/res/ports/kono/src/kono.a @@ -0,0 +1,50 @@ +!cpu 6502 +*=$8000 +!to "build/KONO#068000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + jmp start + +compressed_data + !bin "src/OBJ.X" +DECRUNCH_FORWARDS = 1 +SHOW_PROGRESS_DURING_DECRUNCH = 1 +kExoProgressWidth = 19 ; depends on total size, max 38 + !src "../common/src/exodecrunch.a" + +start + +INIT_MACHINE +!if * != $B9AD { + !serious "Adjust prelaunch to patch JSR at ", * +} + jsr decrunch ; compressed data contains target address + bit GFXMODE + bit PAGE1 + bit HIRES + bit FULLGFX + jsr $900 + ldx #$20 + ldy #$00 +@a lda $9000, y +@b sta $2000, y + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + jsr $906 + bit CLEARKBD + jsr PRODOS_MLI + !byte CMD_QUIT + !word + ++ !byte 4 + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts diff --git a/res/ports/kono/src/loader.a b/res/ports/kono/src/loader.a new file mode 100644 index 0000000..905847e --- /dev/null +++ b/res/ports/kono/src/loader.a @@ -0,0 +1,25 @@ +!cpu 6502 +*=$2000 +!to "build/LOADER.SYSTEM#FF2000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + +READ_ENTIRE_FILE parm_boot_open, parm_boot_read + jmp (entry) + +parm_boot_open + !byte 3 + !word filename + !word $2100 + !byte 0 + +parm_boot_read + !byte 4 + !byte 1 +entry !word $8000 + !word $FFFF + !word 0 + +filename + !text 4,"KONO" diff --git a/res/ports/mu-torere/Makefile b/res/ports/mu-torere/Makefile new file mode 100644 index 0000000..53546a4 --- /dev/null +++ b/res/ports/mu-torere/Makefile @@ -0,0 +1,51 @@ +# https://sourceforge.net/projects/acme-crossass/ +ACME=acme + +# https://github.com/mach-kernel/cadius +CADIUS=cadius + +EXOMIZER=exomizer mem -lnone -P23 -f -q + +BUILDDIR=build +DISKVOLUME=MU.TORERE +LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000 +EXE=$(BUILDDIR)/MU.TORERE\#068000 +COMPRESSED=src/OBJ.X +SOURCES=$(wildcard src/*.a) $(COMPRESSED) +RES=$(wildcard res/*) $(wildcard ../common/res/*) +BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po + +.PHONY: clean mount all + +$(BUILDDISK): $(EXE) $(LOADER) $(RES) + +$(LOADER): $(SOURCES) | $(BUILDDIR) + $(ACME) src/loader.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C + @touch "$@" + +$(EXE): $(SOURCES) $(COMPRESSED) | $(BUILDDIR) + $(ACME) src/mu.torere.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C + @touch "$@" + +$(RES): $(BUILDDIR) + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C + @touch "$@" + +$(COMPRESSED): + $(EXOMIZER) src/OBJ@0x0900 -o "$@" + +mount: $(BUILDDISK) + @open "$(BUILDDISK)" + +clean: + rm -rf "$(BUILDDIR)" + +$(BUILDDIR): + mkdir -p "$@" + $(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C + +all: clean mount + +.NOTPARALLEL: diff --git a/res/ports/mu-torere/src/OBJ b/res/ports/mu-torere/src/OBJ new file mode 100644 index 0000000000000000000000000000000000000000..f4838dbdfea275c4185ad0eb86ade49826fcd1fe GIT binary patch literal 42752 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 literal 0 HcmV?d00001 diff --git a/res/ports/mu-torere/src/OBJ.X b/res/ports/mu-torere/src/OBJ.X new file mode 100644 index 0000000000000000000000000000000000000000..d034962c085eb82fb944b720781e5f7a37f64354 GIT binary patch literal 13832 zcmV+jHuuR103=A!5fvP2F2ID*Ra_jSUr9oFqh)ObHUz(hIAj zAn5=QscD5>{{oH4ZXj_CY=2;&0j&aVq|mbjjI1JGP^G|EV^U)0Z38v}n`x%?44?y=24>F|jSX&6D5VaT2&E5}A*B$O|D_kp+bZh1 zg(NFgs{tiXdZ4Z|xl#0Lz|~#<$pG;ArCx>XPG6txsrvLFsQh5^1W=F)>go;J9@RO- zkMR9fjl^!rzhwkHuh8dqA^AEug~{ui&;vDI3ZL7M0x949q6OV>4)9LO(DHT9GB z<9C^c#vx-tBpYu9qLdOS)oPlq9pLiN53H}03aMnEdTm0#Rp+;jqB2!%V70C`z4OXT zsV>w3p(xxL&hxDB3!H07*A64a3%bIphYr=52RE$*!a5VF1Lygcq8PgF2OY2yu?4Fn z|DG()RRU+`8Z+i0nC7Zn#O4B-<^)&Cd!QF8$x06sD`iET5bR(CnTUey%7y)e2J6(Z z`i)%-R&6z5WXL^Urf$Y!AW-)3E+FxvMYHO9dqFf*_u|qvgLu3ti zU;yrAN?*od#$(21#%IQ9#%soH#nPM5BoPWLVXf4&`|AeK4J*JDlnC0s1f{xliw8q< zV+p;$5w=a}*93{mNH4(lZfH2|T*(NNt^s(}cg_#c)!$%^>v)bTw~Q<=%vTDktGy1= zysXNi0?#oXd}X=5T%&c$@CmsP4xp>dEgtD-<(&;R{-6%k=*rops_E|_mI=Gf2L#Yc z9+aJ%>1NZ7r(cRI|3j6~3#~D37^-Pk2J+Aq$%`$BTh=1kIO(DJ$=tBuuw7&DGAnwp zx*&28?kUi=Elx>NmKi#nI&=$Em9mR6Q3AMoTt1Wop(BZtk^e=a3n1h+5Y52JAxJA| zs3Ve$BHyCNH0KCI_BvAW3!sfNzYwx18wx946s^9hEYDvnWhx*oMvM=CBIij{9MD~o zj*U~hcmy{mg9QD zRp*uNb<^;OYvbq(4o83vt;D6vM!bKKO|H-d&ec-uMjX$?!qfiGR*0ms@DM;gC;*8L zkByZ&o24OdBJ7|e_F8LOHH4al&97!t1r5>@4Eq!q8Xezdw$Tpo=s6E_w&ZdRmMj6m z#nBGh+y(+9;#dtUA=5Mu2+QU9`k?mV?Dfv`jnbmR3(;5U^d^gnofIuM1`YxL4z>@h zB$i@|4K`~S#JjvYiJT)zS~e&eW{0*!8>3&(``N!kxj=#9Gv;Q`2ebOp_2; z-s-*`)!hcg)g=+JJF#Q2ld=2N9TKrpv4OFpvB9zOvHaDc6S3N{;nm0#)z}u*85i6r z7{wY}L>o;TRvSfQkYoL;8+C6QNgT9OhHl*WuD%tlU_<{k8>t|LmgZ9W=fe#nZb~x7 zGp?x=r8Gv_OEoRMNjBpt6K<0g&RG=8z)}`yRT2vk324w*(g=<7?fuwb$YAgiX}%C} zvE$`5O1A~*>D71V;mlMZ`|tMXb*y*d_52{or|qdK_-T@3a;c$HMe}}k9vDaD zsK_?M)ju4f2pFv%$ZjeIDFOFS60IL@XxbP}YVhqiE@Ydp%Fy1wAb=xoPmQZ~YqT1? zyNs$Evl+X=T_A34qH2%o-mH^auGm=azKam#@IB}yyrxLBR2_{WT4;ao5~_^wbUrY^ zh*&g9qZf7l_3rWR>|NjR1-Gu<(Bnq@?s8ykoFKW$uLVi}82)JiV681~FoKmY9`w?B zYSb{#X-yE#|LBlS(2)qm_B5qKYJw)V+M5rM2(*pv%`;mAtz|QHHeY6_t!Bz_x;3oP zH_!>V-i7&w^i0hY5EkIK9%JORO2Ou32z8loXr6nx9FZ&UV9EH@)%Y9oQ zzSkATlNYTw5-3~-v=*8l#uOlP6|?RZcNH+K$}ef`&C0FasZ8xU6wctAPhD%gXtZy* zuJX!pwT*d<+s70_hDt^lRu0RlczX=N`gYvO0+yCr71VD1$gTs+Ztm&MXe{Y(3G$%O z%xo#g`j{AH28A!Hs|Qsd<|RxUi4+71mAc7t6{1vMx;k=@tUE~usyr+Y63{pn3McktrI@jyO1yK1Sjw)IN#}@Y<6pn{d$TDbN&T? zy#bdXO&SDfH*d%{kH|QW%Q-YUN8~$4aYy_ps8Nytvw4-+2P5Oq`Ar%dURA9Ch0n8yNOLJ0Rxr7ZMrUvv18E z_CW8>^j6-stk$mDxh@)o4;JFWW)7&>T9gt>IcAUOq)unlq}S`{wOIAjiDC}-#5?%=|S8eR_6*^6Q-bZ=520drA(?eMoJ3K>@Q?A z2d0+y0J-W(#zuz)9BW(HAPgM-Z*8q0xb^MZaLq6d2GV?5QJ-|E)-F zNda2Ru5#I|IMf8P8uy?Wq7~8?YF+kEGI3!e7TG%D7iLA~Uq4nYhdw_y3mygIXHpU} zPy?}j&ry@m3aPCUuSv3vkzXJ+8>O9EGO3Umy?$F|kz}p5PP>Nf4w?GqREVkWHH$kT zi8TCm*BdI2=`2l-gX6a6(b!hf zi#J7#nY6mi*=4GUXm$m)DjOv}Kd>8+2r>)V?sH0u)p$W-{@UYAwydMyuC^eq_l#=I zk3)?$3}97;@H?Y%f3J|13^Bh5luL=DOhjde@bVz{gc*&FidD+UNG&oP8fXoO!n~AM z246G8{1vuJoy-$%gd6VG*EiQUjB|UgiM;#h8jXU>X_+px{MvzO zm{YD17PQu}yNJkf7k>B&4_U@7K*@D}Ks5uyxLe2k<&OL~q#r$6?f0I8YK znHie@>N)5Ts8w0f2TZzMvDGQsYK-TLHO`-+P0pZUX!UQKvm4wSwi@52{IRmJ+p)E( z-dYL%0ELM+O+z>b3pfV`Da2Do?&-xZ-7rlvIN45`7IXB3Uje=h5^FJ4B56~i!tYYvx$Wl1Gtb6U8OlliF zFs+mr$njeH$4_nN@4eJgvhdVXvfKoJbdS+IdWWC_v2xAH%V)4Upoj%-kdo;E2{3KD1h6LW4^JaDFTWVD8OERlNc@lv zunC|8(j0=$sR3YkdKFz9j9yxfU#sn{ORQ3^LY(I-3537lCLOV?udyFY5Xgp^F&`)& zGd0NIR3pqg%^v{l%Oz5b=Zi6!7)EnA>B$aAa4$K0Xk%6mJZW+#?yV`^C~{p^8t(Z6 z0=CYVF!q!y+A3(AOxqmu|F$hNEI*|ulc`pyT?ro`+7-j_*#++M(DVpT^2facOq^*+ z=q?>z(~jr@7Jo|vieL?$69jrUiugYG{{~FNvjis!Pz(BolKeN0V z9=d527emnm8C5D4LTr|gK(dtdF2R&I7Y_^N4Z}2m`yk;H0J>|^U&PbK!q2dcb5mlc z$CjoM$*{|CpyK<4Z7B9lGR7e($uxk zjMds5dZxS8>$=1s{?5$VrNW4jaHWim5`CIswgVjIlcTz@LuJ$6)zXirrrPwS76_n; z(*{G9L%^NE&ijl(|U_40zX?(1dk#E&cq=FHE>tPF_f76YUrc?k=T zLGT0BstOZ|fLDQ_Xa)p`{}_jahqa;L;h~>~zbvNlhAHd(SI?RuM?IOU)IBi%41h>D zjQ;<48tVNa{J*GHMdg0r`IV!#96a&!pQAn(M$n5DfB3_q$&u<7F{t1NjGw+j{Dpun z`1ygygP+jw^VR2v;f()(z$5^O_5Y02;L3&YX~KYE7SoD5=y*Vcp%a-#d@5Cs34juS zf!P0S`7`l=8sq2SUH~V`b85$oWD7KO{c6FA5yMh2jDRE%!+t@4SOE2JpV5l`718RdH8^zM`oGfv{d>|n$B(-F^v%=H2f0-0e6jsir}HcE z^;~biW7qi6;nR<>0)-_mSioRfa9E?osoFyP(dj_)9y<{3pyh{5+JcoboYaBxgou!t zXi|b(&{gn<3&4tOmNY8JXw#IK7NB&G0D9p6xc!eaag}a^GIaPl=#K_m!C6)w6hfRB z&4z!`6JVR56{!H&_!(2}zr@*bqw(**;Nkh7q0qXYJ!PzZKqu{^_@aR|aDaz^TH?h& z$GnyJ;80D&$E{Lyf_M4c{|8{Jg_Yd$9J#_?GI-mOlL@QN_S1BEN`;h&=~zp*)kI zkZgyM0P&BOh7VJ>K)m#a0NFEQzFz&K8E;&}iqLFY254XW^M_X5C6wEIVebe(%~kGi za;L!fE5GB`RIcN#zUzhQzsdy%qg#6{0*aHEx|+a3HBg!iZ;Fjut6f)AVmQU1UR z*+SKM7&T(kYP-}Lq1M;OhKF3m=${dJ&z{)W1?|)T6NCU(*Kd^L!m4h>>kz5ykB@wO zKhS%Jid&m`2K=9jb@-q{^M&W2sO|~%LvPKQ1l+1V;J>B(;s1bs!#_L!_z3yk|HqUU zxq@UX8==SM>fw{Xwk&j!{?ecJ!}#m@(CWro;E~he^ol0t_}&k8fI&rr+28pGWlbS>q|Dw5U6=HazQphcC~Jt!gZSqnEyarkNISJco|E zyrYuT8*rnm8l80clisC7SP#C%8WU~q1g%6Oze!*{ml|(2a zf)p3Liu|RhZQt}}hJZ+x*v?S@rGOYIgjtPS;58GBzrS2g%f{1> zs4B%&c>p-^k8kAydzno#slDM`wh00 zSFPQR@yO3y*Q4M7k>E2j|GMMBv;TZ1`B{SFwmoVtslmdlh00w1HpGw^DKO5!QqF)@ z-NW^4^+Exeulvu3soTf`FsFr%@E{jcHJty!Yt{LWD+IiUlfJlusP=nD2NM4sZ_$>g z{P-H+@ZF|&ryk|`kKfOz{(kT^!_TgjJ^>Nw9)Q$%&;pVGnPvm1@sj#2%H&tx{ET#z z49tIPozLgd>UR0KM1;KD0S?}Rkf>w;cg%#)_5~GKrV8`p__P1vCGZ zhaD~VsnNpBm7Jkq@SWeE^19)G)x32AA3^D6#wD*3_>aohR{4L=PAT-2Ahd=_Ga?jG@@p;exzc>GZNyl#U zsuHiz>7Z-D%j?~vg~6+diYxa)JHXGYM&N;Fg8$Bq z#n$R~)a7h>x%Sv@iGT3f)N^P6v=hw#_;Jnga?v9;{$k(b#g8olkoV#L`q7uc8yE}t zO*D?`oJX-Ucz)M!_j887W`EecB(q~&3EQ+r{->_4{f~z6T+tA?lehjT5cFc(uD~px z)OY}RnSMrq2cdt)XE*@dkp(XCHF(zEqxl-VpXws`qW+@@(SYM1R06JpHOl<;o!|$z z;cC{XPPr4p3ydDlHq}23-hV)5`61oo>cF+b`7iaSs+EhI3B0htKH;Y)gRM}zjs9cr z{{}AX|2%-E3bWMyjQlFV_RxPnng8DK(;0TqJE-BQRq%(PW`A9Rw(EZ@#D(g(;VGVf z;=eRMa?`zvk)s=%sfG9$p(jXyv30A6UM0@?!*oY~__1^UE&yXr07j_dxmRnf`&_(X zjuPSfSD*~J>R4n;;qjs2H_E)jNNb(_mh)ruE4fp`ep*-KJlX%w>(SuDo#W@l--G#w zhW%X65VyDwW2Sw@{K2}H^1-wJJ&Au7Z{w^BoBu)VH?zm*zWi{9PT1%1sCV4q*0;Y5 zwM{yo6L9*3?t=WG&;`UE;GAoV|M?cib6=GRE|$I{hRov#+`}W6f5(QP>wg6<`*-IC zF7X*oj>UtATf#5?Z=%o-xT7a>epH7aap`}64RG>u@66#m(HH+3;qg=^1Kd-8xTqV? z|MidI(ZJuA(JC*i#n-d=2WJ1M*_D5tG04gJ1-STsnfSD3bI+*|W0$D;5T~&0*c#!$ zSA`wX@*2$op2__V&;S0v8UQpD4Df%y;gAS`0KYDO{pu2;sGX-}8~<$b$0p{=gm-~^ z(cFhxLSn}`XMeo->=om$e-7S%6T;V?^hT|FgW-mw)Pg&C|AeCu<@|qu^@`E{eBb|Z zm!C>v!k}S{<^SL#n-O#Whl9xg*&~Y00#$57Eol; zzgE?jS+8eTeOKxrIbh@&RTr(omu}Bg2QR6pCi1WCSgp$ddf1|<0bfiFB9EyZs^sN4kBMZIq(H1snuXMi$3rhUghoKI=PbF_ap5n z`puLd5@t+5R8|$Kd$LK!6}SJQ2AxJ)$`JZ@Js^620FdbV;1AICsm_fjZc23~3G}X) zQgAt=PFk_AnsCIpfA2w$^ZP&B&krK0lu5>&Zs67nNaRpjZa>L z;{WAROvq5F5Vx$7`Trt?3YZvakXH+(TF%##46%I+bpUh?pGV^R1Cb2Kz`}L+ARP(F z-ObYtYI15BcGn|}F`H`29GtH**IO4s^lsd^8W6JVpOGXPp8h4!nb?~^@U zV=y&AwyAtonGKguWOP-zAh3M7eNn9o2o(#k4rm>_!n;w)L1tjSge^sqqkv)J&~fRsz9d{ zEeK|pFl#wr`i54)d>XFl_nl87Gbo&(7;WG)=}+#Uofiyd&1U7$5v^X;{Z;S@W+t!7 zwC<4q$qA6%sgeIvWemr4p~E22-%_!>4RXjqZBWRCZ4MPb5OOxiSzyjc(^asHO2|c; z3!&$rAT7@Bm2QnG6RP67mSfKY$FI4LhF9YkBWGwSTQ@q{a5!oaNI6nRAJ|+!Lq}8)KR`$Ql3&0SzS%22Uj0aTLKzIODwIo-iFfS+ z0e--%iLwDe_e>R4?j@~bDSi2)Orq9Q?zRaT=8hmPSy*>sOjl4ulV)`1q@`9ld}hYb zPnnEI2Nt1E69vuJQCczakSg#fFr^*{{u<60RnQevp`7X82Xz<&@<~^1#i^F|ojSe) zQnabol&F+XYElm>Mb5EZLzGoelcEKo^`Z~GoqC-hF3RBlSU!nTP*>#XweYPW$p2ZH zD$cZnrQ@A-M*0LAl+A3ogWX@7Y?f{(u-9TmtE1Cs@7&Ba?U-vT>n5appzca z)YQBQ!}C{crO5Eyo~@Xt-{df$2ZD5G1sTFE!Wsgt-Rh)rNmMdc*1o2C*cC;1Z+R7> z8VIqn@NuxaMKRk2>Cwfh>GuIE71gDIF?3C&n%^i|Rw*+$$gBMu`mSYt$!k|M{WaC~bnZmq<_WM? z`3Q*d)M&a)_miCT<`@9>ld%w20{BG%1`MD&PC_A8s9;bj$$jKW8qz6Z+m_^I8VH;Y z>mh!u5=U$hT_0(*9>Q;64B>S-SOXy!^I#=|oc1tSW!+=WwTh?R2JYhs&=fK+Y1hu$ zBatFaS|yPr4SxX5)u7bR(y+y^FQ0e8*=gIS(>m3;&H(!ha#w_)E2>7ve!OJQzP3fN zpV!psiiX%2eF6~)Hv7uSo8rQ_~Zyi4`#htdQdr(~dHsR}w$MxBZ~f=yycG6SxbYzVA6isvBl zjwH|?WJ2>`*lQfKS@gxO16~Q9t|?l~ zkisB5L{&69Qx3jY8A!>M#kMPRI% zY}st~bp&B`JYsB@bsS@Cacvomx2Hd3R$Y)un;v`I3}wR`Y#V0ByL2(b)>$Rx-lAji`s zpk~=fh%%^X*Q}rp2s=^Q5MT>8^bwj4AtDbF5H5#S&#I8=#9>&@*wxtD_ZVWW132w+ zOZ5Pd@(>me)UN?8wbc1x97*~FDAu}U6Y1yY_hISP;`SHdb|stch+GcEAfBA(>|adh z+|Ib?9RN)WhqnQu7AM(#39$;Dy5bP%vZ{O>;qX0qftsaqA0sEe9v;f7J+1 zNn;GSW&0ic=Wn0`@;{yw+l(;HEM5wb124VZOumCnNOO?7tDUCtJFcwIuK|e)?e7+Fz<}P4fR!xZpJc!gC+=#kv}INzwp{4Y z?WNZ^=`!RXS!3UNxaS>bVCvWq+4|n7AVr?Z6p#&0{lEZx2w#D5*`Lm@6q%iP1Wy%8 z#gjcP_-Dg+t^)Wfcn6;gFzE(M45i*k0fzkuuC-&1v?a0$`s)?5I%ur6drSbSBy`@S zL3G}#LUi7VL-iGgTku43tL#NJMpO28atma2+-*l{4BM?WthNlM5(#8<5~>I_FA_|g zxe}-K7%rOf1kaO|46Hc}ZO!+>cYkxeuuQj|%EKTR_g{&?73S ze{+TK3LTK%Mm1wi|)q0tr=0K2{zQ3vzuE z0YI7qFf;7pgw|yHHEaH*_SsMWYExP8YE)VAa8+P$*$(3%JYszFwkr5-#6cGs*%~cE z7ZKT-EkhCsq)Cen=tN~&KdEB3W0|L5e`jl-*O&=97C|-)XwD3g@Fef*(o^NoeTQsi zoM6_qk{s2wlR34KlxE223E3SR2_yJ;@nirp1H5V;?6$!Jt5}0vO^VSOnMw zH39~xF=a4qY6H**6xcv{3KTqN4?e}=v$~z;68{j@Sez^ zL-%kFjbcpMYmbpcBv?5b!f*OE?;RMr3<85e@yHW`13&qP26P*8}57T z(A}-BT9zca!&8%t`fA$7`&SkLb2bqetxcMJ&APt~>7}@;)Bjk~T5Q>F609iKFw`nW z+fYp?Y^H$5l-9SNi?VoYT6o)xSQitZFl$;wegEcY=NFx!-@&L~7y#10|LQm%Os;-6CyBdXSd)f5q ztLG2s0k+ha^f;XJj5wb1`Hk*h@Y#!P0Lj3u=+pJ*Z#DCu0MFIK$hNFztxxsxP$6y- zwXE#xpycm~tISXIr*1-hN*KCPLb1*H8Y)!o>GuH0>+IyJ`8q0&yq)vov#k0FowoBk z>lx>-9Aw2nc%|aPUyV1QutXF3qB4#B2+zCR_h_TncxL18(nrMLxspBR^09nc?1O;Q z^~CPvVBPoq;Z8CgL27LpiFLGU(AC_l?FrFq8>c2pR%fk}TEV|CDC`JDvPAz@V|cD5 z>oohU5mHE=v*cdo^@3_K$lFO7aP?FyV-0p@!S z#4vJrBVz!dPT_ZU5SS$}bl=+!QC3|teybwKtQ=$+auBw0bub{WH`)&v*8p}UbP3m+ zw4Ch`R{I=xH3>wtI1u!#Q7&K=L|3mIVDd0ZF93FJjfC@dM|)$_yaze%=0*!=0Tl}v zWSi^wSD7)&a(*2PFm)Ouar3MJDQ6aqVG423{1CCZxVJ?A1tM&mp#}=*q;9$T1tkD%aq9-Pn~Y-3At3O; z@DWdme|Z0e?S$+gm~W}|IgS1U7AgNwx@%C>Qnt{Y|Ak#T4C~lUfJ?|Nz)QR=aLrVL zso+@jV2VhXf2jf>+;5rA4Jc z`RX9dZ%O(cO8b_?TKtv3GO_Gi?uGs4m)cM5OvG(({PzfrzKPhv*v8n(*v{C}*w)zE z*xuFRr(i&`#7IFLLW9Udc|;F_A>@NRjE7K%w2lLJ1N{pRcmW@LEkAx#b$9}}1# zq#+V*%`A~O0t*w0&|%T2l+ZI{gTN=468;IHd#2 zhKSE47A!Q!pE8NIh(lKq+7HuL5`F{zZswQI=KSS%_L=y(Ow8cit~2WMz;czjtIn53U$5c?hQg2Z|hLM-Q|gph7(PaUKjZgGqa0Sf%lYobXKdgTCNX>pyT0 zx`zL->l9BXRZLx(cX~eJd@j5XN<6wLx^lWF5e7n`qLpwtKx#pmzD4goRLuDm7#{=0 zf}YMqQ#T67MKZz~W&$MI4k$&E7jFN2bI-s2`6mR7j-&&s(cOTNkeQwueenSV2y^Ka ze(_H~27b_*Mh0+kjRnBM13*x&a8N)GU1A0zH5W}++d3GR0?#Z^-gr@BN3ItRo^T({ z5A07&C)HneL?dc{y9_%wXH0yvKWbx0**>~rNjwf=d1~}3*me?bptPFpV{K+pB20ZR z$qkAu>;t65bt_>95RHzu7A9Z@4{5DxRT3Q%oTP2?BSOsqU^}C+GEgl6rxGm0*}Hln z1-TB1Torai!W>PYTG$UbiY^m5N(VTT127FB@e-|o56C9#>>V!WAPsCXXAgWBwB0Vk zn}9Il9&apumsww~dwzFLR$*l1JzxWq>Utm~70;>=;=o-y!-x;No}qp?xb$SglYlQw zuAqd_v!Ufq#H+QC>QbJr0}%imk3eGqsW1km7z{yG7Ar6yRRdvQ0*Zu3i4c;BK$VGY zfY*J00bnfya9Iat8$gR7_+z)J2x=T^uE6*yWBQydh86$pNg02QW4^R}45;4tTp1WmVe}Z5KiYou(L%7y$6s{{yH8{4yvc0RjR*7XqOI{{e2z z^`O-6^04KLz%!T5B{$kU;q1Ivg#ZA^56i{b)5f}u{>y%qCzh~$94fetf^F^Lnu&?Q zY{IUM|GJ^iCaX0XMx$BoWUk_`;~h%g`o+`3WB-4^t^m)%%I?L()X~i*V7waa?b_~k z=|1!I8Bk&P6|(C{YmE{HGMOXzvN#!+j#+-1!UIl$|UAg~FJ z`1ELm^%+uWQsZH&Oz8DOGw?yR@Tv=}n3v`r_d{&OUBN=F`bqk!U1M0TU52+?Hs(P5^)mjTky4wJ>Tt z)kv#UU{-9ccv^(DkZPROsH?QVR?Mx~TI99xYW(yFffQ*V)hw$xL{?C(Tv}+gbZUUr zmaC$!R=TamTGF-NYU|+8VpeXgdRm6Hl4_pSs;jobR?e;3TIRL#dI*FRG$86M)i|p}P*z;6Xj*i& zifWeCq5#b4009Y(1U?22z?#%VIW|HY5Rk4me?Ub!KGJIorf8_CA7e8Z3}#S6mmDVy z;u|w&vJiv=FE|bd1Awt}S&|GOHpIU((H=icX9I6PVll%4VhnO0#3>=tL^&8i$+yu? zIyXB%H+11&6bDEI4`holfd+^_aaOGyA(V@2Hk%d!QXNVkIzcF7A2S>zM#X?;LIx=3 zBtDirG-w$}QcNZqH>X%gWQA-GBg6tQM}lDEhI#H!34A&pa}65|!pzicBLKRrKU5Im zMvPIC3X?8Wbc9Dpar6TZT&PLL0c5U}={t)nt^%5m!f9qIJX6Sd23Z@?4+l(F!N|6) zNdgZ?N^j|kiUZG-F*7&2KLjIaG+?MiGBr5q93vYxAt0P1#H5FN6&TK80ZGj@?faqdw2tI0STVX0t$gZF9|O`4}TxX(AI4S zR~nhd9c((e{kAw)(;R|r4Pl@KVEaqva{@YTBMWe}SOHmw1EU7^2naUPRC2bM=>;oO z7KoM_kuj1l9y}Q$IQ2EmR0?D#Fvm6=WF$2hT3838mI#3cH)HTn$;>2kj7J5!Ljh+r zTiKcdVK7rjpsWdnBpig#z$7AIDGjDP8Y-}jA65LULMs3>3W~$X%L537(y8+MH&bjp&S$<9fTfGiXRamLLn$cA_ya)Bp??6 zyFIDvzysi=&A<%t5EK|3%zps|2@Mey8IB!e0tWmF4iXj`9&;Z92MZ4q;};trm;gS& z5BNaG`UEIojHm#80#GnU&;UMw0Dr�-k0Ri9v_XGkS2m?F-`@kP)Lj-~a91sTJ zhX(+A;62bD*bihw2yzHk3LBCNungRl42BNm4yfxrAo&kWkVg3r zK#)554>XW2`41?OBEOCFZ)15IxZOtPHxajuv~6Q)8#viU#x@lo1IShKOQ9tuLMMeN z3MmvSC@WAbp)D>#FNH7)F%&W=Gf*_4H8w&wg*Xa16gnt7P&}bMK0-f$*t?3;ygReH zJCnFObGAEEv^z7hI}@-v^R7D6tU9x*I+Lh6bEY~|q&hRA000mGfj>Y&LPJDFMn_0V zN=r;lPESx#Qd3k_R##YAT3cLQUSD8gVq;`wW@l(=YHMt5Zf|gLa&vTbc6WGrdV73* zet!T01O^BS3=R+y6c!j793CJdBqk^-EG{rIG&VRoJU&1|L`FzTOioZzR90A8TwY*e zWM*h;Y;JIJbar@pe10Eb50CdCBq;wZFf=$kKtxFYOi)x^CC!E9&Kmt@K8)*3~q>bKL9R7uIqniKYUjL2c&=_o-`8x0okyDaHs)Q z!G2Tt06#n}3%~*TAm{u5jR8qlFeS7>08qMsko@qZF8~5MOCQ0?2Y`Rz!>97V+kh&m zfb@WN4p`t1&;V+N&&hz4IbwD-L|A`71-yfRumFCLyH$d;Fe3*+FuI^N{lBUjAwfUY zKu<{X3)TR91+P_O_#JL>4p2X1biga^pakqr{M=9j_7T@e zpJ-$W*!`e6tGU!bCM1dimOp550JV?WsSLP+FLS`C02R1%*AEA*e$e3@tbm^h-)miN z)pafcHhr)eKX8L1V^G-b^T1pHM_7OT(9Cwi>R1ite*#uq06a>fSm1l1gsL0JPax|E z2WU0GNLjtbk{0g9p-pKX}*- zTyPCvKYUXHR>B7Ce*}vkv70dfECV~ofAB%W>j~7QsU^UFmhgWMS%3lCz#o2{gm^$F z?nD3Z!b@RUmCV>e%v6bXaO68f*v>-8MqI!Cd_sQ@c#$yURctdIaRux>z5{;>a#6uJV|5#fP%dyfNPX0QN)R>P`L0sB7~Ndp8SpG2n7qR@1d4A&uQsWFs zV90={4}awV zg<`|^1ON6vl)VA|S%2HWf$IbM$A7dyg~kJ=CK$p7wE$0*kLH1>jtKt;Y)>@c4(3+{ K_+w980004g{YozY literal 0 HcmV?d00001 diff --git a/res/ports/mu-torere/src/loader.a b/res/ports/mu-torere/src/loader.a new file mode 100644 index 0000000..1800eb4 --- /dev/null +++ b/res/ports/mu-torere/src/loader.a @@ -0,0 +1,25 @@ +!cpu 6502 +*=$2000 +!to "build/LOADER.SYSTEM#FF2000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + +READ_ENTIRE_FILE parm_boot_open, parm_boot_read + jmp (entry) + +parm_boot_open + !byte 3 + !word filename + !word $2100 + !byte 0 + +parm_boot_read + !byte 4 + !byte 1 +entry !word $8000 + !word $FFFF + !word 0 + +filename + !text 9,"MU.TORERE" diff --git a/res/ports/mu-torere/src/mu.torere.a b/res/ports/mu-torere/src/mu.torere.a new file mode 100644 index 0000000..eb2e8d6 --- /dev/null +++ b/res/ports/mu-torere/src/mu.torere.a @@ -0,0 +1,50 @@ +!cpu 6502 +*=$8000 +!to "build/MU.TORERE#068000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + jmp start + +compressed_data + !bin "src/OBJ.X" +DECRUNCH_FORWARDS = 1 +SHOW_PROGRESS_DURING_DECRUNCH = 1 +kExoProgressWidth = 18 ; depends on total size, max 38 + !src "../common/src/exodecrunch.a" + +start + +INIT_MACHINE +!if * != $B75E { + !serious "Adjust prelaunch to patch JSR at ", * +} + jsr decrunch ; compressed data contains target address + bit GFXMODE + bit PAGE1 + bit HIRES + bit FULLGFX + jsr $900 + ldx #$20 + ldy #$00 +@a lda $9000, y +@b sta $2000, y + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + jsr $906 + bit CLEARKBD + jsr PRODOS_MLI + !byte CMD_QUIT + !word + ++ !byte 4 + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts diff --git a/res/ports/nine-mens-morris/Makefile b/res/ports/nine-mens-morris/Makefile new file mode 100644 index 0000000..70a4a83 --- /dev/null +++ b/res/ports/nine-mens-morris/Makefile @@ -0,0 +1,51 @@ +# https://sourceforge.net/projects/acme-crossass/ +ACME=acme + +# https://github.com/mach-kernel/cadius +CADIUS=cadius + +EXOMIZER=exomizer mem -lnone -P23 -f -q + +BUILDDIR=build +DISKVOLUME=NINE.MENS +LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000 +EXE=$(BUILDDIR)/NINE.MENS\#068000 +COMPRESSED=src/OBJ.X +SOURCES=$(wildcard src/*.a) $(COMPRESSED) +RES=$(wildcard res/*) $(wildcard ../common/res/*) +BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po + +.PHONY: clean mount all + +$(BUILDDISK): $(EXE) $(LOADER) $(RES) + +$(LOADER): $(SOURCES) | $(BUILDDIR) + $(ACME) src/loader.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C + @touch "$@" + +$(EXE): $(SOURCES) $(COMPRESSED) | $(BUILDDIR) + $(ACME) src/nine.mens.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C + @touch "$@" + +$(RES): $(BUILDDIR) + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C + @touch "$@" + +$(COMPRESSED): + $(EXOMIZER) src/OBJ@0x0900 -o "$@" + +mount: $(BUILDDISK) + @open "$(BUILDDISK)" + +clean: + rm -rf "$(BUILDDIR)" + +$(BUILDDIR): + mkdir -p "$@" + $(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C + +all: clean mount + +.NOTPARALLEL: diff --git a/res/ports/nine-mens-morris/src/OBJ b/res/ports/nine-mens-morris/src/OBJ new file mode 100644 index 0000000000000000000000000000000000000000..e0697eb9e6078e4b4d7218dddb9204f714b5baa5 GIT binary patch literal 42752 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 literal 0 HcmV?d00001 diff --git a/res/ports/nine-mens-morris/src/loader.a b/res/ports/nine-mens-morris/src/loader.a new file mode 100644 index 0000000..674fadb --- /dev/null +++ b/res/ports/nine-mens-morris/src/loader.a @@ -0,0 +1,25 @@ +!cpu 6502 +*=$2000 +!to "build/LOADER.SYSTEM#FF2000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + +READ_ENTIRE_FILE parm_boot_open, parm_boot_read + jmp (entry) + +parm_boot_open + !byte 3 + !word filename + !word $2100 + !byte 0 + +parm_boot_read + !byte 4 + !byte 1 +entry !word $8000 + !word $FFFF + !word 0 + +filename + !text 9,"NINE.MENS" diff --git a/res/ports/nine-mens-morris/src/nine.mens.a b/res/ports/nine-mens-morris/src/nine.mens.a new file mode 100644 index 0000000..d5f3bc1 --- /dev/null +++ b/res/ports/nine-mens-morris/src/nine.mens.a @@ -0,0 +1,50 @@ +!cpu 6502 +*=$8000 +!to "build/NINE.MENS#068000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + jmp start + +compressed_data + !bin "src/OBJ.X" +DECRUNCH_FORWARDS = 1 +SHOW_PROGRESS_DURING_DECRUNCH = 1 +kExoProgressWidth = 18 ; depends on total size, max 38 + !src "../common/src/exodecrunch.a" + +start + +INIT_MACHINE +!if * != $BC5B { + !serious "Adjust prelaunch to patch JSR at ", * +} + jsr decrunch ; compressed data contains target address + bit GFXMODE + bit PAGE1 + bit HIRES + bit FULLGFX + jsr $900 + ldx #$20 + ldy #$00 +@a lda $9000, y +@b sta $2000, y + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + jsr $906 + bit CLEARKBD + jsr PRODOS_MLI + !byte CMD_QUIT + !word + ++ !byte 4 + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts diff --git a/res/ports/seega/Makefile b/res/ports/seega/Makefile new file mode 100644 index 0000000..3cff37e --- /dev/null +++ b/res/ports/seega/Makefile @@ -0,0 +1,51 @@ +# https://sourceforge.net/projects/acme-crossass/ +ACME=acme + +# https://github.com/mach-kernel/cadius +CADIUS=cadius + +EXOMIZER=exomizer mem -lnone -P23 -f -q + +BUILDDIR=build +DISKVOLUME=SEEGA +LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000 +EXE=$(BUILDDIR)/SEEGA\#068000 +COMPRESSED=src/OBJ.X +SOURCES=$(wildcard src/*.a) $(COMPRESSED) +RES=$(wildcard res/*) $(wildcard ../common/res/*) +BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po + +.PHONY: clean mount all + +$(BUILDDISK): $(EXE) $(LOADER) $(RES) + +$(LOADER): $(SOURCES) | $(BUILDDIR) + $(ACME) src/loader.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C + @touch "$@" + +$(EXE): $(SOURCES) $(COMPRESSED) | $(BUILDDIR) + $(ACME) src/seega.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C + @touch "$@" + +$(RES): $(BUILDDIR) + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C + @touch "$@" + +$(COMPRESSED): + $(EXOMIZER) src/OBJ@0x0900 -o "$@" + +mount: $(BUILDDISK) + @open "$(BUILDDISK)" + +clean: + rm -rf "$(BUILDDIR)" + +$(BUILDDIR): + mkdir -p "$@" + $(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C + +all: clean mount + +.NOTPARALLEL: diff --git a/res/ports/seega/src/OBJ b/res/ports/seega/src/OBJ new file mode 100644 index 0000000000000000000000000000000000000000..5b3196482153dd8f2887acc72399ab5c5997091d GIT binary patch literal 42752 zcmeHw3qVxI)&E_V=d!?phzp3^s4-}hNJ3(Wv0_`(n0C|nLXDDS6?`VS+U7;8kp(1L z$_=EgZSplO8?9g5{aA{9$ErXSb&bfXkarV_!B-Gh(F6>#|KFLpcXuJM>eqhl_y7Mh z%icS89_O4nbIzQZ**gbQM1<)`q-k@6C>U%)$-}lF*(r(N*NcMLs&NEKt{`i0*+|JT zz0NVW&M~vjVO}kdmmCXM%juG1(Q5fNN&K$Cp;=octQB(&4(-~ipta(1gH3PMilIwv z338NVOOvA|Teut}*=~>xlFcIzlf-cb+pv<+C8AAJa-(gvHCLQra2V>uhYe1_-M!_J zlJ+f+mYlU+7Pt18#o*~6PCOGOjxdXN8&JlbE$@+>weDc&?_3e$4Q6p7wZQo+m)7)% z&iQ^t(AbYQh5UV0v^(U0tIM7C!a)gzYyv9Tg5^f3`k=J)>1Z?qN$JwgA4Q`TrKU+b zF~jT#liVQ>gi9`iV~^y1(YdWcc5biGnSK``&Wd&lu24}o-BcA(HBu^Tl;newGsHdA zsd0bD83f#~>zrELx^$-0NYOy$Y?5{3CP7R#+hVN05x+;YQ~R9nqE@#%mSt-wn`i?P zlh$AhwhH3k^zPw}C!=bHIkj#B;D?IOvp!<&L?HqlvMCN^P|=Z8G{vcL#Z;lgbhbRJ zPW-09bW$gel#q&!FjtS1c6RFI?@FktkwB<2cBpGD#&k0qCljJVRUr_ zOYR{yZIx5nWF%B!PHl}A5<+D?D9f1|M7^9uy?g`pvfaOzgIF&IqnFoMH=&os7$1|v zI6vCW*A44A>(Ieqm4vMewF=up<%jk16MA`}em~-m=w(SSFJkdry}Xn~7VG8ZEV4u| zuV9f!_3}!+{Fol%n zLf^4cZx#j!I;LQbKYZZ~bwxSqzHo(ug~5_(yWSRtJNO+@R}uzI47CPt3!Mhi>!f9w zXX_+qIEreB_1pD_f+bgrSw0!{!Z@kyX323-(%E-9qIXn9Zwi7miRos?IH_c`<7UYn z0mesL|BIM4g2b#XilpBfEuV_oxg}aY9VPxE%F!q}gI(WIh4WYLB~ID>sIwIMwb2#n zxJ@!HkA#Z2hB|+Oqz$gOkd%3vlAIsZ93ud2QSRFz%-h8u7~ErBf98rrY80;IzM|$v zLc@^Z{t4=U80e)x^;%Gm3^Nc|g-wy-1VbZ0-!KiumTg5w8J@J_K87%yq@EtoFtasM z%rHRqjLUTpKF6sjNTlO*6hu|mXck4I zSoGV7k_tqnN7{z46cc3%(0udW)9r1-p0>|UA8!-hXghhjLpbVgYdd~Qz!+nRc37g( zCzj|P1<_!NE98(R+Vv?C&3pH}akOd9hTs0)Z9qs9ejHsMy)pV%(V%dopc^F!^99`k zL0Bi~N(A9|f=&pD8lsPiHzuWgBnW?wc1PbG^JI(=f{ZBL%^HoSA^N@O&>%q)}hMF9MpN3yIg=6&kAXM90U3jz+Cg_MLz@eRbjW zZg+cI#O(_$Wu3C#hJ z|772Xi_>s2GOK00;+%C3WxQM&Ey|r5yk|gMcBHpY6H89OES|(jF-nqem*fn|7BAl+LHqBNY&+!%H0lnK6baBB8t3b1bSINu9V6`&)*Ba}kh5cV)~%Ok$5uh73y;BkiL5v+B=dtGZ$x-LYcqMHF#-9$VcNTZPAomrRwhW|ZI0E6AUFV_n`@ zcWl|^SThX>^7J^MnGyGrJJvBhZi73@_{8+MiqAV{#JMimgsK^F<`*7}qkL<4=Gh11 z!f%}(7d<0xTv|mao=lVDo_H{BgX?rnFz!a=Z3Pg5E8ahRQ@GJFLK=rKRwG;D9I4V+ zjqw3XoLiH5YpQhX2qS4%ItAve~2sl8xbW+Wt-x}&2d$m z0J2(?Iz+JA;Qsn4M0N;><|e1o)1J{M;%bH~Z)bsI3sxZ~Wz4!ACLoR4#yj~lCT zhg9DnxsF$#i*tQw22`TYDHuZT_ZXLJ%#K^6^mNB~$@s)A5>4vTrR6jsYP?gbc)%5o zjK({pif=jYV3~JH$TBS+f=c3rIN3S``I%>}LwLp0RM9D<>s*xHc)L^+>44-aQ!K}= zQo0Ufy77ryCDV&T@Th=*9RY}naF~+D45>!z$dD*HL8=IKOrR)QKVGUzms}A$g_0e@ z^QOij2E&e?l2QP$@ARy@--DE$!6nA!qjv;95AiIEl^nOxFmI-Lfa%l_x{3cW)G8on zTPS8y`{Vb!K4ZCCM$1W(;{chOFfk=gPL?{7r7btYmV6N_4@a!=P01A^?i#xHMnG`f z#o7}pCnW&b-gxoJp&fhUF`Y{{J~1BcZ9E{=grdc!iSdW_#sh5TS+I6F<|5U5;|~Bn z;;37;FP>&6?r(z-h>9&A6Xp6i+XvPly8QwZUP#9N>V5I<(2l#LL;K=kizA#?*FgYv z?R&|%IJ6|xCM*ss2|ID4DLLLoFww2@4~7DoW4t6!q>hyDVQiQrajG4e)O(J*iKXJJ zLmWRC>Xcn$wusg+G}X8~2xPy+`X0Pvw%+--it&)c+az~d=4q>aXHtTEi&Uz!?+^-h zY6`>$l7Ok7*bwf!8177l`)8RD0RZVTNH)(u1Bh7bbB%R`ON z0m;ilj|r~hn5dYAEu+2E-NmTORQtwRQxRmVk?)qwwn%xcT;|_Ojbf3kXE8);v2~}?;q`$dM zH_axzs9Pr5hnap#NiXUSzMW7L+VNHbp2f|>OjRTg;yc3}LS1^0;WOD#2RNevPXyfI zfM;}WaK}5X6$#ESYT~AeA;x8pMR|zP%;IK(@lJxgX&5>PqP|H7*+n!Yq6WoYVpq_J z@&GpjV5ci&o&lLd9h-)^Ta`)xf#RlL4MT_B?A%_HHa13nby(DkMs^yLle?tME07cDVx0u3#<&B~u9v6< zjyfiQ^%9cIhvJQ{k+xBCywNdDx?dwtldA8MsvwznOE4Q&WurT* zCb=S9Nw{5nGSTr9W8(%ROv8_jra!ASK2mFn)rpQWV`DiLkg0%~mv`UOSY~v`SLiXe zhbtx00nL=Cly_ec*Com?7{vpL({8~{Oj;I&+YY}Hp#YBZK+Hj-!oeX@MfkyZjQBAA z<|?$~Sn|R3Mt7(~u!uFu_j~RZ#He8sC53lXB)YU6FD7>U#Aqfg$RaF>g4hoV`0!CO zCLZo+g0e2T<1MQAc49}F(Omswqj)MwE=rVNP855Re3}?`P?M zNR+oH%KN}}`J-g{Sh9I+fjfcl#1gf7bWB;6gnBPbk*L?Lg6(BjB1Js5yIlsJ@{lWx zM-t_2N%DJ1Whaw(Z&oHT>98hYMns7JkR*SQB>y={{wRrP`hAl8evBUnD$KKp z0^X1ZP9_lvkwii$n*XvOc2p*zZPp|<(R!D16DT*<5i7a%U<0b~f^1IpQ?t-MRI1Ro zCrCA6eAqMFlFgJBL21Dl0nN53vnqsFyO%6jHy@+ceB%=kzi4Uyw)vS)K)el-X+?7X zJjlKA{CwnrG^~iuC6~M12blc3R zzb8k1lss+QY_}FsFk@NO2gz#L4_R4UE%JxS+vY@lm>hKsW#^&nhtzMZEN{k-Ek71Y zEv3RwEI$#-EMy z<9Nw!tVzU@oTpbr*F;#gEWJW&(~!NAA0A%z$nX~)9d33!JiO|W;nj$NfRc!Hw89^g zQZ*)JTR7}29@4=vn)2XEQwMG}m(xhbQZRkFn_{$aLbn_DmyJn*)n*VVo_RWY8ms7= zvn|7r8%=YVn^GKOQ>xNZ#5qYFQ4;T4~WE0fn>FatwRJ_SsrY7tKncx)jP8FNHZ-coA*19Zg(B5f4AX? zbbdAoCuQU$=aH#ao8R0y=hRpM4x{k{fJXBS1nEjHE@})zT zc#+)=2M_Z0s*H2B41nAEH(IBP7tUR}c)FuaL=^iGpKzp%1nL4m>|ToeNa$CDZwpxe zc9eD_#LrJ(JSEn&*!@1G7JH%9@7X_(;vN>(uVd-29^;SRYh`Vp^5>CJ$y0hfo~Hls z!tL?A+-z5MKyMi!l=XUnsu8Mvg+0`6<&fGu$GSb6c^YM$@2uSH#X)$H=HmEE3p~3w zDS2lYkgY2IvdUe%dU`B9UEPIU-Nlve&d!tTE6Y3u{ep*TU!tnD%^aq^#Ete^7&LY{ zTG|J@z0Ko!wQmZ4T7%N%-u9POT7civ3OZ?^7-Q@U#so) zbRE8YwA`=#fLTK5YU@1v7?zUF4K_;fg~LAV_Ld7Qol6$fgx3LGMH}rcub_2h>o!!N zot7fY2A8GK(qgYGt*}}wEu|Il8TiQT|Np~ zth~HWd6G+oCq(BfD%_2|o`S<({Q5q1c$tlZ=pWbhN~Ok?+CBB2%{0oeP97O*uU4>nW{;jtRg1>Iq8>b@AibD*Hr$O zRc`dx{|f>2{|)FrdX#+*FwB)#JnNLfQfc9J>i=+v!H5`rw-6J_SSA-X{?E! z;uf#$0Ee}L%O7t)L=1iWe2cwuYs(Hs!F9Hu)d3zzDj@A*ntf$6N32|JEv1Sbp_Y^U zsB%UH6#eh%TyOt7<(FaH^Xx9~>2Y`NZYtkpsVnb-{;#)mLI2n9>aFc6bnot`|Ii48 zJ)S1c+07fb(z7r4VYj#NagWj20wyVSc+Dcsilm9OfhlD}&ub=)`{``3D2A}@#@$6G& zkhcahrRx8hEH4jB8NELH@4=YdQ`zI`s=ccImz+dh@A!BLt!sqEQiFFSR=MD*<-Mdn zEB989Wv!3@iv92MbgA}#pQn6~_O}$lj;OYfVLVVu zv#V5_f}26f!)K3;5ZVEAGGJCF9U|E(w2TNV4it9JnV4;m4gJs)w-Zhp~D z&%WS?o#R(63oLLS{U_PzZz-Cn`M0`shD;$E&MuqnC$V+WP2! zE$M$Z(|@wRCkLBv6($Nw_RM*k78h&>F_ z{+7}nZ;O~5LToR3D)|~j?G?rTc|2r?Jo`xVVSjNwj|UWH!6*Oz$OFZd7987S$Gn$5 z%KW>$7Zw{cXRl7E_MZ$O=Ktju%&h9lvB(+3{{N=g&iZh3{jrbiy~Q+_Z|N<61DsaF z<`!ku!0?uOYWY~MWLKhRA$M-O(!KK21f0O-f8W+k~yZhLG=s&o??EkKw?l0Sa zRsR)jv9o#@T08(9BobP1sUj8A;TC44jke3?#u#rAAkL)b&&dD zHT?9yvbVCQ64uvi{|D9o7SjLMR5;xj`njvHr%j+tcLjJD>b(yfP6uqF^nmP}`!+|0~zI z?6fNI=|3-7+0)ZS`rl-S#XHkvuf5#;>458hjHlovczO7ZeRj+u(7s=PRH@7^7-P#@ zcKB-m_7fNly-;QZj6GDR{J`6sGPeFkOR@e&gKL}p?Egu|hQpUV{pR0Hu5BB4?c)~Q z-czpbsWAK=ztumNdW8a#a7AbB8#f%ZA12#Sb_MNjs`T`nr}cj=t^d!T#0YY^^W@3j zVHVVV_;P1I{C)NR@0)3c>>vDF-%?6BwY;tU^uOu9fIo0ID!D%W$3Dq51?pACC!bX% z2{`6QXXl{$4_o2We;Vx*ee#bnxfZi;e7f=N?DW(RI{)SRug>JVU)yMH_Cvq#uVtJo z$`$hrueB^uXU)i?Dp@}L$Nt-{9t_Xe|HJw}p#6vbS3d96e^9f}vzcb#JSdXDE%;S< z>ZkvGXeKV>GsyS{O(}2LrIbl^yO3qdMTUZ5{(M}TI{H8gnj-@ofG@!AI$!f$}#)jh4E*A^*`z;%(A)fe_P?M0SDsPmvbSvNr9QY$`BSCW58Z%K!lLMZ zv4XJ&n#=cYs77sXKmBh(qB3*Bd}g0_-(hVQe;;)Jzop$%Zuw6Y78{Mqd&^Y{6#c&@ zhWgL{zpQJ6?SC-+cOT_#RP@gU{crWuyFGmM3;E;pVdBf|FIL``W~{#(A{qMK_;QEhWu)vEJ`v=%7?GrG&;ymS7%2i|y(aOu- z+@cAx~_!tZbURQY7~ z*W#o8eDkB`b~dmD<^+c#Q#yxO-(9T|8lq5rB(_Tk4`(3R?^|Fr+k zfB#eL|KR$6(6j!qSN~ZbLH|`-p-94j4DF}me*3Rwtj~S@!eWE8A0u%2;ku7_YZU!E z4E=BLyxoQMD^FL~-xe}}^!r<{$HMmCy9e2Sf0>V1Sof_*-_%k+^>|*Z@hxoFp1ew7 ziHb*^q0=+=cCM(rR`6p|r`Z1<;HUAY6}#dC?Ee$hU}Y`aMYyt+_BY#JW4u)^SYcoA zTY(=ySw=%4+KoVSZhK4VKJV{uz>As2VEgZ$0oLD;6oiY4wQ4JF-RzSp%JIXl{{F^W zi(=k9%cau8y`=wS|I2$TvHc4BU(V+ru>Y7TulJO5`(Nyve=+I_2~^p_+r@tm4kJ_k$*(*@Jh^GxOirlr$Oa~=}!Hk(XyaCN)^?-jN%II$6* zo+tigzC&1z<4c;=@RTwVdF~X`52qsyM+=43V(~0@6uHm%l{?flW;(o8h?C3?I9~~N zhu~bw9-I{ez&({(P zjHKd|#heZ?2TwS$EpMH9zgD)*bXc<8bgIabEym6fC(gvlMCSZv(F`$kmbh)EnW zk88ATx>W;5Fo%pe2Cd1PH!?@QAxB(2L%cH6)G*zaR%OhA?~D@NOUC6DC6QZn#^q@x zdJwQBa=B0v1#;*B)QkH4bvL;_7vG!dFy=IhIqvulR0HOknK&WTFdaAub^I*AmPh7@ zAI|h*5IbksR#U4o0aQG)Ky=L!ADn0UI@L+PQz6)xgTv}kjvI0sN9MT28iVOiGaQJ8 z^OTxs+!e5|&v0vj+f22`E45K_H0TuvN1dWT_->6w}0YY$Z%fHxeL$}n*7z^4T9^vrE~`KfvPaeb0qN9LH3=y+-#Ite}h zqTVL#e^GB1m&~Q~{rk}jJc2(sx`d9_+kQ$NTVdwjSYq2RADrblILjIXvBo{~bO;h$XGQH2s3f5A8gr>e5UZi&pbd>AogfOw zCL4(+es7#bt%V;Wp9>>$BV#k-z#_VVJF5CUrEEtEIgCleaXnPYlx(p$ria)t$;`Y7 zKuyTKz-$A#7jVMu62=j@SDK6gV;T(@dR3#5@LjZPF>?$xkUJ!nNp7J`YqC2us~wuv zW3{qowdwWQ9op3nEj?*hi(T_EDw*a^7h{%uX>@RnA<5fHy7_cA3Ex%{KBoYp@Ekh_ z2c0e1fG+kdpeHtxMC2%Snl=eLH6)z#8q*|K?9R|Rjbq6HL*yI?oawIYQ>KJ$uEgMI zcN&PeU!x9@NrwuuT|>duf^1TzFynHq+8@w-+b_6>s=3p(g4~;pG0j7y zfDQwZCd?5da;k+njx@>moO7--q-F}#$uSmBN9gHxu36w?Fq$+P%7l_HYv!QD%b{}| z!km{Q=RlqI+dN1_3Ox$+hb(7Ajn?#wY#?wL=8*jP_L*6X)cU(~s=qsjvtS$$g8_sv zZV8+Q-9nDc;J#v-!RPjDiJ{}Wb6f|_0(u!z^@aq2W?r~RO3^`wLRO2<%t2?N*&#e> z(@i@KtACxj`oJ*{#(Y5*R-->KDxvXPXM$@O;zL%uZC2;%#%QpPZ*K&&N2lfy5wUiCFs(@Vr0Q@%~)#gSl?eK2TAd zjz`G{=MtmdpG#-k-=FJ@sCd(CyWKhhjo|r!l*b=`!ER<-5xV)C211br_YEkwpSf@Y zRr)13vd^jwMqQl*oc^Sx1R$+1U5BVEH9_dkUixEEuyqb$^$D0yroa{m(sv;-BvW7w zp1w}<@5y%ENo^M9fX#mBk&lzLex+lmbZ<7!db84I++bm<&>>IFd-<8w7>HliuR;G% z((BKx#)$p8ehn0e2!)_Py+pBRo;c?r*25$L{@rhLL#vPjk3PPU$?IH=#vvM<;K~XI z#nW&E8$~fjsZOmvpfO5A!_$20C>jh25X}~ze25Pl$i#SwWM-wfc{Y%FCc}q@Q{UhA z5XNy^P$R~GQ;iq^j02ST7d z!)5{usRIxqR)epyZna7cWQPn$mm^{|pgVM{0ovSw7yC8$uPITR;YK0x3}Y5vjWHEY}no4clet>_Q^b;Jh5}%&W_GD9C+?%`&|62^}^}akKxEo1i^GH z+Ca4Kns8s6US^oy&==*YM?gFUD@?98|C z#Cvm7bNxZ?h)n_0^rqkOc6LU-=}jezJvG1UQd!EHw6DIAjF~)i(C2K@4u-*kSyE5_u{0s+8PDm6Q+SygE<(Jxlf`s-={>50PI6Sgf#ca5AX) zmk3s=QZoF>;NZPv{3Em-#L(u?wcmpf2Hw}0KOpIk{)yYF{-lumXDZE0{zXY5a{sC( zZmW7-O{Nz5cLi$}=cj*i)iy%MDX_~&n~&5tH|$gNiYKdAAAy`5{is&hMx|BO{k}^5 zcuCn-WxCgFdf9Ax*KGRCYzkgznzYFD%SEQ)xu);uni3b9{*r6T$}>Hj=ZlP3WYRA- z-MiTI_+nGRVv~KL$*>5nJA))g5L|c4bItN2W`}-{Q*?znzS!e@%N=qEPFX)ju1jM^ zfj{Mv!5Qn8|D207oCfNzcl2+Rhp7ZSsI=N$0EprD=^f7OA%I}E5w?BYG!eGE_v@- zK`RN#?1+H=F?s1$4A;Z{ME7doP(M)=p!!l$M+ zn4VJ>iH1eyLG$bjF;lUIZ_}5I#&VUsndnPywCcC%r)}7#-?|JwRISn8hZzPlmb6ju ze4=MQW%RHs6vsl0ER;E-Lf*4bKD1D7St!4^P&O`dM8m}z9MA|A4g+FvK%=R^Y^i%8 zHc>9)0z5ZYKOgOi^Fd%SE`nR13bJ*ARf9#^ zO^d7%+jPI)F6}?%e>+7xJnn4l@q7=fJ%jlDTt}oNhe-~-B!^?iXLv5{00p^I;ENTL zVz?(AFO|Uw+s%@$Ld(6|nTi+DN+Nh6^#E$>c+FofqN&*}5*8Xr1u$$KMOe6BW9EX@ z>56uYlJ57QKnFbP#pS}GSFrPdntF@WaSKb`h}1V-5hx32RE%7@Hu3~k4}jqaE*8_l zFyeB!guNLU>mc_b0xd5T1sq>jiuNQ6Gm zUm_gq^QxZDBj46P&a2vxN4~Aeo0#Lfl6*f@XDa!`bll4v%aWK<7RLnnIds3|8pTV( z#n}B+&#m*qF)OiLgSj;Cw|PO41)2gOODGU<*RBrxevCPFN{kRD1O-J1!en6tK9hwX z2xiR`Ev5E%wB&Qb^j04CwbYvjUrU}m_*!!3!PnCHJos7?0=PpGCoOU?@4T*Y;BVtM zBv&HFkH&9e696Mf4M{&+OheMok@VBWBnUrSOoH(9#SjE@o^ZQ|mgWDNugSQ? z^wttn$x_oNOHJ)dO~K1dUt4CHu}nU_r0mQRTa5ha65CR12HUG~oLxf1b}S)c&n*G5 zv|Xf64&olzv*U1GIK0W zM3GlzGtFmb3sYtbvqLo+K}(N>;`Du7_eR5e z)}syYZMO}`c zxZ+ZE*ovKzD@q>SsasL<$j*orJHl6p!b-CsoLaDT`mqHY(%lR8TM=J1O>AGf>_wd! zGkuueC&ox6I>${CHbEn+(xh!jhbL3G)Pi817PcQXu0{CO8cxq+q3daq zbtJ}dTf#NT7tYjU|(nKx}X4^7&udOK2VK^;cMqB4t>8Eaq{H>1MK*!PcdMITs zjx34nC|~CKyQ6%W85={iSA@}#_y(uXdxg0PnkV-Pu|~}UdxhtWn(cZ){HtL1IF}t* zc4C=s`RL`hE&s;yoaIj}|KakNmj7w_`^$xc=gxiFX>C9KX`A))HtVU@&)Vcx>*uFC zI@&G>ht65g!qYFZ+fH1pwp!nAlc|8U)p`-DRPqH}Ei|8My=eWswG)Y0!*Up#fX+AYC=GhMt^N2pf^m+m!#k}fE}T0nx3;%iTj5m-D{OKr{rR~I?VnT& z!sr##S3JJrmn;6TqIQLAMf-~06%mi!^4NDCd-}28K9-)=9)9oCwDvi<`PDamdPi04 z%p84w^?mu($oS6t`PFIdDVpcc-qdbJDf5v37<+cS82#qdvF)QYRr+6L)PGTP}c(z)2TA$WFDseojW}MZ%@~|eq zI(kp~v(!OtwY^FMekJ58OhGg9tJlp=P+K>u zQD+`oHGls5&w_Uexk~c*JE~HmpRGY za!Zd`w{lxM>XlqM(e8Th#97l5E7?E7kaw+=-&iT{T`3<}DIZ!XA6Y5CwNid>rTpPa z`Qw#ldCDHM{0)4+iSM`Yor-S}zQy>K;Va|&!X9%VerO|O@-?YzG+ApkYYT)mSwem) z{UL%!Bq9q1f+7W>)K%)*`tz+DttHlytsA%goSrR0#2w&z0sI?SEP{|P$6LzBJc@eL0KiT1`%>gA$TKekwSm~rhkOWuq`w^V1DqBt-GhY+anD(T^Sp2e5XuqkD>QYK`!j*45xh0GQJDaay* z%r>VY;t@mQ^9#gmbGUDKW;OI3yaJ zrwJR*BlpFm4n;2n=N055LRr2@LF!N(y5lM9UvcwD@vdXRQ?pjZ41L~H6C9tl>ZWXy z=jD+2$*X|W6B9Cf(yFo9Kk(e-Bg{whxK-n(toR0qA9rtzFnKmbh8k0~*%ZkRLOWPQ zN35X~_VJ6*SZcAPQQIkkwy$}zskXNpxV{|mmhncuT*jN?E%RlhY6=wrQuGe*?*dJ5 zIR2N)+9w~(VqalO7AvAY)14B6!?ja*2})TN!wL!gYleFUV&?LK~@g%2m;~?hJq}D z?ZG|Ld-t zHaK5O=!FgUIS4|#Ziwa6$A{nsi6Y4L21wh zrLd>b*!&dIquCago~~wg75uI|#s7+2>{p={;23e$3VJ}+PXQ0W4>QAfRZ7YKKL~&g z<7S<6TD{_baj_`BM3jS$8FgbSJoM08XlQlsba zqXq;cpd8i5W?m5C4bp1046-&DJVFT4lJVUjOxk;{3;){b6YIXVw$3&|8zzLZe12hQ z5%t}%Gl*vf*6;4iSMX{EE@u~(9Bpem*(%fKi}mQav#sr?TREz)uGho?ymoMOyR7^t zG-uU;syC||t*1L={4+H6pV+Xa_6cor$+R_QJ$~sz=eY~jYI*jb)0)_SPLr_@cCi(^ zgCDmZ|CDbBdW*f*aCA4lVZ#2kTD8#h#sPS7-!AWNbzi)60o#PwGi&Q;JKOzQr|dr6 zcD$_09{nvuRsxhmktV;bs?~|jS`p#1$p0+&w@zYbE`OjyvGmDTldtu(sjRBw`tu! zuRk>SZA}fDh|rjrm{2wzY9b~~NLDgXWDlnE(8B<*xUv>i z(zOIv6Ja#!^&E#LVnoJ0S$AcO;CRFEpQ%F0R#JMpQ6EYx8cjr2x^Z~AQYL*uMpk-y zI#1VXQ`K}7PR&rtpa3usK?Em*{?zznlw)zwEU+)i2%$(*Y1W5owV}K&*=)XCLK!3? zOMwIUu*tA15o@%ep-)C7>y!0QMump1VT@x~vobP>J(>uRMSn_7uu`E0i3mJBD?=Nj z%}`oPafMTpGql=!GI(#Huoq?wF-qaoB(Ou}LPl~-SWGg{kTF6(BI5>cT(9R8WMvpfgfe~vMVJNkldoN+S*4+;Ahv-x1-~UviNOv? z4DK|2Kz~p!mCDzuwbat-LMDEJE=Zk>JIN2V$eeDB38M*u0ufU-AzzcPSw%@KkmOEA zi#P`$aES9hLpoZ*`zAe|%J8@#jL67R(lhn?$tq_!oXP1EhHKCttoMO|BufAsRVpEq z6hf&CdegrzSsD5@T@b#dS*lr}`4&EmNP;5xK?DVAU-ES7PPHYI)6>lqAAvO9$JCM$ z>AY2;p{bB8RsI3S+bROd`;t@eEl{wu4+XgshEK>vCP8O4)6>ybLC8`xdB;Ef{eRwi zKHbBFl?Q4U0{hK3I2gYNQ(y`c8XCrf^3Uxec%WCB5F&Zt9iXTGf`<^z14dQ~^iOXQ zVtI(;VF(ZLJPhR_frnu{7H3lJ@u~E zQ}1d$^{&=a?`l2uuGUlUiu|%|J=)s4-sdzWY*oVbK2KMIO9|Ke{O^AMU**^Tt#`H# z{Rb{rYxmVaDZ77#46$)T;)f;- zGbSb_4^J79D&8=1)aV<>+>|zU+}Cct<<{}(x80s`$DI@I%Dj8xJ(IpZIcv%{zWJ@G z_kR1nY4?BUyQT-e_u%vyGiS}to-=peL-QBpJp9O`=7o!L^A;~zx@`H1#~yz|TDj`` zKX~$~r=NK?|A#+Xz2-Um#u*eG8m`kv8{*;S8a$Ozyon0K6!t{_O*XN{NQszL2+rYFa<9z(EAgC z+ZE6Gifc$<{Oose`tiFD{sDUxuPFdOey3nBP6Wn3HFan~{?e>9bAtkx3-ZMVzm{Jse)T<%!0nn!YiLkuNk=)~6x=5kynjlAy}$ZjBmOn& z`ym1G_x10245BkYj}{a_PdOcopQ^wU+1C;R%C+~klYn&o&*ArS`YQOnFJ$!LKe3`8 z$0%uiDbp*)oPc`Opa1<}sgK~l_uUmg`~%7hC0f8QGbp3irmoU1ybQ%!kad-E-gjR7 z@CVdC0KO*u&(2Mez8^jPs`{tCD|4;*>3uD{Z*`USL;oQGvxTeUzh3=UU+=mKUrGK* zP6U)2us>M==)Yo4Lawp>-q*qc;_okiTozQZQ|?}QW`u_PbM0@w`nFj>Iw8;MD`dX* z6WgvK2m!|*VlN9E%v(JM${-Pt6uW!f~>P#-BQW zp8Ll!pYgt9cdhuksk_u2`Xe+8INUbp^x-v$kcUzvZBpkn?xAbvid^qWB$e8IQ8NG*XqCerm7$Q zB8!)LUxf6(4*VkdzXtusOH0rbk0<6T?f1Un>W4oNzZm{XNJn6}Q&Y1adsuq<*6gd> z|7`wd?DgQM1<+OTbHhsb2Vy5@?DfyTy)SbI#_z9JkU!oR{zDJq%${7Y{rA2E9vHts z`pYhsLFOOao+$D~rT@A1-}`QPU^;`nFO2*3e}7FM>^Xp(vhkNSF5o;J{ja`g?uY-M zVE>7sJX~e{?|m=b5C358#s9Pj_8y4{%-5-Sb+LftEi7=kVDF3Ve)t3MHJGixuT}rE z)?9u4eVy}P?^%q%?V6gZC>D+XgX%xlQyBkgqAp(R{M&nmBQSoo_o0KZKT2OvfA|IO zd=mI+JVPlK0@|x<)qf`YjEaAk{wqgH0`n=@drri!{R7%RYLNGT6ry2)^{U_a>&JEf zDCXbZ^Cf=xucH42wEVt`{bB6qeGqv5F_8Wj`D*u#k^QIj_ciDr{fY!CaZ)2N{sG57 ze;)bAY5ilqHvG)~YlLgq|Kr=K*Q$TsBUpjkHI=oWxQB9q_<6naf6{+;bSp4^k`NZI zrvJWkH`l2Dc)P}fVd5(5x<2whpgytrq`FTHQtQ0<70R!A3ph@h3zU;&f%z0nT_g}H zKm8-p1`L)`C7CJ&lxtu0z~zE{$I86zXY;i$&DdyYX6t|DL}TD~T{HeXbR|2E=HGr_ z?Y=SE|GU=xcR%|V$es_l|KYFm{_*S8|8E3cUH|DtIXeF4*Zx5CdQV;k=KoY2hyYl; zjfrxDf3AQ1?>(^@5Wk%Sln1g?5FLLuD)IlG{Z~(V2E@#P%0cG9{O>dV29jrH|LGK}AAX4K zz~OrIU-_N#>g#Xi^r|2JK=fYo?{BpJ#|g!&;-{8g$NbxS;5sn>r_xKPB*I3N8_@m{ qUd*Si*ZzACY6ryMSL6Pf`tLp99S}e41O;M1u>D&1(@4S*g#QD43DR8v literal 0 HcmV?d00001 diff --git a/res/ports/seega/src/OBJ.X b/res/ports/seega/src/OBJ.X new file mode 100644 index 0000000000000000000000000000000000000000..dd6c6d542242e51f4540bf2617f2b403f82ba11f GIT binary patch literal 14472 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 TpV{>V=&CK%sk@mY008_ypCF0_ literal 0 HcmV?d00001 diff --git a/res/ports/seega/src/loader.a b/res/ports/seega/src/loader.a new file mode 100644 index 0000000..42665c5 --- /dev/null +++ b/res/ports/seega/src/loader.a @@ -0,0 +1,25 @@ +!cpu 6502 +*=$2000 +!to "build/LOADER.SYSTEM#FF2000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + +READ_ENTIRE_FILE parm_boot_open, parm_boot_read + jmp (entry) + +parm_boot_open + !byte 3 + !word filename + !word $2100 + !byte 0 + +parm_boot_read + !byte 4 + !byte 1 +entry !word $8000 + !word $FFFF + !word 0 + +filename + !text 5,"SEEGA" diff --git a/res/ports/seega/src/seega.a b/res/ports/seega/src/seega.a new file mode 100644 index 0000000..59acff6 --- /dev/null +++ b/res/ports/seega/src/seega.a @@ -0,0 +1,50 @@ +!cpu 6502 +*=$8000 +!to "build/SEEGA#068000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + jmp start + +compressed_data + !bin "src/OBJ.X" +DECRUNCH_FORWARDS = 1 +SHOW_PROGRESS_DURING_DECRUNCH = 1 +kExoProgressWidth = 18 ; depends on total size, max 38 + !src "../common/src/exodecrunch.a" + +start + +INIT_MACHINE +!if * != $B9DE { + !serious "Adjust prelaunch to patch JSR at ", * +} + jsr decrunch ; compressed data contains target address + bit GFXMODE + bit PAGE1 + bit HIRES + bit FULLGFX + jsr $900 + ldx #$20 + ldy #$00 +@a lda $9000, y +@b sta $2000, y + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + jsr $906 + bit CLEARKBD + jsr PRODOS_MLI + !byte CMD_QUIT + !word + ++ !byte 4 + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts diff --git a/res/ports/wari/Makefile b/res/ports/wari/Makefile new file mode 100644 index 0000000..7a5109b --- /dev/null +++ b/res/ports/wari/Makefile @@ -0,0 +1,51 @@ +# https://sourceforge.net/projects/acme-crossass/ +ACME=acme + +# https://github.com/mach-kernel/cadius +CADIUS=cadius + +EXOMIZER=exomizer mem -lnone -P23 -f -q + +BUILDDIR=build +DISKVOLUME=WARI +LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000 +EXE=$(BUILDDIR)/WARI\#068000 +COMPRESSED=src/OBJ.X +SOURCES=$(wildcard src/*.a) $(COMPRESSED) +RES=$(wildcard res/*) $(wildcard ../common/res/*) +BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po + +.PHONY: clean mount all + +$(BUILDDISK): $(EXE) $(LOADER) $(RES) + +$(LOADER): $(SOURCES) | $(BUILDDIR) + $(ACME) src/loader.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C + @touch "$@" + +$(EXE): $(SOURCES) $(COMPRESSED) | $(BUILDDIR) + $(ACME) src/wari.a + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C + @touch "$@" + +$(RES): $(BUILDDIR) + $(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C + @touch "$@" + +$(COMPRESSED): + $(EXOMIZER) src/OBJ@0x0900 -o "$@" + +mount: $(BUILDDISK) + @open "$(BUILDDISK)" + +clean: + rm -rf "$(BUILDDIR)" + +$(BUILDDIR): + mkdir -p "$@" + $(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C + +all: clean mount + +.NOTPARALLEL: diff --git a/res/ports/wari/src/OBJ b/res/ports/wari/src/OBJ new file mode 100644 index 0000000000000000000000000000000000000000..59d0e3314eda05fcbd070278d1542a4cef80a947 GIT binary patch literal 42752 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 Q2LcuyumXEyPh0>10Z1w3t^fc4 literal 0 HcmV?d00001 diff --git a/res/ports/wari/src/loader.a b/res/ports/wari/src/loader.a new file mode 100644 index 0000000..a877124 --- /dev/null +++ b/res/ports/wari/src/loader.a @@ -0,0 +1,25 @@ +!cpu 6502 +*=$2000 +!to "build/LOADER.SYSTEM#FF2000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + +READ_ENTIRE_FILE parm_boot_open, parm_boot_read + jmp (entry) + +parm_boot_open + !byte 3 + !word filename + !word $2100 + !byte 0 + +parm_boot_read + !byte 4 + !byte 1 +entry !word $8000 + !word $FFFF + !word 0 + +filename + !text 4,"WARI" diff --git a/res/ports/wari/src/wari.a b/res/ports/wari/src/wari.a new file mode 100644 index 0000000..cf74216 --- /dev/null +++ b/res/ports/wari/src/wari.a @@ -0,0 +1,50 @@ +!cpu 6502 +*=$8000 +!to "build/WARI#068000",plain + + !src "../common/src/constants.a" + !src "../common/src/macros.a" + + jmp start + +compressed_data + !bin "src/OBJ.X" +DECRUNCH_FORWARDS = 1 +SHOW_PROGRESS_DURING_DECRUNCH = 1 +kExoProgressWidth = 19 ; depends on total size, max 38 + !src "../common/src/exodecrunch.a" + +start + +INIT_MACHINE +!if * != $BA3C { + !serious "Adjust prelaunch to patch JSR at ", * +} + jsr decrunch ; compressed data contains target address + bit GFXMODE + bit PAGE1 + bit HIRES + bit FULLGFX + jsr $900 + ldx #$20 + ldy #$00 +@a lda $9000, y +@b sta $2000, y + iny + bne @a + inc @a+2 + inc @b+2 + dex + bne @a + jsr $906 + bit CLEARKBD + jsr PRODOS_MLI + !byte CMD_QUIT + !word + ++ !byte 4 + +get_crunched_byte + lda compressed_data + inc get_crunched_byte+1 + bne + + inc get_crunched_byte+2 ++ rts