From 413ca35e61ce4a77e12f414508db6f432fa4ab1f Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 10 May 2018 15:35:35 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@705 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5251072 -> 5251072 bytes bin/kernel.bin | Bin 196836 -> 196836 bytes iso/boot/asuro.bin | Bin 196836 -> 196836 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 15741 -> 15741 bytes lib/EHCI.ppu | Bin 1470 -> 1470 bytes lib/GPF.ppu | Bin 1428 -> 1428 bytes lib/IDE.ppu | Bin 10517 -> 10517 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/OHCI.ppu | Bin 2853 -> 2853 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 2133 -> 2133 bytes lib/UHCI.ppu | Bin 1470 -> 1470 bytes lib/UIE.ppu | Bin 1319 -> 1319 bytes lib/USB.ppu | Bin 2999 -> 2999 bytes lib/XHCI.ppu | Bin 1470 -> 1470 bytes lib/arp.ppu | Bin 5134 -> 5134 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/console.ppu | Bin 61101 -> 61101 bytes lib/cpu.ppu | Bin 8306 -> 8306 bytes lib/drivermanagement.ppu | Bin 9213 -> 9213 bytes lib/eth2.ppu | Bin 3093 -> 3093 bytes lib/fat32.ppu | Bin 13448 -> 13448 bytes lib/idt.ppu | Bin 3079 -> 3079 bytes lib/ipv4.ppu | Bin 3743 -> 3743 bytes lib/irq.ppu | Bin 974 -> 974 bytes lib/isrmanager.ppu | Bin 58225 -> 58225 bytes lib/kernel.ppu | Bin 4854 -> 4854 bytes lib/keyboard.ppu | Bin 4773 -> 4773 bytes lib/libpconsole.a | Bin 271148 -> 271148 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/lists.ppu | Bin 7240 -> 7240 bytes lib/lmemorymanager.ppu | Bin 4183 -> 4183 bytes lib/memview.ppu | Bin 5293 -> 5293 bytes lib/mouse.ppu | Bin 5134 -> 5134 bytes lib/net.ppu | Bin 3623 -> 3623 bytes lib/netlog.ppu | Bin 1991 -> 1991 bytes lib/nettypes.ppu | Bin 8368 -> 8526 bytes lib/netutils.ppu | Bin 5669 -> 5669 bytes lib/pmemorymanager.ppu | Bin 4233 -> 4233 bytes lib/serial.ppu | Bin 3052 -> 3052 bytes lib/shell.ppu | Bin 4916 -> 4916 bytes lib/storagemanagement.ppu | Bin 11605 -> 11605 bytes lib/strings.ppu | Bin 5267 -> 5267 bytes lib/terminal.ppu | Bin 11999 -> 11999 bytes lib/tracer.ppu | Bin 3782 -> 3782 bytes lib/util.ppu | Bin 12940 -> 13252 bytes lib/vmemorymanager.ppu | Bin 6105 -> 6105 bytes src/driver/net/include/nettypes.pas | 1 + src/driver/net/l2/eth2.pas | 3 ++- src/driver/net/l3/arp.pas | 1 + src/driver/net/l3/ipv4.pas | 1 + src/include/asuro.pas | 4 ++-- src/include/util.pas | 9 +++++++++ 72 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index e177b60f6d2841ff42db1a0fa427c2bccf7e28df..454af5396f3aab32c3c9a1adf72ed237ed432c64 100644 GIT binary patch delta 25684 zcmbun30M@z_WwQ2CYv&VA}YwBxNoSS;0hu*B^q&`#3dM&Xw(E1m$-qVBjc#Spq3gn z822qA8fPF^Gl*-95u=H?<6epjE>Sdu`Jd|UDmAxqfA90WdG5?qeZJ?MI(53br@9$$ zn$6~r2CtlU>3-pD!`noJhHBb`wvGr5ZynlN2K#!Y@2=tKRX-rBVpRuk_|!~wc7OYk z)nm0zRzF)E_225gA6I`=O_u$)wfk>5>*H-xWwm(QTjzRy>Ihj)wui`S!gj&H`@Y#e z!{vX4&gml<@TVLhhCSorJZUAbPXB2mh-s|95no8r|0Y zzoTchC}=LHKD6NN5#wtjYj=Ti#LgE8GRtaoxS{Nua9HHK;jrR+;&2zixHSuv;&&<( z`7S9`eD@cMa&|k?SROa*h{$)r5yf}c5mCKP*9z6ACzK=uPKru5;iOW!5qFNmHm~OrL|4V7Ye^HVc`itn;@A*YJ_QgWA*=a=`a9ZTMRaJ{li&6~! zRT)?RtLTud`&Bt$MMAZ~8Rd{9oDunMK9j5*>>^R&J}puTx41}@^YtQSMy_W?k%ygC zR`a5>q8VL2tIWvZH&Nt)zbTRD{3h}}^PA%PQmFPgr>LKw6GbjKr$l}rR6Czn)THyG z8U1)(nGrcJirn${hVLz-?$HBc|798d@Vk=YmET3fwEjamU_<{9se4uR${(WAw78%| z9&kbAyZyp=e_3&zby+m*>B}Kr?_BlVVtd79WuI§rLQP%mGE27CAyrN8wToH{D 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 delta 25576 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 UdcdnEyn4Z_w`J3aK0|Wspv zyt=~o>I&b&wMIj5l4>zdWn)z^ZZS3O&y>=jOn%TZPv|{8b^&@uFQood_Iwg&G9>X_J-?4J5VY#VmE zD6Sb}&1@0fcGYA5Q7igfVNvRbeW&`pe^XI*6m$!;SNmGdL5eM;pAU;z5{R{|T7k6` z-~slAU@beznzt8gS*9i=v<{BL7zi|om@c3Pw39GjKu-vMl+-S0Jy2w5jeuTI{kdqUDb7`WefVC& zGy%QgsD#-9`oLawdsa|1mr|9G8o){kjonv5ik_qlF$_Is=hI- zkuXibCh)R^*#b6&$w$=N^8=$(q*f)gaOfhTv4<;lGYD5>76h5Sq?9Qn6Wlp0`d1)e zBwUuTQo!bLQbMJtD{~7tAYqJvQSh#W=>oQdb!JKP1#JcMCA16J8qy`K5wH!UN@(ik zs=h6BlQ2!db`U9Hwt&&#d$_OYXrZ9(;r?d=RteYvu1IL??W(CGoK~|J2AMS}WeO<< zc1TztU}tz;!b$lT1sdausawftPwCC z{`pk&*3{QkeGj-UVVZzF;f#dY0``K>K2_gb6d3)1)T)Hm2i}y>*w2-^FFs`}7X_JT zNhwoE2{2m10s#}DuY{EX_J_6-DhaO4Nf0DqjDQ2cQ7XEZE?_d;FiV;*=s@^RLc4$| zV3)8)z(KG_LQ|rv`oXYC!ZZPgzzPYo1x$sxrRtSe1EZgjT9wd-L4OI2{avYtLkHEg zILI6-rA#5Eft!Q{0*-{=@k`VBHBl+xC^#>nlH|%f8jeXABj6bLM8b3d$HG>#r1^r5 zgVhq+1$+iFC9Dx}JWP_%G{9B;1Q;k`nt&6bvxM0KPJ*x!wab#g=z3DC6515Ft%>d$ zlU=E&!jEd^k|6U5DP;;N9c&U72sjPik+4$0>0psi8R*J91F|HH5pX6vD`C2T&%qG0 zr1^qoK%9hj0sjLg32OwL1wIm*Qe4%~hI_@Lw`l^-fuAMJ7Vvras#smQG%&hYYE?pe z0p63)ILMXyMaWa_OM}ddq?9S7Oqd~Ifq*Z=a0x2~oCiH5R0g{;zXDMb#t4`NeiEh& zI3FIE4~hQe3%UTVNoW^vAyi6OBj6(VR6^4bSM{&LE(y~FTny_a%ocD7EIp+DcUfTc zf239=v}G_#LSw2c^>XN=8kYx|+ej%>NZAl5VS#`vpzfgPUZsF5;Wr7Dp{~q1a8|+? z0awB25~d5d8a^^hnlI=Y*eIc0z_pMqVU2*f@VtbkVXo>eFiyfW0oOsIgxLaGq5VO% zxj8Vpk<_Y$mInq2jl*53Ux!<2x;e;v?tmDHOd;h%xr7A*u7{5$tQ7D~*dn1a!j)Nt zRT9PsxB*_0FkQfnFwrb&zMz{RSwg#j9AYG_5pXj!mC%&ts(uT2N|+|#R`}B<`k5`@ zTX4yy&dUyrJ}$K?p}h@75*kOkQojRltA*J?=3FUd3aJ2Ik+49(?J!lsN&(-4!4fK? zT$y)3tb{QF?t};l(*=AVyv>s43%U#bDiZy(3-|$4NmwJ`Za5{OX|${Q58;r6X##!( z+a=5va1Xpzq?WA+j9w_UDxvLz=@J^pxKe)%!`@sOWR90grcer@g@gqH?uUjFRti`I zfA1H)Q^vXy+u*8%F#;ZdZzN0?@F0|$CCwM~5WFv;UBF_azzLl^*z@u

_xT-%1 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 OIpp!hyY3nKdjB8Jvf}Un delta 15777 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

