From 7a8034196bec9b830e99fe38dc79d5075daaf4ce Mon Sep 17 00:00:00 2001 From: kieron Date: Wed, 17 May 2017 18:13:22 +0000 Subject: [PATCH] Sleep working? git-svn-id: https://spexeah.com:8443/svn/Asuro@84 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5074944 -> 5074944 bytes bin/kernel.bin | Bin 20708 -> 20708 bytes iso/boot/asuro.bin | Bin 20708 -> 20708 bytes lib/bios_data_area.ppu | Bin 2002 -> 2278 bytes lib/console.o | Bin 14704 -> 14852 bytes lib/console.ppu | Bin 16122 -> 16125 bytes lib/gdt.ppu | Bin 2777 -> 2777 bytes lib/idt.ppu | Bin 2969 -> 2969 bytes lib/isr.ppu | Bin 1815 -> 1815 bytes lib/isr0.ppu | Bin 1981 -> 1981 bytes lib/kernel.o | Bin 4620 -> 4164 bytes lib/kernel.ppu | Bin 2527 -> 1927 bytes lib/keyboard.ppu | Bin 1069 -> 1069 bytes lib/libpconsole.a | Bin 64596 -> 65630 bytes lib/libpkernel.a | Bin 28652 -> 24578 bytes lib/util.ppu | Bin 6107 -> 6204 bytes src/bios_data_area.pas | 7 +++++++ src/console.pas | 5 +++-- src/kernel.pas | 22 +++++----------------- src/util.pas | 16 +++++++++++----- 20 files changed, 26 insertions(+), 24 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 1aa5a5707708b4545a2308b0c212e9920c9a4604..5f70153b4466cc8ee0533f86fb0df6e71d5fd640 100644 GIT binary patch delta 14134 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 YH*7xTO#=Q+!@qyQzv)Kal+kAV7ZU~Ni2wiq diff --git a/bin/kernel.bin b/bin/kernel.bin index 9e0f6d471e258ef7e5f7541360b7c43c77d55c68..50506ce5f4df87105e1a9f6466b612065308e917 100755 GIT binary patch delta 4366 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

