From 883c9833963c717ad956633664b6163e4c6dbcb6 Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 5 Apr 2018 11:20:59 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@313 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- bin/kernel.bin | Bin 49380 -> 45284 bytes iso/boot/asuro.bin | Bin 49380 -> 45284 bytes lib/PCI.ppu | Bin 6700 -> 6784 bytes lib/kernel.ppu | Bin 3540 -> 3540 bytes lib/libpconsole.a | Bin 81668 -> 81668 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 155060 -> 155060 bytes src/driver/PCI.pas | 41 ++++++++++++++++++----------------------- src/kernel.pas | 9 +++++---- 9 files changed, 23 insertions(+), 27 deletions(-) diff --git a/bin/kernel.bin b/bin/kernel.bin index 0544c08fcb82fb3348cdf4bef3b1b884851afa59..b14424cae564f4b718832b427249fde718e864d5 100755 GIT binary patch delta 15231 zcmb7r3tUvyzW<(awmcf0K|zp*j)+Q%_*NuTL`LyVCgwYQk&+oIsFgJ+QZtMcwY03G zC21YcIaVeL8?ze4HrlDKr|cdpZ=qSObMSUNCo?OQ|M$1n-V>g@_y4(mKC^%CwZ7}O zo_lS)xT)R6^VX^!mIF^E_DslE6a_yOL~$yLg=i6e`Obin|Hk6|4og0BID2&?8UGxX zQACa^P0m2>rUtNqyZFjzHp7`XDs8%=6lnPhe?1qDwP)WZ&uPA^bc zd}sZULTLS{?1p3G#e=Q_&86_`)7cx&q>*r{&qUBcg|9>z%bx&$Bwuj`3hG0Z13mbJ zY(+WMP+8ntsX79aGRb!}%WvP_@+IpS5pAa`PL+iDY@`?z5l@Pd$4WXh3dNj=erd_m z6y;3{ob0=(zz^O~*58Q>H8DhlsJ;3C=S2z4aJ*;_g#nO|5U^&2a@yu!brNtm>M}=U`lE;~ z@MVo?VDEPBYb|YJ|LmOEWhvooe>-sgrM0zn&lVK42c`*;ecNv!lg`#hmPV7>QRi+c zwQsh7Uh}yx`#Wp_tf<}@rp-}n-@NHmDJu8cH~XVZHA1Z9i@N=J*9!dZ7TyIldEHm4 zQ9x1DFrxt7Z`)kfWGNYKhU$)5+va1uJt=R8FTnI4gCXK;bksGLU9&zC!uwBV=c6Wf zHmi~)6sJ3bQyjG_1s!XOanwfrg}4jOu+!i_5`1Xb=?<-M+j9n@9BAVPW1MY;NaL)U z^cZI(8{^EF0N+i-sK;E`t?;iVis9Bh=C&;IGsoL3+05xTT3Zk9E6|oId@o|q@KK~e zC^S!#M&bRS5s9!)Vk=`}BMYQs>-AuUW=>?!$GDP|_QuFf;dPkT{sk?k8hlsVPOYs? z?2GPgM=lf=S3C`6W8^|XQ)|bBo2S+}c!;S*X+x7qHm6oL63gp)V#sdJ5p8YibJNs1 zmt#&XCDZ_@@Vbm!POWoItXpzhfKZH0ZVM0!0dV}y0OQXa0B@53Nj3p46#x?n-~?mt z+tSIw?2L10t(^Qyn1S#%UU$bW5yqcq-G)TlsX96Np%^9>=A2Y~o9 z!}jc0%_hgir!0k|FIV+PZG+yI8|F_Srk)n<=1|{zS-!vc=Y{$23cCXijK%dDl}{xX zPpPKB%suoh50t3eMbk)K56)3L&c*{l)hpoq<5d0~(RpFb1FH~G9W*}aE~kL3KU`H?0FSd}n)1G-`h%IVjb{>X|l+ zU>Y;UjwUlDG`_4bL6J*@sFVu|(^ZipttcFYe;S4TrU_jAIXG!oRy*SYd{|f1*aDf~ z=2F@&&n({=nYIHfzQ~%frK}V=#+K3vg=5^4Y!0gvYfwmCcN$jNVptuRtER&q997uf zj8SDbMpY+Xmv+lhg>u0LIWZ+0%GRP5K}G~>j#D* zK_uCPI8;E4Cx~N%>jyamdm8OEFggs3?Rnj>TVhPPz`lrywo`R-{eZ&KHJ%g(LMQ}6 zY?3z(MGB$QO{he;60(VKra%}+2s4925%wTJwAKLVGysP3x}moOh;qeHr0OKXl^5ht zgvK0-7ufBI`#i-|Z9y!mT||eK18~@L2#;#wjCm~BOdBvO_4JtNyE<0b{WC*DH(j^^ zl^0wa)%D-1elb*=erj!1l{If`UaHx8sVke&bACBDC{DU?Vv+flWZn3sTk$1k4B5KGDISG$EqV?ug`=p&apeOZOKGt zMjDB1$JY7-awq=j#XD5@5>(anPpfWJg0m2W=>feujboj=ULQ##crH!z4hGO@K=UKrFmG zE8PI7j)Xmk4~;eObusXT@%5><#Fz1vIA>FB5+4*eXWOAL@IkR6xx1$r>&mI)HbvV; zwHHLv_VFZbwKl#2g0`2`PZGC}IQOp(p*$z(u!^{&)zMqdy+ku}kro6g=+gi^sITx3==XUBhD=hB|-e zU*N(=pzu3BP7=(huoT_*Tpa zPJcmQbGmkg_;-m<)vgg=Pkf@*Lj0@5chQt};H!xb*FuTk4qm(vmtC^^;*)&ENjBfc zq)`8;i->yDg6#Y)fQRpDsmHE3w!A_7S^fZ`H2XT|k^s*G>kr}6NaLguvq>?*=2!S6 zEYVsd=>{4)OpkKvtOQcVnaWUJ6jZi1m3BT)Dp_($LaYe*2*cRlp7(>^zs^>EwS;Ru z*0Fn1#(I7QdqRK(#0TL_n2W=;UR2v0ngf6w;M1v?5S~K{fp|121mbMG_(;Tk4IL1B zs1F2yC{r2A3xi7BdN@RQrk&?WElcemCn0}`c?rmUpl<_tN&itE9?b9gAY?d8i1$!f z2%k*~0dX2B1jLzm36l`h4ILmpiL6P8y-Z~&e<-MQno2ugW+++r)Yu84QD1Zv5Jynr zgIPtI+9Rmc6RH&V(UK``wd6O!j-h7}cz!E%_LOdV$Nup6mKmbo=O z2Q0J<9T-QeFk-d&RKO)17mo~#g>E_NN=bKC=;ERCl5WR3c6gxsw#`@re2wVD72TOS zD5*1bFWx&seNn_UM^;}fVHty_#E|5(C23e3vB>=sLAvi6|F9d|J*ZbCC0GOvBd&S2 zKZ=*IPX|3=eL0n_7#yFxkyd%kBMrfdKd;3fxt&zlRvu|_Y&>hcS1%fXJtdx<8r(I5 ztmdZj_5j7$R4%)WO~u8Z>nS!B`NAP)w{gF;@hkR4*J#>BjBN!9OKjV11&S3z3N3$N zXND}XxLMlJgr0X}i}G(tvSD%dJAFTa4F$_fp%w=+-u@qK!_b#Q|KlHM_gQ|D^%{0h z)Ta+3sSJynf1b_X4$c2YJNF=aZdkIXi7d~+BCo&7F4-{MwM(Qeh4xL#0=hWusAhWz4&C7(^#0N_&~pc5EtD+kua1MYGJ| zu8t{jXg~;DFl_7(u~oxU2a0-1{^|Sv*jF~aj3kTTePvXW?=ryns?LHv_KnT=#JO+T z`@;uX17EQl!@GELVgRdA-V%-%t|sm~gk+%YL2eDc&oDG3~Zx%28pD0 zY5^K03VI4>w`+Y_?TGZbWE(}QwY~gNBoz407W8UWyqn3nRm2)9ei?4yVO5l}YoR5s zY6>V1tc&K$aQJEMK%&s;rAWi1v_763Lh%jaM5onXZgo)Iy|B051SS%SBl$@{myZC= zOHrrMup_yot0LWA(j6sT5$X1m?jq^-k+OT-r#3p2Ju1IU}P4*#hIsp5{RKfufI zN5G@sGD~_~2LfQ60in4)y^mGlY({!tYuY31(e&s+X^+rl$nh0{-2mvQ{j_pu``rq6 z1-#h{Eu}xltT|r#)ATimb=3+TE)Cl88a;i#C6QeCGHg3yT2@2}`Q5fM+mZ~o zHvWv+h$?Dz&E7FDTRc?OeV^yz@|7yGG#qpkXlL5-{VtkopA~Gn(2DO4pS0t@gW_OE zVXFe`sQdWX-$R9E6GU@83tlMQ=s?9CaPcL-w6;otdqtl}mm8uwN3BQDvTM^H4Kezk zFDAFD8={qfMF7jL#XM@~D-^m?A~}YSYEzc@W?>c>EKlY1Lc}A5<2vOQ<>9ET+-4L= zm9rUHL%PZoMfcFP-_y6`;9!GeEY$y%m7Wsg!7R)C zxwRD+#Lq!rW5N4KdO{@BYkOz|$(jf&S`+DEwWS{R z#<(yWfC1%vGO` zMeS|e+IZb(eU}ef_(8#c3f{_J5&UQ1+wtcU*a>&Pqy=V7Hf#kx_c`Hsw{ZMII8IJr zoyQN0v5{i~3U3Aj$0pxdl>S9L%O5{HrWQMvFz%AZi^5nH&t4lp+`2rDeKUTTbx<5j zm@q8n=UBt_JYrDJW#M`zjulQAoOFPU)PiTF@rpq6M+jc`Re|P(I2M>N%zAe$`*A|g zoWW*cU8R2u3bS(BKfUf7;4wf1FVjsQ6xvs6xx7c9vLw(_k7KIx{mVC~BNpfM?0p5I zZD7ND#*1k05&%FW0-_PKq;R|dBhs;@ z0;_nTrD9hKyPnf0CYd6rWe(|d0K3%9*2ybs? z8pY)8_2wO@5UyT#DL-g>*9-46h3zYZpSLnYcpvcQX%+5LuiI0_A2)rU5WZ&%Ln?%q zw=zliYTmq~749mpdn=!Bx-Jo}=L$nBgp;>2Q@9@W=IyL-Z}paMgve7(?_t8bsW7ZU z_<1W`!h5GTZ?~sH_bhLm!MiJlDyS6Cy#3zo^F@6-yydg0zL91?CI!%>?IUZrB1T0z z1e#AYKT@MTB>Y&|QI_Vd97sip0=;?rDnx-^_ZI%mk4A(48+S-P_q9Stg>;1z%#Eh` zLo!p9pP+89n`WeipA!6aQTtnhm$UN?@E)(bRm0#__=*2)ZEX~v#vOHe`0iqJ)aIS^ z<%WWs^5xn=-t*-;eGQG{=uJk^ifOeRaG4fU_XqqjybWnyQpJ<1&K=-ugQ_s;b&}@? zRafysfWT88J~gQOO6uO@bD?t7skHoxHN%OWrp=mB&?-!oQ!(-1-ikVX$9z5q7psY1tR{Z3n#iLRuBSF#O2UAe=k(luiJq00 z@$|dxzVa5qg!;;_5F^A!N`g{QO&|+=<=0>+coT||yNGpc?uS!j!Q`rfagMqMG{R9^ z8iQ8we7pc^J19?AzoQIzM1_13sdtmQiPUCDR|-iDhMW)~N<0+mx=Q`vn1nlB3VO3wjMu=Q<48I%5LRh z3T&xYa76n4Wk0$I7STg~(L=ads<}RWxWziB6B~ACKj+bp(097;)3IWC{vv`E-MPy8 zS_Eslvzzsah^J>%Tfg?OJu?#BoWN$G9-ppVCVn{ajm#m+oao09`p!|yx+`O^Ncg5aL1yJtq3n1#HwgQ!BSQ<h5gz>dbyFD$CLfJEwx8eN}rPii5IdD@7aI|BYRnIXEeX z_)6Z|T1_SMJ>WDK>FSBgA?|fHEiW-cmOj`~ck;edA*J;KXtAwEY3?mm`legdS7T`o z;fZ#(KQBE(7SI#p18^$PQubrsU7pSOFx@;AO8KV}Ye^h!`cMcG8p7w3x{p-*k&48? z$jikc+)ZldCQN*^@$(S9OrXLM*pC~+vJ;^VlqveB**2jeYe8159e1YX+@Ck#c5sc0m{$zVW0hzKZaa%{SA8NC*E8euxrG>2?I zybDe%A_Vtc#FV_ui!X))+D6hme~~Snh4mbVXx1GFEY9niIpF3 za&y@Gb6xEa%)WGWu~V7y{rvrvEMi_<2P)NgKZj=Iya_#y((bo~Dj0mh+*u`4bnRWTX>Dy*vb7J|b_Q*=Thwr} zg~7=kt3m5}4|tMNb?jqrkLJDB5DW zN{tbiwzjniOrHg9MM0a1=?iwxf?gr#2*%nb=3lTZbrRmuE|a|EW9$<%lVa*~Cqkuc zfhrd&%}LxhU$(ZEofz1_rp=8Wfx~s%Ubf$F^s-I%GRbBy+sYCAEQ0xBo9yKTH5zua zmyaSw_OfdV+quxy4#Dipgf5~?*~|9(sh2yF#^`18nH$kJZ3Bi?TOdet)u9(5^UkIo}pT)tVWef+QIYo5t*mT%p4uGHOod>oHYtQ8VJi(497U?K_^p@Inw~tk*~)g^A>3+`2X%UT?+vv>s(I*eVssTk}v zUvB(zADU5!KO?2!O@D_FsJ|Ca4Hw`F4@0{6MLGv-$+$Nbx4?wXnqu1Oq%Bt%T2D6*F%1;-fCzG#LD8m- zf?zX)40YMHQGH8r0Y|l4yk|51XbSSr7R}pId39H%1@Zv@u|Hy>ZAAdz_z63>Vpzyt z;xj*C->n$qDVl{9GC+!DC*gLQxaKpMj|61{tNRw@axnNT{y%lTr#um`7LpOEDE> zwXP13(m;^)x;jWogF%+*>JTXn1zDr3!=yAEq*zx+NGT2EL0ugwrF4)IUA;p}86Yck zb(EAwgFK*n)G<=b1S!(hu~NzcnWwAcq?8S^Kv&&T8V}MzS0_j*2LyMm6Qwi>WRb2; zmeLfEwYoZ0O4C4=>gseU<$@IGs^?BA&H%YrSMQS2OpxWenkS`MAceYmx0Ggs+^4H^ zq%;>~rLNAC(tMCRbajE07J~HA)qA9r50bB|i=?y|1hAKQq_`AhzOF8lQUS|)YT`YR0T3tSD%v7(;!*8 z%A~XnWSp*Um(nvJ*}D3yly*qzIS>!3e_o2elg6D=+9jnIK%BbzqLg+^TeXy4lF}Y2 z?FH$qt1nCG6>0mul=gu{>gpe)^hc0#UHubDn1B00AJf%WrSUb8PP+QKlnzMS8&Wzb zr5Y(6lG0%*)k>*ON}81FrF29}Z%XN?l-?4OM}1q0??_`nO2?#hTuKd6Iw7TZrKC%# zQA&%8jv6eS6v_&SBW6Wx|#%X zyRP;Ixkp!%LHg-xD#)F>IuPV;T^$VK*6}C#iGdlqIvixCuBL&^(baU2JYCHInW(Fy zL8j|!CP=QXW`R7ctJxrr=;|a7D2C7!kh^qs8VH6-F35OYodGgIS7(Cc=;|zxNxC{4 zWU{W#1(~9&^Fh*ebsp4cgLe*pUi8#J+qC`xw7;1&@$sJpNUS#|OAv;`?65 zW6v9Syp0<|{@g)4&S-f2M;#s&f5PKs+TESByT5rAk6G{GvHC!3Yj1vT57>KO!(&YY z9v{4f$BrNH_;?@o!wppX-#%dO)dTw4*NUyWqh?28bOwWLo`klM-?JYeY%$Jy?1_Zv zbXd)k5WU112iJwhNyyHh#k=|~PC_VE9L=aQ<7l>49?hUJk7jGx$TdG6EKPS>Pn5Ha zs$_PEZA{#UBW)}G**nh6U3BlV>=kR4Eh&Cr&4V_;r4RR7QO%5PMV8pJew z$VM`qe$H*JIk!E_V%@uzxt@*dWV#V0w-ak?rat?zHQdziTgUo7|MvI|>zx6-a47eI z(rNh~P;y@l3ZmqJ(mV6AHZu8;OflrQVLeOz-J-r}U@63`ktklBg-kgonZ634=KA05 zO}qjTl5z!MRHJu;bPs*p86bCU1M}=$_Zv4dQ>hx<$u0N6n&@3$Tf)uaHayJQznC2q zPd?0MzUWd9Az2Y@&WmxB@n>F~l0d~ETA?tieLlY5Q?Vr5pL!~aMea@+9o^p<=!4$~ z{3hUcH-7ixw;sR8@p~4(z4*O>-`n{88NajmeU0D0`qweCHQkt zs;J$gGOp`hWQ9YN{82)ID0opGS_DRdwxo#m53soVd7cxpg1D7|f7 z2c^H}z6uI5MpR6dQbh!Y94Uw#$eDmprBoq-po*wcs$k%wY}QLpcXo{#|Z-97!CMM#!ZKw*R%HZrOk>){*d}b;XNUE?To@ zkyt}0-%S$Uw@??J5h5qxUBp(OYHeWODB;U1&Fp#|Vus*Dmn<`|zM( zf=GITNR(z2>8TKs2`W)~A2%VBO#Mz2-;sshgzhrrB!jl;e~)ndUj~4%XBvUopi}|% zKha4Bonp{w2F*3-41>-z=q!WIHt1XhS*3#J8;XSn%{S;`gDw@6y;}EfIL#MGn5t}} y_S|jxkapu&nizQFsj;^)OJFwszwF#Vca5BOdtw*aJyh|Kr?b$oy)~+`~J#S@%qM z$KyNLxX0_6aM0sxZ`gy(de4ORmW<1>-S0ctsfukqs2<1lROSVx$Jw1Y|W@{&A>dt3R zed29vY739jy7Wwe^u5`5+OzKPQ@&u-rSeMWpqkDO72$Zm$*+bfj{QoqA1Uk=Vt9h zp6+~X1{?|>jE;^0P0tiK-0+oW-NC4{-rHvW{8B|RbK%9IuAu!aAG04^(*9b9W&ap+ zmOr8WESJcBp^vnm$zko6<%RuB(xM^uZ_a`Np6%IJXX|5`3~ISo$GfQU*tlpVZS452 zqI5d5cox-}pXKbs2he5VZk{Cp_gZ)+P(?emqbJGR7G2BoAD*Wujl0Hm*nLBGk=8Bs z&`i(H+Oh%A9F0<29Z=HZ(oQrSi%`;|SsMU$P`d00xlMak2RE~jp6y2C+@_yLq-rPG z^$p1vgZ27kJnFIsE{UbM&!3)TU=PYnhRT zFZ)0Ybq^AV{?mBOWbOHj!hkh~=e0=H0V z@HqztwIkVVMv>riNkEd4&3gor3?w<(tfhXtS^mgGTR&8$jnC4;Sx)VhUn`#NJ@xLV z9Sw*2;2qEQ-R+0c^|0<}KjdsU)B{?>5g68&_6H3_WP7${>J2Z~Lu@2dzmR3>-Hl0G z9s2kz9TFRNxjKYBI{;|jVSH1=%wpQ?AShalS5qi0CsLRi|HUg+1Hc>l^ln>fP)6$&i^Og$4EU-XQ#Do&{G${Kq%5hRdKX zTx#lm(=(x~*?(MLco@OR>Yt6r+_pc~Wx0Zy@pMdELwBxkJm9Fi!LG{iY;&$}H&aNw zM94Njz7fvXIz8Jv8+()PNj1+a#u&^9YA1tQkJ)n?T69FZEcfWBpmCSmuDWF#6jR#G zv&^;7)~3q-K<)PZm{rwwIsM^IIM5rV}mTLGAutkK-PT9oF}nyP;IKYW}w( z5p|@Yw!N(H5!T1b@o7Bfg#FKNy3e6pi1t+KF7G}o7_C&yr(p>U#YhTI(7Fn=j;43l z9O*t=oXkTcW@br~=9l*)03TRP+`oRv}9@ z>5r|7Sp_b^GX>SyezEmW6wh~~fIfD^21M~U>%JY?*?7p+c+ypOk)%b|*P<8nsm$*_ zV<>GiGthdgZ|@X5^a|nx3$-5@=h-&)ADBAiP1}ofNTgk9do$>)En%Q?CgD6X2^i;* z%_L(UA#Tkh)^z&*&6p%Hvu;w%eMk|+1VhPqWESJcB zp^vnm$zko6<%RuBQu}Xaf5AZeUqE4D|0rocaohf9g#8m}KfE@y1JZu-$Lt4}Wq-P5 z|0r|KjD+^HTq660KGJ?BhqYgp7xpum(EiOP4A8UFwh+d}n`j2u&C__L6`AkU$2vdr zwrM4*KK3x!w30OaJSN2YqT8jtoU6T|-=3zIrd=l(>OR);(ll41cqHRl{q+h2D&eBd z6r8<<&!)CI)m*{QlR;fP+j5-k2U4`1?I*vZ7pfvEIChWOub)Te9W-Y8%j;6^O`G1e zMm4WwITD63r>+qx%ZQ^vJ?%PCP2HYBI;~csnXK~PSx$KPQ7i{L$p$dOSw~m7FFUMlh=X1kJlTcSQpB0v$ zg9?k7y3~hBfMw(-;rPe$TKL;q&$~tIU_E~Z%3%BxxBGwQeUSO~ci8{ADH*c0VgDz8 ztp9_{>i-#5|3AZAGd*GdXSqcEU+5$IKa<1ue_3AieyByq4I0^2h84mu3HG%YM~db4^0~SuTdmZrfib>_3n8!)uA{Cx6U-a9Q?yEc?CYnyVAq&vJ?E7y3y1nH<)BSzg%B z>p42;kCr}lRsuZxGejh(e^j&RB%iHNmwByJFu(G zat#sdSs!NA?kw#@zih3&zG#%oft{l_%IX_GaWr-*x;sl8;Z5(UJ7@au>c(1%XziYD z`J-HoyPXjL5V1lT9m}JjB;7Py8F}{hKnEM-;s^7I1haQTrz&tkG0}Q zvU&C83F8OLC5j(H9~nQG95#N)@*;jP2?f5{`k?^J`FQ&uMPXroIwZh;;@~@ccWh&6m;4+uR7#?KG9RWjr z9D{0N;Iy0R+2#$*AJ6!U z1se{tC>4)X9Lz_HNIQ?!u*CIvk#cGHGI9J6Wz;s`#Ni4h(g(Ewot>j;Tbhj@~@>-esI5TIkma8f3jLCR>jO~Hh zH3^S1FU4c_M>sM$+Ka~qjC=DppCNS;i{)r7&dE(L`cw27N|^_hTKp!CaKZHp9M_ro z;4*7W@HbzGRQVNnOyMTzRq|g%V-7Gi9;rCJ|HzT}1ok=6!^}O+l;As#l;nd074up0 z)eAm0=Z}$!wfDb}EZX}wOo{fc>t}G8Yhw&QVM?@jSsX)ud(URRXzwsmarIxx`W5C1 z?dCCciW(O&RgZ=@r_v1{b7!$rOv+FjAB@8>1>va$;aLS?UqSfFg7E0>nb8><3cP_{ z(S2<+pXuK+Jvmyy^bV#cM2ndI52nwGmN31U>GbG)rZ*xj&i4nN|LWIIL+wPm3*lm`_h~0<`mKU-?w7ifh#k|hU z6!T(c#QWd`=crSDWdz7R-8HCbYmDZeTlxa8p6eZun_}RdYPSzHtuY8XKmOM zPQPYvT^t{Dyl%sr;j2NtP%@0uN9i|A{}Kv+NtOEgEOs}=cC#oJ+H}}zXZKH=;ow1D zvX2-s-k)n7k4d%_oh14sd&)7K5k1#>E@)BG_L9~mXy<{}MVd+4F3_y`d%0rrU_l;$ zi}^fLTX;;X>(TBxu61aC(27qr`&|)#FHGF95}Z*?+KRatlcCm$c#`Hr|NBZy#v8Jq zVAN>)wOpr>i=CGLl$Pu2%taKy?8HEf{fJ8&%T#x!Aao}q8tMgJ+zvRQm3W)|y>QlO z6m~>eNT2KKdsAO{Ot0(F?>Wxp4f;nW`mYQ9*Ny(`g#!CDZ103LbVaFJ=ciD^(0a|4 zI2hDYprcB~J`;+$lujszkM@VonNl|f38CASOm)xK#|oH&w$uA(28!W z=Q_3hW+@~>*$c3Va*}wHtM3iqXJUh9WV;>4Ol`nHx#M z8uy-4o^@T;%c{#SMDWofUcibqf^{E+B@?ZGg}QS6%jB@@Us+zPf0?A+L(WgNoxs>~wIuD!#`Yu&)042tycn&m%Q|(h_9c=mX_kO2RXp;S{^Ge#n>Cwt z2t}pZ7G0{%8N$fJiNZ8z6Am(pIY~$(aY=&C(WP^A>70gL^jk-(INuSE>AOSeyaO@U zIeqtltlMNf8_PY`^LTs;qU*B!7{FO9fffbq=t z)mlflTRVXg8JIE{_;_^D1HMMQgtmL=Hu_xh>+_x6WBE?xF|3B8m$V?D{WDT_$s^H8 zB(;$=K!$e0{2w&S7P(r9P9f)y!D-t=eWEi+tp`;!G|$v{4(F_o*7l+!hNnf#$nYI7 z2)bS$2Ho@kkIrX~+MlzIIadO2`08{YZj3x@s}yGs!fcm$IU-6^+v;)Je$l1P2EMO- z^;|T3DoSIvzk`yy5vy$pV!dbI{}BDM+X?^A)IM+j&{_Yy(6#PUffc(pVjxU1 z&2ex`r_g8iOi_*Px9bFEd8?gl9hfe9&3V`vA$aoSOZyDBRrDWGt-d!|4?JuJKkn;m zI4#`wOR(Px6s+dG@EA_!oG6+eT}$u0hG{MO08@=fb*foNvfBtx242Tp#I@Z`^x*>#l0-{lUGLZ>GTODQDG%xX=LvJV7u;*3%n(qC$&g_JFNl zgsaXcN~4L-HUro?_GPfVpc(Zn9mkx3cady=zLm$c7uR1OK^gN1B#W-NqX$<;VA5Z) zTODBIVGy2cyAYv!D+)xrSZXia_1sp{4v==7v=>O*OWG;YracJS6QtFWHUnt%4$>YX zEt|AT($K8v!vJ%hapE;)l`Ut-N*9&^ok z_VQ=IeMXi`G=B+wtn)jt3_E|x^78x+eC&rq=C8Ot^+61*pKb!9iQ$fLWW@)2eE(WG zy+=E7y8S8T^vi%d^(!N=-Lq|HRof=;d$zsP;>6N%zLFqgTFNF0j^uyeQGaq=XlMPG zb3)G=>QAYap>81QW%C{86hyH2VL|`leyxU%g8fG(_Rg?UDQL|$ zu;^;+OV5^uEetIeMfUuEOhm=6N)4vNaBi}|X1 zfk1N1Fms9ol4~v{a-%@<%-e`e6-d5WOyoj=_|0r0;{-C(yn=`f88@020l_Z&hlc<; zPIb7Smy_Y&LF2)^9W3UL?e5iT<^Rd<&paQ(ZW`_9(u_!EmRR3)k7;doe!Dp{%X|^j zmpDrSzM-w|C@K@@6OFv*Dcj$N^0D`kXh3&MS=K1+4a0%6&3iJmonP$N_8~lZ9o?xS zPI;9=txJUYm-znWixZ7Ir$okJk@woGufF=lA->PthkK6u(Nnxw$T$lP$7S$=Tib2U zf!5Gqzze#8;mPWcZrJ0+emFDohTMR)<{Hk-DUB!7Lnm6oS)+^;th8EZTYCIP=%=omFdN@0=f` zTGOJrm|U%=MR-6y^=s@M_XD?Cg<^8j9A{o1CrbEdh&dj3M=GnHpW&D}?^)}h2_O#46 zJE&*g9Mm$`)X&H|JG67goX}JDdSbI=f7#ejpm3oThdY3$)}NdcddDo19b>?u9hhSu zxj&08`w?PV_DS43Rm^`u=F<-7dhL0YAg?+HfbkK;UJ1kz$#O?axw*r81y-g{i2AT;h(5#A z6Oe-g3u}Ev|8jj3L?{T}9L$UC$BEmo74xTv{t>(($C$j?vt6AseL`CSE(A8$zsR0& zAiJ@5V%^jr?-=0XKCc+G26@S#87U#ctbl-E)J!%f;uI>#cl0hL^lq@>tM4eGM=-42 zJn$6uxwVDIwYpyIo>R>WUB7`1^`31#?MJ+6r?I?iKQJn-r{N&Bj!OGMR~jw_>}x-i zl=gBk+UqvYgJ^x>alNirzens8Ag|#VPcyW~6m&W5S$^|Fd(nkwq^XS0y^)voI#MYu*^)1_ zC1;`(uIj%h#9b^zyf4I^E7Bh|_-~kRgne&e3!-&E z<>yfY1Rv14pz|*!a%g#)loM(3Qi6~Z*;pi`QBI^Oo6>$|OS{jOwn7RxETr8jkt55~ zn}wW6%XlG;av~e~t%YVGC(<;Z(kg6e*HD_@Tt2E<6o|C=L@^eKYz&KHED&kB15fk2 zb}@%2c8tYXAkxAZ*enV}HWn}~3PhS_u-NCPEKj^V-txq+Q68SaQ5rn)xI{i%?rwgJ za@bgu5!rZ+kVF}grYU%uzpy3MQxdzuQd#)8Xsmw(67io9jkQvwzgV6Td2AfTw1}q= z8QEAZ1XEpMs#?kr7@SoEj6_dy$#&V>5tK^RO>&*`_NeRoJ!}>sk$>tWaMq1b- zo6EOG${%m`*GHPx0yUqtxgQYRh?C8NFVZqia6cX?k2VX|h`-gm-{$_l;O<(U+AR1Y zEn+a0M%7qxKJ7F6Isn7;OQb5>LM8GA{g51JrOT`c*~$Yb^w0U zo;}Rxizc3trel0=?BVkj-S5_#dXdE4Cavi>5>b;TUP?`+8fFdBx?t+0Ta@~*5FKAc z!eYn{YCD6SO{Y*8UEsQnOnBDc2rmcwT8L;Tf_)-8s0-Y)yMXi!}=s4g0m z7muP@|BOc4hPA)FpBk6oThTaqRj`s5uZ01*E+#HIJH8dY=|*fKW>C;;2m1PW@IVIf zk^3D}<%+w*TnVs)bi6FPpfIO7a}@Wjcx!dCVx6b)69`}K;c&spmw@(>hCE-f&%0SZ+dPGDNu%65IbvcTJ-BGA{r;Ed(b@PyaS~qt zei4&6^uEj6@ak^#ba6f4H%K@PxZplX=`#O=iFR#T7O$stneXEwl6D#l8%gJ7hXH zZJ~*?TIb*}{kleT3ck?(W!jo_t>=q_$#_YIn-1a-=ZI!B^{v@IybjTFblaE;^hf;t zut*0krhF?ppIti_dmPP(-pTY;Om}vVi&hbvD05aYJznH&co)Ag(QE#Wjq`bT8XUBX z$*)9zX0yT*;=9rEeyCSl*rU}Q*Y4@ni@o~7O#L30Uha-yNxWNo-}7Y8S?zy03k|Yc zd&ki`<_)dG^W-aMwI4kTFTk);TAkLtP{V|YuPozR3m~ldT>EVLzEHtUxy}AlIHVhQ z*UnUQifg`?6VzraB4}xg8Ajd^8*Ry@+U2RZ+;t=>Hk{gduH7lpHK92}K!G@E4 z$)UFH>+s%tRwjSoU~JzSSKk_E-x_b<8aKWR+zwZFpE-c2m`{SJr#f(nz{$bu=$hWU z<~N;ccDW^WuwM01p;tJiPw>cE5A`1z#JYy;q^fV=jj8VxkSA$}47#%Zn8S_IH& zn7trqV$JymR1y6*7{vh>zmH;J4%|=e$C4ED=fI*77X0|neSMp$ERID$YbEU*rlL%F zkQ$_rjIU3_eblRdhqPv@jS4@9olh&>7k!Q9Pvb1soQvznPb=cv`*BBv1IL4A1b>63 zc^<#MfOr1EJkRzHm~Z>=0*N-)vsUz}Gqum~de>Y4>u^Y<2DJ~mQ*pe5X8mnY>$L)$ zJrb-a&>tUzjKz?6J^S`dMQ57c6HYbj zNcJ{-$c4sT@1`1!!ZC3%mR*jYX!s#G`rnV>tK(zDFT$J)w=lU$F}+OU%jf4Srpn~R zV05!$o`mS9oPzoZlSzVlm`R7AzGEf9`#O_2^n!#AD+y{8$!LW2PDZ^PN&TNe=U)-{ zB&h9fE_Z34HXOt|^1k+?UeC6#f|~np^U!S?AOOp&ZLb8iX|I)lAd=44=89xTB=fiB zGG#b_TZWVpeVp~K#`(WzTZj1r!01*|9!IKw6!gDh*V;Ue{vSPAtwf`C`CzA7vT#CM zUuu-~Zkda8^i^gqpit6wC|Flw`Mr$xb}{P)kp)ikaSnmQqM~e!)Z7!uFx@#lKoWK$|dgncm^D5-Th6pB1_)mzi*SFEV|YndBEHe` zidRw*=U*!=!Z@3-l!V=}0(S}&1@Hn4zeIxOPuq)PL68}Woqr7=6+J-JUqK(neDW4R z^cV>zk%|k^E@i-c3j3qS$+iz{Xd-F~@3X=!i;-TAvk$Q%6R`<_3ZbeOfos{nBDL&y zc;4%F^CoMer(xi338pxtw&k$dk#_8kD>AT(0EUO zPXGr#iS9$JMYnpMnb!BAt6>*zSdETSBYdBSxP2euElTdh@4uLf@!nzRbwB!x{5!Hy z7Jc;va9KC{ZnEw}B$-Q3i34)3$An|7`+O{y=stwdN8X2Ea@hM2vb?wt!6XzIdLIJ% zH5|(n`!nvwv}d{D(d2Sp>^4eTnz-sO`L*|{A8QR=N_YTZ~dO0_g!MJ3EA8v9sgw9K5pw zK29vX^Rvdor~G{^pT(bL@lWJd5cEj^{C%v}BJ2e3WPKfPVgp*1HEu`A%^=m1v=yXi zJySEGOyjO87~F}*^Am^$@#FbP3C_&48VQ;WI`D|L-hw8$ZyOrpEjEVxT?ThMz{TEw zo6PIk|DS*Vojn)PNx?Tk%?Yog4mVRzK#slexR8r6+)c7;%<|YNd0ufchRTrp)gb(} zj2IzyUlCTq&*rZYQpI{u>%etn_(S|&n4qNbSJVbML(1>pAK`i}f8S6KU2Ugsy1Lub zpAJs{H01GYf5Wr={Y&AF;FXEtS8-mp^$tHX&&zx=-74leDK_zLfnj&hKxVj|zs= zZ`J)VbOi@>*kj*+5cSLaWB4AeW%@g7j-dSpe2Yc)7n~>I z4itYw04tl1yxlHq53n<+?dAGJ?&opDv+d>fgUL}0K4ss5^SdOv&xDrToO5W)Ponu_ z8Qw6*&mYwY24eo;WX|<4aC`pP#SXvyZG^SCr_t+&eEo&-jQn;yL$`1%>T6i4 zZ&}{}`W}))U0`=u`+ahhGHri6iXxUj=2`xjXwJgY(dvKk`vaCsO$c z<$3~q-_#%Ge7tCm?+?dNSoj2Aj1=n$;C6pF%>MB6-=ja|o=W5l_6L@a*$*yhf9a>!*TFLlj8e}i$FUX>B!$&~cb}Yp+ip8U1z60ybXYdF{C*mep zS9As|TZPInX^8sydxly^{q^S0z4$WBl@Xi_pde1F{l9Dwt}oww7+Gk8B0F!p%qtNY zeS5pFurpW)-~R`%&n|SfoyS7RvkO_|#@_GN;g%jNcSO2o{697#f5Oo2%`*J9MtkN% z`FS{jj2=S)^T~Y)=GQE3;d@%$0qvf{IFoyOmiFZvf4<~Yo&=jW5g;0Irdpf=rbq{{WbPF99n^ITf zV&GPI;9NufHGsoVp8~ktP@k6AGXPT!^;wB+1GvIaw@WMvFwIbRNbEU)D-HE|iM;@D zm7%^Uv6ld@Hq_rptPS8ALv5GXPJro#+99!B08}3F# zp}r!qR{_!t^)-pT4)70#`a6m31z2OKZ%FJ-fPkUylh|7TAw&JW#Qp#fHq^Hz)&+34 zp}r%r{Qz}_`mV&@1E@08KT7O@dJWL;aJ)jsRpB z>YpWM0-!mLO6((m3PbId*fD@rhWfF@{sK^GsGmrz2OwyupGxdAfTf1|xx|hGEHl)< zO6&x{azp(>V!Z%&8S0l3I|)#2s9#C!6u@SU%b(F;10ILl(Lt>)=78|NZVqSoihB`)K zX8^1))H5ZP2{6e}$4cxhfXRk>w#3E(e9utNk=VBYpy#;~8xQbZLp@Jo-G1SW?HWeV(P_K~KG=Mxqy;5RV0puI%)e^f#V$&sdt;DXA*bIqXFR>c{yoP$C z#Ij{xj>K{$mM5`%fHMu%FR__2ZYAt~J!t02A;do9idE{lHM20P74j1>iPAbpgyb)N}xJMK{1a zLmdr(Zt4Y?ZK!7e6dP(L0LH^v0OVnzu1b$VeDAV56JSbzrf>XTsR!y!r^)B{muJ!kJGZ&?PYKs|ESG3~C-kw_w_q7|eJ9Jy z^)2|Ie1i3U|Ns0jk{a>AhzCYIFyes`4~%$V!~-K981cY}2Sz+F;(`BzJkZEp+{kCd z10x<7@xX`&Mm#X$fe{akcwoc>BOds_!UH4g|NkqRdBn&O4-D&poa(BjD^~H>{-6T*@b0-=F6*D84lG{R|i5$a$4EU!qP=$ch?5gi&1WqRW^05 zf7YUcsrdrtPc2BzFV0z%lUJ5TSn4k;FLCDQl;t>c3row=N($#lnk(NwZ&7YxS*eqC zQ`CR8e0*a`nUBAV8@z2Z0Ve=%0=x=vI-nO2?o-AAE&`kcI1SJRNP87PdX{o*+|D0d z-j;9IXUp4!vaC;W3tw8E195m99vzS`aoHC672yhG;uDXL7P5t>1L3+_WiXyrR*;*s zsASIEGV~QE3iFaf!GHI*;inG-MjG#F_R}CgRz`7&bg{qK?rZzNyY^qbZT!!JNsHj= z!{3JW_`Pa;kc=y%q_TW%I0W*5w5KeuX2pt%m6eMM0u`0$ag;?}_!p;30zM_ZtYmKf zB0oCo-2>92V=~Js7FP%4*kCL7j}1xVI2laCPf8D<@ta!wLgbXjm|cV9BU60l6&GJC zMv*VqKdW%I7^VF*|LlBHGD=D+mIm^xLQ?Iac-f%*fw+6LjR%&5YeIL^OLSGQrQLA( zF8u$yqE$xQ^~>_gU|d*|_>o_=x~ekZTYR_gwm_(6XgDejEEUmec1_q<5(=zhV z9e{wEC4p6|0;}NbvYgVJOHtq8a#l+y8R=zZ6|3$l4OfH%wps~k-m=mq%L0{k2#B(` z;alw1CnI5=-FL~v{$=AFUqzd|ZTt=qKHic+a)+S_W<@EkShB2YWnj43K$$Zq_iO!~ zS5qs!Qxo#dtf;I0d#zKra&<*@Ri$rENnQ=weMnR0*VJKjNm2HcWT`4ZQG)T%PqSJf zy$s{N)*i#LbOvG%=o||!B}Gb=V^#rr{62du4&qA&CxZqH5Yq9P_wyU?{G^rGG6$wb zrlRDc8{So0Qx)HBttHJ#&td zTT>IRTDjDhv#KssGkLOTs$w*M)na5|vWJYS3P>a0WkofN!oJyoKxLrve5D|#h>HVd zR({#FzM?rf`M%QfygYwtDWvq%X66(YO;+;f7S8j}EgdvEl|giS^eKwaN7Ndqgc_j` zLQ?hJ=fgIPU|+?`yM1>B?)HUid_vEvl}ySqWr5I&s+AShmND^-gmn4JyH?h$S*hgA zUZ7M>U80m=sewN+#>-1{l}mh>scy&LWxm4vYZb+D8UFB#LXINPe7?&NdqRjMA)oL? z<+Wf}M2xAZuJ%=|uBfW!tm3N_Ob9fV-G0vdg0GrBtn6n1-Qtn?m4Ve&h*E3_EQku> zPIT&${J?7eS{r7hlnGpRTud8rIAPY zsMn@Ay{H2|4j&%)$hffj^2t*aMXDMIiKrshmaD`V_W8t^SL}IhW!;L!809rVUu{LG zV#O-TvBn9bA{V71Rtnh{+qs@m!bM5|>1A7cJW##@AtRoJbu z0wIFJ7$6Jh%vSQM0~H~`UAiO`2#76RUXed%E_fJ25dRQtLZUMWOO{B57#Ay9t}5iK z46Irbs_Nen7Wj)wsH1<$vYLxm`NDyX7Ls%AIJ;HWAS3zfCZ<)We ztR!b{PBFrgT76@6zc_hXoWDN9&4DRVzW5S`dLy1dcZ55-(;@Th@$GY7;cRwh* zr{XFpfGEt8$c#&8V1FU$wlwtn0kn8&<9=vKQ?N$1%*w3`1_L3+9R)!r%i1{)mv8SB z&W@EY4uqH0R1U_WgC*Y{L_)7P8Y3J#H!G&K#GizIw1YT1`_PZwHw#yyIYV`|U$=f+ zGuhjAKmH!Z-_P;49eq2KT1|duH43Cw%Mz*8vPep`D3iLRX634y>cIc@`q`44r>^>M z(l-|Zvfo?^$W|)_WN(`S$Q^M2kgNRpfc!tUUg&$=kX{!o9c25_^4VBj zD#{sU$XXCe7V&%IETxLEdd!7bI`+=#1`HCGNcbOGRsPq-My-6 zNkz3>rHh>oTULIC&ySB0j1_DxLiRE)JJ=g>R^k~XUx-H8-T2`<>lkKO9&!oxJ=Ma!)WTr_AreyoxhF77#Si2jXOqPfTu;Wj^;2VD9I&e3f1X zlH6h25gl{J02;^0I>c!J0qG5UhfQebi!Eb%Nvtg9p;$V@Eo7E(rxyqbPKr~8(kb1p zjXo!ik6XyH$|t}DleIsZSyWzHFj?-E=K3wmt-L|L6Z@$_zU!yOd<4=E9}S?vFut;UK`^_xaM-;t^RXwnY>qgSmO+CwABb3t z+2_#{S6woheCSUx+U?|9i1^{~Ng3sXWC;F2af@}4&kkP1S$7<6jRmXUr1Q z82P7J@EQxwuwb?Y^DS6l!6HEMDa@bqwe2&z243$!LK<=&q@-sd)(3((qpBQ`PR$Yr z6V6uL*V3+-DjYC?FA?pkX|bAP^5SVOwlC`zs?iw5k&s3=kx#^Di!Tw4ekUItAKyNM zXlcUl11feTpd~r;mQ~2zgXn*Q@iDGjab8ZI{=SunmO4uG)6y``^p-->VB9q-s~U>q zQ~>!CFD?)Y^@o6?DtW8#Ii1)bI%F{^}Oyld=%9)~$xO9d$Ytf?B z;lm`rbZI`$#hj9;92mk_d+?4!8PF?c>-N5ev z>1i#etb9j}n=eF*<97*ic&y6I%l&pi?Hb2N00;I9y9A zLX|uh7U72?6Vep5mTe1tEr{JJBMr`8B}^@;LnOWYDheN(zG7-WJw7cXujH5Ml#*4D za}DH5m@1$xm$dk_EsON{v@Mr(TkcF8F^3^n!qgHuc%)waY3DplpCDS$p_b=Xg@yKF zFPj*@f>IQ&31$9Ze45DT-c{xg#;+9l--+c9#)Vgv8)Nx{@vBAodt>>7@#!+iqx;JG zmmxhr{i?E|3rLm}*m`Myx%q}iX6((g_670)Rz^~+aD z+^)yd;+N=>UQ@?S`Vby_E9x#OCPxVlp#ltTgK+F!;_|I`u3#HVXC8M#00Oe>*n4e4 z&fkP=IYP!4LhhglIa&zqhy@g%{J`S6rC+n6=F81~kIFL2xg~+>;G$L1-;0)sI}wY* zeBrc6MDM?opYg5Xi(64z`FlLHk{bzXL}=r*jyR(}-mR>#Um-54!iz_0mw=Yx9n2=< z1w|yz<7wI7tDX6Ywo7+B-oIU%WXa*S2%of)6*YW=Pd($(87`Y_dk1%6}7Bm5T4$ee~d05lTPJ zIx`s4f6u|Xqp{4Efp=c9I}mYs7a@P}5rSFf%Gc4JXF;&dY68GyF3#Az_$w=DX9 z#h#Y(3#@u>vS5(~XIrquf^#icX2E$DoNvL~EO>_nzi+`iEx6c%l@<&Fvi}eEWn!9O z?th5*cC&v$?wp*t`Te0$#=U-ee0a3-0(UR2!IB4}2FVb-c9_Kbh?@g<^LBukIz`0; zX{6ink8w;)oqX3~l|y!1`s~rQwTqV3)ZDd5F4qR*q5?b$OYNIFac6-snysD9jWhHx z0=W!`38E(AQ7!(q;;(f=TYssM)QAU0JTT&c5f6-b;QvP+n7nG)s&EJke`PW+awwB4 zdF^}h;#K0B$~Q8U@1Z%9bC-h4rfmvWXSD(m52F0=7Bu<9DJAFFdLY^Ovp*Ii{u@w* f3qQffdAJS80hX2@p9N#GES!8?@Yx@0b)o!EC``L} diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 0544c08fcb82fb3348cdf4bef3b1b884851afa59..b14424cae564f4b718832b427249fde718e864d5 100755 GIT binary patch delta 15231 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 diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 715e1862eec3c1a1942fdd41a7eb520ecd11efd6..0e2ac6b547d38617737857b1156d3819d1a41a5c 100644 GIT binary patch delta 419 zcmZ2u(qJkZ5D;o;Y|7Hi$iU2SAV7&BLW+UGZiAPl@yfT{Ium7enY`IH`p7UcUfZ0> zSi?NIm_=;zayIG7VyremwgD7NP0nBy*xbQ-k()7abCjSZBaoUR^oU7(5(@(yOarl* zI2afNI42tlN>5%P%F8+*D7J9&F3~XFV1Xs{sCzX24HxAt*HiEBMc-tfQG^V59{Q+Vj66YKp|(=$&nJ3T%u4}Io8Q{ zBow(6pj=JX$?TGfT-s2s3F~AdNo6iGAXflrmObm_cu8v}Pu9tEBxRWVStsw3RAmgE O{6JETF?uq)lqvwtQcmUo delta 396 zcmZoLU1K5}5D;o;Y|7Hi$iU2SAV7(MMT&vJZiAPl@yfT{niFMpnWi#t^pRm?Y}%a3 zSi?N|Jc}3*b4+Gt^`FcPWS?Ob*nEcdAva^l=5>OWj6mvz&?6>ZI~E2waGHEw)QHs^ zDB?SrPb`c#7)dUCa-oHdn>3;|>}uA!FmU99UdR{O9e0**r z>muMh0qBi7ohkPr14^=)(DNg;bhzk-(m>ACr4w|Z^A%iAsEp8M^Jp%mPUFO+lmHV$ z&T5t!eZ2(M&gIde5E7v{jKTFO^^@#9LN?RwEkRfw@u4Z7{(wRCRnXvKH}quQAYsgG z&!{uZqR2Q`0 z73qQ&BGB}1mKbGNnW?ri85bx2bGcbU7bPIT+tNvtA{Zqw{qYlXp~lO8J%7}Stv9rY z@0V5LU#529LrWf4&(xDEXrr%C^=u`*J6R2b1D6fU#QHnHdn>3^~>}Hl;7&!7lawV6Q1R^4%J?ufEB9OouwFiqH zgaeHjlrbnGs@1=`ffQN9MNC16L6kFm2r?v*GKiAyJ^#IT($nGl{_lKz|Nozp-f*Nh z9OI1@Qb)(*CauaiX~Zvr!}Y7e1Rmh$fukBP`j zSAb~48UqmV*Dx6OyQ5{>i#^W}@G%jT-WLo2ADiFI zx(GN=0D7ZNXG;CZfRbn;^!#Ww9Vxh>IG8ncsW=_%dIi_xDkF5+0-8(7(>O6HDZu2g zvyx>-UoV06b2)U#heRlhU~qj(10-{gkgaq_OAuB@eQ3(3K44IN6*Rci1HI`tNEkEQ zGiFZTcg>V334Ivj(-`D4-Ne4nnCwKh+qMMmR)f7=kaKgkx4!BlFnsrtO+eLsrzI63 z_~>uhHvb(SrL{eSFl$DtiAk-U?MBPS5x?;Q3mko})v!Ss)kW=h zS-Pl&2sFN%BSslkXDh8t#>J`sTy7T8MF|M-ws;by2*wD^eEh^*sPVF2FC4XE>kTd8 z`(>5bm+5AFXo=(MnObrMZS)nYo;uREi`6hVaG7?QSbqmU)3$?cEvNSSeESZxw#xe@ Oz?GJY{zH}Jx6sSiS1>d+GO{!_fLR6BCNGE3R;#GRxH(_`3nSd1T17dS zYs5EiRndWQ#5Vs@KMvzaY`&u{jLgwwocz~}f3ggV&}KE=eT;mjK+6$!Z&onUgsB$W zoMh_G0=Mp_jTGbLe0hP*Z>=sN9C6d;56m~>o8Q}WAv6m)FNSf%7oT^7vp1i20~!Q! z!yP8R%?jQp5r#4Q^1+meZPp4njo|QwEaru}L~Qe^#8iZgM`}BQ0}i$M*|1Oph5inv P$u)W0a9=FUJI@3FpACvN delta 480 zcmezHi1EWC#tHJw1{M|@mHb&j^kfAivCUnqf0^N&1)PVOpd9hdwLI?-oL2r{Fpk*f z1)STNCi{!>z?GJY{zH}Jx6sSiS1>d+GO{!_fLR6BCNGE3R;#GRxH(_`3nSd1T17dS zYs5EiRndWQ#5Vs@KMvzaY`&u{jLgwwocz~}f3ggV&}KE=eT;mjK+6$!Z&onUgsB$W zoMh_G0=Mp_jTGbLe0hP*Z>=sN9C6d;56m~>o8Q}WAv6m)FNSf%7oT^7vp1i20~!Q! z!yP8R%?jQp5r#4Q^1+meZPp4njo|QwEaru}L~Qe^#8iZgM`}BQ0}i$M*|1Oph5inv P$u)W0a9=FUJI@3Fom+}E diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 1470376a85c455fe31acc2dfdac963a350048caa..0383ea501b9605cc28126b0af30a5e6ee4c57cc6 100644 GIT binary patch delta 3110 zcmZ8jYfMx}6wbMVim(){?rLpxQ|8R&14u4mt&?CB6cJf@u)(0c%ofjhbSu^+ih0yzbuJ{j>9(IrGh#Gv7IL zt4>5zorowI(I;hM(vg?gaQ;t95MGiquv-eHoh>yjlZPv$;p$(CUQ5g zVdR*di-(!r<91U2%l9GRZtjeG&W2XT+mSa(plyB_VlKHditbBlG`O>6s2V2?r1Epf zpliysD8LBMBe6@V5@>N-C6_KSS+V9koP znRHpXbxvv6^rOwtIb$Y0RPnv$a-lS4nujWy%?n0xt8|+iQe?Aon;Bz97@;i2xjgTaQx(;@(Da5e6 zIbfikRv8do@LQWWj0n@y`o!9oF1hkB0G3^o0MG2CMICwivYoW&rUbllvuS--xmYBS zS>M$}%Wg}#$$9@B`@H{76Ddgt2d%za2eFf6_X#KqWAf3b_vH!>%%}Iyi!1GTD7Bz6 zHj4i9sL={m^qa6}(s0ZV@o=RvHni(7C0Cksfkq)vk7AjcGbKn3H=>Y4(xtF|CE;#o7^YDu7TZkUo zHew>UfTT?U2b(k@WJ304eW7gbWC*@d=1Wx;aYjsO9Q)u6xM>}mVJ0LAaTkE~XtAPn z_)FKTlbl=tne37WoR)%*&w>$QyqAg#KoS=)?;NoDxs&0Vi9lw(2T^96V*o388wTrL z#bl1=aCY8^!S{4q)pVA~{XEX_p6v?gnAQE?D5D7v_ z(tA;pw6tgv94Qi4YY>UIErYOXp+eF)NR@}lyJ=C}h63`-AJ8hqweEMN z9I_nk4DFR7Qw*Wx;3GxSb}xuz%mYR8cXtp8+7*fap(eqRB6;(vBEj#Xd{*28N5qC4 z5k!}H?vJf8Wce}t3f5(17$_m{RBU0}`x?5e48zA-`WxzPLvJ5JcwUuNgu%-y+K^?1 z_3dMKqYc?Id9U&jgy$t`^FY04*&suS0Y_T4w}z-`RG^bxe8D)J%xjh5*L=8cVotVe ewy{PvlX*s)%p`u{HyE)g^4SSiGQ0B*&ixOOEKS7# delta 3110 zcmZ8jYfMx}6wbMVim(V)ceOUUsYxHAfcU~_ks7091-nMA+NdS41Zbm}*jgJ&L~B}Y zQ^j8GR4aWl$n;|mhp_!~1mDQVK!MDFG_ zjBK-G$xyRv+%D>W`z9eKwHwA~Mb&81gI(*0u^4DM_hD#u9!srVeS zY3IZPVp<@xb7F&8IzGz$DZCGDnp`LLixmPIz6or`TeI~PlyJ(-e+7U!e@t;oJ9SP=~sSAro=qg{DzI)G_rS6(;I z3Vo7)2F$kQ(L9}B--Kyq(P}qMFOXYkgPC4%LwI{vHVI-i(M>Z~UAGLhXmzW712?T% zQx#+|Yt{&!uRiTV4;9uxtkOt8A|kit>w4>`UG(Ax8@T_O4LH8Afzg|7AY-cqe6)I- zEnn5!Fkg7=Q{P;c8LBA3d^LZo@>Nk{`!HWm4~Ts6V9oM% z8FYD>bxvv6{G-j#F=G}zT>ic0a-lS4nTN|8&93JTy5(r22n4yZXf3stWtp{9=KNqK z?zpK+>?n0xqjZ}%C)_L_)Q9@3?b@w*EOt`0;i2x@L&1i`Ga-i5^C1RreTX5mF~qQ< zDPW+U78wv-_*<(uj0n@y^3>XwF1`9F0G3~u0MG2Ch3&cevYoX1mIS`@H{dBPmV;2d%nS3$c@A_X#KqWAf2w59A6C%x4cSh%0S>B(iZJuksNaem80&{WTJ#oFB(=`BIccoDowR$3A!yZdu1>m2 zB?TZK6#)rCsaLjkrSfBVr&8g3q-l114DzYr3dm0Rvi~-N?0sU6 z;he1q*&EyJkRTLijAgFv@GHc~*C)^-B*&tiL5mR9Gc074+L%(ES{&(|EZDD8%Ohl8 z9tdJUs8X9GfEN(4Bi7gSkA7`&{a4Ov!L z-#&IP+K?@i_bMMjctMgj4bXd*4m6Y)aHM5>d$5{D1v=TK7mXuHyjB^0&4=qI=489) e7;9BCnQyepOyU=Qy%9T6K0ComW_RDgx&Hx&(oMwx diff --git a/src/driver/PCI.pas b/src/driver/PCI.pas index 793230f0..ef812fb4 100644 --- a/src/driver/PCI.pas +++ b/src/driver/PCI.pas @@ -326,15 +326,12 @@ begin console.writestring(' '); console.writehexln(device.prog_if); - drivermanagement.register_device('PCI Device', DevID, @device); - - kfree(void(DevID)); - devices[device_count] := device; device_count := device_count + 1; - //if device.class_code = 1 then ata.init(device); - + drivermanagement.register_device('PCI Device', DevID, @device); + kfree(void(DevID)); + //if device.class_code = 1 then ata.init(device); end; function getDeviceInfo(class_code : uint8; subclass_code : uint8; prog_if : uint8; var count : uint32) : TDeviceArray; @@ -343,27 +340,25 @@ var devices_out : array[0..31] of TPCI_Device; begin - console.writestring('DEV COUNT: '); - console.writeintln(device_count); count := 0; - if prog_if <> $FF then begin - for i:=0 to device_count+1 do begin - if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) and (devices[i].prog_if = prog_if) then begin - devices_out[count] := devices[i]; - count := count + 1; - end; - end; - end else begin - for i:=0 to device_count+1 do begin - if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) then begin - devices_out[count] := devices[i]; - count := count + 1; - end; + for i:=0 to device_count do begin + {writehex(devices[i].class_code); + writestring(' ?= '); + writehex(class_code); + writestring(' && '); + writehex(devices[i].subclass_class); + writestring(' ?= '); + writehex(subclass_code); + writestring(' && '); + writehex(devices[i].prog_if); + writestring(' ?= '); + writehex(prog_if);} + if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) and ((devices[i].prog_if = prog_if) or (prog_if = $FF)) then begin + devices_out[count] := devices[i]; + count := count + 1; end; end; - getDeviceInfo := devices_out; - end; end. \ No newline at end of file diff --git a/src/kernel.pas b/src/kernel.pas index de3aa2e2..f3104b8f 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -117,12 +117,13 @@ begin //drivers console.writestringln('DRIVERS: INIT BEGIN.'); - keyboard.init(keyboard_layout); - mouse.init(); - AHCI.init(); - testdriver.init(); + //keyboard.init(keyboard_layout); + //mouse.init(); + //AHCI.init(); + //testdriver.init(); USB.init(); pci.init(); + halt_and_catch_fire; console.writestringln('DRIVERS: INIT END.'); console.writestringln('');