From bba4570a93e0c795147831ad28462e4619e535a9 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sat, 31 Dec 2022 14:57:08 -0800 Subject: [PATCH 1/4] Fix filefrompath() --- src/utilsrc/apple/copy.pla | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/utilsrc/apple/copy.pla b/src/utilsrc/apple/copy.pla index d6d9c6a..04d23a5 100644 --- a/src/utilsrc/apple/copy.pla +++ b/src/utilsrc/apple/copy.pla @@ -16,7 +16,7 @@ res[t_fileinfo] srcfileinfo, dstfileinfo // def pathcpy(dst, src)#0 byte i, chr - + if ^src for i = 1 to ^src chr = src->[i] @@ -52,7 +52,7 @@ end def pathdiff(path1, path2)#1 byte i, d char[64] abs1, abs2 - + abspath(@abs1, path1) abspath(@abs2, path2) @@ -69,8 +69,8 @@ def pathdiff(path1, path2)#1 end def filefrompath(filestr, pathstr)#0 byte i - - for i = ^pathstr + 1 downto 1 + + for i = ^pathstr downto 1 if pathstr->[i] == '/' break fin @@ -108,7 +108,7 @@ def copyfiles(srcfile, dstfile)#0 char[64] srcfilepath char[64] dstfilepath char[16] wildname - + // // Check if copying a directory // @@ -186,7 +186,7 @@ def copyfiles(srcfile, dstfile)#0 puts(" ==> "); puts(@dstfilepath); putln fin entry = entry + t_fileentry - entrycnt-- + entrycnt-- loop heaprelease(entrylist) fin From a0cc6662d5e67e874d32f52d9c75e3a5fbb78179 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sat, 31 Dec 2022 16:02:38 -0800 Subject: [PATCH 2/4] Update large disk image --- images/apple/PLASMA2.2mg | Bin 819264 -> 819264 bytes src/libsrc/apple/matchfiles.pla | 5 ++--- src/mockingboard/cvtmid.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/images/apple/PLASMA2.2mg b/images/apple/PLASMA2.2mg index ab32847bc6c0431a6e29906996d6cf638f719e4d..f6c7818006f36d75a0e741ef5858834630c5d0a9 100644 GIT binary patch delta 984 zcmW;HduWYu9LMqB?Rm~@Y{zzlVeBCjp{88_*eIphGFeh;N@PitP-;2*hL%Epg-7I4 za+hd$lww2^TB&74x#Z3mnM=xe^T+FaKi|vqtJB(4-r7`tzQwu2<8^v-;+hkulf;?r zW70jj>fdmrdZGS@WWjjzu{bYEndM4#rBkXdnLEc^(y^{G6&tpUFKu@`L<~{M!|Y4wMAQK_2qaKj2RV zr81CQj8crkI80(UIVkf>0w>v}G|L0$8v^TB2a#;xpb^4+OOTdk>dv58c2naZU-nbm z`0zeA9q7a(Ji`mT#yf7hc&mrp3l}O$A&m?MV<<+1Dt@@hq_civn2||LCWp#T3nQtd z&Zbr|t08X)oou8whR$b0>rc|3p+84|A+&OlyQ{c{o4A8}XvYI|pc7B<9Ix;epLpX- z*r&h`N;y9?6~(6~*s*bTh$)C~Pq9(_XLu?n>8dkzy18PZfrUeW5GmxK4|0*0R4nYP G$NmK#0Tqz| delta 1001 zcmW;Kdq|X77{~GRo^#%JG({aRODbBvT^!u3B?G%bMi7x%MivBt3)XHCQ4}RC*!UD( zh^S7KZ&4IMBt^?cZM-Z5Ss@q|LLdk(#da@^EV2th?sxZ(&pf~9G6x2xt9^P``}8Z< ztUXp;mAyN*`(o?GvDF7tc_U-gf5Qptsro;}E2{O|lB@{{y-um2yo6dA*Duo7J?~)0 zVm+_3Zn4(Uye0aKHyk}$qJOl*$)z>X_pLgNrZwnNFBR8Qv^O08x=g1$u8uV7b}tnr zm+Q6Z;iS^3d?gK@a*bYrYxW9dr>A5O{g9V0pQvBGP?T2gCtV=3sB?8F3$&8u~;ilP^$vWzKZZ_HRZi}suZC1$+ zv|&FS`^Xl_Ir4dOCpVYKzvEB(zj*5g`6h0oJI%*k+-KR#@k4SS{>EcG!E<)6*bS23 zlSg>u3;7%QyDbpyD+!Q^Y~&)}=STS!GL~G55R)(kGuYMomF{QXO1g#S7vH)KzHyuV zP+B=?!!G7~{5;uDJ?xjraq0;_M@~_D_~HX@`p}O7{DWtBi8tK5<*gC&DEvT429hX3 z3Cd6rsI*KZRH6#i0e`ZfP-c*8$+Lq{=2I6^>zOSjw+2>zqqYUswFkysq`yr62mRH+ z$aU^+;3n?iF7Bfj57CEyJjRotSjh{*YrNx;4?(UgPFPo#2%}3=O;waG)wxl3tqG&i hafyt0ut_(0`|4I{7+ClSkU$19F$P(kb*r+g{sp>38L|KX diff --git a/src/libsrc/apple/matchfiles.pla b/src/libsrc/apple/matchfiles.pla index bb1339e..cc5842e 100644 --- a/src/libsrc/apple/matchfiles.pla +++ b/src/libsrc/apple/matchfiles.pla @@ -15,7 +15,7 @@ def matchNext(src, srcofst, exp, expofst) return TRUE fin is '?' // Single char wildcard - if ^src >= srcofst + if ^src >= srcofst return matchNext(src, srcofst + 1, exp, expofst + 1) fin return FALSE @@ -103,7 +103,7 @@ end // export def isWildName(exp)#1 byte i - + if ^exp for i = 1 to ^exp if exp->[i] == '*' or exp->[i] == '?' @@ -114,4 +114,3 @@ export def isWildName(exp)#1 return FALSE end done - diff --git a/src/mockingboard/cvtmid.py b/src/mockingboard/cvtmid.py index 3a11989..f50034f 100755 --- a/src/mockingboard/cvtmid.py +++ b/src/mockingboard/cvtmid.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/python import sys #from mido import MidiFile From ec629745f9629d07cde3d2f14c0dc37dcaa7087c Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sat, 31 Dec 2022 16:36:35 -0800 Subject: [PATCH 3/4] ALPHA 2 --- images/apple/PLASMA2-BLD.PO | Bin 143360 -> 143360 bytes images/apple/PLASMA2-SYS.PO | Bin 143360 -> 143360 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/images/apple/PLASMA2-BLD.PO b/images/apple/PLASMA2-BLD.PO index 3ca188df48b6e107866a9f5d5915c92901b0a05a..2e506669d1602a992b2bd9606e0983150cb242ce 100644 GIT binary patch delta 10970 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 delta 10212 zcmajl30M{7{=o6~3X`fTKC)*+Ot@EsI3a`{Xcjplt|2DMOA=9*{G6hJ;?}<#gGHivdMMeVTJlGEX|-~M z+z=DvRkukV+RBhsXOIpXR(SO>-d$~IP|6(*d5ge4g9`EnC0O$BZEiyL69%!&(A16F z{i*$%g1LFU`xQDB44~lr=KkL-7~!Q|Xet=d($xqrTFkW+Db58$DR@?I(J7mjZVsaJ z&MCvqdgq-|sH%TqeqL{2cQ1_?VoN{-Q!IV_; z^82+kDkson&D~8}l)v<~b6$axoYYcG2)P?ghTYYqR{Ph2f%$m_{fe9lrsyr|1MM^x z+J&Zqku3uq$w2$(m!{kjUkaGQ3#tyir2j}57l?|q3+LObL?N5Eb5z^qulPlTtJf#-`%98>Mwnb zE3)M2t+o`E3n}=qC*_y=GwsivAb4_u`wmGh4v588WwrpFxAx%59?UKjDZWXO7TG?b}qPFM1 zo4m8Tm3k;;v4tT**_^CoYfH9I@vBVAU)?xrkEw8yP$qV>Nfid0n`OGzb4LfeRd6)s zkjdsI*(6Jeke!YOG#%|XjoN2YdWMdZ)1(pOqztcolPDL)aCgx~mX(Lv#}2nK79*%J zNVqN$vl_n?A2xn1RyWoY?-lDBMX7ta$S~x$5>~glHaB9aDSnAq`*DYcjY@HZr43=U z)hLvOTEMrFPFa@ILOi?NDwx6&ZXJRy`+ZN#^6k(J>sCq!wGRVrYp1d-x9 zz-GKv=fA)0+lpRYH7HB8>)$4IEsKqPJJMgo7?qJJ1ue5-HCDJ<-1Q4meodf*a=w?a z`o)e=Dz%~YVTMZW>H36_)SihpKdvnHgK$@2@zpcbDwW~mn)7{KALdDi{48eu#577? zsqaR~nB8W!L+gXJhj*L8XtT}DW-R`~YGPGb{j4TsonDPzX#Vb$|3A~&-49S_&K|wy z;d{EUt=8rcf$Af zkanbKL-%$K)0c}6Bdjl&*eIJQm#Qn8))wog)iBo02YWlq`Z?{u-Xyon5#xj+X+Hb> z4cS`feVv>Ve6k~L)Ke~%dX=~vs8G_L-q)o$L#noXUr>}@*eWa8k<^jevqGXVmvX7; z-Z60RaPzxyk6zkm*867MpD6vBp!MG0%dkYN+W#P1g+eJ4WW_D8F#4iV=+>#qqyS))}Q_tWR} z<>SdgBnV|kN@DZWbrhENtO>zmyiz-P+}x!sR?aR>DDjp=1rK3Q9uTp6BfIMNmaP?! z-U>H8<-5qH2fCK{y)SQr-0$N<>q2?JSI8Bvw$>~`+1k3?RWSzG+Hgy7LUVi{6_ahY z4CGOhA1OvPnDULn+NxZCb$Kcw9W9=>kLt7|-$%F2HkW#rg!16^QOY#qiLNx0eIoq9 z+ih30t1vY`HV*6K5L3le=}$As79c8&`dqYhyMx|sqf@t=iU#OeoQrDfPK2B4&DNk5 z0k$ChL_H~8PXIXN-$pGSQxpXkr=<|Wni zD$<9{U2j{`)0-ER{)%EeY@))&#@o7F;*P5~TdEAomRxO4L$KXl&#U(Sz+LDqPV22d zGTeE1>Me>=4{KAh8tEovi;HkyVB?MCq8IrtlABELNrlUu7k2ycD|j-wbH}Glt8ihC zT$FG6HDBg0jh3_en}87;{Txq_F2X>?x4SPYWU0bc&#*W${$|EDO!AxxS?^YJC1;!N z{3UnHg?{Gk$o3+})%m5Mm$ABQFP`*wm02YX+R~G8(l>e9{*wv)J;F*o^ipp`W;HjY z*XMkL{?t(~e)HDvB4p)!|AJqens%NYZQ!ZYgjYK%vpb3kDXj9Osk!s1H#_ggLvl`q z)O^po%Pc?^*@{!)o^n?%Frx#7*$;~`yo~I)NszUPvMRb^+ zJi;boWR`KcBq<(R-svbqgZB98#Kg@Vt)jFQE7)k$-`a&g7zAA{4b?j`U%x0>Uq{yV zU4*p2#(L6roQ`fgTfaDZkVX$Q!{l+7DsAwYVf1MA znS`E2;WtMu)~FBKmBw;|vN1?ho;KZnkn&^^l?^6+2JRTnu(Kl!McVYUJ>>pj%4}`@ z*_fELuK5Q=f}3aG93>}R5u&A%Z}O<*=7E06n((3A0ZuuM8(pp z*o>c06fUGntV8PvAr)gGE+acqNOKSyC8W4$Aq~btgmw~=6_GJQa_cOlnVp4QDvK4o z2Zbbe6;c|uBvJ{yx{(ptn23d_OcK&^Y)%%^$P^(h!4632LQ3r^q&3)(A*65mQBSUr z&hv}%n>-=;4j})1LV9YTa2REiBS3ahgJt0emFxbzI6$`d@e*n-@=%NtJcwDCjcR;? z&+rAl!7l8@cesE{_zi!c5iZ_Bb%zPQ2to)tA`)>(K$5qxs~H6OxE~MUVT?irCgGo$ zj#;S20@PwLKE!f-jMexIUtkk<;25qzG78lVCUim{3`CL9F4Q3eWf*A`j!{OVW1KNa z<=3b>1=BDK)tsAW^ipexKPCQxcq8#<;%&q`h`%M?L%g5(JK|%+Cx}lGpC`UZ{1fqI z;;Y2hi2t;6AbfHm z4&xY3koPos&$0i($6IY>5~>G0O~MgiGN~aZ=0A*tPKd)GJb+S^V>HI%2~dUH#;8nH#)}qd#Mvit3)jpqn`7@0p5<70HdR8 zfR~ycz#_zbV*^-p0cQ0n4pi*m_*#J3VF>hA+XgcK2t#LdK@SW-eR5>ruyXD}0UF%PezHkccJA;A(X$7+0z?{N}mZ~>Qa9gUDX2(>M|VS*om z5Q>h7LL5?%hAi|!E($Oh|G*=dZD&)Bm#_e@;0?Tmcd!H>VmVgh3v9)9e2YCefTK8v zi@1twxB)qYkwZHKAQZ8PM-uGmY>EY z4xeKKHsilIfI~Qrv$%jCLzw?71X8F_UEu*EI>3xb#G*TTAQQRB!$1_F3?uLe9>;jt zFa@(P8*{M$wK#wyIF6H{%>NmJ^SFec@dt#NR~9^BfLa1%vj}Rmv75z|z!5D%ku>sq05GQZ}m+%K%BDqR>U zg($YODaCM%#^b2OQ+OIHu>t#V6^)Rhc=*7KaP+|hOvV)0u>xDM50`NrZK8$hg?8wO z7}%59HN8oz=+p;aS-VMaKj(HUKkh-75pew5%jyoQyq zf5m18_TxCt;RpPPtB~WV3~A_x`!E;}VmL~)o6{jXa|3UAO>+rKr&L%7o$;$=kX$5!hF1nx9|>@U>QEfYWxT5 z?QFipSJ;K!*oT9-jH{3m`2~b_NJD=VVK~OahUr+0)%X(IZ~!;p*^L($Qjm&tWT6oD zQZ{2S0h2Km(@_lv=HV5*kB_h#8}T)EVK?^S9DatB#Pa|~_#yxyh(Kp_L1L0{q$YVe zGLyXQYJU7jYF*cOFJC zA`;2y4tsw#gD?W4V1tSm@diG|T5QA)?88MgqID`$f^ftl8JWnzeJDZ+hGHbfVKS!R zO)O63{$Eb878|e!`*8xNa0!MqZb!6+H-Zp?aCAZv?m=G+z(XjdKj8`tJ!lku2tqjGk%$yzqCW=UVT{29*r4JWXjp))sK*f;M*~jd zoSn^2_zgGEI-Q3Oj0i+HqSA$ zEX69=*RlBm8?gmjQI8`yjq~^kS8)yQJ?R{L5r9y1L;||u9+coAlwm9;pc2zjjaTpn z7WHKQ7ZWVSa;yaZbEU4wf3XvLupfuefJ^upS8xM{4Bj8`gfHTejR7df1lTYqLpU56 zvSUGpq`t!OTX-jf`Cm%#Z>+^Se2LB2j$Jr}qd0-{aOuUbSNI?ZA?Sp7B%=p1&>Q#l z5{~gDQqr7B%^z#aHMCt(h-8}Oxf{JrmU86Vg$$5 zOjpO~Oc!-5$J06fkn_tkLmYLPq3SBq)?z)jVkh>J=U}F<<2>~fPc1NEqU-do?EGWVQ7@8#O7w|KgualXtMpUeGezw{1QMRnEAYPd*JJw{oICgSe&+%T44{+?U z`ntQp&7c{j+#1Ql5E17mB;ndAt}h?&^efUo4apJwlV=K9jCbYJ5T}o+YAhZG{i716 zq!}Wl>1(IkW#wwVV;Q4=_T!YTruJ`2#@^YakTu%8|Bg1Jy=pErmyB-teka;%hKSQY zHFECl%feNJwxUg^Y&Gd^4EhH=&Pl^b;sTtKW(fa*g9=(MyXn#waRIIM3vkL-^U>dw zjAO8d6!p8mrL_DW-_v}de^297a`m5W4CdUs8;vWp6!gi-?{ll@GSN=ViEu93$*aav z*wo!lE!W;jzxJZsfkl?4k9eAAs)3TVdP%2jHMM_JGRAqx^f|sJ+6YIxyGmYYE*aC( zW(;k1(7)?)DlNA%7{qD)TP3G#HR(l75SaBUxWbOa3&*Cehd=rcp{wVv?dp#TY$k+_<$}S5HN0Gzm$QnrfZd@10?EFl&2G z&vN*@`}_ayz3;wz->f}nTzk&=da*p>xk)if7X6VFA#}Lp^xG^C$whaEV@L>`a$L^E z3+#907f|RgFp;9E!W8t1QbD2PN<^uUB~dp|er{5_(zRUIqvz!7V*J0^?zpljHojwC z>NI&gxyN_4rM|0Y`CTPuH3sHGVatd%ZSlo zar4CBfPzAY>+N)OKQ(MgRhH7Y;)Ug93vXrm>qtkb2E?a@!_t(FEpMkz`!X8Fq_8mw zxmhKp&Rdzd>32z{w{!?g35TUB9an-kO%7X}t!n;f(T54550L}^RWNbbz-^Av-;?3Ai5pXco)viakAwv(LJ6ewV{w zyYI|emfdmkOs(%T6Y=Z>QWr4NTr5#r#*)-W7^!X0FS7*oE3{uTs~SK%nJ20RoV0tn zRh`XAbwOUrZJL+MS~F#3^^)Jw`akEeL zqmWS|O_5|Z8Eu+m)y9B)P$9`$6<8uk>QeY>B(qiz`;TFJ9B8mV0sE7%Z-M={u)PNk z!~Q<($0f6RN+R_%RcM#JcTeL=bjM^lVx*9wTegrnd|1&vR-3s{y$lDR~OUSQ+F6eKd z)?Uc(f_>mUA1=M%D4fR;d;;<*@Oy9;oCg=+y9D3IkOv`ui6U1aUxR!@PE?tWR2?va z7!U_cIt)rTMoopB4#t4704q?P0^d|!wzfS@Y>7Z3pyMpuYxv zmtInTjkvwwU9cbYf}`L#H~~(9)8H&PuTLelAHo3m6h%JQ$7^W@SsUFo_w1XjEAT%o zA!cSK-ZJ)#sf6C@iuvLXW~3b_0S6cGzd6pul%TbiS zC)&ia6<<__tj1@MmXIN9sTl@!G~~>TWOYIYsd-=u^x4oIkQab&fd@b>SOFTrL*R#? z1N?Pas9ehS+c;4A1~o6YKV$bO*9#8L(^AOWO+bYKBlAQwym zd0+~d3Z`cg9XR&hhrg>(h>q<$(0imrVS8S)vPEo9Ad6)bMsCkyr_aVNTUq8T4R6r? zH?TdwBDUvx?OoF<*iVZzWO zj+~{GyP&AD*f9r#4^{LJkVL=WC>C+DcK#}qIcxyq7A(BK;#U93{}m?fh&+7gdu}Xa znVWIbh>675T?;Yax6X6_HHMt0KyVb zElNUI?9elqFiF9)qKcx3XN@M?7GVMtSt>7ca z4@NAo0RD{l>)F8=h=xjx>4|YkMv)7?2iH|Rcn@PU4JC^g6G`O>*tHyf_$W=6PY0TdLA=YL;Eo$Yr2fc~i3tmt4K}RiWk1 znp1uy5HxuBSUoJYZe1-R5V)>-T>&48&JE1I8UI$m;?`9q=sa?PTr-jJS+9;DAs6tP ziIP0a`H|2D1-bWBHku0fy6Q!5l77utlWn>Q<`MA<26|(=nKPeaM2CZ+Q-h%^qsie+ zqTH!#icPjs5k0s&TEuwM6v{2O&H@7W~pghy|UKQ+*mjQGm5B6-+WW^S4 z_S_0leV+rX0rb^12_W`5Cd(74UeAGJB-#Y=!kn71uxnEevkUcH5f+tU&Y{8~&X{!6~>J?3O zwRW+LEf3&=|JG58ca&1?+(T%*akTi648{2qp+q>-f==;Hh3s}|a`0V1$fnjz#hamc zGevyx#qnnN6t99@X4LEK_SFk2Ssoy^Pw z5}6XQBK$trzgU*I7M0E^tNOMWJ>JUQ3h`crw0#t#y+;=9Ix#JS$(ogAXyce!#i6WD z0Qq=3?_rthbjbKssm+G36tV*>guV#AZ=rP~w+7U)Sak(_4WJSBCZ=esXCtT;$`8># z3dct9Gw9Dke*yAK;AQAXP~bd>;quMTH?ia^6uI;1em1JJXD>5!GCNQ1%)G{;I_t97 zGaU-A^%Vqv0`EwSqp7K(6+g7vf1A7`F+J6sYD={bUDH$3Q;9a{*BiDPcj=$H$~P)s z*S}o9qutn(^Q7Z3$5#IQRmhKR@BeAv6Fv3y4TFL19!GbdV?)1XFfe4U4w<_5Il50c z1~&Nau?{`MQZJ5(T?f5!qlZ=lfMzFFwQ_G`TR zfUo^J@4jQre^_+qbriq$&Emmn56|)6n_^kavG_9JNhzId5*GYFHQ~2S#vLbfFfi;H z{2v4N1)s)095@!#ZIv*a`~M#%(mOpJ)(Ztkm+dF7QPXDp&U+?%B=cFPu= z=6Xq3>UTY-s09*8D(L|s1WUuJ$i38JVuM#h(V!qJ$d=|;?U4q UCn>^V#W5dTGsDMb3?GsI3ud(oaR2}S delta 4055 zcmaKv3se->8OQIPxjVZH1ZH>$0z0e=0wSVBQVGdv4gy9D!YW82H6cV7VS_>mK@Y92 zH_fY_#(3T8rnMn4$B?G6)k+fbP-99-q`^QjB);;pd56?TYML~0>3^0YvU?(qfh5Uo4hVVLBe2`}i%g-6hF)Wcty0fHmVOI9lxq&eu zBbg+Glxu;JF;(E>9lm6$QBRa<0W(x*jp?95&0hXXPp2wX)4k!vRvPDB5Icv(k*c`P z`(h6$G`q7<=b>=FHtm0Ino(?q`=;#U8>c5>8P>Gu{KYqx2j(9A@>df|ULV!t3vup? zpLhqik*Nh`rNw3Am3|j7kyvxUF<#idFLuuPkcrOQNOECO$#^9p{+|*?UNTKg^A2Br zQAbhXrFF#LMkbS0GlL5A_K*JpfsnUm|K;nyadAoU-0|7`k75negV(V8^1{^l6D$2s z5i3~~K5-457xv51p~+^+MaZyfCQCX)2cM(#SKfn1Zg}D?$vZOCPS1GT-=5CSXr;4# z2hLH4_w?HdG`%zQodk)V=}bG8PLbg}zJaED|9*Uh=Zr?A^hm-NQX-r*N>tNmzMc|( zAI8Hpl79pH9d&U0s$!ND#jl0EUUKjPiSR|x)l#asQ)1$7aK98KHc8Q98}fdKSceqN zyI@~M{vp_5_?qe~0 z2lP(pr;zgp=s$vIF@6zq?Sp;=`~~!Q@YM_Y5bQ_tAoLJ83El^%z{iMvhS-FG$U$t5DNWpNV%)PFgIW_4^(I*~ znjCx$64rrx;J?qL@&{obHpTO;u#cF+`F7YtC_IduA#fC&03U*nz^C8~&O?s? zlR~%!Xdni}0~?s45D!m*NCO#QhJuGoiRL-bbD;AS2hWF{2YVBIrO;~>#@k@mDNJlo zWbrh{yD;93@m@vd&mnIgcm;HWUeE{n!5|m{N5T8xloCt$ClH^5)0pI(5+Np=nXq-v zd+$a1#0Qa~KTg8m8r`lHl9xL}&z;nhlbt2`Kj+vug;of zFU&7-&d<;8vT8I<^@P|MS8YT@*_ep4nYj(xZj0fWHo~((4#ou-7ekkVTfnWr1>B$s ztOe`Aufd~WC)fpcgT0^&><8W8HSh*_6Aaq0wL=gmz^7msoCfE>dGI}ubt1y_B%ZDl zo&~bO^z$l0PxVyiBTM|8XRz0Slluz%7m;?KIwpGD3-@zd~q4ZgwnJ6-2LK#u?=2~RQz15qFrB!DR(1>k_; zSs)wafH@#9iIDEYe?4-n9B1X>SGy1O7OK?y-avfU>kgVrpHHEQdBF!w8s4`R#U({! zuWJ7bcu_wS^rH4TZ=;vJ;*%E?SBzB|)_;&hk`wlT>*5jRYrjI}BvdXby?9CDe-EeP z85&eMe1*!XCB>yhmmH}64{btc!u*PY`SWn|qci$HBQn_` z1ubLu6)LALEL&1OzJB6Ak4?k-%lKTp^{xxmG--42MJGASu;1e+yZ=A9_w?XU? zxvAx)h2=$y0v9p9{3AFSwTQs@;zfP!SEx*@Ds~pkFLsWV`a`Kq5`u5E<}7{8t4eow zoTKR-4U~1*Br1oinwLucF4{~-WKVsAE6~LIr-ntk}1cidHPaqQm^cM?Y4i?*Z!jzT=H~jAv57qYXY<=;YNRbqHMTS09gUKr9nqL^{qHoiWXq-pf zkMxc3bf6=88g>`TUIP0~x;SXEh;EekqN)!ZLHr$4B0mNDr74u3g=J`7%;-Bp(7arQ z=0!yxG8q`%ksTz1X&@6hIf{+vK^K70X2^pU9DzzDkypW41HBTu5qd578Mp_&`{COH zy%jtHwu5%C19X7h$mz!9hoFx^pM?Gp`Xlfu#$PBlp`ayT6oN|0EF#KlOw#Z355z#WL!niIu(P{p7yxA(gHOqop!i3dg6E`?4l1Q^KkztX=QrKmdM6t$#{?J0W$AYKA zlE@!`eaI5dH^a9L`nSk=%#tKJEQ;^(f6`cQ)$1W4b5#o&7J+vu{b_Pe8>0GRQyl+82v9&V$$3I From f8a6589f34490db14c8870d9a5c1610a02072e63 Mon Sep 17 00:00:00 2001 From: Dave Schmenk Date: Sat, 31 Dec 2022 22:41:28 -0800 Subject: [PATCH 4/4] Place common routine into matchfiles --- src/inc/matchfiles.plh | 1 + src/libsrc/apple/matchfiles.pla | 14 ++++++++++++++ src/makefile | 6 +++--- src/utilsrc/apple/cat.pla | 34 +++------------------------------ src/utilsrc/apple/copy.pla | 13 +------------ src/utilsrc/apple/del.pla | 18 +++-------------- src/utilsrc/apple/type.pla | 30 ++++++++++++++--------------- 7 files changed, 40 insertions(+), 76 deletions(-) diff --git a/src/inc/matchfiles.plh b/src/inc/matchfiles.plh index 9c571d4..f60b27c 100644 --- a/src/inc/matchfiles.plh +++ b/src/inc/matchfiles.plh @@ -2,4 +2,5 @@ import matchfiles predef matchName(src, exp)#1 predef matchList(pathptr, exp)#2 predef isWildName(exp)#1 + predef fileFromPath(filestr, pathstr)#0 end diff --git a/src/libsrc/apple/matchfiles.pla b/src/libsrc/apple/matchfiles.pla index cc5842e..11da710 100644 --- a/src/libsrc/apple/matchfiles.pla +++ b/src/libsrc/apple/matchfiles.pla @@ -113,4 +113,18 @@ export def isWildName(exp)#1 fin return FALSE end +// +// Utility routine to separate filename from path +// +export def fileFromPath(filestr, pathstr)#0 + byte i + + for i = ^pathstr downto 1 + if pathstr->[i] == '/' + break + fin + next + ^filestr = ^pathstr - i + memcpy(filestr + 1, pathstr + 1 + i, ^filestr) +end done diff --git a/src/makefile b/src/makefile index bff11a6..ce2e034 100755 --- a/src/makefile +++ b/src/makefile @@ -485,11 +485,11 @@ $(MON): utilsrc/apple/mon.pla $(PLASM) ./$(PLASM) -AMOW < utilsrc/apple/mon.pla > utilsrc/apple/mon.a acme --setpc 4094 -o $(MON) utilsrc/apple/mon.a -$(COPY): utilsrc/apple/copy.pla $(PLASM) +$(COPY): utilsrc/apple/copy.pla $(MATCHFILES) $(PLASM) ./$(PLASM) -AMOW < utilsrc/apple/copy.pla > utilsrc/apple/copy.a acme --setpc 4094 -o $(COPY) utilsrc/apple/copy.a -$(DEL): utilsrc/apple/del.pla $(PLASM) +$(DEL): utilsrc/apple/del.pla $(MATCHFILES) $(PLASM) ./$(PLASM) -AMOW < utilsrc/apple/del.pla > utilsrc/apple/del.a acme --setpc 4094 -o $(DEL) utilsrc/apple/del.a @@ -497,7 +497,7 @@ $(REN): utilsrc/apple/ren.pla $(PLASM) ./$(PLASM) -AMOW < utilsrc/apple/ren.pla > utilsrc/apple/ren.a acme --setpc 4094 -o $(REN) utilsrc/apple/ren.a -$(CAT): utilsrc/apple/cat.pla $(PLASM) +$(CAT): utilsrc/apple/cat.pla $(MATCHFILES) $(PLASM) ./$(PLASM) -AMOW < utilsrc/apple/cat.pla > utilsrc/apple/cat.a acme --setpc 4094 -o $(CAT) utilsrc/apple/cat.a diff --git a/src/utilsrc/apple/cat.pla b/src/utilsrc/apple/cat.pla index e7f131e..87d4d7d 100644 --- a/src/utilsrc/apple/cat.pla +++ b/src/utilsrc/apple/cat.pla @@ -12,23 +12,6 @@ char[64] path, wildname res[t_fileinfo] fileinfo res[t_fileentry] fileentry // -// Convert byte to two hex chars -// -def putb(b)#0 - char h - - h = ((b >> 4) & $0F) + '0' - if h > '9' - h = h + 7 - fin - putc(h) - h = (b & $0F) + '0' - if h > '9' - h = h + 7 - fin - putc(h) -end -// // Copy string with upper case conversion // def struprcpy(dst, src)#0 @@ -46,23 +29,12 @@ def struprcpy(dst, src)#0 fin ^dst = ^src end -def filefrompath(filestr, pathstr)#0 - byte i - - for i = ^pathstr downto 1 - if pathstr->[i] == '/' - break - fin - next - ^filestr = ^pathstr - i - memcpy(filestr + 1, pathstr + 1 + i, ^filestr) -end // // Print out a directory entry // def printentry(entryptr)#0 char type, pad, eofstr[12] - + puts(entryptr) when entryptr->entry_type is $0F // Is it a directory? @@ -88,12 +60,12 @@ def printentry(entryptr)#0 for pad = eofstr to 9 putc(' ') next - puts(@eofstr) + puts(@eofstr) putln end def printentries(pathstr, entries, num)#0 byte page - + puts(pathstr); putln puts("=NAME==========TYPE===AUX====LENGTH=\n") page = 20 diff --git a/src/utilsrc/apple/copy.pla b/src/utilsrc/apple/copy.pla index 04d23a5..ea16d30 100644 --- a/src/utilsrc/apple/copy.pla +++ b/src/utilsrc/apple/copy.pla @@ -67,17 +67,6 @@ def pathdiff(path1, path2)#1 next return FALSE end -def filefrompath(filestr, pathstr)#0 - byte i - - for i = ^pathstr downto 1 - if pathstr->[i] == '/' - break - fin - next - ^filestr = ^pathstr - i - memcpy(filestr + 1, pathstr + 1 + i, ^filestr) -end // // Check destination path // @@ -115,7 +104,7 @@ def copyfiles(srcfile, dstfile)#0 strcpy(@srcpath, srcfile) wildname = 0 if fileio:getfileinfo(@srcpath, @srcfileinfo) <> FILE_ERR_OK or (srcfileinfo.storage_type & $0D <> $0D) - filefrompath(@wildname, @srcpath) + fileFromPath(@wildname, @srcpath) srcpath = srcpath - wildname fin entrylist, entrycnt = matchList(@srcpath, @wildname) diff --git a/src/utilsrc/apple/del.pla b/src/utilsrc/apple/del.pla index 3129ed4..3fa3108 100644 --- a/src/utilsrc/apple/del.pla +++ b/src/utilsrc/apple/del.pla @@ -25,17 +25,6 @@ def struprcpy(dst, src)#0 fin ^dst = ^src end -def filefrompath(filestr, pathstr)#0 - byte i - - for i = ^pathstr downto 1 - if pathstr->[i] == '/' - break - fin - next - ^filestr = ^pathstr - i - memcpy(filestr + 1, pathstr + 1 + i, ^filestr) -end // // Check filename // @@ -81,9 +70,8 @@ def delfiles(delfile)#0 strcpy(@delpath, delfile) wildname = 0 - //if fileio:getfileinfo(@delpath, @fileinfo) <> FILE_ERR_OK or fileinfo.file_type <> $0F if delpath[delpath] <> '/' - filefrompath(@wildname, @delpath) + fileFromPath(@wildname, @delpath) delpath = delpath - wildname fin // @@ -115,7 +103,7 @@ def delfiles(delfile)#0 fileio:destroy(@delfilepath) fin entry = entry + t_fileentry - entrycnt-- + entrycnt-- loop elsif not wildname puts("Not found: "); puts(@delpath); puts("/"); puts(@wildname); putln @@ -156,7 +144,7 @@ if not except(exit) strcpy(@path,fileptr) strcat(@path, "/") delfiles(@path) - fin + fin delfiles(fileptr) fileptr = fileptr + ^fileptr + 1 filecnt-- diff --git a/src/utilsrc/apple/type.pla b/src/utilsrc/apple/type.pla index 799f9f7..eca4438 100644 --- a/src/utilsrc/apple/type.pla +++ b/src/utilsrc/apple/type.pla @@ -8,23 +8,23 @@ var arg, type, aux // // Convert byte to two hex chars // -def putb(b)#0 - char h - - h = ((b >> 4) & $0F) + '0' - if h > '9' - h = h + 7 - fin - putc(h) - h = (b & $0F) + '0' - if h > '9' - h = h + 7 - fin - putc(h) -end +//def putb(b)#0 +// char h +// +// h = ((b >> 4) & $0F) + '0' +// if h > '9' +// h = h + 7 +// fin +// putc(h) +// h = (b & $0F) + '0' +// if h > '9' +// h = h + 7 +// fin +// putc(h) +//end def htoi(hexptr) var val, i, n - + val = 0 for i = 1 to ^hexptr n = toupper(^(hexptr + i)) - '0'