From 14e881a658efd27b40452c71706a3eb4553c0e2e Mon Sep 17 00:00:00 2001
From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
Date: Fri, 14 Oct 2016 22:06:39 +0000
Subject: [PATCH] See last commit message. - Added compiled BIN/ISO and new
 libs.

git-svn-id: https://spexeah.com:8443/svn/Asuro@9 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
---
 Asuro.iso           | Bin 5066752 -> 5066752 bytes
 bin/kernel.bin      | Bin 12516 -> 12516 bytes
 iso/boot/asuro.bin  | Bin 12516 -> 12516 bytes
 lib/console.o       | Bin 3428 -> 5840 bytes
 lib/console.ppu     | Bin 8501 -> 14807 bytes
 lib/consoleutil.ppu | Bin 0 -> 2050 bytes
 lib/kernel.o        | Bin 1868 -> 2008 bytes
 lib/kernel.ppu      | Bin 1410 -> 1451 bytes
 lib/libpconsole.a   | Bin 26948 -> 43060 bytes
 lib/libpkernel.a    | Bin 17192 -> 17332 bytes
 lib/libpmultiboot.a | Bin 21822 -> 21822 bytes
 lib/multiboot.ppu   | Bin 2886 -> 2886 bytes
 lib/util.ppu        | Bin 0 -> 1854 bytes
 13 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 lib/consoleutil.ppu
 create mode 100644 lib/util.ppu

