From b00d226b00cc5a82a38d6e85b25d53100c822bab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sat, 23 Feb 2019 22:01:58 +0000 Subject: [PATCH] Kernel 0.92+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/TELNET.S.txt | 27 ++++++++++++++---------- DRV/UTHERNET.DRV.S.txt | 10 ++++++++- ETC/INIT | 10 ++++----- SBIN/NETWORKD.S.txt | 24 +++++++++++++++++---- SYS/KERNEL.S.IO.txt | 24 ++++++++++++--------- SYS/KERNEL.S.STAT.txt | 8 +++---- SYS/KERNEL.S.TERM.txt | 44 ++++++++++++++++++++++++--------------- SYS/KERNEL.S.TERMLC.txt | 3 +++ 9 files changed, 98 insertions(+), 52 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index d75c249d9e6a8ae5818367ceb2c8cadf05996ae4..07fdb3cba68ca034813534698b3d75e811208585 100644 GIT binary patch delta 30069 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
  • 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 I6=B5x1EXqjOaK4? delta 31507 zcma)l31Ab&_y25;vTb^#$tF$jG%clEp*IEP=mo75TABg^DlJef%28<%@Crq`AXo$s z22`|E1&UNT6ueN>Rq;Z+6%|4KD&c=O(yH*em|yxA=M z`+USwz|Io}!^G4q`(39E$%evIr~NLgaRXAqBJO(Jcp1J(w!8i@rs*f9X5N(+l!DK! zJ>@~UL4xxxA+*Rcl63i3L3Cs(lC8pc{I#$53jNnF2@BdYI4u7y^D_o=vulW%kgtie zAT?Ipv+~obUgje@(mT}kwPMQT|9bT?$*0;La&!Xml)d%oD>J@j(yhY7y zZEl~bB_C7kEZg^Nn~?Rc?yJ-L&Nk>C(q*oU4&6U7`r+ueqbp;a43m z*6JA0s(<>^#C0hv5C73B>~h_i;;4Sza5$MBzFs#n_SuBGRF74$i@j*`4f7vux-Xt$HbK-=FXN7~N= zOPvPoq*b@h<*05I4n92`Vme?x{9BpxyY{86B1>)~``0C&4Pwn6{*^|0b=g899p#1m z6BFNXwtu&()d-3Hg!;X9xy~j*knyd(=;K~pLHzWDN766Dzr%)~fWCS*ml;@C~}vLJqxmgKlJWd1CW`{Z}V853FYD9YvNdWuH!`nVvYIPp3a`(4E?H zuP&S(-KcZz-KIOL-@8MX5M0Uj6*e&)ZYfzpLosXLQ49=pLOE_Grr3AD(a7 zkuvto^DP~8(6hSbbk`o;%AgU+*C(G#ruon5VsdI-2X{GJX1VsSPT6$+{2S)qp_Ibm z%KNvZJchOf)@(L!7H#%jdN!ebY3LTZ<_Vp{wI!uhhq}+I7@l*r+4eu|$I+eyO&mer zc|zx$ye*}pJ!MnNfeo8(KhQcw#km0}cWh7Tc+{VMMIar_clgpd1r`*C2wD!bzYiSk zLg;FYoyS(uvL|&J>UVMRa%XcAQf_-vHx5ep$&={WRWxj`t}$~xCdF!tE0eY5xK zsBo7#)U@R(-8J;+qdFJ;biQcXXL9M^7q+D6b@XVm-nBPXe^l6;rXQJYKBgysq_|9~ z0c56WU&R&rr@}@a)#-^jh>&b&vGZP6yX&ayaPlX~N0Lvtf|65{FG;RWUX*-K@{Z&K z$%O21I6I=9Z5y0q|4x0&cdqIk-??bn2}`^^eAh>>3u|YzMz-m99ozI?G9%J?h~9XO z-WlCU26!TZzDVHXmZP!$?ZbhZeV5IzJdMe_%d1j zII4cM>GvN=ru#ZANy2w@@U{B*5a4t%oDnlcG2Pe_4W|cu8-PsS&dXy zDmo?v&)IlprB;_Ma4r9)`9HhAdR;m@on~ypNGYGAH--a~n_<##JKU>mE4_M-zHp#E zuX^_f=3wa6k+b@t>yG4MAmgjZn(c?etprcTwr_#E<2(BC9Q||B0B7;y*^SO?YnM1@ zH#iF$7t9%0MIWE5A5Y)oNWPkL&N>sc#P} zt3Ao)f!&{f`*{n|s~-aUSie_a8Ln$zx=w5jYA5T&gY5#X-m8~@ZQ)*hmLvMi&R#HB zcYd}uxTIs-yUwL2>o8Exo!EC^uRcw$J9mPfd|IC*MAFb_^f~OY@ELtSA#&e5e5l#? z?$>)*`Vaf{vAQ2m($MGi-+Dn~rb@%;PW7XNf0Xi%%Q~GiI(M2|;*PL(#S*lyHe1qe z`1bRmhySW$1nhLQTyn&@>f}yy+xZ8a5@c~U=m8>?ee#W(`+nJvCt0aC%OX#)&t7eB zw+qf8&$G<6^tu=HatKm0c8h2AWrb8YpdZMHOh2Gc3siGZ!}{rxW8LvXNNcA?^%1XXcWoy0X%O zh5?I-=`h(iz4p2$_h4dt7bUFkk&VMECU{CFHI=zb%M0OWM840E)HKzNT2M2$wsamb zet?4Fhh$@Y-C`2`5k2#k-Z9~0vhkXR1x@*x^BXRA19@S7Ss4*OL7_Qlw-}>rvt!4AQ!^WBZbB_L{6N<1thTIZoVpbjF++MEr_u zT+rA+#IH%e1E~W^>^Fq2eZd~>{ST1U&uMZGA;xb}!}MK%`4f1ybY8&xNsW2bIK{|1 z&3Uq)(Q1N^am7{ciV0<&ViNg1mqS{8@%6Ry8v7Fa58ZekCb*n zjlUp0`By?Gt_(?v{7qx#cg~FEk1dDv;`%a!fqwO-K4I@i`XwPD<2sj~{O)A0Q*e%M zJ*NL7DB|WbH=j9oo{+Yv7U6(1k*@kqUy2#?gYWb+dtt_OW5%Q-PUw@RoW#1N2_?*Z z*uHX?Yg=8(6qLUHggz6~b^8hZ2!o?~%_}snQ=e{l?L^B#TG6Su8$UbI^7#pRZKpoj zRM6Q{)VY1XQ)(GQH+JfsrP-Y=Ih}QNj}>%w6m^!JKfhZ%+zVDlY(o9X%E4GSQ|B9bf@{pHr@V`&P|W$VbY=bwI_Fe*=lGfZ6(gSuXld1TxnN%*-~?|#2I#`Ews)_=-HF{6z`Z$7$;V9x48YLwI^Hg z-xK)n&}Z!L-jj@(vmuO~x74B5s$bg6QSCf<5^fg;rSp?-I>vNjG`A6a?yt7KJ*M+; z=mXW({UfapjI<)-#4+dL@2Xq6HS_z)KBo?Sb|v6YD)_zQ)Yeno3q+mjhs7 zY65-wlzy}rcBZwuT@T8|)A~N%M^3eDIfYgsc1Go4eObxr*5F;@%1H6B4hEmuQ2lB3 z!=QeYo^L5rO&7k5?PLsq_1nqm7U6WO5q%bNdgU&0TO0Yltn;w(`>~y8%}<{{5AWr~ zS>wS2=MSIATkB{i*P!Z}vd#^y{S52GRjome>qMC2j}I`IsqmN2^f zjJ~RB^cg0gN$TH2pUpqha0b(?<@V|NmKpkXgVTLoNd`-1vO!yW^oNk45wFa3QGuz04|4_ zHf;)v8W)N0c8iV~{j#$B=BsNPn`X>wY??El1Y32m@HI^&Oww(voxh+dIc3%?Vzu!$ zO3U4a^B2x*tX)7vI||OJA&w{=eY`%*W)U5_jm%P;qjei=W-`HSIScn;$0Pcxy)MHJ zc!-9}EIOY#&j)c!P`iMJ?+UZmMizEsqKSyboO*E-lj#zYIGRf?IlX!Efc&OmP1Bb& z);2UPS}?n@v34F2OLQ9-%%4L-N_G7sD5`YI1(ll!}6dvnm>)V%vzS z!RB@~E8ji3sSa7h{wO_gcaStp+JSVf7yO7jd}#qZ*2j=mR;1SV%%5>>Z6oRZIBhy? zO_*0%TQifGb}}m9sALdvH=2aHS@&p8LT2;4`AswGY8DXt6PWnt);AS;+?5l?xjkd5 ziYqIL@kuaf*~^>^m6XZ(&2ylS(!LAHus=l)+-bMXc-rStR5UQFAw7elKB3KG3SCP= zpVj1&kwJ{lp@pdZ#GT1onBET)|a|sUZAr2vc_r_jd(dI z$Ln|vlxM8(!dGdz%GN$aaeu%iUHBOo`RU{0p^v;ExSmCDj=(p5&)qe9%QpIF~lj`#@eeNmi zJ^M#UpI6(ntKhAY&`(Ie4Z}TU#l;mQ^izCSJ<)9Lq1r!V?q(NZl$DoP5F`9m67~gw z1z`gjZnfw=O1KUAQgh^vaYxQ}oODx<6)>g51lLv7jeHXRwe}S@B7;PIqw)upFLRIe zjP|LN1eeyY5cLaY&ug4TMEJJM+KO;*VZ25X5zejZ4|npGrIWsv)ec;#HVpUH*D#!1 z^{d*j{S4jtN{}rFzU>7K!M#-*ftv9=qCjhu(0CgEcW6jKFzQ-D1U7Ir+rVs#$)pv}B*svbu!RW$MrXk%m|HuS7{iex zMbP~5LDo>SRw0i>MbdSHg6vKUazm_wZ>p0t!fc$dBs)EJQ>Zf~iXpCIM#;yx=+H_= z^O8~weev&5Yhf%(_7G8=*60u-CJ5@Z8@2h&sNn93lxKC8Dt5A5m{Mb8~X52ex{&RP2kedvhSgYtwly7={= zG+jntdedLlXvcsiwr9|UJ%gs%4NZK!yGZ|j^t0E4`U(AM&>KOi!T>t(ji999ft-{+ zZaVUOXsT(Du#q<#lTNQYAL`J@WC(QR-&RL(CNG$lMQ=VD+K1l!Mo_ZOkxR{Q21U&o z%=1ins9iK+?AXa9WC*^NS2m@S(4j(+#|=4FR*~>a1U5gcxTb(w&~5x`fB&yh6gwlGD0D`@Xqy+&SUj!W@Pci)s3q{fK*D(vD+yUk)2$}5V; ztz~Q9!m@HK6O$|geeMG>L9(E?nUxq+QQ@v!%vRDdHo7iDbVwFE&q?;@IHFjNH3U<# z5nWHJqUq9sq9-nf>v;v-%G$vGrC}i_OfS3Pt;8l9*IlJxGkE9d0qk zi09ZewJ80@Ek+u$NlZVUZ5aeC+0;EqjEgl6WaGgdAf{~gyjqp_L9F3uTY7*VUzQ`o zPt*7;YDpI>;_clFMa6=hhhs`>+dz;8|j8mITV7gF_+NKIt1S=A3;*7_0 zd?m9~)Z8CN!b5+|#77kk$r58TC$Q2JVGl6jxv|wU3D4r?0=8O~5YuEW9d5)Fq{mEU zR*6>Z5pCWpAh!kGddkYH7K8k&fmEss2%~Z_+e$Gsl9<`N2d)W7gXc98$F-_BXnMA2 z5au#|rC#a?h@M9)vcdd(Iy+k|9bWI}&$>XvGPbPLUFDg?tchnMIv9gK{GbaBVkmvBcw zD6ha)NhEBk5LhHxnz(vsDKiQnQN7E2AUew1lnbg3G+J8!jTQ zLW7w9jjI_Ew==10ZZ_6#Y)Uem7lf@wwA$8PVWx9rDFH*~1bNa~Hkz zRB*I#H>c$uPMWx$Hz!d}M%t7LwR_b`cLSe^uvWVqDrkegNNXgWSOtu@DM`Dbd8SQNX{7z=r{C#43i0&FJO5TSxy?#W)mrbl& zI6j{{%EZ2vQMgTjpV_4)VrthaJxUuyjd|MVEL#p9f9(^pzLs(p=g+c(Vos7r=`O%lJ=di^`_%Pi6f z%_4Q8M&e0r3-h1jo0Y;wY0`loO5zlZXl)k^Pu=R)Th1sAuiv~8Mfh9uJpfYw&8d72^s$ZcG=E*Mmn*a z<9GvB-}JYJ9-04TvhOw$&ufy(gj28UX%4WlrkMjHHq=OzUI%M3XC}?PR5W|BfyUMV ze#0PQ15KUjuzRM?fY?aGt{H31Cn?6f2t<}(9n4BMI~$8?4otaLLC$K(R_4Z zD~&{j>)hF1wLdW&xJ_mD(29+<07>fT63rS>*k@Dm(-Z9RxGVXIBcHDa@kgxJ{b zm}(NRx5l>8f}_+eD(r?ibn2oeJTF>TR5{VD`SsQqonPXbKQG2=CF6APh1R=^@|g=^ zkEiv&2ivA4uq{7NRb`WFLStR+f_b%#g9<%)L(5Gmk1H)C7AF$f zLZR8SaC+mC`dVU1;whQU6KfYV%$|?EHy3Zxkxb7H6Qi6dzAB^2@<)3}L~q}7S?Rbj zBrcV%IU&a8^+9Thrzt%>y*MjBBQq;ICwCe1Rqbh7@yzDZia}%ZJ!1xqom77tYa`SRIk zM()6I^RFM6k>||J9Gac$%p5%MvYL4VGln?RhYZch3=2^)kDdSv{4bcj|2OKv-J8nE z&`{%y>0eR*|6tDaX8X9v$Q_!MqoJ z=)ZL5z>7#Y-IIy1 zmxrumnsw=3IiyaYeQpce=*37I4;{GEccA(wHY67*vjx7sA5Bdh}gnl zu2vNGFZ`a`gn4E2Yi5?sp04g_uoF@vVbcdTG1OyG9gHGB7Bylo17`(-d$8BP=a)_# zM$GzbyAyjj>a6ePYtQf?W@>Aiusd8@M5JC_oI|zPa+p8X4mLcPQ4vElKf}cRjF3>@ zHh~z%Q)0sf$Yfmp*y1~B`)whS5fK90o?O!+Ez{`!}sG{H>!z9i+~tbN)`h$65E zYU_9KmA2U`fX%{rjcfRGxwQm?zb}V|=m& zHZk1_6RCN%%V8pun`y;w;Vzx5qxtg;Qsj#6IPz|z8-EKQJYu!)5Fq4sw(qZQinM5U zag7d#7+4*wVH@iacj(kT-846xn7+ig7H!0=qY=M{N9*p?t=}AB(@A&H{NKZ^y1R9B z;O2-Z;T}5g_wXp)dL6wAk2)Krt-ps$@f%>ZU_3c)_0)-o8+nrn_tJNN50BT~r=#ZF zaA&Y{lXjG`CEX;_!(RqV-pWE^d;o1nKL~oTsW8Spy0#G#^)%KrE^Kg@!bc7WVlxVw z+c*xk_s_PiEDz~6&WG}7&usd7SY!QGB0jld$cY8eLg=2_it47Eb+&?KT$Cf)J z%G{E6emEj-=T##f^;KmDYQ)l^)eKa8Osn{~R&gh<7`ux`oDYxD?bgxbyM@z z7?N;}@7%;)4>Xs}t#4+#xoPYH-Fq!6Mb1HyT;AG{)r?o$+-}T_D~F;J(>&m=EUs$8 zcIJG}N?JWV^iz1B3D@!BKE(}Nz?HBb6EhJT_{?u^>|Q8hVW1E?N4#E>(jty};9`2& z&*1}vC3Mlx;k}b@;6fQ&JeKJJ77Oml`Ii&ZjeZ@t^k(|P&*7IO-og*b9A4I%@A$H^ zcr??B38ToCyFn4|-iJd+K4*T_?2A7gI%72APxn<+hwYA-#XK2v3@6gZ znK2gfvd8&4!GBCxH=6{<`;H0WQuvPvnG3;Op};XA;}tFhTe`-;aiIJ2Oi_JYz5_yj z2x?C5(JUMY;$YjlLrnI_)b4_m`p}xMtX3Pm1b#5#&O#f;zN|_=c9t0B?ccqIIDnrZ zn%pd%hs6v+aa+1hb4vr{5>tlelVuWHCimC^xolKrA)l{RjoCnwn8TgZnx>QkhFJp^ zFZUGFfnNoOiix?**=%T}Ki(M{HAc+iYGE9LI^t0FfH;^-w6-!x^e~8^c7{B6{`Ivp zn^H2;)A{)(i5Sk^q#^0e1%-tqWTb%#P2zb&zh@79LU-AOzqd4o>AY}SGO~tdrH6%# z%^y=-P+snLh5l_y&CTsG%V%Xc(=!Ja)y`mE5fEl*2r(Y~^Yq0KdVRSWgHf-mUzL^F z^EoWU<0A`_5PCg@-5iO3$JmqUo*3c!!8P;vNx+wX zLztD9>vd)f_R$3A5lmscKz?jZ(W@h+0$BPy+xB?XgSnf_^PmI}_ z&`AH{BO_yIHZ-!Q{)`^e72W?ts7I-->FdLETUx`+P|K{rL!6npK5Chb=t?aFoSqjJ zQc+nxs4MLz#T@eC#vjhdlE+v3|4At&4iH??jITNMviVtS)OY zkjOAr6?Pv#|3+eFb|%xpQMF!m?SXX>6L6M~MhGFBt!B{Y?y~aHKCb@_BRK5AWCk0c z+Ttc79YP2TDf4ti$9ibk{~n7@C;B)rq#2VvpQ*VqY}D4Bw}k2TJ`r}N*lh0aJBm76 zq6TFA^JkcTfH0B1_@sWsKBp`k5Z14<8}=E}!vB7K{Q+x#eRg&Q?f;yV8_I;5$%cDc z29DhhSm)EvpOa#AgVSkJoYg_i`=vO2=HS6}(0=LAKzAvkrT#H&bmx1T`dp3}hp~M~ znf@8F*es>J*L zLeq5-Y4N`rCY6?z6(OK&T-7Rf@%W~G19<`&@f-R`7cng9cdf{{DpqJ^*Fxi}NYNh# z`o1orApTE7Q8}yH1rtvoSDZ7@Ont-@-CqW}MjsKa``bX<^%4E{8X`hgncjWx{SQ9; z==Y}vmr^QZ>rbsWhGWeeqzj^v?IEZ4u8r91Fc@*zu^yi6{?53_pylg1jB?> zr**|gk4NnL=y7wrMDj^-I+7bdZre*9*6&T)qoaakhOQjkg$rqih5HyQG0&!ZAQ0A=e7(|?avdv6e4o#YBk@np<)pB= zlSM&JsqhzCRz9Js1Sf^WSc0vP&{CrAwkM~IBIYsJCPC=H^!yo(v#+lurZPOUE#y36 z8OyWSvOm9~qO6$Yn#Lh%?rfH8EN7T1c#$y$MZ`4TUsLojl4cNN70TEq(3(g|ikir1 zXZ!!eG)ap~Nhh|;>8^-i$vzq3N^B!!3J*^)PDMq>6*S?XJ}UZ3Ep+87Ep%lX4_!&A zrr$#$I2Xp1s2P15XTiSeB9z)!(~**78`1(bKSIDHiGPTfy|~OCR-3jw!U#pQq_%>M-l_`0 z?lNveMr^xpLz3Ub0C(fCX!GDC%(k5hc1a3-RO`A-65ThrA>Cp8of_b&Zjh~Jk6z&{tWG~OM}u7&q!R) z0bgMBFGuiD!wf`J&10+$HqrmA#oaU~A&;tpt*q;Nu|r@Yc# zz|Irgo{D1VUCfJW$9WO)$aW*Tnj>O*S(7)`*{}4_1E4A>!>NSC;vm(toqz!fJ&1bh z0T;&Z>tG;M3w>k;sPCJ|WX37CxxAjSP+vc%wu#D7k|exM?~9V6y@ybO?dReM62Xlm z;V=)i#P*)Qr>kZ+&Z%{mj~YcnaRrBM;;P1tg*CEb3sGxOyc;I_34bc8TDP0p$euWK+CLF776~0h14x>;&*YF zdCDXMzo0W5(g5KoUF(2l_!1YxkJ3px z9+iRP0QHR1p!pE#M8a7B(+fyM-O5x0GjI+-L~Q@7gA`l->L6udjxh*x^aZar7cW?V z5i*PiHH#+TVf($I+M$4U1dxFv0N)fciB`l)y=RyOb!*z6jG@C6*BFTgEEeAp@01EI zU6VC%#EX!)?!pbTArqQ7%EQEFXB0-UkP%ujRI+&;oXf7AO~hyxBm)(UL17aDB3Va3 zkt5@MxV0b`6GGyAN3Mz8^H{Gs{bwwZE*4~>?hd=N+2+3^g$0bb5vCp(pM`K`2n&*9 zs~eKDn{or;le{VcX?=oZGmIk9CG4AIEUYBarR=MN&PR@kb%JpW+D|B>+Y+Ss z%foOjYis)Sw6#m9AhG6=R$Va3$ldS53OmJriaUKxvD+ZF!7 z?RTnqY@P|Rc}${Z7N&noM(0j!kh{Bx)X~WQiP5-NK2)HveKG zspsgqNUj5k;sULe2DOzdx>vyWBt@k)YwgHA+JWwyRs`Bvsdkq4wu@k5ae`_;uh#nccCDXVdZ1*( zCvJ^~GaxtB+OWLnJ9yXnjUHTSmPy359Ao0Zbpe#9v62ZHgHH>LAz^oEL#5BuKE!@E zJ?oNeW$Q2AAhVs=&cNzpLjb4N;A&z+tlU6mkb~{{i&Tn!f!6ny94QCDHvA*M9-*(@#fxE4j4uM)pqC(o zdio<+p)dB9Z1FFnxE9Ea*hFG_g|`N)=y(+Y-$Nz)+}AGBn(-hChrBKzfJ#;WH@Hk~ zZw2(p->`)6MCKh9Hq5SIclR&>63Zc;HXVtj^TsX29glZ_vCmBF3s&r}gkXIYjnR72U+h0dc4)0aG?F*zlD6cLZH&|bs}A4iVmE8e=F zHX?n^QWgj3M-#?xP&Da3^yWU2)B7!CH-ApIe9L#LMh4P|bmGEN#!g@nPja=koI({` z0}V86In6sRkitS3nd87h82x2wT$&_$f9O#bL|V>XK*Wz15+VM~Lzl&0G&+9mf?Mq_ z%Wpk!6VvaS>=E($hdL0v0lHZa{E2)Xnj`(ihP%3q^{WbtbySBoqMQHARUyznVdpgs z&dkXn65(gieh~n9D2sPgmtbH~&(E%>c>T&1Wxxq@#(LIcT@_YB+#@rJzBKk)2MIBd z%+dCxF~yD&**UZ}U<3LW7K{i(=7sjTqz?&YVUWz}gX6_+4?}q*Vq`Iorf^OV8-5Ww zb@+J^+jxOBHnI!FB0?P17+s*%3vlnoCfrW-xP!I7gL$92V)Q zMwgm!i&&KkuI3>ufgrAtPi&cpM_|@GBteG&ZPo2W)Pd@DBG5n$>Or6ZcRTZ#Umu-J zZ|aBbOcs_1FCNXh%O(}gZeaIlm(3wjEId(5M{0e3W8;ElbBTnw17Gs^g|!Qo+&T~L zeISh++*=nA36TiCg2fAJ8ftGHL#zl#@THZ^pIdt?Hu}8%c&LZeU&l!(p2sLy$yQ%x zgeb6JNPfzXaL<9ftj(>J)yQ4JY@3AOg`V1AO4kIKM?^$0u<%?H!WT44YC)vJoPn60 zeTsqGdO2Fy#$aN~^%rDe3RoPH_#yO#{!&~H0u?UoYD6uNkW2j+xe>X*x@#$#^EnNHQx}YO5rI@N3`Cm6tK-an z_S~8|Y;%T3QiUOsiq%rhfo=B18o5SyH?d!f5Vk}~nl$HPjUbGQHDW{L6kDBlX{3o5 z=QCdFeXUgXAvT0jb=yq=%kZLLj%)RkZQKkx?QL9{yboPO65_+E)QIhoi)C)n=7O!fb>lXm3v1_Wqx&(B zZtv2eYJZv@MeA(r!rJUW@z4&Ru8hnkp^s_e!SSx?aTH`5dMLOP1;t%_Rx$3zL&zQ` zB4#(lCwM>FpXB4tyZ0i58uy`&^pvVe-IUn+G^YkyC(>OWE z`(xPa7vtm&)Umwj?_GD^Dpf<@()#~x-v4Qb=%GxhkM|u;d$+w9ysn1Zhj%Z6Uwn_z zh9$=PXvg}2zq)TVY5VXZm5d*uaLUJEn+@y0BDR#CPmy}j8?&Sk;S(xnNg2Ws+L|rJ z3!l;Fvn6ME=;xZKJO#x41vO+#1D#)9&}Qf{Unv|$9;f58rJR_rAW~Qrb*~7Ua&90n zehn%TzTpl0hc%Ei=UXI2e5YC*=47$$JNpT(%h@&)uj+>R=|oBKB$$J(2|tBT9Hu6- z({y4#&AJcXT(=718O_=Go_A)#S=MljA(Qm}k`dRE{Hj>GvL~Mdif)2mLZfvIYOid$jL4`cDqRz5im!lO6VdG?`Qtmz7sku^mc; z1Ka;gYjP!9_<6<*(KCBTYy#ap5?e`;Iz9I^5nbV7cdhMuy=uO?^JO&Xp|M6iH{j6V zAUr#I={46u4b9-K!F8~S`U~a`#J97C@ousZG{_EN)jAGd$z8^x$xXavoW&-GQTJfU z6&$WtC-~$DIvJ1NNY);+fIJieO_?mH!|cXjB3kv_vyza+R`OUk*%*~}jcQ(rM@wK! z)#lJ^_SBcb@I`C*;6ub{_+mADnOGQ0GclhmoOi1o80r3XS!?Yx;doECd?_LEZeYHxU%UKW+F z(P}cXSx^Ufv8MSX!$Uh5Cw(RM%J$TBr#FvM95SvH<8lu8ccH`gx}Ml-PvzECcCtlSX4TvYuRhjRX{mvrG@lTGBM zdbSXf>lZfEHR0MM5r?q^Tw5H@n1ZjwMzw9k#WZmwN+ROfmVdF#0xh%f!pzIz34_eY zVonb04VBKwQGo=tLnBK939534rJNJnWqQ?rR*wzfJAq6r-OA{=p*Zs&OW(!ju16e) z0m9-R%JtlJui$mf<9XdXREHW}SP5D}Jgno{fR3r+d~^I0^UEd_dj@6>Sh9=-T`5oa0J!uMW$3B&}!+iYJDv2qWvf{4L^Q~FoN)?+| zyh$yGkhijiEd9LUYBw;Q>dA$LNR@^)m|uQBF^H*!gO_j z);h-SY^EVhI(G3It=(&RyN)^f0uSCHl_*(pBc0hcn`xfb3VgzPrnT^XuT!bFiwiXB z8#ornLPjUuJOZ_^*J>})YU5yKiB|gtUOV(AO~kWKga6q=XJ#AStl$Z@h|A%_`zeMhgU{Q{Y(e^;x)d=ioc|F@yl8lD_R%7 zLT?<2E`C*|D&n9<)$6Dd|Aw!h-{O|r_%>4G4)K0IjFPOM-(~$AH|D*IbaCkWJ{oSt z8%DMEKhoO&n77~e6MbL{Sv`4frfU)CC48z%UKf9at}BpYQ>D+kl~aQ|%%1~)An=3~ zd_hMRNHOlFne&_G&2MZfn|*a%W7F(ezHk%-rm$oll|qb1!A;DUdU}V1NT6d{bI0kI z1yWqr*W9)s5}@1pV%Rr&El2~FE$lyfenp1$O#HXhT`0u`eFvnD6SSgGipuT0I1=MY zR_4?N{J@Q>B5|kbra~#U*BM6K_Zo3OaN^?5(lf{tepH99&hZmXD3YSQKWh^Gg-bO4 zSACZy`kEeF+P~@5J@T#_mB!!Emgx_lP80D@ltI9W@f^~{zf{d9#=r3p@()u@_I^L{ zzYqjF5B+MMaCir-`KKvH;{4Y#AjW}6OL9ZvbL;8msW{*nIbI5~4+?ZiIts*RFyu9Aff!=RGC*-K+sSC5 zD!&w48rdk+JBPN9mQtqWYO)^ET<96lG;86UIZ4Dg7zM;U*5(qDFoY{ZHw!+mc2QFu zd-o{>ZQxZ(CBMki5a3pGltMwgU5Lm2Ac=7iWnot?u)5 zcxe}|34Wmh?2a+0gUME=;z<$5f+lw2Gmd4JBa;oi3f>P%<9l{NWuOZ@s1RQj=z<^; zKaq98uxLaT~5R+xfBwvGSCBdDb{A0X3#F^ zX%R}qQG+1xG|@hBy4oCL(jU4MIm0)IwJ@IGnW|)(h*W!FY3r=+r7>u7x?Hu-0R zEa{pHtAt%^2wYP%&+*mgu}b1xu07Jci&UK7rJ|+2TSaDRuH$^CEika@iT3hHuCWao z8to;ok&V7u{QL#+47@$__1z0v7j-Yl_*z15uEMl)gWA!x_8Yl^@W9A?xNgN**M{Gu zX-Edf1rcxIU1agHj%2Z3zHn=Csiv|`oM_uJm1s3iSc^m)M`CWJ(TxhUHFPevrSsbT^HhAXzQR_FmP7-mJo3>?_g6~V5B`{@M34{VV~*8#y^kH3faO;wu*G?#gT5)khXKA zq1z!Yw&BIDr97%NkVWh}dUhu3B(Z~cx&3iNk>m^L3q+m9?Bt!jOYLl7H(fJPim~hg zr=d@9k>f;}*q&4^qb_DIeFv%$ypO97-e>ybM1+hzt;y2Y4Q^aLuE6mPegKD=cK^$c z#bVXTw5Md|Mk{hq!!F-=TA-NX{*nOS)++a>j93yG4cdia)#$kzbB?FP1)$ zB))f%bdZYGS`}VP>U>|z&dh374;K-W=Y^bK8T_$_tJOEadiJ6wq7~1{->yEn$%A?O>?J7uIMv{G2McjWt9k$`aQjF8Wur6P>PSJ zvt3I~s93?c$tcL#TP^hp!cQyxx&CVGLhEi6&+QZHBu^h*Vg_Aw2WZQr>+w;NMfhu9 z@eYyI?6jD@V*}rbEgKo?)OaULR=<(x93(P70&nF}OKaarVlMp~*y#H?VUgb0A?z)% zrQ`6z64eRh-&I>`8ma{<4ML%M!`>-^gWfJLMVXJ_c^vezw$)#X zu$1sfY^`vA+zi46B4$PcDPfoKaPZ_ld3}g926eI9#Q4qw<0`XJxJ~41Ht^~aV!@3f z|La)l)%R1gi$%5yI`X4nsTy~R)L7_B?S6v?dFCqiN?>*h&R?%$!_6XK90h1 z$H>QXCW*TI!p6&S#b7esygJMpGX+>BTsiX5=kLfXXv@sd1Z;mDP6FTCnj&s1sU26#J1%yXPhXhkdDIv_ z{^k}Eay7dVF}oI9L6*8Mi1HU)jkjaq7LyiMEMCiQ9%0VI%_Y?boeTa#aaTzd$mDzy zK0iQhCXsMy$;Y`*;ic8^)@B=7YB?Zj0k60w*^*=xj_ zm+)&6{Czx2NW=|Xi?nRxjSMrcH?bq8DD{RD90PF7e&=I!aaG}{(ZqfW*LUt(Ay54+ z6N{IzUNt!;zo{ODS;25zaZ>eB6|!R)U3#|^Wy75&rX*=vDds%HG}9e-OVL5HTAu!p z8WcT7!p)|h<O~J?!bK-v^dYW0k%&7v6Pkb`@6tvT_~zHv?&hP4?cv^o@*(Se zKg43%ppAYw{Tqo_JwA!K*RMv*OsrHpxU?xZn@IOD`Dw4J~qQF#RV!~O1ZldJLF}P ziSc37jKZ}kpSGd*AkInUm59&5MJhj4vs4oly46P%j$+xJDqFjzQsZhH7tLRA?Woyv zYKd_>av~pPBg02fZWbAB-k}jNiL+tr;L@$@T333kYok}!Ha0Yo(8sk_;mbwsqCb2U zVe>}p_R*}0guRL0Pirj#C(DTG3Dm;AChMFhL68ZrpC6L9o{hdx+{0p)-<^lG$y3@; zdK#QyYufY-iVa!M#=r4dRC7FsK266)I^JUyAk6+}v6o$G zonkvckN+b{-WQQC;>MM_TE-yVXFtLf{rx4b zj!Rsx=Ne%m)t@*@7fBaeJ@a{-)cJy|(rGvPgxh)^Nv^S%TV1zvKwfgrfm8g%|PnDq%ehh{^ zKm64rU$?a)Vd>i?&byQFyIUP7k%@$kPh9FxiaDx#FlScrXzy9uIjH4R{Osb0=kQ{- z`0fQeK6M>w6T#ZKwWbqGkK$3ohaWSuwh>k%^hjIC?hjC8%e_)sg!+~-O!w*!RYlwB z*_W_Fj-tUYOR0i`roSxNu878q&bhYU&R;=hi4lB1Wu>Ly_0_8JGR3iQY5rRAczorr z6;J5$TJc2fHQ{U2SA;wF2@2jPEi00&*kr{nD^arIkd9Ud`E19yAB`evo zk|Qg*vNBj!@?>R*tPGWvOJwCzSs5lP!)0ZJtc;YEd|4@wl|or5l9ggv86_*DWu-(` zN@e9TSs5cMWwJ6>R>sLnxvW&k%6M6+logMxRLRN&S(zv+lVs&`S(z*=Q)FeTtXv^0 zSIWv&vNBCps%51{R;J6!3|W~eE48vROIEIyl{#6OEi2c^%C)jGM^@&_$~;+_FDv!3 za-FO!kd+2mX_S?PvU0twERvPQva&>0ZjhB5W#uMWxmi|jkrl73ER~feSy?74x5~9l^1Q6P zAS(xClag$}w3vE-PQj%Ga{;jja4f zR=$;$?_}kKtaQrCNm)51E2m}UjI4YwD?iA}Sy}l}R(_I|pJnA2S@~5~ev_5oW#tc9 z`BPTT$;w}{^0%z~BP;)vmGi3QxD+r9FdQ%fFcOdtC;$`!iU7rcQGn5a z58DK169H1Of0T>Uc1b6^dfC+$!fJuPM0h0k!08;^10ImdF1(*h?2Gjti z17-kb0%`%X09OO*0J8zt0Imhh0n7!=1I!211Fi!s05kv^0Sf`w0~P@m1C{`80Ne<; z32-yu7JwJ96wm}%2DlZl9MBAq0V@D20k;8G0agQU2ebgz0PX;+1*`+y3AhVzH{c$? zdH@A%0Bi)@3%Cz(KVTE!0l+*b_4bRo&Y=v*bCSPcna_|;2FTPfad`F0nYm0(ceh8sH${ zb-){dHvw+}-Ub{3yaPB4co*;<;C;XcfDZv50X_zN0{9eg1n?Q)bHEpXqkt~~#{kCx zUje=bd;|Co;9J0VfD?dDz)8RPUSHBI 0 no protocol >LIBCALL hLIBTCPIP,LIBTCPIP.Connect bcs .9 + >PUSHBI 0 >LDYA L.MSG.SKTOK - >SYSCALL puts + >SYSCALL printf >LDYAI BUFSIZE >SYSCALL getmem @@ -169,6 +170,7 @@ CS.RUN.OPENSKT >PUSHBI 0 no protocol >STA.G hBuf CS.RUN.LOOP >SLEEP + >PUSHWI BUFSIZE >PUSHW ZPBufPtr >LDA.G hSocket @@ -186,17 +188,20 @@ CS.RUN.LOOP >SLEEP >SYSCALL fwrite bcs .11 -.2 >PUSHWI BUFSIZE - >PUSHW ZPBufPtr - ldy #S.PS.hStdIn +.2 ldy #S.PS.hStdIn lda (pPs),y - >SYSCALL fread - bcc .3 + >SYSCALL feof + bcs CS.RUN.IOERR tay beq CS.RUN.LOOP no char from STDIN -.11 jmp CS.RUN.IOERR + >PUSHWI BUFSIZE + >PUSHW ZPBufPtr + ldy #S.PS.hStdIn + lda (pPs),y + >SYSCALL fread +.11 bcs CS.RUN.IOERR .3 >STYA ZPBufLen lda (ZPBufPtr) @@ -213,8 +218,8 @@ CS.RUN.LOOP >SLEEP tay bne CS.RUN.SKTERR -* >SLEEP -* bra .4 + >SLEEP + bra .4 .8 jmp CS.RUN.LOOP @@ -242,7 +247,7 @@ CS.RUN.IOERR pha *-------------------------------------- CS.RUN.USER >LDYA L.MSG.USER >SYSCALL puts - lda #3 + lda #0 sec rts *-------------------------------------- @@ -294,7 +299,7 @@ MSG.USAGE .AZ "Usage : TELNET [port]" MSG.UNKNOWN .AZ "%s: Unknown host\r\n" MSG.HOSTOK .AZ "Connecting to %d.%d.%d.%d:%D (%s)..." MSG.SKTKO .AZ "Failed to Open Socket." -MSG.SKTOK .AZ "Connected, Exit key is Ctrl-T" +MSG.SKTOK .AZ "Connected\r\n(Exit key is Ctrl-T)\r\n" MSG.SKTERR .AZ "Socket Error : $%h\r\n" MSG.IOERR .AZ "I/O Error : $%h\r\n" MSG.USER .AZ "User interrupt." diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 47ac16f0..c0b7d980 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -269,7 +269,11 @@ STATUS.9 lda #MLI.E.BADCTL sec rts *-------------------------------------- -OPEN jsr CLOSE +OPEN lda #S.DIB.S.OPENED + bit DIB+S.DIB.S + bne .9 + + jsr CLOSE * ldx DEVSLOTx0 Done by CLOSE @@ -314,6 +318,10 @@ OPEN jsr CLOSE clc rts + +.9 lda #MLI.E.OPEN + sec + rts *-------------------------------------- CLOSE ldx DEVSLOTx0 diff --git a/ETC/INIT b/ETC/INIT index c0356cbf..a629e3a7 100644 --- a/ETC/INIT +++ b/ETC/INIT @@ -1,17 +1,17 @@ NEW PREFIX AUTO 4,1 -#!/BIN/SHELL +#!/BIN/SH ECHO *** A2osX INIT Script *** SET PS1 = '$PWD' SET PATH = ${PATH}:${ROOT}BIN/DEV/ SET DRV = ${DRV}:${ROOT}DRV/GUI/ SET LIB = ${LIB}:${ROOT}LIB/GUI/ # Main Screens -GETTY /DEV/TTY1 ${ROOT}SBIN/LOGIN & -GETTY /DEV/TTY2 ${ROOT}SBIN/LOGIN & -GETTY /DEV/TTY3 ${ROOT}SBIN/LOGIN & -GETTY /DEV/TTY4 ${ROOT}SBIN/LOGIN & +NOHUP GETTY /DEV/TTY1 ${ROOT}SBIN/LOGIN & +NOHUP GETTY /DEV/TTY2 ${ROOT}SBIN/LOGIN & +NOHUP GETTY /DEV/TTY3 ${ROOT}SBIN/LOGIN & +NOHUP GETTY /DEV/TTY4 ${ROOT}SBIN/LOGIN & # Serial Login #INSDRV SSC.DRV 9600,N,8,1,X #INSDRV SSC.I.DRV 9600,N,8,1,X diff --git a/SBIN/NETWORKD.S.txt b/SBIN/NETWORKD.S.txt index e8b3b2cf..87f6d71b 100644 --- a/SBIN/NETWORKD.S.txt +++ b/SBIN/NETWORKD.S.txt @@ -46,6 +46,7 @@ CS.START cld .DA CS.DOEVENT .DA CS.QUIT L.DEVNAME .DA DEVNAME +L.MSG.RUNNING .DA MSG.RUNNING L.MSG.DEV.OK .DA MSG.DEV.OK L.MSG.DEV.KO .DA MSG.DEV.KO L.MSG.LIB .DA MSG.LIB @@ -54,7 +55,10 @@ L.DCB.NIC .DA DCB.NIC L.ETCNETWORK .DA ETCNETWORK .DA 0 *-------------------------------------- -CS.INIT jsr CS.INIT.DEV +CS.INIT lda DevID + bne .99 + + jsr CS.INIT.DEV bcs .9 jsr CS.INIT.LIBS @@ -63,6 +67,13 @@ CS.INIT jsr CS.INIT.DEV jsr CS.INIT.CONF .9 rts + +.99 >LDYA L.MSG.RUNNING + >SYSCALL puts + + lda #0 + sec + rts *-------------------------------------- CS.INIT.DEV >PUSHBI 0 >LDYA L.DEVNAME @@ -257,17 +268,22 @@ CS.QUIT ldx #0 inx bra .1 -.7 >PUSHWI 0 +.7 lda DevID + beq .8 + + pha + >PUSHWI 0 >PUSHBI IOCTL.CLOSE - lda DevID + pla >SYSCALL IOCTL - clc +.8 clc rts *-------------------------------------- CS.END *-------------------------------------- DEVNAME .AZ "/DEV/ETH1" +MSG.RUNNING .AZ "NETWORKD:Already loaded, exiting." MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting." MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n" MSG.LIB .AZ "NETWORKD:Loading %s ...\r\n" diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index 102f80a5..a5ecb670 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -405,7 +405,7 @@ IO.READ.PIPE ldy #S.FD.PIPE.S lda (pFD),y bne .11 jmp IO.READ.PIPE.99 Remote PS closed the Pipe - + .11 ldy #S.FD.PIPE.Used+1 lda (pFD),y @@ -432,10 +432,12 @@ IO.READ.PIPE ldy #S.FD.PIPE.S jsr K.GetMemPtr >STYA .2+1 +* >DEBUG + ldy #S.FD.PIPE.Head lda (pFD),y sta .4+1 - + dey S.FD.PIPE.Tail lda (pFD),y tay @@ -445,23 +447,23 @@ IO.READ.PIPE ldy #S.FD.PIPE.S .1 inc IO.Counter bne .2 inc IO.Counter+1 - beq .8 + beq .5 .2 lda $ffff,y SELF MODIFIED .3 sta $ffff,x SELF MODIFIED inx - beq .5 + beq .8 moved $100 bytes iny .4 cpy #$ff SELF MODIFIED bne .1 - -.5 sec moved $100 bytes - .HS 90 BCC + +.5 clc + .HS B0 BCS -.8 clc +.8 sec lda #0 - ror + rol sta IO.Counter+1 stx IO.Counter @@ -550,6 +552,8 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S lda (pFD),y jsr K.GetMemPtr >STYA .3+1 + +* >DEBUG ldy #S.FD.PIPE.Head lda (pFD),y @@ -680,7 +684,7 @@ IO.EOF.SSOCK sec rts *-------------------------------------- -IO.EOF.PIPE +IO.EOF.PIPE >DEBUG lda #MLI.E.IO sec diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index 66a0966f..deb8ca50 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -298,10 +298,6 @@ K.Pipe >LDYAI K.PIPE.SIZE lda #S.FD.T.PIPE sta (pFD) - ldy #S.FD.PIPE.S - lda #S.FD.PIPE.S.Opened - sta (pFD),y - ldy #S.FD.PIPE.Free lda #K.PIPE.SIZE sta (pFD),y @@ -309,6 +305,10 @@ K.Pipe >LDYAI K.PIPE.SIZE lda /K.PIPE.SIZE sta (pFD),y + ldy #S.FD.PIPE.S + lda #S.FD.PIPE.S.Opened + sta (pFD),y + iny S.FD.PIPE.hMem .1 lda #$ff Self Modified sta (pFD),y diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index 37c6cb00..06fd33e8 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -64,6 +64,13 @@ DRV.TERM.STATUS jsr DRV.TERM.GetIOCTLBufCntDCB .3 cmp #S.IOCTL.STATCODE.GETRC bne .9 + ldy #S.DCB.TTY.STATUS + lda (ZPDCBPtr),y + and #S.DIB.S.OPENED + beq .8 + + jsr DRV.TERM.CURBLNK + ldy #S.DCB.TTY.OUTTAIL lda (ZPDCBPtr),y iny @@ -187,17 +194,11 @@ DRV.TERM.READ jsr DRV.TERM.GetIOCTLBufCntDCB bit bActive is screen active? bpl .6 no....go check flush... - - lda A2osX.TIMER16 - and #CURSOR.BLINK.SPEED - ldy #S.DCB.TTY.bCURON - eor (ZPDCBPtr),y - beq .1 - + jsr DRV.TERM.CURBLNK -.1 lda OPENAPPLE - bpl .11 + lda OPENAPPLE + bpl .1 lda KBD bmi .6 Open apple key, not for us... @@ -205,7 +206,7 @@ DRV.TERM.READ jsr DRV.TERM.GetIOCTLBufCntDCB jsr DRV.TERM.Title.ON bra .6 -.11 jsr DRV.TERM.Title.OFF +.1 jsr DRV.TERM.Title.OFF lda KBD bpl .6 @@ -981,14 +982,26 @@ SCROLL.DN ldy #S.DCB.TTY.SCROLLBOT clc rts *-------------------------------------- -DRV.TERM.CUROFF ldy #S.DCB.TTY.bCURON - lda (ZPDCBPtr),y - beq DRV.TERM.CURBLNK.RTS DRV.TERM.CURBLNK bit bActive - bpl DRV.TERM.CURBLNK.RTS do not Light if screen is not active + bpl .9 + + lda A2osX.TIMER16 + and #CURSOR.BLINK.SPEED + ldy #S.DCB.TTY.bCURON + eor (ZPDCBPtr),y + bne DRV.TERM.CURBLNK.1 + +.9 rts + +DRV.TERM.CUROFF bit bActive + bpl DRV.TERM.CURBLNK.RTS ldy #S.DCB.TTY.bCURON + lda (ZPDCBPtr),y + beq DRV.TERM.CURBLNK.RTS + +DRV.TERM.CURBLNK.1 lda (ZPDCBPtr),y bne DRV.TERM.CURBLNK.OFF @@ -1244,9 +1257,6 @@ RESET.VALUES .DA #0 S.DCB.TTY.MODE .DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTHEAD .DA #S.DCB.TTY.INBUFFER S.DCB.TTY.INBUFFER *-------------------------------------- -SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 -SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 -*-------------------------------------- CtrlChars .HS 05080A0C0D151B CtrlChars.Cnt .EQ *-CtrlChars *-------------------------------------- diff --git a/SYS/KERNEL.S.TERMLC.txt b/SYS/KERNEL.S.TERMLC.txt index 52511d8e..7d7c2b0b 100644 --- a/SYS/KERNEL.S.TERMLC.txt +++ b/SYS/KERNEL.S.TERMLC.txt @@ -275,6 +275,9 @@ BUF.BASEH .DA /0 .DA /1760 .DA /1840 *-------------------------------------- +SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 +SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 +*-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.TERMLC LOAD USR/SRC/SYS/KERNEL.S