From 9976400832a4a404ab0e60c4f275ba5418b952c1 Mon Sep 17 00:00:00 2001 From: kieron Date: Tue, 10 Apr 2018 14:35:05 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@464 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5111808 -> 5111808 bytes bin/kernel.bin | Bin 57572 -> 57572 bytes iso/boot/asuro.bin | Bin 57572 -> 57572 bytes lib/IDE.ppu | Bin 8930 -> 8930 bytes lib/kernel.ppu | Bin 4295 -> 4223 bytes lib/libpconsole.a | Bin 102784 -> 102784 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 184368 -> 184368 bytes lib/lists.ppu | Bin 0 -> 4314 bytes lib/pmemorymanager.ppu | Bin 4034 -> 4034 bytes lib/storagemanagement.ppu | Bin 5535 -> 6429 bytes lib/vmemorymanager.ppu | Bin 5818 -> 5818 bytes src/kernel.pas | 14 ++- src/lists.pas | 216 ++++++++++++++++++++++++++++++++++++++ 14 files changed, 227 insertions(+), 3 deletions(-) create mode 100644 lib/lists.ppu create mode 100644 src/lists.pas diff --git a/Asuro.iso b/Asuro.iso index 7af675876f3bda11675ad7653ce5a4f639168f43..c989de9093bfef5a66fc37fdc7145315abc63101 100644 GIT binary patch delta 26580 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 P8H8tW?pMN)k-7g5>^trA delta 27868 zcmbuo30PER`#(MhI5;TCXeg+dsNjl{2%Q*5dMUMI zWu<9lWra&Jk`;&@T*`1sNv+UaPA;Xn;gbA5_j%44u^#$=uj|kC&bjyHxu5ksGxla? zy1g>-$?uxoD5__dsOYF}J)@#bU7|Y20M{8?hh_&h@bL@iS!cz>)e9MNa&@SWUr?J~ zEAFlCS)UNo0*%(eia~EQWAdlp=);k3{ql{mb(uoQ#%>&i6%#j(Vv*b%^+@F#t9fb_ zZA5DOQA_41@grU)Ti^OoY&VBY3-O!4c@y?Bo5 zY-!HqQCqn3#ao)!(<-L*=bMvp- zt>@q7TW)^OeyiuV=38$3tKYU|@gG&V^7)FM-#ZG||7At@U%!-VKdrR&BifKOu_5W- z&zdx>Z{mu+ySwnpdA76@ODALx*WIi=dUvnk%dhUy(+%CrE$6JgdO26_QHy?S%Z z`?&UF_v!YTeEC5`Ub&C!f6#v2|IGbd|6lEI$!4%#uG;Bpm>Gn7I z@dBt` zksGY@QN1(AALYt78}gG!xy9;mO!uF3jBEeVu^IYcDCf#&mFw|WmvjC9UatGM{KU0S z`AN6W`-y9R>L=aae4Ja%amV$}Si+Yd)8((7;F^y-p_?x{!43cYiI$e?>!@GC(19z~ z?(NK5MEjrA=f(7s+@^kYQg5nyk{he%&w5iQ{mhkbHss|$bNzStMfY#}g=_!OFS`G- zU%0hs`Kw-wp}%tH{ae4{=t$?OkP5EBG>+fi@N;>eEHprdVXy#aqSmh(&ZoX$09-K3^{Wp^xA0e{ko=(m(Y1@$nzr`FZybeSWt1lRN)1{(M*O-z!}Cj4S&5 zTFIB6H{_P9{e!hd^WnFb;lr8;a@Je5A6c>ZY9kiu&8yr>{CQQc#G`+4GkNAOJ(D;8 z;>4-L&)4)=zSp_(vDYJ*Tm9%*M@kqv^zoYZ zh{MV0nfFYmVwtbVvL|HnH|mEP1RtGKCrS~X2;%Bm27*OXOh z0&B{uJb`Dw>NkO^;h0T9%sDyK6?5XKBoHcHFkJ3&eWjMQxw=hmQzK( zk1s_d$~lqW+Md3`Ki08f3BxdT`Da~utFO_p+M zSW<(=F+<~Ze}0fB{EZ;b`SVA0slPF*FZuJE(l@|p%FF=1MzKfZQVkk?>l)*2c3r-Y z5|74}y8KN01Pc14sd42pJYh_K+9^W0M~48xG&|+lDRNmeA!5P8eZG&e^$j1H_4&2;A3s2}{C4{drE5z`zx(1EQ9*vMjHTY;`wB^kj zH2!R4L}}cZ?_*A5L*vaFH2!RCLd;9 zo1y&CbUD-*O%0p!bDGiA$a-~C{v0^p)R+VQkMg5TeAI}N^C*9&{q(4w>Fdq-3QsgM zn(|yTej26Cgkkzn3F9|qR+zwE!{m3u_)-20GomzX&TmRubE7G*HRne;-&}b3Z046} zTT$;2@A6(wZef(p(Sq;oLt&B|ns6nGoYeOToHNP!8S_|X!k8v)Mky3-kHIGJkTfUElZ3Xr!EN^Vf&*N@e;o(;<|B(qJtnxaG5Y2hrm7i^A6nJer zzQb!CjnMY|q@HPS%;tC6^L<=xZ$xPv$)9Lxk;b5XC6XWIx5$62QgucSO-NXgb%Q$z zQaTtNw!8!1->D8p)^$7bHKuel2F@!T`RzK@(P&rgPJAB|I~h@ycjCAFL?@xAK5(M= zK4wK3d91EM0tM9uqp}7cgSr_$W_IKI_^R7K-!_v*jH>B7 z8o66{BjWh({3>kjZdCGQcYeFt_b_rw?7`1zT@PWtK5k<8qjN^gKbC^pqXv%bQq#VE zHpa->zb8N9gq}jnhb{>GM&XV75AOUs+|$UvvIcL~SR>xtSbmkhjTP88mvUtd8pC=S zOX`cg_&yHzGJN><=4*`WEp%pe%*<;rG_LkD`Xa19 z-$zD&Lt{e?8n^rZ^SEUjxZ;_c+>t(ifYGz72k`styhp=7fuB)wf>EU9HE5hlFmkpG ztM9Nq;;;odYz-W?h7Mb>!xrMOHFDS* zJ8VrHwor$ysl)cD!`94U3v<|-J8Uf+ww4ZCxWg9Vu(fj7T03lQ9JaO&TRVrXy~7si zuyt_QIy!8f9JVNjt+T_{#bN8}uths;-5j>=4qFe0EyiK%>9EB*Y`q+|-VR%w!}gfN z*2iIsci8$mZ2cUz{tnv!hb_Tj8|bhN+HRB5EMAk^70j3}oelKb6fTc=PHItS^-Pl~ z)ji3i2F{l4&q+~U6K2VqpOZQTe>clyn*Iu|W(p^nEJdk1%%=S2>a!E&ThB?kUO6*l z$3m%7tscEhCUxFSvIvsP7D|@j@8FM_%@uUBdg`-J$+s3t8v=yKOr{dI$pWL%q4LJ( zr72#o#>oLMNR4AwAyR6gfLsJ`HAf@7KzMnpFHjD<^DIT~B0SWgaqyA5trfVY-1Jrj zb6$`#h57+c!rWOJSWuc>>9x3)8aG`Q7E9TF>R6NMqNr}3Cg(1e+R6>Hq({6CPnX+g zNsYYm zmdXnE?n_c|_ta@x7LVVrs@k$K)jiduZi6QBiX#pTzKFt)FgNN0mp*gO*Cq*Di;RE8cH? z`K$8&rBX!8BcPp$ey*m3?7*)kO&871ef^vVUE};*BmH_cIP$9eh(qe<1%ojTDbaqC zg64NNnV5;oTb&QWT}kY*zyi1T_faQ#SOZD3zo@=KaGc-8s61Ho^@v*o(=0lASV5!- zi}3`<`SsE=%h>A*4bR@~Q(`v;-2zjg&ubWt7Ch90D4;t4$*Zj&F`3p=TS{qYn${7j z#QO*uQW`H3(}hM^iZqV1pPvR%515Ek>(whF4Mm(pn7gPpoF|22=ttE-c|u>a1Q)rZ zDPn$WFnfCvctYO!veYXmAsNjn5TA!}c9BnD!C|#)vRo%e8eZ?WN!2B4QgXr5IZ|&g zukJVGjmxA~o$B7Gs&XoYmE_T91p-`-GMSv^>QR8gATSvB7;&$tMe^Uvq&uC?Uek=i zJmTG*G^0-e3L`z-&xm_Pl?z%emtGL+#CQbFsz>o68QSBUwV1b3(Jd7|f)E917RV^vX2r1m-;hVu% z67HFP-;LfXJn7-*%T4p7KF!xQM7F)q+1etA0oE_OD6BBAKAR3|@(_7(p422Z>=AV8 zB{DXzguxe&noP?Q?ky=w4=S{f$O5iAoJ4OzRM>_{t#f+Ghw`MekIiiWMhwY&1)EHz z1Hyx18=%yuca)JJkpwMt!38Y05UeG^bQ1Ul%Qs$?BD{88mP22Y++G_;$wyzqq~5&> z!Z8tO_G_c{Nxgz5^=Qwe4%R1ieN~p^K`UrMNRp4PfbAL07Q=(k(Yr1a^knjp)*@4e`}+mHCo<=(5LmiAna zMeYLAKz9I%K7z?ISUjUyh>KKaaR_WoTvvLyPxfwe38K)SD!rg_D!jAfVmHCz{gXuaD0EJAo)$Hm6u1fABVJr)sv1$##ft z`!?Ak5<7K-wa{&AtEF*r@H=E{l|Og~wo5eIMr1o!w|$3fhj?sT>b8DrX>U3BT`9{x zwZ6%;cbAXJy^V|)gkW7i^EK^bKI%dc?%l+Gm#{sAje4M9R&5@I7YRE_3enXRMAh45 zDpqU9s~t&xiR4MZN-(&yFPWX8;m&~=zRnWVG|nIMp;B1T(s|rXQ$}5mJ;$klqWY>Y z67`o_Fc^zikoyXGszW~gR|6A5bF=L3ZufY-n4gKh9tnB8~-50q<&8AwATjH9YW$sglUSSJ&LtRQJWQ~v68d#Rtd~A-tH1x8*k0Y zTpMr49w?aA;~oVQDQM$u`vZls<_7~VpH#I0cN7@QR7;>1WjdLpT6%86qA2Ch2n)lo zP?M-6e-5O1fe}G}a_oCjsC_1>b%xr-Sa&+%5rlViKSy{Y!dti(5gtHzLw6?O0^zmY zIfUQ9uqwfk9)sVX20xAcMd4;w+*C-vr0)2=0uSfSOuN4+aLGZ!%hexfFfMxqeVBb0gBzrN2rfmR8*(uiQ<}-^liXKzk!*p_(wiBo`%{V=E3a5D#n~S; z^@`S1G;jybmDE72Gr-Wk)x^-+_X;tz_C@2Bz@1M@&x1z=O80l~B>H2}sPJyW-yut_ z?Mb>N+P;?ti`Mo&kJy>Nc(c0A!)<4%`m67Hm<SCXcTv>k$=ym5!6u}8&R)jg^rj|OL7+MjYB8FB3 zAH4stPF_Y*t)cO{6b=0XV~wTK-e8*5wH{_egK76yT^_Dra4qTr5A#wz7BW6aO$PHH z4Lv|oUv&^ksyFl|_?dRIDZRD(JL-)OG%x;3i_-mFgZwc_e*^_2`545evY(XuPeuVB*ll2Q>Rb38xz2! zj=4hb56(*U#rAUEM^Z!#^|_WrH^MFktd2txZD%P#%g>jK)(Eu z)M)Gmk06o>GO!`KcT)Hnz+6G$E-!T*VFSW_h#G9JI*7!(S4;daY=%rRhK!5Ic(y$8 zW69>#El%F?G5X?a9Gx3NLzsHIlRWAZ>44Xc%W}jfX|ga% z&e|-H)#K98?!z;U>-P(A3t~ zyzEOpSYX|e#9iwrcl=Ch95sN5K2UL%7gzYWGNT*SD^fdwc1t9Qcp&Lbl2P(=pGh(G z7vW`8Z4DX5?NHLIBk%eQ7c$Sw{XdtQd#w(aQ$Lp?0-nK}0nRbU(c!)k^6Jl}M|-_~ zv8pQT{{1SGY2IgGzYNml6Rz4ZhnJy~&^fi;)5+syY)tM&gslfwDh9nHU;P}{I5|CK z-+U=HDF~uC6UsS1!qtEXoIz6~s!TaAg*BkdnQAQ60uK;FO2;X4M%X%%E-hLRtlq#0 zt15s<@Z^>GQU`ku2-TOuN1@3(u2cn@w%|yBbA_8+@1USyYyhJ$sw?K%S{S(ZkX0F) zQ5Z(NGUA;f-cI7h6Ymo7!rujNBk?M_fENkUJ(PGWiI?96JKByUV$LLHrp6@W=ZKd_ zyqVy+R}(gw`a91Z-wn8LJi6ow94%SVYLN)d#UJZ-=Pox9>MM5<#%CQYuH#*4Nm1aE z!(eYU-QRz|Byf94T9G{@1Vbw`vQcwXC~(PkNWoW2@p9`nlijDlG)<-$t|_M1kt z^rljJD{THDq_-4$*!;r?Ur2aEcN@ZI5nkIJMR+oBcMM@;fCX+poOY-Vxz+v4!?sAR z?UAH3fRsi6%e-3^_)=$V?E3I`-Ym@Tjsi(ga8D<#$a_^)o@s!CMb@QoxO8p{4<)cO zJdA)(xGOq5cTu>{y&b-&)wTDxnC|a$-n_pnaQm*bqUtqB$cXgta@}EQZZ6I!hM7l{ zlSiV9V&_F+`Hy0Kyfpa?~2 zds)GnQekra>*n~3bp)>Bbvt#45r&6JFc>#{2S_9nu`HHSf!# z3Z;%-miG&m7D@p^;=?0D9S3#w9A3J#^5^LtikCh%ARg2gyU|hiI*Jg3MFM+nX8`wx z_vO=HO5t7~y zV)EA=YQg2LUrSvYv0)b!-Y@OYT4)4r-;*2qh${|L{QlQchx$ysPgx?FXpLG2e%v=w zSNkaESt|a7N@vDB+*2>=ifjrRya-Ty+TypX__Uw<@UY32Tc?XJ_&&g#huup)L?1nc zH+c6N!jgcYwvrpg8wFf1Z zdRYX)l6gC5UWKz{0fF>jjA&5 zklin%AJ`2+Oxi8Ujy6o^uHrk*vQG;_nPxZ8Ws0MKcn{n3p`}BSdh!-Va$x4&pm_(~ zJ1O)1V7Mk!x-#xz{iQ3PP|UpLiyI}}{o#CMX zsqR~XTGGa3>Rn|IT(T4qQr$Pb)h*!U?4r?*Q^Yy&ak0Tzel4K;5*4At{Va{l(QKK|U$mo%EcdbJ(J=;lp-@W)F4WGRGC8_Q!g4!86IQFDEeUdWo-kR1CtTlZikWad@TL23dw)NUSS5P(dO)*!^;(0@ zwtLFgh{y^d{fyf}LwebDY&&!+QW7dn_lH%&Q9@;*_HP6A%XV)_UN({Utm7(hU3C;0V~v;e>wdd z(#*w`_Q03MVB%8yU-kv!nsCXLafPmywJr;FPB`PtP@Rh}d3w!GlkNY|ZEqt$wQj4{ zYuS+Kz4jbXqt|8vuhwf543hQQaFFzM^DVoe_6Lq`qdG53xE_ltzZ8Mh2sO_`$@8?L z*`ZUt@8*DhF!GZ%in=b8y6(_l=(^Kd*Ij{|E7WyYw2p}(H&tkI;Pz2hickAE58Acm zw3%?Q_%?cSR3&xgLFc~Qpx2#V>`a{3AH8*@XL;6Lx=EjRl_=`FIhx1wEp?B@SX&II zHTrbb_bYp#MH_&$-mTSTpSBC0Ze2IG5 z`0|+T@A{kAVb0WSMO3G|n zX6h8{-+5$#9~fYrp9a(zxL*RV-i@EMn9cgJv8MVq#B2&`{a6=EGFBya?SLd9)UFf? zV?M&hBjKUGg;|PyU>jsx1?SD!rqSTeZ&f(dqtO!@IFS%v{r-x)`5UQ~|9FqI*LC@~ zZ=^0wt_*?4>7?^_1-7?zkHR0<M@Y0JRZa<>hFi8O6p_*jLiS#vNr^wXoN6hUoCta zo|6S7`KdCgMWFVrl`Sf(1ie_a?u`7uGO0;Ba)I;1t{FwJ+f|()kGiBZvjk3#lu097 z7p(^uf7a%~iT@l?WYq_(7>%1o;ypXhDL4GY?LRv_n&25Sr=^qxNQ< zmft>z>*@#($NO|u)jA5Jru~A!(T23_zzP#RDq&FZY}srv(68gRBI7+X_SVYW!LsRM zkXqByeYTn|wqh(Lt9o|6EIm2tkkqd}Gi@1IP=d6VQB~xPhom`;iH{oB(!Mvm*qX^* zT5UQXmV&kBa=tIe4?sSl=Hj7lu8?OPmY(qs_i&;szLG`%_XR5H&R{*jvFbWjT@=x zPZ1y(uN~@$+U!OOKN0i^Ar<3FY7@SDWtZrAQ{?5xq%dzt<-lKX@kEZ<#SE_ayhkJicZe-sKr1HWqFlUmXpe} zz-B1@0}Gaj>&f^$73@`#On4x9pCsRVB>i>C_9fz{BsqLszFUsp*@V6$xA;k#z_MCN zK1RYu&uSxpRzgd6TNSycPvW*M+^LzQdO0k6dt-GZ>mwq_Fxt6^w>oHB>#0> z>e43iJH7jTSoafcbpN)`;Jo#ZsKjJn*8OvjNn$WGjNaerYxI8RG^VlThz{GQDs@ifuEKZ0VA;7R!lfBc~%;PDdywk>xb$#6NNpJvmL67o9{- zu$SLG@la0Wvc{Z9sOLnc7fwn;?3-9l^|YS~;_&SXT170RwfJ7(ymEK+m#9_!!|2XL z!uA}(07E1=5%5@4Q817D46PPdE3uYSO`Tl zN_#M-PD~>h$zD;+^3m(84$18c-1$VZe>*BE5vs0G*TEq3JF*61yggB z_||XU3HQ{w9`kcQ;ACsY?@-i}zJ;JFu(w3MVYQ?#L}#*lOcNi{FO6Q+52m-HTZv5?*jlIHKU z!%Y^6H8*s{rv7yh;$bA#+^i=|b2FCo9=O>@dJ!bmlIca#2gz(AX)Tg!UM6_3ksizn z%bKwt+Bj!gdpOdq1#yg#Afa*w?_$5~iha z!h;I6}n;-iu<4xPxL0KOqGNL+nWiOnn2NFE2k& z%O$*O%OyEw36Z}V6C$CpTv9^krKZC}iZS2A@lfxg8`cE@OD&DZFVGAWzm|8V+zSjV zcP3P7JglkCL?0ckbS8#QccLv%$KxyEVmU>X!tHH5KArHnm!0_Z8#5p0gnQ1C%((Jh z7Tk_?%VFOT1NRv`)PjBTwBMyD z|LY#k3;X2tze@w{Wzcq;N}$uW045e-%%m}vFV}=}SH?-#;);JoSx@ctgkFG~-YDeV zL=ig!;KH{HKxakl%BX07E{fQVQQZN$Dq;_!?1~rz7_EpsnJ^Zhnp|Uq~J+#8HeI4Un#gV;E%vSg43&8TBMU zh9Zt*lzlv4nj%hMCIQS<#AHTI1{kM^Qy4WBV1gp1Fe()wKoO@gYB~UV zB#lu|10*Zr3`Wfan6HSl7&Y4tI8_nnFmf(Hsv6mdSI(gCI`Vg{oY06eXT z&ob&cfEkLokWtSA%v8h|7_|tXmm)4^)QbSE6_LVXlw=;T#}-Xe#4JX>1c1D=8MOpp zydo}Tlmp;-MSPi2IRMWoqLWd}0H!FSi&4t~7ARsaqh0}+tcd?(R35-=MSPV}uN{cB z7tK<{6^vX75UGf(81*_pM@5twwHlz4BEG?>Hvy37TZ~!*&`uHGX4E@O_AaB=0)#2z zI!3+6Wa}BV0l<#ZywAuF0D3Fphm6_?fKmDpqdo?BOc6g})FyyFiufs`J_CqX#LpR( z571W;H#2GrKtDy?%BXDs{T1;GMr{WefcaOzNH>v+xPwuJjQWyMI~nyAqrL{PDB?Ga zDq^x?M(tu$38QucJfeu-GD=~xQbz3o2vY3gUPkT%SgMHo8TB22LlM7c)B%9{iuePg z%9!jRqYg3ZFr$tz>PJQ$Wz;c7l{4xmMjdCA{RAUVGV*6e{lchU8CAikQ;a&zsNWcM zhEZo3b&gTz8THZ+Y&bK}1v^D^MT`bOZ*>P~iM7uT7_Nx101=AV8{jELd<>wKBE|z? zT=fHJqlg0l+A88efQgDI0kl`d;Q&u4Vj{p8MH~T;pomETBNTBoK$0Tb0LCiflK`U> zaXf%k5uXBh9RHT64D&Bh5hsIuK@q0{ELOy)0WgGS0*q9|*#H<9a{&e_;yi#sikJ={ zDdGZv!HW1Czz{`z9$=^t64y^qJJcvZ-9XIhP{t}Nh zZ{sm$2_9YE#N(?icu3iJOu<)r>N`$slp8!LRPBUG`trI>a=18tm= zwo$IPzJ_s^D>x-RbquE@h>cUyaxmE`DSxrN=_(!D4(Z1>a;hKOfYx|QqTt4{?NDq% zZ&(@;2~xz9uNOpEtk=8)4M7EdX9_+(WFB(*^plTTXL%g*5od8fs>69o*;eiOpv;f zAbmAJkban2@us|^fptTR4WL1qBG<6kdjQGKozLtl*U0vU)&>94BRT0+LZAHSyR0MaBH z3Rnj)3y^*hln#hHS<~}?xIZ^72c)s_G9cYHtO2CA#Fc=wa*P9{ij4uJN~QtQ(lZ$l zz;2?z6qEu{GNedGq(I7)2nD5plmrE$pcH_D!O25^k~Cmq;=Ht3$@3OY9M*SaQo@L^ z4x|v)KY4EQl(h7Pv0HsFjMEv*QcH7zvR><gj!&E?dVyv~HoE&R?)z276ZuxGk^)>H`*dqF` oto&N5V3O6hpN}j^){S14b}xS-S@9W+&k%fu7JMQN8&&ZC0D-FET>t<8 diff --git a/bin/kernel.bin b/bin/kernel.bin index 3cdc3fa54ec01df1d506676bb3f5841c0ab5bc7a..49a71228d4007b955d61b73ad89aa600420ce07b 100755 GIT binary patch delta 15969 zcma)j30zcF`~RI`t`0glgMpx8jyND9D()+ZEQ)4IN^kaRCA3P)PFUN?X+}_7%^RvrmdDF z$vr``cycO@Qbjv{%2tGSZT!julEikIYco2Q*h~(C z%^7BMrWlrc@{&Z185ERQ;h_giIHcLCe`3H*c@Z&?zE&3ZE@Nc7-~n8V4(rM zMPf}H*PV8w<7BeqkaMUJv9F5QW-YekNuy)H-J!3y_J56MmCp2X!JZ$vWs$>s^cS?8jg_pxnK_fCS zp@Np`G@HS$*%|wtGOw5c(oyAn&~SicwM~(+qb}K@I)@qieTw9cA-Q9@L!CNQ-f==y z<m64e!>M?(V+>`ViJl<)P)Chd!iYK0u#>LwHoFm-n@}W6 z;o-2V(mN%p)DnyA_ep+qpjyGDj+$ho*sxl;LC%o|$I-tjL2j&scqU)T(P5*Ky9Sdq zuCF91O%R?h{XehW>!{-8|L66pQihtWOIMTiBh=&|T!v9rqy$*Hc`_z$sx95kA8jAYV@K#>0mv8DrvZsGm9&=DiuYgrn z5mf@pQKL;oehQ)C(Esi@;iF1Lpwp1^$9;i({YN2WKjIMwzwE3uvRUi^%Ewr2U;WyDSFZ3S$;b2{^CQ0-x>>V8S`SD z;Up`5?xZEun&mUI}8&=WciI8SbO42TCj#4J^peMDZsB1(-?|ev+ zz$j$CYfFwYMdF8_&?HGDfjK0*NFwo0kZ37JKgpIvv|7-L#<851 z@uuCHUk~ydFZ^1)!$6t$q#Af; zK-8NoQ)RxCa9nV0Vktbj1=JCsG>`iOA_G~%V+7&2-~n1QdB-qgXmPdsR#!aj?l82e zSgGNID4P<3S;RZsCrKNqCt_t@MsMmjbmGx~K+jYlPdh*=HwdhV5Zv3l6daAezaN7dXYLeFR z3RcqgR@dcqnonXtySuCA^CrMOFd%)4q;>px*BS97m&Q;Xw0|P%+mgT{i3xjvHjakH^NwS z!NoprKRYKIW2nl-R7+lY)9Wor(&*e!cSXRmT>{!MyAKBh76|w=e|Wt`p1eqRO+bFL z6N07JOFtgQ2)Qo@9zIGQGaYlN;tPAe9wTr6;MHK;`aBtTrT_*rb^6A2=TgK7-U-Ti~6YW((^d zjskyMncNbJ38Z+@r}zn*6eujDSV)RRE!gtd82zN5*tS?juRO$ZI>ejKybR6I7<733 zNb&G?z{5K-@bIEj+NP;FFHdIYI^dxn!E)l_O}}e?Hu8H&_{G8Rp@3g&pP$Uj2eET; z#}Z7K#0Ti%9_hF~L(^-wh{oy8CRoDsV}~;}KHk(5_WV*i)GOsdtzMQ+ zmWVeV^w-OJzpq{vJ~WB-=~SX0JB+EF;!RUDKP&kS7k&xw8y@g$>+@^GhYn=Ny{Duj?&hQ%+@U!~-jC|+-)~EA}`UT&y4?E{K-3ULWf}F9UbXm}JcYv>A zA9QII5{dU`j^pzjtPZm;xUP1I)d$C+I; z(*5n1+I;N?@pHXddAAZhPhq{g$D49BKkSY8=~Us@9e!v*?8r-Fe11*%xn8WiJNyQ- z-aYX0()?PIUyAVS0l(CMU#!nBn4jy(%6lxcp9z(uV}}fqa+o}GA|+|v+5_}nGVtkO zlrtoLfv6gy((f1;c}BqCDWWcufvtgo%!4H9Aa9b)?C-?p*whZe{?k!~DsFFz zseDtH-`?@LLXQWp$M)W#f}@i1E5!ZEt5dK>g(=c&i1cR!Vnz{lHG=)zGt%DInQq*m zC7*8EP*)e@;hVzXnurC!UDg4MN?#Z&Sk^f#nOZuDVeQNzvoRH&SQ4SbUX?I8r|nP&X#^3Q}JnwdULhS|yq6 zI)mc;E3a26#nA98l!pT;A3J1Z|LhZGUqVJZ;aJ;WDI$6k(Or~cqF*CAT3JPO3DGT- zQlgg;-9&kn=seI>CD_d0y_a_;_x>*1v$`Xtge z;$M)aVaHcOEQxHsk;AZqY63A7p*@WCL4 zxCxnS{q*>>7~)$3OB#$=EsANmC)ea0YQhwK1OkjyW9>N_)||x*NYTgq&ZZCO zultd091yKjUDX3t>Uw%QVG*oD2*va|;;h2@;Vz4ZEE24eNV0__t4p8-lw=vNv*k(Y zO%Ks#xf@IArZ0`P zmO?M0YQxrP5adj@I5RES;9PgiwYc91v{8d)61AP!jD-wp`PlA&e4CJ8!*`5woZ7Ah zMF&E9-VXU_ClKI<8@;EHb?*jQ&nHjKkUoNxljMAb*$0i)pY6py8_5y>r8pNc;9Nu*NK$JPHZrwUViwWw;}zqmIe6aSEa=%X z)WiP+UKvZ8O?NZ{NpqIHn%cK{loffGLxm|ip3I!=+tdQxEjBr=oxX1ywjwPiB(x1; zRyjV$_-<~)l(hQ?#9sD#m)*YYm8AJQAdLWvBRFoyqq-8uLKuuD%0h}Z8+B1u5!D`4 zwQPHvg{I%9kL%82)B9)Hph%KX!v!(UaAL5F%Zc$y#m`y8>A0eSh?k-sP(w@G6Jwrr z9ch<)@*{X2hS(cIEM#nVdT0Bqp!o`TD2eE5Wu4b7?ZT7T4FZZ>No_)q27%ks8_!b( z9F!XJI*C5GC6b*d+3zIVPckdX>PgnK46-dG^YnsjAXsHQ$<~srv=`o4l~YK#goFi} zkerK2Rz|W}kSSY;`WBCLRjFd_3wm>3jKwMJ)I`OeClz{29o9zMaY!MCul^Iwgsq3i zTD;VYJm#Wv5WA$?AKtDq@2Q&Zu}4}lqY4sQwnKr;MYKtPoDW4nC6fF)gVHR8p-nT) zZJLoAmXX^gBR3YW_c*eXVTadyBGG@~OA@d5zC`~_bQ2|+=nJ5g45H3~Dy}i_Icc7L zngVNMHQf_wWz&atux}x|EV4TRs^Cwr`MJ(`d*40rePkT{% z*hwtAY(sp)J2tVv#i zCL>XaVny#uu>1A91yseQq^gw*Zh7asouV)Mt8e7 zz%9IN#bIqE&Mu=G=7$3K^1}u~OK_$q%vn%6&PK~-E5rd`q7W}K6AqM0+xZ{kz%>%* zgi(cut-kqzaN=K%c}tGDET>TptBg1G!Lh+Ul0WFUp6WEbX?lXf=QdNY&|`Jfc<<@L zKg~-nD2B~6fS7x{duQ!)r6Nx55Bthw*y2%H)!DyDCJyv1l4jngEw+hbJ<>L!!yVUC zoTiu14*MmpMK5aZSYEKhKoZok@RoW04}WX!>31+Mq*}9M?qRV(nTYV+u#S3VGix?H zqPv3RwAz*-8S|dcN_sXbgNdg&?Fn7Mt;qR@3jP>1|6Nrc4H-^X#ynwjJvw}=u07fC zZ0w=5MpuSw{E@qO7BeErF65YuciG*GUr*+N*_bc+;^rZ@hW^)3%!Ygn)|`g?rT}jj ziOCq`h6exN{GBs*XD?Bz5R||({g^0M8!AhQsadh%F=vR-Q;9s&JwAO94A|s{9=0c< z&dPf<6Rx00+NqLqkl1gCeHR^6ju3m2*v-TqBlaM%uMqnYvAc*ZCiWDu8;D&*>{(*h z5<7#~&xlM9gUA0x`3R9-@3t^hBcjD?bwb2+>`XpNSqubhL7nXgYw# z@^p>pZbUax{@BclM$XaKZ)Vp?1~u`qRYH{Qt)xGelxlEfrxZJfRbDhpkb)ES|rg@Jx7j;#;%sI-LAbz~P zIHXwitrtJLoekpqAlTJR(^Y`P!RW!CjGAU0*#BA+u|$N>7*<&MZ#V=L3@_GF+#QQj zO1HJ<%zNw_7Tz4Sw6X7L;FHL#^tLwQNQ)9IycxOF#HYhgdsaM=JgGq}`ci{EHR$UG z#gjSq2oev|43W@Z(`7I)?>Sl$b)Pc{5B6JQIyV>E z57eRziPofb5PvnM$6)cgbMq~jjyG}R&!E)!Nntl^Tsp_~{%tNox**nFAFyZ%3#3bO zzWpZaHa^y5`nTV`bv>IrzI*GrLm`NSlt0e#2DJtBC;ns=RtRz!&bAE?j8vhuLqn!RSHH<1Buby_d8##-p2gsPW2&>WhnYU~1bFS3q(ci?;xyYK(5?2aR!p zUAzoN?CV+4X6+zqY~r#ijGSlPT4tWzI-UaHsl#g)UiyX%#q(*Z3xW_LYxbB9QZN^cxsALsY}kp}@i7!l7vse~6?#W0LU^>L#eEpPR8CS?C;r6R zJk{N{Bm4>z`mvQh0$fP<=*(k{ z3o1n}-TkcAuUz^uI#!6(Wet;SB(h^?o=RyhJlmW1Rw3z?R1p?8XHF{;qqvRvDr~W9 zI|#K?E6dI~5n5OO=A0XUP@pA>8(+iO&vWLP&IANuoXwcqEvp5(w+wxvCE>#yN6(Ke z5NM>~qvje}RUCFCTu`dvNEj%|eUZXkrnnO?(eqQqE5Ad9>PYg=Mkp+xXaq$S4WH!j zn01yM#UkabuE|;L$zi4Qf`_+#+~P4xRqo%(p&mDWiU!j93nEo(E9f5beZ=v-=8i3t z#=E6$e*1Mkd-mPDzIO8KcXL7G97ht7^bv%**?fXXzn}vN zjs_g88ViTQ^X6sW(qUBaNw~#AOwWwrS_~++F_6b*ya>&B2)!4mQV{c)Z`r@+x3)$G zOm@HoWv0yVQl|zsME?@QF3x|&WD6MGxX7Mg&^ayvM%oUPPAstlCEmXSy-3k-oX6XE zbQ5g{dj4rS0($=rbQ`{X#hJV1NoLBm2Em!NUD%=*#T4623U|+KCMkW}O!8cu`(Qi6 zcGTO18=sA7TjVLOq!%SnoXqH9?-P+Y4#M!+ezd4mOYafqu;iktZq{5}#!l5o0TXyv!5?0>MHi>;B=pudYFFigHKX0us~twB(-uDK1n zNapwKA}M`cB+t(m$LN3F$8^sW5C3F8QpcZEHT)YV>@=0RIY=yaBj!#|q^Jy}JgYGX z6*}#$i8ZqDa+EtGpxgQ-`{bE^t*ujGoJGbz9EI*Dv{E}mO`()IVA2@?s%hPC5i)cOzDvDwsfx=C5O`P2HCgU}bDG8)4CoMe~ z3YqXo(k>va7UdXGS`<6k-HB31zb`#V+6nvZ2s4q?S{T|y^V6j6OlmDmAyHbGeq?ti z%sXT!lU7TnHEHi8vx>BrKJiCMB0DW!j{wyXlwDa%J!u;dh6kvoL>(usj;OHrK;58# zJ&F36s4SwsBPy4u&xqPa)W<}fBawKx1pLOREmQP!6up?h``3jj6rwRa_@sKTmz{VzA_7|f z6SE&O-xD*N)i1+qsZP9>D5CGR1oECw47KEcEx~ifbG`4IMXt1F;^0cQso1!)&k9zQcpTUiP zfzq!#3@WEO*=UsfWX@E{kzH@L);Q8{YBDUJ_)|+CdDD>@HO+yJ%t&^IANH{Ci){9q zK*;F`c}#5Jv~3t|q#v($RN=324p}@>Zm(i-(2PF@Nq_1$tt^kMD}oC38R6IM6}n7K z;XPT~!>=HxtD2M5?-T*uli0Ljt1gs&FP~50&G9)2#i9A@w6TGD8)!HmCk1oSrPiuE51>=!`G9V!yg+cdfbOcCC%Ak-4^@7eIJ+t@ z1ol+rMMAk4&`Xt{5!@0$Z&iL)a7zJwRM{@L0zh9?UM9Hb0R2?CP;f;m0g0{4Vb3N?+R`YV1_F16`TT?smhgta|33n@;<@s2Mkc<_XKwU&_R{o7o6v+ zJ;pOZl@AK`5CC~s3GOgpyec0NoC;X1%GH893RtMh#{~BQV6rNID7fQ*d{zEPa3=th zRQY4Uodi6k%BKW(`f7~bGh3BE5$qX2f-0XC+^2vps(emxHGrox%X?Xr_2=*qis{DuGZVB#B z!PN`y{{(j%U{PhS;G|zQKOF$iy0h&|HX94r^o@l4axd4n-KA=6;K0DB+%8LOps=Ng7 zgeoru#Hw-u0Q2fOK%6QU0XnMk3c!&L==Hd@apQLMdE6#n!)^5%yeP8*DSYz*d%L7p{H$x*E4`Wa|0d{5 z7QBCZG=)+J&HTG)P#9oae`u1ud@3}jomi&9Q zYcZ~WtB z-x6kJZ@C)p_+HnII}?MK+KVO?JIDu%)}=S@P~Mx^g0nnVG{zWz3l~ zQ48EW>3z&qi@LLAs8}!R`!BL3v#n(hp`j8B05t|X=?c^ za2eTXQvmpvabWkmB6L>P%GEmB3LmngDGK<@_+@TnkGk46!k_I*r5o5>bgb0XL}NE@ zU}dgWEv)3F{WD2cLeys4Mp6v|O9uk}(3jVXlA(t3=qf5(&s?@1Rz}o(%ilTq%)OzAbl184x}O62c#j{3#9rT1JWXU z2nZOgHCzsc8lq&#ketYXj42Unlp3TYs3B^U8lc8pw#s~6TmS4Qq;3#W`ZPS4=j zZX*jl(i$F}kMs#nc8P8$yJjDGvr)SL;UR1|N;F!u8WB=pLK+1^swg2%9zwj3!d+92 zn}Px_B&rd45o)Ugb9|gVj5r82>0MgL|5wH9aem{kxK>%#=j71;(bg*`AMNOG%Y^)> zEkb`Av%)Ia-9@1BKEV?{ zoZ!PrKAhsi93cD8=@x9~={3Rr2{es8_{obwQmkj^nt3LsJHJJr7|yny@Av-z;HahZ delta 17270 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 UYwyM$e$3FY+h_@A?=}qkf5NgQK>z>% diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 3cdc3fa54ec01df1d506676bb3f5841c0ab5bc7a..49a71228d4007b955d61b73ad89aa600420ce07b 100755 GIT binary patch delta 15969 zcma)j30zcF`~RI`t`0glgMpx8jyND9D()+ZEQ)4IN^kaRCA3P)PFUN?X+}_7%^RvrmdDF z$vr``cycO@Qbjv{%2tGSZT!julEikIYco2Q*h~(C z%^7BMrWlrc@{&Z185ERQ;h_giIHcLCe`3H*c@Z&?zE&3ZE@Nc7-~n8V4(rM zMPf}H*PV8w<7BeqkaMUJv9F5QW-YekNuy)H-J!3y_J56MmCp2X!JZ$vWs$>s^cS?8jg_pxnK_fCS zp@Np`G@HS$*%|wtGOw5c(oyAn&~SicwM~(+qb}K@I)@qieTw9cA-Q9@L!CNQ-f==y z<m64e!>M?(V+>`ViJl<)P)Chd!iYK0u#>LwHoFm-n@}W6 z;o-2V(mN%p)DnyA_ep+qpjyGDj+$ho*sxl;LC%o|$I-tjL2j&scqU)T(P5*Ky9Sdq zuCF91O%R?h{XehW>!{-8|L66pQihtWOIMTiBh=&|T!v9rqy$*Hc`_z$sx95kA8jAYV@K#>0mv8DrvZsGm9&=DiuYgrn z5mf@pQKL;oehQ)C(Esi@;iF1Lpwp1^$9;i({YN2WKjIMwzwE3uvRUi^%Ewr2U;WyDSFZ3S$;b2{^CQ0-x>>V8S`SD z;Up`5?xZEun&mUI}8&=WciI8SbO42TCj#4J^peMDZsB1(-?|ev+ zz$j$CYfFwYMdF8_&?HGDfjK0*NFwo0kZ37JKgpIvv|7-L#<851 z@uuCHUk~ydFZ^1)!$6t$q#Af; zK-8NoQ)RxCa9nV0Vktbj1=JCsG>`iOA_G~%V+7&2-~n1QdB-qgXmPdsR#!aj?l82e zSgGNID4P<3S;RZsCrKNqCt_t@MsMmjbmGx~K+jYlPdh*=HwdhV5Zv3l6daAezaN7dXYLeFR z3RcqgR@dcqnonXtySuCA^CrMOFd%)4q;>px*BS97m&Q;Xw0|P%+mgT{i3xjvHjakH^NwS z!NoprKRYKIW2nl-R7+lY)9Wor(&*e!cSXRmT>{!MyAKBh76|w=e|Wt`p1eqRO+bFL z6N07JOFtgQ2)Qo@9zIGQGaYlN;tPAe9wTr6;MHK;`aBtTrT_*rb^6A2=TgK7-U-Ti~6YW((^d zjskyMncNbJ38Z+@r}zn*6eujDSV)RRE!gtd82zN5*tS?juRO$ZI>ejKybR6I7<733 zNb&G?z{5K-@bIEj+NP;FFHdIYI^dxn!E)l_O}}e?Hu8H&_{G8Rp@3g&pP$Uj2eET; z#}Z7K#0Ti%9_hF~L(^-wh{oy8CRoDsV}~;}KHk(5_WV*i)GOsdtzMQ+ zmWVeV^w-OJzpq{vJ~WB-=~SX0JB+EF;!RUDKP&kS7k&xw8y@g$>+@^GhYn=Ny{Duj?&hQ%+@U!~-jC|+-)~EA}`UT&y4?E{K-3ULWf}F9UbXm}JcYv>A zA9QII5{dU`j^pzjtPZm;xUP1I)d$C+I; z(*5n1+I;N?@pHXddAAZhPhq{g$D49BKkSY8=~Us@9e!v*?8r-Fe11*%xn8WiJNyQ- z-aYX0()?PIUyAVS0l(CMU#!nBn4jy(%6lxcp9z(uV}}fqa+o}GA|+|v+5_}nGVtkO zlrtoLfv6gy((f1;c}BqCDWWcufvtgo%!4H9Aa9b)?C-?p*whZe{?k!~DsFFz zseDtH-`?@LLXQWp$M)W#f}@i1E5!ZEt5dK>g(=c&i1cR!Vnz{lHG=)zGt%DInQq*m zC7*8EP*)e@;hVzXnurC!UDg4MN?#Z&Sk^f#nOZuDVeQNzvoRH&SQ4SbUX?I8r|nP&X#^3Q}JnwdULhS|yq6 zI)mc;E3a26#nA98l!pT;A3J1Z|LhZGUqVJZ;aJ;WDI$6k(Or~cqF*CAT3JPO3DGT- zQlgg;-9&kn=seI>CD_d0y_a_;_x>*1v$`Xtge z;$M)aVaHcOEQxHsk;AZqY63A7p*@WCL4 zxCxnS{q*>>7~)$3OB#$=EsANmC)ea0YQhwK1OkjyW9>N_)||x*NYTgq&ZZCO zultd091yKjUDX3t>Uw%QVG*oD2*va|;;h2@;Vz4ZEE24eNV0__t4p8-lw=vNv*k(Y zO%Ks#xf@IArZ0`P zmO?M0YQxrP5adj@I5RES;9PgiwYc91v{8d)61AP!jD-wp`PlA&e4CJ8!*`5woZ7Ah zMF&E9-VXU_ClKI<8@;EHb?*jQ&nHjKkUoNxljMAb*$0i)pY6py8_5y>r8pNc;9Nu*NK$JPHZrwUViwWw;}zqmIe6aSEa=%X z)WiP+UKvZ8O?NZ{NpqIHn%cK{loffGLxm|ip3I!=+tdQxEjBr=oxX1ywjwPiB(x1; zRyjV$_-<~)l(hQ?#9sD#m)*YYm8AJQAdLWvBRFoyqq-8uLKuuD%0h}Z8+B1u5!D`4 zwQPHvg{I%9kL%82)B9)Hph%KX!v!(UaAL5F%Zc$y#m`y8>A0eSh?k-sP(w@G6Jwrr z9ch<)@*{X2hS(cIEM#nVdT0Bqp!o`TD2eE5Wu4b7?ZT7T4FZZ>No_)q27%ks8_!b( z9F!XJI*C5GC6b*d+3zIVPckdX>PgnK46-dG^YnsjAXsHQ$<~srv=`o4l~YK#goFi} zkerK2Rz|W}kSSY;`WBCLRjFd_3wm>3jKwMJ)I`OeClz{29o9zMaY!MCul^Iwgsq3i zTD;VYJm#Wv5WA$?AKtDq@2Q&Zu}4}lqY4sQwnKr;MYKtPoDW4nC6fF)gVHR8p-nT) zZJLoAmXX^gBR3YW_c*eXVTadyBGG@~OA@d5zC`~_bQ2|+=nJ5g45H3~Dy}i_Icc7L zngVNMHQf_wWz&atux}x|EV4TRs^Cwr`MJ(`d*40rePkT{% z*hwtAY(sp)J2tVv#i zCL>XaVny#uu>1A91yseQq^gw*Zh7asouV)Mt8e7 zz%9IN#bIqE&Mu=G=7$3K^1}u~OK_$q%vn%6&PK~-E5rd`q7W}K6AqM0+xZ{kz%>%* zgi(cut-kqzaN=K%c}tGDET>TptBg1G!Lh+Ul0WFUp6WEbX?lXf=QdNY&|`Jfc<<@L zKg~-nD2B~6fS7x{duQ!)r6Nx55Bthw*y2%H)!DyDCJyv1l4jngEw+hbJ<>L!!yVUC zoTiu14*MmpMK5aZSYEKhKoZok@RoW04}WX!>31+Mq*}9M?qRV(nTYV+u#S3VGix?H zqPv3RwAz*-8S|dcN_sXbgNdg&?Fn7Mt;qR@3jP>1|6Nrc4H-^X#ynwjJvw}=u07fC zZ0w=5MpuSw{E@qO7BeErF65YuciG*GUr*+N*_bc+;^rZ@hW^)3%!Ygn)|`g?rT}jj ziOCq`h6exN{GBs*XD?Bz5R||({g^0M8!AhQsadh%F=vR-Q;9s&JwAO94A|s{9=0c< z&dPf<6Rx00+NqLqkl1gCeHR^6ju3m2*v-TqBlaM%uMqnYvAc*ZCiWDu8;D&*>{(*h z5<7#~&xlM9gUA0x`3R9-@3t^hBcjD?bwb2+>`XpNSqubhL7nXgYw# z@^p>pZbUax{@BclM$XaKZ)Vp?1~u`qRYH{Qt)xGelxlEfrxZJfRbDhpkb)ES|rg@Jx7j;#;%sI-LAbz~P zIHXwitrtJLoekpqAlTJR(^Y`P!RW!CjGAU0*#BA+u|$N>7*<&MZ#V=L3@_GF+#QQj zO1HJ<%zNw_7Tz4Sw6X7L;FHL#^tLwQNQ)9IycxOF#HYhgdsaM=JgGq}`ci{EHR$UG z#gjSq2oev|43W@Z(`7I)?>Sl$b)Pc{5B6JQIyV>E z57eRziPofb5PvnM$6)cgbMq~jjyG}R&!E)!Nntl^Tsp_~{%tNox**nFAFyZ%3#3bO zzWpZaHa^y5`nTV`bv>IrzI*GrLm`NSlt0e#2DJtBC;ns=RtRz!&bAE?j8vhuLqn!RSHH<1Buby_d8##-p2gsPW2&>WhnYU~1bFS3q(ci?;xyYK(5?2aR!p zUAzoN?CV+4X6+zqY~r#ijGSlPT4tWzI-UaHsl#g)UiyX%#q(*Z3xW_LYxbB9QZN^cxsALsY}kp}@i7!l7vse~6?#W0LU^>L#eEpPR8CS?C;r6R zJk{N{Bm4>z`mvQh0$fP<=*(k{ z3o1n}-TkcAuUz^uI#!6(Wet;SB(h^?o=RyhJlmW1Rw3z?R1p?8XHF{;qqvRvDr~W9 zI|#K?E6dI~5n5OO=A0XUP@pA>8(+iO&vWLP&IANuoXwcqEvp5(w+wxvCE>#yN6(Ke z5NM>~qvje}RUCFCTu`dvNEj%|eUZXkrnnO?(eqQqE5Ad9>PYg=Mkp+xXaq$S4WH!j zn01yM#UkabuE|;L$zi4Qf`_+#+~P4xRqo%(p&mDWiU!j93nEo(E9f5beZ=v-=8i3t z#=E6$e*1Mkd-mPDzIO8KcXL7G97ht7^bv%**?fXXzn}vN zjs_g88ViTQ^X6sW(qUBaNw~#AOwWwrS_~++F_6b*ya>&B2)!4mQV{c)Z`r@+x3)$G zOm@HoWv0yVQl|zsME?@QF3x|&WD6MGxX7Mg&^ayvM%oUPPAstlCEmXSy-3k-oX6XE zbQ5g{dj4rS0($=rbQ`{X#hJV1NoLBm2Em!NUD%=*#T4623U|+KCMkW}O!8cu`(Qi6 zcGTO18=sA7TjVLOq!%SnoXqH9?-P+Y4#M!+ezd4mOYafqu;iktZq{5}#!l5o0TXyv!5?0>MHi>;B=pudYFFigHKX0us~twB(-uDK1n zNapwKA}M`cB+t(m$LN3F$8^sW5C3F8QpcZEHT)YV>@=0RIY=yaBj!#|q^Jy}JgYGX z6*}#$i8ZqDa+EtGpxgQ-`{bE^t*ujGoJGbz9EI*Dv{E}mO`()IVA2@?s%hPC5i)cOzDvDwsfx=C5O`P2HCgU}bDG8)4CoMe~ z3YqXo(k>va7UdXGS`<6k-HB31zb`#V+6nvZ2s4q?S{T|y^V6j6OlmDmAyHbGeq?ti z%sXT!lU7TnHEHi8vx>BrKJiCMB0DW!j{wyXlwDa%J!u;dh6kvoL>(usj;OHrK;58# zJ&F36s4SwsBPy4u&xqPa)W<}fBawKx1pLOREmQP!6up?h``3jj6rwRa_@sKTmz{VzA_7|f z6SE&O-xD*N)i1+qsZP9>D5CGR1oECw47KEcEx~ifbG`4IMXt1F;^0cQso1!)&k9zQcpTUiP zfzq!#3@WEO*=UsfWX@E{kzH@L);Q8{YBDUJ_)|+CdDD>@HO+yJ%t&^IANH{Ci){9q zK*;F`c}#5Jv~3t|q#v($RN=324p}@>Zm(i-(2PF@Nq_1$tt^kMD}oC38R6IM6}n7K z;XPT~!>=HxtD2M5?-T*uli0Ljt1gs&FP~50&G9)2#i9A@w6TGD8)!HmCk1oSrPiuE51>=!`G9V!yg+cdfbOcCC%Ak-4^@7eIJ+t@ z1ol+rMMAk4&`Xt{5!@0$Z&iL)a7zJwRM{@L0zh9?UM9Hb0R2?CP;f;m0g0{4Vb3N?+R`YV1_F16`TT?smhgta|33n@;<@s2Mkc<_XKwU&_R{o7o6v+ zJ;pOZl@AK`5CC~s3GOgpyec0NoC;X1%GH893RtMh#{~BQV6rNID7fQ*d{zEPa3=th zRQY4Uodi6k%BKW(`f7~bGh3BE5$qX2f-0XC+^2vps(emxHGrox%X?Xr_2=*qis{DuGZVB#B z!PN`y{{(j%U{PhS;G|zQKOF$iy0h&|HX94r^o@l4axd4n-KA=6;K0DB+%8LOps=Ng7 zgeoru#Hw-u0Q2fOK%6QU0XnMk3c!&L==Hd@apQLMdE6#n!)^5%yeP8*DSYz*d%L7p{H$x*E4`Wa|0d{5 z7QBCZG=)+J&HTG)P#9oae`u1ud@3}jomi&9Q zYcZ~WtB z-x6kJZ@C)p_+HnII}?MK+KVO?JIDu%)}=S@P~Mx^g0nnVG{zWz3l~ zQ48EW>3z&qi@LLAs8}!R`!BL3v#n(hp`j8B05t|X=?c^ za2eTXQvmpvabWkmB6L>P%GEmB3LmngDGK<@_+@TnkGk46!k_I*r5o5>bgb0XL}NE@ zU}dgWEv)3F{WD2cLeys4Mp6v|O9uk}(3jVXlA(t3=qf5(&s?@1Rz}o(%ilTq%)OzAbl184x}O62c#j{3#9rT1JWXU z2nZOgHCzsc8lq&#ketYXj42Unlp3TYs3B^U8lc8pw#s~6TmS4Qq;3#W`ZPS4=j zZX*jl(i$F}kMs#nc8P8$yJjDGvr)SL;UR1|N;F!u8WB=pLK+1^swg2%9zwj3!d+92 zn}Px_B&rd45o)Ugb9|gVj5r82>0MgL|5wH9aem{kxK>%#=j71;(bg*`AMNOG%Y^)> zEkb`Av%)Ia-9@1BKEV?{ zoZ!PrKAhsi93cD8=@x9~={3Rr2{es8_{obwQmkj^nt3LsJHJJr7|yny@Av-z;HahZ delta 17270 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 UYwyM$e$3FY+h_@A?=}qkf5NgQK>z>% diff --git a/lib/IDE.ppu b/lib/IDE.ppu index 137930f2ee21b2dcf39373896e2c593dfa2f0c02..310dad7ceeb729864c9484ae66e9b4ff6291d0f1 100644 GIT binary patch delta 132 zcmaFl`p9*H7qjcCGZTFubM&h8Y|9VWZMxZlF@u$nbMrzrZ&t=FlizZ;F&>>G3ocK%V^W@DIj2WzqY?~Ldd9yNZp8S@(jq%9j5}tjG zcP1P29tDy=c{3UHHz)JOFfuZ3KEUrIz}PgIS78E>oTm^2B!4SpGDb~KRZIbrrxdk- bi6A%CyEft&>Tc7*Oo0 zhzsqaJP_(agd(n7)QF3^skjjFYoi+xDgFQvw*~dS>BKt2+;`qN=bpLq=C%4Kq85v# zgYl%WK!At!Vh@~E0G4k~KgZ`6fP@1L&MelOE`?wo5s(xg+QU%7s_n9q)#9=jt@fj>ZktvEl; z(Jzurho$BrHvxf1FGm0&&H`|J8^#H+yRGm9L=GJh`aud4mHxomYu7&dlJ9PfxCRKx z(OI|d3!zOiCynZ53y4NH++lwhDVI5E>J?*(alQ_Xgjz!#-#KoNL_>0Se6J*;2RiW~ z!QEK5J`6}~OW4VTt{@X;Ox>uml!83$J z^OTXPIF4)He7XnCE~8Sl=E|3_D_~E8-#+eiPT{%(&xyT;+q}-AH71#k&iGk7`4%#_ z8A}p$$Tu+(MJUzuIo+%y6>SIKa2gkI-41TDJ`MM<=;#Px$qs&m%wxuq6jl7^v;7GF z1*g<@@O`Io1y>BRcibkMg6#8Qed6c{VHNQjPoMb<*$8gsXf8ckNarsaRilBYK delta 778 zcmZWnL2DC16rS1aZq{a#EUmHDCe0>Y6Vs+jQ$-I#LbO5xxj1L6jisJ4vIRqVJXfZPCWa!m6yomb4O~gc5}k z9Ew4SB;XncCda7`TfSqm3nc%R28@eGIv?dMrIVm3W+;XNnbj=&hC^ru+Dbe;gpi-r zn7LrhaqO`&N@Jb(%C3-01te^eUJM!=#O$7((6sF0100V;F-wcgv}~@H)l2>B{CM8; zgx7*Xh;|4}br9~TT3`dQO^(wsSW~YCpZ~*u1slOk-~%E%9%C#xRY)M&Z!OqPvp$ci z!|r&zi+7%K8`mD3!-on7tK52&w?27&j(>KYe{e*^pgGtJ&g#Qh$_=w=vSoyfuJOJn z{0@y!e@Ny6@97cYS@1+)2qE3|$-~Rg^yG1D|MAHux;}lLGKwo6&~+6K3?$Q$5ayKE z=jJ0=Pl&J-F16#hRgGfdN~thawQQ?}FHK!fO3ovV-#Lxwn3YzYHEuf2A~Jq|ElMsT zBkMAfn2)yVO=j8VQgzN@%(UmLtd4vB1LV4j%c#h>3IlT_`Jbe=?BK=cyZn*})0*)M Dlhler diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 35e04950a521c1451f5255191cc1d8082cd2fda7..5720ab9c0c8fc1cc65cafcd627907f13c343d5c9 100644 GIT binary patch delta 1480 zcmZXUe@IhN6vw%%nPU^w>P-sqM}ej?*M6`9HS3SSc!q*u!DQlsehEtShoQkjs5WT5 zywxZwrpx{?3+-gDK_mUcLLyP{k5B?BD#gJn8Z|KLy{WtB+JEnJzTb1tedpYJJ)tyD zC{4=MI&8K*w&B7@`jsylj0>=!|FwbPb1wl6eVlDzA(+WtL=Jc_9NEZJ>I;i-WBWzy zFz0>8Sg|9HQ7pQNak+%ULDM~?QmImeAxkX|4VpwcWEq8>j_Vq>51889k6a*C-saIj zpzgp`ltIniB9-=!(krb7$UNx9l2{}@t*OBa92ZA0&NnLSRo4%rBrr6Dc}s*x1EF`T z3^3*F$61nV9NXI6V;CiuQs?N&FwQ7Da|{gtf^Fy1Q6Fp_x=jexjneA+OgQK1#fzA` zdvTrUCERv+;7cHt&Nr$p*Mja^D++_ugZCP!GZ7J9+`=(x&N~br?}Ttx@IH1xSKkCy zn;&v&#Q;)`Q1HZr&8LTRQ74q6SPQWc4|e#%?=YT?Xi)<6jQzpt!1z|I&Q3Hj%z=i< zCDyN#E&(EU|hS}fWWs5;)aaGnzX{kWu6QEax9l> z2p_O(*9G>auM5=ZQvq42iR-t>&MXpI{p;igU);#d|)Y$ zpciaq8V<+*(-7onA#tNKpt6?)!sTRh;AJT}B-a&_3v5b)ys(SZvQr_*%AwD|++iWQ tlGIcMD!HoUStq%SYjib}Q^m}qZ0{8twfYCoGy%V#uvgkBkNC-3%|C=76=(ne delta 1480 zcmZXUe@IhN6vw%%Er%PZ)teMDwLnvub8A?jX8jQ?-a^5!U@~z*zXT=v!_Z(MR0`S4 zTRn=3>9Rk}LOZS3pppJzA(1HfM<{_5m7=hUqy|R4H+A=1`|o|u_j~TS@0@#YAY=%H z3{sZ9#BO)(8OnW>y7EPXO9ITL{@TFsc?SUgt#kBb1ZNbTIfe!R!KU*ms1LhajGGW@8>N-iX>cykgBP*4 z_ux8QMr8kNm-E|L9h%PLI_w%!Hcp z1=he!@J@bZXaV2UPliI`8l}6Owx;6j>=Kv5=}cTb^}<=8?n4ow<34abpdy3GN7n6as39xn@&Qjf1TKXa$-x;tpysCX3IK9>$aprd(RS`mlv!A zy+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7_;L#gN=bQSy-dinYahNecw#$X44tp#h9mqXTCtEk1eIbZ%0Ba(5o ziZTe-iErMjqJ`j!ZT_Wx6v36)d`DXlm8;1(`L7xOWEmEr&1$;)82L%mlxRl*6ISXlWyAlLikX8^Lu*^WJ83U7b3Xgo6o!bLsop= z4QM9FNq3m|HY<1^M>dz)mj|I!Y_nFtNn|cx$Uv^-C)^D2%?tC+GXVe*&X;Kb delta 539 zcmezHi1EWC#tE{lh6V+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7_;L#gN=bQSy-dinYahNecw#$X44tp#h9mqXTCtEk1eIbZ%0Ba(5o ziZTe-iErMjqJ`j!ZT_Wx6v36)d`DXlm8;1(`L7xOWEmEr&1$;)82L%mlxRl*6ISXlWyAlLikX8^Lu*^WJ83U7b3Xgo6o!bLsop= z4QM9FNq3m|HY<1^M>dz)mj|I!Y_nFtNn|cx$Uv^-C)^D2%?tC+GXVf!!j;wl diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 08a464872d64bfd4c5fbe46c4e75ed5bda69a364..709f32ee3a6ca998d74f33500c785150a8bf0c0f 100644 GIT binary patch delta 4170 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 diff --git a/lib/lists.ppu b/lib/lists.ppu new file mode 100644 index 0000000000000000000000000000000000000000..eb4e3d37346d3c165bd6485cf903308a40558530 GIT binary patch literal 4314 zcmeHKO>7%Q6rQ)X^XD{alemS{aav>2Qnx{E6(J5(a%xiy#xb>9)CN?UW>qX4JH$@^ zq)LcNNCOkKfanDYi65Z~Ar5flgnC7#0mA#Z0iy?9>j$> zGI%iI+p~U}8JjtQ>78AfzTd!Z|N83&;3=^y0Yn`%261 z*;;d@rD#)sgashDWoRdNoH%aaaJJg6DjKq|xQBsV4TI<5qIco-!$l>NngFPLyo@T_XW;!6e zroxZ8)dfW{3wzvyA@1GWocJc@(OlhKbQ|q*?V_t_t3{VQv>*NoODK)mCp;Y<&w}*< zWsneTptUup!NMgdXllSK8BG=PV30dpdPEb2OVTW(uiPsgN%|k;_6mnxqP;pkg(01B)(Gy0>_88+lVe>U8YyL`4PRuBTD0#yur=T6?D3a z=tBm61T+p)Y}rec>(MLBzFPvYX?2Bhv2-M0V#I{?1r}%ehMQmEOFW`94%`pi4E=~sS7G6Hy#+M2ZCKMb ztbDPYJ6idh3U{-A{qo+!>vTkyu;u+3J}~{l%`fl0JksS&*z(>0jOkZyetB_9DXqV) zq1D8n&0XeU2P2a}(-oVCw9Uhj+`pHE?Yu}w5+>~--UJ7j@Dt!C0dFatgvkfZX5g=9 zp#(quBs{}1O7l#$+tUNI7yVvr5wtrJ-^(+Mdx;2@Ptyyx6=ipKSBBX!K`@gE6&W`SSY+l_vn_2O`Bg!TQb&$@ND&2Q?sfm9iS z-9<5Eu9qSDRX$+=XRM8Fo{fB?H-5mw2BVFS$@bROn;ypG!KdNZUTZ20ZK=iKM$ctb@UzHu$$#f8}a(*fZm<8MyFrGF5^OWk NDk@238LVTp_7^cWjGO=f literal 0 HcmV?d00001 diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index cf921aae2a8b75dfc22151d273ec5882f1a5ae8a..8d704e6a8f390469b7758a69ddedd4d1cd4cf6e0 100644 GIT binary patch delta 39 xcmV+?0NDS+AHpAyU;{;}%&}ui1_6Att_BVQ0+b4qkqH=+)(E))rn8UXaY#x+aP3X9sqJjMo0bw$cWrN?Rn}f> zcbz6giW-mz6`%+SL51iKh>#EnA&|%)stQ#CApzp0!ViSRkE%jQl@Ow$)D-i5XXehm z?%It@#@aLI&iUrdIcLtDnLAFWFB}{m34KO6b{kg`AY>&>B7AvJ< z{`}Gpe>&3toe#0CzM3yD6c%&Ey6)h<2)PNwF2MD=6lWIoBMzJZ3?56YPqm@ zx$^qb$444pdS-%caN1Gfj#}GGE+jEZBi+Tq>{2Zv#|W^fsL*<$4MH1*&I@f4I^Bs% zbx><0^K>SgoUG3#rzcZWqZ1QQq_%`9s#i|9j`(#b;I8>rmWTU;H^49>sjjQMtE4%e`JN0^;5XFx#r4> zc2EF@yliUD7jf_HWyFs9w@BV0-GiU%;ZoN!R$8ok&b6{p5?IRknc(sGLe>0X!u@Zbx*6MXhWj z#RB3uefY7^;k{&(mQg7;JQm81kWoiThNtW&)^4@ z22TeYX0KQCW2NQAD)6U0{Iig-6!6;#yf&sAPm$T>OPBIxfG>LBD@3AH@k8VoFvnfd z5u&G8*?__b-4yP@BgDu*jGr5S2sAWbs9bSWY^P_^Z5ak97SxOnC)AB|>Z28jP6cS4 zIEdyQgMJY;qr(G)8{YvMu2genL?(8|)BH7qy^ETW;iKm)G2dbX3Z4C)a1ZV*)AM2c z+;}gjakkewdryYZL(*A3x+_cxH537Tg$*b)sVRG^P|WMImNbS!bQy)++>0T3!QU@8 z>13SP*e=j;Wh%$i>}y~<%g=NrRMIlm2fpRGashdkD;8&SbC{~#7XNF5XQu4K&yDQ{ zZ7%0?^FBOo;jbAuqdF*X8q+!ld{F-$+u={9L$mF$haKkgRV0ExLc(@<-E?R-wY$RC zUk&jX_oiuMDBH3bedwKeQoo;+A)I}zHyuv8-A82IBQ8^sviS?(mb!~=KChSfx&Nb-ZIUM=;L#YnW*RPfQ{K1GX_K^z>k1y z#J7ss5gm2Vg3lW;gQee^A#g1|I5mI3QHL!4DTC((=+}V3YhB1)%gFj>R`g-p;aSsx zGpMI~Ke#oyaoBtq_M!B)^$0yCw~4$TJsP|jZys3LG?$B{i&R>9F>b`**Z$Hlp$hJ>|szJ8@of=H} zC;9r#MBK$v6XJ5Cs*PU6hijcXoy^YQquuzDNhC(oAKbmY7{-ks1C1ui`O0z;XAmipn91!!TTmhwQDgC*{YXrde=_8osphAPpe+C_V&q9TeS>lMaVc+ zHJ4Dh_X(=zuHxNAIjU2OcC&jY)3hz?e*tB26NV3)ZW+BFuJCB1dbr~SzJ7vVUPJU3 zMFY7^27tjYuVDZgwFG{uhwIcvUtY(6q*kqx(-u$}{PH>p6vL{0VWPIBy(5(OiSv;5 zB?+j8ah80T_pWc(uqObM>&4Cv!0OZK)VVXI5{{QU+9f3CA(y~+a?@!}r^n=&s4=ll z!8~O#F^w6QlcC1+YRo5rVWO!{YFl%LR=YYx%^V=wVn)nAvzW7?>em(*0E>$zo^{)? zHmp5Esv-S_%=<;Hj;8@%ojC%j{aW3!Rd;BuIuCbLtGfXl-#WEz7_`;gR%#G7>Ek-d zAio75%Wc$Lgw(dfpiMj#X5@kv=o22=dBLFXpk{FBfptTb}VIbJPQV)dG(acsXC4!3TrEVc^I0x~rU*0OSs!x*h}Vuo{Dh*Ktql zU4U8CiXvq~p<*IB>RrCa!9xJCUuN4NaUT;D7?g4HF5bX)9#A(d>+Hb{$Lgw@go1Na zqR!F~7Pp)Gb7H1u7ui4yt=-&Ceho-9$hYD`z=x;FZ)!7G0J5ZwwVT1d8Z&3cQ<*1b z#?DRR#4(;or$?tpCnvDA-_K6^uXpf|f{QHW%DDy1?^&I!Sa)WP(N|EfzX5QfB%`~I zgX>Pz+NQJctlkEcvkX;zfU2$&pv}B7n3*dr;C})07}-mf8)jg&!i7xnex;_U)&BvX Cy3T3< literal 5535 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 diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index 791eb9f54714e4239abacff3aaf9f85d88b2790d..9b103258f88a31272837aa789a6bd66403691fcc 100644 GIT binary patch delta 60 zcmV-C0K@;fExIj`U;{;}%&}uC2?48mW3Tn;({0iLs$5F-Y;P!;e1 delta 60 zcmV-C0K@;fExIj`U<2C9%dulB2?45;jtSKPh_hr01_1$Qvug`M0Rg*{tqkA+#FLH< S%>mT2Tn;({0iCm#5F-ZN!xo(Y diff --git a/src/kernel.pas b/src/kernel.pas index 03e744d3..9227b65d 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -36,8 +36,9 @@ uses testdriver, E1000, IDE, - storagemanagement; - //ipv4; + storagemanagement, + ipv4, + lists; procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; @@ -85,6 +86,11 @@ var temp : uint32; atmp : puint32; test : puint8; + + LList : PLinkedListBase; + Elem : Void; + Str : PChar; + begin multibootinfo:= mbinfo; @@ -141,7 +147,7 @@ begin mouse.init(); testdriver.init(); E1000.init(); - IDE.init(); + //IDE.init(); //Nothing beyond here USB.init(); @@ -157,6 +163,8 @@ begin console.writestringln(''); console.writestringln('Press any key to boot in to Asuro Terminal...'); + LL_TEST(); + keyboard.hook(@temphook); util.halt_and_dont_catch_fire; diff --git a/src/lists.pas b/src/lists.pas new file mode 100644 index 00000000..9c2f7ce1 --- /dev/null +++ b/src/lists.pas @@ -0,0 +1,216 @@ +unit lists; + +interface + +uses + console, + lmemorymanager; + +type + { Managed Linked List } + PLinkedList = ^TLinkedList; + TLinkedList = record + Previous : PLinkedList; + Data : void; + Next : PLinkedList; + end; + + PLinkedListBase = ^TLinkedListBase; + TLinkedListBase = record + Count : uint32; + Head : PLinkedList; + ElementSize : uint32; + end; + +{ Managed Linked List } +function LL_New(ElementSize : uint32) : PLinkedListBase; +function LL_Add(LinkedList : PLinkedListBase) : Void; +function LL_Delete(LinkedList : PLinkedListBase; idx : uint32) : boolean; +function LL_Size(LinkedList : PLinkedListBase) : uint32; +function LL_Insert(LinkedList : PLinkedListBase; idx : uint32) : Void; +function LL_Get(LinkedList : PLinkedListBase; idx : uint32) : Void; +procedure LL_TEST(); + +implementation + +{ Managed Linked List } + +function LL_New(ElementSize : uint32) : PLinkedListBase; +begin + LL_New:= PLinkedListBase(kalloc(sizeof(TLinkedListBase))); + LL_New^.ElementSize:= ElementSize; + LL_New^.Count:= 0; + LL_New^.Head:= nil; +end; + +function LL_Add(LinkedList : PLinkedListBase) : Void; +var + Element : PLinkedList; + Base : PLinkedList; + Count : uint32; + +begin + if LinkedList^.Head = nil then begin + Element:= PLinkedList(kalloc(sizeof(TLinkedList))); + Element^.Previous:= nil; + Element^.Next:= nil; + Element^.Data:= kalloc(LinkedList^.ElementSize); + LinkedList^.Head:= Element; + LinkedList^.Count:= LinkedList^.Count + 1; + LL_Add:= Element^.Data; + end else begin + Base:= LinkedList^.Head; + Count:= 1; + While Base^.Next <> nil do begin + Base:= Base^.Next; + Count:= Count + 1; + end; + Element:= PLinkedList(kalloc(sizeof(TLinkedList))); + Base^.Next:= Element; + Element^.Previous:= Base; + Element^.Next:= nil; + Element^.Data:= kalloc(LinkedList^.ElementSize); + LinkedList^.Count:= LinkedList^.Count + 1; + LL_Add:= Element^.Data; + end; +end; + +function LL_Delete(LinkedList : PLinkedListBase; idx : uint32) : boolean; +var + Prev, Next : PLinkedList; + Base : PLinkedList; + i : uint32; + +begin + Base:= LinkedList^.Head; + i:= 0; + while (i < idx) and (Base <> nil) do begin + i:= i + 1; + Base:= Base^.Next; + end; + if Base = nil then begin + LL_Delete:= false; + exit; + end; + Prev:= Base^.Previous; + Next:= Base^.Next; + if Prev = nil then begin + LinkedList^.Head:= Next; + end else begin + Prev^.Next:= Next; + end; + if Next <> nil then begin + Next^.Previous:= Prev; + end; + LinkedList^.Count:= LinkedList^.Count - 1; + kfree(void(Base^.Data)); + kfree(void(Base)); + LL_Delete:= True; +end; + +function LL_Size(LinkedList : PLinkedListBase) : uint32; +begin + LL_Size:= LinkedList^.Count; +end; + +function LL_Insert(LinkedList : PLinkedListBase; idx : uint32) : void; +var + i : uint32; + Base : PLinkedList; + Prev, Next : PLinkedList; + Element : PLinkedList; + +begin + LL_Insert:= nil; + if idx >= LinkedList^.Count then exit; + Base:= LinkedList^.Head; + i:=0; + while (i < idx) and (Base <> nil) do begin + i:= i + 1; + Base:= Base^.Next; + end; + if Base = nil then exit; + Prev:= Base^.Previous; + Next:= Base; + Element:= PLinkedList(kalloc(sizeof(TLinkedList))); + Element^.Data:= kalloc(LinkedList^.ElementSize); + Element^.Previous:= Prev; + Element^.Next:= Next; + if Prev = nil then begin + LinkedList^.Head:= Element; + end else begin + Prev^.Next:= Element; + end; + if Next <> nil then begin + Next^.Previous:= Element; + end; + LinkedList^.Count:= LinkedList^.Count + 1; + LL_Insert:= Element^.Data; +end; + +function LL_Get(LinkedList : PLinkedListBase; idx : uint32) : void; +var + i : uint32; + Base : PLinkedList; + +begin + LL_Get:= nil; + if idx >= LinkedList^.Count then exit; + Base:= LinkedList^.Head; + i:=0; + while (i < idx) and (Base <> nil) do begin + i:= i + 1; + Base:= Base^.Next; + end; + if Base = nil then exit; + LL_Get:= Base^.Data; +end; + +procedure LL_Test(); +var + i : uint32; + LList : PLinkedListBase; + Elem : Void; + Str : PChar; + +begin + console.writestringln('Add 3 Elements: '); + LList:= LL_New(10); + Elem:= LL_Add(LList); + Str:= PChar(Elem); + Str[0]:= 'H'; + Str[1]:= 'E'; + Str[2]:= 'L'; + Str[3]:= 'L'; + Str[4]:= 'O'; + Str[5]:= Char(0); + Elem:= LL_Add(LList); + Str:= PChar(Elem); + Str[0]:= 'W'; + Str[1]:= 'O'; + Str[2]:= 'R'; + Str[3]:= 'L'; + Str[4]:= 'D'; + Str[5]:= Char(0); + Elem:= LL_Add(LList); + Str:= PChar(Elem); + Str[0]:= 'T'; + Str[1]:= 'E'; + Str[2]:= 'S'; + Str[3]:= 'T'; + Str[4]:= Char(0); + + for i:=0 to LL_Size(LList)-1 do begin + console.writestringln(PChar(LL_Get(LList, i))); + end; + + console.writestringln(' '); + console.writestringln('Remove Element 1:'); + LL_Delete(LList, 1); + + for i:=0 to LL_Size(LList)-1 do begin + console.writestringln(PChar(LL_Get(LList, i))); + end; +end; + +end. \ No newline at end of file