From faf1471f323fb729deddb12fcca9463e1e64a3d5 Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 26 Oct 2017 11:42:04 +0000 Subject: [PATCH] Investigating USB git-svn-id: https://spexeah.com:8443/svn/Asuro@260 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/PCI.ppu | Bin 13555 -> 13577 bytes lib/isr33.ppu | Bin 1983 -> 1983 bytes lib/isr40.ppu | Bin 1972 -> 1972 bytes lib/isr44.ppu | Bin 3069 -> 3084 bytes lib/kernel.ppu | Bin 3370 -> 3381 bytes lib/libpconsole.a | Bin 81668 -> 81668 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 147760 -> 147760 bytes lib/mouse.ppu | Bin 1236 -> 2098 bytes lib/scheduler.ppu | Bin 3245 -> 3245 bytes lib/terminal.ppu | Bin 6758 -> 7616 bytes src/driver/PCI.pas | 5 +++ src/driver/mouse.pas | 83 +++++++++++++++++++++++++++++++++++++++++-- src/isr/isr33.pas | 1 + src/isr/isr44.pas | 21 +++++++++-- src/strings.pas | 23 ++++++++++++ src/terminal.pas | 3 +- 20 files changed, 129 insertions(+), 7 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 49533de2c99e6a5072249a2d89da33deae3b9b0c..7b1699fc4cc4f021b47e76e2b14dd167cf42eb7f 100644 GIT binary patch delta 24050 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 delta 22221 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 Ym}7py9FdIA2z*B3lTu`k7*$>LKQ0`1wg3PC diff --git a/bin/kernel.bin b/bin/kernel.bin index fb8c698bf66a904111a6ce4e57a34ff63aa9ca65..cbf04a18d0ec13c90d6d090bc46ab5037bbfc96f 100755 GIT binary patch delta 15160 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 delta 12480 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

