From 6ae51ac70de1b28fb36a105722234c5484d0f58c Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 3 May 2018 23:16:37 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@654 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5234688 -> 5238784 bytes bin/kernel.bin | Bin 180452 -> 184548 bytes iso/boot/asuro.bin | Bin 180452 -> 184548 bytes lib/ACE.ppu | Bin 1319 -> 1319 bytes lib/BPE.ppu | Bin 1319 -> 1319 bytes lib/BTSSE.ppu | Bin 1341 -> 1341 bytes lib/CFE.ppu | Bin 1319 -> 1319 bytes lib/CSOE.ppu | Bin 1330 -> 1330 bytes lib/DBGE.ppu | Bin 1330 -> 1330 bytes lib/DBZ.ppu | Bin 1319 -> 1319 bytes lib/DFE.ppu | Bin 1319 -> 1319 bytes lib/E1000.ppu | Bin 15730 -> 15730 bytes lib/GPF.ppu | Bin 1428 -> 1428 bytes lib/IDE.ppu | Bin 10454 -> 10454 bytes lib/IDOE.ppu | Bin 1330 -> 1330 bytes lib/IOPE.ppu | Bin 1330 -> 1330 bytes lib/MCE.ppu | Bin 1319 -> 1319 bytes lib/NCE.ppu | Bin 1319 -> 1319 bytes lib/NMIE.ppu | Bin 1330 -> 1330 bytes lib/OOBE.ppu | Bin 1330 -> 1330 bytes lib/PCI.ppu | Bin 8132 -> 8132 bytes lib/PF.ppu | Bin 1308 -> 1308 bytes lib/PS2_KEYBOARD_ISR.ppu | Bin 2235 -> 2235 bytes lib/RTC.ppu | Bin 2831 -> 2831 bytes lib/SFE.ppu | Bin 1319 -> 1319 bytes lib/SNPE.ppu | Bin 1330 -> 1330 bytes lib/TMR_0_ISR.ppu | Bin 2144 -> 2144 bytes lib/UIE.ppu | Bin 1319 -> 1319 bytes lib/USB.ppu | Bin 3836 -> 3836 bytes lib/arp.ppu | Bin 3509 -> 3509 bytes lib/asuro.ppu | Bin 1130 -> 1130 bytes lib/bios_data_area.ppu | Bin 3345 -> 3680 bytes lib/console.o | Bin 64628 -> 64644 bytes lib/console.ppu | Bin 60495 -> 60495 bytes lib/cpu.ppu | Bin 0 -> 8236 bytes lib/drivermanagement.ppu | Bin 9213 -> 9213 bytes lib/fat32.ppu | Bin 11994 -> 11994 bytes lib/idt.ppu | Bin 3079 -> 3079 bytes lib/ipv4.ppu | Bin 2978 -> 2978 bytes lib/irq.ppu | Bin 974 -> 974 bytes lib/isrmanager.ppu | Bin 58225 -> 58225 bytes lib/kernel.ppu | Bin 4708 -> 4747 bytes lib/keyboard.ppu | Bin 4501 -> 4773 bytes lib/libpconsole.a | Bin 267362 -> 267378 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/lists.ppu | Bin 4562 -> 4562 bytes lib/lmemorymanager.ppu | Bin 4183 -> 4183 bytes lib/memview.ppu | Bin 4766 -> 4766 bytes lib/mouse.ppu | Bin 5134 -> 5134 bytes lib/netutils.ppu | Bin 4026 -> 4026 bytes lib/pmemorymanager.ppu | Bin 4233 -> 4233 bytes lib/serial.ppu | Bin 3052 -> 3052 bytes lib/splash.ppu | Bin 2150 -> 2150 bytes lib/storagemanagement.ppu | Bin 10322 -> 10322 bytes lib/strings.ppu | Bin 5426 -> 5426 bytes lib/terminal.ppu | Bin 11666 -> 11666 bytes lib/tracer.ppu | Bin 3782 -> 3782 bytes lib/util.ppu | Bin 10746 -> 11502 bytes lib/vmemorymanager.ppu | Bin 6105 -> 6105 bytes src/cpu.pas | 257 +++++++++++++++++++++++++++++++++ src/driver/hid/keyboard.pas | 31 +++- src/include/asuro.pas | 4 +- src/include/bios_data_area.pas | 15 +- src/include/util.pas | 19 +++ src/kernel.pas | 6 +- src/prog/memview.pas | 26 +++- 67 files changed, 341 insertions(+), 17 deletions(-) create mode 100644 lib/cpu.ppu create mode 100644 src/cpu.pas diff --git a/Asuro.iso b/Asuro.iso index a0343626c8f8991290d0fc2a3b5f0e6ff669937f..c2dd42a633d252b2f508fd2c212054987e3faa51 100644 GIT binary patch delta 55982 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 GTlyc4%7GmK delta 52073 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 SSyoDV+yDRmzt#etpnn0bttIaO diff --git a/bin/kernel.bin b/bin/kernel.bin index b5356ff008ac8ef234ddbf3cdff7eaa69e33ba64..97aa3f610683cb92c628da8cfca28dd57127cda5 100755 GIT binary patch delta 44830 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