diff --git a/Asuro.iso b/Asuro.iso
index ba0c077af1cfb7021c3d220cdc4f442ae566afba..698bb929a99b199d9106356be68769defad93db3 100644
GIT binary patch
delta 13038
zcmc&)c~lff9`1&jVZZ?gyhd&mPy`fIR8)i!xgsc0jOD7UsH38TD1w?@Bls{C44TJg
z)FH;?Y2GH$B);{CN7gkP1UzDlcts4N5+RHi1`k9uvQ^A<)qwN!kKMet^BAg+ufN~-
z`|4NK-P4`F{eWFQ`R)lT@EjH%7Cv-vctk|lh_EnWa9Ft2hW*I}&OH=4PA=VKA%<Bc
zE2YJ&CGK>w$8e?LdCBnZ=0%}HV@UYGOTsMrAj&3Y|B(--x=0|+&LK8IhFLo&2bv`a
z%N^Bj;r7BR!P!wDA4li9FxrOIS;SQB><}oz+oH)3w98M5le){c;Qb%&TB(pgu$Vo`
zp&jy+vR)$eqEZCXC~2dVLRamv9na8r?*bZ*T3fugzZCh~y^*$U=(5j8!i4PuFmLVi
z>1I)9CkP_>lTDhKGTGp_bAV0K{rC0-$R$>iv+dMo3q5H@0%<y?wygv>Vzsb9Mh}oJ
z_;kO&Ao%b9RO+C^(YA#If74)X{vRb|o!~)SAU=46_|VoTL=y6y)}|0cXlamS$c)ks
z)ij)S>F!ciO&3dTCuHb%tgpnAdJN#%ag6btJT}U<o?d0F+eeoHJR8dx&(~!@UXJAf
zlAfXE0MFayjOVLzAg{J^mRJ7@K=aB9rg>Whpr@&#pQOk8IDlDxoN4~}I1uaJaTd$%
z1i-W4L_iPAu%NX-{#0X=(o(dk25otmZQJWlgi7)>Cjr{bldM#>L71kKECtU~fbE&5
znC+WRjf%7=?bu96QHjEw<?{w+X3bkAc$r6+SI!7p)FW~%MXmfEh%oJY79k(Poa305
z?*X$DPBXLhr-4{UPy0!8ki~4L*s;lzVXGs4VB%){094&SeqdEs1!02EFihGRfai0L
zsXPND;P)fbllUXh^&kDn%A*p(1e|4EpL!PH`SffiE3-<#^aYj7^bM6jUe_yG?#gpO
zteNN7h<o=OkbCtxmb=|~Al8)gEY_Oy0MFU;jHemGBwS#aB^Q8Lr59MN+Ylz|BE!tT
z2;_d`BFo)$5r{SFQs2&nJ5HMx2N&*vODut_mw>?GKd~a1@e_dA%Q07f0t^kk%wnZo
z26%Q|&S1q<1z<9(n4Xd<Al9ua7E65v;L%-SJjGW4p4uynNBJ{g`t+Y!=dFV<ml@{$
zYJg^PHKSQw4ahlD?dR6<EZ`WI9B<fuYS1gDT%CSCopSSq7v@W!7ulI~%FWESOt}lM
z0tOwu$_z4H1r$ZrFoR~-0GPcTQ&j`R3cbc+p=$uou4^n-<u$;?zSo(H$=89|=)>#n
zcLDU$UvmS9m2rc`Duyt%9HXoS^h~d1de+r~C&n(KFn{?#{qh`PwXn{7wYN^`M0?3e
zY3ZdFD8l$(ScIHk0C!LQ5-bg?RtPikCc6|^a}(gXz%h1p0A^|(<G~Q7x{l3d%6foj
zW<9HjLI_jCG0I;do?kf+gsI^eWdp?1z<D4{O+$p_v&IDQWSW>i+aOF6$N1g?cyezs
z4?lr0Pi`^IeQpChD{nK*ClKbzZKgT!4#4x*JB;Tu2=nX?)7<|q!1LB!hWP@*v~f(x
zJ%DHJJ*IgNgpoJ0aWSkBm@VFJWY;cVGy=25vqm;s^tlhr1iAM=Vzu!bfLZ(-8_Sy@
zOasTLo3y<xr-P2ogcJ|axb{P*Zics-dPz~YHUUoEZ(>e)KLC_1d%%=!eE_&{=RxPQ
zlT)HL*$`76Zu<sh?nCC<yAOf5H4j-_#UlVS?NMJT0GToAy-}CMxa8!C^t>qT=-`jx
z!Xp;B^%0QG_{R*B{TPT`@tCP=d<@i2R5PoeIn4mifo8^Ytr_U0Ay3%2nEeFMy!T1E
z)Z3aCAlBlRm#z_$CQh0PUnADHFe6k?0n%AdSptPm0V6IyWkx)I3M7!y%3|fT0!Ex_
zWkxhZnDNipWVGTLpr_&)({uY75G(pQ<5~0^!2J7pxMX_sb0DvT-&tNueg`}({hfJu
z8^T1rV3_$Y06j-u1h`tt-7*}Mue^6{V>bM$4Uo3GO=n4QvqrR?;^qudN^x_sXq#vA
zO;M6>REYqQai%D~bo-q=WjuWQZM;N|u;?>B7e(9sZ5(eWN|_p$+5r-cWp-TST|3dX
z$40HaC>4fLZx3a1)Sm0Avxm4MWt?lC3_^Wlg{lKlk#bQQ9LD)_i0g=)NBmU|IT5K4
zUz%4_;!?;|0nMw%{R*D&&kBe*)PY<4h67~Y=MLgxsZ%vdh-<Nub8S*W3Exukgu6RJ
zTnijISFt0+Rqx2T)J_me=fqLPPEd}uPTVhL7f9FiE?n0-5OtZOwy2<hud8^#RVrwt
zoKW$Ra#sbVsCDKk>YX7}sTJxjh|;?7x?SP|ag|x2esh7;M|Tz3BLvF?=rkd2YAij&
zd3U%DkRE(YNO2a0CAyV!jg>xPnBj)#x<xIzvEoxh9kW=?J7yDzYOq47U7?;ycjY}(
z=n6Sd<H|i(x<Opi+&EXh8|2ejH{Q#S+@Od_-Nb;-zbQ>jj7<Ws7mO9%c=Ws7An&5P
zbMF>*hoT?t&hs^asHh$swXg@s)q~gAZ4edRlcV%KA+Ay@R3nIr?ZtI1=>>6>^%5tt
zTGK$NObzEM0a5p?P@3K#S8tx<RuFZ+H;?G<4sm6<bJSK4b>E#w^z?wZmU(clZ6K=2
zLk#X*k*V4=EnJbyJ$XfL^@J+&o+q!!o?ei~#a=v<5-(_MHF)u{rSgU%&hq9F3%#My
ze8roo-{J#-UiV=j<0>CW)(IbRJS#O{D8)=)QMxTQe(VcHyzk2+_Vj~N%<$tWzV8P`
zZ1591U$Z)<B7^IB+mE)4>3z7pxDUiy-G`TxqA!G+-j|~=h^n?iDf}T%ruuVF*7!r7
zob%_Nw1TLV0FGJ_0I5G6z|}W{sPTauwIUEwe<F~pZv;`%{WxlVKPbm<`iaw6rS*r@
zXZE+MG!XUB3gsUJalIKNN<U*5cLqVao&|}WZ+}&j<0d5;cc{g|Hh(NIt{lKSV*3Dy
z_@NcbGZ+%NESS$89|uERO~E{(dk8d`GeY<vcrOHscr)as*|N*z<hVG)+Q-1)(uML4
z-Vh4$)`s#-Tn0j@xdVCOy*Cibw{{@U*J%*MHER%$xM2|FO7$RdI4is`h$}OU>nZ_J
z_pDHwaF8q9iYpu%T(`oxtLniJmu@iUDh5&YRw(rlkZXt-)cHJ_7M}*cF<`78!ZoUf
zLJm(K%IhwFD3tHHp`5D)<VuL(T>1!z>uAKwzX+sFngT!9G)4^L(Ps>U9NIgKyM1*S
zlyC5Gt}%5uq;bb^aT%+-5m2Qs9`Vxj<1{6H@?iMdrG5m@L=_1|pBX9ob^6iAaSHjx
zq%rIj4+e9W&oRG?VI;Rn<YO%Hpp8d~`6kKO0)|T($we(43E5jQQj}gXFt&iGlu`T~
zux1p*bzv0eQjCUB(?^Sgq)sRv4RylJ(R{j5ML}HYQT%*T90e7}^(bB(vN2G^sbhG=
z{4o&M*)gI|r%rTvBf)szUL0oo%#;+(>o+GFs*Q?hF-0;(69b_#VtAJp$3Ujk$MA@1
zEril(IjWeT+=07p@?x8@G+fcm_(Ci8lq9;3g=n+J@)N)|5Y;r6_nU7l#FZP%QGW+f
zPh(%cE=BQ%WzDY|R;$RPT=Kj<M_5Q+U=#$qg(nx$cF{@8uqqh`6+pu{UQDVuNP2o4
zcXtDbs*U3bs^g(vPmkxlUKkJQx*X4SJ&%WUy`I2ztxkZ3!r25d*3#96Kk#+URl<Dp
z3uW__=GOAu+*p+e<sOv8b5BizP&=$pCn40K-mi&I<^NM!Hb?j&?RN^T14bf7b{N@X
zB*RFKkpd&KQHhZwMot)Y!AOOXGe#~Lb;U@Hkt;@S7<I#_J4QV)>WNV=j5HYa#>gEb
z4~#r9^1{d)BOi=>G4jKx4@P}4^2aCuqd<)MVbmX^AdCiJ6pT>_MxhuD#ApykVHkyD
zG#H~H7!AcJ0;6FV4aaB%Mv)ke#Ap;oqcMuYXbeWt7{y?u#b_)>u^5fRC=R1|j1mr_
z#8BTn)3@YtT~VAW%5Kl@;G6;fqyyzJ?LgB3d-5-a>^-bes|C{*x)ei~Hjt&(M`k1)
zV5TC9>`C`0(*1h6G@CB<AxlMZ%Ay#VsUO|Alx|F+OF4AOUKHk<_bW|Gwtpa9Dx~}C
z2zmSAO1X)IC^b37m~N15hfC;Q1;MpGI(1Abn58&SDI&prBFrYc>1x@=gXF)lZB=4I
z-cZGMy1j7RpT+!EP4=<;rxUXe9GBaXZNhQ6J#C6S{flz^Wd-HRvW;H{k|TwUIe|iP
zJ0IJ!LU^}Fdw|^b00dxJujsV?xWjs$V9F(e%P6DefJ^`Fdcj@gdQboLL~2pQPGUvZ
zgU(cc#;NTjWY>dUG^dR!mqOXJB4_h{xxG6Dd}j@iiG^uMGzoTxzI`(hiFwB*y~U<4
zU$nKEsCDgfi%r#Z{WHEky^XAIVe9Kl*H@O_kU5?-`%R9rxMyyPU$nd2^<aBb&@yq2
zgT;5#c|uf1_7nMeM0tBR6trm8s7x7z-P|o2({75AIEjBR6Ut5WU4GNLcHj!3ov<Tc
zZ_XzLf1@2u`3ml;*Bk5pnpos(`WH#HXa;dM$6r~r+Fw;rt}Y{oN}oe{s}uj`w52fd
zt2}!}T5Og+D_c(Yb+rKGWA*8C7t6-#b9M5BY@Ke2OuH;M-F}j8o+33jd#PThn5NU~
zvsTKdF3iZ$$r7^D-<0bqTA^=;%k>m5(~|=n^yVWR^yWhp`u1ZS=4LHfo~7623IAUK
zc{+g%8G(#9VUjCd5(F)2Nlgn0q@{1VWs#On5Xq$NLfW;YrTvscTKaC)Ur6gr+6|;t
zk@g+ZQX{vK)`hg2NK4(FPFgx8O(iWI))}N#Od<<&$O8S)z%(cgM8!}bJ&5k7U@C+L
pr2(l38i)p^0cbGG=g^mhiP-rau_TdvlgRfq@*RIjEJ<!V^dE^VK=A+o

delta 12339
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

diff --git a/bin/kernel.bin b/bin/kernel.bin
index 71faf335fd8163dcb810791f984ad1ef17095291..df8b239687aae53c8d3f4648277d950e42a33e8f 100755
GIT binary patch
delta 1304
zcmc&!O=uHA6rN3XH`|&tDgF?pLXl8GQ9S5TNUJ3tlu9YKr6P@W!Qjx;xTz@8twc0&
z8;C}V2M@)A2(?hC4Mn7wrWSh>!IPJQIn1HQ3blvE@9ie7)teXRFyDLgeeY-A?rb?)
zj!qv7m||XH%xd?Zc1=$mHIBSvSaUKqG3&+_20IrF1eh2nD@@iHtc^8C=^~{?%6-J2
zBc7AhPu3w=R=Z|}WpS7ehv@JESq52di48csCbTX7I9X}p%SdjAYl=XLqNopx6`ajI
zCsu`SV{LgsV@@j`YDI$XCF=)GZYf*9p05NV=1Fyej?-taNTVCU#KP#$j>PPe;=&nQ
zQrrYqQ^+zxa%xd4W#6_SkY$Y)mb24soeZ<bd+q#5J3j<f|KlJ2j~%|rL=yd$C}TC?
z>%aP`RV~vL%Ai&2)N4$_U+_`?vE>Pr^cN1&GiALEX}Q<(IlSUNK!Ojy3uGzX)guY!
znwf9xk<6u9yE!qrS*ZvboZW3sd?WwWw%=EQKfdK>ikZ*F6}j${Gi^jwhvz_U(;l+F
zU_)xXW5iP(yZC}cCGhCpMC0~bNUaA)yds9|&RYqJDN@yPVtjumR74&0;(;w3W_H4z
z`Sx$;s};Xwt0`Y<HIT`dcU#TkJ)YFMjJX;i&AJ!zrWOMwMAp`fx#vm!)8;p(TkSd%
z=kbI>jK4}NZ9F<~LvG_qU5O-geNb+_nT)zS^=s<IWMYWxYOl_D{I=44J!a@~BoV!%
za8j$>mMfg}GDm=iI}sl4gs9w(@eITVZ^gN8vj5wFsWV&`hO5Rp8_8m<6^QSdMSvPG
z4y1p>dEhSKeIUIg16U8d3-kfUfL`DuAPw>bumSiCNYm{D(%+~XNH;nLR6Ai@g+Yr7
nQ&B2J&5)3Sh$k^MLPe<{H9>`_C>5Y$)ipEO{Lq(|PJI6bk7;Q2

delta 606
zcmaEo_#|<Iu0Z`J_7`uM7#O-;d2E?Btko`&+94qzzyK7z1{B@l0AZg3vVVQq;Q`_8
z0m&pl*a?gvy&T;REI=)jft(!$5Q*s^MI{inHB1o)P*EO|q9UeXpsEgtDlxb!))&kS
z3<qCuIRKSAfRxXGsBi(A`TF0<LmUjK-~~63f4Fyx8c4XeY%;%~dp!%=F_#EN_J&^)
zMaLR``WNjy#>$W&z`$^fl@UaB%cyjhsIW92;W*s<hNDwPr4z{OHeCU<h<_U|NJ-|&
z1whmIx5<LE_44p_utawALgc|lWFA14XJPCJiC}zj0ptge(VI(!0vYS40ZlmETcXA=
z;l=8I|Np;eL-22d_+<!w^nV~f4bJ}ub}j!lFxC9Szm6U1{=>c7fQlIYf!zR<2RXI*
zheRFEi%6g_#CH;hCxG>P1Dy{yfb|6@*mOuJ0TqCBq8K2FFaT~DEKC_D9}wvm=#Bvf
rQi%#jcZ~{9^AUl=oAX5{a!qa!{V+*k&E^`VR^E*ZE-+4JG<XaE>L9w_

diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin
index 71faf335fd8163dcb810791f984ad1ef17095291..df8b239687aae53c8d3f4648277d950e42a33e8f 100755
GIT binary patch
delta 1304
zcmc&!O=uHA6rN3XH`|&tDgF?pLXl8GQ9S5TNUJ3tlu9YKr6P@W!Qjx;xTz@8twc0&
z8;C}V2M@)A2(?hC4Mn7wrWSh>!IPJQIn1HQ3blvE@9ie7)teXRFyDLgeeY-A?rb?)
zj!qv7m||XH%xd?Zc1=$mHIBSvSaUKqG3&+_20IrF1eh2nD@@iHtc^8C=^~{?%6-J2
zBc7AhPu3w=R=Z|}WpS7ehv@JESq52di48csCbTX7I9X}p%SdjAYl=XLqNopx6`ajI
zCsu`SV{LgsV@@j`YDI$XCF=)GZYf*9p05NV=1Fyej?-taNTVCU#KP#$j>PPe;=&nQ
zQrrYqQ^+zxa%xd4W#6_SkY$Y)mb24soeZ<bd+q#5J3j<f|KlJ2j~%|rL=yd$C}TC?
z>%aP`RV~vL%Ai&2)N4$_U+_`?vE>Pr^cN1&GiALEX}Q<(IlSUNK!Ojy3uGzX)guY!
znwf9xk<6u9yE!qrS*ZvboZW3sd?WwWw%=EQKfdK>ikZ*F6}j${Gi^jwhvz_U(;l+F
zU_)xXW5iP(yZC}cCGhCpMC0~bNUaA)yds9|&RYqJDN@yPVtjumR74&0;(;w3W_H4z
z`Sx$;s};Xwt0`Y<HIT`dcU#TkJ)YFMjJX;i&AJ!zrWOMwMAp`fx#vm!)8;p(TkSd%
z=kbI>jK4}NZ9F<~LvG_qU5O-geNb+_nT)zS^=s<IWMYWxYOl_D{I=44J!a@~BoV!%
za8j$>mMfg}GDm=iI}sl4gs9w(@eITVZ^gN8vj5wFsWV&`hO5Rp8_8m<6^QSdMSvPG
z4y1p>dEhSKeIUIg16U8d3-kfUfL`DuAPw>bumSiCNYm{D(%+~XNH;nLR6Ai@g+Yr7
nQ&B2J&5)3Sh$k^MLPe<{H9>`_C>5Y$)ipEO{Lq(|PJI6bk7;Q2

delta 606
zcmaEo_#|<Iu0Z`J_7`uM7#O-;d2E?Btko`&+94qzzyK7z1{B@l0AZg3vVVQq;Q`_8
z0m&pl*a?gvy&T;REI=)jft(!$5Q*s^MI{inHB1o)P*EO|q9UeXpsEgtDlxb!))&kS
z3<qCuIRKSAfRxXGsBi(A`TF0<LmUjK-~~63f4Fyx8c4XeY%;%~dp!%=F_#EN_J&^)
zMaLR``WNjy#>$W&z`$^fl@UaB%cyjhsIW92;W*s<hNDwPr4z{OHeCU<h<_U|NJ-|&
z1whmIx5<LE_44p_utawALgc|lWFA14XJPCJiC}zj0ptge(VI(!0vYS40ZlmETcXA=
z;l=8I|Np;eL-22d_+<!w^nV~f4bJ}ub}j!lFxC9Szm6U1{=>c7fQlIYf!zR<2RXI*
zheRFEi%6g_#CH;hCxG>P1Dy{yfb|6@*mOuJ0TqCBq8K2FFaT~DEKC_D9}wvm=#Bvf
rQi%#jcZ~{9^AUl=oAX5{a!qa!{V+*k&E^`VR^E*ZE-+4JG<XaE>L9w_

diff --git a/lib/console.o b/lib/console.o
index d8a0b35c8cd8aef30ac086930c72fa82e1054777..eaa9ba08f303de1b9d5587430567bef91e939309 100644
GIT binary patch
literal 5840
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

delta 1282
zcmZXTT}V@57{{M;&UQ9E$9eoXYnu2m*Ai4Rh`NYKX<A132^Odnb!A4Fm_bBa*^St6
z^4wH6tsp4qVqgRjk~I;GE`++UyIpt@M$uK+2dw8gJ_iOJc=mgL&;Nb5ckkY<w{BLa
z>i2yzz<CZhuT4-4zMY1=e)*fv=d;NdQTF8Y!r9|x9(^@-M)4(nhbC7Ozj`NMExfK;
zoKSKKPH0uWZ1N>f#gta7Wbus_Dsoq+FsJP?TuV*^TAuluxsixxZYtuRyAd&GR;(;9
z21wAh5(X~lHfHpDijLjB-EoV83952Xpp(eX5Bnf7K{YIXO`PE5v&0<LVeyPO!O2&M
z^$Nf(@hx$Jlm7vTLxv`dOCv&Kc7AvRhiF`{0`PgVkBYnb74o)%{DHWe^Lw=y<Qw8{
z{#A(s^c749(wN<y&`jfVRMphr4V(~n^HK5yRh{J5#oc_KJWUmnJR|PrYjJ8UQ}I>c
z57-iSCukbL59&RXyhhy3TgmyMDNqI)bcuT$S7C&l$F5J4`wJW`;{w*1UR*MYaH?b%
zZWv)=1^Ugs_|~YvBW6_~cDi>U7CF{25bN&gIOVjD2E2IHY;cx5HKWdwrGOtd%|<8B
zQ(j#Xw49}<dj4CiUb>9ir8RicGVojJcigu6@ln}eoQ{CLj0w;}RGPuLlgu&prk%UW
zyem0MKP`MN{YCL*;Rm7`2FNo5^tYoAQt7h$=;W9U%m7`7C=Vh4`z1Ii-oY#f=o0T|
zRssx(pC|Ih#)MPC+rn8P5>@)S?~6YcK4bRN8!Yk!+Q2&r)`TCqPYXYb=Y%%>q<lgx
z!eQaKL;AbdVOlq^-L6zq8V=cEeVq~u@TML1=4hzm6T4B(Y53lb>fBgX@h447>j1Q(
kHW>D{6$1=nXRuM7DaMPzXy^_#`sfI~e7sbAzx-7H0N^aNrvLx|

diff --git a/lib/console.ppu b/lib/console.ppu
index 26e7558f077d55494dc3e2b1191fb0cbac4f7b43..e340472a27dcf927f3c7b9ba2fbf9eeb1c5c75a6 100644
GIT binary patch
literal 14807
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
b??ybu3S-wO;WX=Z;uzg7!96M~h!g(<q#}Pq

literal 8501
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

diff --git a/lib/consoleutil.ppu b/lib/consoleutil.ppu
new file mode 100644
index 0000000000000000000000000000000000000000..a98ee936368c3e19aa32f020aae79e9c18ddaeb9
GIT binary patch
literal 2050
zcmcgtJ5N+W7@hC#?&S@;JlFRFFi{f?F;rGS2-$?k29_YPAS-O*hARvE2%)f%#KcA`
z3u9$vrHz%9HdZ!TnV48v7~&sLz~DLa?e4vMsdbY1cIJHN&f|P%Ae~+uxiK2u6%#S<
z(~kMtWXzBF-j&z;#U;lWGlb68jxN%+TG%KRyj-Q6_o74=nd{}q=?dhoZDvc4Q*x_^
znTT83DV1~go*iEL^z-5HXMWPnM64tDNrBt-6L%9{{?2AFm*r+`g5x1J+t^}btBq?m
zw%It(AL$W9cVT%UGdZ(IAR$IfGtdZT5iv1t=-9{^QTfO5|Lnqx8#%NEy3Mg2{o;sC
ze%tvzuYZE`Gem=>g$@!UXe)ch3aK@$XPA`(W`woG5A`$hC%h|ndBDt7=7Wt)<Disr
zTgYH4IF3)u%`VJMPcCLs(<}LneEH}|IzZ?mNt*0sF>(^A*;Hm|CBQ!RC3ke{ia2#e
z9IJ@4&lTC6gVTsI!nOMd1RA&HI^lcPC^dEC08XJxlFZn+mt9?lapP83t2p43mf#{r
z$Gu9<NQ>qNiKFWRbbD;7n9FS#X;s2yKvY&2;1h_BZB?>H+BAP12n%BCo8;q-%;(mO
zv}<~lAE4W7COa{5)0N_;hZA%t<0dd3RT;dDyPWg9!nTo4WsDI+*E7-tv8B8DGM4C4
z!W1ArS3M)G6rCz&cZ|d}KLdnU(*^kQW1gyzP{INrT0_r}#K`rkGIT3r85l3GOK_u@
zr#kc~VFeKX8t56gP}H+R^lCl_gzB&$l01vp<kghuQ_4C(`b{b4Eu|(!zf!gUQbaxI
zMT}gps>OgZwt-p0;#Uq3>aUQ(4RhYddM1Vf{<UtW#jR(=+y{XwNH0t4W+n<=p$JcP
z+Wams)q&HH;T{2EQyo~9M#DV;;v0^lhYa@=kZ(9j+Gx1vKzzeduLi@t;0Nfc5S0iU
z?j<lDTp0;6YARO^_lg+0UXuS>LWX+-$Tu7xZlmGe0`Uzuzy%r&_YRP6IKG{*;XVNK
z4abv&4EGU`Z#a6U(Qy3l=Ns-EX2%To1)y)Z3zkxoqH4Hr0DZ#^Viq>scVNEZ_<n`Y
I=~$Dazl5U5=l}o!

literal 0
HcmV?d00001

diff --git a/lib/kernel.o b/lib/kernel.o
index fabb333390fa4a88815b7403e0c56719a78931b8..e7251e9e28e467f5c6ae83f49ba077c102b67d92 100644
GIT binary patch
delta 667
zcmZ{ize@sP7{{OYyi<wrM;h9XA<_!6#U+9WJncfkywWoWhiZ_bsiBr29BK)d;%#wh
zDX1k7TqGL2h9GEgtFiI^04EXbdHjKJ;S2YE-tY7MKJUH9dtZ(p=go`|x8BZ%3P!8l
zZWoo&HKF_xI$eAP990pgj?tN_R5Pubjc!utTPA<dQ&jB5h&arS;k(hd5A%DrWLN-n
zV<ckAH5;Gr_KK4w7_0ML;X7<)blC22Ay!QKz@#rLvc=1C5K~hbHL2_kxEW2Pl$e@S
z)0v>wVIRR*Tu%S%$SB&nvLR=anyhK*L^P`@ogfd3(?W2IUx;)3Nz4}<cq+jMut4+!
zED<LF!bpbZa?f8S?F5MQ^fnRmJ4DRqkPJU@pET~5C+!9}COrvoMw|jTr}`K`fwT`)
zxT1mw;F<~;ydz?;M0E__lg14nNP7XENn`Gfh&i3=;{YF|eO#9Uye`>zjfvcl%B;pq
r)_`<^_w~qiTzMsc40qc+yk&I>hZ1+#=KV)l{Kb9*(2dX!XUFFcZGE)|

delta 517
zcmcb?e}->@0@EJWiAvh_o7i9c`Tzfaw=0h=(}uO$B~m*WfB-6r%>MNSnTO2ocID`H
zV8NmVLlFmtBGdo>F;%g?U}j)A_=3v;L;3&zum7Dq#4$OLO?a~iqYESBp~;a<*9Ey5
zL5_w10U%|xIgwd}kx^xGA&aO`c#vm^Yj8-Ar=Pn@fU}2V5Lj3gEbQqQqT=K4=MJJl
zQj>*QQ|mz{Fo`oT$OCCcJ_ZIgC|?`I=Leb&<y(UIK*bJFzAK0?$iUzO;!7|vM1p8Z
z28KA0xDW$FDu@p>Hw(lUW?(1;@qy~<Kr~QYGe}&BL5raaBmh*{4-ybzV3-Et0~M|T
z(LjY8LE@qe3_B(}vOQ*8Fj<vdnKb|yWD%2n*_D}AuuLvuS7Z9kGI<uen#3O#28IJb
P^{gO0Kn&zEZ~!p?N-B?P

diff --git a/lib/kernel.ppu b/lib/kernel.ppu
index f531ef5ec45d9ccd1fdae296bba71ccc321555cd..d088d6c6080163550eaac98d44ce92f5cced1609 100644
GIT binary patch
delta 243
zcmZqTUd^o-5D;o;Y|7Hi$iU2SAb^RXnU#S-cV}Pb)qV**J_ZH`?um-}tkVM-Bm5?Y
znn@<<PA~rC{qqt~f`O&9Br}Kqk*auk%7N;MlNYnIvND6jCm&=?nH<m9!pY3Yz{&&^
z-~ft<O?F|*V&t2=o+*)!4JgKzo0OTCme0V*HCc{Xo}V2k#Gad!o0y)N3=;EU)@Edz
zT)~{LEd-Qdlw|>uVEY&tIXHnXWMGg4iHm}mtl7DVnRy^xznJ@hR&=p!6X5`g^Qd^c
T2Kl-A#AoJZmM{P%LRj?x?nE|c

delta 202
zcmZ3@-NdaJ5D;o;Y|7Hi$iU2SAb^P>ij{#u`umO@S~o6Q@-Z+la7|RyXYHCS8D={%
z)Qn?dJm=TiuDO>cE?LaZ!paPkXP7*JaoOYoMkh{YMg~?Upa45iL~L>>Qx+rd<O58J
zd_V&k*m9FH^V0Ge7&#~FGt2X{ft2MY<tC<QCWFLcnY9^NCwDUE3rhlJ7)4otBx`nV
oVrCvlR+*(AXw+twZ6fSIaUK<K*C0PvpZLtY%n}BmL@lcx0P)l>iU0rr

diff --git a/lib/libpconsole.a b/lib/libpconsole.a
index d8f1ab91fcb2924fa9584d5c4c1f59fe6b4c15d0..f28bb8b4465f3961cc62ea2c9d4359d56dfaddb4 100644
GIT binary patch
literal 43060
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

delta 2283
zcmZ`)ZA?>V6n@VwU_qewS}3JJy%gk9$6O1o7VU%vR2mUPNJOJhT$vw3P%#UeW}?w#
znTrx0lbLK8nEf)#GEL3m+)N-d>in_kvVWQl{pAncOh%kDTeA1Qx8<YMhSRrsx#v9R
zJm);;Ub!pX_=QFs$9z72wZ|9ms4D;CpSj<v>h<`H3pJ9(7;`a}Wi~A59AmmEw+*v3
zF{YcN$}neyG2L84hE+rv(`|XDVJrBv+*YybdM0cokFQ(pGsE6|%$RPW7ly45FcuCn
z)>^^Xmet6y)L?+ha6n2&OHn3ZD!||5;-?jwq+wgT4c(G0w{dIhmd5gi(3Zw<OQ;#N
z#)?ZD(s52I6)v}=3gPk~%?y*NjJw%UYqH70t+{1^qtw@r-+GI&H)AoL_GH7J@dyQr
z+KSj)1O0;oeZ8JR?}~vpIFDXmg4x*cM?XqRb&Bgd5<bW=n-dRWbJS)E_yX|mbW0Ni
zXG<9}a|@ulK0~m;jEP)z)KZVLmQKhWW<0J7j#iE%yReehLCGnjUX+$<bQQ-7we+jR
zm>D5=vEoYx<}h~h;$EMd_TXO5Qe-b#ucT$%Z0w{(!!PZJZVvy`dgxp1UgCzDd!7!!
zZ(TKNDM3Hw;VWwuo?Ev&SuyVvWi#fFpWE~^hp~u$Vp6NaP}4YmRm;;ycqUPi-?YeY
z1KJdgny@sgD*lwY)#Ab)H(iP6mK8fwn?V>_A>)ZtR(5iL#7E{o-o@qReoRriXy?SK
zBHXer!Qx%^SofL>M4t#`4Hxn?dS6FQKPoX65X`Jhfo{Xq(q@>~J|iFe4I%t4Wk}_l
zah6Y)CKZcGJ6X3qHdU8R)F)zpFRHTWu}A%Bh=xj(RVf0`qdYbpswbRVEmI>;-)joD
zbfB%>sSj)dak#FV_Tyn)19mjtrgsF?Vo^qyATWZSkg5byAlXc{0Wm|=tWy}PTCWmb
ztd%LOW4&4sbD+CutAHMAx{XJN%aO6CLljn<3JyEG%?P$k@Oo69=;h_XxU%emt}iwo
ziK)$bL?17t%Y`oY{P~al8_w3VRcTPqma~yNN1rn(j%_?9f+9^RryHUJ1vtJbEF0>Z
z6`!st^u2B*Xx=EJu|cMO5&BwnPD1XY0cYAz#GK7G!no)2d74CjMEAd|Y)T9sKNGX(
zedVeEne54IkF_2($S~&emdM;88d?nUyXWDWYCRsY3#JKwC{A396vDgxYjWUpuQqDQ
z$Im?t_|Mvor~8zQJf0I}!<*^GSYAGY@;GkPmqRW|qfSBmhXU)q*bWc4Chc4UC9<&{
zQt;*2@1!5_FnSRudLnq)8-}Z<eYDt&=lf**^tKr_nc55z*E!Xrbe)DkNe5if62)ss
zJ1KB~WG5GDsHF&hMn5GxuDc3wXD{Ds`LOKk!}azVgcnPLq6Q<fQlinMo<E8mW^^hl
zo(0mlzg~f%;`u;a0fIR$FMYu|_AleaiA72kb3t4CqjSqzJ0Q=L<=8FO*Qk<4@9F#@
zc)kPE`Mfei-SYqoDS+{1m2_CZ?K*fC&kvT0?Ky_;4vAiMcV$8ztik<LVT`<%g>MGc
z1Qv~hD$8gJJ+j8XiLa_DTo%74>$UVtyjg9cg(URPR|Q|79b$ocjRi29Ol)N6FG=wl
zLY=+F$WTG-%Oj8Zd&na+Jo~Ts>uG^-bdQTCt0*>kVuF-v<NY=3CL&%u`GiNTNgXkH
fwBkU?gAu<@Ze#p9ne6!Wg0hWwY;xKB=?Uq7uaSCz

diff --git a/lib/libpkernel.a b/lib/libpkernel.a
index 385b21b2dc6da6e62b05b21c53e906ac3712082d..7c23b6c59743960ccf367979893554ac02bdcb9d 100644
GIT binary patch
delta 1229
zcmZ`(OK1~O6umP^+UeL#^E1_8p+6)2piOPkSg9n9qgG;r$uxq3Rj?v1bfJQX7z?GM
z0c-n2a8rL>bYp2VB1K)aF2r^v;!;F(Q@YVb7ZQYcZ<=H}Q~MV0%=z5+fp=$WgnM;|
zd*Bf|106wsXIpTrzRfEg0C0H$su4Zs0ctJ*)Q$i&+z0SJ0%)2BXnj3){Y$AT<NwIB
z9cED{IQH(oyr&k2ucNs7xZiE^1%0fpyon#SuxNQpYWZ(2mrKi)-TchUmaENg0LPpe
zr@WD$=14PqWmngde9<!aT1{FO(joI^b_DlEU)anq*p_7zz{0W^GUT$Wi|++?*8hxs
zlLYP)`zahw4bgE6!-l992_o^Y2EJn8e+;~g(*&w_8F)a?+u?*>fI$PlV&FsUZN+F3
zBC)<iEGiFZc&w+lPmaW*v3R0U$zu^3BS*sV4HXGlIVc|r_eYhmqQrZ9`W2ZS6$jX~
zSU1jfF=@-Wl!O=HaoR;#h3|+EZ{<Ve>;Qp+zn{1RAXMPT2{E4}#QZ5l&IxdaIIcHH
z+y!uv_*Q^xgl>Qvq*nu^h)WQIVG_0h+$8~n4+$~&m~;$I5XS{y5Z?|kMI3YQ2r;)n
zx(DC`af#JQ&FprSi=D1~%Fl3Y$X8!Bk8g66W3#4uOAH@!f`#o)mg}+c&&|vpakG0?
zn`IJ>@9c?nXQ^YbHPj#0-+W1+o^k~K*Fx%&GpptDg>KPQDkMSltmqPK$(d9y)J*C`
zwYk=i5<OA%R>Ooo)#cUi#waz>WJsNCUAI=ozsTDQXV<!)RQ9W*qIA-X|FgDLzGmOr
Veb?9EpXFw^;m^|U+nAf@{{f~EF75yT

delta 1037
zcmZvbKWGzi6vyBFaxs@bo_Fc>(nd>bnnse8Hi=0aDZ)t!I&{*>ML}>8p$HD*U@Afd
zGc@IigF_9*!9gMEIXFq|)NUe9x>*F#!KFhf;`w{#%v~=14fpQzec$(Zcfa57%|qek
zs!)$h#bT+DE0%NXiCpUFCcw~B0G-Ft&j2UB0*oI3OfrB}2q2vRn9i)<`P8d2jfEYC
zV`9*)Y_sU;ndR9DzVgNY{n5~LUw&>LPX^L#U&N(Awz?Vk{@b#wS|xIpwO(g$$KL{9
zw(5RA*mINny;hNGhImNHfJquK1ue^Vp(<%319{8(`DbTK!nQn)4Y3}K&~$ul;jVPP
zy4r<*PlZ1pd-%DBTONMr;cp%e3ywhjNBcPnr}_mb;g{eVc0yN$Bpwe>`ICzm&Rs+!
zyiuicCiA`IQ8>o;(&j8NPZn%GL#zTAHdlzF087L}0GBCh09QyK2Dnbl``#ed0d5g<
z-#v=l_ki?an1x3qaN`;YF@Pt;-1v$jH?~P10if+*GXLRed?xx)Q55_UX|TG0@8=Uo
z8vGb83fT4~{JTDYOQ@=oY)-`c1s!!+@s~w_4rb-4-eKg2E@m#vzgSP<2X>p`j23b!
zn&RtGw;~pFl;%p@0iM2T?v1^08a5jfuJlU$ni)!NIBBz$a(AbECgaLCKTJF2-QgMq
j_i!}s-I7O%=F8m+=G-s)!xs9SA6<jcO;z)Uly%r&Wd-mk

diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a
index 939609843ef50e2ad99b1b114e96864d11c0406d..1177322171b62057a03e90bcf739de2ea68ee05b 100644
GIT binary patch
delta 548
zcmdnDigDj6#tBj!=4K}5re=o58<nOo!8w~3_@86q)63UaFf@TF0E(Su;x|SWoGhRr
zzPXp<D~eX2GE-D#5WQwt1Sj*0u*0ndo0coC#ke_M^gScGup~38$WkeF6cMq_uVfFQ
zh)8TcqsWILqRBY<tq%X>I!2+*V#@m%`9NMm@}_`>3W^r7%|Y5uET~qWG?HSR94{&`
z`2i#6=0C<jLqL8*7y|alNu%$GU;&HVH)TaLn#pn=iir5;{WibRbnUkRS_X1)924JW
s0mma~0rT036U7Lz%~Ed15F(JMG(mA5L<|&12qy!@t{^N1@(wWp02ld^SO5S3

delta 548
zcmdnDigDj6#tBj!CMKpv1|}8;8<nOo!8w~3_@86q)63UaFf@TF0E(Su;x|SWoGhRr
zzPXp<D~eX2GE-D#5WQwt1Sj*0u*0ndo0coC#ke_M^gScGup~38$WkeF6cMq_uVfFQ
zh)8TcqsWILqRBY<tq%X>I!2+*V#@m%`9NMm@}_`>3W^r7%|Y5uET~qWG?HSR94{&`
z`2i#6=0C<jLqL8*7y|alNu%$GU;&HVH)TaLn#pn=iir5;{WibRbnUkRS_X1)924JW
s0mma~0rT036U7Lz%~Ed15F(JMG(mA5L<|&12qy!@t{^N1@(wWp0J=kw6aWAK

diff --git a/lib/multiboot.ppu b/lib/multiboot.ppu
index f792b43b8ec25323a10a7b0a233ed2da5cd73cbc..64c62ab84b195062c0a99f35edd9539aff2daeac 100644
GIT binary patch
delta 210
zcmWN_Jx;=400!W^{r}pEiC`_F5v2Bqwir!F9K3)RfI%m{2b0E$q{%xmG3mh8L|ibi
z^$;vwyafy2@(fSqRbDa1Q#tun;Ig5HIO0g!;ENjJnD6QmE#7J=PWdeL_^IVM<4Q~5
zv(_@S>FO!Y`JgB0@Kw)o!9va@|MYKM^UX-m=gbHZ@W&Y7hPCm90YA(XDN8d(#+?}<
zr(&&Pa$`Nh=H9x4!(7BT;aEgyaw@v$av`qJ<5mQS`7ioNXxRnsIk%@$-x(eNZe27=

delta 210
zcmWN_yN&@-00!Xv=5~&If^l2BEM|-`MA(F6pM!$RzK3dMt4${PE7evMItkklIuD`I
zcnghbzT&%>7t<dB+wp%0F~$`Oaef3QI8|&U`K@e_VMldgauS&3kLn@Ez3L#(o7zHw
zQO!k>1I@t;XPSo+{a{{s)Yho-OLtJ?uWq5vo!*4So4$g}h2f&Zt<gY_SHni1A#s4<
uNqi#0hv*_oPd1R^NZLqqF3YI!Prl)uXIX>8yR4!~5%w|UGCU8=McPkC8#F!u

diff --git a/lib/util.ppu b/lib/util.ppu
new file mode 100644
index 0000000000000000000000000000000000000000..1f17b98ca7ba49268763dd5f45f49cc36446aa30
GIT binary patch
literal 1854
zcmbVN&uddb5Z-x7Uebipv`t!3D_UPYSQJDQ@f2+f4YakGL|Z-7)>ir;O$vz=@uuMa
z;D6JT2TzK4@*sE;Jb4geQ;pv@??)bu(CENyX1|%8oo{E~W_h`C<?6NgOEEFCzigSY
zq%lKZrpEU+_n)VYF(Xh)0xA-J+H|XNniYbBw5$}t%e(81){Lx-5{lW4XN~68&g;Vq
z@4mg7de7Jl9SK`w>lP+M1nhLx-Pl!dop~vO5-_H89MF-K7}?a3iHzLUe4_%}F0Gcz
zbBpI;%di+RDOfQ$;-Nt_!A-4W{PAP_c7lnGj-sO#*(74>Zs`aRG1WI10V1aQve7DH
ze(4D6Qp*KP2L1)rf|Y<AY8M}pj9M+iHK<Gzi;DIog?6O04N+Ir?sTjZn4csjnKUm9
z#2T-ZiwkQy%om;8tK~UI$0VD+w(T;z71m+3bQQ6m>N#MCCpn*Fg|dN5G~(qJy?+4B
z7!<WBGpp^f;JUNWKpYx<vABW2n~aw1-&ic%>0wc=_s>E<B(ShU7MHje<T|v=;ss_h
z%{yCw1~N;dFBU5Ze86bQhb+!@dr`VyEYHl(EzK5hEk*bYYgZb3Zu9Z>R&CQ=ul3K2
zpDp{7JRS6Bk^4jLLA%U|h;~;F7|AC_CWz|uf(DBw$SKY~`p-$|IYm#NXA|5axIC6(
z9s%|OSh^Qbt@EkTtYV%3o`Oo=#@Ndk41&-q0w~gE8R9*LqW4UGF};L0S6ZC!5SwPe
z8)zVJX;}Dzvih6_@X_A^ZI4@Xo1Kn)fcGOKB*VQaR=T)UEIax!bz_ffkhd1A+YU^*
z$W!<ffcX6k{p!zoAO+}AYQ8&cTR8V~vi08s5Whd5zy10D=HyW&1M0AO3^{+E#k>IR
kzfJ^))icQ%&hz|_Nju@O^Q`?#GU4weZSEx{3_T*9Kjwa|;{X5v

literal 0
HcmV?d00001