From 091a515f4d33bc66ed1d233e77b1b8649c8c949c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 15 Jun 2018 17:15:48 +0200 Subject: [PATCH] Kernel 0.9.2 --- .Docs/KERNEL.md | 19 +++++++++---- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/NETSTAT.S.txt | 21 ++++++++++----- SBIN/SHELL.S.CSH.txt | 50 +++++++++++++++++----------------- SYS/KERNEL.S.CTRL.txt | 2 +- SYS/KERNEL.S.MATH.txt | 1 - SYS/KERNEL.S.STDLIB.txt | 57 ++++++++++++++++++++++++++------------- 8 files changed, 91 insertions(+), 59 deletions(-) diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index d49c6f3c..ea7822c7 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -617,7 +617,7 @@ Convert String to 32 bits (unsigned) int # C `long strtol (const char* str, char** endptr, int base);` -`unsigned long strtol (const char* str, char** endptr, int base);` +`unsigned long strtoul (const char* str, char** endptr, int base);` # ASM **In:** @@ -629,15 +629,24 @@ On stack (long) # AToL Convert String to 32 bits int + +# C +`long atol ( const char * str );` + +# ASM **In:** -+ PUSHW Source String (C-Sring) -+ PUSHW PTR to target buffer DWORD +`>LDYA str` **Out:** +On stack (long) # AToI.YA -Convert String to 16 bits int + +# C +`long atol ( const char * str );` + +# ASM **In:** -+ Y,A = Source String (C-String) +`>LDYA str` **Out:** + Y,A = Int diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 543a732e69b861bebbff45622fe656dfe76b1071..d400a099641529c4e54bae82a6aee642a68cdf30 100644 GIT binary patch delta 2347 zcmaJ@dr(tX8o%e<1i~Ybg4Ot_e%C}uBqTBM5n-XYSO>Zk5L4aSZ4J7%adfmkst92S zvm~pm%z#+0-6?t-3A0gRFW?g09d_$(twjGYj*r=fkb=6gc6Mx9d`=(iIiWM#ncdlB z=6vV-zTf$MkMo%8befz_lXyWQxvHL((s@yGjJ>MP=(I`IL?#XVR{A|6o|);L2a-D! zI~ZoKN}Z`HejNj%T6f~{Kb5>e*=A(3si6O;^>gbZ+7?GLk=Zq*nb6^w# zw>%eo2r~a-gVX#&BRZS>e#9v$1AE}3MX1k6g4J$BJJA4teIv?6X8zlasDWtvHlbR| zAKrx4{W26>+(|qb|2c zK`cs}rCsS_TkuZ_=p0HTV)|x$nDH^2SpiWZg7T$W;Qff0v0h-$cQKzv4o40s<~_Fm z)F=qk5i3pR!eK@XyU&X|^ z>tUFGrouT%1o{Hp=NG7P^Ni+E=d=T%xvlZp&^&s1h)E9`LQkQYA5!DpgfCSix}pWtX8H(!7yjwHhj)K;eKyA zXZo}0@1|>}5z{NC8q-?SdefJt?@UJ3jYa-ND^wdyh8%xxmga%xu4ZnINpm;ntmbOY zN4YiT@AZ>tN~;?2LPuhn@BhySQMHGcMRe*$kK^f(5)BckYo%N zCYXFpWIqRW0@D|Z%Y*WGO2^&dk0(Q4J7avtV*D0O;C0I@gmi3PXGeg+<0|7OKLknYL@o5Q2 z28GNB>Jo)GZ&EFVG*vnkg!IL?pKQ#L`~so5BTR$6K@*-!cQqMy>%~gvoZh|Q-v{uC zPFw+J^28UNsZd}Pmq0JRe? zw*4gSU8``QBP=vu3yau!m}20WUW`$9i}Q1;8`+9ydj8~6oTs>AaLQfdEn~t#A43ux z;-gEkttQ8pcw2li`oeU_y!SkNff*7D1P8s79pT}Rn?sLC6H}@Gzp!-_oADp4lVJJd z%kYwyt{5!ByF0^T#TF!%3H$oOWkLfvX_m$tW^tMDF45tNp}ymbVX|3tWQ;J^*#5|V zpJ|`oHsiVn+qc#|9 z9{FgNIWE1dcxtgJZBP)%E5l0=%HeCv@rg7>*xC`UNKp~d^D@SAETs0yl$&KP5??l0 zf#=AQ)lqYFd(^?JteBHejI4|NEOK)sJHjxNfz?**K|O2n9J%-Qp_8}0Ka_bV%lz4c zyYK|dh9M`Au@`@X(rR~MCRdZEHFj#>iVzNg4sD3?#UU#%>)mRD7-k;|vNrB!RH%S}a_cI?(v zmm5sl!l?lET_nWYoA+$8*Y47216?(eO60am+*YaEn&h@7yR9;}HN|aBbz9SVtm(Rc E1C?gDGynhq delta 2335 zcmZ`*du&tJ8NcV)PMpWZCOqu&>US3t9Af7>Hv~+hq+vYd&ZZ1ZBf-OjwWWx8g<4A3Cj$tCb&S;Qgtmm=dx-4 zthV%h=ls6k_db>!2nd0Ipj_7L|72scJ3iE()LpSH=nxGyqU{4m4c{RB72Bej9mmo` z=9d`eK(5V{%lwUD-nC_$2J(#qZ=3HU#%0T&Ls1yAIm`q9JmXC_`R6c)zGpRSD2X_* zvF9E#J-Lp6OK1ECv=3}Nw>k~o@8}pTL;jAdgA37L2JQ}ScOc8ahRJo$pi|Nt4m63U z$D}$ZS~+|BxMGMrs`}BC2oJ`>BLM?Z(uYp8j4+~KJ5e^q1julqI_mOE7b>RrAs2F* zy2l_o8onGsV0u@CQ_|-yG?;!o8PI#+x#;;K)aN3}d^^xS)Gb}xftH{=>FXV+f!q$( zARmpNs6kuaYl6Gi`;)0;P_Ict*HF7&MqL*}dQk&{nrzYJkR~relnKv;j7woN5mwRN zW`&^?HGw;+WbeZ5`Uta2CnFL9exHhDy5Ts%pOtkNJDCu3%>2+V26ad9W5aqyf2OnR zl-Q5e0`RAlJoqdb?35o3_hHpSfgDd*4@nYWB>vEE=nQrSrmUjhEfU^iRxbP`r7U_D z{vf5xjCTkDo?W(XaCH zA&hoL4?3_ly=jV9cE%3Hv*A3iJO`cp*~T*vW8=E2JG=+F9DXQtwWY;!)rvq_PaX8W z2JnGHF}BL}p+sXNfTNHsk;H&lS^NpO!z;7Fm9hNz_bF5nYlyFeiNZDuy$N!C zU*ar$vQ)804#81g;lwb4ESEBu&~�pObdfR@FEX|BRqkktT1Hq3S5_k@xi_h==^L zru+ob80$#i!4ws@9@9zXiX{f|Sv22_o_gqQ(E8Rjz7AS1|JN?9EW!Cr#I%OER#4Yc zGCgHE8B&`QK6WZR?P^J^RGmkr^&}~$v}i__Oe=$+q=p8!RyO5($zZDcC*+2! ziFg$$J~a`?smcBc)k%F<_D{r2YMN#(q~|8G$~%0_5jPPP_-krHO`~iw3z9B_Ow{l= z0~t!>HL{h{&Zp$&P=aRKMyp*!SDFro3zZFl1w99#_aMM!hq4OJ6(~;!GGVPtDS;JE z#YH^|V)?3v^s@%$6VIM%=>5TJfR7!@EV;QaVV>Elh3;_@ZreL_aINyOP(p6Lnow|{ zopM0WD=BI|61YL{E?t$Lm%5kZ0`n*zV1tuKCgfj57*gP{G`Sp$qBFvLlx$B%QdD-` z(xi3{9{}c(QXx0epJ*sC{C;zMT8w0Bo zQSjgrgo>msmH2e`dW@rN6<%OWw~XhF`^NW5E-&WTyVutzh2$sK=O!8EessGRhY{O# z^Y}YAyT0{wJ@WL<>fVAEMA`lLflm6Vq+@3=^3Owws*GH!peU+4fbXLVb=WBEoMITp zj2WgJs$mp9g(7}#S$6mR|#eW@P+@f3TRik5PaW0a+ zX+~L5V-J29jIx660b)rt^aH2H;M{2UGTl>Ac8~5$)M3VKRR6N>Um01x{g_!|FDT?I z)?BF9O`{8qx=L&Gnb&o{L(y;F&}}X?BgDL!n=?!M=Rp5XM15CvrvuyBwW~cFVY7GD zCNKNqo?7tvN?Gkt17%P|&TKBcu&cJl@7r(BFJ+(Kz1LR@)s&QXO9Pn%kX74NZ>PlW9Y>;4+-fr2wch3t@SyogE|E1RKsVysx_HWW}piRta@#77 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 056e61b4620ac31e2671a4bfdbdd32ab225fa719..52ed3b9a9e7775f8e9da8239dee519a35c67d6b7 100644 GIT binary patch delta 14475 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 diff --git a/BIN/NETSTAT.S.txt b/BIN/NETSTAT.S.txt index d822fad4..7e1cab36 100644 --- a/BIN/NETSTAT.S.txt +++ b/BIN/NETSTAT.S.txt @@ -19,9 +19,9 @@ CS.START cld .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA 0 - .DA CS.END-CS.START Code Length To Relocate - .DA 0 Data Segment to Allocate - .DA #16 SS + .DA CS.END-CS.START CS + .DA DS.END-DS.START DS + .DA #64 SS .DA #2 ZP .DA 0 *-------------------------------------- @@ -66,7 +66,7 @@ CS.RUN >LDYA L.MSG0 >STYA ZPPTR1 lda #K.SKTTABLE.SIZE - sta SocketCount + >STA.G SocketCount .1 lda (ZPPTR1) beq .7 @@ -110,10 +110,10 @@ CS.RUN >LDYA L.MSG0 adc /S.SOCKET sta ZPPTR1+1 - dec SocketCount - bne .1 + >DEC.G SocketCount + bne .1 A=0 - lda #0 tell TSKMGR that all done ok, but +* lda #0 tell TSKMGR that all done ok, but sec we do not want to stay in memory rts *-------------------------------------- @@ -147,7 +147,14 @@ MSG1.S.8 .AZ "FIN-WAIT-2" MSG1.S.9 .AZ "CLOSING" MSG1.S.10 .AZ "TIME-WAIT" hLIBTCPIP .BS 1 +*-------------------------------------- + .DUMMY + .OR 0 +DS.START SocketCount .BS 1 +DS.END + .ED +*-------------------------------------- MAN SAVE /A2OSX.SRC/BIN/NETSTAT.S ASM diff --git a/SBIN/SHELL.S.CSH.txt b/SBIN/SHELL.S.CSH.txt index 94180bff..a3e17d8a 100644 --- a/SBIN/SHELL.S.CSH.txt +++ b/SBIN/SHELL.S.CSH.txt @@ -349,7 +349,6 @@ CSH.ULONG lda #CSH.T.ULONG CSH.FLOAT lda #CSH.T.FLOAT CSH.TYPE >STA.G CSH.ACCT - jsr CSH.GetChar bcs .9 cmp #' ' @@ -421,34 +420,34 @@ CSH.FnEval jsr CSH.GetCharNB .2 lda (ZPPtr1) beq .7 end of list, go check no more - jsr CSH.ExpEval + jsr CSH.GetNextCharNB skip '(' + bcs .9 + +.20 jsr CSH.ExpEval bcs .90 lda (ZPPtr1) cmp #CSH.T.VARIADIC - beq .3 + bne .3 - >CMP.G CSH.ACCT Match with ACC ? + bra * + +.3 >CMP.G CSH.ACCT Match with ACC ? bne .99 -.3 - - - lda (ZPPtr1) - cmp #CSH.T.VARIADIC - bne .5 - -.4 jsr CSH.GetNextCharNB - cmp #',' - bne .7 - jsr CSH.GetNextCharNB - bra .2 - -.5 inc ZPPtr1 advance to next arg + inc ZPPtr1 advance to next arg beq .7 inc ZPPtr1+1 lda (ZPPtr1) - bne .4 + beq .7 + +.4 jsr CSH.GetNextCharNB + bcs .9 + + cmp #',' + bne .9 + jsr CSH.GetNextCharNB + bra .20 .7 jsr CSH.GetNextCharNB bcs .9 @@ -473,7 +472,7 @@ CSH.FnEval jsr CSH.GetCharNB CSH.ExpEval jsr CSH.ZeroACC dec A=0 >STA.G CSH.EXPBOP1 - + jsr CSH.GetCharNB bcs .9 @@ -653,24 +652,23 @@ CSH.GetNumInACC >LDA.G CSH.ACCT bcc .1 >PUSHWI ZPCSHBufPtr - >PUSHW ZPCSHBufPtr - + >LDYA ZPCSHBufPtr + >SYSCALL StrToF bcs .9 >PULLF.G CSH.ACC - + clc rts .1 >PUSHBI 10 >PUSHWI ZPCSHBufPtr - >PUSHW ZPCSHBufPtr + >LDYA ZPCSHBufPtr >SYSCALL StrToL bcs .9 >PULLL.G CSH.ACC - - + clc .9 rts *-------------------------------------- CSH.ZeroACC lda #0 diff --git a/SYS/KERNEL.S.CTRL.txt b/SYS/KERNEL.S.CTRL.txt index 1d1c486b..438c76d6 100644 --- a/SYS/KERNEL.S.CTRL.txt +++ b/SYS/KERNEL.S.CTRL.txt @@ -8,7 +8,7 @@ AUTO 4,1 A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX A2osX.GP.S .EQ GP.End-GP.CodeStart -A2osX.GP.SC .EQ GP.CodeEnd-GP.CodeStart +A2osX.GP.SC .EQ GP.CodeEnd-GP.CodeStart A2osX.D1.S .EQ A2osX.D2-A2osX.D1 A2osX.D2.S .EQ A2osX.E0-A2osX.D2 A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0 diff --git a/SYS/KERNEL.S.MATH.txt b/SYS/KERNEL.S.MATH.txt index 00fbaac8..807b1cdb 100644 --- a/SYS/KERNEL.S.MATH.txt +++ b/SYS/KERNEL.S.MATH.txt @@ -76,7 +76,6 @@ MATH.Go jsr GP.ROMCALL sec sbc #5 sta pStack - sta FORPNT lda pStack+1 sta FORPNT+1 diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index 0f309d87..7557c0ee 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -13,13 +13,16 @@ AUTO 4,1 * **Out:** * On stack (float) *\-------------------------------------- -K.StrToF jsr K.AToF - >PULLW ZPPtr3 +K.StrToF >STYA TXTPTR Ptr to source string + >PULLW ZPPtr1 + + jsr K.AToF.I + lda TXTPTR - sta (ZPPtr3) + sta (ZPPtr1) ldy #1 lda TXTPTR+1 - sta (ZPPtr3),y + sta (ZPPtr1),y rts */-------------------------------------- * ## AToF @@ -32,15 +35,25 @@ K.StrToF jsr K.AToF * **Out:** * On stack (float) *\-------------------------------------- -K.AToF >PULLW FORPNT Ptr to dst buffer - >PULLW TXTPTR Ptr to source string - jsr CHARGOT +K.AToF >STYA TXTPTR Ptr to source string + +K.AToF.I jsr CHARGOT ldx #ROM.FIN +**** DUP code in MATH.Go **** jsr GP.ROMCALL - + + lda pStack + sec + sbc #5 + sta pStack + sta FORPNT Ptr to dst buffer + lda pStack+1 + sta FORPNT+1 + ldx #ROM.GETFAC jsr GP.ROMCALL + clc rts */-------------------------------------- @@ -48,7 +61,7 @@ K.AToF >PULLW FORPNT Ptr to dst buffer * Convert String to 32 bits (unsigned) int * # C * `long strtol (const char* str, char** endptr, int base);` -* `unsigned long strtol (const char* str, char** endptr, int base);` +* `unsigned long strtoul (const char* str, char** endptr, int base);` * # ASM * **In:** * `>PUSHB Base` @@ -60,7 +73,8 @@ K.AToF >PULLW FORPNT Ptr to dst buffer K.StrToL sec Signed .HS 90 BCC K.StrToUL clc Unsigned - jsr MEM.PullP1P2P3 + >STYA ZPPtr2 + >PULLW ZPPtr1 >PULLA Base jsr K.AToL.I @@ -68,25 +82,28 @@ K.StrToUL clc Unsigned * clc K.StrToUL.Exit adc ZPPtr2 - sta (ZPPtr3) + sta (ZPPtr1) lda #0 adc ZPPtr2+1 ldy #1 - sta (ZPPtr3),y + sta (ZPPtr1),y K.StrToUL.rts rts */-------------------------------------- * # AToL * Convert String to 32 bits int +* # C +* `long atol ( const char * str );` +* # ASM * **In:** -* PUSHW Source String (C-Sring) -* PUSHW PTR to target buffer DWORD +* `>LDYA str` * **Out:** +* On stack (long) *\-------------------------------------- *STDLIB.32 .BS 4 32 bits max STDLIB.32 .EQ FAC 32 bits max *-------------------------------------- -K.AToL jsr MEM.PullP1P2 C-String in Ptr2, Dst buffer in Ptr1 +K.AToL >STYA ZPPtr2 C-String in Ptr2, Dst buffer in Ptr1 lda #10 base 10 sec signed @@ -98,7 +115,7 @@ K.AToL.I jsr STDLIB.GetDec ldy #3 .3 lda STDLIB.32,y - sta (ZPPtr1),y + >PUSHA dey bpl .3 pla @@ -107,10 +124,12 @@ K.AToL.I jsr STDLIB.GetDec .9 rts */-------------------------------------- -* # AToI.YA -* Convert String to 16 bits int +* ## AToI.YA +* # C +* `int atoi ( const char * str );` +* # ASM * **In:** -* Y,A = Source String (C-String) +* `>LDYA str` * **Out:** * Y,A = Int *\--------------------------------------