_xT-%1 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 OIpp!hyY3nKdjB8Jvf}Un delta 15777 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 diff --git a/lib/BPE.ppu b/lib/BPE.ppu index 8a1fbb5e3e92641451db575ed3f7b62573b2b352..944ea193e89ff81a40336aea6db2d83ba83e33be 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/BTSSE.ppu b/lib/BTSSE.ppu index 7908ebf499aaaf2724959f4ba7fd08515d0fbfd4..0cb77a813ebad806af3cde99fda5bf2d1f07ea97 100644 GIT binary patch delta 19 bcmdnXwU=u`0ms|Jw^|M#x60XAag+rBU{eXl delta 19 bcmdnXwU=u`0Y{XZ(j?Di9U>bmjb`HnRW#MMDQ7 diff --git a/lib/CSOE.ppu b/lib/CSOE.ppu index 4d47d189cd326c31cea0806beb49db28fd55f116..e61e1bebdc960c6910407df5e4f030fad1307c8d 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/DBGE.ppu b/lib/DBGE.ppu index 1e7df6ec678cbc39d6ff930bb0cbb3d697832b96..e344e500f495d9501653fb49b1c1e5a40ab8a216 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/DBZ.ppu b/lib/DBZ.ppu index 7b2353a2ade036b5be372325531b692c70b2eaf3..c0d53974457c489a606d2764a587856215e47ad0 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/DFE.ppu b/lib/DFE.ppu index 2991fea6c15b9683ad5e3c6123d442ca9d5ce3e3..de4061f47eb9327beee7b34421db0c9b1a12c9bb 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/E1000.ppu b/lib/E1000.ppu index 03bc37219d2ff3e4542e4de292646d22e919ba2b..ad2a7318f247446a14328df3558258e7f5e432f2 100644 GIT binary patch delta 34 qcmexc^|xw+7$e8q!?#)vAGgYxEXNqc@v^B>ge55I(B=w8RvQ2*?+)Jp delta 34 qcmexc^|xw+7$ZlNo6;oDWgQ}u$c5s|^755Dd}) diff --git a/lib/EHCI.ppu b/lib/EHCI.ppu index 2f87154624a3dfbc8942bd7ffd2f9925f42939a7..3050b1b42675635e5f77e778be2dd8bde800de52 100644 GIT binary patch delta 19 bcmdnTy^njsXO6drZ?zmgZk4m~_hA+QX-Eps delta 19 bcmdnTy^njsXO1X0rAeO4Iz%@9KFk6DQMd?j diff --git a/lib/GPF.ppu b/lib/GPF.ppu index e654139f5f62d92118cd8df17fab0f028fe6b356..cda5f150bd981793f239f9a0ecf08b05e2dfeef8 100644 GIT binary patch delta 19 bcmbQjJ%xKh4#(TWw^|M#x60XAqQD9OStJO{ delta 19 acmbQjJ%xKh4o8%m(j?Di9U>b`6j%X4lm=`7 diff --git a/lib/IDE.ppu b/lib/IDE.ppu index 51aef25f82b7aebd61cf38530540dc2b0e65c187..b4e1505b744e362f6f7c06d69aab9598300f238e 100644 GIT binary patch delta 19 bcmbOlG&N{K4#(TWw^|M#x60XAvQPs6W7`S; delta 19 bcmbOlG&N{K4o8%m(j?Di9U>b`7HR+hOiKr# diff --git a/lib/IDOE.ppu b/lib/IDOE.ppu index 95f46cc254685242eccfe5b53373185364514134..fbcd22ad0f5360bc0d4ba0107de4d19542efa275 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/IOPE.ppu b/lib/IOPE.ppu index 3f7eb681e923a947d86d763836ce0398b67d27bb..f25f4f1ebcbcb4e791cc1947874f1417bb6e4cbc 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/MCE.ppu b/lib/MCE.ppu index 7867d345b69693749cc893f1028c38bb899a7988..6a151f1ec69a380a67e165e8938193c1a521c2c6 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/NCE.ppu b/lib/NCE.ppu index 3c51ce42779c272eae98584d107d26521ea2ce9c..07d78d1549428e9631336d7a2e2ab994af85d32b 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/NMIE.ppu b/lib/NMIE.ppu index 7f8423af0eaeba0295f1cad88b4d4123f5f24e41..cf5101a3b3a9df1488ba315c28f278e999a2a8b5 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/OHCI.ppu b/lib/OHCI.ppu index cd17906b49960b3dfd19d59893c3551cf1941e38..bce9f75afeb4486c18eb4c034f65079fad673f34 100644 GIT binary patch delta 19 bcmZ1~wp47wXO6drZ?zmgZk4m~w-y%wW)2D< delta 19 bcmZ1~wp47wXO1X0rAeO4Iz%@9*5U#HPJRc$ diff --git a/lib/OOBE.ppu b/lib/OOBE.ppu index a4248834ecbccdac26ac1e8ba4d4f453a9f37cea..bc30139b30701b298f7c801f51b530efb8cf154c 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 86f47f4ea110b566614f40e08e8551c4c31cc594..61779621cf6991effbd2b0c856f85a95798df3c1 100644 GIT binary patch delta 19 bcmX?Nf5d)5J;&R_w^|M#x60YrZYvJ}Xk!WR delta 19 acmX?Nf5d)5Jx7$A(j?Di9U>dsZRG(_(+80N diff --git a/lib/PF.ppu b/lib/PF.ppu index 33215edac7a054cb80d4ab91e648d3676d0c7469..e241dd0357bd4ff4d5af0decf062c628de7bef05 100644 GIT binary patch delta 19 bcmbQkHHT|L7RTGew^|M#x60XAw2B1)TN4Rh delta 19 bcmbQkHHT|L7Dtqu(j?Di9U>cxR2d%7P2LB+ delta 19 bcmdljxLa^S8;7pszeS$QIz%@1>2d%7PS6LO diff --git a/lib/RTC.ppu b/lib/RTC.ppu index 690a930e4749d19d48d2cf37f6c3742fbc642abf..717fc4431ef575662e471690441f2b747e09d4f8 100644 GIT binary patch delta 19 bcmeAd>ld3aokNdD=g;BeRyiBz7jOXpN&yGf delta 19 bcmeAd>ld3aokLgh-y+Xt9U>d&7jOXpO7jP` diff --git a/lib/SFE.ppu b/lib/SFE.ppu index a78c7ab1845c17b51969db6b77b43fd27e80ca6c..5a25e037c43e7dab77f5d8b3a152eb6b0892e382 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/SNPE.ppu b/lib/SNPE.ppu index 6133030a2d5ea9a76096d8db022ef29108341942..5b44d8a84b668af9c10455532aefb3e71e4af7e1 100644 GIT binary patch delta 19 bcmdnQwTWv&9>?3mw^|M#x60XAwuc1(UXux= delta 19 bcmdnQwTWv&9!Hd$(j?Di9U>dc_OJi|M*{~% diff --git a/lib/TMR_0_ISR.ppu b/lib/TMR_0_ISR.ppu index 864efdc7d6e5be5879c54eec61f4c4b331ed7ee5..d7ec8ae1e49c85b3225f7c10545759b075f71f98 100644 GIT binary patch delta 19 bcmcaAa8+PJ1&1Dw&Y#1_t#URtTxACUQN;*) delta 19 bcmcaAa8+PJ1&6NWzeS$QIz%=$TxACUQnv_M diff --git a/lib/UHCI.ppu b/lib/UHCI.ppu index fad0e3b1c19d8873cc276b8000546d0debc9b904..23714b507466062d80902e476b1fe246e1ec4f35 100644 GIT binary patch delta 19 bcmdnTy^njsXO6drZ?zmgZk4m~_hA+QX-Eps delta 19 bcmdnTy^njsXO1X0rAeO4Iz%@9KFk6DQMd?j diff --git a/lib/UIE.ppu b/lib/UIE.ppu index 0d258ed679289e2c4c98a257a97802bfd7cb1044..692f639e57b7d825eae4029b66226520f78bc5c4 100644 GIT binary patch delta 19 bcmZ3^wVZ204#(TWw^|M#x60XAvY7<{T+<1G delta 19 bcmZ3^wVZ204o8%m(j?Di9U>b`HnRW#MMDQ7 diff --git a/lib/USB.ppu b/lib/USB.ppu index b70f35c54ecd23f8c0e172500c856b313f037796..5caad8ff4aae44cc800887cc6ee22f7b03773880 100644 GIT binary patch delta 19 bcmdlkzFmC6M~=6LZ?zmgZk4m~=RPg~X}${9 delta 19 bcmdlkzFmC6M~)~rrAeO4Iz%@9+{Xm~QZ5L0 diff --git a/lib/XHCI.ppu b/lib/XHCI.ppu index 136936ee97618501ae14bbdb3b39c001be581a61..897d5eb18e424fa8050cb0ddae993096e9b8e8ea 100644 GIT binary patch delta 19 bcmdnTy^njsXO6drZ?zmgZk4m~_hA+QX-Eps delta 19 bcmdnTy^njsXO1X0rAeO4Iz%@9KFk6DQMd?j diff --git a/lib/arp.ppu b/lib/arp.ppu index 981cea91ffb7eb3e217ef02792469a82576e1ead..b96ef865e077269a1bd13b33730d72cc7465fec7 100644 GIT binary patch delta 106 zcmeCv=+l_s#k4nVqK_ZP+rzh74j;G5nYbu|<7HE&2uo1Zq0LN;H`p1kPQK02#rSY? z8s}lg51X~Pp0Y9KPZkhN0+Pjo+CXx?pgxd1FPO=AaI&RP3gf}e^Mr&MfkK;vb%8<; Gg!KRp94Ng2 delta 106 zcmeCv=+l_s#iZsw(Z`P?%1vpK=duowiHjmQ9&h9An7&0(X)_b!4R*#WlW%i$F+P}_ z#(9|W{bnt$r)-RQlLZ8mfMl_tHjtbzs1GF13uZDNm~1JO!gyfwJRxC5pwK2^U7*kd GVLbo|SS9ZO diff --git a/lib/asuro.ppu b/lib/asuro.ppu index ef6442b0ff2941e10ec3e15b11a62b522f12c09a..c901dfeaaa4ed0eba4ac45a086fd8466e3d095fe 100644 GIT binary patch delta 45 zcmV+|0Mh@^5YP~i6bLxi#Fd1vu>_GEG6KJ5u~4D~0b;ZB1u_8#HaaskIx;u2EC(b3 Dm3j|3 delta 45 zcmca0a6w>#2*-23`X0qs^V%lL7%_=PYz$b$%9y(OGpi9JyQ!72k(H_OW*v4FMgWEQ B4xRu2 diff --git a/lib/console.ppu b/lib/console.ppu index 131ba5d135b8159916dece2630229bd277025f72..16a1cc3a84f04a7bd6a083113403393c67e205a8 100644 GIT binary patch delta 21 dcmZ2`mwD}7<_RSndOSLR4j;G5*;r%v4ghPz3IzZF delta 21 dcmZ2`mwD}7<_RSnx|07Ec`oY^*;r%v4ghSm3FH6( diff --git a/lib/cpu.ppu b/lib/cpu.ppu index 030b3471c070a20ad8441bf9964cc74a37aaa34a..b3dbfad51c4c948c4e70527758d2d6406faa332a 100644 GIT binary patch delta 19 bcmez5@X2991BV`u&Y#1_t#USYypjh1T>}YG delta 19 bcmez5@X2991Bb5UzeS$QIz%>hypjh1UG)ht diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index db1fea73cefaff4c3436c538ecbcd2f054e6b729..dc0e2257d87a7583e7acd817bda7b9842d541066 100644 GIT binary patch delta 19 bcmezC{?~oNEDk*$oj-?yk_ delta 19 bcmezC{?~oNEDl}Ce~Ubqb%<|*;oXDjOB=>UZ1If2sKY`?PZan}^IUBVA delta 74 zcmbO#F;!xM50gN|L_ceeC^w}^p36E!CQek~c)X3bWBL|FrHwn;*cf9sA7IO2W^|gY a%asfyCvs^6$-P|qK=LiuPayf6TMq!F{22HE diff --git a/lib/fat32.ppu b/lib/fat32.ppu index 431257e7427c41a87b1bfa37b53ee3003c4f7201..53c609bf632bc33512d429962eba4a4a59eb2163 100644 GIT binary patch delta 19 bcmeCk?8uz3h~w?yTP=r=TjgwAb4JF_1X5bUvjzb}1p%eAN(Qk3 K0gki$2crg1MHMpu delta 52 zcmV-40L%ZM9iJVLOacr;kxotsT1Fz0Nv4Ptk)&D(b`qL=|mrUwuJ diff --git a/lib/isrmanager.ppu b/lib/isrmanager.ppu index 04cdea4abf21002b3f7887749220f8ff80ddc932..f519a97556dc1022b271e696395bb79acea94052 100644 GIT binary patch delta 21 dcmex(jQQg+<_Q}(^mugs96oN9vvJ4HM*w%s3sV39 delta 21 dcmex(jQQg+<_Q}(bS3{S@?6#-vT?`GM*w)f3o-xz diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 4188c7ba2407fa9aa0e7f196fb3c1a2964e1031a..8a77ec912b493115425d046410cfa14348172d49 100644 GIT binary patch delta 19 bcmeyS`b~AhVve_mZ?zmgZk4lfwYLxeZfXi? delta 19 bcmeyS`b~AhVvZ;`rAeO4Iz%?E_7(yFR@w*( diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu index 4dc0aaf4a2df579e0543d4ef237222f26e64fcb3..e261543e5b3831df7bccb3effbc99cae4af7f0af 100644 GIT binary patch delta 19 bcmZ3gx>R*S7l$5?&Y#1_t#UR_5*7jgO^64v delta 19 bcmZ3gx>R*S7l*FozeS$QIz%>35*7jgPI?EB diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 43d3c6d1ae05f9953ade71971c9cdc80aa6e9c89..9844e83382e8a8175ffdf6e614dba3a88f42f35f 100644 GIT binary patch delta 3675 zcmZWseQZ=!7SB1;p`{M=wUpAjEgfnJTFWp+D^$ZS)?m6a^h1Ug*aDSSh)|@Mu!>SC zyI_`VNk$&_gshdK5WiY$d6ok~aEPpFD}^D5)QB=fSyp5b%A%Hqu=mYO-@P;b_kO?g zJ0I`dbMJkx{WGooGtHM}pXM%@I;|^bXJ+_mTVtAWHuD!-7;*4x?8W2Lsox^}LOHb__+x$y)9q0h<5t;g z(r&cR-4iFPtDk>TLGu@N*`+PF_L}17US6mun^vxqHr+kTW7MpkAsJ);a~l=p{qtrE z)fvSv9*Fd3Z)29lry0|m`jrgM%~|nQE#y829%Fa&Dn*{}8#~St7}akNDWx}b^h%}P z&{3){K9FL3)b)&HsXiM#jlXxVki4NC=$AoUX05d8fukOy=j;!XF^-*IB@t=&V<|0egHcB3zh0EtTb99}jGdR> zkPOxD7GpEI1CkBCqVPt;;0~!0$N`4?m#xa24h-#*0)1e}V+3!{lMI&w>`|a*hYkh$ z9N+-TzZV>QbtG(-aamYerI17zkKXXJpS{VjL(24qK@WRVVU8j-*W8rq>#sXnUWPax zNQYMG!eTESk#ZL6c}Ri6>Hsd!g>J>gIVsA;Kh>Ut<;y0DTyE48pF!VU+Cq^aF zOZ|{19_)I@sIj!+L72;KFLZ+yZC@n}Nx#rAbIn3nBRRgj2$V_X;8S3iweDM{`in95 zaLo#6RNQ}E1t%p8DcsLRDSFl_igDb%4$>`$as0!2$h2S@JDcFV0y8(kWLb@V?0hM$ z*d(Us@ZVsJYT0>#d_trW279hjh4{p~PO z!hK!PCA9*HQ5xuuS~!0SilypIwA1kgwlwkuA&)kUfOv8(v}K1^%=Zz@Oyf-I!c7J#;BW-AP>Sk6Op_qfw2l`5GRN1PrF6 zQ1xDL@jx%!r_7k|jF9MeQZiUfRi$FMd_vta;x&b=Y>Zf|(=bnw3IA@{4Hg+yD7NW= zXsf8Ff37W^L>L$QzK^OU)HYi3Z%CjIGI0$3Gyra0ONyf!H)h7P?X~0rcahnU=zfTV zB13kW%})F0*~Zf0voM)5Ds4G@E(mu(D{%kTXZ;oRP1!pL^W?P3^z2QzORnPfn=o>ug!^qcQC?QzaI~SymJuF{DZ z?sqCr#R(KFgB1F<%9d@;28r2N!&fw9x&2x6QSJKnG*qWKa5sW{Kl1`KZ;#Pjl8wqG z#DN?fC1v5e!?jfCypvG54a}iEEtgo-`i(^9cxD2n=Yz(%4`PR$8=({DUBYxcB02v4 zVa!lcifvb_zq~wwpZx=#P=d~X3^yt=aSViHBxH%~EkSiB*L$#4YB{$8w?+;H@>gRz zAFsq8BNcF<5fg#>7U3lRX(1kqG?azz&agy0CjuX@!5a}P38!MxUcz2JRf~fb`#h%8 zr8PLnUo69G78}v_(3ka?t-pS6mF~`IrZcPX1u9*M>%v15u7ic-`mm!&Tg=*OJQS&e z0wO+(_}?i+F||IA37okWJBP~^vLQ<$lCvoEpk-{t+mYvOjp9gd!v7AN#7A%+Qu`}t zjrBM_^$K29KXaf+_oJXBQI>$Q`CY#M?z4;`?!=_cHmnIQOmnt$2X&h_jkq+-EYPapX`Ytdf%}K z7Fq0(F*7sP@;4t?M)H3uh>Kk@#I=uNi2rd6VLuo{Bpr?+GLBdTi!4?NW=5Dr70WRv z)TqD_yocj^u*aGTv!rQ#mbY2sQl8l_+Y~B#b|6OKJr$!^@};FP|9?Kmq-oKIkjb95 z)-#O*-(sz@AqCt5)cT`1vfD1=6Jn_AXnh@|l2(j$q+P&W@;E$p0q4jKN#d08aMLAJ zKi0+%VlU8wAdaT{m)H{d&UO44l0v^^(TBYdzO9rYew1z~@ahn%UuS{axL~7I2Z>LP n-}7HK*xph+X8zSyL6J?^kQFET5OZ6wV2Aq<-h)e>aeerIxIL1c delta 3675 zcmZWse{57$7S1`-p`{M=wUpAjQ##ZVw3cB23sl1{)?m6a^oNud*aDSSh)|@Mu!>SC zyI>?+l97i!A#0^5L|t2Jd6olV!6Bk)D}^D5)QB=fSyp5b%A%Hqu=mYO-@P;b_rC9Z z=f^wu+CB_-c)tp_jE*MqM`{Z>dsYBk-JPP^&lcoV&bHuF7&(psUI9$o?t!~N(b$s3;8TP4yPSIsrX{V^|w>GCR!al7Po zX*b&D?TwSw)h#%spaqLN?b4Q0b6xTCtjJfCjjPs6o9>zIHLBOll#FrUxlIZx|MM0L z)f$B_9*p#7UqhzFrx`OE`;-i>Et&CFE#x^5USm(wYDJ#s8$HGn7*+2KDy7%A_eiB) z-(IXQIhbO6)cK5LsV)n=^f=F1IN5Z_qiV=V;sM*S|ZXO#9~^~3L}h;f4wNPH!p`j8M`jO zDH*EUBgSTAJ0u%?RpE{Lft^w%kOK_QFWZzk?H}AN1$zIW*9hL3FBvWc*sDOz4($r` zIluvwcRx7z+Hlw+${C7Z!WzsFbr<&%+87RtIot4sWB7*+;Iv>GyBgtw0-c*-qO3+gexaCF zZWhyXzXSX3jczlO&n0fQ+i zRJ9M>+}{HaC^P0eD049r(#!oN#)gGELaifwu@ z+A8Yln`cWW5ys8F@1tr7wT+hk8xrUPCyt_@`oW`XNpV!|L1#?cUQeFvDKHxn-4Bsa zWXLM9+3CQ1+h{s+4kl7Yg)N)U2jMPglRdxn*>F{TQ!XEX`Es>6+@Oxs46}W?dPizJ zl~md?t#bYW^z1FTN3PRmUS3w=aI~?~mJuF{tHUryiKR`R_L~CtPZDEc z?sqCp#c>oYffV|-(w1e;28r2N%U3mIx&2x6QSJJUG*qWKa4&*ADry@Wk{x&{X<_IXUF z%WH9fzgUjfEjFU?vO!BBlCvoEkY#MZJCWz@4dO^{#QzSN#7A&1QrjzN zjrABl{R&=Fc?lEf+F<;KgX zeyoihz#gE5K^#dBF101{-5dB%NDBRuMIZJ;_>NMB_))s4z-xo3ew_vG;KEH-9V9+E oe$Ri|XnR}nnDtj%8AUc>eP*2KL(FZ#f*tBZcn>af#r5L<0a#tE{l<_3mF<{OoKSs|>+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7`~LBLvKbD8LGbQSy-dinYahNecQmS6{ftp#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{lW@g6b#v7G+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7`~LBLvKbD8LGbQSy-dinYahNecQmS6{ftp#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_(R74R}{s*CTx*`G}wEdL*4|bTpl7bkyM*7gJpO+#iDD2+KMa8>e_I| zUXy&{sJnx*eJ2JR|Cx@7%T32UyA_LRo6(C{(>B|DR^o+hamzDZkmnYesWJI6ik=^# zPZ1L3Thq1G+tRhhmUQjam(sNlUN%}(lup zq?=U6#G7yL(?^L}Z@zuPUcO})rLumHn@S4ZDtdm2IJd_f+d;nHmyT3dEfNzBysr5| zR6~ob2?zRl+kitF}1{NMd|xyX{}ZIzVkiCchSaIllmKOXSLQ-J^ixQ+gIKw zRvr2XtT8?5X7Ns$07!Xu6Xow7nClC$HmX;bcqDTul}PnP9vdK%o*OP)=J%)Gu$t7ztZJu z`_x?V`qW(MZ>^#9PyIRxd2^kKWy(_KEGinV>NQfg8m{)*bx?Ipm66JAiHKfLsTkCF z!}Salhy;cK6Iq}tP9me+L-FKqpbig?0X^y@zzIn4_MH&m4;{EE2m#m*Ohm{LEuwM^^tTaJ4*Gg>U%82KhM;lY*cDF>?#9a7jlA}HpI4j z!SrDWw^cw0_}=>=fV;~57IjOg-Ab^hQh#X!{(Zg%Wi}|?cj2cCV8~CvBCVSP{KIuX1u}N@yN^JD zj=(nlLi2@i_Zk?f)gTW15}wv-6yIxrw6V%bJ%xK8GbK$&$adY4oa zmR;6q?Jbw_wOip3l|Rn-9q4|x`N*J37Ad^2Y!a+$26ZV)P@Pk5SjXF5hLr52v*SkM zW36DG9?hc*P5F0_@}G;d48n8*-g%(i?9bre5ShUW0uEb)X9GCyLmd*5MP*aUVX!^!?9m?FCW{>QkrCjKRrG3C%~WKc|AIG4k$o|jK^_*jYIlLjP% z<|9C#lVmrx6*En2Hdn_SCvP1E+4y*wcOxXD=8OE;@R98D9jWl~70q{IyHM$ijSQM= z@MngLWS499VjtHFKX9uxkfkvDLlW8>G4l*!GN9$+iCxITiKAhc*z*$ z552;A<#3t!dv+|{fMih5IeKs7#6Pg973x_L#M-lLSU&@T*zhm*tWoKg{eH%~K4<>_ S1I(E2JSRQZ2zLLMrPvR2aG+k83HqvAn$OuCjeoe>lyNTH`@cH|^^ij5fY}Kg%x*ulY$a z{oOfh=BzpP5?&lzhqVoR3Za6%-ovpT-=l8eX zonzgUog-==IFfD>&GY~4(zM1yqNX|oCadtB8ihakSZ&Z_+I8o#MT}J>%sLoZtjzpp~|}4Tr9fRtF5@gtnT$^ z>@~?JkGeZ3+xKFq>Em=vTy8$@*{xX2*o0ohnz6~|vl3gg#SfnChCH{(OpVEpQS`zn zeTtB%*pjZT+Lo?0wWe#Y{4QO4?-9HJ*vmKXqEt5QaZ^d5TSYG{7U%YuV>`(I_N5~=)eFU>1Fvbm z5Y^B^Ytn%M9=QPm;`%#%ZcMH5I#K$rSz2e6zUzFCiQTmE)ujH0+gY9Ubnk$y^^O%c zij{{x0Bc-tx>-EkyW8DSwc7&Ga%5Kq*3p-V?LC@_C5JMxp<|iY`4b*Ybe##>o%Z)r z$5r{r_9y(C^jO5;@D-1K?t;?g@VNM|dR-zx@#yDD<1`ZL#O#rsYOU0**&_oY_bXkl zwomO9uTSljfwo#o|MdSRA#aW|u}oRYoJB?BRlP>)R^!z^yAGq1DYi7F(wem6)eUOas>+%CV3^-4}2PMHK< zkXPzYgzGm}1?rw{0WO*ho)1m)d;$LA77fxuKD-dBam{VeVK%ifPFPB2603g%Y5>a| z)ZxYwcthn;0-S&W+jYeqa1i+PQhg*H%8pXKtNI=b@GoT=l#NO)hu!7i>q1VD(}vi7 zH<&&Q;kHT$0pEK+1aMb{-=b~_wOa}HR_QNoz<jQ1^pLemPESO!I-)cqThd?CQ(Ltw6%Akw1%FEw8Xcdv%gS`FghuizQ2M)93SNE@r1)Kj?kF;miXglyLxNe+Wuy?AmR45;R( zW~|4+22i)2?BIG%fK%!C<&)YMsQ^@mNLkU1c?Q&dD2t{6=WWs@W&@mnL(bNrXQ^s( zXW3<)*4}a%U$X@cQTgM{7eV*4%|`}RvPj{DWs_ia3#dy`g6f=d!+PHS5~O4&ot-cm zA8P~i^pJf`Mo(X3=gVGz6JQ@d51-!wJ&@~MliqmiG4-l%838Gz`JhM2#y50aNU}=U zk=;6{cDQ)0)5k=BoBv~bWWt<*XabP+OD(Y&C;k;))z#x*oG^PX; zRX0n36L8oXIvc5Yfflaocoa>BiSW;{*3l;$dc!LWCS>5?H9BwCO$P}B)eqznf8!xtp*;r z1jl8)efS?;Z?*x+u*Xd%l4nRY8p-$CDYK^JXW@^(2Je)o_vQ=B=h63rD7z<6I8223|44;bSF+Pa2R6 znvVc|PLkc&mY12>Y_87PPTo2Tvhj&>??y;Q%@?`H@R98D9jWy370q*EyHMqejSQM= z=x2tDWS8r%MLw>rKXJPl z=S&n5-~{xwwXp(B{f51lIend>J!T8@TqB%-6rSJ4^!TT@U_eiW?X>^fZERRwykv~> zhhAoVa=1+XJv)|eKr*Q39KE-3@*mjrO7*M=V%=FbqMrdlZ2W{hXH@!Szn}5$e>4C8 S0cPImJSRQZ2=;uzQtbc5@O`cT diff --git a/lib/lists.ppu b/lib/lists.ppu index c721e0b830c354d1611584c38261d57712901504..26f83f092585b912adf156f9430ec582d6dbbd02 100644 GIT binary patch delta 19 bcmX?Mal&H4e2%w=Z?zmgZk4lf`9f&`YUv7! delta 19 bcmX?Mal&H4e2yqLrAeO4Iz%=uUnmU#Q&|Wr diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu index f5860866229dfeea56575f4cd1afb5a60dcc3146..21a401e476d267081078bf75a0b31a7695b69df5 100644 GIT binary patch delta 19 bcmcbva9v?S6Nes;&Y#1_t#USYo#h7rRL=;q delta 19 bcmcbva9v?S6Nj$kzeS$QIz%>ho#h7rRlx|6 diff --git a/lib/memview.ppu b/lib/memview.ppu index 3fbc8f6cec13538af76cbb726e15bf7d8d07f1ff..eac2397e00ccf04ea9a817f036e7632051f76b6d 100644 GIT binary patch delta 19 bcmZ3hxmI(+CXTmX8sDM delta 19 bcmZ3hxmI(+CXOgKrAeO4Iz%?^`Ya3pPi_cD diff --git a/lib/mouse.ppu b/lib/mouse.ppu index b58506407548a97fef8c0a96569cdfb1d778edb1..8ed11a8d7d6586e731cc047f9ac3eb9c3a353d4a 100644 GIT binary patch delta 19 bcmeCv=+l@mo#XA{TP=r=Tjgw=pDzpmU#$tO delta 19 acmeCv=+l@mog>OkX_Du%4v~%X^MwIO9S2PS diff --git a/lib/net.ppu b/lib/net.ppu index 30edb273c7e9cfbd2a003651ae2bec00fb033dc0..550c5e0158a0a5b1e1a803fc216e39320dea50ab 100644 GIT binary patch delta 19 bcmZ23vs`AvbdHxzl_D%bQHM6p@8AUhP*Vs6 delta 19 bcmZ23vs`AvbdJZ{csr(VQB>MEzk?S5RPzW| diff --git a/lib/netlog.ppu b/lib/netlog.ppu index 139c892adcbc1ff6ec4ea52da56a52128ef4a7cd..ba2e55e899cd4f57d18fb308837334f332fbaa91 100644 GIT binary patch delta 19 bcmX@kf1H2929CFfZ?zmgZk4lf2R}OiWjqP8 delta 19 bcmX@kf1H292978NARyGx*p#K2k%5`vK!6g1nj!ZmY}FZ3JeSkNfQ-~nf69b3~OP0 zx$(9!%j5-&(vyW*YuQ+tfwFRw`&h-~62WYFAfJKp4-1Hl2C>1cA7Yyiu||o>sDOmE z6~+ydmE_eqw}G9+!mwv@ki3%VJ}B=9 zkX8dalu;}JNOHRQ2RXaO`#L%^Fjla#LOpN{s`kv}T6r^RP!OC0i$J6=f!ItO3=9IC zlOIaTOnxOV$bB0qb{8bhSTmVTAx%CJ$mCP;a}5cJ3~&vO&&$|)Qc_uvTKsq$Z^!g4ib@-o)r$fEA$Shs diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index e0026946261656aa2ee54a9001d516f5d6c4b649..343264643d7bb2c98749ec1135ff95eb06837a05 100644 GIT binary patch delta 19 acmeBF>{Oi4#G%Kd^XKq!tDKEp|M>w*T?k45 delta 19 acmeBF>{Oi4#GxzsZ;|J+4v~#r|M>w+PY5Xh diff --git a/lib/serial.ppu b/lib/serial.ppu index 7ed788009d74a5f931f9e36f910493efa3fe901c..74daf61a63ac89f9668e016ce6957e5904c4f93d 100644 GIT binary patch delta 19 bcmaDO{ziO45r-a+&Y#1_t#US26>$RqRL2NQ delta 19 bcmaDO{ziO45r?kizeS$QIz%>B6>$RqRk;W% diff --git a/lib/shell.ppu b/lib/shell.ppu index a7ef9fbb7468cf4dbefcdb9830dd05da03eeb83c..a130afdd9be8f146b4f6f97d94098ce74e85662a 100644 GIT binary patch delta 19 bcmdm@wnc5iJ`RiPN2a!{-^jA@Se_67U6ct@ delta 19 bcmdm@wnc5iK91*p^*xHO=Cy4+mL~)NU4IF2 diff --git a/lib/storagemanagement.ppu b/lib/storagemanagement.ppu index 3248f71984b4feb146871af4a46a6883ce2b79b0..1d8e6d991e7975e09d17443c9789afc223319843 100644 GIT binary patch delta 19 bcmcZ_bv0^22glpPw^|M#x60W#;iwJ(a1#pe delta 19 bcmcZ_bv0^22S=2f(j?Di9U>bi9Mu5;Sc3?V diff --git a/lib/strings.ppu b/lib/strings.ppu index 2cf61e3b6a225dada22e578468fa283120fc4c30..b2479cfa74aeae52e5d89d48b349787f506a9c5d 100644 GIT binary patch delta 19 bcmbQNIazZ;35On!&Y#1_t#UTjh>HLKN*o7o delta 19 bcmbQNIazZ;35TxazeS$QIz%?sh>HLKOAZH4 diff --git a/lib/terminal.ppu b/lib/terminal.ppu index 3d9416b07a45f2c546d1979cef484b1c08cf2832..e45c0801204e004ca61a8b4eed427cce1ef810e4 100644 GIT binary patch delta 32 qcmV+*0N?-LUEf`hx(F@|Ed0aAI&6``Ob9sF#Fd1vu>`Xg0m&@|Ne>hN delta 32 ocmcZ~dp~xmdrWr2OfHVMhi|nUK5mt>c_Ei73jlQN3FiO+ delta 21 dcmX>mdrWr2OfHTnH>F9Q%Q{3hFXU2X0RUS42Z#Uw diff --git a/lib/util.ppu b/lib/util.ppu index ac4369896b8f0724e8137b52ad969eec8de9fdb8..043bc1fffe4a14696e8f0d40cef9dfbf89746d84 100644 GIT binary patch literal 13252 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 di~>`qE9x#IcCHcgl66TIIOt>qh`HKSpR}%<5 diff --git a/src/driver/net/include/nettypes.pas b/src/driver/net/include/nettypes.pas index f836822a..59447401 100644 --- a/src/driver/net/include/nettypes.pas +++ b/src/driver/net/include/nettypes.pas @@ -117,6 +117,7 @@ type const BROADCAST_MAC : Array[0..5] of uint8 = ($FF, $FF, $FF, $FF, $FF, $FF); NULL_MAC : Array[0..5] of uint8 = ($00, $00, $00, $00, $00, $00); + FORCE_MAC : Array[0..5] of uint8 = ($08, $00, $27, $E6, $3F, $81); implementation diff --git a/src/driver/net/l2/eth2.pas b/src/driver/net/l2/eth2.pas index fac24862..f92ab169 100644 --- a/src/driver/net/l2/eth2.pas +++ b/src/driver/net/l2/eth2.pas @@ -56,9 +56,10 @@ begin memcpy(uint32(@hdr), uint32(buffer), sizeof(TEthernetHeader)); memcpy(uint32(p_data), uint32(buffer)+sizeof(TEthernetHeader), p_len); FCS:= puint32((uint32(buffer) + size) - 4); - FCS^:= crc32(puint8(buffer), size - 5); + FCS^:= switchendian32(crc32(puint8(buffer), size - 4)); //writehexlnWND(FCS^, getTerminalHWND); net.send(buffer, size); + //printmemoryWND(uint32(buffer), size, 16, ' ', true, getTerminalHWND); kfree(buffer); end; end; diff --git a/src/driver/net/l3/arp.pas b/src/driver/net/l3/arp.pas index e082b638..568ebad2 100644 --- a/src/driver/net/l3/arp.pas +++ b/src/driver/net/l3/arp.pas @@ -95,6 +95,7 @@ begin hdr^.Operation_Hi:= op SHR 8; hdr^.Operation_Lo:= op AND $FF; copyMAC(@p_context^.MAC.Source[0], @hdr^.Source_Hardware[0]); + //copyMAC(@FORCE_MAC[0], @hdr^.Source_Hardware[0]); copyIPv4(@p_context^.IP.Source[0], @hdr^.Source_Protocol[0]); copyMAC(@p_context^.MAC.Destination[0], @hdr^.Destination_Hardware[0]); copyIPv4(@p_context^.IP.Destination[0], @hdr^.Destination_Protocol[0]); diff --git a/src/driver/net/l3/ipv4.pas b/src/driver/net/l3/ipv4.pas index 6a6af49f..4f8956c9 100644 --- a/src/driver/net/l3/ipv4.pas +++ b/src/driver/net/l3/ipv4.pas @@ -118,6 +118,7 @@ begin CopyIPv4(@Config.Gateway[0], @context^.IP.Destination[0]); CopyIPv4(@Config.Address[0], @context^.IP.Source[0]); CopyMAC(GetMAC, @context^.MAC.Source[0]); + //copyMAC(@FORCE_MAC[0], @context^.MAC.Source[0]); CopyMAC(@NULL_MAC[0], @context^.MAC.Destination[0]); arp.send($1, $0800, $1, context); freePacketContext(context); diff --git a/src/include/asuro.pas b/src/include/asuro.pas index a4e7d2ce..5b8d4c71 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -9,14 +9,14 @@ const VERSION_SUB = '1'; REVISION = '677'; RELEASE = 'ia'; - LINE_COUNT = 28005; + LINE_COUNT = 28002; FILE_COUNT = 90; DRIVER_COUNT = 32; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '10/05/18'; - COMPILE_TIME = '15:32:53'; + COMPILE_TIME = '16:35:27'; implementation diff --git a/src/include/util.pas b/src/include/util.pas index 5c82d069..702ef0cd 100644 --- a/src/include/util.pas +++ b/src/include/util.pas @@ -24,6 +24,7 @@ procedure GPF(); function hi(b : uint8) : uint8; function lo(b : uint8) : uint8; function switchendian(b : uint8) : uint8; +function switchendian32(b : uint32) : uint32; function getWord(i : uint32; hi : boolean) : uint16; function getByte(i : uint32; index : uint8) : uint8; @@ -69,6 +70,14 @@ implementation uses console, RTC, cpu; +function switchendian32(b : uint32) : uint32; +begin + switchendian32:= ((b AND $FF000000) SHR 24) OR + ((b AND $00FF0000) SHR 8) OR + ((b AND $0000FF00) SHL 8) OR + ((b AND $000000FF) SHL 24); +end; + function getESP : uint32; begin asm