From 61f93343af40b9c64866b871535caf71722953dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 8 Oct 2019 14:47:47 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes .Floppies/A2OSX.TEST.po | Bin 819200 -> 819200 bytes BIN/CHMOD.S.txt | 10 +- BIN/FORMAT.S.txt | 228 ++++++++++++++++++++++++--------------- SYS/KERNEL.S.INIT.txt | 15 +-- 5 files changed, 147 insertions(+), 106 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 93fa709eb260fbd1a92fa526c84620fe049cbd45..9e179b373fa491fe27f0946e4429ff43cd9dbf63 100644 GIT binary patch delta 23707 zcmZ`>30#!L`=9rHIaYRIciEfeSXl03UGP}EhJIdzw>;(^B4xUts2mbMl7K0v$@v_20g5R@+UcTPk>RsxeA9&XX`R_?CpJxL zC!MObsZD9g7WEtL)9AGAY5HN)I&;M+CA4;XS|FE4TkxZVc6D%iZUlX&g9}$gcE(^P zd+~!_*`5|a)sJ(Nhk3ny{Ql$Ze|E;x?X?l1qo#Gnci1iDbl1P_^35L}693zecgA$Y zLZIbAt0g_$axC2PZ$#I>meo;~tx@o4p&!fM`FNp4vwbzI-OWPa70^a)sSDU9xXwfHFZn1VIi1{1D{NHTt-E@8Kx-d7i)FY)Pb(Im9oWi?h#Zt>~gE$?s9CbX=y zR+1KZf5)V)SFavX{kdD0ko^6s7EF}zy*EfuDwS-%RB}sWc+1%XF-o7O_aBXW;x##E(uI5d(C)5YlqAQV}<}Ktc@>o}Jdm3G`BW*bMI^Dh_Espc2@9jtnX^c!5 zW^YMMct!PUOLW33>Q`H05}LTVB)XGSaxGE#azw%o?(o%KPs{3vRW}^&?e(^-kLWzO zDzj_M;e%bCmir@CrF8K7MiRGZQDT5!l=$(Ow~)T98NcIU(#b^(u3%+ zDn8lkSTq#t9d>l!PgT8w8}63)aZTfR8p1Ai@_ACN7NUwyFMWSJG!?%z2KKH@hV zg#UI;H)%1PY1hI>{29x_sQ2GH5N#}tPA<)ckOff-_Ebjg`usrN)vFyzyZaBcd~l%U z*nz{I{d~vxjqe}W*n6O~{iGz{mJ|BU9W56QboxEoa`8Z?(DaG1wEaqFEbU&*PvGX# z%Zqt^d?hHtOJaX%uZG7L@KM`-uj_GG`xfc3w4I}g)qF7b5-qIelepDAn}16Cj2kvR z_SV?>u~o6R_bmA(Z8_)taa>>Askn1JW&RmH9Cw;ttmAK)bMK*qmct1PTHXYDEn&C% zV9PTJyZsNg>`B^N8yARY%tQJbh*j8+@wQaG< z4jmMF`=gKap833kw0pj?#g-kT9M;vg-L`JQ6!;S#&#hCP-Q8~M_v-XYzSwSi>c#E0 z!(IJe$<+=J*Y}`j|FF*X_-!_ocW2iu%f)|gKXlNm_juk-2@5QJ{~+OGOOvgo#kQbj zt*zx=8=dxkgpRw3sy|FO_I%vH#|y1@^46WpdETQWqqu|?OkQc}3A~*@&h=RD+CVg4(w^(pxF2=CWpeG1;uDH|fJJ9qJcJ&QL)q;oy<5A$t&YnWi&ca)cn zZ+wX#K`d%QqAg=A>%!KDy%hFV*p1fN*7;Va^+_usyNs6ICQHY|7P7xfXn8ZNv|ZW# zVSnz~b34v;JOhE7guM4GYfm6SuKQ$v!eRR+A7~@57-iF?RUccnhjj%U zJm34SJ5iUsqYl!pz0f3FT=hKNw%V*q+wpy``H7P|PIXMdtd6h!rs><}?=fKQ*{1JS z{jdG%q3)BL`}#W$sy6+y>XjYe_rGZI4ebiHObzWaS+<6DX)W0_a&K5%?vC^Jc;k+~ z%7CYKd|4^Z6%S+2-|>A%9&+|?H+T0veMsHcFYE4Wy4ZZdSh~w%*&S-ZZoR)VD!FvW zrCyItkEToQgx<0@EIEdVj5=n)>r!JWvSuO3m9f4kW^jT2vo|a(rpPipY}cD%9Uc~8 ze^*BH<&M*s?fAY~?V8Pf>lSS8ThMOW+y{|p>Ffw?qo%tLQ?Fwmn9vInmhO;vikvTr z*pDdYuNqpkPH||10tRDFL7ldaFnEBGqc0#}a~}*HeehvX?SK1n?`x&WrR}EfzJAY+ zvk+(Zo1tOw_y|10SO9I;A$-+s6}wY%>Hg=f9amck{kSF1WOKy0p4pK?2S=61##{GA3!|6fN@!Tm*vEvo;r#;<0X-Aig*V{+ zN06pN@SsZ`iiqsV*(vlu*e8(YDS`8&bu=QXCwHIlyt?&M(CR}NwyZP4)>HJUut(Q= zNwDs`An?4ply(Ow%{`MZ2?x2>Y7gtqeqp6d_4AS53!m>fPVagx!qSsl?eRR!)rZEK3MF;(RRD9wI`?6V=vcS=drKOGcQwIYSF?MJkP?DpW^PZFM9TjebMXf zJA167y`e`=ky)RdHa3diH{QFV&R;=HTCyY}S_bR2?{39aTF-5Jyt~61{S73gZhlVn z+=}J*+ER<1i9}^03!q+e(l@g2z5!%TUS2EvVlfzZ)V~8K$2fE zx3WwMU5BAbL>)xZ${H}*{VbX$7y}?uT6Mz)F-{`UhG1AhZ9`>Eb^Ur4&nJ}3Dz;@z zO((K2(q_wmPb-N%7@0rRhPr`Zs}zN#WgTJgCb&R@8A>2m*-A3uZ^|D`p^%ZG9; zzQ49^@=~axNZZ22wa#c;V*K(L5*AIl_q;;67~1{0HiV0%$3E8@WO0y3dWzFZ%Z|k@ zq{a>}CG9&Fw>&~Kn!QLXwxt(j%*dEpLR1cS(6s3}B_t@BeqhKAbFqUqA zCrZzaqiWw610OP;9(yM$n43WR--!y~CQ|vKs6fpm#==fylUXT(Qs}9dytH)77v3^1 zmA>}4mo_ntw9P56ciP4fO*(0-Zzyvv$jeDh&C5;Cm_d9piERw6Yp5r(EXKl=O;4VT zHa6yvwyL>h&gk00`k43?L@@=}R4f5Dz$cH`5@}_1xzp9+M4iu~y94~ElD3J(Hx{R* z5HNUqP)U5#LhMR#rXNX$`k$5>*+iLP;Bm-y9I!-a4nQ49Z0U<`P>H zrS19g+6jsZi33!a=R7E`aXw^G3sMf%dm>)|5wRdpEtL>Yy^yrgE=!<&nqu)F7S-^| zzh+RSmNnE=5<@M9V66@AHAKDyQZku5>yT$XH1n8Ny7hPC$PvnAtct7|w&EM764`A~ zq>6GfY&mHIMOZ`Bw-eh)ijB{@FByIZ{kkaENUM%S>HY754D-@m%>-p$N&gPWH8nO4 z$m;KO2_?2%W;#)>#%f#cVyIqo4HLuKAt_+gm|C{Df+(6?#jq3Q-NZHuq=E_zpEr;A z+(T@mK?he5&3Y`(G*DGZPoT*IHn3)ju1zm%Cpq8=yOiDIMFB8j7k z{63T)v~x5G+9c*mPndJ{x2W$Yw&cN;p?E-I0PQM!koB3EhhXrq6-}RN%dDweT-I>+ z!umR=6p~c|!xYRaICv3xE9N40MgxUrwg=^E6%V_^jBWJd(I|uBk%5pcRP|nzA@DJG zh-Ry+?(%H;#aXt3TzYV0WneZ80^3zLyM&vsnP2u$7>=fd+Q+iCz zfgxJ^m+TpRb@o>w8Zm&jHhfDE3sj>tHeXfXV}A3>sl4x3*s-X zbV5(}>_R>6mW0Siv1K{ab5e=&8J1AeI6mMxdhEEj(O3SwyWjym^t}*Jv=>NQL)mg7 zdy%wZ^ZUO<+G;@6-Azs8FGCt}s3M;GF}GJ3?|~SG157;z_ZjH*x>qrH`OvQ9a}X7v zysDhYUc)+&)f3YjSg|zJlB;R-e-n!08s}=4!a(Z(7R%0>pO<6Hu;mmG+1pYjz9UuQ zAy$dOhh3GJQ(f5rLrODtI@i!5KLW*Ih@OIP%8v&cdn7S@LbtykrO*8o+gz-9SEtZ@HmDHwwRM%%4fBZXb4iW* z+!gSpB>!N&?+>3P4`-I4dJH-q!~?gr%?_ z85DWJauV84uh=p}#>uWQ#a8`@MJ_@8TadbR9+Cg#&Pe~WBu{o&N#jYv4=1*6l-3_b%YjBXXULmr-rON$>Rj&14>ijS&jJry& zyf|M+3r~7`k5>{-oRp=Aie0PRrP*|1eHm8VvLiix2(4nj0JrF%Y# zGKBbXu2qDR6IWOMDsEt{v!0fY^VjkQ4c&aoTd&Z9h~fxLbUK=H#9I@l({r$(5NDi$ zrHR}i#Y-jzBi(#@q@D)$MVfeXAT2G856}j&;td-0LqllqU!fK*lwSEOR9_Y*r5^!n zJ`{X8k%vQ2Z57VyvPdW}%zCmY4re`Lh~aD_#OZ}K$c(bO`uOF9*%0{rR9oI`*`8U|u#OU*=g@ME}5ph z7O#cXVriP$$lJ!!ZJ$LYz-qDdjJJauPai(x9oRU5Wo(+ru`=aV);Fvd^FzBPjEtWo zy}-h*7ZPS~WdeICqAc`e{6ltkqK(s3$b$TWSm}6+l6Uu;Lu^!BJh@(~O z9cC_`u6jag5@ZP;J&65xSZbF$D6ngx}uLy+bUFsk=+LF;W9luwM=~8kkBOMKftikLsYuMQ-0tWra)~P4?xvtiCBx zU?%n~+oSZ2<_*4d*(pU?870tfWJ~XN1_m?8&6{X~r%qk>0 z4ecH4(E4lH$XkfhPUej%M6aWvb80kWh*~d>(F1EutpNgX&d7156%=LIik4OrwQ)$K zBobu8X7^y~4CNL|P^@3IO>goOr7 za9EA%Q1`o;wu0hxVgX|kW{=j-l~J_gzM#rJWk7@#N?TFBF2Ag@ z+F4TLOj){|sKS{@@GOd>ji90BH5&g&k=Z~oO;L2x1cyNb)sDHiUL>I!)|S@<#DbZL zlj4w~#k)mhMawFLq9w4R*{*q)o=75wW6{DnJ7#6%66wF=93iDi{~`2pRMcpAT?&3`{lVOoRD{(-dLnfm@YYx}+~HClnb+o#ML#&M z4A6n$du<-tDfAfRF*0{Z5)eFZfN6#(IGDkMiUxvDr4uJP0vZdiXQ~GCm(^PV)){as zx~7B3iorgqsw7%4ghi3kYO3c|&d;kUn@iMS3*&^z3Yk5N$Y$U|r;PaD;Fbx^19+pJ zNoI)Y-95|*MzT~%7zbCMNnl72^(>Z=JEH6+wirRPd187->h!FF6e7EY1qRKgDU%(6 z+^tdrl(NsUWpvs)nU3x`p$zBd(CzbUw2kFhvfG_GMbjX&yvjL5Q!!YJ(qP;m>Ur+s z=jY6Xof{QQc=`Sa_ruq3vcR;4&%LTjXowSg4_ukFOI*42Qp??H4+=%xiV+R^na8pN;_ zS2PsdR$Wm?5tZOPTKvZw@#-4t6N-?f~{9zD@wnih#1z;6R8e8x0Z6Jlp0kNs34f5vBa~P z+)Z?M)6H4FTE{vjp=;|$e~)NsHCv0JaJB`-4RZ^YHV_q<-B{7?SR3dE^$MK{?CZh7 zvKFQ+VH@e@G)JiRzQIKj?IrzY+P<(x*Z2S{SX$w9Q6X)!lI=wE5DSEoyP8fzSx`>h z5?7GV!>(dz9$_ytmNmFuYPPVTlKMriARoz^jwPCH>}BC?b4R$|D!`1!o|T)LPUK)p zi_@2b_&?4H2EoN8MFpuDBuBy@N z_x=~>Zn_m%Bs~M~*u0gCFw~9-a=kSB{wM>UC^fjhBs@F-Z6J<_v7B8IxJC$#+@W3~zD$8Ncc^lgc zwuNBcION)x6t{v#5cy%LZD0!-%xT=RWN&bf?_GE&Z4(?N4-(ybbk(;??Y#FT1r{SF z;ohh01Gd#5@0Ga0Sbb~|w?yEk{%}x060-lu9ogq&mz^m4goz&dDg7hMVafYUQa{(y zNAU#9yr|Jn#( zvx{5QKS~PmlcW$MB!&2ygq|!NtF#Qn5|Z#kTB97`KV$x4~hVbrlsv|2qV+ zPJttPeqIem)c!FzA`6T7lhDcMlve%UOgCTxx}hkiBmc9`xinr7l(PiKZ`3jxfgAO3LO`Rp9d3OEOr&OqZ6=2C&pcOElM( znO9=VPnj8;l#ob*hS7<+jzFCcOP~O2oh3*lusE;Db?Ep&Ke{2;VXjh2JXLNZSg&^T zgpnOtjs%t_e>84qbvK8COt(;GJ+=Ly4A6oFFPhy( zDgH=e4xl&xpfsiG%^d9JVjeJ54-`94N&vRKn87Gw2zF;My|~DoLr@4kkmm>tw@3*> zr39nloQE0oVDpQ%nkAgd&nrW?2pV@@Y2l)%a;n3`2gcA_^Bv|SFz+Q5fJwKcY<;Pl=@V#ozC)|M%)NuPGs2` zlj!iN4nxt1>#`epeRi@@9CRMot$^JDDO;ICDrYhTu|2`iF(NN&Kd%f}q#esNY_MW# z$06%$dcpX?VPY@PPPkqF_xR zM{37J9F(;R^U37v_t1I>_+{zeva_>h>PvoL0ezw9PSEpKLOX}*OP zTvi6e%obY_En0DnP&l3FZpAiot@@-X(Naq912&Citb}aU4@;$z8w)dtVh&V=ctVv) zWaaQ&UqxhdIdPj@UxB4x;o^?*p(h*Xv1*p`#Lzf6)+CzwL-NM$Y-ObsH6<-Orx9k2 zg;Hku7yzAy=odi~xic4q!{8C zw~B*9v+A1KX8fvfqF${KpH-`+iWmtoV`GSU4Lxv08K7P(1&?CEK~4116=h&!GXyh< zo1#a?5Y^rAT^ws!H2FICj>3*6e)r%Q>dtaK*XDlSFz~Fp_Zo&RLmB#P$91I{cO~K!~GoPz8I!8`aZza+nR{;{DVxpOb>}~H9=7OzO5|6aEu_Q zkP9BC!RGD5R5cw;jy5{{C#8{lgieNU6CZ{5ctGhOrpGwxgpFx+QOeZxf_ylVGi?Qi zFm1Y(UDO81DQFw*1y-KWIEHrGjm)=WNT9L<6a~+@z~BMf`*Hf$Ps)JECtTVyNO@#C zr0%$rb;p1w>A0Vjrp%{?s34jky3YSd?*B9>G_0%AD;g@w8!(#ue^_AgWKX|~Zu?oO z%h@dn0~YfhR$aQik}9zx6^k~Gf7jq*7DF%e>y}cAXLR~!=+zkxUGTI2A&2ZaRt)3w zbkZ+ML*u?7aj^T!dZdEBzzXW~A{Xlf`)w@Iyu`(>PH|3fhL5(#J4cVQgZjVh4obwJ zGz{DC4okwYA`E-Q9X0~PlA*O^2e?>obgYPam7~XhQAUhB2<57nOMG9G3LTCormwT< z!1oO{dc&bQ^xHQva4rdci=zoM9fABi9L=5Sh%g^=^+w`%826S7rM%*faCE~=M~v!S zS13vvaFnA*e^nao@3YRgVnUKLVWP8$mBaV}V-}u~(o|oztipMFtrMP!xtF7g8yzO~ zF)sFDmIW5k_8~_n{-%uQKjLWBZ^|U~$L`mdm-!Qp?)^<^YWx%%Z#i;ms;dBZmO3|M z`Dbp8(0%TbC=n%M0{MJ_lWW6@GUD6EiAR`LXbB?wQfjc{QiFZvYB2v3Qmuo&Ig6`m z8i?%cVJuR}Nsi9?T^SU73P(JgnITSE&D;uGaYI>MLjsQNp{F^zc^1qeXQVmr8<3B! zC6wP{DQ;)B5%lDr~1= zS$W}g+SC%_`xg^QT<`?_jZJX!bGdPv`X6_+ykguH_x;x;PbM_D5KRncpRR*fMp4O*L4jgy2w6b$ASxrQ+V13gGf&;O+i z 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 delta 2946 zcmXxj2~<>N9|rKbcZS7bnE?cG4H?Hla>*r8#3dnp3`%Ub#mv&u+|y7~(vnBBMoWvE zmWWt`l#)ix)fTc%({jt)GR!p1EyYsPvd{0a^L_W6-#PdG-+SNXzRx@J%2m%yS##Xw z>KAB{TyxqLXSi+-#HB3yCnCeuKM+V*)F#rWn|4Vxg^_Vli@dS(YJQFTX|s2U(@~t> zCdT17;z&ykBsHknvv*XicliB|maUVLeAlYix~VDr<%;odKQ)ENHhg5cm*@Ig4Xrw# z)-An!WL5U;oRXg9ld3SgS4r=3N0oPW-;&&JX$fDHPqGFr&rNACsVe{9SBk9h%X7OM zMb?@MBgMGe+Eih*vW_m#ZEYp2F#6c}6}h(=*0MK^2d#@Ma)&i_*9X(v1!wqDNA?N2 z>sQCr2Yu~=#lDe_V2rh4qJK^}Wc2vbzVWTx!G=}xgxMrDt6fE8`JGjbW_ru7u63l2 zbOu$4E+{iOH*3h2ycXWnBf)k@+IWKdYu&nn`>c*DbDN{lk@ALX9l^Fo^wqYlwHc{H zGrA3hDn)_EtEU83?W--gdbOg{>iXK?_S)di+RYL5W<}2YZME}v)DA5_`@ccoIB1>Q zl6Rf4#7g)kuguCHYi8Il{gE4Vl|E_qu$S$~n`hW-Cz)-Xp(&?7Yq9Vl(`$8J%NyuTEd+w46!ih)}FE#h7akT;T6*Sj~OT4WU*}v(mFY z#|&pUyH0jhw06YU*-M=pRot0lhANz{O3yB}u5=plws&{VRkN~gozoNkTF=(OP0n;{ za+SY>-C>WjIyrROXmov^PBUJA!w(8D0ec`dLI-_*FtG$)6phuF` zXS^%Qh_eTccfD&^Ehe}k&AtOT(G{K;QP58*Z=P%wu8TOPls8D3lf6E|&R!q6ak^DE z&gBbtjjD524$2Og;hd=96BA<``x6}#{29^8bKv1?DYuKNqt>Qdmy`4NxsRVbb^5n6 zXY0@XzQ~BZSlT?&ZN=D;7Ys+`&XoLkYgvcLXnXRWz)sWd+RF?WrDKg0`|16GlSb%x z)G*5v(X*?abW8LWg9XtnXutw@s30b6)#XQPk(>RQcBUCyV}x9>hbmpnGI=aEd@RoM zioJBXFV;1uX>q*WwAgdhZ$;0`x_oVfC?g#543AF8bX+d{|D>aQjRMK`Q`Mfh47(^h zYlcy}&l50De5VQTE#2=47;ei5#_g-zHf&sc<)r~x-pVV3v%Ho&!W(PHj>Y~T-_q_dJ8QSWvW6^6W?2f$8nG;u zWsSpSP23BumU&ahE3hnW(IaIYdvQ7tx#OL)=94C31;8;%1^B(VqY@fVhRoCklvLiQ9;Q zL?JPVxShCzxRbbxxSP0#xR)4A+(+C`JU~213?UvOh7u1G!-z+SM~UIY2;wo~abhGf zignXv50tuc$Fw6EaEj{F|mYrop^&-N|X`Hh;m{% zQ9-OA-Xz{4LPRC8lBgoyCf*@d5vz%6;$315v6gs`s3G1bJ|Mz`O{^o<6CV;E5g!wu z5Vgdo#0KIs;&b8);!ENyVk5DM_?p;EY$3iOz9qI2+lcMN4q_+q9kGk}p4d(7A@&mc zi2cM5!~x<*qK-I7{6rigekKkRM~GjDqr@@dSK>Hvf;dT>B2E*(5od_AL_Kki_?`HJ zI8R(4E)stdmx#;6U&P$ltFU4 z+#z?$U2?bFBlpT+xlitw2joE+A`i(>d02+YBl4&Wml5)qJT4<;lsqA$WsHoKaWY;e z$V7QkCdp)ZN{VEPOqFT!v`m*7QY_ENOqnIm%5ySXN`x{;=F0OjPhOB0B`EV{fxILy z%R*TsugI%XDwez^i)D$tE^o+EDU)SVF3Y7tR>+(3mV~5IR!Wt;E$_%GSuNG_uB?%@ z@}AVl`|^Q=#g=ulUOtqM@~a$|6LL~c$!Ymb&d6D* imvi#F{2}M%f?Sk8<&s>MzvOSZBLB#LjA~pp!v6)Nw^M5X diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 365f14e1b37c3bace95ea64b8bd9f327c7943b59..ed97cf56e28260ca85e2737a659302bac177ecab 100644 GIT binary patch delta 7782 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 BX}JIZ delta 8088 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 diff --git a/BIN/CHMOD.S.txt b/BIN/CHMOD.S.txt index 3f2f08e3..361bc5eb 100644 --- a/BIN/CHMOD.S.txt +++ b/BIN/CHMOD.S.txt @@ -296,15 +296,9 @@ StrMode .BS 1 bPause .BS 1 -hFullPath .BS 1 hSrcFullPath .BS 1 -STAT .BS S.STAT -Index .BS 1 -hDIRs .BS X.MAX.RECURSE -hDIRENTs .BS X.MAX.RECURSE -oDIRENTs .BS X.MAX.RECURSE*2 -hSrcBasePath .BS 1 -hFilter .BS 1 + + .INB USR/SRC/BIN/X.FILEENUM.G DS.END .ED diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index e150a3e5..1e6719b9 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -19,6 +19,17 @@ ZPPtr1 .BS 2 ZPPtr2 .BS 2 ZPPtrFD .BS 2 ZPPtrDevName .BS 2 + +ArgIndex .BS 1 + +hDevID .BS 1 +bLL .BS 1 +bCustomBlkSize .BS 1 +MediaBlkSize .BS 2 +CatSize .BS 1 +CatBlkCnt .BS 1 +CatOptions .BS 1 + ZS.END .ED *-------------------------------------- @@ -51,77 +62,93 @@ L.MSG.INIT .DA MSG.INIT L.FMT.BLANK .DA FMT.BLANK .DA 0 *-------------------------------------- -CS.INIT ldy #S.PS.ARGC - lda (pPs),y - beq .90 +CS.INIT >LDYA L.LIBBLKDEV + >SYSCALL LoadLib + bcs .9 + sta hLIBBLKDEV -.1 >INC.G ArgIndex +.9 rts +*-------------------------------------- +CS.RUN ldy #S.PS.ARGC + lda (pPs),y + beq .99 + +.1 inc ArgIndex + lda ArgIndex >SYSCALL ArgV bcc .11 + jmp .8 + .11 >STYA ZPPtr1 lda (ZPPtr1) cmp #'-' bne .4 + ldy #1 lda (ZPPtr1),y - beq .90 + beq .99 cmp #'0' - bcc .20 + bcc .2 cmp #'9'+1 - bcs .20 + bcs .2 and #$0F - >STA.G CatSize - bra .1 -.20 ldx OptionList -.2 cmp OptionList,x - beq .3 - dex - bne .2 -.90 bra .99 -.3 ldy OptionVars-1,x - lda #$80 - sta (pData),y - bra .1 -.4 >LDA.G hDevID - bne .5 Already have a dev...go get VolName + sta CatSize +.10 bra .1 - >LDYA ZPPtr1 - >SYSCALL GetDevByName +.2 jsr CS.RUN.CheckOpt bcs .99 - >STYA ZPPtrFD - txa - >STA.G hDevID - >LDYA ZPPtr1 - >STYA ZPPtrDevName + + cpy #bCustomBlkSize + bne .1 + + inc ArgIndex + lda ArgIndex + >SYSCALL ArgV + bcs .99 + + >SYSCALL atoi + >STYA MediaBlkSize bra .1 -.5 ldy #$ff -.6 iny - lda (ZPPtr1),y - beq .61 - cpy #15 - beq .99 VolName too long - -.61 >PUSHW ZPPtr1 - >LEA.G VolName - >SYSCALL StrCpy - jmp .1 success, scan for any other args - -.8 >LDYA L.LIBBLKDEV - >SYSCALL LoadLib - bcs .9 - sta hLIBBLKDEV - clc -.9 rts + .99 >PUSHBI 0 >LDYA L.MSG.USAGE >SYSCALL printf lda #E.SYN sec - rts + rts + +.4 lda hDevID + bne .5 Already have a dev...go get VolName + + >LDYA ZPPtr1 + >SYSCALL GetDevByName + bcs .99 + + >STYA ZPPtrFD + stx hDevID + >LDYA ZPPtr1 + >STYA ZPPtrDevName + bra .10 + +.5 ldy #$ff + +.6 iny + lda (ZPPtr1),y + sta (pData),y VolName + beq .10 + + cpy #16 + bcc .6 + bra .99 VolName too long + +.8 lda hDevID + beq .99 *-------------------------------------- -CS.RUN jsr CS.RUN.InitCat +CS.RUN.Format jsr CS.RUN.GetBlockSize + bcs .9 + jsr CS.RUN.InitCat bcs .9 jsr CS.RUN.BuildCat bcs .9 @@ -133,6 +160,7 @@ CS.RUN jsr CS.RUN.InitCat lda #0 sec rts + .9 pha >PUSHA >PUSHBI 1 @@ -142,10 +170,39 @@ CS.RUN jsr CS.RUN.InitCat sec rts *-------------------------------------- -CS.RUN.InitCat >LDA.G CatSize +CS.RUN.GetBlockSize + lda bCustomBlkSize + bmi .8 + + >PUSHEA.G DIB + lda hDevID + + >SYSCALL GetDevStatus + bcs .9 + + >LDA.G DIB+S.DIB.SIZE + tax + iny + ora (pData),y + beq .9 + + lda (pData),y + sta MediaBlkSize+1 + stx MediaBlkSize +.8 clc + rts + +.9 >LDYA L.MSG.NOSIZE + >SYSCALL puts + lda #MLI.E.IO + sec + rts +*-------------------------------------- +CS.RUN.InitCat lda CatSize bne .1 + lda #4 - sta (pData),y + sta CatSize .1 >LDA.G VolName bne .8 Volume name ok @@ -157,44 +214,26 @@ CS.RUN.InitCat >LDA.G CatSize >LEA.G VolName >SYSCALL sprintf rts + .8 clc rts *-------------------------------------- -CS.RUN.BuildCat >PUSHEA.G DIB - >LDA.G hDevID - - >SYSCALL GetDevStatus - bcs .99 - >LDA.G DIB+S.DIB.SIZE - iny - ora (pData),y - bne .1 - >PUSHBI 0 - >LDYA L.MSG.NOSIZE - >SYSCALL printf - lda #MLI.E.IO - sec - rts -.1 >PUSHEA.G VolName - >PUSHW.G DIB+S.DIB.SIZE +CS.RUN.BuildCat >PUSHEA.G VolName + >PUSHW MediaBlkSize >PUSHW ZPPtrDevName >PUSHBI 6 >LDYA L.MSG.INIT >SYSCALL printf -.99 bcs .9 + bcs .9 jsr .7 >LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize bcs .9 - phy - pha - txa - >STA.G BlkCnt - pla - ply + stx CatBlkCnt + >SYSCALL GetMem0 BufferSize bcs .9 phx @@ -207,14 +246,14 @@ CS.RUN.BuildCat >PUSHEA.G DIB >LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat .9 rts -.7 >PUSHW.G DIB+S.DIB.SIZE - >PUSHB.G CatSize - >PUSHB.G CatOptions +.7 >PUSHW MediaBlkSize + >PUSHB CatSize + >PUSHB CatOptions rts *-------------------------------------- CS.RUN.WriteCat >PUSHEA.G IOCTL >PUSHBI IOCTL.WRITEBLOCK - >LDA.G hDevID + lda hDevID >SYSCALL IOCTL bcs .9 @@ -226,7 +265,7 @@ CS.RUN.WriteCat >PUSHEA.G IOCTL sta (pData),y >INC.G IOCTL+S.IOCTL.BLKNUM >SLEEP - >DEC.G BlkCnt + dec CatBlkCnt bne CS.RUN.WriteCat .9 rts *-------------------------------------- @@ -242,6 +281,25 @@ CS.QUIT >LDA.G hBuf .8 clc rts *-------------------------------------- +CS.RUN.CheckOpt ldy #1 + lda (ZPPtr1),y + + ldx #OptionVars-OptionList-1 + +.2 cmp OptionList,x + beq .3 + dex + bpl .2 + + sec + rts + +.3 ldy OptionVars,x + ldx #$ff + stx 0,y + clc + rts +*-------------------------------------- CS.END *-------------------------------------- LIBBLKDEV .AZ "libblkdev" @@ -249,6 +307,7 @@ hLIBBLKDEV .BS 1 *-------------------------------------- MSG.USAGE .AS "Usage : FORMAT [VOLUME.NAME]\r\n" .AS " -L : Low-Level Format\r\n" + .AS " -B xxxx : override Device block size\r\n" .AZ " -1-9 : Catalog Size (Blocks)\r\n" MSG.OK .AZ "[OK]" MSG.ERR .AZ "[%h]\r\n" @@ -256,19 +315,14 @@ MSG.NOSIZE .AZ "Unable to get media size." MSG.INIT .AZ "Formatting %s (%D Blks),Volname:%s..." FMT.BLANK .AZ "BLANK%H%H" *-------------------------------------- -OptionList >PSTR "Ll" -OptionVars .DA #bLL,#bLL +OptionList .AS "LlBb" +OptionVars .DA #bLL,#bLL,#bCustomBlkSize,#bCustomBlkSize *-------------------------------------- .DUMMY .OR 0 DS.START -ArgIndex .BS 1 -bLL .BS 1 VolName .BS 16 -hDevID .BS 1 -CatSize .BS 1 -CatOptions .BS 1 -BlkCnt .BS 1 + IOCTL .BS S.IOCTL hBuf .BS 1 DIB .BS S.DIB diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index e909981d..9de215b9 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -560,23 +560,18 @@ DevMgrInit >LDYAI MSG.DEV bpl .5 ldy #7 lda (ZPPtr1),y - beq .51 $Cn07=00 : SmartPort - ldx #AWSmartPort.SIG-AWSmartPort.OFS-1 -.50 ldy AWSmartPort.OFS,x Check if there is AWsmartport firmware - lda (ZPPtr1),y - cmp AWSmartPort.SIG,x - bne .6 not on AW - dex - bpl .50 + bne .6 $Cn07=00 : SmartPort -.51 lda ZPPtr1+1 get $Cn + lda ZPPtr1+1 get $Cn and #$f get $0n cmp FD.BDEV+S.FD.DEV.BUSID same as SSS ? beq .52 + inc FD.BDEV+S.FD.DEV.DEVID Remapped SP devices.... inc FD.BDEV+S.FD.DEV.DEVID Add 2 to DEVID (2 & 3) jsr DevMgrInit.SP bra .8 Phantom slot... + .52 jsr DevMgrInit.SP lda #A2osX.S.SP bra .7 @@ -1071,8 +1066,6 @@ FD.BDEV.NAME .AZ "S1D1" *-------------------------------------- SmartPort.OFS .HS 010305 SmartPort.SIG .HS 200003 -AWSmartPort.OFS .HS 12131415161718191A1B -AWSmartPort.SIG .HS A9008DF2C0A9708DF3C0 *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.INIT