From 9ccd2a2f9b5ff77e8591587903f0601d579c3f5c Mon Sep 17 00:00:00 2001 From: kieron Date: Tue, 24 Oct 2017 08:46:07 +0000 Subject: [PATCH] Cleanup of terminal stuff. git-svn-id: https://spexeah.com:8443/svn/Asuro@237 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5099520 -> 5099520 bytes bin/kernel.bin | Bin 45284 -> 45284 bytes iso/boot/asuro.bin | Bin 45284 -> 45284 bytes lib/kernel.ppu | Bin 3335 -> 3331 bytes lib/libpconsole.a | Bin 81668 -> 81668 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 147760 -> 147760 bytes lib/scheduler.ppu | Bin 3249 -> 3245 bytes lib/terminal.ppu | Bin 6419 -> 6391 bytes src/kernel.pas | 2 +- src/scheduler.pas | 2 +- src/strings.pas | 2 +- src/terminal.pas | 51 ++++++++++++++++++++++++-------------------- 13 files changed, 31 insertions(+), 26 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index dad63d0d29fd85e41dba5156f4f95df8bba9e502..96aff9d47a04f471d45982660e6fe75afcff5d83 100644 GIT binary patch delta 12045 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 Su5`Hm1lI`D$$J??YX2XxVLMC! delta 12434 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 diff --git a/bin/kernel.bin b/bin/kernel.bin index 196b8a04aa159d9a8248938e3ae8d3c5b254c64a..7d5e3f247ee4fd296cc0f5396bfb0a3c4ad008e3 100755 GIT binary patch delta 2860 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 E--+g^9{>OV diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 196b8a04aa159d9a8248938e3ae8d3c5b254c64a..7d5e3f247ee4fd296cc0f5396bfb0a3c4ad008e3 100755 GIT binary patch delta 2860 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 E--+g^9{>OV diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 3d33f93b372189b5d1475df1d77a916d5fd9d330..811be64689a8fa3bf43c1ffd2e5dcb54311bcb00 100644 GIT binary patch delta 144 zcmZpdYL*fV2naPaHf3pMWMF1E5TL|xd!nE{)7(EBgQ^(W7tPOJBoi&N`7)yrOZ=g-iBSU@!yU-?glw@ubvYBq}aKrb}HnbL!Z?R_WnW%d)41K8? zWb`@iP8$#7xMV2RxHg}$SuE)Tt>@ol3_d%4u;vWh^=-8UfWSnlc89hOy)b<1e2syo zI}N5<2KW8dI;R65nj>g|Q-uLUOC=e;Ont-db@c1$Cq&tC36`HNBMLe7h0SyHanZ`g zr^gqHf9li=MGt|tmnBjaz*4EvEKg6K{@?0a8Ld>81kcOIP|Z-9z});iv!eQUn0eo8 z_Mr8*h$~->MLy2%#I1}+3nw>`GVKDN9ToyXGROS|+k-Xh delta 979 zcmZ8gZ%9*76z9I4mSfc`9(&JKx=ABi!xozE!N8GFF-0C@5Lk#T_F*5SC;|zr75gxv z55k2O2{n?4C~A3D3yd%!C)l7MMqthGL-dy{QV2wPZ}+^nSKsdMcYf!0&pG$p)Eb{! z<42qLj)2nkuw|y9dY~b<47_b+oq-%6yatXIg^dOy!4Kgx#{CHyev47wj8SF02ktjs zH1j3s+3}Mh2)XS{399EF<0f|F0dl@PCaE47lK!iRa=sXxYmXobxh448dCQ_4?6MJB z>9^BM4v|)zO_?A^Ho$7|Fvp70-3GgAZZe47Su;Nd&O>2~_xbQ6L_$OcweKlIAVgmM z!`ledADO@_m{g-G{YZftZz1&Th@B4SMJNwkGnB~~9q68dE3wCn(S+~t3V-4x&e5Nc zU~;H#J!^ouI|;0uxrsJ8pA7k7>_VH|F_O7M$Y#2&)eGN8n$cQFzQvlgXQJN4F!ZIS zk$0I#iXR)LY)XKlf7<_i@V9go08{2CO0Lpl&c89hOy)bn9LXClj zyLF~o2JeGai_-xR%@H)h>B3P&OC=e;On$@eb@c1mCq&sX36`HPBMQ0oh0SyHNzu;6 zr^gqHe=O>SqK`oH%Mz&yV5wAZmZv9A{cm->j8>{gf*0lEsAeclU~Yb%SyBBvOuz3n zd(iq@#FekcA|GdW;a0|@g;SeI8ojhPE;zQ5=uQ@8T>zKqREYWS*iYQj(cXGuugkS> TzdsOY)Bi5jIxHwbGROS|)p0lT diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 6921f6578577a5ec5ad428d41b3796ef3bf6bd94..0ae31bd8ab5c329118d0ed1b520545fb43c79da6 100644 GIT binary patch delta 510 zcmezHi1EWC#tCvP7RJUV8idu}D^W{G?BFw5) zl!d!WeDhWnZ8%SC^Dp&daGu2GJK91hJWa;Qf6e$O%diM-R@2?b$Y%<40>TBG6^u0C z%EdM(nYytcEWK$X#W*=%USRWEtBXi(xoPto?l1Ap@9jB}3=nc&1m}rwKJWG)N#%Jr zpm89#++pI|tl)hD$w+2jUbr@~%~}Dcka&C{i+Evf65D(#F$GD^Bee~Q2M)>k+3=7A VMamAQ$u)UgF#Y127v`O30stQFkoW)q delta 510 zcmezHi1EWC#tCvPW)_yl8idu}D^W{G?BFw5) zl!d!WeDhWnZ8%SC^Dp&daGu2GJK91hJWa;Qf6e$O%diM-R@2?b$Y%<40>TBG6^u0C z%EdM(nYytcEWK$X#W*=%USRWEtBXi(xoPto?l1Ap@9jB}3=nc&1m}rwKJWG)N#%Jr zpm89#++pI|tl)hD$w+2jUbr@~%~}Dcka&C{i+Evf65D(#F$GD^Bee~Q2M)>k+3=7A VMamAQ$u)UgF#Y127v`O30stB7k?;Tj diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 4db4b08a2fec56884478ace8d4d9c8651214c461..b44225411007ddf7f9fe7d54a10033bd52daff6b 100644 GIT binary patch delta 3160 zcmZWreN2^A7~gY)K)F{hruU)_xw$nL1zZLanjoXh_z=nEVmgN6C1C~JK1`>55V}%l z!8)ze2Ps*kmCY+>dMq??e#M7Evlt=Pow*`y$QC0tmCon;zW4V2b$-wDoZoZKbAIPJ zZ=ilcpngK*tcc9CwDbeBABz_QE1J~iTeWT5DfiO@jN0P+qw$gj(KLT90bk}eWl z9?q3eV&zI)Y2`{>DY;V06c_RMvVr834@znVXBbD8OX}A48w<%rb!%_&GLfy7CjeDd zJ4DfO-~!|#=XwtrtX7!}6B?`@6f=U)os<09b&HI=IAAdm=lZ^oOde9W@o=aG6>b!4 zsBudad3e(ih*e@TwZv5CCRufn#unV9bh8z`@`e?Cyv>S^?y#bZ4JPuDd}OU+K4Mj5 zg($+ks%$w;tct5X)K$!BGOJigPVZ_pc2bE>@9Gni_cpUCZflWMqd1q9V8*pB^Si_%1LpnIkOxUx5~4~BrNar!z!;3 zd7Bb>`_f2sbZQjwe-k3~wlS4X-miQT`0mRvOZ)L~OYg~WOYls%Wu!CA(t6HfAOq*+ zy2#KEeQH~LxdZ2~o7u^5->3!M`B@|0f9w~ZHk9BZJAw-FOJ7b(E`Kg33W!QBcN6cB z)})B=UkQouU+Ko4#o!=$SKA?Wo@`_m?fJ)jWc!Gkf*3;EM>@q(*NiHiFstlPTgE!g zRg0eW?hR!j{_$iWjkmRy{NoelCUEctsGz^uK=&?=F~c3Wy$Kw+vS<(7#a1tx)Ti(OUUmJ9ZZ6-D}|X!+$nl270gTJ zru#F%4Y+qcIA}+DxJNg8b599V048>xLU z3>){`g^QkoC3JNjOfyAJ8w+7pgnljEoXQO}_ym}bgp0CynSg((1UtHFpGZB+VXBc` zc*_k!H|<&h6Ab90!=+GfKp*X24VK1;862R!6`-_B+47@hG#@5|5GwuW88|Dq!LMEg zO{xL)VhM~HmXfBEpVyI;9k;p%e5k4J-vH_%$F-efup? z{Zlw8b6T$~J^M}w#te)7#?n0qj)7A?Yi4JWEPuWqI*Z{B$}YaHb@NWWB+7=mK!5Dk z6_hOTEukz7t6Klv!V2V+ZOzQhA12H+zl3If1-lKINE>E0(cx&^etl2hqfkkU4?wew zoDp)p;`D)(X2nC{emXY z5kkYDq-i*-!|19WgN6+i&7Skx&wpB~@a=y1NgQ#!Gm3Wff%;7pPRgA7<%TH>j?1@Lw2CSEY@_Y{xTHLtUlU24EmMg z7&F`{6pwnG(e$-z&<6PNQLTD*3w`v+sP1;WzxXi2osxXlbtAj~rco0%)N-PCbN~~E z>)=k?3a@T9E;=REHf;0;7o9QJ_Nobq`2A1KNEOdVh`?OJhqJS7^1-6T*|wnVKLis< A_W%F@ delta 3160 zcmZWreN2^A7~gY)K)F}J^j_2kjhv~ErLRac6 zn5T96ASH{mvU%l9kA)`AulP`C)*T_%ow*`y$QC0tmCon;zW4V2b$-wDoZoZKbAIPJ zufKkrzkXcfjEIcPx#ek-oWg=TEPXel{ zc8H>5|3%0}vFqJrpju@zOlY8bK+Fg}e_rxy*KIQVQoqGSV%G;kGPz0N#v`E?RJc*F zp~fvyAx??O)Dlyji)7VB8e4FY(#=-%>YG;d@ir?uw!?}pHJHdt@{zTQ`G{4K z6`~0DsX>XwkZE#|JJ zWyTj)OYOn}GJpSP2A_+`rvT00-;L^SIY^?vOD>49Dp zb&S2i+>_IzVrvVB-hK@6eo!=2)&Yetk#m{oSDEu)?0 zszuLw_olKC-&hKe#yeU|zOnIg6FB%HRM6jSpnDg`nBflG-UJR@S_Z`=xF`Z}?aNS& zw?>0%k}N4b6$9#!uZ?%$sj=`iZFYbI@JBIVN`Z&z!)A)4|Hi>A+5Zw^;^>0=;9H3E z{BPqbGDg)}sf0c^1uUn@HknUfi8oAa5+2KiBHAz=K2f#MHq2}tymGWA5mY1DjEs6+-ARUtCFJ*q4kSa^mBP#5>|bkn8>xLU z3>o*^iHn|wC3JNjOff}H8w+7ZgnlhuoXQ0>_#~K*gp;y)nSg((1UtHBA5Y!OVX~23 zc*_k!7wuXB;|%DeL#0q}KriiE4VK1;8SJOM6`-_B+47@hG#{pb5GwuWSvV)R!LMEg zO|Aj;VhM~HmXf9uU(k`19k;p%e5k1&+yLq!#qtedldZ z{Zlw8b6T$~J-0IiV}`|kkv7b1qQlYn1Nxr6N1>7yAB1KZ z%OPg)3>yB?K~oRu)f}dJwQR)d%e{-+v{#VS9Sb30P?D6L&|%bbQnT=(qFH}d`vr}^ zBZP)QNz-snhtX9%1`Qi3n!OjapZ~N};X8fslQ`mp*eKc&0QH+FoRm2a$PH5#9IrKh z5whjhTtO=tE6`=|%XmJYRp>GVL=Beyt^+CiFV>1@Lw2CSEY@_Y{xTHLtX|qY1p1ZY z7&F`{6pwmhqv`9{p$+g8BU<(B7JBK?5#8;0fAM05J0HsDT z=b>G;6&~GeoODu}ZOG^iPC9Ll?KKk;@%x{aktUvx5P>;`4`*lFqJ3Urd59?Mx?SYnxDN$CR$|Ukw!*l21bU- zdCVr0YnX}{88*LXn#|5vHMyB9m{EK3buLA&fB?rJM_(V$;E>67Y$}trxVgm(5{nXZ Yiy0V$l~@@-fRSM_Baqtc!=1_q0I2mK(*OVf delta 133 zcmZ20xlvLuARyGx*p#K2k%5`vK!6fM=R`qQrb(O=BU0Jpo-9{+`upF;BaMvAOpFYZ z^O#L0*Dw_^GHrg(G?|^TZgMkMFr)tD>s*R_A|88pq+jVV+8;l7=N;hN-(}0nzmYOXqtZBDJGIf;k!zyc6S0rH% z4$=64ggGw}A3!28@d1MmHR)@T8FJKtnN@2QCsuH)Zx8-m! zovbtqb&c1V{}PM7)BL9x@PE#y7Vi2dtyOQU8Oju*cSJUjupLB>h%j9#hf7zag0Aa`+>lW&8U<^Nf>b7*%q=6K3q?jk zG3ZLTrd#|33kmYxV+ild4)JE-P0h>rEh)kO3nIVDD3?Vr8VZi2bNT+keap0c6^W*8 zIpnteS#Nt6cByS`_7Rl)rg^yZhnoFAi2Ns`Ts2R=H2c1ECi`p!>2A~*1ywWq`?|y5 zuuBTwl?~z>fDbhfmpqpEqG_|=ZxOA+k9bbBhx;NixFNaLpQ!X3#Jq2#KMuD`rCty} zgooeS1*U#{s#GeJ4-sEzcIU8Om&ahCLiKd-pggf2&C3pnnu=b8-jrd!DrO?NrX6tm zo=D5o(heYWP^I0$F%7QUgEXsHK0HNyC+xN#)^+cRkD^JQ5R1{5X7yi;sSFZtUE;8O zP|F#gK&`&`Ovk{kQEVsB9-njy)8H6=7c0|K n<4(0YW)9)1yVuuduM`p^jYpjmW6p7>d<>IvbG{MxTQ)rg2dx5I delta 1652 zcmb7DO-xi*6u#&2-heZ-9l$prAXAY>U_y1E27($Kh9RTjXF3cdO$y4uL#Qx=Fpv;U zj6Vyarhy*RgqW0=RO6~mhJ_1bT4P+*wCS#^`qzaqF1l#DpfR3v=gl3O5EF0mzI)$y ze!g?=&%b_b+!cxR`VRURnBa}G0oDE|g{Yq+)QLT)oYHzuIs zV}sU$+UKozr#A}j0ldb$&P(tNgRaZ4nEu5zsef>s_rxBf7zXeSbA?$LaAlMPRL4Tm?jt>cu4A!KUn~-c2Dr$er6?m{L1>DJtgKjvyf8yUZp<} ziuN7p?b)h=eH5cANR?zO_?>cb1%J?-s~~d#<;1^aEqlC{2k?d&ojzDl732;e9O{Z} zCErK^N`ApU01*G!^8fu$evq^K_HYOb*~5uHdFosx#F$e4D(0Etq6V^7Z1VErmu8)- ziJ1M;>n1Ll{h8Ck&0Zx!N`22(iY&$JQo74{zbCg+F z$01L&sD+l1O3@hG&MSX4P{8F;6~xFTkwlgx1J7CA8lGh%;o}A+5YA#>k{KOpndJry$Ogxk8%v z66ViaGqV%PMD`-lLM*EE+`B$*O-`#*2Jy8@&pjJ+)6@KxuVyX*h!ryLl<8Xuw@u6j u)pk2&#~@b8Ww&%`!=*B_VLcnWrefPU_N29N%$m0nDcY^9%Pst^?31^V^8{=F diff --git a/src/kernel.pas b/src/kernel.pas index 8e294974..19e37982 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -41,7 +41,7 @@ begin Terminal.run; end; -procedure terminal_command_meminfo(buffer : TCommandBuffer); +procedure terminal_command_meminfo(params : PParamList); begin console.writestring('Lower Memory = '); console.writeint(multibootinfo^.mem_lower); diff --git a/src/scheduler.pas b/src/scheduler.pas index b63cb9cb..2f8c5aeb 100644 --- a/src/scheduler.pas +++ b/src/scheduler.pas @@ -80,7 +80,7 @@ begin end; end; -procedure terminal_command_tasks(buffer : TCommandBuffer); +procedure terminal_command_tasks(params : PParamList); var list : PScheduler_Entry; diff --git a/src/strings.pas b/src/strings.pas index 45b88d20..7f1be8ff 100644 --- a/src/strings.pas +++ b/src/strings.pas @@ -119,7 +119,7 @@ end; function stringContains(str : pchar; sub : pchar) : boolean; begin - result:= false; + stringContains:= false; end; end. \ No newline at end of file diff --git a/src/terminal.pas b/src/terminal.pas index 9aba1d2d..2810b454 100644 --- a/src/terminal.pas +++ b/src/terminal.pas @@ -24,7 +24,7 @@ type Next : PParamList; end; TCommandBuffer = array[0..1023] of byte; - TCommandMethod = procedure(buf : TCommandBuffer); + TCommandMethod = procedure(params : PParamList); TCommand = record registered : boolean; command : pchar; @@ -59,15 +59,10 @@ begin current^.Param:= nil; start:= 0; finish:= 0; - while (char(buf[finish]) <> ' ') and (buf[finish] <> 0) do begin - inc(finish); - end; while buf[start] <> 0 do begin - start:=finish+1; - inc(finish); while (char(buf[finish]) <> ' ') and (buf[finish] <> 0) do begin inc(finish); - end; + end; size:= finish - start; if size > 0 then begin ptr:= uint32(@buf[start]); @@ -78,47 +73,46 @@ begin current:= current^.next; current^.next:= nil; current^.Param:= nil; - end; + end; + start:=finish+1; + inc(finish); end; getParams:= root; end; -procedure testParams(buffer : TCommandBuffer); -var - params : PParamList; - +procedure testParams(params : PParamList); begin - params:= getParams(buffer); while params^.Param <> nil do begin writestringln(params^.Param); params:= params^.next; end; end; -procedure echo(buffer : TCommandBuffer); +procedure echo(params : PParamList); var - idx : uint32; + current : PParamList; begin - idx:= 5; - while buffer[idx] <> 0 do begin - console.writechar(char(buffer[idx])); - inc(idx); + current:= params^.next; + while current^.param <> nil do begin + console.writestring(current^.param); + console.writestring(' '); + current:= current^.next; end; console.writestringln(''); end; -procedure clear(buffer : TCommandBuffer); +procedure clear(params : PParamList); begin console.clear(); end; -procedure version(buffer : TCommandBuffer); +procedure version(params : PParamList); begin console.writestringln('Asuro v1.0'); end; -procedure help(buffer : TCommandBuffer); +procedure help(params : PParamList); var i : uint32; begin @@ -180,7 +174,9 @@ end; procedure process_command; var fallthrough : boolean; + params : PParamList; i : uint32; + next : PParamList; begin console.writecharln(' '); @@ -189,7 +185,16 @@ begin for i:=0 to 65534 do begin if Commands[i].registered then begin if isCommand(Commands[i].command) then begin - Commands[i].method(buffer); + params:= getParams(buffer); + Commands[i].method(params); + params:= params; + next:= params^.next; + while params^.next <> nil do begin + if params^.param <> nil then kfree(void(params^.param)); + kfree(void(params)); + params:= next; + next:= params^.next; + end; fallthrough:= false; end; end;