From 9d9e3cda4ec52baa33f693be89fe157d11659203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 28 May 2018 08:00:45 +0200 Subject: [PATCH] Kernel 0.9.1 : KERNEL, Extending SScanf --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ARP.S.txt | 25 +++++++++++++++++++++++-- SYS/KERNEL.S.STDIO.txt | 8 ++++---- SYS/KERNEL.S.STDLIB.txt | 7 +++---- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index de80fcdaee8fcf9fe02e5883e26f55906ef82278..2695627e5c4169a004fc31da7ce99d86df74a052 100644 GIT binary patch delta 3263 zcma(Ue{@sT`Q7_o+O&i={4`=)E=g^%q-kjp182bMP(v3z2#AUte71$99^h;{FwWti z&Dm(JT~k|n=A*9dvZswa%)_)r>JPdp1xy3#Ynmo$lD@!zs%K|4Qxw#>?B3UEncW}D zP40K!_kH*K{oVUwx0l%MC7wGOpli)z{>Z$OyDGi)9P?LY(Oa)t1@I~_t@T{W#ybOB z?%TYDn*LYZHmECY3g+DsO`t5d&Y0M%>OsE=w_(bO~grCLHnL~`%OR}yL3 zh4*7@LB=iE6ZfWo4Xv#w*MK>#LnpJrir&vo?l6MAy$@Y3D_=Mf{JAs{B!iWHD~WxQ z`;=rY;JTK9=jKfWuT9ZzNM940)xfPYf(7^5|Bb$sQG2i_HXd_~4k;iq38IrAHpHJ5 z(oyDLnpYY}hqT4QfJ3Ck$dKa%?T!wKF^)HaqO6NU$Q$(R;JpHkSv`-4uhUN0LOEWe z#Zm4bMqmP?Tvj2-%EydjLpC!@;)ASlM~)w5UaJL%DJSTr(vKhdV(4o;=5tRLf+aa` z#62n@X?^r6i&=S}U5!EGCO>}x#e>dGTxTKBE!^a1DO66VDgrJL7f_tLSO|>st#QoA ze;@#C6N{;Y<}v{YF+)Z%Sd=>8AM^+OGFMa#9$qua{gD8P2YM%b%T2eH57%pN@I#Zh z3|Py9$hC|ztNIrQ4w(YgpbBh&>)~!@KVt(HxHd37)(6%HEa+g&&REa}?!9%0?a=xjypMNI`IMuy|zM$kvg&gKL5tgPWC_u%JaFwq})LAFocg2*uSDYU5rg z0ZpKd%PGa0+qj2If$8?PpjW~%Aud=@LC|Jbys@A%?r15+ihVd)eY~;Ow5_Eh0WDJ-BTIHlxBLODtuH|tv%NKH`K$e zM(_^J%TcdSy54|Zj-qYcQwXkKwj%nWEu5I$1u}+r@&zgV@LN6@rN|9pfP7fEPY>0L7i+^J1WrUV@F~_jxsMnZtf*LTw8n~>ddq~ zpR^=Wx|uZ8!ektXN{s11)K)KjV#7{l9>+&0gJt8a-N3>*wE-Hy7-uxV^4s%b9?ed8 zgb}Env=g*2EP8ufNH?Q{+zSS%t2r3+Ft2oUb+Wi8mm%A@Cl7^VwH?kR>B-v&Vy=Z} zkPl1oNjGh(j@l0URUJ!8JRFXnKaw}jz4sKQZL=$igMwvZmSrx&##wq8WMM)iZNe5r5P-e zZlVgVFBd*pb4EtrN}gvO12TF*_SCq2vUou@o{_cbUMY2v#0VGdPm?0t=@^t7y>e5D zEDp*fl%jVMT$lvDNid)QwAt@5HkxEdv5eLz(iZAOlf1_(JC?~}vAkzcb{OUMWYSra z6q3Bsq$M)Rvqi*)C|6qhS-Jh3+I*?21zZzp8*;IPLm zo|k98FH0u(Sy?2mO^cx#tg5kG}0I38eh~x;ZAU^g&BPsD>SFod>*U{ zHHJbVVxT(wba-rN+Fl@KNT;PY@oUM~62X2ejSX$~Z}T_%JN*w1>xK^vHw+W}-uN@| zH{<8y6m>><-X0)>P$)_qs~@{4f2NGFs5ypW15qYMQJ3%!NO|1ABXEsoZM-bLKK?+w z9E)&mg;{-?U&HIP#`wE;@fU5KhYA*+`VCZP)I0}gQCdh*d1x)#q2Hr_PJcw-srTrk zdX<5q+&U!Qj`*X9>i48O3JpEMGHh9qXd;PVV;&FtJS?lI{qx48O-XX{YIj2e%%H2E;#xnS~mByAXBv%v85>ChG2) zs1-9&r87}K@qDF!-7eCfsK77gTs)LZp zLE>Vrv=;uP3?Xp|iYWem({+hlYnSk)a@i;Kkh`@fpiOg{yCVsDbql_@L@ekfYzI!Z zSytfm^fAAr|3y|z{?#A-ci3;B2J&Z9Q~w>5B~7XGdjT8)b^GYLeN5dxRo%XnQ~OfY duD)UyEfG0O>$22!S!s1y>2+DNTv?i`{{ZiW3F`m= delta 3032 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 OD;Z++m5d42=Klj?d00UJ delta 4279 zcmZV>3v^TE`TNs*!%c2qX_BT7N(m`_q~$hATcA}6Aq`k)AvCQ}>VwdxQY>w01GI{U zi-Y20Ajb7KPB$I1d$%9EW&MU#A>wZD>-jtH5?5dA+NDYk07` zw||@6ZU@85;Cx^x+zG-f5Fd;T0e=$WU_1rVeA?OD3F2vxYAIgq1mTz9e6e^Ao+{s!?-7qfO}!$boSmlb$PJTe@D)WsyeKD=3$=GTJYBZ@X<4YYJGDb4f~ zv~meSD!4Ccv+gC5Jw=7B+!8@x7Dt>reLlHP9@^5`86Fyf5}tMcmDvZFOH`0M337wER0VmGAW!UMQz5-@FvS>~abOy$poMi@wnvYG`Xl!F6yyWN6LJ)6Q zN*F$$*LRIyNuS%1o^@|*1W}~V+rhjtc7d~sGDuY_i=7G!XU-j0vS8^UeoNzlp4`QF z?4~zd;Bv{RLS_{9s2#N=*-|8-VaVwRG~oPjBN>^2j4J!_O6t zf5GXN{Xk2sWTs~wP)oFQpdl0qvA!w(5QVT5t_8zm%sbd$vc{8bCy6!tN3`i(uE_Lb zP2x|qw)0b3`K8gO%Y8gHa4IMFXQ~5)pKDmZP_YUQ#uj;}>z)Am=qiIb`sC%zg{L(9 zLn^-IX_#7`d)T&PdggLVCa$m~F=>hLtg4Ce@MNPrqVhIAX9R44{uK>S@H`#($dIoq zJW8Mcnk&$`k5Td-?;^%9$(Y-5==JgyQRfJ8RL9hWtDmY8iG==)!Whv znJ?ov>zjKSPBoZbQO=l>_c6d+Fr5S~1_}Vfe2P&sJ%rN>FIp}JY|Gx3mNCs)seVEUCg8s5UvW0DYlT`eevVJqNi7o> zFc-$Z;w>aZO?MJY!knpppG;)w$+4^s&15(F@H(_vx?b68sr0Ho%X9+*#2Yc&Tw`oM z_pGC~+(lW%fojn{sX@lZz`ovX_V{klRZ$&ggTZn{Y`F zjR4<=ERFrRek=KF9#HdkG83@XZPtSCfwaM?Nimf40q_yVWDDCjS=;Bg;?cTIEs@Zq zN!T{c!^s*5sD;XkU_|4OMR1FnIl`@K6^Yw55jdA_V+qN7?kU>L6#a&%k6 z6W0nD_BFzGox5t{tZ*@7;%#AdTQvKS%5=(`5Q8s1%|?>4p_-GeRoVQN?K%y6YX~1e zjw06*;IX@c;js3u%X%*Pn$zB{koCOU;U@)vc$6{6d52G3=dsJ*y0}ukfcM%{_{INU z@2)e9*BRev))=FUEpJ@L8ezhli~@iEuB}UNY0R+Sy^Wd*|G*jEiwW`$9%j8uoAX3F z`4{ca6AQ`vbYGrWU_FNesK0m0^BeX2fWDL`nrlA1{HhA_|E9?_WPOo%l`*)tmo;fe9>a~T%9F(U(mjMF?Zz!7EjjhCw<2Z x{4X;M^Xn@#OnsOOU#lb2a1or9>|tmA2Jk^CPkGvb3&`l}`C{Vr{8VSx{{ZY?^M3#U diff --git a/BIN/ARP.S.txt b/BIN/ARP.S.txt index 809ec828..46c0b569 100644 --- a/BIN/ARP.S.txt +++ b/BIN/ARP.S.txt @@ -64,7 +64,7 @@ CS.RUN ldy #S.PS.ARGC >PUSHW L.SSCANF.IP lda #1 >SYSCALL GetArg.A - + >SYSCALL SScanF.YA bcs .9 @@ -117,8 +117,29 @@ CS.RUN.QUERY jsr Init.Timeout .9 sec rts *-------------------------------------- -CS.RUN.ADD +CS.RUN.ADD >PUSHEA.G DST.MAC+5 + >PUSHEA.G DST.MAC+4 + >PUSHEA.G DST.MAC+3 + >PUSHEA.G DST.MAC+2 + >PUSHEA.G DST.MAC+1 + >PUSHEA.G DST.MAC + >PUSHW L.SSCANF.MAC + lda #2 + >SYSCALL GetArg.A + + >SYSCALL SScanF.YA + bcs .9 + >PUSHEA.G DST.MAC + >PUSHEA.G DST.IP + >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.ADD + bcc CS.RUN.DUMP + + rts + +.9 lda #K.E.SYN +.99 sec + rts *-------------------------------------- CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GETCACHE >STYA ZPPTR1 diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 2b2459e5..a822b798 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -173,8 +173,8 @@ K.GetC.CDEV ldx #DEVMGR.READ .1 jmp $ffff *-------------------------------------- K.GetC.SSOCK lda (pDev) #S.NODE.HANDLER - jsr K.GetMemPtr.A - >STYA .1+1 +* jsr K.GetMemPtr.A +* >STYA .1+1 * ldy #S.NODE.SSOCK.READ * lda (pDev),y @@ -183,7 +183,7 @@ K.GetC.SSOCK lda (pDev) #S.NODE.HANDLER * ldy #S.NODE.SSOCK.HSKT * lda (pDev),y -.1 jmp $ffff +*.1 jmp $ffff *-------------------------------------- K.GetC.FIFO */-------------------------------------- @@ -719,7 +719,7 @@ K.SScanF.U pha Save VAL size *-------------------------------------- K.SScanF.HH K.SScanF.H pha - + jsr STDLIB.GetHex K.SScanF.GetVAL tya Y=char count parsed diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index dc6026e7..487f26db 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -176,7 +176,10 @@ STDLIB.GetDec jsr STDLIB.32.Clear jsr MEM.IsDigit bcs .8 + phy Save Y, pointing to next char jsr STDLIB.32.T10 + ply + bcs .9 lda (ZPPtr2),y @@ -212,8 +215,6 @@ STDLIB.32.T10 ldx #3 jsr STDLIB.32.T2 STDLIB.32 * 4 -> STDLIB.32 bcs STDLIB.32.9 overflow!!! - phy Save Y, pointing to next char - ldx #0 ldy #4 @@ -226,8 +227,6 @@ STDLIB.32.T10 ldx #3 dey bne .2 - ply - bcs STDLIB.32.RTS overflow!!! * STDLIB.32 * 2 -> STDLIB.32