tvlffC!QfeyE2qA&S8wpK&k zsT$~FOLfqxfg9Ky9W2qnjcl9_R%_t%tiKMLQ+x@%z#??eVbjoj7NDaU8n}u5hPxlN zK@@7>W_Csgt29t%$8=D*)0ff~_O1@bY2b_OWgSd&Xy{g!qoes6SimxL(4&Fd*gPGq z)xek71RbEA&8u$u}(n04Whfj4o3)0aNO?3ymf>nE8zt_N5*>^f2u!Bh==lYORxP7QpE9oE4T z4SbvJ(!pv1`TX-8woymT(|jqt%U0^3O#@5VLpqqDf&17r9W2zq{cNNTR%ze?X4OGq zIweH&&x0&fN8>mO@I7_|iwSDor)l6Jc0mX8HSjR2(m{^~D(rn7tku9$_L>e_Qh7cx z|8%oWI-07YLdpAVl@2;J@CbWE2TL^Y19q1VR%_sgEKvu|Gkhib5sT45n-6r9cvyQK z&CpbjvPLX``1-vDma&UESfzpG>}wqq?((H{jD4hoaT@qB`|PyA)4)?KSqJkq@EaDVgB}e$%{n`Dv{pmUus|KO-0e&LEc;`Nmitr<{Fa^5L8k_u zW0g8sqJiJB{W@5!f#0(oTlD#-d5$loA6TxgYSX}K_LL50XyAX@eL7gEfj_c4b+AeU ze`4`ED9rUGbe?tHqR&6$H1q;%sjH@G;Lq$YS<8LC2L6J5{u=1fK*m1R!CDQx$PVeC zp`G8|IEe#<^Fir#iVs0Hw)4;224+r`D zGhaimv3y{SVVg6a7p|@B& zUA0;R8`&*9;Z}!2^8#N=Ud90O)pAUr>4^;v|i0ct?JBoi!=s0U+`3(C*Rz=?c3SfqW#w*Yt_f6{QaehXcX_ZUUsE zL1uXaR{aE7f0E4uz?RD$vtq}`5r6D$uQx9UJArE;_>lZe%b$SF1ye~_c`u&d7>7gp zIr(WctvU}8_j4H{79_9F>K2$vs%i4uSsjBEJPTyyZ_A%%b!oSh;4W~FM;XISz&Fb` zv#f^P2jmB`JDE(&sKwc`yLQ`7dVAmUdP{`HuHD-O_VhB2uZ$pOZH?(&OJ@^0Mb%atw1T7DE2ZiZQJJGx0%$E%C$Fj z=XShCaz#4rYE3D4zhv{}K{-8!HIUW;Xt6u!fqA(v4SN`E%C48LxrS0w>9n=NdkUGJ z3oRBP=jB8@f**uw8cbc$Jly|)gn#wj5dUWbN*HMlqeN!3K$%U!<4*R-OJH{aD;HSJ z>u7gYC@CXI^D-W7D#S9wWN7}n_x6V&smt*&WOPe*{yj2>3hgsf#C$hSIYT+qKr2F%0R6FhXL$ZYg{52ECHVzb7546MXYa{yun1jWtT6WSh z&w^HG6$Ng+xK%U?ALT>cdMoz5{x3tWED6^Kpz5<Gz*crv^M46S=!$6686jnz%0JA*{%nDW+P1s&wN)l1` zC8M#BgG58g+x_fG>2B1hBGj`SYK_%Nu$@b0PE!7F3fNpw4wXMiJQr^v@t>$Z)`)dl zc4wX-Y?xYyy(U@p!I^E{yLA^kVN%oIt?0n>norfGgV^IFy-Y3($>ro+98RsrVQn=s z*^rKFKO5c?{QhhlzRLlai%0w{3(r9@SpyY07Sz|646*w$P~%yO*Q?Z$!;IZvT_F(s z3`!9e1Dj7+?{2_O5@seWg|Hq)D5feAI|a{Vfjvmr&ZmJnqDZGFcy}x)HS`KJ;f=}F zZW_Z`3mS;GV3~?JR^za^5T+k5K;BYx{jJpGAD|Q$lDBV);mxi~SCX{H1{}UmhgrTZ zxE}%s>q~Zf$*vG~Y#ttXvkrtQglzz(93yJoczWhbbz0q#y@$eOW+2LOlBMf17{5fa zx^XysgqsTX42^(8^WdhMR1@HE<8o{<9f0b)j`VNtL{N1QDdr`RH=x!PVp%&lWw#3d z){)nsBL}fMT#m|7K26;~-7X(PPQKZNG_OF4hqBn0<;38D>rCslKY6|AkMTPQV1p5f zOTPd4zJa63W{v#9^V8D89^#t-aj)j#Yt4a#FKUL)Q7Fw6ci7#|?kPU(p((&S` zciBay3Rz+g{e_qZT*WZ#oZJ!n1gx+US!?*DZ0dh}!PC7ELM5C0PN9}XEPHS)%4;f0 zv-!YRi{*_HGfTo{lN_;Dug0Okw~&K_WEMgWh-KZ$LF>Och;zyT`TeJSMk?2Et*A-D z%;9U|E)q8k+-c&zB`yZsIpRJit`oRw;yxlS1RNu7pS&u+N9)T(E<$s5B_3NMzm;zp zlmRXFW-C5qMl6MNIsq?pz!k*C61PDWN0B&AzLg*4=tJZ*lHH@qVhOl41psZum&#mt zw+!QWzZpP=sVYNB^nr1JwucuHng zMmnGS={!j)N19Z^urK_JO&wyngYhJMUKIwiOxU`X8*{E^o@Gy~E=E$Y3uN==FmaLG zb8}zEXaba1)sk!Ld0#}mUd+OgwdWSNh<-8|oJqCkMfnB+b(n~tJc8IO#Qn@Ug%@QW z0sm3OC@z#Gb}6xAs>V`EZxJ+{ju5={C_ksQ|Bx{sgS# zfUh#X>up-pbg?8-DC zw}P80tcX-DbASgEhF85`m3@`*6bV06g@J4jY_-aGLv_I`W20OxhZ(l*kb7d2P4}FsWi*8xnSf zvAQ6h3EtjMlg3X3ILZ`W#?KLQlB@X2_&w?q9@U7K@j_C0w@D?KZ6=i+ekx;0WkZun z2z!E5p7B%ZLMo5yDh`{OO(C5*emXZ(08G$zY+Cmze%@~svF2e z((|={ld8pw{35iRSgEs*X1@jUayUrkzBy$K`3<2RFzgf;fJ6IrLm$nuT-D`+*Xw|= zr%)<)Im|iU(46~eR=;2V_Qix@$KeYvlf0YB_kIPT$`)d1c2}wJwkG&bPc1f9i#be(RbSQuSHyan!l2C{h(6rAFPA5lT-+FJGh3xCdKH@1@ZO1B@LM+=)_B*)! zMF0J7h2)?G+v0Oj6bCbX`mtOnifzuLm$qaDPhfXo>{Iev+s{N^LxQestI>#)S-K7~ z7$mc7mS5fRV<35BzsT!f?Yn@JE2yuB6R8X((IdpqGr9s$eP?}w5hQq?1kG;Ad1S0t z0+j%^Hs<@ZN0WA%+0=LTZ#H`IYGaAdZwmRXy2JNg<232&1WXyrj{azLx_LUG*+r-?zqCR}b!h>dQJvbSWh&^oNCOl~D2%+b~r%;#z$xncl)uHHgke6HHb^9mP< zsq(SH`CUdY)e>hjpj>12nJ*&qf$|+iT^y7K-(t*8jnd6Jv_cvZf&nLLO! z=L6Y#U9Q$^y3Uh71LOStYQ;;G;Dlxhq93ntc`rXXUcY%nXO#_P9t0knnFH8;t+kA> zA@ZnQgGckq$^1k5^XN~;iY($pPD@$T26z!x@YbOgr_XlW;RKz?&&YF^S6v<7J%*>ks2E1-MR<54`Z&)p-eb6dp|1jM zOjPnG%a0dFPTcbdshiS2M{UHZ@RaQdzG~)8b~Wjh<2A{8)@~8MvW4SqB%ZQs z^WN$57sZ2ktttm8&4*}&RSWqz@$GeBq57rR|! zT6Kyl+ulQ!wTUHIts$b)XE22~q$@x=OPUqo1 zEH|H$^zsPQxXF@DMOeO_@WGiqxpt0cd6YT;SZspeZB5>|pu*XMd}#Wu@fQ3*ObYn6 z_NHO(fMrjiIE{C)uPNiZhWmAp^MvFB(T6?NFrT?3KM;4k&*BCTvw=D?xLH$}>{pteq!N}y*j&QS5auK-jj(Nm zeN31@SRrBf))Q{O2rJoy=gy_a39Ke?2f)RmyW~ZvGD5N1g8MyEO)UV17Y?x0M%YuT zW*VXW35_H4bD+uyqS_-vC(83HO;lp2Pv3}(&D&Zv=VSq0+{K|xfqrV~z2Mv}aZoSM zU$?>afow~wwqQ#;QEtp|aA%0#TAH>^!!X+tSOGA#YTq8zy!pOO7g*k$)#kfH=hf!B zap<_Fub{vcob}5=AP1KtOQ&&Qu~ZS~h#D6IY5(PU18(kdry%1Fd*?bQw^w8`&Ro{X{aGQ%uEZ$TO zOR-0%*n8nktcTV`pTTGyCd z$1_fevDcqKI+$(48{{i~Vu9-cEMTt8%dXY6O)mz>JKpTshpJEwFO|$}5h^ntj8ujf zV(cxIYzm>fT=Qnn8N3Nx%f>{t$*vyZ=yo+=@MevL@;hcJ6^8VOdjlNc(Zf8mYhHx+ zD?VgO@mQ|1vhDH%Z-w{GrvzqLQQ9{MEZ{y^?e7!?T{9aROH%HIq2=aQM{G@3@L7?#z(Lt2nz%4Qld-bsc-j4c#C8e zG|6QT^gv~7qj)BQa!oL!AQK7OOV|*O1z$_oTGTT6&9_H76q5DG!nlGwU_oIq*2XAN zC5qT*h~=%o^Abj)Dkv+}WHG1?^=sKd;}~J}ghd0x=q7B}P+=v|6)Kvhqr3qu`m>D50AyuN|Cc<%3h(z}=R_K;o`>9yc`ACsO((;G=2WMYF!@ikK1 zONxWJ;to>WrYVM!UQ5z@o%Ec~%J=QFw4hRw0*ZD|m!I2baSWxX^SE(eGNw=J(0e&3 z?M}pp6Yt{kmc*Mh=c~Zsqj!HjqsuSB6}tc)4Jhjq8~1UFu>X<|5mUVFWfgbXX?IEQ90#?h6?t;?k^v#yKFBF5e+eKE}y{~ib9xl78&C@oQvg4hwi2DCLE3xKarn0>?UTQk{ssCA)aHrM`WcD zCplM{*x4sY#AU*OiJdE+XQI+bC3s00*_z8w+S~9_lH*Fp58=oOdkbH=<>GC7wIJzs z+ZFCJ2*-y&iB#=gD~)yhMGdIv_;6t1pW#?sg@Y9SH64#0y%>;n(IB<1Chp6l7mb`d z5AG-n$nqG98IhNaS!D(({4(ew(#-L!##^gIp=^aBQdc3OI7DWNJ3+2-K$AFPipWD& z{g^eth#Ui~!bAZ!wSE2yVwkkxvXogXt*+yNCzvSa%+^H|e}aiZx2L*>k_%Tfr8)BZ zWeJm|tK(g*DJdQ!*2fa2)-SWjRqhT3&vco&C$;d5iSdle9s(}m{m2$a!6jt3Jvv=p z@P4Ne#2sbkRD7uOQI978ZDw};l9Pe1Y%@uE(sQlbWqH|V&lvgL_Xjx0v6S7#gYhTb zmEHCj*mUs6z^`3hPgxIL7m5u4S*shygs%GwcR!LdU2<}Td6W{)!!w~5lHF<&7q@NT26&} zJLKO{DgP}Lmoo|C6inr<|0GQD2`!lRAQL%$nQ-NkrOP=5N3m?2G|L*LDz$9Vl50K~ zKfab1Ris)}b!t&XQl+`3SYsbO!D}DMrz|-gSoA-1({U7{5HwkH~ zEpCd{y5vM)MRqV+X!VB?L#aIlG>a)}i3f7=9|Sf{BKQ9&zP*2`IOn1~*hty_(YTpv z#J)!2%Q35B0?T?v`74dK%CV;ye+tYO*i# z0Z2{uED|OvPSqyca}8{9l8RYmIMj&t#P5xO+;5z+lXHidGu)K7J327 z8;=h4<32sw$&dT(Xo|{3VbGPwlnq?KLvtks;@fiSIG|Q9&lLiw%+9CMMDwSXANxN` z{4_7|COHh(p$tAP8#tUM1n4|{QB}^wYbrBG#NbLp2-||^+mD{6(OOwTCZ&@5C3FM}(U%dG1a^633aOS+>kC8t733-%y9nz;5GwhK`4VNoDwKgG%O7YFzL<=#gi{yO8!}oC^@<~bHJ42X+|4|WPXjm<`s+>cU z!G)DQTh;N_W{<>PG`P`6r+ zJkhh|LKjvok{f^?NI5Y^Y{8Q~8Je9aTTXQGmnxr(7s=?>r$bwCqe}9W@Yy-X$5>mU zTc!U5FgHkTo=7?nab$FNw5 z871WycUPDf^G|}SANwpqEqwQRXR3@FpLd=_m4z?ds@I0lLuWSH1C2|*4de|#O6nrI zqJ0__*#Sm`COWV0T=s_Z#+YT>;i-?O!a0k^63_?k|KfnyohSb=E+;%)S2*WC_UGmJ zsyiGijHzHVwg1KQOlhT$olZWtnMl~*{x3|V{Q05A=KLO=pQFZQ!pzLy;QyI#+6?AW zZ&6OzA9M{xk*0jvol178ddmNDp`#Yd9*SuVR)Ic5De%v?C@qM6m)Q4^1*J8yg~ZZO zqO>J;6R`!vh7(I4r@x40VnK-{_9Cl%YgN65U-HNpx$XJ1B`ni$u3n#;%c%oqWiUv_|gp)c`}> zYWbe8E~fI@d=Uz~FqsP!drhkhJObtN3tH_q6(0ZY?49I&1bw0EG#iAIGG&dt`D?3T z#+n1l*QFwFf9NaSd2?&brRIibRXuUHNKN_qQ;}9`htRm2YlI%+Ez+jm3g)gOeNz1N zR9~u@Yo{!l{v(?HY^dn^#E^c%Hv>b-vCEkXB!%3`Pk+-zGsZ=l_nd!D?EP=1#Hdk) zW(4h z3}tx`Yu|cNV~7@yD!xLkwzpz`US9s)mzVAgR@ApFu zCDY|$KTL9DVAz-bkZ!1>&hzMp7X#5EIK)SuX9@Zf`Qi{CeHIZ^twDSQnoZE>8pKDT zaRj+Fh>t`A33^?FXf$%LD8jI%L-o&xq!t9N)gV4HUB%@5;^P{`$ETkF)!fIU;$zfT z#82ZqAE(NRzk~C9tU5sa0M7IAs+jnQE*#*4mP|k!&ST)(TJ4~LtK)xT4JE4&B>%Uo zNJWjSGu{w_$aA9B{wcFSi_*!}Bq0KZBVO5QP0>HbjwzJpJbZTH3Sz?`gmG^F4Z^j{m1bV}BXKhh+am zn}@aPmpd?6ssmOI8lLZt7qR{OmyUeJPqn3?Y9`5P1%sCBWRVS^k{HCg(PP6JVFWPOiQ*wyWn`e8hGyq21mgZd)P_7`F)Y&FX1qxcAUYfU%D zJCGc$Hsh1FlY4@Qo5~WGLQ91yj_eiZPi7C~7Nt-nqVU5o51088oZ?Fm z4-t^yuuiyl;t7@@L9|ZcqY;2M+N~)KrB1Ma?m;Rsf;{YUn~?pGs4Jbk> zPcBJI&V~uDm7O|@`M@7Z^2W=9?rbxTo`qZuU^yUi%hvu#cT-uP;BgMHKgOcF#_TTv zBeL^gI6ChiG%Lr-LB9?PIfepMj#DYR$ID5-COD>&5k{zV<%-BGI`gN<+Urc6$O3id zFOglhkFQJ*0ju!&!~%E38M@99LKnYEms2tKPiI5V1aBRMB#j$Yd+H~t!F z2p=m){?=Jck%#^^zWq50&M}U^i@>#uZL;gP&JLyKWF$oesK?I+dn&ox@v zXcY64P+f4zA7ijW5aKA0a$RGb6Km5QQ zc%x*w8g1{tDZK}&b9J2~bln_WWk)Qi4Sg;U1m5b4tBq-2PerxU)>KsGcgRa>|Bpr0 z4-WsisMRUqHic1_!pHIvZkW? zgL70=!CCUeKcWrC6XoKV}KHAGI+{NC$5>uIW;q=kjC#Y?9qcfIq1(xj+@b_uH}7j*tZ#nDHzb$wY@lO-ipI_ zu{eytsKUO&NXTAIz(MK=Hhv%uPrM9v)O$FDle7@cgS|;!mXm|AaOL}LEF}W#_so`v z$Lm&5N<6Xut;Xw~qww1X=nMzMQPE)lpX%ivp)1gvR`{g}!dWGYc&B+5I zdrEFu7u`06gjJ*Ac$R7>kEk1Nv7E!X^8CwERL{bl^&oPnP%B zSwpIq#(Gkgc*f^B(=76jbtA+F<<5T%3CbpoHxlIOR|mEW#^x~TO1jbz!fs)MEn^At z*1rY^ZXuO{@)v(a8@i2@fBkEK_<$UBH8yZB;qS`RuEqtmA@%E{@WJ75Ux7Vbk3u^)`LtBKUt|k7eFn6F&EPbCw*X&~@yQ;e4yASS_7~cWJnsSwAe|0Zo{q z3eR(4!f?5~ewd;CF!^TvP{X;Q^5E-3Blch;6!)_MHb}6Rt2&0sj_bp$b2Q-{s;~}1 zgbgM)`6_6HJxo4xeW;-^UN+z8G4%{K26JZ~7{XZt*Z&GkZgL~nujI7W1n{#m8dPuvR3-`s#Q*U-1Sf~mE*y|AHCS$ud^6?6%k8`~jIDG;%UPg}2Fr7C+B#TXiPQ4I@;03A z9xN+34I3<=h5xe>y4O&Xjq2x;TlMdaZLdRK^4oy&@6YM)c z_%uKDPjt_XN-CyW8#9k+^`9>9Y&1oZbYt=nyi0dhX`pm}d4;b%q{$yNMu@M=ry6I4 z1?K?&e2~|x{xn&-E4+HCe22Gd-+AyjYGeL2uQ&7V(8FIWIWay@n$NKlf7=ZZ_E3(*?)w@z2;1K8cbFt*}NJ|o`b3+Bsy>Z+f6 z7GhB5=e)Q`>?ZbjF;AS|>QO?LQfMJB{vpPRu7d8OI8^+&V6G?*YV{0BSCRD5f-R!h zU#ux86UEu0sUX52-Z69oBvQ^oTyB+oQrbEIR3T9tzQ8E=4XrC$5E%P4929PH@!C&# zfy*G?C-x|~WDp06Sp}T}M5}mT!I%Isdem+*edTkQ{;VJmIoKTMWzTl-dav!757I=N zXr<&_7K7bpQV#YRX*zQXwg!kj#F+)|0C8IPz2xTi&tN->-0YwLKSbh!D`ypXJQiNi z*C<*db|EUdVW@;iDIudmGO8(f&?p{hb&!BFp8~KJ^f94m#uwac68lFTAv}Zd_YYA3 z6b5r*rx*LSUqP`+9CXj;(2$b16n)9h+loHs=j}x&__?s~7|ul=9F)^IuI-te1XmLu_RkNqKjwlaN^+egO zfodSC`Z_4#F;H}6Q51{}!G+lp==1u1!ZQ6oPWDs&fs zH)*1RM6ZZbuo!I^(z_rbSRCK!RVSk3a;pQ`C@&=%qtdBf1>1tfOR*tv$ufIGDU7nv zc@3138&r!n#8hY&o}LBov=HMAQR@q;TZsJ}6d-P)q*OC@M&h1m5U!((&86{h=pKy& zK3;*6a^2*pO+x{#1jL3QN!Nl}S7x1Sb-ng`fvD!Ma}m$hUbrNm2c=vlb~s9y8DKy^ zq!y(#5cX6-UQ03YuBscjjB}-DpNGf1RrrYu**H+oLFY4fa0$` zutMXvi6q~hdJ}J(1hVsoBU_21M8iEj3TB6h{mik?QW;2R#`59q`|bt#A>!kPce-zF zEp{my`wNO|8$(Z40KR2XRiq@wl-Am|Mo#}0Gj)}j;zkIH4lNBJ& zcdM6t8zdcQ51y@uf^P)PqF=jgdS;?jlY^hTqW#o?QiQyM?rp{7cvBu{AiIe>;UY?! zJ@64)eJ})U1t@o%t`bp>7V=Zqf>+v#k#~nZY$x^}FqeE+biu7ThQIXp4MO_l^zmxW zwN!ejY#v+|+}}>@W@zYAu&$jrz+orbiLix2BK<`08WW3wcd+zBwQAy@)Hacz)PYxb`b!d<+E7)|6Bn*jn7%JNCEbpZVSjhip?M z#uV^{0$We~TH&S<2LjrX0`5Se5Js_lGPLvt7Uwg=R=W6!%a0ls?CNl5_DU^C~chK%FnhN`!+9L@{Y2gTC^sA^B z_jXy};T* zv~=C8i|>ON#Yj>^b zd`-ZK_w{JHz!ydHUWC|ZFpq|7WJ3ede0NxjrW}-iG((_(XbQ}cVuS(bzL8=VF}~o= zNU?L<^OT0%5d}~SN@>_pkQpgH?WhVy_vYSbIZ$fYKvwDu0>lewEFgFAt6Uw{n^8Ax z0bFDq8$nkI^-tZtm^yRDT?zrAyXY4?X4gwo>+Zd0-rNe)T&lB;m@y>RRwiF274Ou` zSfB7FUv|xQ)Z*uDTvIRS84bB>r$94n_2qzN7dG;r8gEk1C*|bJ_|Zw%>{?O}Ynhv` ztN*w$xvrUa>8hq5?3!BZnhpK7{`yTXRygR1IdZ_m7uE2?7a|U+^&%W82lUG+VbXl7 z`F)BVi>irRQBc@?!{R~U3lvw!bFLS-Jfn3KB=%pWXdBF3;dE5Kn);ym+K)#s1xn#b zxABe?QiF5;VGs3!ru{0bR9-Znq*$;K?ew7w<4#n9lP+Y0haM8XWSS_LM6}wgiH@Qpqni34uWN{=r(@Ykm$wrXu15M^~ z*hEcYBgt+}5_-rcHf1k`WV!w_+N|pj)U#1Y!fDNgdNv$;NjgZAx@>x>mXIJq6CfV}P5Dqr)_^OAukvjHe%bJl@Q3C? z-Rp4@mNf|-WU5zI6-oCrNlB<@@-zu^n+x?!R+Df^bD^F|M#5<%Ol#JkYInACV6v_W znsumpvgzz6^2?#I5Hc^WNZcRH{OZX}vY(pC^z22Etg@NRp=U3Kgl{$z>bZ*}*$d5N zdgexu>?uv=^6O6|xK|V0)}Kgr2V@Rk7Hpzl{!&TW&EL|mj^>ik*j%V*B8`N<;IiuH zR?o#E5`NNL=+N_#LDIMVq<;NoCCN7V%lx8slF;5pC8iRq8Sa`juZ^j+69Xx|9p`yi}2JV{@UN zmvbb{fDqS-3qRWp?zCVNjnxFsXEEJY{un07@yS)ksQ@*4OS3b;TcG+g&;F*8RAgjLR>JI*9YRHFq0!{wa?;aF2 zM;#vJQOZdIU{VnOhcg;l{gdFjZ1!!a>g#t54(cyN{bO7ff1{QtOVVYnJ}L-^68l*m z&+=zKLwdYyC?^Gf{}%{(R84?vAf-&gw%A=H-A-QULZownNvq0BBGqnw7f)Y6^E zpI<9XKr1XpK{)XH#Y%OP#u&Ywb|MX`bKFNhj)u*fH0W_eQxSr`+mG%Gy3~gL!4-K@ ztl|Y=wP6}YvtqWNFmpICa&oV#_$okm9KccrP_dMt0M0&3zcmOG{>SeP%+i8dDYH&m zUGEy|MDASC**F#^LY-bu{|uTHCgOy`_>zKgUBq5vwm`vqus)x(lN*j!8(iVJpv5Xz z_y#)PVEc>syG7!%<5}LIWrw9}QX*;KY0l6M`wCv~BKGJo7%Hx*4M+bQC}p1^SJIX< zTlN)HcM&6lWymT_NKWi3{xop}6371W=-ktIHcB6bv=$MRyUmPmPkK#6*R=f`#DT2( zfY6)>EUp%s_ZRfDh);KJ3mfe84zp4pF(0iC=qaEGLl1?w+h6dJMeOe2Wq=M}>&u5XlnjvGz_cmk~oWS4_M{3qwFjm*`5K2eNXm za#-64_CAF%2oq~V*gis($kQygfaD&Et)TGP2;9;nS=&Hwm@|>|1bct3nP4K-%rLH; zU?T0zAbblo4i>C44ys!uXKgLmt%ZG{056>@OnvSL=}RsGq?%k5D5TUHI)j{vq%GLH z`BEY+Jta~^N&>5VjuPRTuBK9B`I`#v=q~mNvZ2mcTwuZD-Nn@p7DnI#5X=5$MthwC zfijDvlivWFrn3!rG_6oEvL8X=Ir2>tJz4he&9n@?luXkga<9})#WxD3_7I0o(P~RA zcq;Bn6SYc}qLxe4VsYc_^QCc}ahIJ<&g_rDS-$Qp2dT4EQ^6NK#E9q)IcUT9z6x$C zsfEz~pPH8W{C@Lhc0qtu{N@3}>xkRF4~|wA(;aA6MxPPIN6C06y_Q*z?@h%hPm@9c zDJ0j@xX6D9wSj&7nr2KN(X0u^M^V`zP$R!z@uF(;P;o&*PjP?8RD8VHwQRU6Jc(12 zhS!7=ec0GboMLdK7ukfSpCFd57A5(yxY;jC0q+W*!ckn5n{Rof&B3h2cKXOO>%JD* zpNh)G!ZS9!fQj3KgKH-ahoGWHbq=gbog~V!in5mrQXg<{q7c~KB-}u#` zY#2J&vY#92gDU*FBPtuczIXa%+FUw zkgrqtgjiu63IgM*RcVP*U_*Xt#KuGvh1+9AmsSFUnP)ByrKBb@D;$-h!}{;sS5nAV z9(*x$MfI62YLH$xKpQbg6)fPln~eo{4jt8dE~!o;)rb95CDa{MONr2b+L z2ZORwM;6pJi_U{eue1dR;{|J#On*d>9&QM=oW_n%j?pv6RHKiqmr|n^(d%i8v8A6Z z)?NbRDa9wM1O!GElIPz7mqiLqXCSOBi+pR!)5C=8| zZBHQT7@dhE z6YT$AXXgSPWqIcDc|Y?)2#HRzfEcJ5LsXz6L7)(6goK&IL=qU1NlX!iBr_3&B_S6~ z!ewl;LV~zk-DAI=Q(O^)0h^3??Y6NRr%y3lj#T;J)w51vTx`(uCK$A?c{O5BOWHyjLTT%PHHb@sx1 zH9J-`5vR_xbTzCVqvm-f>G?(^e*A%xk9WNP_=b-LAM$d*o@e)68bbacMFPEp>ycjo z_|Dtwz@0`LQNISJ8U3cHW59Hy-w|~p2F@`0KSaI0e2XEUepEPZlnJ!O6`yN6RAd9`<;3Z14bAPIENaSre=M=W=zNjW zfo5Dtiz)zGjJ`|M-N5}u&k;2bc);j@sC$46qsv5902q-$Yns2(eI5%nCc0T?%*P^61BFHpi24-3Ed5N>7r-2&{~+p1V6M?$iTWR) z$mk2AJO})VVxtv+WvGF9Mh_E}1_X>ADe49wXtXyba+Ju?qHYqEE$U`bIie;2_!snf zq9#h*BvE&Wnj&f%@Ha+J7d1=b3PcqGqi~~o0P7DmErxu|=y?)Z3T!g^9#QjwETbz# zg(Pl~s2WkVq85v~U(`}j%S1&)MMbR;_3#0#KNP=OWV1xJiE04Fah7eogGkP^c0{RBLXZmx&R1a z{oM_&L+1kt0}i(Jup)Mjr;SDqaP!0FDB4 z@djclt|RflF=gPn&v`Mj%rh|dEKh7FoeR+gxZodTGBcH zL16Oq*Y~A!Yj|(pm-vp-(?^cjZ_iX?GMvJH)iI(kg+X7;RO6hWyMED;@dkt9H_cL~ zQ{zRm)b?Qqi_~JTb#8~fB&4Q|Y2S$}6TCd0bUy0v;9G4T#Px@iuP|doIMCd&x;@(3 z#!u!tugk*le8N-sJgz?QO5L56z*7v*`_QRRJ~=9WBBb6@xx1?PL5zzR)2|PQ>K}>* zSF}bO+nZavnAC$mhpOVQRjHL$*3_EJ1jEwzh@Yu7_S_oPltsS`XFM~d?vBT6RKAs+ zj5xPLGEnoUunA zYFV_tg_TZ4zp$yv5=mC&Ck^(_22~L|g&JhiH3}aYt}G4|M70=4um)+8+veF9izbY6|*l2HURQYM^UA?~1e!WrM z=iTe-0g!p^q6j|RfIqV*54x9Gz$#rm%YracMb12CR~{;Wj0t)gn& z52DI9FF7+v4nT6CNDdUkIpJ7yW@nA@hJd599Bns5)%tOlS4AeN(CaOhN!gHq6M?`u+bUMtV}CUt8A{V@;8JS1DeTGMy3_HQ*w?Wx(X zOvhG``27VZ9oNs;hcXjvl^+}fVjjmHQeO;DOU|m^X1lvt{cCAmOD2CC#xoye!E-?t zxCjJ1-vU{Yk|CODsF{c9>RRlLEvkOnSR6A?a>kPEYLb;DSvhhPh&p7hQT@4j(2$-J z$j`D{)(jb8=gw;oOjr=101ztW+`ajW{WLsjHnK8AF`s#V~(Q(0u*?s#Oa3R+YD89(L- z?Rg4hKmHtKKW-lq&SR!yoc(F1%CW!dRP(K|U3Rcbq5mwj{{Djx2#2iB=rEa{gVI(eztCnU=wxfIFdvcfIj;A{D7-ozuY zO|Yk7{jmM8*I>tCzk_`O`x8w4(woSD-SkWRlbKs_a3}0d*n6>@0F+?#j<_8Zt~*jKRO?|KtA!fuDnf(2oVU=PAp!a8A(!Jdl0v_Uni*ni_2)9jN^ zKz8RDkkjDCm@LI}(0FIlGYNVGI37#`bHNO72FU4>4{}ckg3e9{viq+CIUE<^huxnE z&EZG`fw@k>ER+SYGEB%!Ou)pf2n%I_tON^Up@pzuEdJY=`ksm{`mVI%i$|sQtDsr> zT#&Wy1X=n6AX|9>={Q+(pt<2(53-h1LBK;lOv7-dVK{xU9QvSt`ea(X;{W+wHCpBR zu}^Xz#05clB)Yo2D%#f4yt*yQ5U$Gx>i7*|> zS{L-h-{`?!Gw1Sa91aBMyPQzvjK{&dJd6X}zSCZ^2~Wu*JMBH2@L6tXvq|M$aoxlM z+jst8vl`#v+bk`f0n!ECCfz5C=A2-=oH+n;3#MkjkX-5{&l4nR>3RI zUEpoxNK&pV^|~XSP_oy}7I=izYc7Z2r)l2E%*!M^;5zG98-Z z-Ddr8a#CL_AN|M-i@>WBopsY%-Z_GP|FeT|*8%(^0cqN$#Yi&t;y=i7x#v zr@EZsvcM(2i+Qu-pvVmfx-4^9f$QN|X{g5I_tjRGAkgm%5@4uWbhtX;=*sFU2``rL z%78FX$I|@1;!rsf`hC?UAxR&uLI(J`Cz-z32@g~*taZYR!{RSiT{3;9Q{VzgP*LhI z7%r)H90x+>WMyTY6JA=!nxG)Jg5WgKh(>r>SR98d@pUuk^5U837gS`PR0Qeq1v=WBSE$=QQbD9;5fr4rE>! z3M^pxI4)*KfpyizwTxR>Ek{mVEqhJ*@H6Gn)sg1b**Nle0-+jTU{!PDO2}AcS+@k# zx70VRShb>kMYN5{n5cYpQ}YzbfZab77?Nb^!c~!LgoUq??rLFvPPt2M+Wa|Qv%EDTNN|l)xI-+Vu!UuS>6}z z&VDO5cdxryk#z3eC6}*bK{_A5%RbU?<=xy4?cBts<*jXRSXJNJTJPMza)a~kvj5U= z%}n#YC>8U*7@xD#x-fj+<<7Z>vf(68wDCyx!a4h` z(N^fE_RRfOO^o$GGN(Qq%A|jWbEHU)5X0$@+UqjQ4Iky|u`cBlJ=l>xH(j2~i7wH> zF~{-$rH5I8GB_abb(!pF?&=KxYaPybb~w4%gKduoOWc45T`qIk;F2T4bWNar?0_}K zK7PP@x>!TX3(q9xN4vO%F^tBOHRCvyx%fzSFv(4UOtJsrWvlwh?Wxy$6P_YmGbNBG s;ZN*)vUr%S5>}lmvKJ?;9L>0py)j`;&`k1<{X)XJUA<$!ov_CIFBfKF^#A|> delta 41467 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 njd30&dSs!iHfy(PWXRYVVQviKsf=BNP7%e&Cr* diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index b5356ff008ac8ef234ddbf3cdff7eaa69e33ba64..97aa3f610683cb92c628da8cfca28dd57127cda5 100755 GIT binary patch delta 44830 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

