From 6cd8ff6c6fb257770733de3de19b0eb8e471b030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 7 Sep 2018 16:12:42 +0200 Subject: [PATCH] Kernel 0.9.2 --- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes DRV/LANCEGS.DRV.S.txt | 2 +- DRV/X.SSC.DRV.S.txt | 59 ++++++++++++++++++++++++++++++++++++--- DRV/X.U2.DRV.S.txt | 2 +- README.md | 6 ++-- SBIN/GETTY.S.txt | 18 ++---------- SYS/KERNEL.S.DEV.txt | 33 ++++++++++++++-------- SYS/KERNEL.S.IO.txt | 2 +- SYS/KERNEL.S.MEM.txt | 4 +++ SYS/KERNEL.S.STDIO.txt | 11 +++++--- 12 files changed, 97 insertions(+), 40 deletions(-) diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 2a7d9d27fe1c325c76f04216c85c68b4ab1438ec..add0e67a8d0f14006bca1a0b7d89a5700ce31bf2 100644 GIT binary patch delta 4515 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 delta 4368 zcmZu!3se)w8lKtRED?hQP>J~HCd<2AuBQ*H_Ot~71?7=KXlrjD(Q3u^+FSM1T3<;m zAhv8zac@ODKyy|>Rtbj3(d+3=u`0cQkFF0aCL!3WKx}Q}y+y6B+}RC}5K9g_Gyi=5 zKmYuX`Dcum<;Kf$%QS+Bj-o?YilBqU4h^mVAW^hL#8bnRJh6j;^QpNn0iVBM9e@B} z5?*AKU~DxJVen(TkT)+Q+n2HKPZ*K>u_zGShJ*uRtb7DZ)1~+b1HluZpBnL!x(Ufo zbbT;vVRx^dORR8GNo@D(rQXi-Ya-!w_N_G=73%+`yFihoo~bJE&(aM;BjSobpQYQ{gjhM|G$qlIuc z`_zWV(O19Wupz(47+`(nQaTmcL+!h?;YcMYDInTxFN0Xz^!PMKN#_Vkxyv;!ycY+T@8h$Y=q28vP$scFTxY=xD8u0oCoB5!v z^dQbya2_&^I9s_fUiFoY114g?x)Lu7Z2x5?F8t1evOsDD>)aR)>)Bfy6BFxgadLME z?_uh3J_w29IwTu-xBiuFbn8@$llg(o-4q+t;^aDwGBoB+Qd`(|~p+>cYmeU@mdxu>W~@{~JV zB!s4O1Xa^xQFID-3S?D9RmQ6-J&Fm0^P*^KL!V{Ft5hLN7@|ppoKDrSGYubyKj$<~ zED>gW>YhqH=j^nC2_1hG?oiLM?S^-s<($kOXF+2o>pfE)U7ZwT!ga)Bo zunBQziRJ@kt4PC`T;OCVcrA%2j(g4z2+^Iwpy?kdOs_jFQwjr%#((}~zi0{%r=ZRZ zSjdJa`>jBs=LyDat8B1U9<*h4T|(BgM2O&~!2O%v>|fi@IK+SPw-$}~*x7oOUIeX{ zKy2Nv$3jf~w-F>}zzdr<@HX4MD?Y^De-}~Xho~>Cvk#9IT* zGImo%46$Q?VcC5ZvG5oxRA>V^7u9^}3*_28Z2WH8z`2xx?Lt6=K=7xGZ&M4dSeBIT zbul%r&l#6F4FArt!(k5fHZ?A3wAb70aZwJNC82b?i}}n&?Q$g`Nt0FP?XFdbz1U^` z%(be<#cXp`dORi%vWs+%F)r%$s|D$1#OyuKf{|~0%xrD8?~a1#K#ysvoTeB$(CbFa zpLBM!+Pcy5CsA}DT$_=S=u-m8*HIN)2*;l0Y<1me`5R(P$k(N(kx96}>z$V*UkpbJ9PGEBN3~C7~zk^Z= z0PuiHRxed=Rj*NRPy&jDfheS@YwT)ATylcwW}cS5h0<3oeYc9= z`pJ|zoZ_k}V6}vlu2(Z3sq0mgc?!j4Ba*)UeYJTtdwu@`_TuSyHtRrKc(J-#t+0x} zpHUmEnWahA2%1zjN0=ISOx@l{F~`-`agpBqSLr*T5Mja)^|CbgqncA#HIeMu1Jj8B zO?xAE278ubUc@dnoH=@+h`#i4dayVpr#?lsy|wd=g{2#h`1Nfyn8ZJ zLXXUK(8fbZ8y+O^1j=`>Fy*Z6a(8&TxtOjKd5UQFIHp)sy<$6EuwCh%RKJZrRYJRi zj&vw!Bz_k{G23VrdvkY5v-Mnxm@zF)7qldbf){PS!qDa<`^(~B*N=T@VECzOx|B;_ zQqV7#zSKg$Trz^#%#3;3JgF6$TGsa9XycQ#qyeSE^i#v>LgmN^xEXViu+3WY5o7Fr*Y94Q&GIJLAUVF)J(0TEa?|G4nbgcuErTwIi$Rk@3ZmIVg zE?%pLl#5MGPtm4iX6uGc_AOHGtiN(7SKAKdLV4sYGn@~S5LQF2r#7lTRh!i()i=}u z8URca8ZUNW!V5f*at?A$D6P23V!F*Ke|{aD9Hik|#L?7GO{rzJ^89r$fv!@Uz>$;c zS2+!u+0cGeBiy8vRxVn^5gi`))70Mbz3ZSlAlQ`JXydMycdmmop{e}dI{1E~iE6r_ z9A`>vw7K!QWwzOR5#t7?6!evGDkMXtH>L5*%53`CrnGYQL%10G+KRmR5RQ*p_S%}) z-UGU{+$=;GggY@PKP+Dl@5qRw$Bv&swEOUo5n|+wesIO_1@Qq5j>iOfO<7JA!)b>9 zAXg>hW5cBlgr{cbWn|AEjz&OsAQ$+&Y$O-7fl#et_qe;;Yn^9`XhsZUbJ>nWVWi+%TTM`flYaek<$VkL^g%Tus4No66xwM%a z>Cg%f2DJOGL>^9MV_FwbFl7kb8FxC{{< z*2=H|EMT0}4Z>u2pdv`b9SXyy$)qB1m{MVvaanLkXxKzFbFX$fHXhZqcMiX!!FJ;R E2f2Eta{vGU diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 793c0765e05d074003e1c743c3443bb702952822..1c2c256bde36e9084718970fdf74b00cc5f67f92 100644 GIT binary patch delta 2951 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 delta 2688 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 delta 19084 zcmZu(34B!5)xU3MUU)Mv+w7ACLN=BFlZ7=X=wy;WBpaCkf+&PAfk;Ro37cCS1jXGN z<(k&ds#V&$D-~Q@_k96v-4{@6t-H0gtycN|=iWP$3CItA^WI&~IrrRi&OP^>^Emh1 zigVAcxU0`*D=bcT4sNksV;fhTkum7j3-OTU+&f#JG)fz_wngE-ETZL-Q-mdBw$Qd|yJ zp2_GB+Fx!bG<%x^b1j+cjd<(eI>I@4UG`g<7na2vw}gGgGt9laa<)z=b){=-t2(8GL9yMl-AwtAMX#IvuB4Rx*F8Y`@8 z3b)n=Bdwv9@+Zqj@$ znYY-6<~A>?uMh34ZE0#?#;vxY{Tdg$5dp_WiXWKsq5-)9>V z&HRnSMyhQp^WV=89yYuK<^!Oow=EW&#hec%feSBcVL1=mf)!=E=K_*o9e(H4v^IoV z7BKUVw2XF|X8g%E)Z5?3oR20=huE;}$85o=$4swjs%7TmaVBK4v?p!BS-flYwpd{q z%X^C7f1@_W{WO?hJYySb?`miIvv|pUj(>Wimg9QfHq^GdU2%T$HkS1QKlp*+8HY#X zCEHMEH-2BX4XuuDWvK^%q&o@{%b9)hJ6^L0COn(b_9B=F!K|1hQqPhF_!js zTgiE$Ib|^d2i;wX` zH*4N@O;<9)42v#NSkXi%K$lI&Zt6PZlLXO`qN{!N8hR3amyx}k%ItPsSuck!HmEh) z)y3wR{N!7-|g+#Q9GCg&Y0Ocb`YXn#>^Z{XhJAsdR%$jGJ zsPp`HjI2c^Bk8WLiL|yfEoH_eT^K0)4&oEN#l_j4{n_!2`7Ks8o zWkdiNX2sEp*}_N}i&zOMw{tNIM}jSj8ZVn0sZXh?X=dJ&`NCIi?xKvPa!InA>2&0$ zFK5B>^4%CJMxH80E>6R_FOG%s@)*-sV4N4HKN*XC+kc>Qp zXC2UGcBw@K>zkUIFJo!z34EN&Zb9XM*`u~-8q+smQrbqamn?r>D9rr5=!|ZR$;AfI z)X-F2!}LB3^lxUtX`Gg`q%CPVsaxW!-oad3!F4RTryZ*=I2R z<92Hx`^@A`>h0|A?_l~_z!5x~54~rZl6?-IJp&k2Up+!*{O9tvzER#2Jh3DIHCvVP-I%)2$YA=8-qo{@c%%30PQ zG%%3tdn6KuPtzKjQZ%b}@>Ztb3z+6U%q3q0rgy(~0rTCb1*Z$yXj;@-wWu~Yza~`8 z^!qW?@qiYb!Ta0lw=&~Ffrhyr(uUf)SH}uzWJ4&jfO#L*#J;N8t)aSlIFNq?66|lV zawkaci1x;6H+6O8=QGbEJXWo{2Ob4@_hXvW$@sb^GUwwXSHsLF)JkVE_md<0uu}ag z0`s&MoGF$oNuY&3LkoR2u~5fz+EB2jJ^~4Q9zC8HvIz6mSar?fNPSalciF63roV`u zoR|3I8a;c|0j=a3ER&D1r{)H_t0OHe^&pz$l9>JqhE8~O-v<`0V6kgo+=x`S^|wtV zo!T$8$Gk6L5M1{kJ;;0j;;gpeLF|6oLnQTa9eP;l&>x3&=ua4w`iRmYti*g2eZuo% z?#B}nOd_&#$&+YOnCG3R3b~|E#Q;x<4`3UnF;Ntx0F{4;L#jDJbsj_-(7bP*~4H$V8k9^n5>u?DpN@U&6Zp!Q#0 zW?21ZeO+UXu*7@^z%P{FMh`U$i(%FPKU{bOX}+DCl@Nwjm!(N z(LV`DDfFCoggXuE7z@*QxnUh`(KOy{SW7JyjmHe@c#Bozx8Qxirp0CPl3-|AtbnAl zfEl_b4q`I}CZT#!L&H+$7=_2CmKZL92HnPCoLgF%->xOexNtvbOvBOR5Y1$^<9B*f zv_Q+$ojx;_8vIZXF{_-Vr)g^;1XqYF|NbL(t9Bp1{W0tDHRaL+68>iep5y+fZz^6^ z$`dZu9o@2_t$*!G=A9;5g)7q2wOTg%r}NoWHj6KR9L`&%aNYvr zGiM9Wu)cl?4s$Y~$B`d-yz(Q&RfN`XRMyeFa|3Zp&BsUHRRCu^>4%ZEXOiWEpQX@bY`ozta&;Q-DUMGz+Jg+ zq+{7q(->-~Va7?)uQV3uV&8oAdZe|wt|qO~C;g0(f%+7{}<6XM++n!n3z8D3(9mbjI9TjNWl8)|c?bw17$?;?GueFLCS z8?=s^nYnm)$x8s*d$L^eRxB?*ml;bX*y+o7^Rw1zf#pd&NDRt4RdT^o&WzL4a#zUZ zmapVbJZmkpwCVh!1~b>u*woOpxQ6*x>HN+H)0@@~8su%^_^1TJTMk&q**kRM6bIJu z*a55GyH+l0!iL&vI-wk$#1nf&SiDe@_g!$Z)2w5rHWs*codPn4)Vpy6UQ#y_3nymG5*0rc)&A%D5On0(@O$ z)Nss4H#e;54dN%<-Ot?X)e*OV5C|h`b|-9|-UD}#dEv1tSrx0sz!>wugB7wA2{zO; z1Z%+#;mDG!N)7WMkXmD+9HTw0l0W=F< zt-LbsY;CG;iq-XQjMa9vtzo_aer~_bn|Ce-k!PzGBRM?<8bh9K-g*4tDqJn|cCcW@ zl|4D`opg$BWhT5^6&29;y=TqHLtNFHzTf?$^^47GF2F?pE{S#ow`0tAA$ddXM{R;} zkvydIi!sxE2^}kfWD4LkHO*)COL4f8gqZM(5w#IwdinkvR$EqRgPE4udp6rH84%7e zX?h1ab!)U>`PALgPY(BN>h7;#=33=FRxo#G+UsqL;VpN!bQ3Epb7o5pQ}I`F?sCyw`)sU>RM|qheVEsxm?yPV#UnZ0b16A zmYp=QlLao|&a)l<_FV}VU5q2+p#5~_=RMW=gMQ}rwwXD(VpH|VNpj1%e*QMOl%S}u2vIw|I9?5G|_d1kR z5QuR7QVUi@d6M8T^H*xyr!v>I1fA|)0vn0V|EWEn#q{ei-~DSXI2Cc^Cc19bwJe-d z&OFx>DI@O}SvP7!ysSp|T8e+e@385G<5O=^SSoQi-3&;cJ#q!f7qNoh^4F{MeC>Dq zzg7BJ>n#e1q2G!LCAVq3=X}%48^gNWe!HS;I@iLwe@}{T%at+ws%`zzK15&IRx^8_ ziZYJr=g&Iy(e0Zkd?!z~7P|QPHzTx%dkI2sG+{|^XMYs;e)|>`7){?Q1EZpYWo^To zc#N$QNMN{SaOVsfM!}sE&*XKce!{?6vO)MdXX82U>v+$>i}H2qV(p~3NH7cxH^w&f z_pW5lbE$>2K}7LZGJi}AiQh0fwh*NV$!$k-Nr^fyvd%+zRWN~%`d-g;>`<%E+sX64 z*T=ZeA6~ss3pVZo-txU(JbhOp#}GfvRg6FT!k_P%#wsq}f5e1$InWxKymh-EC)Uxn zE=uvh{!M+cEj_)fS>R)m!82m@mF3~e8Nmv1fg;2GH*9CxCvyKIoo7Uu@psb5HkS5j zT!hPTczlKteZ9>1oJ>a>EB*r4afIp%i^`_&Xj{EHHa*tKZ=RvMEMICoW0vmC%lK*- zCWJTb>%@dI7WhUE8qog%?B=&LQpJk#?)n!621xdWUTIuNLflS>`|%G_Va@+3aHq~-?jPf72G0;74pPpah=?N;f*3&r zvq(>K28hrsLOGL&u%MR=@=O4*T5zMc@%Lux**@KZ#lc-kCM1x;znP``YK>6@W*ajN z1$sJj+a=`qaMF7Rdg;bKo#`eZr>9ziGZO|nkS1VR0_oz{Yi6j?uo9U>hZCdu;hDP6 zGTFtSoTX3F+%(dk;z93NFHf)3$5^s`JXopw*5fYfx5&dGV3ASDEQ^euD44Oe>|&K`9Bo+?!JQ`*R`(KPjF`&O^DNbMRl6zM1-IBYcK7^I z9!pL>f4)-BHVZ66a=N#We_g42rWC1$osmte`nPR}GFP!|so1$V+S}LJ)6I-=5^!KV zFQ2XZ$4-b(sjUyqLjrPQ{2dp;1uVCOAMDg~v`PGnPCYPovg)kZS=U@j5v9_3OPDc5 zLNtSx{nxdmtfDhNbU5uywu3+}}aQfEPH8TBubT|%?pCFFe!|LSzAbxUx zi2n4CMx5M#J@(}O_^6ZHfc6V`FaYHA6p``^m*-P?Y&$>GN@6%$V)GG|>Vhifey;Hc zuhO$~zEA_c1eW9@$p4kbzrITMTA}db*fI2PKwJJlG+unQo@e=1o2-WRx+jf3m+h)Y}+xs`Q zb;Z`==!kXT#O`YA2em?#jU$5T%moD=8A9}E7Pp8YN~jb<+`%SVc<2LtLKZ2p+h!5o zMiSOw3g7;LKBXC|OMZyxp_`4}g8LnrMjh(PGEK;lS_+N?rl*oBrdg1pTGiPfE2ID^ zuKP%n2V1LKYS_4Re&hqaSj*(aA3{T&eBp<>d$dd0lvz7FyJP)p+xlbeZGF+nvH49) zVy$~>^~MQJv2cA&s70{s5!(q&cLR?TnoYb?VaaW*)XRVWA;P&nbdr9wtB)<`QEfW@b)I8P#uTb2r@|DFPl_ude3Z+sF zq!%Td4sUVXbWj{rg)E%oFezD{JmW3HyK|8=5uOREjY7t%%{$SOM5}`4Er~bM$Wv6S zZ<3sTIYA?FiqtK`)poKPD@G-n?Nj2b2+CD>N|hB$^1I5)2Fq$n&2kJC(cYp8y!-d; z*6YW^;sud-As5F!Re^F&qeYSxoGkvb(bETiSCcz1Lp37~iCM_M&JVRPb7p)nOP?hl zW$MAGlmrE4TdKp#tYT(Z%tTFt^SJoLozfoW94{N@R?a9Z+ffx-R2`d8y`-t7dLql5 zgRap;(yW~nxM!Jj)#UP>5u|Kb{t5i5WhrCFpQxH8qHt3~FdRI&sqy5d+FE9WBtd4C zg~NEhwdW(<$8Y~$FB^LasvvM#o!3kOif|h;r{<-JOm5a?Hva3otiCCZ%j2na`xSAo z?-%f@kPffy+SIp}Ij*EPa_;g5`H4U1V=Ata4Z^v*8qaa(E@StIG`XF}{jY2I6_^Lp zbmtGcfA%j&W|?d25oKn^uT)O{S|S2PBx(OAiJ&qPR(c&?BGKK~YZJ|1OYC8G!u5RG z_1fIyZjcRvoEz~RC&%|2yhvXYd7>?AquuRr8ND|pTI*wb{-=AiOZYd}YwlHPi)5NS zI12}aXR&170(H-)JWTo$5H7Cvh=MTRQk4oH87Nsst;2y5^AvELEG@F@%c-uyjeDf; z)R7zr*Eb==pS^-NJ5#b|tvm`sn}Pt>Vii*EuJ$-(i6Hc9G>?w*8=NV*RUPO>upJJ) z3Q;@OB=&c$+TXNJ;#f?${A}jwctNf#)`8ld)v*a{`4PK5eqbG1=}MqH{f^$A_0rc* z>q1YQ#oqOJImVsu9&S|bd=Iq{Uz9uV+aQJ{+<8I`Z+;_Mr8jS&u)^01aoXcbnLp4_ zJ_CD_j))9dfA~0)rm+B$igZg1RrK_o9Hbz5iyVbuOnlUIW+EITj&*Pkp%~^#q#LWF z?LDib4Q&WI#B+_P*Fmb0$V`-$7zoPr`6zaEh6-UICd2a1qS!q@?tWXgb~caQ>@rmK4p%j z&_6g~MFGF^h&Fj}^9mooc72N7Qk26NW>~$0x2;Hb<;s|T8O|#8H2B`$g269W7?blQ zrn~|slj?GbyI_r1w5@7i-LYnE=K~MMwr{xM#^=64`v1$_j~Z_7`_cH+i9$P(#g;Qz zaUtJ$qoYVG;&(k}6dA>UN8H@~ge5014lgpebqSey6;aF|&zpZT@+_k#@X&r+u6?2; zB@1rpZ|woB1yPH_vsh}aLPqrnsK8*^^TEU{ zH)<{t`7y!5X$$yMPa0DP>cJ*xki9{uM2vZxDEUchmW-mANsp+g3}@OxikiY*YLTq- zMkGmvig!UAfy~t^*+0xrlwF8>vauMj`ns60gnlRD;bhgYRQ)cKTAFqW-o=F)DPhlY ze#29SJLOa?$#)vR`}cOQa|M>F%5zqtIj4;uddkSA8cUI`k>v;N!UB|fRwpw+l^;Yg z%hRETqke&;mGWo)HN5$0!>6s~r`-ZE?BwS@Z3M=m@*=^)y6!$ya557m7>b1aE`H}N z_OWvj(MEU@LsglIl5{spFcPy79Y;9bu`!Xs>y>h!+sD&xwdbr%M5*N#w6-ue%%eED z;w=-IiJ-MOykIsJ29XcOmJR?2Kc8HJF!vJkasytQj*I=Y7xR$Ua&*tt5UDPcm!%6Nzuyq#^osm z#onu!in3lAtXT*N2Ot)>8jUj4aS65VdCss5h%Txl-HlEW(-@vX=NpeVSBN=s_zY%T zBiHR2VkAt62#5^kuJ*3gEaR7|_*WLbI)6omh*%(RJ&h9KXf0aM^voBOIpv_h_JP&%K3jJT)c9eydz#;5Po#0mHA|G5Fs4tc*Jo z0xF`@{O&?TQ}XZO-#lx{t9S2}R!QCO;E*%@4-i-9y)+AURk-)Cr|x~g6)zT*wW4YJ ziBDqGR2I0O@q=4TpZ37u;f-$JgVM+Zr@{;x56Myw&%@MJh;j{bG|+|Onm++o<|9a= z2*ZY(1j2lIj}HFWJ!ax#$|9p~BVGmh1V$TADp%nt=_*WmhM)C{QQ}rL7-}JvEbzP{ z=mkO0iwUeC=p{wa%hWaJK%xr-9Rv#RE5nP&4F!Trd7oE_)ITRk4GU8LLZp_wrbvA~ zL8^gj3gOVarTm|_F?-BAjQ`?QBX`=nz(}V3J<+*?8Sl%D%R0oA7^w_hJoAwK0po{X zH3B|VNGNNQNHyet#CS%(nHTu$h^<7fPe{=-2PXrtOuGT7&Y@aGNd`4aT z$PW%4FdP0U7nb@jMv8ES z$ew&htM6osrf$13zBW3P3%oW6o({6WGIWWW`> z7Z}=QjsHG5!MWe6QcgrWtc>G6D=rswd9dGaRprkQSjB~{X+yM|IUmFeJtazOA40<@ zaYJAJFn7FZoRa-Vw8Zadsehu$g)zDx`yb&0ZyLUmN70nH8Fx^icO~;YmfW}=m!p-e z^l|>DH;th71po3)oZwILF>e_;+EaY?TgDXaX}M^$iw+7xWbp{)m#B_-CChjP&GB3hGLNrXOJv#oaACgl&(wzc`WUsR#`HT z_ZrvUF~(@G^Re$3+2wCo$$_h{ucC`G@iHhXmI7}c(=ICMa^B+WFfHY6NI>yB{Ni^& z_q+VAcZ~d$_s}%?eg678#w6_!x4vtPOF4|Dq7QiKyGCK&hjRNzq?M+|LhbF*zCPyt zh;Mus+VEF?{=3H5oR5KAxO8!vLW@oo=nMYFAAQ%zU;K#_a~x&0bvX6$7mnoLe+I)$ zrhf_|%+F{7&c3Nk{~Yh`FRbF6LnT3o%B^7Pvc9zPDK%Dq(^poR_x~CKs=fyJ2k4>5 z5q;uAzc}VwYnc06DZ+6g@imR}pHK?P#>$IHaC5)o*S%-tl>HmD;dpTWN9shJ3n-^C z{%aMNBJ+E-rZQIWgOv{~Fmnf}(Bgkq5xY97(8Bd2;qFUp8jgmau&(qYpfnMfNoN$t z*&3rb&UsAN5F9ZrD)U#yT-Kw)Huxj~BOE$?9wbVF22x}IW|&&=DRYzz4#f*#3`2ey z+9zng~+8NO*ApcQwOSe;mihQ*Iml;qmebMPd`^$)`=^pBy$y=9B=c$k4!t znS?3Xld)&0mrs&Wd{;rW5vfy>mKwy+Kq+tf!0@jt!{;jHyW?!q%c-kEe33=YNL+}8 zEy$mW@1m&o89^$wh}P|`(XIWl2AIa!3Cx@ZBox}i?PxjxrOi{Lsi+ z8C9K~r8RqxR=Z8NuybX1UPGyF6ii;7mpA?T0FF>>oQACN~RgX9Em^hXisGs7- z1&utMnUY`EBpXDawi(ay6Dnijh`4cji|C72H%8)73cD#>0JYz?foGp};x6o#q@ zk*ZtZL*>GqBP4~Ys~i#&Y;0N*szZIZ@aqywED!SQS2=xeFcTxsaH}R=JRw_!Y#BC-4zb-`N2H@?{VtH}9!#R*nc|Q2e z8T7l2nQ;BuH=wRy1~Z)iC=H`0)Fnw~GaBo{sLBgdFv~099)%7DKw^Mr zC@{b?jAO{s3MC5AoDC*=a;Q2d$#2|R#-`@-H`*N)d83bl9&V+@OhsBk?(O^Sj*`x- zykkenjT{T`M!xc33zP?2C_Pwzk@8?iV)hmjutfQX+U#+(+2i>`s~tIk2_vuxkpfM* z6Zu!@%_}*!SJE;GASx#FiBU&+#}wKn3WOJh%gQU683d>00j`%~SbCXUpX|*nC*~)O zu27@Fzo{7QpEiQxI6+y{`6E$BU|{Rar^LL-#McqMu#hLoHR%h`T~!~K|F}x>*E$^KS_6ON zEQi-}Vk6I6<2XTU;w#oTvb2SK>{^G9U%tkXtF*WFIardK)2JMF_L`p|y^T zfp&$pjAg7IMnv(DsMJVL$IswclZ3;yb_5PgP3uhR)=ww?tfN~Z3J$yQ;#p6EBfqz+ zis4LKkB=?PZfvRWaF`pFn9}2m$JJQc2ErlTKBjNf{*M{G#EESzyN{|Hy*ki(`eiNV zCQW>pYHTK)ZOpUf*ahfYL5FMGF_L;FwZOii?CC5Tfx66!ktIv#D9Nip$Gqz-58RUC8Q7r=-%bU1Ds!JN;l@`F!1@J5 z%`UQkNf=q`h4D$C=AvV$xfs2Q7*ukyoJ%qPXkrXS&1Hg`>6a^Nu26tcZ7Yg7hrd{( zWnPJ1Sx%FG6@8%Qtkk{y>~#*qa<#@wD^Yc`8~8k2!(CV0QBdr;V=aACV+_%zpg8rH z%Fz5uDy98eVQ6+BGpwpwMZDlTY#mIE{%czP^}}Kzq@B4?hdI*J=)b{0^CnyiVD|TP zInu|{_tM^*r39!gP^NkhVj@|;6?(MvchZQA(4*hWNm2=KNs{QyTV+pNsnTvs>eO!s z1;!n6b-_FNJ!d$kq}{E!iR;vid-&&PIHnKmB|`CaAO8CRI`=&H9!o*SzF`W$^|bv- zXk7P=pne-tCL z9^>zyi6h~003a_pA-gclY z!vZL}_`DDRR7$@Q;H5E9IvH+CFBW5gz8ZDoa6YeNqi`Z>cecMaXCuka@Em3S|07bG4g1S zTU@DH##l11(9?VXhXw`;By$P{b51H6xn5>37R*85X57zkXZ*;~#2xrXEPG;7$#{w4 z?&M?Vr%g$c>`b^o!#Bf zN(svbqI3o*^~@Z>bQuJmg${S6(%?i@IfJXD9AntzhQ_kyBo_gV`6Wh_t>0;Bro;L%OsE z<+#O5sT{v({4xa#A*53X;qqg*FY8oQOlg_0f@kXb_>)#*lGqt0yd?LkV^<4jNzxTx z?dmwuIJKjR&V5_W3vGKlKG~w}JIDNN3cqKS=G}9fd6o+w!HZH#d{Y>sPkX(WtB-?` zX%x;6IP?qLDcx66wm0!%ISthZ(eAlQB!=T3?TQc1Q?FL(dwlZi-3>Tc1M-F~iyG-$ zd^Fm*$Znj++}BVFS9Q?b^O;xV6lae3e)j^DYsq|w^V*~dk*dpaIE#;A)&F5|oglu{ zL~2nH??O5;iEbd*kyB(QQi){ka1a&T#Gjpzn(syik)`dS6ixg)>E8-y+2-#QvSTYA ARGS @@ -115,10 +124,47 @@ Dev.Detect >STYA ARGS Dev.ParseArgs >LDYA ARGS >STYA ZPArgPTR lda (ZPArgPTR) - beq .8 + bne .1 + clc + rts +.1 stz ZPhParity + stz ZPhControl -.8 clc + >LDYAI 256 + >SYSCALL getmem + bcs .2 + >STYA ZPParityPtr + stx ZPhParity + + >LDYAI 256 + >SYSCALL getmem +.2 bcs .90 + >STYA ZPControlPtr + stx ZPhControl + + >PUSHW ZPControlPtr + >PUSHW ZPParityPtr + >PUSHW L.DCB.STOP + >PUSHW L.DCB.DATA + >PUSHW L.DCB.BAUD + >PUSHBI 10 5 x byte PTRs + >PUSHW L.SSCANF.ARGS + >LDYA ZPArgPtr + >SYSCALL sscanf + + bcs .90 + +.90 lda ZPhControl + beq .91 + >SYSCALL freemem + +.91 lda ZPhParity + beq .92 + >SYSCALL freemem + +.92 lda #K.E.SYN + sec rts *-------------------------------------- CS.END @@ -132,6 +178,7 @@ MSG.DETECT .DO SSCIRQ=1 .FIN MSG.DETECT.OK .AZ "SSC Installed As Device : %s\r\n" MSG.DETECT.KO .AZ "No SSC Found." +SSCANF.ARGS .AZ "%u,%d,%d,%s,%s" ARGS .BS 2 *-------------------------------------- FD.DEV .DA #S.FD.T.CDEV @@ -569,7 +616,11 @@ DIB .DO SSCIRQ=1 *-------------------------------------- DCB .DA #S.DCB.T.COM .DA #0 FLAGS + .DO SSCIRQ=1 .DA >9600 BAUD (DWORD) + .ELSE + .DA >115200 + .FIN .DA #8 DATA .DA #1 STOP .DA #S.DCB.COM.P.NONE PARITY diff --git a/DRV/X.U2.DRV.S.txt b/DRV/X.U2.DRV.S.txt index f02cf21d..8826e8a0 100644 --- a/DRV/X.U2.DRV.S.txt +++ b/DRV/X.U2.DRV.S.txt @@ -521,7 +521,7 @@ READ php lda #W5100.AR.S0.CR.RCVD sta W5100.DR,x -.8 ldx #$ff SELF MODIFIED hMem +.8 lda #$ff SELF MODIFIED hMem plp clc diff --git a/README.md b/README.md index 18ea6ad6..98a5b620 100644 --- a/README.md +++ b/README.md @@ -291,8 +291,8 @@ note : '$VAR' does NOT expand Variable | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | | Console.DRV | Working | ANSI support in Progress. | 0.92 | -| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9.1 | -| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9.1 | +| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.92 | +| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.92 | | PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 | | Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9.1 | | DHGR.DRV | Working | 560x192 Mono/16 colors Mixed-Mode support | 0.9.1 | @@ -348,7 +348,7 @@ note : '$VAR' does NOT expand Variable | ARP | Working | dump ARP cache, setup a static ARP entry | 0.92 | | DNSINFO | Working | dump DNS cache, setup a static DNS entry | 0.92 | | PING | Working | | 0.92 | -| TELNET | In Progress | | 0.92 | +| TELNET | Working | | 0.92 | ## DEV tools: | Name | Status | Comment | K.Ver | diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 29c8209d..f0cfb3fd 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -63,13 +63,6 @@ CS.INIT ldy #S.PS.ARGC >SYSCALL GetArg bcs .9 - >SYSCALL ExpandStr - bcs .9 - - txa - - >STA.G hBinName - lda (pPs) ora #S.PS.F.EVENT Now accept events sta (pPs) @@ -124,8 +117,8 @@ CS.RUN.LOOP bcs .8 unable to send greetings...reset.. - >LDA.G hBinName - >SYSCALL GetMemPtr + lda #2 + >SYSCALL GetArg >SYSCALL ExecPS .9 rts @@ -219,11 +212,7 @@ CS.DOEVENT lda (pEvent) .9 sec do not discard TIMER event rts *-------------------------------------- -CS.QUIT >LDA.G hBinName - beq .1 -* >SYSCALL FreeMem - -.1 >LDA.G hDEV +CS.QUIT >LDA.G hDEV beq .8 >SYSCALL close @@ -267,7 +256,6 @@ IAC.VERB .BS 1 IAC.OPT .BS 1 IAC.SB .BS 1 hDEV .BS 1 -hBinName .BS 1 TimeOut .BS 1 DS.END .ED MAN diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 9a0b0583..7673cd25 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -85,12 +85,14 @@ K.GetDev.9 rts *\-------------------------------------- K.GetDevStatus jsr K.GetMemPtr >STYA pFD + >PULLW K.S.IOCTL+S.IOCTL.BUFPTR - jsr K.IOCTL.GetPDrv - lda #S.IOCTL.STATCODE.GETDIB +K.GetDevStatus.I sta K.S.IOCTL+S.IOCTL.STATCODE + + jsr K.IOCTL.GetPDrv >LDYAI K.S.IOCTL @@ -113,7 +115,7 @@ K.MKDev >STYA .1+1 ldx #S.MEM.F.FD jsr MEM.GetMem.YAX bcs .99 - >STYA .2+1 + >STYA pFD phx ldx DevMgr.DevCnt @@ -123,17 +125,26 @@ K.MKDev >STYA .1+1 pla sta Dev.Table.hFD,x - lda #0 TODO Irq Flag - sta Dev.Table.F,x + ldy #S.FD.DEV-1 - ldx #S.FD.DEV-1 - -.1 lda $ffff,x SELF MODIFIED -.2 sta $ffff,x SELF MODIFIED - dex +.1 lda $ffff,y SELF MODIFIED +.2 sta (pFD),y + dey bpl .1 - lda DevMgr.DevCnt + >LDYAI K.IOBuf + >STYA K.S.IOCTL+S.IOCTL.BUFPTR + + lda #S.IOCTL.STATCODE.STATUS + + jsr K.GetDevStatus.I + bcs .99 + + lda K.IOBuf + ldx DevMgr.DevCnt + sta Dev.Table.F,x + + txa inc DevMgr.DevCnt rts diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index 33c95fb2..bf2f4efe 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -266,7 +266,7 @@ K.IOCTL jsr K.GetMemPtr >STYA pFD - jsr K.IOCTL.GetPDRV + jsr K.IOCTL.GetPDrv >PULLA tax request diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 7b6a465a..a6709a1c 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -710,6 +710,10 @@ MEM.PullP1P2 clc >PULLW ZPPtr3 .9 rts *-------------------------------------- +MEM.SPtr1PPtr2 >STYA ZPPtr1 + >PULLW ZPPtr2 + rts +*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.MEM LOAD /A2OSX.SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index e2289a38..c4a007f4 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -935,11 +935,14 @@ K.SScanF.GetVAL jsr K.SScanF.Fwd Y=char count parsed K.SScanF.S ldy #$ff .1 iny - lda (ZPPtr2),y - sta (ZPPtr3),y - beq K.SScanF.Fwd - eor #' ' + lda (ZPPtr2),y Get char in string to scan + sta (ZPPtr3),y store in param ptr + beq K.SScanF.Fwd end of string to scan ? + cmp (ZPPtr1) match format next char ? + beq .2 + cmp #' ' is it a space ? bne .1 +.2 lda #0 add \0 to param ptr sta (ZPPtr3),y K.SScanF.Fwd tya Y=char count parsed