*n?Oh*-QNS9YAzJEUVuREla;qT68=? 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 W1j8z*erMm1h*vA>EvlvJ(*FT^@ZVAZ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index ad5bbfd1df962d34faedd2f7b12752651eab1b8a..cbf04a18d0ec13c90d6d090bc46ab5037bbfc96f 100755 GIT binary patch delta 14133 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 KkwvxCoc})_mOpU- diff --git a/lib/PCI.ppu b/lib/PCI.ppu index e7cab79d03662aa6eadf43b6c1a49db8681f7783..e30a7590b1665b4c3bdf18a758ab152e45f45745 100644 GIT binary patch delta 106 zcmeyI*_kC95D;o;Y|7Hi$iU2SAV7)Xp$P-S8L@3woLyhZYfY5ZWj=KB<3!(Rj!7+7 z-7|kZO`f%x6Hvi@n*5Z}pWPk&u$95A2$XDFfkfTUc}VHXf|1&`7oo~=FiM$m;vEE46pzI delta 33 pcmdnbzn_1CAF~qgyN!VXOpN-I7cuoPnoibdKFsL4`7`qwW&pp-3tj*K diff --git a/lib/isr40.ppu b/lib/isr40.ppu index 66b82e4e3c55b90f1724908651bdc41fb0d0458f..cd156e473027c76788400b8c715a350c0c6546ad 100644 GIT binary patch delta 14 WcmdnOzlDE-AM^D6A2$XjvjYGw2nHJf delta 14 VcmdnOzlDE-AG6m3g^hv9>;Nd91s(tZ diff --git a/lib/isr44.ppu b/lib/isr44.ppu index 0b7ab5329463512042dcbbf6eedf43cea20b6e37..7e7fa25083c565774fe9af156d052e63764c794a 100644 GIT binary patch delta 102 zcmew>-XozH5D;o;Y|7Hi$iU2SAV7)X2{!|Suj#U#25GhTq!}0(lqM?bGKZb`I5F@N z6F1XlRmKiRMx)8=m~tkcV&viBWMtrAWB_VqU|^Z7%$&xUG`Wkphp~FHILl$i?#;JZ Gl-L22h#L(6 delta 89 zcmV-f0H*(p82uL^P*7DdGc^Q*0RRI4z)&Ip)e8UsO*N*uFlK$;8UO$QA(0_11L5oI vkx|kD`~kBi0f+$s1e2};Y?B@X3zIYhWC2r?nFEXgY?CGg!vTD=>I5POxu_eY diff --git a/lib/kernel.ppu b/lib/kernel.ppu index cc6b4da494f783f916b536f92a038b08fcd251a7..fb9fd3b448304f9afcf884d537057cf4b7f4edf7 100644 GIT binary patch delta 307 zcmZ1_wN*+nARyGx*p#K2k%5`vK!6ehFE0aw`u_KIeKYfgR2Uc-bS5h5GiOGAoEUtU zgXO^8P3%Ud%O+bePSIf!)XB$;g0<2qrV%sL$ za>elOK~i~OayGXn>lL8LwaHhwvUE>E7JQ zGN=S;R>oT8JL;3mzNtga1I!@yo#Qk0pOUL3^4z4~vv=NFI|vtx*(-ukyi zty}L*oBV^Zm2vLoI;Mq8o3&W4v+&Mg0x5xj1(W%>Oj%a~MOIJt;ELhhh$Odl@hV1)Fa5omi5Y8255LBXODDM<8nQ44(t)6+;6~KOVB6Vgs*AMTOBA$tBjZ;F>-a#<4yC?~NuP@GzQ_}} z83Tm6{4Lf2HIc-zay8+ExujH!eH!)L3^p#0qXEwb6vz!wv-;G}v&=iqdlVr8BL#7oH(hn~-NNRupgMBaOS@mVXTCs+%Xt+J3oT@#) zU7|(Sd`>8o`YFu-BMcVay+P;7AfLTIN$rUN_?KuQD~jk!;Xw5=T#KK{U);g2lC}OV g{jizXCSL_c{x3fxG}xV{6N~y*{6B-vRY+o}qQaH+hM) zYEpq8&Tg9}+0C_yPPpqCB9%z%-1Zd#MErJ40X;B@k(u3ehFoYG16&U%kXEk|$c5rC z*mjbDsPg&HEdnB??}&r(N>2m7;&SqecY8K0v5oLMd`!YCo3eGz3OJ)TtVVJ0wzm@y zrG`3Y2*@!7^sajdK#rC0ftyhWgAJ#rs4mh<4^hw)&5U0fXyE;MCzN}$7JWL-d!vuw zdK?fM^4C}g)MN_B%GIPBW>Zo<_G#AhGFZJhh6X$rQXt6XV~(leOE0hdcqj&ND<}mp8pelk+np}N24ee}>ydUSq80>gH$7(MNmP>VXMbqs*<<#u? z%`z>r9&kgk+(&697-lg4<`p_u2l?dfacWNtAh<{iSyjZAio0r;;dhex_6?+ypr+PIB5PhEG<*0?LX5fXkj)l{Q*W?V7veT diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index f4ef9c3e7a27d207191c0c1cbc63db69cf939d03..0f3cd046435e2055d95efa6d8afefd6cab31bf69 100644 GIT binary patch delta 600 zcmezHi1EWC#tG8wmIg+KW~N3PmAqMD?8yp7Vw<~Ie=?&8Ea2SFgd`xoxt8Y@sz59M zH)H{^%?miUGfnmvf zT16>j*NSi6s-l4`Ah!9J`e9@NiOqMk`OyV587KcW(i Z8#xL<(Yk|)&j2NCfbk{1d12mpCICkzq7VQ8 delta 600 zcmezHi1EWC#tG8w7M7MqmIlTfmAqMD?8yp7Vw<~Ie=?&8Ea2SFgd`xoxt8Y@sz59M zH)H{^%?miUGfnmvf zT16>j*NSi6s-l4`Ah!9J`e9@NiOqMk`OyV587KcW(i Z8#xL<(Yk|)&j2NCfbk{1d12mpCIEL0qu~Gm diff --git a/lib/libpsystem.a b/lib/libpsystem.a index de826d0d30611dd39e2f673d2b6d9a298913bee9..4ab7be239f9caaceb27aa41ac25541da9f1db164 100644 GIT binary patch delta 3672 zcmZvfe@vBC7{~YABviP?rM%Z-yS8k>4R~8GAe-Dh$S^g=y&-6<&V^h|J;(=1xRB>fL9FinZrd2eVkk z+FM#!#m>@`;F@Jzq>>Z$7a@zqZ1jr0_0j`AN?G6fK7DoYg?4k((b-#K=;a@*RK#rT zwr}qhxtouML6*B&S7uc^BE=J1j)5zbu+lgECete%>H$5XaJvn>_J$4Y-DLw!du-rR zr3Ls!Hj{^^ZT&2pQTQopdHk$-LXlZb;a~Nk68_9;OZZF0nVQ4uQA^pGnjT%~(^?9D zsy+PL5m|c05^<-_5+VaW^qCEoFU%414t}ie;GsOtVe<}lu!@^bF{S<+(_PXo7WoYp ziDH)DU|i^ILH?wK`J>lbW2n}emqxIr`y)l*OMAUF4oe@5!p|1M);o?bgiZ}(pom&9PtpH^_^f&#Q=8hvSvns08gCn$l| zsES3wl}}6&ov?x{9m3bI)PimoxN5fxTR2b#e(XN>6k#qJ@wiUmgeZ1+%` zo^!GFF^_Z>;R=3YlstS<;~UL z~v177|LtdE@))jP2WT3&Bo^^fi)%QA>_|{4IiXcC_9a4i zZF8b}apUn6uvE7P52t|#c-LHTV(ZK?CY7fylrVT@4#?yPd6|IM=c!Z+3f;+LI4%<| znFrT;6;cSLD6e0ud{AKYA{dbMN5#bRR=^Tmy%=KUoe{>WT!N*3*s2mgo?i{te$R>YVpj>sGC?|A zgt<%`C4pWL_|J3DW}Z`P0411M2J%7I5hr965Z?QuVvm$jvi!8ssO+PgKtA?KyseAi*>~)S6Vl`2!UGJBLyYn4TMtlzzr7!} zkWed9M^dh+cAw%T(r7f6zwTE;Zg>}87p6!kbVb8;S}cu*EM3tuo>Pr2!P%cfjhc7{ z=7ja$jFS&5P2)X;Qp`UBd(9OZ;Y7}`q3@lTd{lAn3sjCk1G)^&W>KSJqYG9v*#(Ih zf<-43WAvR=6tz)Ea$}2PrAyYg+9in?l9gu_V_em#O42AKd7xXd(mo5<@!RL&oSr1{ zF_GBX1M)jwpGTTMXvPI;$t0!5E<%QJd{59OOaZ+Nhs=eV7Dega6u7BIkVd1Kigy$N0Z*kOK#Bk1@ao877Z delta 3672 zcmZvfe@vBC7{~YABviP`rQ}+SxVbeK1zb`QOpsyb1VnNeKTM}JNnNS4 zV4c?K2MXDkwR9q9_NcKc4QLd1U&6xUv74#}^~E#f{u$0ZECCj_8?570Dj@OPTEr zF65p8Si`3zLoDmQQ6u~h{|+I`*kcJ1Auu{ML`&Z|DY4mM8v945v7z1sG0WQ;3ZI-Q zA&=A9ME%EQ7%@!V6=H&PbQ%#Q))Nr_}1ghdK}#%cTPh$%*% zxkbf7w{9+WE@+dc#>_Q~DXUnR$GUPmMD^lx7E5hHbmi8m);`gfFD!ud<@Yh~fK&Xm ztTSXei!baDf#u`q#uwUj6IR-E6IL3!$;DDvczl^4vPv$PI}vfKcb_dP*Pc@y%x0Bq zZ)sr_JIhXjYmRY|N=`IfglrbI(IfiTOAq)MW&P{>_0@qFI?PSSW^ak%mw&KQ5w)?$ zzP(4}Z9W9${nN{xy7f)~?Kbe*8#b_amkl)Uv4Klf z7T^;(Odg)L^|2gA;istO^Rwm&MOF=kf7ORd__Jy(;V%nQxQ z?cvvs$TBLIh&%O`5E<~n&up+_VXl~W@MCocH|1$An|H92Ro--p_=ayxcS*ZM6f{~S zN?1XoaiM8~{7DJ%N3XS}V6C+*4P(vsg$w_e_Ihg?kveJq_E6aPt(A$s9>ZTT@Li8Qy>^nmp1&+EiJ{&DfD1!&DQ^3obL-(tj`fCO5j zDiMWOJ~2gf!V0f+3h#hY3%Z^Es@=|iwUc`mfm19VYynsLIMMfs-NSMf^N;%2?%{Sl zgUYYVRHO-`+wSQk10ZKR45GT~eTWY|` zi;AH@1fH4zyy6vDA3Z0ehiLoasR#&W&ERAwzds5NVVx74z(0zB$?7AaSt{8>1%Us# zV207%<04!*|6ceCT;7o21T80;z6Z~ngU?R|Yf8{Vl!LEMQz@$WO4+(Ou*~&RH_Aq?&MLNkOh~_ zgKNDCDTGp#H>_1YC@^vn49fbWV&eHLUIU2!rdx~!J#79suCZbUk%oN&x!P5cPYp+K{{NR zxl9`+fnE^!&vVdjo>OZ8rI=U_@pL#9J)?w*p zC0BLC37t0Fn6rg4FUojQ2Y!40S3n*%6Rsz2Pnng-Va$w zs12zjDOXgtPjM1yG#1NW_bVYcyo;+3Q6v<+qLF$nmPSLCu4oz0sm7LI+UHQKCZ2&g zVZArww8Ki%cn_fr3y#2EbA?7Ykuz-gdnYCzRh;_*l_SuAE<>|f)TG$xf|bp7K_Z4= z@d?Eky(bk#Z4{K;*s56Rk_~NkNg{@1)mgk>(GYaY0%#RjILykZBy>9k2;gKrh1~bD^e15xoq(dbF1QqL?H7%uykZb(O9P99mR|iF6QVy#|p2~9Ahv##W83GNi)F*W;?c6h|quXrKB1k Wbe0T`(dT$(ro;SUhXt9Afa8CwMYD_m diff --git a/lib/mouse.ppu b/lib/mouse.ppu index 0135a8593718e817ec20f1dbb150f2798726f180..7fa14782760b07203950d8bf33e525b0c408185d 100644 GIT binary patch literal 2098 zcmb7FOHWf#5I%GJq^-OwDn$)osv*8*YfWIrDD85eqKbrT;Z~1dchAtS_{so5$V3^v^D(Z`*0aDkKZa= zB{TQn^N;Av;N4k(1LK9fRmht2_a5%QbKy`6WZuiAOg7?Ew{PzM*$;s)V-=4aNp#OW zKQM9a6C}0SoS7>W%eizuJ!ux_&0F8{_gfxA6|hRhOn%b(I(@!7^k}pXvIsBo1$0OS zgMZaS;tyvtW7Ari#sxrx8!F-}^Iju+NcM}ehh;yDgPMqU|G@CT;Hg9_^VHyj?EopC z2YUGxB*lN6Nxs+`CgMo`k0G^e)WhE3wNZRJp5e}@f;pa!LAv&HzRL<>64` zz*}AL4jYMJH5g68U^ZNw$QEW5ZF9l9Z7{;sVDu=5u?%i?!3S+HlGVY>h;8ECUrt$> z$-JVN3p{EAaYYS8*8Ep&V4DlC~R)D0+d>Tu`yi*tQG0DrJDKG(`9HgVEIx7_eeJ}$d zT?*UvqfnxMXy8<;_e}4gRQ(_Q;FvR(#D;VUEu!2_u-OKwo^*<8NgOnb0_C;`o2!Y6 z26u7ho1!|OeAFl^R8q#AqIxaYUJ#|8b{Hn|0fsHLfn7E96g6su_J;a6vyVrUR&B?} z&8SBtx$?=-=4LT|l{FfJ^j1GBYSEbMtl7egqKMs_$!GYDbm$zDy3H~WEg=yE2p_ng zqCdC}xk;x5WMmq$E&%3uIrIdK!9mpPXY9yVopwPHL#0CVtbGOq#o-)egi-9yloWmi zdgJ9EV=L4J{0kVg=@rfm_2D}Pz6YA(ZXY)3KI}Q(*LUK0&*{!{{kYXZo0aya$%>V!Z delta 434 zcmdlaaD`JbARyGx*p#K2k%5`vK!6g%8WskI3pd^uhwsgw!^*(Gz%@}(mvt@YyGXBz z!Tu93CbN|Q1sMe=FJu&9XJusuau_C`VANq`oBWkg-i{qC!U!grKyr+KfaWnUMuXU3 z)(=J?D-tB84H82JER%a!G`V?!Li`|MM%l>+SiFD+bF(%{OMnDKK@MWc%*!lcU=-#C zaTpjGL?`RAnMs38H3kVlfjNj~;$UD9;GEpZCOLUJn;^FXP{;`+&L}>4Gh2Wl$blXp zJ{0(X?N0#ml0YIrRUYh)_3A(-lM>J*2DXC4)q&Vd zzd^Zx diff --git a/lib/scheduler.ppu b/lib/scheduler.ppu index 2bd592bb46fbaccd439c4e6385838ae4cc713f56..9410de76b0a9139453e95e0c203ecf95d8e91ae1 100644 GIT binary patch delta 19 bcmZ20xmI$*UJfQf4gIM1zq2+TeZdU?ODqUu delta 19 bcmZ20xmI$*UXHv3H)+0Pb?uEuUvL8eN3sV! diff --git a/lib/terminal.ppu b/lib/terminal.ppu index 9418462977f33d5c8c925baf8d01e24f2e33a58e..8311e057ed08821892d5a209b7b39352140297c2 100644 GIT binary patch literal 7616 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 literal 6758 zcmd^EU2I%e5k7PG$3Jl$C-FLI?6l5iL(*&#$8l3CwF)@SrZ)Izwcb>63v$=?P3&TO ztzA3R3Vnc56ok}LL1_`9f<6?f5)vr91gJnl{0RvG4^V-SDgolD2niL^n$~>Z+;h)e zTZyyHE62KX=FZHSGc#w-Idj+f{Q2I#Q}L(7#LSQLX>)q7F^i9#>ujAqlpQt3i>3KEU(b`VgP7M6GLA2ms^5R_9}}}A$CB06>axG^l{el>T`E5JNy;}& zmlvz$dH?E{UhMheBPVy0*7ym3b*fyd%#?rm;&;E`U%8jW_{#F!d`rSy`E1X>$4F?M zU+@>omDPpPV(Fq^x$1xJZ;M~v{SsN*@kpZC8Bz8?*hONpb$)JY$uUYaoJ|@OHY%iZ zMw%7QDBPy7&`$a;Doc(}j2CkwjUUZToEhscoV`B@&W?n##3W)A)VBsPjbac@WBQbA zl-z8EV*0jivyi9c)`%Prl{6@4d&G$aTA`1V?}!*J;gDe7gnJcZCr^f?BuU{*%&OXZ zBVy+UVmPGFDojLLK(cze6k`B_xWpZ&+Xf_v7NMt@$c5N2gH zDr{2NtPrt{#AC2n)D%)9dVA0>d{r^x<8_?QFVdXae>3V_c zdS-Mc3>OC65_KbQu*P9tr)#aKSp(faN4H`g--_A06;pRZX#M6nPi+_p_v!Y7wZv#E zldAmFwfxYvfel2=7v;JR8r1l-DBP)Vm%^074uyLZ9#oiB*rV{iTHR4XE6=WE=wQUX z@fcEXhZE|*LF&}1+r$n>MOKBBmMEiuYJ@%<@-``{)gLLkHI;g8F4kxcNgU5VHuaXCbAjFIZ&JDU1g9E2OVtZMy2FeSl6=sZdIU^rX#Q_L> zxdSiOmwis`tQCuVp;|e@_m5Z}?JeNZ$f94@Ww&eT!YwY`qT!Zz>~JG%_XCwahIz&k zsdHX&U2#jjVdv47t(KK}!YF&`Ho)W(lcZ{-yE|A{F)JXmUB-jjhwFqz3l;{|jd_v; zv|wSvV3LA`q0V4TJt;<8)t0WEz?v)mMJ%&l@v$~(7xbs8(Y6eFuZtBN>P5SX2b|u7S4~-l&unjW7)j5j{!=SyZP57*!Da2b(!)f2>zMU@}@K84rj{H=uokK zTRuZIS=Qixp+?*O&b}^NP&=D8=Db{Sw)8n$3b}`dP`?)j#zsc^N6%*R1B3mAOwqoM zv$FltwnowpINzZ!LJy(yF;}M zIw^iWJE;+SigpK5qi!yK={JVDjO-8QDuRE2b9FG5Ni3_*aZeBl&>w*S+hgdt{?fs3 z{s!mMkxZJG@wvr0R5m>!_bG7I!xUF-dw6--*^HbB1wRi#Ca0vj z0h=!R%ewfmr#IMBVxENvo2(HLrWiWi!}2aut@aM#;oy+V zH*L{bOqbTz!2FD7%L4xMB@|@00hI@VE7@AbyU9v!}SvvGejiIj+uj~B&0VH2j z(ceOG7{tQ!wcp!av;1cxtcPFDd<1c`0LT(y>7LmwSF7u6Hi9zU^spyubq>+zKcDLWtTbUq9W=Wu)8&O)4oO6Np*hn_=l;!SJhztF=8TZ%r;`LjG$-nD$7 zMwpXzIk6Lx?YgO!ofDnTiHCEA@u9KN+j8SxnBd%4-W9sh%*oK&&_`|r`NZ>OujNzb zF5-2$(F4g|O3SKqBg&`2+;IN3e7Fx9oe!%npAK0YkD-rz_&BG}@~r)!SFJMx$qSU0mtC#1-x)JBzOhKm zoEaNKzTdK}=7Aa%h93eJ6^1X{8b{28wRQ?ULaRCLtp(}9-L1c>qi0*9Y+a#Uh2&*Q z%lBMpqx8rZ#s+fZQuP(p5b`37tlwsB_*sMLDio*B$Wo%nsEyr zT=%DfDpJfhp@GG^q*#mNe+pH1joX_^%(oyD6b#296ZfZQVT?WP#e5rF79^7D1x!rO z`z2Ie_8`Tr12*dnN%5zThD&~>svn~EkP>svX+H&l_^dy_ 2 then begin Cycle:= 0; + // console.writestring('Packet[0]: '); + // console.writeintln(Mouse_Byte[0]); + // console.writestring('Packet[1]: '); + // console.writeintln(Mouse_Byte[1]); + // console.writestring('Packet[2]: '); + // console.writeintln(Mouse_Byte[2]); Packet:= (Mouse_Byte[0] SHL 24) OR (Mouse_Byte[1] SHL 16) OR (Mouse_Byte[2] SHL 8) OR ($FF); for i:=0 to MAX_HOOKS-1 do begin if uint32(Hooks[i]) <> 0 then Hooks[i](void(Packet)); diff --git a/src/strings.pas b/src/strings.pas index f7da64ec..d25135ca 100644 --- a/src/strings.pas +++ b/src/strings.pas @@ -25,6 +25,7 @@ function stringConcat(str1, str2 : pchar) : pchar; function stringContains(str : pchar; sub : pchar) : boolean; function stringToInt(str : pchar) : uint32; function intToString(i : uint32) : pchar; +function boolToString(b : boolean; ext : boolean) : pchar; implementation @@ -150,4 +151,26 @@ begin intToString:= ' '; end; +function boolToString(b : boolean; ext : boolean) : pchar; +var + t : pchar; + f : pchar; + +begin + if ext then begin + t:= stringCopy('true'); + f:= stringCopy('false'); + end else begin + t:= stringCopy('1'); + f:= stringCopy('0'); + end; + if b then begin + kfree(void(f)); + boolToString:= t; + end else begin + kfree(void(t)); + boolToString:= f; + end; +end; + end. \ No newline at end of file diff --git a/src/terminal.pas b/src/terminal.pas index 336615ae..74228339 100644 --- a/src/terminal.pas +++ b/src/terminal.pas @@ -106,6 +106,7 @@ function getParam(index : uint32; params : PParamList) : pchar; var result : pchar; search : PParamList; + i : uint32; begin result:= nil; @@ -182,7 +183,7 @@ end; procedure test(params : PParamList); begin if paramCount(params) > 0 then begin - console.writeintln(stringToInt(params^.next^.param)); + console.writeintln(stringToInt(getParam(0, params))); end else begin console.writestringln('Invalid number of params'); end;