V4Y)S*Ri6>)c#tDU0 zGAVRh<^_4Z9owWyEgci<)IVBGi7D#_q)^swTDQ@uMJwA1U7rR+NHdhN5AS#Gdv+Y- zX?s!bIrn$Y@7#0G{YtJKk**z)Vs@$f<=RS{w1l_X9x!~XfiW&Et>Zphjr31GZmX1z z@x!)5(nanpTP{7%x0N{wFB5p#zN#aRHXE}}^>p<_t4Q@u^ma{iV_Bp0BknA3vABV$ z-zjBGeUfi0cUJ$tp0VLWjImeS3gCT8VJ|WDYy5EeAtF??SPlw8iAJaZVNQlns1qzi zs5n%tD2&}pdSmp%ZAj_sysxswa)Ki4DMp0t{415t>Yvo5Be)EDgmQH!KUsN*2vseX zOM+n02vs1|W(Y=|U?f77AXK+ll7e8?2-P6iGX#@Puo0nJ5NcX1j-`}Rkw&Nip(aC+ zb%KcqHG*Jov8)#a%#Y?^2cbGcP;`Pq1iK*AqRxUKYlK=5sxpKkolr=GT0y8oodv<9 z5$Zsw%n-~v!AyiYL73BGIVuQ7jW7p(Dg60`hy2{PvKw zhpfNM_)Ta0;K9^`mMbm%^qU zty?Aff;6e8_%jVL>0Rz@#0paAH&90PIN#RjtS$yyBQUE@u&Pu1aO1u8xl*xUJMn`)};?YI$6p7Wh~4i46n?@e}?o*U=;nz|xH z&oIZ>H>yOuQMgS{hMUvYJ-fPmLUtq&}CoX%( zKS(ie;+;bEG=Sr!-o&Ls^(Cm*so$Rciy|yXc(?N*X)izM+_-ol=6}I>0JX7SFg^*v zR8uOI+P|9iItv$h6KbKl32Qz*ImY-cr?Xb8aHXTy_ZzLo7boj0qN|a6YxCk}&HCnr zgP&$rgg!FUm(Z8@-`f~^PyGTPZ*DRrJFuRc`LX7ZNm&l{3U8brvO7p^{(CBAJvptm zLMGY>*~DL%zu@yL(njwa##q$GQgR}OJb&;s^uz`-77>H6Qw&KTXX-FEP+}{YZr&vm zJk_I^VZu$=Wj=2~voy#bSunmNNx+SdQ>lqt>TQSw>jW?dtmqe$(b2oK^<%hQ5(?pk z{N93Nb@ilfCg+P3_z5gdVgX^j{Pe;;`596_zQg4Q+oiYpst3=@Cj@ev%Pj(FIWJ!l zNRrEo1hVM7eDqVq`Wu%Q1BtI%Y?b=;_bnRgN^6gFT{q9@)~R1xr>-o#Y@K>{<>eDwNhXB5Y15)&9fh&+4n~@Kg2#z zZTFyAP*scU9yHvz3bO9R?KjzuqOP5yKD^C5PiCh8C=3ABU!wmXH4QRuDuxd_kL4~ zT)=ff-z$(5<}@T-a91I5#@HE1yb0_!Bn}Z%A@TIGn~?Z3fidi1JRIyF=+l0;p-;D_ z0*Tj({R%kc`W7VJWbZ@b*<-(h#J5HaOoP%ulngl%i5$q85}`q9KuUrJqCsf@TSxrl z`qF|3Gdo5DZjaX&@VIB`vcnq;?HcmaP}zF1BfNLS8KM?d;IpMP%}i z{8zkO?hOY0o}qxKqE_jAm{g?uE$tL#BF|hbG7D^9CQ9%>vCa-L>MXx(OrbTV!Nr_t zHmGPmY)b@{B1bwe>C#j6axp4BVO0CHUmmPTlz!I8QXZ_pux@xLMCnHu?Hx7)X#Fx} zi_h&LrrSI{u2RDklfElv&qIDUAVMdP>7?gFRp^zuAW3K^(8J)?lpf3>iglOb! zy~MEt>oPc!w&wQB9D7i@**^I&bN^7t715)Jj;RP{=og`-rhwx_P7D zqnj*Qy1}q6xND@4r6t}I&*MZ+%c4zmf%c0rB3Ydhn`3ZrEWF)6I1&yG(k+YsY|@|6 zF*3G`qR^v7r+{{EY*l)h@^k4lx2@1#DU!sCb!)HGcOi?h|JnDUXfBws7^K+jpfrX; zp&={^P6vLI@S>fP&qg81R#NKNWRq(*06vyum_61Aq0=p~=2us0=t|Ic#oYc@*A43UalQuqP`~x@XX@oMP%^-qK z>jte{A36Tfl4Lg347vtCoNVM7i8YqyXibKSc1Kt94@`2@?R$Q^Y)pT(%$#%XIp=fF zz2|rD@5e~1G}0=0Q>65xR+CZ6e8`xCie4= zM4HT*Bahv|&I)fJFgP9D3DE+5`4Sdq@G0907D;Ku17|0$9;!1<-~7 zD*$r@hzSGH1XvXy6@69!O$bN@V2S{-VIY=(R0T+L=qnXK9Rkt-Bt-yy7>FStZOa^a z59MA^G1l8uV`pC3N8^FW_$BxChJeZA)VZBw9%r1}IVwJjW=#HqSEWy`J4MO0NR|az zZ@>~u5+Rn}Lcrq;G>qvs*-qeOF*yoCsHuBrY1+FqjUCh6 z$_T|_GI5=n)lP9$0pc1eXo6KI9>O_cqLY;P9wnww;$^ZZQJjzDA%ls%l(&we`4rs@ z3tRM*sKi!smXNcRtWvU8j)!$(O(eV>R-ODZ#h;GE)dFU>h%FICl(>PSt6+teh^xg! z8kN3*ZObKbh@Ke@2IYLRddO0IW3awwA_4vSt_Q7|_;VSKxC}m*#+9*h#d7{=Qn6~6 zQMvI}UY?Pedeach;PV8%Im(l(2>tUY3bFYZwQNhA?2jo!yza z#THt$(ywlG{Nrs6Kxx?9)Im$)`L^^ZQNWkkEM|de4IMpIr+f$)IxaO8X?)xG7TfGP zqI#Q-+lgq}%yyZTX*OY`9Jug!2O2VQ{MCQP#c1Nh_}>3J&IlKX01W}1J3ZT7ldbX; z)8ex-Xb*2@?T88#@OxQ#lFy(0WW1E6EOY(iU{EP5R>KmT$5-XWto|3DIw?*28YkQ3 z{>4>)HOO4@&(Y#@IF7};qkN>B34!&2wlr`to((*uo57@i+%{dX*3tljpY zy!w)Oo$t2WG<`*QYA)Vsuhv{7^A4XexjJQ(%vpa2gNBY?F&|oH#qd<}uF1K}b!1Y| z^{v|LF|wdm_F{>LT42lR6togSzAlFId5nn-I2Up*g&vPl2$`Y{8hK;6Cj>SKqq^*HRjCU!F5qd)t$q z?ZHWE=+jL&;(lM=I!QA^(_6SEzesBLKa+2eq;_65vtO&4O^f}LTMCqg6zr@sk!R5z zoUhj3A?7}USd7hzV>ck?p)=yhRft0)5P9glIB*?ekAV2#4~SQXAwI!6h4BF_J^C(I z1R&nN2J!r5h*z*JQE&@l-fs{BHRN2X`@?NsQCOiVCA*d%E-aEN{J$3F#PN+q#+H(7 ze`U!=$-K12R{K`{ZT71#a&J|{