tvlffC!QfeyE2qA&S8wpK&k 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 delta 41467 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 njd30&dSs!iHfy(PWXRYVVQviKsf=BNP7%e&Cr* diff --git a/lib/ACE.ppu b/lib/ACE.ppu index f09f6bafac439e8a9dd0b21d4e1a946dbac76b84..5726294dbad6a33b96c516a8080c11405778b57b 100644 GIT binary patch delta 19 bcmZ3^wVZ204oBh)Nui%X*S2je*~|g}Omzr8 delta 19 bcmZ3^wVZ204o5S`;;kupW(FHeHnRW#NV*4J diff --git a/lib/BPE.ppu b/lib/BPE.ppu index cef367a8e8a76971efe3358335604d40fa41ee10..52bdf541e7b60c5736097b109d2166db3e79151f 100644 GIT binary patch delta 19 bcmZ3^wVZ204oBh)Nui%X*S2je*~|g}Omzr8 delta 19 bcmZ3^wVZ204o5S`;;kupW(FHeHnRW#NV*4J diff --git a/lib/BTSSE.ppu b/lib/BTSSE.ppu index 3844ea25e538cb80bb771c89b5cac4b3108f9e75..7f6a9642a530202d257f958f8dd4e70b1559f4be 100644 GIT binary patch delta 19 bcmdnXwU=u`0Y~BtNui%X*S2k}ILZP5PxT0d delta 19 bcmdnXwU=u`0Y@{(;;kupW(FH8j(^b diff --git a/lib/GPF.ppu b/lib/GPF.ppu index 674d61b2e5addb12f5c3553747052dcf807211e0..da4c1fbfab08cf6629b152162be23cfcf8214951 100644 GIT binary patch delta 19 bcmbQjJ%xKh4oBh)Nui%X*S2jeQD6lCNX7?< delta 19 acmbQjJ%xKh4o5S`;;kupW(FHe6j%X83kIkF diff --git a/lib/IDE.ppu b/lib/IDE.ppu index e616918a18f4dd6740383aaaea28e74750753fbf..3a6855a30e4a63cc77b8af9eeeeeed5a6e067c11 100644 GIT binary patch delta 19 bcmcZ>cr9>34oBh)Nui%X*S2jeNzwoSTmcCE delta 19 acmcZ>cr9>34o5S`;;kupW(FHek~9EVMhG1M diff --git a/lib/IDOE.ppu b/lib/IDOE.ppu index 5f238954080a1ec3bb3e29d484d6006ae33af061..2f3a16e94fb4337aaf2766bdfe19e5eecda26b68 100644 GIT binary patch delta 19 bcmdnQwTWv&9!KH~Nui%X*S2je+rt6?PBjQ& delta 19 bcmdnQwTWv&9!E3B;;kupW(FI}_OJi|N_q!@ diff --git a/lib/IOPE.ppu b/lib/IOPE.ppu index b61e8d94263ae0c764165e9b56523f178418a144..95fcd9d635c69d15d72a058b353b333394f50be5 100644 GIT binary patch delta 19 bcmdnQwTWv&9!KH~Nui%X*S2je+rt6?PBjQ& delta 19 bcmdnQwTWv&9!E3B;;kupW(FI}_OJi|N_q!@ diff --git a/lib/MCE.ppu b/lib/MCE.ppu index fac3ffb08e650c37b2c2a394a634a1a14a4baafc..02e5227cfa227c14bf2a71b5174fe715682fb26d 100644 GIT binary patch delta 19 bcmZ3^wVZ204oBh)Nui%X*S2je*~|g}Omzr8 delta 19 bcmZ3^wVZ204o5S`;;kupW(FHeHnRW#NV*4J diff --git a/lib/NCE.ppu b/lib/NCE.ppu index 8f8853b05ba7a20d3e71b612e9a317c6a79d1541..11fc788d6dde9e66673a56819e2bbc4594f865df 100644 GIT binary patch delta 19 bcmZ3^wVZ204oBh)Nui%X*S2je*~|g}Omzr8 delta 19 bcmZ3^wVZ204o5S`;;kupW(FHeHnRW#NV*4J diff --git a/lib/NMIE.ppu b/lib/NMIE.ppu index 20dc215f31e52304616abb3fd10aa191a2a47ea6..99703d94800a2f8bd353dd742c34360759a87ed2 100644 GIT binary patch delta 19 bcmdnQwTWv&9!KH~Nui%X*S2je+rt6?PBjQ& delta 19 bcmdnQwTWv&9!E3B;;kupW(FI}_OJi|N_q!@ diff --git a/lib/OOBE.ppu b/lib/OOBE.ppu index f96c7df64b29af50fa1ffd0692960498b258eae4..613dc294b7b3b18b47a9087f49b865ec94200a0b 100644 GIT binary patch delta 19 bcmdnQwTWv&9!KH~Nui%X*S2je+rt6?PBjQ& delta 19 bcmdnQwTWv&9!E3B;;kupW(FI}_OJi|N_q!@ diff --git a/lib/PCI.ppu b/lib/PCI.ppu index c0c3bd0acc6e648ccc006d53fd614878fb7cb7db..d086f0353071452679afc4cbbb8ff5bddd4bad7f 100644 GIT binary patch delta 19 bcmX?Nf5d)5JxAgUNui%X*S2kJx0MF~SOo~J delta 19 acmX?Nf5d)5Jx4Rg;;kupW(FJEZRG(}N(apV diff --git a/lib/PF.ppu b/lib/PF.ppu index 18be69bbff521f843fa95a7aec97bc68a82bb541..a855d547a1d11927284e72caa6e19b417290e403 100644 GIT binary patch delta 19 bcmbQkHHT|L7DwU?Nui%X*S2jeTEzkYO0@_Z delta 19 bcmbQkHHT|L7DqG3;;kupW(FIJRld3aoulWbrpV8rYuh%?FW>?IQi%w? delta 19 acmeAd>ld3aog?!`5o=1GnZd^S1zZ3~>jyLd diff --git a/lib/SFE.ppu b/lib/SFE.ppu index 0ead53d927169af01532eaa4b93a6adfc7ca5b25..e89cef5a54c8ab6160ce07b94122e892ebd62443 100644 GIT binary patch delta 19 bcmZ3^wVZ204oBh)Nui%X*S2je*~|g}Omzr8 delta 19 bcmZ3^wVZ204o5S`;;kupW(FHeHnRW#NV*4J diff --git a/lib/SNPE.ppu b/lib/SNPE.ppu index 49c7e25755522652cd4891c5d48903875c9a3c60..b375892171755a1b8d627014e7b23fd32aa8eb0b 100644 GIT binary patch delta 19 bcmdnQwTWv&9!KH~Nui%X*S2je+rt6?PBjQ& delta 19 bcmdnQwTWv&9!E3B;;kupW(FI}_OJi|N_q!@ diff --git a/lib/TMR_0_ISR.ppu b/lib/TMR_0_ISR.ppu index a7094f6649b50113c3b1432ea192fa227b62b403..f956d2b129a892f27811163079fbb82c7399ae0f 100644 GIT binary patch delta 19 bcmaDL@IYWf1xL?KO_85L*S2kJc)$(-Tki>i delta 19 acmaDL@IYWf1xMzMBG!~VGlPu{57+@xQ3v?| diff --git a/lib/UIE.ppu b/lib/UIE.ppu index 63c116d7b202537121deecd6be3edae080a88ba6..6e8b227549c06d57ab647dff52a6453d8bc2a502 100644 GIT binary patch delta 19 bcmZ3^wVZ204oBh)Nui%X*S2je*~|g}Omzr8 delta 19 bcmZ3^wVZ204o5S`;;kupW(FHeHnRW#NV*4J diff --git a/lib/USB.ppu b/lib/USB.ppu index 3b5ddf3b0aab9bb969a4eefaae08d98fa92caf58..0963d5438de4a97bb99d4665223010176e5aff4e 100644 GIT binary patch delta 19 bcmew(`$u-dM~=i9l0rX&u5H`+lbH_yVr~g? delta 19 bcmew(`$u-dM~-HW#amPI%nUaEWaa|^Ub6_2 diff --git a/lib/arp.ppu b/lib/arp.ppu index 6cd83a9abf19dc52b78b436ecdfabb50e32f5f0b..d68d13521b37cbe032c83bb0c3c36b039aa19c0a 100644 GIT binary patch delta 19 bcmdlgy;XWbJxAgUNui%X*S2kJ*W(2MQ1J*R delta 19 acmdlgy;XWbJx4Rg;;kupW(FJE^>_hIHU~xk diff --git a/lib/asuro.ppu b/lib/asuro.ppu index a6173b281a31c88601b661aacf725eae09a1804d..fd27a06aca66558812b92cc742c0ee963b6e0a16 100644 GIT binary patch delta 39 vcmaFG@rq-D2*)9I?2%8TiH0wS^ztHyW`eMbH)UKW6jtp^=MeZZIW!0ptz(A;D}gL`j-M4XQ+TY1Kvr=e+5($xyzW07{mbo_!yU&OZLOR zv7@~3r$$&F4-neap4TRABcG|RI*n4TE+t)ueUix8mvs;=Bf8FWL}@FLK|-}Skpi4H zG~&F=B~AD|W*MJRNoiMre9BYVGW6nFZLUbAY40{JG6W zxp=LxdV?OIL=RxfG{PHk*(`PQzvZ2GjVQbq+vW-L6Dglrr3XCFRa-eqG*GNM_3Cvh zvEVk0u-`vQXx*%oD%ILr#dhqgr5YvNpU&N}cZ{%SXm06Tt}vg@rwi%x3+Y1HDL1G( Mdc%AZU%L{20qvi3VgLXD delta 537 zcmXv~O)mpc6uoz*W2!@gRGZMMQeUwUL`YB>pRo{)5(|rFR3i|SzI z)Cq2-GvJqn;}qwDy({OEe3j=jx!kA{8r1#&i*l~=n^tyaD=Px{`H|8ju5kkc?8z4D z@DsJn7%2m=-KEfh958cTR;kkbd{&UM!ut>pe_Gj$Hi?_;S}VtG_Ncixb}8%Pw;eu0 zB{Y7d;u7mE3ez5z4*&I$&Gg-*W)_>FkL}?wN!{0kR8VdL8<9b*h8_>fsGnS$sin$T5 IS*N|`7v4fvRR910 diff --git a/lib/console.o b/lib/console.o index f6b54c678bbe97e3f6a8a61ea3b1b47df73932cc..098617e0dfa34ffa4d302adbeb752ccf88beb8c0 100644 GIT binary patch delta 8142 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 delta 7997 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 diff --git a/lib/console.ppu b/lib/console.ppu index 225c84b60add2bc3aaa8a1b0870a4b6a024a6dd9..93a15f132b60c42029cf89d34023b36aeb7cb012 100644 GIT binary patch delta 82 zcmV-Y0ImPe*aOel1CVqhjM*s^`BK)l000004q|C}qZtj3oS2Lu60D*ylxvr5&S&0aTHMF3o^A6ozb diff --git a/lib/cpu.ppu b/lib/cpu.ppu new file mode 100644 index 0000000000000000000000000000000000000000..5ce150ff11dfc83d3fa983d905f07e44e64fa56f GIT binary patch literal 8236 zcmeI1U2Igx6~|}h?yhaVZEV8FHMus10FDXR;E*rKa(4|2-rdXY+PI-$IcA|wZLqLW zOQI?&k=m$H)IK03YK8ieBJ}~K>X*{0YMY0uYARJ#67?a9s;CvIsz#`aP$9St{r_iX zXV*Z2+rIR{W6jyKXMQ{P%$b=pv)(8g*w(Wn_M8-+_+`{CVu2773!Zs#AbIXjgF=YU zp|ZqKrSwK8&uDFcwnen5I@q>Mj!bzk|Lut*w0McBvs2UMi5D;L{_5{?Yo8-pH+t&i z)T#0E)%^Ebw*KhZ_i2lrnI0P-d3jaSM}i$tC;g%vF3&HpcmwgcNaNQopN{qF%yb7#7VdcMO7#(?%OL zPrutVAGN!!7#*km)i`xmR##QgNKOj=Ra%=XN?b3}n3f4G&9YUsw1-*YnjWkHq}G*| zo|dK)(_y^&sP0*+Cb1i;M(0XHt<{5rl7rW7-<7rw9-7sKH4fd$c=S%j;aSE?h%f-# z)99`3RS$K1%6fG5S~h6esAZFu%eCxhAC zM%8IbkGjgw_M_7Gyw&9N`8dqS;gfgm{B9Ama{K?^Zu#HmPM=i&)K}fZ)U|e5Fq;-~k)!Ul2z{ikd|rxG z3eaK)ZL|;_3)t-Qw(LbkP)i)O4K@~@IRUEj`F+4E6+Gjyek)3&Uw1+6*n0Efo-rdmMI-3<~2Jpenxw(u?+DoGTsm0&FadXMn1FE&)U% zDdZ|gorjHu@idRT2U;x5<_Cpb?XU}EP#DkvRr&m8gb64KxyDf!VPj!HO*B?Pi(_H* z^a|-a?o~o43~7L>{MC?HKsg~>9rYS)ER1M?s{A#OUfAC!0)xFMPS72meNCQ;m6ZVSSPaTfB1{(`QYC7X^W1zZ)T<Dzeka~1qOdU z0En!Qb=u>ovzDr+S4P$=lG^U5bC#;6SEhI`UBsf<;iwlZRZXwmq)J(=(q2cMw-nQ> z*|j~;;zbkW2OW38a?Gy*s`9r(dSNCd1_wJN)~>|aj#mA`87aQelMig zmqki^*io-pis`jYQx8JM!l7+QVvjiNb&D~-nuqR$7EhO=0-Sr)ac@|znqePecTp3Z3xaw@*vpj zs4hz}-J0G~>}{x+9E5xO9M@|(=3BFA)6nYjMN4KJx!aP}q}vD5OAca}?RV5ZOEKx1 z=kA53M}hQnz;OpH$Fys>eH9K#rQdN+SdMwuaG46XL&&V-MlDy(yv%yCi8sqQ-BUeq=43j+PwabI$jG@dZ6Ade5wO|k zt z+RoM$Maa0>aPqSzkT8FYc9s~z*@0KNq6AqNCZpkeKhD!5j!ZD%C`%nVfOneAr4NBL z4@4J@mRyZj?ODqp$k^D)v1uWP&8m{Zx0IaW^h-`EUbIpEi<2l1)1tNOoS~;^>*V@9 zZa)fDJVjl>x{P;~Pb_)~(}SBgbJNu9XG)oLaqdoyYNt5U-(lCbe3$y1;`DuxKO`-`>71&GQ`nym4-}(x zIyHBfCfHjiZ&yF9ap~uCcIi!!Z)=w>IhWQlPEjF~E7gXnBTN=j`~~xF&bgDW{TSTx z4&|^7FX{XRSH-Wbo4?2F0yG0b);|p?J9%WkW7}!}BlS5&_Ct_YNy`u1FxGJxm7iUQ z!+bWI%%!+PI-)39NM`#p#k(E|9E(0t+mAy_L?fq1CZ_O^K&LJY=P%aXzvC6d(b>ox z%9YcDTVJQZ79MR49rVhil2LPpNO1!n?m(k#8G>APqC5?#_CU7V3f>_28#H+ovdNIO ziC;*&-la%@HN6g3d#$|_*hMJCB9QBKucMHSlc&c{PS5VtE)FT0fbwvVE!?5aCHqVI faCmBBV&vp8hS$x36e~fq$QhoYk}3SQB5(d1WzSC# literal 0 HcmV?d00001 diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index 99a8ff1a8d3f948b433410bdfb4fb5b1e01fd9c7..92c5fcf1668275b4d3f82d8eabdc92c7bbb9aaa3 100644 GIT binary patch delta 19 bcmezC{?~oNERLR=nj$}gu5H`6C|Vf+Xr&4T delta 19 bcmezC{?~oNERM_@MXV`#W(FGIrsSC!Y}~Q)5de0!3b6nH diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 2aff3703d22a6c5e439ca59a6695440d24c9c924..def55963ec8c1482d0ad90d01d18097dce225b8a 100644 GIT binary patch delta 371 zcmaE&(ygi(5D;o;Y|7Hi$iU2SAV7&BS%`rlw05J=i*N~EO9lo8$BByiY^GCQM{zPw z46~8E_~e={U(!T#pbP^`X-Q^I;tWZlpF!8QOwSYqGxk6ytOv0^T5M$OIhxfEEm1c6eFvg$w*WElga4jU_w z%^(R97S#Zftl7DVnRy^xm-zY_jV34YPXm%a`Q!L>fwF7`iA9OI#SB29RDn!J=gH>< zqWScZC7dT)2zIJ#1BG~0yj_F*Tz%p*^D;|-IvBw=F*2-VVPMb!$}@`UOnxCKCt}16 Xl~@my0QrVdRBy7BkTlSAGa)?yxWrba delta 333 zcmeBHeWIcm5D;o;Y|7Hi$iU2SAV7)1Mu>qy>x}u`_Y(^LS~4&&I80R3XIu32Wz*(lq|Cgudgq+3mxHnO_fCs>d8_E&iYsCOq;D z-w@=6@8Pu_xK8WzLk6brn>aX=Kaib0N@Bb20mLg|E8=(iv9(SeQXik0I^uBKo7|Mc zJ$1bYq}iEuQY>4OvloZ>?aIBOnyS!VUSI&43uWjQ`p zHSAUR$6KD+f}WOd>KWr>AfGTQ9+cnehoUcSVMy3#sipdgwTMpHtWEfM3`INy z8Q@NyGV9gi6C^OZfOz54)$&0P@i`u*HMI8zJ6~HVE~BEUW{mE{grRq;7@h{BU{>nI zvPy+SUy~hGY&W$*rxiO2=`YqA7pI%lcAL6JNf>Hg;`nDEAGn2jwM3%7N$qoP9fD4& zTem@a!8A)qc1M%A%OUQ8=BA0(7^J&cF7lKZcK_+_rnimg4svrn(b^LQ!Foy-_my)=K+1_ zP|k)AAL;^IuNBO4zF;jbAuwjg2zti}J_mhcz8>Y<2g8sT9Y0L^R1QQk#@9fuFe;|y ziAc7q2d1l1ui_lG$%4LgqP~(Fk(5Zt>ydcrHoJaFj%@9K4E0Uk`@sI}*wg|19dPM} vou3X}MYvrXmi~fSDlM1=RByOZo1eh2OWzHKyJVRd(&>PDR?yF~5>5XHwSm?l delta 1274 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 diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index e7bb48fa24a7816acd32d271d1abcc5caea221b9..66eb27ddbd7ecc742b7551b9e981e10b3750783a 100644 GIT binary patch delta 519 zcmbR9igC^>#tE{lmPVF_W*e1!Ss|>+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7`~LBLvKbD8LGbQSy-dinYahNecQ#$X44tp#h9mxF0lFap}8sKvNB zU;Yy#vi*uO2-k^k-m0R7;EHYjrG6B_mDqeoTM(72$vAnfIsarC7NN~*y89UUOo0wT zxMQ<|kvc-X*ybeDmC%6MEMN^Y3CJ{rm{P^WwYk9lILvhceiEBQ9ND1;Y))|54l@fB z41V5{jFa=_1vbZeUV-U=i2sEK&*lI>Wta|7JoE*gMCKNSKIDgnLxPL==KRzom@J6< cHlqi|1?dF`rguIfFvT_(#tE{lhNdRwrW=)fSs|>+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7`~LBLvKbD8LGbQSy-dinYahNecQ#$X44tp#h9mxF0lFap}8sKvNB zU;Yy#vi*uO2-k^k-m0R7;EHYjrG6B_mDqeoTM(72$vAnfIsarC7NN~*y89UUOo0wT zxMQ<|kvc-X*ybeDmC%6MEMN^Y3CJ{rm{P^WwYk9lILvhceiEBQ9ND1;Y))|54l@fB z41V5{jFa=_1vbZeUV-U=i2sEK&*lI>Wta|7JoE*gMCKNSKIDgnLxPL==KRzom@J6< cHlqi|1?dF`rguIfFvT_(2ZxZ?=IV$hR#6dyz!i^;(d&fGG42``Sbwe7dDeBRmzc~W+h{B3g26p?8HCEgPYsHGHSCx;{trb-RR&HgEbvY|rRNZ^T4TmRpu(ejp!hyEC zbF5pkb41;JN7GHBW#OAHO72PWj8qMlndD_bTDj<4S4|!KvHzETf`H-LMMkJkUd^DYFeAMBZ6jNLW;`e|k ze)x<_eIR~|{*2Wkk~pOUskS1CZ)KiDZ2cjy?%$Z>=014^s;w(6#iD1U+KMa8>e+bK zUXy(6n7f0reJh5W|C)}8D=jBHyA_LBThNPGv$oiLR^r)g@tr4oAkQr_Q)BXD6g@LW zpCTkGx20=qwx?^&ZRy&Je@NFpc+O~1QLpaPau02MEvdiZ4pwhH-Zv;~y>r#g zV)fyVz?#sPZWfRC?QwTh?Y2m?9^IXRb@pds`;KK|$>B_F_;@CE;iLx>-DiV#r~Uc# z2~|F_{R#h1dMsjSq1DYiE1Rb0XIl0UOaOv+#$b>^a| z)Z^w7cwOaD0-S(B+jZ4la0vL!Qhg*H%Fa@~tNI>`@U1cp%0{J@!=7^Rbs;CnX+!L| z8%!UDaC;SmfbY8(0=T=K7z6(EJ2qPvNNEy;(tqJhn zws@%)M)hn6@^A!};!l=Ap=kw7tbn31>i!K$z7SyYK`_@$5NX{!;2*9BDv*ie-+c%Q zbOg5X=bA5sd)C5Otp;)E7x08uqxfDEq>WWh>S^5fh$(40LbmIUB!|JSUOcq{237M@ zGd5sg6R2BHc5nkHz^Qcn@-gj;Q~;_&q^#)1Jpt-Iltt5s3%2MIvjI-PVQ1^mlT*{eZPMAFx@f$SVe4!U&SlSI8 zs+%Ri2{>X6p9|om4|PaL7L`pYhr#x^qfdKqn=Ep~M@E1{R@JXvF?Z0Ak?fMK9M&EV zS?k9>G6Ed3btkne&i~Yqk?fK^eO7xoWXbbBG6Ed3j*HqA6Q3J0l3g%_oFu!ktt>OK*<4-ooV;}vWaFdd-i?rqnlJJr!$-2qceKjKSG2&1?P9erHZo|g z;h!2Vl3lJJF7a_a`+&o>tk%ax2F*2px#1$&&09-h7Iv-j9*19F^QxF`*&R;S8 zq>}(Apx?PEHf>-u_%bFhU1L$~d6cP_1D60Npx@b|qgls{i58{@8Odt=;uh^9$8Qub zJ!PVh04Jcoy`2?c>bLBJ%<1b4?Qz?f=NjPzr0~LarpG_M1p|62?4bSMZD%9u;w590 zKllRcm&0Z1^Xz!K0m-1AbM)TEsV}jaRq9z0#QJk=R6hfP*z_5D%Bb|q{s7}We`Egt T1I(H2JSRQZ2=@MyrP%)gWqyAW delta 4252 zcmZWteQ;FO6`ym(gpVxbYj)8RNU5Skx(%d>pvKTRSjtBd85kHT&KfqIP3+1tWni?8 z!9go_a0q#At{u_D4^&Enz!i_iXm%ukn}jqY1zNsB89V(Vh(n!9M@r9q@7;U%z0F_e z{LZ<*d+vGXoO?H0&rH~QW9@~tq_%ia)X(_pCZkQPIKcAD!t1_Q zOn=aiS(OL%ddt!@7f%jd0qkY}|n__e4De*xZgR!&*Ki{w{iFv%?^R`fE*k=Kod z$=1+Fi71?x%D`^BPh-VxuvV<7dPDh0-C9vKVC7ckSeLW1Mb!gG+;Dhu2U}~kEF5UN zC&#)aJ4e(#cr@K4S{DA!rD=YHOBQ?<^k>iDjpZk3_{g z%U{!eQPI8fpwX=Em8Y%TF9V`?^^kX!bt5t$l8^YgZbZ_##z)h+#z!5lNioHBAbvlH z;>XUo)Cc0X=+9U!B8gKvkZLQE_(tYQ#MU1I>qi@N+}tOxK(%$HrC9WAR9kU{Sv?!i z+G~k4wr|96^Pkf(ai!&iXSZT8YYTc2Yt|N<&q}M=u&JDoS>$)3wE;R>@9EB;_L9`3Lt5qIef&a{lWo zlcbwe#>AU%@7G6(S#Q35(q6uGH>I+1ubWB=-70#1sW`va9NR(uw?7@JtywIl9DH5# zg{X!WTT>1W^2kjP5I5fMcVlXc*Nf5*&C+_S^h4)+OzxqLuO;<2+`;Otr}_qEt#_`v zS*$+%30M>Q(#_(jzCG@as@)ce)}y;Ku+IKWY~Qg=EIFKs4Ij_ME}ZmWqWf&n?zB%& zpHSr^+n@0Nq{kwLMy`7F^B0vahsUMAHs}%wil6>NX`Dtvy_h??ORbfh-C+I@n%E>7V)UB;?I=CYC8nnX{;9x~A7i-D|m#XEOFfLF$#P9$r`0IzLtnSZ8CJ><{$)s|GW^=YN8s+ZNLqZiWkq^3U|nFW4)Y{htsA& zH{_N26XE)eSAn``TZBudg6BiiJYR%A{9?p`LhV+9ebxF)8}N?{G$^w{>Anj;UkD>68%P<_WUUGC z-nMwD7Dn}K2=Z_Qmf{bVL7`~{Oss&SG3x#eNxl$Z@?kL7Ob}_^T;LzC2P%+>emt5JNv3DU+YC-pS$d)$;X9U#06V)iP-=r;IOlG=ozY- z+;Y3D)7o1u0=!dl0{`x%3-iQ?&#AV+$M`0@sSbWkX7|-SIiwWWF)&}D~Gj* zL)QA4kBk6^Y~4xiiu3>w^kz$ zT!s^}-ah-6t~c9&WZ3H_6Uj5A8ja-p?UY&5^0V-}Ux9fOOTOm+I(*e%`}oM9`AV-F zK9U_i_+OdshF&UfHoS%&!jA5RQkc^tIa~#w0k?itiPxSGvDX{r)dLC1~<(!oa znkzSGxJY)nHr?vuIyTMWYAf<_kwJ59o^H5EcJo$SkcFc&%yF)SStGBUt}q+t#mq+1h-B1!^h;IW6eQE&OFl?fcjJ1dZwi8=*!eT2 zpL7!71oS&M#ik9624BYHrE4sTJx?(8a^Mo+1oS&wbTsRjG10>GAR}3gU)-Wy%5cB$i*Aqj1I1ZV{y;GYsqj2NONH)epo0-`w*%_-R*Yd^iS4*%mfB+*y zGb00oz~mQv(Tp=DyYPoI&e%MMe;borH8)rRBZDpz1A{n7rKl#5WG*VrV*siw5Yhtx D{D~WD delta 107 zcmbQII!|>%5cB`2R}({hIKC);$zhe=J!|92NH)eDo0-`w*%@ml*Yd^i*GRB3fB+*y zGb50i{DLoh{`<~jV^nB;1>!3r1|beR|!#6c=WHGw2^QE46nP-TIT9smJy B8&v=R diff --git a/lib/mouse.ppu b/lib/mouse.ppu index 1a15ecdfee533765b141664a59aad85d8912fedd..132fc9425db947027b9ad874073c6511dad78e3d 100644 GIT binary patch delta 19 bcmeCv=+l@mog;CEq|ncxYuh%?&ld&&PfrMG delta 19 acmeCv=+l@mouip!@z#_)GlPxu^MwIRln03b diff --git a/lib/netutils.ppu b/lib/netutils.ppu index 5b4313b10c4b9a280e959971f5f8e298410db1f6..4bfb9b6b6f6840e59d6c1deb178c990c116be5b0 100644 GIT binary patch delta 19 bcmdlbze|2XCr9E8Nui%X*S2k(sL2liQqKrU delta 19 bcmdlbze|2XCr2~K;;kupW(FH4YVrdBPZS4f diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index 8a0cca4b8170fec396b68524af12392ea551dc1b..e3da2cba58bb98ed316bb28528636ebeebfcb9bc 100644 GIT binary patch delta 19 bcmeBF>{Oi4#L;t8Q{-pRwQU=_{__I>QsoIT delta 19 acmeBF>{Oi4#F2TUh&3h8%wS{Je|`W-M+c|? diff --git a/lib/serial.ppu b/lib/serial.ppu index f425cf1029943792a0be9762ec23a7ee566f77fe..9ddf0dde50d7c6225f75333e39ba416d0123b6c7 100644 GIT binary patch delta 19 bcmaDO{ziO45l7EWO_85L*S2k}D&htJT~7%z delta 19 acmaDO{ziO45l7~YBG!~VGlPv)Mce>Wu?MLD diff --git a/lib/splash.ppu b/lib/splash.ppu index 7956a5f8a3a5860a7a3031dd471927d43bac1464..1a7d44444d62ed7fb29d0bcb99b418e899380cf3 100644 GIT binary patch delta 26 icmaDR@JwJr7snyfxOZxkW)yCmw33xkV6zRI783xUb_zBC delta 26 icmaDR@JwJr7snUHFFCBzyJu~jw33yPVY3aJ783xTdTQN)^(XJ#<*kPk=b Yj~i^N%Vx@L7Gr#+%E+*pQGFsC0MGOq4*&oF diff --git a/lib/tracer.ppu b/lib/tracer.ppu index d68e3dbf394a3ea0ac283e8f3cf64acc64de6b39..2271b0952088eefbf9ec466d61400611e0542e5d 100644 GIT binary patch delta 21 dcmX>mdrWr2OfHVZ8InRjgRX7cypT(k1ps492&4c2 delta 21 dcmX>mdrWr2OfHUQj>TJ3^2`i2FXU2X0RUdG2gCpX diff --git a/lib/util.ppu b/lib/util.ppu index 44e85175d7bfcd8b597214017f6b10014d420a4a..abf3ff7803e5db37846ab7ea43fd67cc8e74e59b 100644 GIT binary patch delta 1971 zcmYjR3rtg27(Rb{FO(J#ftE*Kv=pR*lTxAEc)uh>d5p&viLn#t3<51k4I#QQ$8~pO%*1V3APY;3Mx$BOglx+)&6XJ#H{2FSHuvAtd-0y8-}%q~edjy> zJ?Gr}PwQ`+9L>$`9&e#A229Ilo1N^NJjS+8r6oRYxpi?fW9;apBUd{yet)vbt-Epe z)|&XvN#Eq_yW#5#|8CKGqkxGTQWXOOrUOPMj1|bq5_M89Crj~1Fk&z0p$sb_87gov zIuFka#}h?qZaPOZM+;7Blh7~PU;~dXi%B>uW+C;k1-}!`Fp6`8V+socJlijgW0Wek zlg5NsMcvGiD31p3(d7M-AWIQUD0Nebs*pd|JA8q+@V3qlwY=W-RPP^DuNZCTMP{I0 zp9gmI=^J1Z?$sZL6KFE*gHw2da2j2)`vCFd*jbpuzPMR9i)-S)1s`fwEYh?8MR*5) zO?U`baAD;`_zJHkK7u%$OWF;6Se9HT2(*d#cJe$dVx#dgY{OL3en_AB(6kC5XXZ*u z4#3FFqtq#Ydw4MY96Z2M^CjrPzs>jI0{&#V2u*m*`dNMl?e1p!3(x_2k#?FIq_?-# zZ}ivIwt0%G>f5TD+8f(yTU@S}np$e`q<(d3P!i>)5q3(4Bez$ycs)KRH$RmNvBTC>RZcQ(XID3aLStkTfW0SAJ4L-da)X&>>1A$fAv`Pd6teSL zoJ-9yT%yz$^cSEJZT1aDD^YVQ**wM9@HKn6)ke&16|+F`U3qLkhr1LqF*W0W?E&Rd zNDI6yZS}@_2FV6qBCtiA%do&>{GRX$E@hZ)qQIDm%c)|f=?gJPi<~MjgMjNCF3m~- zI~;aRih#SQvkG|JVbNp?_&IfM0q;00C2PqgvZ(X`+MZx11BYT$xJ=q36P=*hG~FE(Y`VGu)^w$Wj7&g8`x z6Ry}62z!b;d%|6zoxyNm2Lq3?%B#!55?SaiPzwtb;n=dUR2CMkQwzO{aGZpr(wTs< zj8I=yUDFn7?+J#Vr5mA$4v|QDW-wL|8g>MR0^!z?p>Uv|floP;qa<=mB2y({R3O+r z5T@Fn7v*=0y-xxS{Z3Oa`u!wW%jH$l^5Rf3o7OZihse8>~f=*nBP^*pA`Rxj#cHRLSmw02;^pMm7;;-7h}+tQ)ZP8->;&&DDIQT z(b8nA^#1QuDMl!ML#^Pac|fH&MDbJ%rn?(Qt7&p{S133X>I*Qah#cKYN`ke9P}|a0 zP3d@k0U~#-meP6`|AO@dd%|>5AivTl$yWLdf^j`z)KFg_FyJ9xxn9$939ytPsagr} HXLr*7Z-!y{ delta 1512 zcmYk5Yiv_x7{}kIr?<6Q*`?j3x2r6ac{rGHz>qS8w#gm& z+PJ8)n$DeeLUvYj$Exg5b!5l%YJ-D>g%s&+G z2{od0sk5tFP_`NQ3nW&DxPNq+tY zw1$88xrXbsLb#N28W2sPrfqGp_TFfs4&BU@9E8WMcs3!L2O@)!MC;ICBGNCYHdEU+ zm~iOuRfCB7NVNM<(q{+fG2HjmF$5sUX(VzPt DL(dzD diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index 659fa9a1e0fdbfcfaa1e70d384112f84903a089c..de79ddea68938399c2409e2fa0b8aaf82278e673 100644 GIT binary patch delta 19 bcmcbqe^Y-#6GzWYO_85L*S2l!@)rjHUa1L1 delta 19 acmcbqe^Y-#6G!HaBG!~VGlPv?{^9^t3kSRa diff --git a/src/cpu.pas b/src/cpu.pas new file mode 100644 index 00000000..dbbb9119 --- /dev/null +++ b/src/cpu.pas @@ -0,0 +1,257 @@ +unit cpu; + +interface + +uses + console, util, RTC, terminal; + +type + PCapabilities_Old = ^TCapabilities_Old; + TCapabilities_Old = bitpacked record + FPU : Boolean; + VME : Boolean; + DE : Boolean; + PSE : Boolean; + TSC : Boolean; + MSR : Boolean; + PAE : Boolean; + MCE : Boolean; + CX8 : Boolean; + APIC : Boolean; + RESV0 : Boolean; + SEP : Boolean; + MTRR : Boolean; + PGE : Boolean; + MCA : Boolean; + CMOV : Boolean; + PAT : Boolean; + PSE36 : Boolean; + PSN : Boolean; + CLF : Boolean; + RESV1 : Boolean; + DTES : Boolean; + ACPI : Boolean; + MMX : Boolean; + FXSR : Boolean; + SSE : Boolean; + SSE2 : Boolean; + SS : Boolean; + HTT : Boolean; + TM1 : Boolean; + IA64 : Boolean; + PBE : Boolean; + end; + PCapabilities_New = ^TCapabilities_New; + TCapabilities_New = bitpacked record + SSE3 : Boolean; + PCLMUL : Boolean; + DTES64 : Boolean; + MONITOR : Boolean; + DS_CPL : Boolean; + VMX : Boolean; + SMX : Boolean; + EST : Boolean; + TM2 : Boolean; + SSSE3 : Boolean; + CID : Boolean; + RESV0 : Boolean; + FMA : Boolean; + CX16 : Boolean; + ETPRD : Boolean; + PDCM : Boolean; + RESV1 : Boolean; + PCIDE : Boolean; + DCA : Boolean; + SSE4_1 : Boolean; + SSE4_2 : Boolean; + x2APIC : Boolean; + MOVBE : Boolean; + POPCNT : Boolean; + RESV2 : Boolean; + AES : Boolean; + XSAVE : Boolean; + OSXSAVE : Boolean; + AVX : Boolean; + RESV3 : Boolean; + RESV4 : Boolean; + RESV5 : Boolean; + end; + TClockSpeed = record + Hz : uint32; + MHz : uint32; + GHz : uint32; + end; + TCPUID = record + ClockSpeed : TClockSpeed; + Identifier : Array[0..12] of Char; + Capabilities0 : PCapabilities_Old; + Capabilities1 : PCapabilities_New; + end; + +var + CPUID : TCPUID; + CAP_OLD, CAP_NEW : uint32; + +procedure init(); + +implementation + +procedure getCPUIdentifier; +var + id0, id1, id2 : uint32; + id : pchar; + i : uint32; + +begin + asm + PUSH EAX + PUSH EBX + PUSH ECX + PUSH EDX + MOV EAX, 0 + CPUID + MOV id0, EBX + MOV id1, EDX + MOV id2, ECX + POP EDX + POP ECX + POP EBX + POP EAX + end; + CPUID.Identifier[12]:= char(0); + id:= pchar(@id0); + for i:=0 to 3 do begin + CPUID.Identifier[0+i]:= id[i]; + end; + id:= pchar(@id1); + for i:=0 to 3 do begin + CPUID.Identifier[4+i]:= id[i]; + end; + id:= pchar(@id2); + for i:=0 to 3 do begin + CPUID.Identifier[8+i]:= id[i]; + end; +end; + +procedure getCPUCapabilities; +begin + asm + PUSH EAX + PUSH EBX + PUSH ECX + PUSH EDX + MOV EAX, 1 + CPUID + MOV CAP_OLD, EDX + MOV CAP_NEW, ECX + POP EDX + POP ECX + POP EBX + POP EAX + end; +end; + +procedure getCPUClockSpeed; +var + t1, t2 : TDateTime; + c : uint32; + + +begin + c:= 0; + t1:= getDateTime; + t2:= getDateTime; + while (t1.Seconds = t2.Seconds) do begin + inc(c); + t2:= getDateTime; + end; + CPUID.ClockSpeed.Hz:= c; + CPUID.ClockSpeed.MHz:= CPUID.ClockSpeed.Hz div 1000; + CPUID.ClockSpeed.GHz:= CPUID.ClockSpeed.MHz div 1000; +end; + +procedure printCapabilities(WND : HWND); +begin + { Old Capabilities } + if CPUID.Capabilities0^.FPU then writestringWND('FPU', WND); + if CPUID.Capabilities0^.VME then writestringWND(', VME', WND); + if CPUID.Capabilities0^.DE then writestringWND(', DE', WND); + if CPUID.Capabilities0^.PSE then writestringWND(', PSE', WND); + if CPUID.Capabilities0^.TSC then writestringWND(', TSC', WND); + if CPUID.Capabilities0^.MSR then writestringWND(', MSR', WND); + if CPUID.Capabilities0^.PAE then writestringWND(', PAE', WND); + if CPUID.Capabilities0^.MCE then writestringWND(', MCE', WND); + if CPUID.Capabilities0^.CX8 then writestringWND(', CX8', WND); + if CPUID.Capabilities0^.APIC then writestringWND(', APIC', WND); + if CPUID.Capabilities0^.SEP then writestringWND(', SEP', WND); + if CPUID.Capabilities0^.MTRR then writestringWND(', MTRR', WND); + if CPUID.Capabilities0^.PGE then writestringWND(', PGE', WND); + if CPUID.Capabilities0^.MCA then writestringWND(', MCA', WND); + if CPUID.Capabilities0^.CMOV then writestringWND(', CMOV', WND); + if CPUID.Capabilities0^.PAT then writestringWND(', PAT', WND); + if CPUID.Capabilities0^.PSE36 then writestringWND(', PSE36', WND); + if CPUID.Capabilities0^.PSN then writestringWND(', PSN', WND); + if CPUID.Capabilities0^.CLF then writestringWND(', CLF', WND); + if CPUID.Capabilities0^.DTES then writestringWND(', DTES', WND); + if CPUID.Capabilities0^.ACPI then writestringWND(', ACPI', WND); + if CPUID.Capabilities0^.MMX then writestringWND(', MMX', WND); + if CPUID.Capabilities0^.FXSR then writestringWND(', FXSR', WND); + if CPUID.Capabilities0^.SSE then writestringWND(', SSE', WND); + if CPUID.Capabilities0^.SSE2 then writestringWND(', SSE2', WND); + if CPUID.Capabilities0^.SS then writestringWND(', SS', WND); + if CPUID.Capabilities0^.HTT then writestringWND(', HTT', WND); + if CPUID.Capabilities0^.TM1 then writestringWND(', TM1', WND); + if CPUID.Capabilities0^.IA64 then writestringWND(', IA64', WND); + if CPUID.Capabilities0^.PBE then writestringWND(', PBE', WND); + { Newer Capabilities } + if CPUID.Capabilities1^.SSE3 then writestringWND(', SSE3', WND); + if CPUID.Capabilities1^.PCLMUL then writestringWND(', PCLMUL', WND); + if CPUID.Capabilities1^.DTES64 then writestringWND(', DTES64', WND); + if CPUID.Capabilities1^.MONITOR then writestringWND(', MONITOR', WND); + if CPUID.Capabilities1^.DS_CPL then writestringWND(', DS_CPL', WND); + if CPUID.Capabilities1^.VMX then writestringWND(', VMX', WND); + if CPUID.Capabilities1^.SMX then writestringWND(', SMX', WND); + if CPUID.Capabilities1^.EST then writestringWND(', EST', WND); + if CPUID.Capabilities1^.TM2 then writestringWND(', TM2', WND); + if CPUID.Capabilities1^.SSSE3 then writestringWND(', SSSE3', WND); + if CPUID.Capabilities1^.CID then writestringWND(', CID', WND); + if CPUID.Capabilities1^.FMA then writestringWND(', FMA', WND); + if CPUID.Capabilities1^.CX16 then writestringWND(', CX16', WND); + if CPUID.Capabilities1^.ETPRD then writestringWND(', ETPRD', WND); + if CPUID.Capabilities1^.PDCM then writestringWND(', PDCM', WND); + if CPUID.Capabilities1^.PCIDE then writestringWND(', PCIDE', WND); + if CPUID.Capabilities1^.DCA then writestringWND(', DCA', WND); + if CPUID.Capabilities1^.SSE4_1 then writestringWND(', SSE4_1', WND); + if CPUID.Capabilities1^.SSE4_2 then writestringWND(', SSE4_2', WND); + if CPUID.Capabilities1^.x2APIC then writestringWND(', x2APIC', WND); + if CPUID.Capabilities1^.MOVBE then writestringWND(', MOVBE', WND); + if CPUID.Capabilities1^.POPCNT then writestringWND(', POPCNT', WND); + if CPUID.Capabilities1^.AES then writestringWND(', AES', WND); + if CPUID.Capabilities1^.XSAVE then writestringWND(', XSAVE', WND); + if CPUID.Capabilities1^.OSXSAVE then writestringWND(', OSXSAVE', WND); + if CPUID.Capabilities1^.AVX then writestringWND(', AVX', WND); + writestringlnWND(' ', WND); +end; + +procedure Terminal_Command_CPU(Params : PParamList); +begin + writeStringWND('Vendor: ', getTerminalHWND); + writeStringLnWND(@CPUID.Identifier[0], getTerminalHWND); + writeStringWND('CPU Clock: ', getTerminalHWND); + writeIntWND(CPUID.ClockSpeed.MHz, getTerminalHWND); + writeStringlnWND('MHz', getTerminalHWND); + writeStringWND('CPU Capabilities: ', getTerminalHWND); + printCapabilities(getTerminalHWND); +end; + +procedure init(); +begin + terminal.registerCommand('CPU', @Terminal_Command_CPU, 'CPU Info.'); + CPUID.Capabilities0:= PCapabilities_Old(@CAP_OLD); + CPUID.Capabilities1:= PCapabilities_New(@CAP_NEW); + getCPUIdentifier; + getCPUCapabilities; + getCPUClockSpeed; +end; + +end. \ No newline at end of file diff --git a/src/driver/hid/keyboard.pas b/src/driver/hid/keyboard.pas index c01f38af..9d0b19cf 100644 --- a/src/driver/hid/keyboard.pas +++ b/src/driver/hid/keyboard.pas @@ -21,6 +21,9 @@ type TKeyInfo = packed record key_code : byte; is_down_code : boolean; //true when pressing down, false when releasing + SHIFT_DOWN : boolean; + CTRL_DOWN : boolean; + ALT_DOWN : boolean; end; PKeyInfo = ^TKeyInfo; @@ -31,7 +34,9 @@ var key_matrix : array [1..256] of TKeyInfo; key_matrix_shift : array [1..256] of TKeyInfo; captin_hook : pp_hook_method = nil; - is_shift : boolean = false; + is_shift : boolean = false; + is_ctrl : boolean = false; + is_alt : boolean = false; procedure init(keyboard_layout : array of TKeyInfo); procedure hook(proc : pp_hook_method); @@ -43,20 +48,36 @@ uses drivermanagement; procedure callback(scan_code : void); +var + info : TKeyInfo; + begin - //console.writehex(uint8(scan_code)); + //console.writestring('[Keyboard] Scancode: '); + //console.writeintln(uint32(scan_code)); + info.SHIFT_DOWN:= is_shift; + info.CTRL_DOWN:= is_ctrl; + info.ALT_DOWN:= is_alt; if is_shift then begin if key_matrix_shift[uint8(scan_code)].key_code <> 0 then begin - if captin_hook <> nil then captin_hook(key_matrix_shift[uint8(scan_code)]); + if captin_hook <> nil then begin + info.key_code:= key_matrix_shift[uint8(scan_code)].key_code; + captin_hook(info); + end; end; end else begin if key_matrix[uint8(scan_code)].key_code <> 0 then begin - if captin_hook <> nil then captin_hook(key_matrix[uint8(scan_code)]); + if captin_hook <> nil then begin + info.key_code:= key_matrix[uint8(scan_code)].key_code; + captin_hook(info); + end; end; end; - if uint8(scan_code) = 42 then is_shift := true; if uint8(scan_code) = 170 then is_shift := false; + if uint8(scan_code) = 29 then is_ctrl := true; + if uint8(scan_code) = 157 then is_ctrl := false; + if uint8(scan_code) = 56 then is_alt := true; + if uint8(scan_code) = 184 then is_alt := false; end; function load(ptr : void) : boolean; diff --git a/src/include/asuro.pas b/src/include/asuro.pas index fadbb0fb..de9f0ed4 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -3,11 +3,11 @@ unit asuro; interface const - VERSION = '1.0.0-651a'; + VERSION = '1.0.0-653a'; VERSION_MAJOR = '1'; VERSION_MINOR = '0'; VERSION_SUB = '0'; - REVISION = '651'; + REVISION = '653'; RELEASE = 'a'; implementation diff --git a/src/include/bios_data_area.pas b/src/include/bios_data_area.pas index 075f3089..93f7fc92 100644 --- a/src/include/bios_data_area.pas +++ b/src/include/bios_data_area.pas @@ -49,9 +49,18 @@ type end; PMCFG = ^TMCFG; + TCounters = record + c16 : uint16; + c32 : uint32; + c64 : uint64; + end; + const BDA : PBDA = PBDA($C0000400); +var + Counters : TCounters; + procedure tick_update(data : void); implementation @@ -61,7 +70,11 @@ uses procedure tick_update(data : void); begin - BDA^.Ticks:= BDA^.Ticks + 1; + //BDA^.Ticks:= BDA^.Ticks + 1; + inc(BDA^.Ticks); + inc(Counters.c16); + inc(Counters.c32); + inc(Counters.c64); end; end. diff --git a/src/include/util.pas b/src/include/util.pas index 954ec494..735ef7b6 100644 --- a/src/include/util.pas +++ b/src/include/util.pas @@ -46,6 +46,10 @@ procedure BSOD(fault : pchar; info : pchar); procedure psleep(t : uint16); procedure sleep(seconds : uint32); +function get16bitcounter : uint16; +function get32bitcounter : uint32; +function get64bitcounter : uint64; + function BCDToUint8(bcd : uint8) : uint8; procedure resetSystem(); @@ -339,6 +343,21 @@ begin halt_and_catch_fire; end; +function get16bitcounter : uint16; +begin + get16bitcounter:= bios_data_area.Counters.c16; +end; + +function get32bitcounter : uint32; +begin + get32bitcounter:= bios_data_area.Counters.c32; +end; + +function get64bitcounter : uint64; +begin + get64bitcounter:= bios_data_area.Counters.c64; +end; + procedure BSOD(fault : pchar; info : pchar); var trace : pchar; diff --git a/src/kernel.pas b/src/kernel.pas index 0b01fcef..ee3f608b 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -40,7 +40,8 @@ uses serial, shell, memview, - splash; + splash, + cpu; procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; @@ -144,6 +145,9 @@ begin { Console Init } console.init(); + { CPUID } + cpu.init(); + { Serial Init } serial.init(); diff --git a/src/prog/memview.pas b/src/prog/memview.pas index 7964c571..cabf0d9a 100644 --- a/src/prog/memview.pas +++ b/src/prog/memview.pas @@ -117,19 +117,29 @@ begin tmHex:printmemoryashex(MEM_LOC, 176, 16, ' ', true); tmChar:printmemoryaschar(MEM_LOC, 176, 16, ' ', true); end; - end; end; procedure OnKeyPressed(info : TKeyInfo); begin - if info.key_code = 16 then begin - dec(MEM_LOC, 16); - NEW_LOC:= true; - end; - if info.key_code = 18 then begin - inc(MEM_LOC, 16); - NEW_LOC:= true; + if info.CTRL_DOWN then begin + if info.key_code = 16 then begin + dec(MEM_LOC, 176); + NEW_LOC:= true; + end; + if info.key_code = 18 then begin + inc(MEM_LOC, 176); + NEW_LOC:= true; + end; + end else begin + if info.key_code = 16 then begin + dec(MEM_LOC, 16); + NEW_LOC:= true; + end; + if info.key_code = 18 then begin + inc(MEM_LOC, 16); + NEW_LOC:= true; + end; end; if info.key_code = uint8('c') then begin Mode:= tmChar;