From 88dd89c9f9af70c7ed49ec6fe7f4d84f4cbd0c70 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Thu, 9 Jun 2022 15:05:16 -0700 Subject: [PATCH] convert Serpentine demo, save 38kb --- res/DEMO/SERPENTINE | Bin 137 -> 216 bytes res/DEMO/SERPENTINE.1 | Bin 38505 -> 0 bytes res/DEMO/_FileInformation.txt | 1 - src/demo/serpentine.a | 78 ++++++++++++++++++++++++++++++++++ src/macros.a | 17 ++++++++ 5 files changed, 95 insertions(+), 1 deletion(-) delete mode 100755 res/DEMO/SERPENTINE.1 create mode 100644 src/demo/serpentine.a diff --git a/res/DEMO/SERPENTINE b/res/DEMO/SERPENTINE index b21c703c18e4e6a0a69e20e355b3e199f7abfec7..8e235f8493473b114547c7611421a2330ba2610e 100755 GIT binary patch literal 216 zcmdOCKA_WlKwdw_ZFh5e^4eD7^Ku!wap z1LIsy=2HUSS911#VqVGI`2l|j9sJwR?)kIz@Ud)cS=N^|xqZ~_fmJ+0TYVAfSy9q5gat|1^!6 kYnT}{7+4q?I2a`V{|C|z|ABxf*fl7?)i1=;&sEP503aPTCjbBd diff --git a/res/DEMO/SERPENTINE.1 b/res/DEMO/SERPENTINE.1 deleted file mode 100755 index d3eed59d3a2f4629d889b92f935ec166ceb57a82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38505 zcmeHwd0-Sp_J7ZvV{(AROax5Jp&>?gLIOl!VO$Q;o!yN}6uGvQOgI)We!b8|2)Yds z8JUQQjEWgUIxvAiBA^U1B#6m3gB-IQUW>b|N;pIu6+%!UzfV3F}mfFWcI=tEksQS^H`akaSDs}nyG-S(|LyanP3fW8oS zi@QXFs25L({}ewHKNqXT8u3lBlz+&H=y$~iZ?5>2C()}dI#uZ1NSszU@n3sDwCI%Q zk6sSJI==e6v?{3e>YT~Bo&`QG*Ikh7<{a(Vy-GB7emu_d-ZGl1CjRmky2@>TR;IC-lFP=XQbGD6Pyk*JL`olr;sTnWk)OE1z9NzrHZ*)J{WGL(_^0$4+|Q)X;eIYH z4jK5Qnuf*v8*BN6HBv(`ql(L|uM4JCX>#j#1pA^W_;t%#ERt`ALG(#mW^m$`kGv*v zF;elzpW)9$+Q*rLe}X~+rs}Ctmf6XD(8ldbpYtaezhYH-i`Z zNdxXefGE>3ASxs1ta@~D%-8bgCZ^}KLoSP-}JApI;WaO!a zTuD_6a|4^IyF$*`s)F3Cqjk_qYM?cABOE70z<|(?u4(*w(Q6Qw z**8Y9yphZhdZy|-Abu&tf11>w#&#D3ApX<2K(x$gm1Xthy5Gokm*u)w<+{sr-BPZ* zBGB?vJ!4pmIf5iX_%p*Ar|+$Ca8hz=7I^q82*4rrOwa%eg1f&kHS zE~-wOn7qS%gTvj+;qL8l_i?!UI@~up+&4K+Cp(y!y;%*@Ayl=nP11sPk}eFB^uMY| zoFZwiqENj#Oj1-@S)q{hY0?;>(69>vM4=AwZj;pGaKGVjmpR<49PV<5TXMK79PZVQ z)1?kRe;sPhDN)-9M<;z4im^sFeCUl3L*hyMZLw%?H+!vUfoKvZB>z}x?^yWudgDYt zzcz8YxOckfm#V}N>3Hln#!5xjhz6JBiqwd%23Ih-p{SwAY9ww$kyI3juQoOn5i1pm zF8lCUkos2qPO1!zKy%fKYos-0+?w~E3&kIQZ%HWn_p)UgwK^;(0+xwFaiJ-k3a|zme6fH6~ zpbd>D4a5Fw4AJ2lANL^AfbQ8qVs$BW_$6;o3O(e#D1Jv2YCjs^5p5cT`(2Dz%P>d7 z^Bw*KQ#un!bkRr+i%bETZy~81DW}x4$Y`Yc)~jccAqI=<7rUnB_u{vWaJ~aYzUeRM z5X57osQACec`Z<+{Y?Btj?-#6n2XY>NUeBL`buo|!gZi~`?E-+K6>Q;pJh zMW;|?-&B0F?Y3&Q&X9^@kiJ3Fox!iEIpxrbT%!e7ov5kTg^c{!So_DZ5?8Mc8YF}L zV5}=bGW6>asR`=IRn+ri;wV80V@{)_A&$Q2RMR)oH}%JYFA3#_nqHQ2?n&-J@dxpO z1e(=7$_>80)#CS*j#kvK@qM*H{87?~&GzAOh(n0Q=|~(ff0T4$Gym$#K+y^1S|2x6 zJWuGBYb}&6DL5jPE~srdU#?dfUI1n#i8M)iL~3>|sXvbrmf}z{@5GhsDQz%}gfRSM zx5SBB$V+9DBl)LaW>7sr`caPLBVMJ@%P5mS6UVae`V8cVG+HXAoErUVi=2sef=fEf zj0o|Zhif=zk+Wl5wxGaSeK<@+_AJZ|_T(*zE{jwi>;|Qx98kB9B=HSJn1S$jB@!f! z14uU$Bne2#jt)oeQ$Q+ByDWeZonu3>tjchxGVl^jgBvuB z@%5j)W5eF$Ts|fdj3K{9KwCjoV4|a)B$0MFrrdwEkc%nR(S~s zbL$RR7{GFFgY>Sqd=f;zh{Njed{UfLUq6t_ux z#CPnIEYc3#7>$wY#CN0};x+;}K3k}potz6-#2P{+n$XivS;TkHik@C#5w}$db&lh+ z3vy?3j@bo{*_zxt?<9EjepheM=PbuDLyQl_hs>P$40i^BuBW+(h?bUE?i>8by!KA< zTj`xU>%Xmz#fatjmQGfW+G{OYM~PoA9>qlQPR#bV-C6$~!}*TRi<|791BdvvVw3bO ziIkf9HV6AkN8u)i%=DT_VO^-0Gz0#JYx*{az80%6&GqHPVxCLf?@%pX5)_S&N(zs{ z6u(N~^by)0E?zh%=}7SeZy^(@JnN0(c>ux+e4B)rN^Yecz&}SkI+vMWP{=1NxBbCy1-Pb0G@WP#RVT&v@sGg}9fBllC~dT&FHq+8e2HYI2?WT(n(7u9x$e zu+mW&|Gn4X)aIf_9djn^?jQWb)8p(t0vS{4o7(-5RM3GQH?v7v>`5NY$(L4U>wO2=bSUtIcEf4 zkF_!9oWai1y=8BP^Yl%!_gBu-H_P6eou_{VFA2qp`%p_sbNrS}h3ktO_F+Qw;!STEqu{KwR+L4!r3))ER2Biq(dHSsx{|-SxJ>*Y)tmi)YKvQr?uaM}sxai;Z`ht=dn*`$ts$HH*Nrs{T5RT!&TdC*l2BRr^VJ|1jwCjF%U28;jLllNc#RV-2*6 zc#W7KCW=WSN?qi{cyEfR6}x(~vHsf)b>Apn>s=#8h!%`pQQ~#pg(7bJ?pPrHt^7<) zeBTzaxrXceH$!s~SJRb-v^1ox=|)3(8q(KXOG8E)GS*mVD1wF}YObT9C>n}t(qMva zXficLHbpmeX}YEu->FoC=dlyC)kef-Ho8x`l zC^y%~$BlJ!DL&5b=F)szwwts1xN&YS)5nc>b6GxalA9amE3ml>cwfONcR?Rt!B}@e zim$-#E=cngWV;KjzJhV?g3K!_%0&8u(qC@HMs6 zHo?DfJMf!UY`h46?IPx1RK0ZBvx^EBmL7J0x9!N{MXxU^jESnMsscfd`=zfMD#d@^ z5k_?2nbjdI2fNX0rV<&gco-a^C<=*U;SNwlU8^MM&hV@m%#x5*iMzt}a&$Xzx-9>W zc(+-Z&AbB7u&8LHM-Ic?uvpoPJQDs)6VMQ&&0N5*qi8afblCuYHAbcjY*mU&laW}4 zfjEW-5981d?pYX>mCmdRXXTwnF$qA>C?Q+i z@VO6|lIOKa#n6~+@DqyE$kMWK2PhCaK%%UJtb>RONLob(O6M}p)zZCMJgR;;s$7@h zD}#T2`Cq9#N&O$gO5hjaA9^-wuyvqyFzNvKtMv?dRi$QrmV1H|j>lwHA+n0-r5zrl z!LXU1p>{+4vyO%Ux3;hUm&O0z=8yJw8w40-9TlVILd|)H+%fpiFMpQR4z8>V@VDNI z0cfOk@PD5F!7mpQ{VPV6aF`+~X^b{a4>>4UrkXSC>0>miR#*h9Gw{nfQftxG;#mg{ zv|0xarcHmY%SPjWxXYE4)5r*P{0`oGH` z;~$Eji~v^fXJx6nszl*s+^$`#I#w}Mq1)jB3XD$Zq5gq4tpUFXf3&~!0l%@5e>i_N zUl6 zwc4iHZ&%0ve_Q)cA8;G=pLI1uKUHA3ZU9hgo~%&?LdprI1N2fz6c653$e?1jY z(e+THQcvgN&Yhijx3{0sg%c+eucp7U3_oB0S1Ql8@pr&4!XNby`bYjp5&p8~ zr~*`}RgJYbM5dL4Tjy0UfcY$-TeEq`2XAdG5^Z6S_hF9sOCb=d57FF z_|Gr@aIL6*LL2jM#{V}1U$g$^KhK{EL-Ic$)4F8R%hYwxUQH<v~pG>+CP^u-eOOuk=9wZ zX|{iV`yT+_pv-Dq-OfKvKtHDgU2BM^OA>I@<*B;u@19OrT71H|6m$9 zO*c#~(SO_ee|koSHGS}JtXC^)_p9D}dV@a0ds6sWZHrO+zhC11{~&As zgGloqJd))ZaxqDn?4*ps#w)pBW4eLM%9Yjsj^iJL{`7b{Yk;LsmYtAdra(47H=H7y zHM04+;cVFiW%F~xioE~omG6_1X3fkRrd)66+wYe2fw%rzx%Rp-wf}%YLxwBY-Z$O+ ztBk=zM<`b%opM#uDOV+(a#hkPS0$ZtRnjR}C7p6r(kWL(Z~y9*(`a>igYp0DMZ=7i z867ivW(>?2nK3aF!AvAGcu}61XlBgJ#4r=fOdK=u%yeOK(H(~X$~X0Bx>kr@j! zNz7cwOm}8_Fw>Kn>zPSrhG*smW_mHxo0&e$^o8-rFXR3Hx9p1kPrhZ>+RAaQml}=c zQdp~2+X+yo>jbFRcLFpRIsqDuod8XyPJj^+od6>vI{`*Tbpniz?gVHy+eVGGXO9~{ zNx9xO`i|e-m2>}O<@%d3cmDqFdnZg$t|M>%?H}&BZ{i=7tCCK+D(RG~l1{lQ>6ELI zPPr=Sl&g|Xxhm%ZFXE9w5PfB#754cBt_*>afW?qf@encQPsj)vLCX@CWnNDFTT&hN~ zb2RfPY#uj9g{5jzWV|fR5DFcl$x>lMI0ZI@Q}7tIIhr}ZQeY{dsL*6ECf`uaP{`O` zz9G6HkTG1oAu{KV@-aB07ykVt5qLZ|NqetsCuzsiJY;Le>BbpltIMXZ=Vo)`w2Gai zn@eGHHIsA-Y@9ZmrRDOqk5bG>wfQRSQBHw9$|-m(uFgzyTgd(_^L+8N=k8E_3cEAA>V`ct>9O8rM$pFKF|l#>+N8N}ylv+l<+<+1JT7)`mMW zycVU+j#6xXtUw=^2&Vj41(qFUV`;Uv=K*n(S6wV#xqi{wq{QF0m2Qt3gZ+jZ{{_yeTcbY%K{w{2MnanMK zB|}^L@kN2F~&$|%Mi_cSTc@v9A8rDc&Ch4gD5pZ zagaKmPS6l)#7>aM(=3iqBX&qTdW;K!XQ?^3)YCQ^Gp-DSLBk;gu8gh>2k*VAmO#k( zlBa!K_qZ;v-T0DeoClj3HoiQnou`|pBjZ^6@kN0vZ8#6a%y18w9nQoYCnrkBCSo`rsfh*(HcuI{>9IuY2(~X20rD$a1sh}a$7{zdU zj2eLpbUbBJcXZoEW5$)mGiW%3zCfH$Ki1-EMqI z%I}`vJv%9Ee2LDF%a0@DScmaNhAZQhl~N-Vt%sAU*f8xG2<%7Q)oK~ ziBLvYii9^`y3qIU(yi?MD>A;M3BzI2+Kn%HwufNz!p4{Wwh^#oY->Nh$Z&PMx`k2$ zMcXavcshtuBNPY8<7q6V#wdo9X>XCkgQ!Rzyd!aTj}^e{^ygVMt+g$zy)vx-Q{*MC{`oey5a zn<7jR23Qkj>GC~XmL^M|0-L4JQt!>kxJT~IBJ>e@1&{a@ID?H!mn{`wbb6Sj5aruH zdX+^|s|c+u1T9Pa5I82G_6ox#~C*Onb2HS%pcVZMK7=$i7tk6YJ zMh}cF)}B^!Zx+wTD|p1Oz!^+sd<7Ae@Bb9sPEo@&fiD%&+OL=ug%rIi^hkH0L?|#N zOs+JqQQQz)mMsM~iyI=39Z|S*?``V^+uIhc!Z7a9do$j~t1$R64pBIR#nDGLaW;V% zTWhP)M4lkg+hwq8ZAE;nj!U))sCt6H!WIkg5lir6<6_LoW;2Z?_{kih7zbi3KF&e_ zZS<2Z7PC>OA<;-f>B;dR&%!_<_%_fVK9!i^t(G1{%wes=rwUoIx&`zq0G>5$P{snQ zwRM4Rgh0Z>r|L!!`~_15EBGKhmHfzcKH@d>k(p*Lee^Y#JWe1+BjiI|A-}a1@#s)= zbIqKPWuC{v0Ff|f20nTIrqcj_ynUVx!s<9eQ8Uks^+g&_0fhcMGYOMOFqmhC?yQzD zdS;*yda68gk={hbG70pSPoSw0Z{lo3NN_{ENyEhnR%q4=X-ODA62_ab2&3rYj7GvM zpB5cQD4Oy~h{l@Z>vObwiM3ROJj-BOiI;^OXcu`2SET41q3dh!#tEr&|14`vvRa4 zIUIiQAP69d0s;h=S?jV>O-yEZ;-hqs2T@EOOkOE#Bae59sL=562}S@B#pK~+)@B=C zGonJnV@okZ9z;PNa0BPj;B4V?h7f`Ag9kwX5d{QjTGo0xm--kH7(aM=rIVsS6cC{4 zY^L=Gxp6Z|Vc`eQs0T?=APNZ3G|#j?T9cBaW90=;1cK0Q7lOd`89U3h=_4DLtsQS1 zZ@jBlPU^TQ;*x8;mecSCYm7Cf*XY!olmz0EE3e07# z|6aIh{`=rs{o~OHLIDR_oSTOq3d=>^Wdef;y`ruY}Y zP4gGPwfYyr&GbJ5H_QJl++kIH`t#gjGO#52j3R~6y}*5AAAb+HDgK^t)BM-Nwfd9c zX8L)!S^gW~sv7b{_>%j$lSlcIQ{2g8eaUI=WVQ2t~C1<*m$N7@8+{xp8$-~^q zlM3Sx@MpIQ();n*(%zuGX}7dHV0Deco<6&qc1gRi>GrMI5gOYMViT|^Y~_YM<*+rC zsP&PJ5XHSdE%q%W+Z1x5n{A8-ynwb^XMZU{kdsvUFH9A+{)J4COz221?!ORGXRRBR7vc6m+MgHZH{Z#c0_ zT$vMl3Tnky#8<`F#Ff}*6ES4>xHqtUrdTFzzw=JZ46V3P+$3)H2D6TC7hPhJP{tuE zQLZ7!vra?>qN-aKH7nhLWfbWSEMrM`V6l_#z>-b61Iswl9azSb?!YohQt=Zhej>$B zr1*&xKat`mQvAe8gj;nYb{Vsb0&NfmRgeTd5EIyLcKod`@}InjY=0nb6@B6svKQ9( zPdgL)RQ&)qrRqnxX;l~CTB|O?&8%vLn^nclcP3)jE2pK8(~{z}q&Y2CrzO*A$#PnT zk)k3y&)h&ad|OZmgpcg#WU;T@bIAv6a9;2NPj>)D3a1zW!FV`qnuw4b$&gI{wGvA3C424%N_ zI2mM9K|*I}oe)cvQ|7d##D?r$0~e}etvv$fP(N({HV9k8jjTG0ZNWm3=qX6`dtYey zQ2H?NW9Yg-OUMv76Ur1I>e(#k*@0{W%6P%ns<4iRmE_|PAOiVd3&U`twa(*|h+ zHd)krTg44TroRrwo@bD0|4{68Hhnsgih;7*K%5M+sh|pMK3{y`hz7fG(?;PrqJ@_< z4bcN46`mtTS4?1f=-R-nP~Sj4vL6@~iVTbmSpxRZO`S67M3hvSZw}+@{gZQB4^R(` z1F7*KHHnZyx-4wVMzWBF?bzfjP!O`9fRF_WLKb9DKtRDv4VeXR1o{U4SEVE+2QQP~ zP#qIk1o@Xh{uhY+C1Cmrn7%H{-;qNnazK8H1^EfnaMh!Ztf!)~-4NwnCp{+Llh0#c zN#DZf>6VG#V2?|(@!z*(zk0Iq-@C;S6np=DDYQz))+$UJxr@vq=`Nadzmn91q+|>JoFDMpYEG|6Uy!Z#ZYCpKb!q?IiQ8kQ1SVwTFXL|=xW@VAYI1K~-*mhSP`maAtd zr6mfb4id2K4AJGb6Ig~GcYb}d^PyjPPddN8$@x%*_nb3-urt)#`=K*`s55_raA1e= zzz(7a+0gAPf8F#EHn2p0vX5@je~AhdwPJJscDli4m-bU+*GsY+X2{HT!_VM=ap>;m#EV(xnZO?c8P0a~3Wc{rAchqyMo+kd8-cD*f2E zR)73>@Z6%E-p|GNP{8&0H{h_4kj|dCj1M`b9ptEuNSpz3&Xp|Hjo#C*AQUCl1$bAN zz>(@0sg9gzVRrQioT=vdL)Frekbu2I_2^e(8;(dj0y|ws=}5mg@rZqj3j^w5<8bg$M3xJ z&VIU37woJV1+DAsW0u+HF0*Tv*-yMcgsIkJ?xVA3y->fyWz0Id!#)pSWKe9D_SDxA zP@R3*3p7(>9nJYsfs|?^6jdM|pI+bW>O+wtrFXIOuNkD_Aw1?TllFq1PG&>=Ch1*Z zXb1+1oG>TkWpOBQ9MQFOJl=@9`bqFQ?~TD0q#2I9F{l|(y|;g`rTi0%RQKe*_2N!! z`}<_v2JyXyPge9Z1!JIuzch5gaxH1tVirxN~SW^(dqhE`6v+@Pu^SdaZXb z2yPTVsi^aF4?^rU4WFQZy$QinNTCf9ouH1BM2R7@>n$WPdPg8hfw!lUNQaYeNFw`h zib$I3bJDxP7-@%P#zpZQa`WGz0VEKKfJXdp>>1qtz?wj7b#!$kL|%aNYKn%-$I^JC zF$b-qbI^)94@YDJ8;_;!hy(F3J>-DyC0fS$wmd_Q7tkE0XALwR4i8KJ9WpeWv)f%w z=jho3??~^7JEWarom4NrOC_G&QR3(@iGNxY`LqS_)L=SHC1~@@+;=J58wIe`g`%+` zXTZBzY_y+rVd4_-`ou;>XKi`M{5znl);654+*b2UTi#`cHH|92PQ5Ir#Se zo3MLnAlh}fGdvD>8@B;3&ZXjE<`#z9ZsXZ5{_*}I>^(~fedZ&RgCs& zY7Rpbf5~z+;b}SHUooAzQbPaom((G}AYBl7=H(1;TZa9d{{U4Zdt3w8UC%Iu1Yj5R_c0v6!s_ z-bO4X18A5Ep35G3 z3nn$sR0~!!Hxd$A%_RF|&C_Bg*|nN&)5s-OkO_bg!uhu+jeOt{vo(%nzsL2{=2~Lo zGJs}J8kwFKmmfp2Z^_6rC)tzmy)*-x^UWlm0ME79HCV3)__qV|%wWmDqwc5Jb4`Pd zQ>XU8tA9^gILr0(=31}+18BE1-8;{IEcX-HuX<@YhJ{;S#4#B<`|KC(6)#p5FSi;a z3rOYaw*bITSX__g_H0yGaW!__tyt|ZE5SDXq4g`0Li(u6GOfR<*!e}V|5&l}Xt90J zfUYI6C49+%lB|;9C8J92EXgjpw`5YugC)~T=9D~I@>EGd$)b{_B`=ng#Rj!y37!zY zq9jeI+Z8-3kkDVS!!&{LK?+Iqd=@-aX7L;fHkDoH2?URnb@yx!ep1%cvnhD6?0V1I z;NCLc^G2|-te3|fe7CHRXIXGt*^QpX!MDo#c@_k#%Wn3}4OW)j;`y&&d70Jor{L>l z8J@i0in2i-A^2k1t)2)j=?}S^r7Spyb;tnFPPwQBKfPEq}M~&Rb4Ov91mD|Fp5qm(P3OL*;kdo zB?oO}9n}Q}VbZqCbptjYAFZWxD{Ww)t7~9abu2(xN40?gE@NPCH9b*5!tqMwoU#^# zC{jLohzt>3epF8%3JX%)2!b1Nb+{&iYq~mI zBf&LZ9j<}k8m!pfC_RJ-4lE=qiV!yzKOfPEV^KN4eoZw^b!L)T8MOsUg@++ObEIi(AFIJzOphR;5Ry zO62qnoM{o;P$(4!Y}MMPLab25L6Mj}=3R@3K87B8fwixhB3b*wdIDM2=_GfAo1uvAE?7jr6?%&rQzI?cRbTQ7)~w z(D~3{=R@~79~$a>Xrl9>5zdGH=={33^XrjhS?ufE15f5R+R`<50{VSUt5KfM%wOQr{OS(o5<6y!uTKP zZQ^#<=ickZmWmcX>q~&(y;bbz;k*$zXQZ*wtEZQ`)Zpogmg8+mogqjqmKk6c*dDA# zm1q{v<5<>~ie~>etNLkzd^ij8q%N`>&a=S1Gfu#X3w{*g+oM|`{hGTrS!G4fDyXa!gVYr7I zy{Y8Jw9%VGFNo68C~eWW8B3NXwYq)|zi!Zv!xaxulQcGkEmQLx+3nk2AAs<69Uy@d%q&0Sy z7O_puG;8x$F$$M*k5?#k${n#+;0_%!vYm2AEEKb-j8+t)5vAJIg$$VcFDjdk=NJMW z0(Qgd=!tIj*H?|j(?=a1K1QwaeY#2Ham4gMRCSDJL(TAhaqiHn!eFyN0$7Z_ zlLpTS)-^}gxV*N?d?{4PSJagUD+*SJuOa^uE4|vExzdX_Vyl% z;guDR`|iK@!abAj8@Q?x;q~5%8TU>;H~F4ntJbY0;nf7tN`k9NxU#ZhZN-dFhOJt^ zs*>PWp8nxt>*lzltv_6RhlVTHtzEbCsS@vcFOA<_yK3FeNv-#ncq_hk)AR`5ci}z& zSo-z#lkb^y?*4lh9CDNNg}ZZdCg*&bGub^Vhu|Bh4ZJ;JYWASfiH^Zor{HG3wsYPi zuiX@Q{K=BQ5QO(;%-VP=V@aN`>DIhg5l%gI;I*BH7kpe2_`sKn@Y2tx44nPMr%(La zG4ZYE5Y8)&IeNDArhR8O$Lyo|H#;^q-MVDf#-@Rhg#Yd*4!j=tV8Mac-v8hUD(|l0 zffD3*=WBm@h32n+V9<<`TXqhcwvyr(?oQZKd`GZHy)19u6HxHro2Eg%Pf+@m4LKQ= zODgknmb3isooHSE<%I2Pg(g1oZL5Jv2PaWjloAc_rse@?#Pv?~GJM`!5`G-pP<-CLVllR^~>7MO< zza$rupOf=4@}7L9U>CWN@b0(wlpdRW-{iOVtvtr`J7~shQzr}x44caIo4R{ro;!7S zMpK)9SC0NPVUH}YFzEJ#Y4_#aH+Xd7R4eFJcxT>we!|@oe!OSMI--x$#cN~hCq6Z$ zIC_0Ok*6~6!cbwtM-!}bE@TjWoc5#U&dC`et*!Wq##d}uyYBt`*H^9I!0LbC``7FL zcy{7z?|=Uq(f{tj-Y8+h{t4Eobq+c{DQEv!yq4;Bch1m;iF2ncpOeG%JF3g> z`zIZ`f0Cl#9B9_@#6YMwhv;{`BWGj7^2&zgO*sPz{UzlOeDc(kPbWV0N#+|%5T3L7 z*ks?#yN8^b{PxkI2v>Uc4n7KfY@YV2hwxi}bmG>E(H9a{ot(0nq_6bMeC6aIaq8Ax zLumZ&x4)XWW!K%W9G~K6`mL;+e+c?G^k)~Vf4g(u5r(XpX+7O0Z}FZ(E7kft*zwrF zX*q+5$h7{RT3)g9lY2j1zP^4V;eYb28J|r0^Q1>69L_jN>+Ac?f4t}KIUi5SIZySq zYskqVQFHDa9OKwL^%daH{QIjXr@Rw&I%jkJKWKhtKJ`k}-pMOX^^e_3=!$hUsQtsCcJdCK`Z(3^BZH{C>ptJQ z{@8b)G{3#}o(B#vhG-|^wry|kNKsqX?tq&oqX%4ukzI9&$pi1 z2zk~?Yfm=6U3Kict?MP4Ui#Yq<+jx)wtrPC(f0P;wpFJ$R~>z);>265K1dtBetYq; z+A4|Fhh1-ZPk#T@_gkA}dChwcxp#l+-mTP!$8zqu_pv7)yXRiH|82Nu%Fv1ptL99+ zcRAJXgh@l!udQ6acFz41X#1Ixv3~8zPqwaKn>Ue!_ujhRyVsX`>eY2?XT6H>oXs2R z7i?a3bV2b3T3^<$+WW}%&!2kh%g0}>p!K)){#PoA*)^$^%3GOt|LdUt{-g}KKl=2M z39nS{n(+9ia{rL9XY%AvCoBDL9uXI#1reCmhrG#?58V6oJs(V-%-Ykdc{xu``tbgF zIT?FNdpbGg)x1OK!4GBZrShJf007b>$nx{lgej$t1q1g@obVK_KYRZC)I8|($)~2Q zr1C!U$~s9}jRUMFJWl03IjMM6Mb)Z?ocmdScJkhPURk#qv2y)IYnyziZMPULyCH$&_v@JFho;^1A<1}mObe-U^Bx7DTO2;n#gic17o<3gTe z2Y*1!o@9s1w5QbJx)zJEIC2|4GoINN<6LhITssuL88NoDyFawT-x}5Ow526y9)*Bo<3>*YhIgfY%@gc-!ob z)){NW7X^}>q{KpmXdsS`INC-e#%qT~r?50~HvFx_6+sK0GVkde1IL2UiNUfM`&y; zI$T&Ntx&yQ+#Uex)f643w{nLI>-g&PUfgncw9*QCo~YhyDmskHz-kQMd1P{zuTY+1 zimh$$Jgy+`JaXa+0S&gD(cTp2#J9A3|Kr8h3vdvl z(E)fVI*0g{?|-;J;v_kr&%bAvADK;qmC5@%lM~C+J1~;IE4BIu3O5m?A*CaJ)0U2 zcl7HLZys^av_CIf_4fP!=;+s5(rn|V&vTV;*?pv=pVJv5&2e25W`vpiF!KZqc>y&K zFQA?;*jMmf0eb<}ju%kBUHJOKriJVUR101}{o>he&+LAdy?|;pwk&R3-13(di{%$k z&7ozkWufP)UyxrwO*&HQdHu-pBd^IXpl0Cp(`|LD@md33Kn)I-j}rc&+Nr5=M%Caw zlugyWq$7cd>K>Kby3~ZOO|#aKhg#M;gqX+sw3s4bBR-C7303hy@VAvRkzqB?-_$sN zTjLy8aWNMvZfI zjkCJO>8q(&wryuk8Qy7q%t7 z$%t&bN%kPv@ItVw1;fhh(%jj}j@hM-J7@ewd_ib+kI_l4%rTJN&}aY+t6;`6b0!VkESsq(dAI(+LC=Am`}Wr#NZ7G^ch$kbo_bFse4c#` zo`xNJ>XSa+cgVA2f4ygi=Rp1bVEx{MfxW<}-@h*@xVwJGfqKuukAw9dVD0w=_680H zcI-Z2*j@iY{qD58>O4<)J#J3#<_vDm=;loB0=>Jy;4Uz_3rvOaN7uz{^2Ka&N9qfM z=hoe@$#=shcOmr;-sBq$IG!M%TUWfvSG>ucXmY=7a*xovYxV9ChC(bt*Esbi@0-rQ zn7kXEX?pJ_=Q_Q2vop|$92@uUE%2Q;1p)&OczpawvB1o&^> zrsvtF#n<7Hb^H&wre)U&9G1o(-0U&=xmwg{zlOS6xSm+Qu9mFUg!GXZavOmKK)*Pg z`2FB!Je}rLsGgz)%><5>>X5E67)c|&>*RF$PSY7!x_0#Z2B4C}p6mU_aP|nX2;qOA z_y;!m9@ykwL>2$%O};)gmo{m*t zh`6oz)mSf_w>9I+4%Sm_K2SZk$f6c>x$wxzRjDoc-cVk zM4+~e^+(jMqLBIe6984vbi#m1eHj%NivtGN+uk~+F+K0Xi9nk^L>izWx5AEN(nk29PC~(k(9&9cC z|AU%cvc*@j#a&1>wtI_j_ZIhJTCX(BZ&~p^pO2Q2f}k2+vwJC)pK$cDgWqI_Z+U9*^F= zRqy^x@7`#1?=Tj|eUqQ4|uO3kC9Y| zp7Z{u>yZ3)TRYTb6{`*ZvOY>^yX$RX*63NcW7l%DBq;C$u@YaE>DY%_WrcoDk1lgp z@LU!3kd8-wmL$Jj%N~K!pE}oJ@^Ke%KgKs^dvOcCO#Hj}5Ak)B(fi^m zr}E`eRbj2@#K2Toi%$IkKl)^J$t&Y)S6XUU^0g~d(8nLgS7*<8KM|LB3&rQX#o|)- O_}t!9gkFbEw*DVP7rQF} diff --git a/res/DEMO/_FileInformation.txt b/res/DEMO/_FileInformation.txt index 9f8c38a43..500efd125 100644 --- a/res/DEMO/_FileInformation.txt +++ b/res/DEMO/_FileInformation.txt @@ -75,7 +75,6 @@ REPTON=Type(06),AuxType(0200),Access(C3) ROBOTRON.2084=Type(06),AuxType(BF70),Access(C3) SAMMY.LIGHTFOOT=Type(06),AuxType(BA00),Access(C3) SERPENTINE=Type(06),AuxType(0300),Access(C3) -SERPENTINE.1=Type(F1),AuxType(0000),Access(C3) SHORT.CIRCUIT=Type(06),AuxType(0210),Access(C3) SNAKE.BYTE=Type(06),AuxType(0300),Access(C3) SNAKE.BYTE.1=Type(F1),AuxType(0000),Access(C3) diff --git a/src/demo/serpentine.a b/src/demo/serpentine.a new file mode 100644 index 000000000..122c18426 --- /dev/null +++ b/src/demo/serpentine.a @@ -0,0 +1,78 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "res/DEMO/SERPENTINE",plain +*=$300 + + !source "src/constants.a" ; no code in these + !source "src/macros.a" + + +READ_RAM2_WRITE_RAM2 + jsr EnableAccelerator +reset + +LOAD_FILE_KEEP_DIR serpentine, $43F5, serpentine_dir_e-serpentine_dir_b + +READ_ROM_NO_WRITE + +NEW_RESET_VECTOR reset + lda #callback1 + sta $8C56 + jmp $43F5 + +callback1 + stx $00 + lda #$20 + sta $01 + lda #$CF + sta $02 + lda #$83 + sta $03 + lda #callback2 + sta $238 + jmp $8C5A ; decompress + +callback2 + lda #$4C + sta $96AA + sta $8834 + lda #$A9 + sta $9702 + sta $9707 + sta $91B + sta $920 + lda #reset + sta $96AC + sta $8836 + lda #$EA + sta $9704 + sta $9709 + sta $91D + sta $922 + lda #$D0 + sta $962D + +DISABLE_ACCEL + jmp $800 + +serpentine + !byte serpentine_e-serpentine_b +serpentine_b +serpentine_dir_b + !text "X/SERPENTINE" +serpentine_dir_e + !text "/SERPENTINE" +serpentine_e + +!if * > $3F0 { + !error "code is too large, ends at ", * +} diff --git a/src/macros.a b/src/macros.a index cec575351..ee9670d82 100755 --- a/src/macros.a +++ b/src/macros.a @@ -500,6 +500,23 @@ } +!macro LOAD_FILE_KEEP_DIR .filepath, .addr, .dirlen { + lda #>.addr + sta ldrhi + lda #<.addr + sta ldrlo + ldx #0 ; read to main memory + +LDADDR .filepath + jsr iLoadFileDirect + + ldx #.dirlen + stx $BFD0 +- lda .filepath,x + sta $BFD0,x + dex + bne - +} + ; Macros for demo launchers that need to check whether they should run ; on the current machine. Exit demo if the requirements are not met. !macro GAME_REQUIRES_JOYSTICK {