tzwb%4_ui0l|Sl?c~47EK^kw@~K<^OGQ(uVm1G{*=qM& zC55kGodd3NZe{O$Yk*mdS<_DX#knn9qyvs{{j$Y5R9Wn_061h#>z2=&!XAf4L);R* z<2uHiDo4tKiF9VkOzK(P)E85_nN80xm^p($D!QCWC*{5fC1_O`Bo~n$Qe`t=$^#Dj znr|Rn6J)EAw^JAA;)@kOtSvq@`KYc09*B6Ex;>WdhRTU`eoI#y=pF7^8s%1DN%LX|q1l zb!J|W0OL=v&@a}>ci6&ZPXk57K%yd|K$0cE$;FX@QH7Tk$YHoRIe=Z3^E!wLH0JK) z+3aT0AoK5oMIgju5XHp7z#zam`6IjdBo5Ze930}@Z-AojKvIm_leIXC7{w>g<&cup aW(1qd$nXUu1q6)01wdplP^$wCQFmmX*5*u21bMR;f#I6$(PL?|Z)A`R1ER zK>TO-JUR28_xvvBe$MxuncNVKt#Y|s$^@74s4P=z_i{^8tKowxtO|{)#u=Z62l;uh z03Rpcn4O*dDydFQ@4f&1BmxtorvjNpkxV+`y+@t>UgnjvhwfEp9|0a7UrN1_1Bd&k zCUxRRd%gY{?|L?nHP(2wYv=3bslz*8YfXJisxsr#^&ejp8AmCjM*?;g((hLj zx@LCHR<-9{bR<=U!v8hT_J?U^h}G}^-XuOt4!j4SYHzT3%-cC0V!GsjZl38QOYU`z zCDyxiBb?14WsJdSc~_*E>6Urr`QlzRirxv!lmLGL4boi;FU^ z>;aB>gPCU!o%Cj=MUXkVGIQvr=eM00OGE@GyjnJg)} z<+qSrG>ebf$W8cEdtkV~N?ZN%zYMRo_>+d$SbW;>%PfAM;k6e3n&C?={zb!=S$x#+ z8qFo40miAYiA@fnx8Y3g&K z%;8s`%RD*L7zw*xEXYhVp_((#>h=5`F7;Pm89iJzR+@S4;G@Tm9eee}pM%A^hkxh)b7{YfXv4r>JvtN%ElhoCH>h% z{fxJ)YV`HO)GK?_k)j#D%1lqRNIkx*>+veGxH z_UOdfsTprXoef4HKkJQ*>rJZUKv|@||A|SsC^>L+@1k?ZwLfN?+|zqkEbJRETho^* z+qQE>WMS&?iq_P<=6v`HOD{R_$jt85ssu>~cYzn|e7!aGBi$~u2rvfMwzz&^86VLxaOZ1IhpQ^22B{yG5^VAh$QpsPhp6 zhz*G7I#q#)UQ->23lLW$a#^<^@?hJ57)1OOB1d-%Vlm<-ME30xL@(kch&*;UdHjgW z5E)o5%d9|TU8qMJ%BjnGuuPW6I6{xwQv870reeKG_^Z*Kn#=De3ph zE#1Sqoyy17DW8ADUEsSkz93Uat-g-vz$aVN$`S?clxE()9B({8rqy(a&3PyH8i-SZg?a$v_vi7 z0=0v?FKYQ!IDBh8QEZ3T z7IchNH=bEOWaTL}x7fAk;pJ=2ldo%yHyRf_#O5fhj;=TI72GcK9k6z>7Nf%B?hjNr ztIQ*C{wim6cpAT6)SZ&s zWY$%AIQh`t-7GGSRc=}skFK?QwZY{2vBcTZ0%<9&9BV4pk}a9%=N~`XP7gd{opU$0 z_Ob=&nSxPv8uIXc+irFYj?<2(@;kB96F=KhJ~zF+*@A}Fwe`&{(T3JoYrNeoWOgOb zdEctmc(f_r+R@U8e%3wftFLQVV`ouOc~Z&Yk%4q}OmbY>+g4X|O9O^3+LGw9Hx+%- zdmWNaQw4phd%N1}RzK)<`eL0zYQI}FCOSH2Ji zW0qUK6b573FV1l!>6lAC7!%KYT@1#=HQy0~G0QjK8?{@-#^@8(aiBhfqck*6zN=VH zwJyg2b|GEC8P8uhvk$EEu_WQd=I)Yg+8Zc`iQ6(Qv7NOmFP>a%feIACM`2smZU{Wg z%s>|Fq}i=ZyNj{AS?w>zgTsa5jE^1u zNte`H9;*T@ac;0otbDI}nODem$o*ylGg(|21&^MIhEb07?g$<|DYF?KJu#h}Hw)R| zu_lw9;n6o2Hidsq)@<)T?cyG#yz(D_e9O9y~LV>CV|D;2{5}eC|f%>iBTrgHB zPzms~L*5I{sn0)L2siST;HMq(PYE~j&ERlj+utnQ$hj7Hab^4;5N_nh zz$+Z`UkEqy*TH#>W$YJXEsz`eCEzQ;dB4c^Gz&NKPlHcF{&_^ocL+D~zXUg-6#LsG zcooVt6g~#d^=bH>l%w$7BEKK}DR7oS`(xnxI!JSu`cH5Z z!bqIX|6t!xmFkMf<7=cV zw(+uDT3wyTm*(;1dHjl8jw`Ah_ceL`YHIT2dF9vCqJ`bn{K(U+%{5#~l|18Rxhl)4 zl4o{#uF4fu$!{Y2t2@tEbzW_%FQZakXVm0-(v8V0vU(XU^SZ4%PpO7VNo)A6K?B{C zoer#`h&el|l)m(9Pt?T|T{5`J-1_MoIk{l$>L2V++Y;+$&WL&klHDm=HqUijgfA6l zhIS1n(;Jh0-FS`dPN!4-JtOI)ZERo6<(h0u;rqzmO^#9=cS8~V&SJaQy2EfhculTb z+z&)ztu0NwsWVmA%Kd}cmTAAduZc9&#T%Pj>SDRN+lEpbbKSCSv6i=}@4#TLvUQsU z^|!2ZzJ##Xn=Gc#0=mcEFw6>`nZ?V;7*^HkQFDEXzL(@~~OmU*l&WAaU`J3hM_ z^B8U9+{rhyX3yJ?z`$U>m6=Ac(-Uc)(yWHfHP!R!4>fMCnKiLkPgxf86v_7GSms=K zMes6?i!TGY_Ps-!d$1k#@+S+!_7LV>7Im3bJF;bCcRJbCJCYh6%5FT4tF86Q*6knc zO(i!c2h&~IndQ*zoKJImwg$PEVh+E<-F?Y4+qgNa4zne9 zSzpa$xmf^?d!)HSxnoPLjz{YnKY?AUxjnndCmL+$#+lsh%qOwF$H`gK)r#kX?Zg^g z6;C9Z-$7p2aLv$sx?Mvx!`6`$ZD}-qRAYTpS9@oBBD%J#z7^j`)wSegb>jZcp`s5P z2e-CbM}|2B99d>oJN>k;ZpBw#I4r1V`be7TFy+diN<6yiZM53g*2Qo`nou2y=2%y2 zN1{GL!$>_Vuk+g4W6@}v&Q+=s`%79?Vw!iW%AVn2B=r+rU#fd^(hxmIL|{Fz83|8* zRXMzUbGo|+m`+)^$)pB{(#guEmX1q@)A&J z_%F!UEA<=UuabWf5zqT9pWjQkuR^_qFC@QOsrL#00Qm-`YJ@K*??HXZQO|ZF>bF5~ zK=Ox$?-b;njC(+-{~^b3uFjC7o)@BHTp!0E0@;p_3APAcEjTE+L-6y0e=m5q;6s8( z1)ml?A^4Ku8-n~=m*w)#f>;A&zbq$jRjN*K6>(6hxX9O$CzQH@2s_@tu|2m4euaqq zuM=T+kK`W^eu#*1nGyat5##cV@YjIsR}bDhiD95SgLf&x4-0-&FbO!$Q0-v~|$enW7-;6cGD!J~qY2|g?M zW5MHsKNCDDcuMfJ;BN)b2)-f64T$aW3I+s&f?>fj!ONr{c(1_zjyo({{R;YzeMmOf{lWDzk%MTh3owWe5>%k66BpP{njE9 zxvvn{3i5ZOkL_LJ|xZ>EXZ7jGeAG5#HKtJ1&VC4Yb%>-r&)KTgDc^R)02#N|r8Kt%b! zBjVgM^T5OLx&iyB;Kf8-cvi|dt|ac1^9C1j>mko+GI(a4_?<4XNp@?VmCy>6oT-VAkT{ds54`cxB}lv*nJb;Mox zeJZgT`?2Kr5^q%MI^r6ou9y6qi75AWB7W4$^Njw#A^8szagH34{3nSh_XWW>iCCO2 z4H}=;wbKOiO_$E2)*AE;dcS&A><`Q$a(ipfA1keubPNSxs(WhR}!Hg zCqn;fBJ@5Z`CA2d646e*9x#tSPre(^O+@JP#}zI-=lly1etG`V-&2CWCgQortdlp% zQD2_B)O$a11NxH)`&uH(Ya+5<#2%%3h>#BuQSTdwkl#j3DD}5Q$iGH}`~VU1M+F}z zZp6AFLhmH;CiI_RA=au3`W1r9h?|u92od^i#Lp;|5I#u6`JEDeD-q9OJZGu@RU*#s zuM6K#ME^Y~_yn;J`#2H$Cx|!WTqi>BH6r@=LF^^0=MzM59Z}B$NiP&!K}3Fs;HM=2 zTEQ)XBZ9XG-XXY;IEMKr{9gqR3C;*UC&;^M*5x(gZu~Ek@N;n|%=~h}_XvJSa0Lo}PGtbyufONi|`7V-rMs|rK&HPxgQpcE(VDzxX+cp%Hmt?>D zBsY3dq#eyuJMlob9}Pou^zZ*!Keh#1q1{#_Rn=nrj|Y_`7=PGGbM($$j5TMJfJU#& zk*4@7Y?vb$y&>c|ic$NZ$M5vm_tatinBI=))O)H@shv=ujO{aeqj`FXD(sn}=X2*E literal 14704 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 diff --git a/lib/console.ppu b/lib/console.ppu index 2c35851fd8ed14842572b82026fac329a28911b6..16d5fec2c9b06e7f19f40b07309afa5fe919b2ca 100644 GIT binary patch delta 1874 zcmYk7du)?s6vn@^t&DbKUB}w3jCQ@OrT2CBjkTRySq3wafv^R+4mWX%b{A0OCV~b6 zx;P%pT!KL~A`uqmnkfDONJN6hY$_REFsR5vlt2W*a23y2K9ct&J^7vIIq!Mj@9pjO zhI=vSCY$(`Ii#eMy!?B$@vB_z}RYxza zU>c(JD4I6rwDEJ2Aw_=L8TEDZ8zjn7sko9OAj=#TDe$_cQWa)$u0gvipX%|N%R-N0 zAM+fXbeX9I<1Q<2m+H3ClW@B&)PY8KKHt(a%&W13^>r9zegz|}Z^ae2jqge4u@O+} zvC;sVIq$(5kC{F|zsE-haDv^BanVyipCa9Br6UMgPmlmU&0-CgpT{n6Y+IPRHvKBmJ)hqGt8w?<1|6_GM6f~HZiS=`@=#< zEpsDJtI=1p^SI!&FfZeYHTp0+9fI>5^9y*sEUJ51P`5C@j-%x@`daRPOK=95-%Cu2 zvU5Oi4ly52IJ4L}E;wH@kMOjp@drUY%X~qpA3V=|UUymOxXOH+&sJktz)rH7lM<=S znQ9y>kLVY(WE3nDvlAJW(X2v2EnyC+5i5(B+Ic~}V9jEltJH?Xy{_Png+j+t=BIgN zjlP4OF2PyNyb(*PqFGx7bqDh`^)3mu;@ zA5&_5;y5wh^pw!?4f9yyI9=?V6P)wRmt@D#!_IZVxyei#3{}@VPr7p$Z|yg zB5M}GDq!}bCA5;taU$fV5Uzx*RENy4m1d$iY^TT2%y}Nxh8^?--VHnQm+_iho$rMV>D-Qk5p!At Or6r~ie=x@)j{gCJv})P_ delta 1848 zcmYk73v82B7>56EY-8QnMmK&s=-TzNj&^HzWsG%~f)yA++$39cPPa@qE^-+#6k(QY zKtzJhm$>L8kRSvw%1A{th>8*kMk0ei1Wh2`KuACqgCGHXJ4!q!>6hnw-}ij|&&i+m zZs^~Txvs9EsH8M@t!P8Euj(AyscKCdd0=2$ZAEXlxhy87qr2YboOW{gwJdGgL5(Zr zxj7x3Ep4q!T3cEdx3^x})m|6sdatRwXKwPYL`@T8Tntlj0=v{=f~18P$`3=r6XT8> zWC4;=-;oe@re2XXcyst!c@-DaO;}<4LN;Ol2ovhlK9z1Hr=OAwbWY0KRL@H>=0UxZBEayX>}06B0dkX@%EglUbPV$&&e)PwvEK>dVkaUWtC{>u|&4kk>IH z*TLH=%e6}n8d&K5}&r)=m7BKQ8V*6~V}YX2Z~-Q3L&zCTuBawWK~&qDIUe4@rDB)(oT-E)*Nq z7J9{lzCyFFSV{XMEZLEg>tLOrcs1n5ajP)sds0zblpT?M?TWXGydJZQe52

LT*e zXkV*AiVAU|$Yyy%iS$HRT#@1%!@3oj#ch1eR~I{dA4PM~*GY@H^WbqKM?9#^I7B{* z{^H=M6N=hTJ|FFeVRcEFUc`OBDv3+vzp$(%XuPeccggWMK{Yjj8=@=p9G*ynrb$`5G&Txfd2go%X70@f_JfS!Zf)JxBiK|HCwJ(^bX3PQJwl z3+Rn>#K00=apV*nE(;n>ifSfj!#F-@^eJi)*^k!pfZopCLB*LuuES@{H!AA08?Pj%($KDZPrb&4B%*+)2AB?d2y{CZpUxZ&aTW`Ivk- z+UtX_Ob5U8TP5)w`Sjr9ETZ$X;#?&E8F4I~bOsdXCi#A}H$|peUSuMH{}>O~FtQ%) z2NU{IT2>|DAm`!f%6T#t$0|MI$Bjz6Oh9^-o#!a6a>`?9WSxOfl}nz&4%TKIud+xR yE>(FAFGOc8L}sl7L*tP{dwMGh!fLP#W0PGuFT(U;DUZT{|%MV zck=u7wMgktGiI4mS^ZH#mGKn%+k)D;i~>rbaKlql_?FB0R2v2!P-QMd_)ltuLpjdl zI=ek=lLtIpMLy`^ZR9Cn&N0b?-89U20+QrUJiMR$g@+H5zw+==a@NDA$d^65NS2S4 zVea}2r|9!Qx9AJG&Qi|+3D-YJRa=3S%VVM~z$>ELfY(J| z1SUkc1CydVfN9ZI;9aU}-|bqRlsB6IWG7_3{3b-4CF#~l_V64GNF{Js)5bIoj|Q9 zkEc=WH9(6n^IC;#d2+&xi-|JsWwF-)L&A*PD;x#JsV_<35pgi^EpgNV?+G*TLs4$z zj3_rUFS-k8<3<%bXC1mB678zb9kMD1-gG_3MH_&RMH_)dm(RL<-cfxevQ^)Vg!Qx; z&}$J(ozv@)sJX^6H+9U~q+2YDzp5Uqk?+G+qbcqERNtlN8_P1k&trEubc1w{lqE&Y z41ZD|=%5`n%L;*d-O5>42>8;8ow6v(-7ymZ JKJvqp`9GP=wqyVR delta 1871 zcmZ9MZD?Cn7{{M;(_53Yd1({cz13w+mb9+Mw&|*K4x6oEhIZ|2v!N4A!RnZb^QHJw z(1MEW!#27e&<{fqWgCovPU}mRf!N_>PE-UL>W3Bm(BX${pn_Pe|NqTN$?k=F|IhDv z{^#Z1d(Jr@JDiw~_05LFxq6&un}oz)PMGJX)WxOc<>mP!6G@qN^Rd3C&VK1rx?M%} zlge*>EBYI?x=HdAvF8px{n#_H?(|BW)(h%_l~(!#YjaOq-16HhAhuPt?vc5TqI%iYcEcRYO&JFPt4RDEyV-SrKs zQK9`G`ghMGYF-c2?A&4(a-)TAQCSv*6Y%tB3t6$I$ry|EN}1EBl=bz%8od4)5fWcl8P0<*SMiVFdEC4j@I`(zF_~}bu^5#vadzkj)d-7dqVi;uf_ z*2U*s{FRHpbMa;HE;C{04HjI6e_b5)RNUnWr(ArOw!NRNbrxx2?{L0f267`qxxpec zPC|d;EwvOA<#eJrINp_!8?Z;8@a01N+jka6?;kDXb`{x;{@b^)CO?!f=tlpHUi4>D z`O%Ti;yuH|1Bo5kk^cNpc2Jzuo}n9(dQIKj6#tUKW~hZ)xAND4u@ajMXQ*kBJD6_~ z*=F*4skezdK*dTOgQ}ZF9wwuoN6G6&4jSg#w7NuIpmvMAM9ts_zrp|q6&I(qS>y<{ zSL75G1Dv5^fU{5)6K5xK0PaB6FHuqd0jf5L{6t3m7jmn}6~iSe{C`s6{|Bn#SYZDd zg9o324ZKix&`d>xbyPIizqMYfXBu8*7)$&umXPNi=T^YHB> z!&f9vr9{S=fbn@Mj4!g#Ch{^F#$!}W$&pH} zsaoc6K3@#B+O0TL2laIrpFmVX6ww`_usvpre4(?UxE=H11@(bY+?uS{M?*Fid9O?q|);fC%D+MW)>G28;R;}zCV4Uk3CQ+1AB6QUU7a-s$Rj`LXAypr+~!x zk}~s)<5Ln#65|t#QWO8&w_vt>r+;Fy0AmN!Q^v`&7@H^aGfPaCWqLN*n>hkVbFr~9 z1NAXZ)@Dgz6x}?5Wg?>h$RUif96%Cc>0|@8RjN!tZZSwgn-NHE0TEEJ1H@(mDi`3K z%*ZY^S(06l`yf#4Fi4zHbh0VCkBkb4sRgp>B$CdvK=w7p$wHhi8X!>xkRnljAjzZR e?Hc6g>Jy)tmstW7V`K#iGB7gSXPms7Qw0E7LrD<; delta 717 zcmZqYzb~v95D;o;Y|7Hi$iU2SAV7&>J0}A}n_mDoOBsK?Bm)D3+(bovR*r6&$nz6J zjXAt8RK1gD@ZLUgf{P7HW^s{$N=SK&Ym3}3ph^bzX65~tC z%rA~lNi0c>Pb^AJe7-C-ptgEW^khNC4yInF$+H=oCtqOlne4!{Y_c4a1PJpmb1*Uh z9mBw2$H*{QhB?9nS%8s&l?f;%z{tSJ08@uWUTE?KMzP6t%xpZYAd{HDBnwbbXL1X3 z3Zug2m&_9x`GtT|jIta+66}}BU9795S%AD^khnI`6%0>61QfiO?9XP({Sheg86*lc zzn{%VF#*KX2D#}clG?u@Hao~!j^rL-9s{{LqZ1ga7Ssbm!6W(86pmY}z5ke{nh ze28msh>=Q|zo*OOjcf{GAnmF^%%mg;Bw0Y=2h=49(Z$HX1~LT*_<=MRP!)*H^gA9% zGHQc7APJQRiOYi62&ZU)oni)$y)3{(h@2UWHQ(S*=|gezq7e8GEcT)m+=r|1RKN1;184mB{oJ;0U*g*l3HA1 f1P>)fhESli1XvmrV=N$PxWgG4qM0Tqv#S6A9Nce4 diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu index 6895b552f86b9affb0700cdbd93b6d3497ee9a51..e86ea236fcd809d89c8d52d85500a074e4ac78c9 100644 GIT binary patch delta 19 bcmZ3>v6f>(83*SStCW~YrRO)+t!D-RNSO!6 delta 19 bcmZ3>v6f>(8He|Us(11X-rG0Ut!D-RPDKa) diff --git a/lib/libpconsole.a b/lib/libpconsole.a index edcc2856c94a55fe64afaa3277259eb92f825507..b2cda7c352d2fad99761aa2cfadb96233be0b446 100644 GIT binary patch delta 6764 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 I_U;M(KjCidLI3~& delta 3748 zcmbtWeQaA-6+ibS&bO22HqB?-eAscFCUO&hC2m~>Cw5}j#!g~4*-DEGwA-X)9dy;0 zK#C_c2I{gb;Yrp+Pz4J==+I zi-h1x@1FNN=iK|wJ@?(;x!<}V-oGN|w-)vF^e(j3A96W7t$I6H0RWo-#D@T7D*#nr z1yIZMr|Ct2)+YeWCjhL^0(8Ct(ETpJj`sna#Q>fv0B%1u*CX2qpnS`vImu zUYKocP6iW6hh-uj4nQP09t%cOtkDz;Pk$6jS#+%>6+P7JgaYV-KyYyHNH7*i=}rJs zhmRgPJl%7Dul>Fq9DT3L>+W&UlF(FFpSdVLDdP2IOm(j+I9FE9fGtYD2M_Ms-gQyX zQmIj-)ND`zrP^Dr`zgO%|Lo??o4>?`%|B_ZB)9kY!RV~41qrueVc$i(r!?BTQ%rZI@@{i-Pdk^QRhVuG9CTS#}q`M1} zboReYlKYkbJnL-8pTEcHi_?m?OF5wC#w;X+&Tj&gh zn&>wl5l(!-cns@>ivKVUYt;kz4Y46zaB6Qk#PYF+aALeC6^h3rmLdOm zARO~Y*Hc55EHtORu|l`K$#66k@<)>?KaoNp9!sW%{7H<}d;wpmc`*GQieIS#m}N;@ zvOrQa0(_rwHNdH?{l%>PCAK#KoXOhHF>VI9ki~DXr1{=tN%Or$QfvlzJ8OT3G5KHD zaT-457aH&xOBx_3!-7sv2}y-W#Kf`%ppNye0L_dkFh2RB4WNTD`Sq|QKR4^ikAE%p z8(`cH5MWGxcd#VC1FScX0(_Yj7=&I?rJE#|E9Y+YU5jnm1lkOnvfc)#<&dCGUq*wn%08SnJpCJ34iL ztHX}M{W|tFE#jQ-B>s8(y(X_b1=8$1sysK!jwa<49c~+bam(rKxFfi$!>E-I_Kvhi zFxGe-?`l1bGoF)p$#O)^mZ7yOqy@csNZ^e5bjG;VC~!|#L6|t#vXXhkdS0kbJ*L93 zk#?uRxz79-aH@AL0*V(GJ67Cr2ugBBFOs@Q@7-xpJiuds8;YF`OE7c(U^tb7)DBw@}L7CT)X1|>oMR5bJ67_#D zViq5vDfB4%5-Lt7)b^{nsYuc(gTF~wq0J1f_|`FCmfh^pV-5%mj-(QICX&I=r*3;c z0`hWFxopFwq7s}958%b{9rmBmHw0bR&aXEjBFH}YSy&nA1 zzE1HBdZTyN80?~`Y+IG5a-hm2Hi*nZ^kX5ST9tk>rixj7KDJHxa5=Wkz*TWlv(&^@ z8cx?5Y#FY&^-tuI?C94@vf?V`ja2Lc&&1s>n^^&aFoHp^S46V%&h)~jqz#}g{~ldXTCOv2i&JUf8>YbAS=gt;o`8v9$<;{Yk- z8=zyo1KIl}yj#M9_|L>(iIdLxvj+PhopJzC$V^ES=pQth%BkL;uaKdaz tQgIGxG;yLtqY0taa*Za6sebopG|?~7ghtXPhg=_YwX;X|ZaZ*Q`8RA=x=#QA diff --git a/lib/util.ppu b/lib/util.ppu index f93c652514264ef759d9097d92ab78bd39a24d90..a21b5706ea79423d12a834c9f39fb425ceb1eebc 100644 GIT binary patch delta 1572 zcmY+DZD?Cn7{||(mnJtiP4jm1+Tw?dV>!RHC8ge!TflZ}SH?Ihz0K!nW3X5#bb&|J{{UqPDr+ts(=GS35#6`zPtUJ!}L&xhh#;-ZAAoo|qJU4pI zDm@sKmIaF0?=k2IkGsw)?zR`<_gw}(&40O;6;IoXa?x$j1>SehdA;x)wd$pYz^d|! zuJ*#PzgaBH?|H?b^L$5{^Y(Sq;vDzrs=t#K=V^~YXL!f6=nZz$66{lTHPlH<@Pukm zgFjI}rMGzAdz-Gax3}PpcDtl_t=FIr_#4>quASylpF!{NhrR`GvTN)70QL=D?t9Un zg6%F>SBedzS`j$Vy*_;+4bzF0te4>AocO{vi5;ARY`gdmW2rf4+klSfs2dwHm36;C z&+%3NjFN>-*qSVV=O3XU+XCa8{nAUdZph;oPEf$vnnf;&GDkkQLTbw!f$vT78u z6;U(Gj*9VoFsO>?sIE6~V`ApyN{9N|^s=D1N&7l9Ah6Z4Gww&i#2WD7*3e--7L13J zCP)H2(E=L35=?LQn;;8tun}^_cB6t?Qf8%xJ5bgOh*HufJko)Q1BgO&6P^H+Hfi#Z zdM=hO)=N0OOncf{G1*DT$b?$GTq@NBWzD*#z-6O{*i%74c|!!*T`Sc}y;?4f)^^^= z-`cq*Q+O;i7>&zAZnu=wHoQB(!rShCz8dOPhv4OEux zKf*YB7WYf&Z@Cbe4*q0ue}TSl=QGg>{xRYS{AocCpowRrlgU9$K*M=NkG$*c=7Wxc upL$kqw1yw01`y2+7BqD5gk<5Q9YXXBE-sv&T{0>LPBKsJ2a)03XzqWvU-p3j delta 1479 zcmYk5e`s4(6vyv*FG=(AlIF+D%a0~)e%P*CTj^@4wy3QTosNy#+Ex^Vns$+1$&#*3 zyD^0d4$;3P9vmn#2L7QkL{L$L4fJ0X5d+bLzOxt zTAIc0^++7+^RF33ON;Xbzoatn`xk>IG|y&zt09p4w2?D|5cJ)0Rjt3!Y`KOM9vP)5 z$D&hv7%tRCje}k~dss$M$moNU2b8^_Dl#%j5CZWYB|-&lP?ZlPu=H#&ppF(*3CZ^j1p(k>_f z92Lg~)@2R(^|{#(x1kCFM0yz)-rI)hBZ%y>E}R5ZGeLF+)_1;ge!GHx^|!8_7BlUD zoC?_7u2w3WXsDal9Ju=EKNK20Ia=s^$r=m|sy?>95MGsY;OS0&HM#W%=~kRaukhP?1{0Kg!9}(Ep@= B