From 83e8c9b32e09f3d224eadb57e32dc8866b4eed87 Mon Sep 17 00:00:00 2001 From: kieron Date: Mon, 22 May 2017 15:16:18 +0000 Subject: [PATCH] xzc git-svn-id: https://spexeah.com:8443/svn/Asuro@187 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5091328 -> 5091328 bytes bin/kernel.bin | Bin 37092 -> 37092 bytes iso/boot/asuro.bin | Bin 37092 -> 37092 bytes lib/PCI.ppu | Bin 13065 -> 13075 bytes lib/kernel.ppu | Bin 2344 -> 2344 bytes lib/libpconsole.a | Bin 64564 -> 64564 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 140320 -> 140320 bytes lib/tss.ppu | Bin 3187 -> 3187 bytes src/driver/PCI.pas | 94 ++++++++++++++++++++++---------------------- 10 files changed, 48 insertions(+), 46 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index c755fa299b7e0ed2097d2491f822ec4c56de899c..b3eb9ca65274e94bf0df095f49ef276b79dd1c1c 100644 GIT binary patch delta 14384 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 delta 14286 zcma)D3w%u1_MVfMLCARJL6DFT6&l3*m0;qeGMY=27Pqvd9^oqD(IU~9-kp<-=H5tm z+M4_0Rx5h-U$il!kK05LX{mUWXhNl4M-Y@o5azD^m{x9=-oIbh-s|jdf8Sbr?S0P7 zNz(LlyFJpucJ$8(i0acPy3fFU==%4CjtzX8knwRlPo-t6+=l!it)Mrgdi(#@ z<&J$PgroD`iTOSH=@;+3(2~P}1p|H$=e}65jH49=zmZ$?l@W4#YzyOP;x;7kr|)fh z&F7D#cRY&({CbDK2)F~0%XKq>-R#RUf&hr{Rf%5J`p)?%QLWu|`PwNL;T(mi_uNzSM|Jt%>P1q$Xw2`` zb9)s>^3ChjFd@1b6#BEN9m~k#od;EUV@FMOGX4V{vcoe~QQLbO1w_91vOk z;{c|7{eVzzU5asEDUE2&4jcSqhs}3Xe3B(LF*kN!KcsXQOQU!ifd?_E1qa23ZbZ>r z2St*>WmxGJl!?-9D8rU;zDz8^_zlK={u{wfN717at^Wp79{a6OPWcv7{_5K>ekaP} zG#foCVd4`?)Bli2V%i~W?>{*t_Pzo|dma{O(qW9dRifpGu@pnU6LHn=ur0BFCpN4c zMZ=GXElE6raX&b+NNjdFR=8KnMd7l`v7CP_7b`Lz#gwNX6{lG{imj;fs92H5F-&>V zF`>NX7{)zvOmOQ^bnJ0~EFy$*1 zLfLd0k5`LI)}!2UKMC&A zpRj6_{nVT1d>=)hJug0Z)||(<$0h1<0YfKW5ZpIWwDN+uuZ*)8vgD%ZnahL3{^}Tafi6F!QS_EXL#|-l)GMMI|3uNdS437_YB28d z8iD>3Meo*#th!yrxUXLo+z(Oo!Bvq}#5Ih&`kFvLLQ$7QBd=rJwbw;fJ5bcSR-DNJ zwb*I5){4{qQ7v|tJ*X9TS(h8weUy4*li0zV7&`x^xKlQu=w*qTZjE{D-OBx@HQv%e zp=;l3)+TrLt@b>|ySK2F-?$}K-sxv7gI9kR8NB;5wzjK3H+r@KR+3{O4OsetK(k^+#IE z-MP~m)sJtZL^OJPepVeFkAK$D{cU8dYi-b4jBG1wF{dpW>#MeMEjo@5Zzu6N?QniO zc@k=He5Aj`Q~XhWu^X?&@zDV?{=xv1UlO295D$t#6kiZ1`T010-HitZ;rt+(|GPMT zBS`AEZ;$f-(q7{4;`ojBQa`u@%73+kC7&& zP;YiYl`6Z)P50@F;#0dy{7oFMbmKl@=t?Jt$(61NLsxnn8DK-O&6>yUF}&aeQQVi6?hQ^WW25nI=v`1e)K12=__A@!M`ZtOv?p*+bzk zi?pBz8vj8LrP0fZ??m&2c)Ho7^#A=UAzl8IEas-CP_f%?Jh&&C%&R@+UHOlmDF0SZ zsoy>ly=~@3%EP!m64gH++4u?5d}4yxoV)fH>|oFCB{wF!7phg=OXk|LH;TX9TON${ zz0tK)_m*pE_B6_W@oA}_{WQAP%BPhf;$TFf`~^`mem;(0cjJM5aDE>*zYlt_uk?}i zG4)0Hv-?VZ4vt@RD>=+hu6F6jxs*`gQw$y|J+(OON7mggcp8ePlLXvwd~ z`D6P_eoB9o|5gA0dN)g&FzE@uBcS~U$XL?`pzGc_K-R5l0J@f*17$9W1JPVI4^)4|zM-2zZ3uoCw8Yje{{@J3pT-A%^_%dG2hrT8H- z(xM?~RrU{2`0v7KJ&s$3%E#cEp(y|OP|5chhT>C)DSdg>a)zN*J3ma`t-ixi{> zF`6?R-L)Tw%k_JWK=mh&koxH(Q2vn-N|(ng-SWAy^oFN07!=}2_b_K#E& z#Q}*y@wqW_D{^AcrCyAY`leVEpB?MI@c|FOUV=I(23p+5rwx4+s|4{>+K)n|{xV8F z12^LMtx>Y-A)`@#>S&2?!SQ>e|Lbecl(^hi>#*~?WQ^Ru{4wbMTz2EWW;BzTW?7VM z9IrOZOigjS5I{?{Li(63d6 z|FsCMP|^H*#LN5><57IG8$XERj-Y3hhX3c^%Cu?x&dskJ#fcsxoBZ|RWChFv%oEHD z%p1%HjA2HwreMv$nuGa*wE$}g<_Bg1YX#OCtPNOOuy$bnU;$u(U_oH*!8(8igLMS! z1lAcW1S}M+3s_gMFtBj2ZeZQPBEWipJq6YiEE232SZ}bW!J@$Wfb|9I2Nn(1A8Y{F zK(IkzgTaP?4FwwpHXLjO*hsJ#uvoBBV57mtfSJMKz{WZrPF6dFC`)P33bn6Saesq> zR)3%}x>wK_9!p}s5CAZpEoS&QixnK0`Rt)i@HuU55YN-ENxD?x(=r6Z5 zL@%Qk)~h*6K23cKvV4R7>n+H#iXMFnvMhC6dP{xHJ92v<+wmWg*Z$-(Bs;(N)Zc@F zT`iNHCp`5WaQz&|i))M=S?kEoQ+FszD>|I2U6ciM2322FY_y1~bCfN#N4`2O%{O!U z9b&F0$2GIBHpxgPH6)TU@`Gls*H=Aqxssg?zWRAsakvXktKV)*Lvgj|@pJqtYxBD?AsQIObGKUuJXy`j? z+cYouGr&xH0}N*t8bC1fD=%n?)!>3QZz*dnUux5Rvr>&VbJ3m{$ZVHE4~2*m=P8=y zOJZ54iD`MmV6rBNRwMX&2WXNr%|#RE88pi}Vmk=R8lOh;2=lGRG?+rH32>p;LIbn+ z`t2^sDDooa?XJ}A5W>z_H5+d^ zgXHC~5zZjiB=Ge#&Py{N@Y`*6vVbKM=XnYavFy+|f#fCdaEw5#fh^oTs1z|DoH)-z zv+N+2&on-T9T|@b%aE+;3%#M9PdnEcqIrP4Z^&0Bkm~Mu4x6<(xyr-WJAOg{)=S z=MzhgmS$zsiFFPm+1Yerk7Vs$Qla~C;$h9oD6oD`XD!?L9Ae4VIFDFUIGgkAgWT++ z4L~w~r*R$>g|k`9PD3`aRe=lf8JAc$vJ1hr&j6pt&*2J3{C0CP+aqfTV6H;eYFvQW zE-;_-iFFI}1>Zgke6CUhDw*bTP+>H#5(bW|khN(V7a+E4aG`MlV%^SsAz)7dpUZ6F zGABTW@wiL`IIcq0YMf7OcbL!l#JYp|f^T00K3DlOSE&FMM$0HlgEd8h=PG2a#s!G2 zp7~sWSifYx5U{TRpUVVtnJSQBG@eWpIIcq0YMf7O<;>@NVl866;M-S$&sB~+fb*AW zJ_j<4$7Q0yaTT&w;{wE{Ge3_Bki1RIw{ih%I{13d16JG%pui|xVGua3Le^@WOKdlp zZ)IF!bu!=1xWvBh5ya=2Ji}#lkYPL~V6_kj@w23y7!A#c##Kzu?>S^Est?Y-WX^#E2mn0!Pn<<@v!q>IPH;U-joO*9j7%rn*yKM40h@5IO=k)nq?}|3vRkx@aWYI@b$!*!$#g_ zBMx(se*I_nP=*-VtN-xp&?3$=AJj{K9hxqNBFgj=FqV1OmRi)X#{{3Qw?D|@AIDkz z<2Z|d9K+WFx_*;d;#g`MwNLmIvGZ@g2OWQd6hW5*gzb0{8Nn%WA0)2X12NfTwsxY z9z16V8@tCmm3cR=Q@{7snWLDm!l<9)fIfqvJcR*bgaymG0fRh+P%+3;NM)lug>jBu z@2e)odp-yapru>XB|gmk_f;D6fx0+=`94=g^;<&koWVw-Y1s#Aj|pxtxzzid9$4gR z;yefWzW)>W&Q%P&QUeS&w#Q)P-(Mo2a}ox9$03-hZ-MQ0ZeU}d*U&K^s^Kk<^fnb4 z4JFQ{DKPjZUH+lk)0?@^(XAhO??)0&W&t9qf54`UHG(@>APFikA2wa zPMul`)Fkf(;7_I>7O2rm5v?px54cCRiIHu;jeI0VK2j?KmI2G-B5VP}DoAJA?(nt!7DDauXSVFw7pq0s~Ar5$RthhZ=c-l=A* zD`6<{N7&dT@RCboj7EdoO@76YIlI9xqyp|{K9)79Av4iSy7iff!E-X<_|1#SYL~Q< z-rT8%`!KchXK9CB>eMDThrmVge!6;>I<&=|GjJzW@GrOe3djCks>LJib-*uG!kzW% zL1+%aV?(Fx+y1B%(Ae%k6L=V!HbK?jd+^Dj z*PVu@n$b3vKy&I_XpU7tW7`YO3V1?0BUs#pl`i_XLN(EwT|h|+SxH7Xf_JOyl((Jg zP-UTGm{T3-5wz4)1Q86g7MhB@pkD#k-q5c~b!308ZtvF7&^#$|bo`5BW-puj@@zKq z@oUGVpVXI>puY%>0_fp?eK4>dzH5UPEk6%$5A*2l^J-V<0xqb#Lm?1ghV9U^N$$X` zXMwjbq_r1ROH(-wG{#(1Kko5ASd8t%)oA-mkFy<%E~)dqf)<&I;LO8|g0I);IWrft zEZM&ciyU`q)b|y59n8O`b`6ya34xv!BYg?GD+~q#y)X3HOK8?_m*` zjk6~v>)Xm6Uf2xTaNvXGbtLcUid*W~KZsUwOP%b76XY^k&z1+ts6VSIY5!GgcT#M} zSkA0(CWA5>yJpF;zO@`@NwRB}B|U`p(hudCI|j3`x&x-N%pgN?>KW?4fEPM YBi={(t5UCm#e+QqHqN2cC%7E{0j!ay3xEt!9;0&_E%)q96o~5M7w$ zj^EzRGO-^4rm{02*fL|7$+$=sAJdi402(w7V54FMi}or=u~LXOx;?*h?=r2OKK74u z&i6a#_xsNGxO;am>~UP!Yf94Msfr?JRprQ)uB@yc8m!o=D9S5};)>NC zb}AkDX6FRC!xd76^rTN!*U1OdJy|`)i8_~R*QJ}Cw?%fOmkb*A-55ow4IE4BJl53j zcxtfu2m_I$53_?pEhYH8Vq_NXADpK9ccV z#&a3ZWjvShQH+mbd=%l4_eMQCD0x|-qIAjB^bzVfspn5shsjs-J!+jipP!*VAg|?b z1zx~-0pkUX7cgGPcp>A3j2G%^gKTuqAMD6i6!Y~Q`L6q}NiXM7+&hBI#j#|zXOY=5 zoXo;6<8kx1-;i12rs2e|DQb|K$K!a(E$cid9eZz;rDMip7slM4lzA&3=8xooG5MKK z)4)1RZ>D`ndFD!aVN9!9A~%eksusu>$9mL8`R>>Zb$R5ou^W>o%%v7;10U3G`6RB? zM$Zf~O9^=CmfGm)L1qz!X`QFu_`=DV{7B2h4pnu@vdIPNP+2qiVf7Iio4i8ZCdU^o z^g9EK`h_+iP8q&bLvun>u)_`}Sc&QWEKt8FJR`8U9{XQ3By2LIW=s!@gcZR_ME6+eXC6&U?*R zlp5UN3~8~$<<#s;ig`YR)_tfeptn+)!PdLVVJv!0yl+?}pD-*9J&!a@nA(6AOVlb< z=o6yNf0hN17WzJl&Ff^S@<@Fhl4?nBjL8@2J7$-c>xq zPSJLb$tV%}eu~ZQR$+G#h5k6tu$hZsy{iUc2C#&0pTQKNS7ClXa|ij3dN$$tncLdw-fb>!IdJ^NHvCbQ0P}dq~h>FG=`SW z3{arG6V(0ai5FImA|2LiFja(BK!Djo??>7a2uCSqnKYU?p!Eis#wwMp0!u33i%<WFR0y(^&=r zLQiEG=7&!wRQ#-B26fO_Whbk^;wyp`NQc2xT0h-`U53REFN7|3=G$-iOW=~BTRgf` zV2DsL=Jf3nZ3+UN33?x;%wrbia*!!J^8%g(mih-%gvyx)vd}M4!f%AZ7U9=mF?Eb| z0@{_J4j#+2P+;h=^vD@3AwmrdLPBV}4T~P009}ZbTFqQd(C8Tgfu0G_wB15$Hn`d^ z!tMm=7`@Vjb}hl7HKSUDmZE2^S?E_lw(7&Xk-}8ZGV6Mf8{~c$qD+USWrHk2m5^Y* z&@ZqG^TX}<{$ZK7NG7252bsq*f@NTN*^m&SwG2W+Xst%L9YMGODfE)Uy$l$-#iG+j zJw3=^X{|!*Fs$P6IGf@(PxV9Vy99@J3f1)3GN(gm?S@qyu1id_n_#+^QhR#Ojfj~Q6h-rZ{TxvhqI)jOHKmL1M7W=RQl)ivn=$fM1KTYG zQ(gQEf!x3r3*-jQ0ObZ=j0~IZQj_aQXS*C*wmt>X=u2{U*}5!*wHL9CUFM_YqcuS2 z=g^Gt_a<_+$CA&PBVzHv(R0-5-cKlwHX=D21Yn01+DZD^F^*hRAT^0oRB7&`^Nwx< zmUB_=o8h@-%_LXMsdPo_A0g~B`G*;|B_lc{2hTi|iRjhO>FBPQN6AHZ0r*0mnpwa_ zUGm$R2U38ge=ZM{S0_J8VW&))Rjk&?(plY!@tr)r^TxP>#}yxDJwf$LKBWWE`psAV zOcR_3(kdrbmZ>$7)s@|jWB|{|JMJ!4TO+IQPE*xZxv8oNB*GEq*V?p0Qz?)=;{Q+<8iU3`*Rpr6q)f=UE zjwc0T6(7q@a~>Sr`V)%tyX8l7N{3eeksh@^{t0UKMLa*9=kPaD_O7$^4841tObeA&oDlYJQ|o_`$;xlWRK~;CO344?WfuK5{z#p;&eMvX8ReopGiLAdvb}Iz1CXx ze)9AeK!L~d8#c(^jRopz`Sr#^vRRuB<&zvGZfsCu*Wt12?Q7)aP4jNDtB7COcwqeh z;DBpwuFQGrpSY2=PpwYMe#{l4hnoHur6yIZSiBDH;d9}!$ki=-Rdv1G*;JTs_n$`| z$F;fMIwnCL$I((R&o+5R(FjthH@hFNUsAVt-MYn3q8cmRTrWpAPrGTowYtsgBM&v- zHz;wna9AjW$LZ6u-h5`+Y#Pyk(SOZalm4fpZlQ-eanv|cQfm-*|ChP?!~==!Tzi4= zSQv4u0(Jf$Y;dAqTpIKXk6Q{HER1mp;fL8cE+fXcjPN-&p6E2s9=mOiO9?%!z>fg8 z5gxY@9=8u3mk++&_Lbx@L6z<2*nY0<=iArN+4MK7~Z3ta_eP^vaou?~|AF1s}$K!}2(Aclu-BFMIgm|C+KHQIa5=^o47t#b3@ zobP`3eBV9yc29Tb>OR}meYS(CE^#AIbN$-hHAN8k!0dFs)|HY{FjWw$whMyrmLRyI zm4_X|!5lqh65r`kMV))bO%XrfOUHRq3P5DmxkRgOoSsq;+BvQ`?#|^C1fep}s`DisaUMy`;(^F78LT!Np7*7i^+-NPM(~+9Ve1uVluy+ zOcNsj5N@SF7)XM! z>`TMYU;h@uQ8x@HeGRCOOCFEyP7kl~oVLYf^J(KJ;u(y;&%Wtyx|DbEH^%2Ae*y#Z z68Vy?OO&nm@~h)p#a+B^!W8jE{-+5Z@iKpZLZa9cx;Ejt_=5ISymA*Sw|!~|m5~qQ z^xZ(bc}HdBT%6tt(Ajym>$-zxwuM?I9TdfJe8%Kl@flt*`AJdb(aBX}8=qLX%%2cg zKE$M9c2d=rQ1Cb9Q(~x(4FT_S2|&`B3js zhoBxB4^u+m)}p{?jW>S5uOQ~Pf&9SG*^!2Zb~J?He;D!~3e(13`@w4A_9UKjU!vb` zgN3vaU;|+R>;iwaLu9gGKn!lg=slt=PiU@ls8aNB3H0@*py$AP3#&!NdxUwL6tgTi z9f}oGC_4b_84xN1QgmUppm>{@dJ>!!Dq}&0Sa$fKgvs+@px=Z5)kmEj-HlN@liH2C zc346~6}zC2f(1)JppbycF2H)HDLbY}?M#Xob&+a;Y3G1cREnfv!B%8Q!Q^tlx}S7@ z>4dXGir|9X3#;Qy4f7sUNWg;gXgL%xITe@t7EX#uCl^-R6z@UiJ)}?x3;L)KOPHLA zg=eU+mrm&r^Bz#Bgayl~5KEYxZTO+`b*g-uPU!$s`><0gW5HdBp$vP znJuG$d3PyP&4LxQ09G?OAFw`~G^d!B2%Hhdh~4jE-d4pgV>y$nP^4iw(+V&iWqrDn zgr^l5C9r>zW5g@p%DgQK>6lzYYSL-NG4=Z+Ad=oyNC$^PYK(X{v@rEDKv*BOOx}Y7 zQ>#?~ruAFN;XP*uiSZiA*)V5>F)C!h)T@X|&*V15re0eOm|U)dOF%jUE+``xHvl7y z(XWsJQ*XdPAp<72BQ_1R8o*@JMmFcb26beU55NdxR7lU%A;hF-@M&w5VDb^frh&EvFxjM%&1JAb88uS~zzAbhNYB(Wh)K`n zC}LBu)dMD%559-{FCg`U4eH3I2!IjBsE`3ub;Ln5V8OkJWipT(0PC&and(4U5XCIG9{d#< z#9&tlSU>U|JvnYD5@S-EQP&1{7%7-KLON8i;334MVDd)5dee8XK0I=6!Xu!KdM^Rm z2xC-8%G7=mp_Iu75Njx9S`|k8k+j0%0cj9gM;WH!# z_%$~S$Y>bebzL&J$z%ew?1`=S#2xC-8&D2wfNzLRPh)K<~C4kAI87u^Xm4u#}QUJY}KwgjKTOe@0P@GxH+1|W^VgBp3c9(W^+5g%AP zm^vM3C5T!UEQP4ZB$X2Y>uX8;1KgiDFYPtz_QLsTsKNIK*0bO;Qei!l?XZ7C{|(80 zRHVH=cy(M*G%SJlHBK9P63rTs`qi$eeqhir;L)oK@G%l;MdlC4bV^bE%YVkGMw2?K zU;K$$Pde$O-t!Z++@$h*^>e@lzESI2=&puVeTq;Mot%g!^q4snXdk1eJ3mx89{QANtPhH4Oy`o z*u}s$XSy4Y*}EflBp&6R4;Hx*oraIFeP{Ypqxuy;YL4Z%KLlGXNL!*Gh`SD8E#4A~t@Q#t;8Ao<-wXmr^!C zz3nr&An>{P#6Mtx0b~mK=|^UW(a_k^6SjCHCh+r*7KwwQv9q0`ILI@~PQ=5_p{MX` zWkojO0iHRhrR-TCe1C@vSPrPNr^Mk9VzBbJLSW5^GrJFdvcxqn8VUI9790-vGOGe` zlU0{ACzU_T2j_T3q1lyBc*fkNqX!=Z+;yBkKX=;gLm$I$rH?*d^(~>}bGQM+=;1L|j$930TGWg40Up!(s3oo3-%uwe1Ch-;D zG;v*My6=8l+D2Ct%!SqKTv0pZEijIUTwfPzS#cbZQ|dc%U=5fM+96{_Y)#C#X8SsRv)((# zsserK^KVT2KN{4IA}^l)!q2p!^)EbaPh0Pb!tD%S{t5O+s#exwd-!*CeQ4;#S4H>_ zZdX%Yj@5rQWITa}4S2r`0)w0Yxn%>t+~moE5n3hO=H9e%Rn5xU+Lg~@HSVKf1OJtL z|Cm~HcMY|n74pKk*umm~#ts&3VOwvrHFKy>{4Co)G; diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 5753d6b76eebde1f5e6e395648df262c720a1724..0ec744ab5e1cc793b1a1f5735bf12738c0fa4aa5 100755 GIT binary patch delta 4584 zcma)9dvH|c6~A{$!YaXRXh=v1n8z-Ukw;{Lqz!>!ay3xEt!9;0&_E%)q96o~5M7w$ zj^EzRGO-^4rm{02*fL|7$+$=sAJdi402(w7V54FMi}or=u~LXOx;?*h?=r2OKK74u z&i6a#_xsNGxO;am>~UP!Yf94Msfr?JRprQ)uB@yc8m!o=D9S5};)>NC zb}AkDX6FRC!xd76^rTN!*U1OdJy|`)i8_~R*QJ}Cw?%fOmkb*A-55ow4IE4BJl53j zcxtfu2m_I$53_?pEhYH8Vq_NXADpK9ccV z#&a3ZWjvShQH+mbd=%l4_eMQCD0x|-qIAjB^bzVfspn5shsjs-J!+jipP!*VAg|?b z1zx~-0pkUX7cgGPcp>A3j2G%^gKTuqAMD6i6!Y~Q`L6q}NiXM7+&hBI#j#|zXOY=5 zoXo;6<8kx1-;i12rs2e|DQb|K$K!a(E$cid9eZz;rDMip7slM4lzA&3=8xooG5MKK z)4)1RZ>D`ndFD!aVN9!9A~%eksusu>$9mL8`R>>Zb$R5ou^W>o%%v7;10U3G`6RB? zM$Zf~O9^=CmfGm)L1qz!X`QFu_`=DV{7B2h4pnu@vdIPNP+2qiVf7Iio4i8ZCdU^o z^g9EK`h_+iP8q&bLvun>u)_`}Sc&QWEKt8FJR`8U9{XQ3By2LIW=s!@gcZR_ME6+eXC6&U?*R zlp5UN3~8~$<<#s;ig`YR)_tfeptn+)!PdLVVJv!0yl+?}pD-*9J&!a@nA(6AOVlb< z=o6yNf0hN17WzJl&Ff^S@<@Fhl4?nBjL8@2J7$-c>xq zPSJLb$tV%}eu~ZQR$+G#h5k6tu$hZsy{iUc2C#&0pTQKNS7ClXa|ij3dN$$tncLdw-fb>!IdJ^NHvCbQ0P}dq~h>FG=`SW z3{arG6V(0ai5FImA|2LiFja(BK!Djo??>7a2uCSqnKYU?p!Eis#wwMp0!u33i%<WFR0y(^&=r zLQiEG=7&!wRQ#-B26fO_Whbk^;wyp`NQc2xT0h-`U53REFN7|3=G$-iOW=~BTRgf` zV2DsL=Jf3nZ3+UN33?x;%wrbia*!!J^8%g(mih-%gvyx)vd}M4!f%AZ7U9=mF?Eb| z0@{_J4j#+2P+;h=^vD@3AwmrdLPBV}4T~P009}ZbTFqQd(C8Tgfu0G_wB15$Hn`d^ z!tMm=7`@Vjb}hl7HKSUDmZE2^S?E_lw(7&Xk-}8ZGV6Mf8{~c$qD+USWrHk2m5^Y* z&@ZqG^TX}<{$ZK7NG7252bsq*f@NTN*^m&SwG2W+Xst%L9YMGODfE)Uy$l$-#iG+j zJw3=^X{|!*Fs$P6IGf@(PxV9Vy99@J3f1)3GN(gm?S@qyu1id_n_#+^QhR#Ojfj~Q6h-rZ{TxvhqI)jOHKmL1M7W=RQl)ivn=$fM1KTYG zQ(gQEf!x3r3*-jQ0ObZ=j0~IZQj_aQXS*C*wmt>X=u2{U*}5!*wHL9CUFM_YqcuS2 z=g^Gt_a<_+$CA&PBVzHv(R0-5-cKlwHX=D21Yn01+DZD^F^*hRAT^0oRB7&`^Nwx< zmUB_=o8h@-%_LXMsdPo_A0g~B`G*;|B_lc{2hTi|iRjhO>FBPQN6AHZ0r*0mnpwa_ zUGm$R2U38ge=ZM{S0_J8VW&))Rjk&?(plY!@tr)r^TxP>#}yxDJwf$LKBWWE`psAV zOcR_3(kdrbmZ>$7)s@|jWB|{|JMJ!4TO+IQPE*xZxv8oNB*GEq*V?p0Qz?)=;{Q+<8iU3`*Rpr6q)f=UE zjwc0T6(7q@a~>Sr`V)%tyX8l7N{3eeksh@^{t0UKMLa*9=kPaD_O7$^4841tObeA&oDlYJQ|o_`$;xlWRK~;CO344?WfuK5{z#p;&eMvX8ReopGiLAdvb}Iz1CXx ze)9AeK!L~d8#c(^jRopz`Sr#^vRRuB<&zvGZfsCu*Wt12?Q7)aP4jNDtB7COcwqeh z;DBpwuFQGrpSY2=PpwYMe#{l4hnoHur6yIZSiBDH;d9}!$ki=-Rdv1G*;JTs_n$`| z$F;fMIwnCL$I((R&o+5R(FjthH@hFNUsAVt-MYn3q8cmRTrWpAPrGTowYtsgBM&v- zHz;wna9AjW$LZ6u-h5`+Y#Pyk(SOZalm4fpZlQ-eanv|cQfm-*|ChP?!~==!Tzi4= zSQv4u0(Jf$Y;dAqTpIKXk6Q{HER1mp;fL8cE+fXcjPN-&p6E2s9=mOiO9?%!z>fg8 z5gxY@9=8u3mk++&_Lbx@L6z<2*nY0<=iArN+4MK7~Z3ta_eP^vaou?~|AF1s}$K!}2(Aclu-BFMIgm|C+KHQIa5=^o47t#b3@ zobP`3eBV9yc29Tb>OR}meYS(CE^#AIbN$-hHAN8k!0dFs)|HY{FjWw$whMyrmLRyI zm4_X|!5lqh65r`kMV))bO%XrfOUHRq3P5DmxkRgOoSsq;+BvQ`?#|^C1fep}s`DisaUMy`;(^F78LT!Np7*7i^+-NPM(~+9Ve1uVluy+ zOcNsj5N@SF7)XM! z>`TMYU;h@uQ8x@HeGRCOOCFEyP7kl~oVLYf^J(KJ;u(y;&%Wtyx|DbEH^%2Ae*y#Z z68Vy?OO&nm@~h)p#a+B^!W8jE{-+5Z@iKpZLZa9cx;Ejt_=5ISymA*Sw|!~|m5~qQ z^xZ(bc}HdBT%6tt(Ajym>$-zxwuM?I9TdfJe8%Kl@flt*`AJdb(aBX}8=qLX%%2cg zKE$M9c2d=rQ1Cb9Q(~x(4FT_S2|&`B3js zhoBxB4^u+m)}p{?jW>S5uOQ~Pf&9SG*^!2Zb~J?He;D!~3e(13`@w4A_9UKjU!vb` zgN3vaU;|+R>;iwaLu9gGKn!lg=slt=PiU@ls8aNB3H0@*py$AP3#&!NdxUwL6tgTi z9f}oGC_4b_84xN1QgmUppm>{@dJ>!!Dq}&0Sa$fKgvs+@px=Z5)kmEj-HlN@liH2C zc346~6}zC2f(1)JppbycF2H)HDLbY}?M#Xob&+a;Y3G1cREnfv!B%8Q!Q^tlx}S7@ z>4dXGir|9X3#;Qy4f7sUNWg;gXgL%xITe@t7EX#uCl^-R6z@UiJ)}?x3;L)KOPHLA zg=eU+mrm&r^Bz#Bgayl~5KEYxZTO+`b*g-uPU!$s`><0gW5HdBp$vP znJuG$d3PyP&4LxQ09G?OAFw`~G^d!B2%Hhdh~4jE-d4pgV>y$nP^4iw(+V&iWqrDn zgr^l5C9r>zW5g@p%DgQK>6lzYYSL-NG4=Z+Ad=oyNC$^PYK(X{v@rEDKv*BOOx}Y7 zQ>#?~ruAFN;XP*uiSZiA*)V5>F)C!h)T@X|&*V15re0eOm|U)dOF%jUE+``xHvl7y z(XWsJQ*XdPAp<72BQ_1R8o*@JMmFcb26beU55NdxR7lU%A;hF-@M&w5VDb^frh&EvFxjM%&1JAb88uS~zzAbhNYB(Wh)K`n zC}LBu)dMD%559-{FCg`U4eH3I2!IjBsE`3ub;Ln5V8OkJWipT(0PC&and(4U5XCIG9{d#< z#9&tlSU>U|JvnYD5@S-EQP&1{7%7-KLON8i;334MVDd)5dee8XK0I=6!Xu!KdM^Rm z2xC-8%G7=mp_Iu75Njx9S`|k8k+j0%0cj9gM;WH!# z_%$~S$Y>bebzL&J$z%ew?1`=S#2xC-8&D2wfNzLRPh)K<~C4kAI87u^Xm4u#}QUJY}KwgjKTOe@0P@GxH+1|W^VgBp3c9(W^+5g%AP zm^vM3C5T!UEQP4ZB$X2Y>uX8;1KgiDFYPtz_QLsTsKNIK*0bO;Qei!l?XZ7C{|(80 zRHVH=cy(M*G%SJlHBK9P63rTs`qi$eeqhir;L)oK@G%l;MdlC4bV^bE%YVkGMw2?K zU;K$$Pde$O-t!Z++@$h*^>e@lzESI2=&puVeTq;Mot%g!^q4snXdk1eJ3mx89{QANtPhH4Oy`o z*u}s$XSy4Y*}EflBp&6R4;Hx*oraIFeP{Ypqxuy;YL4Z%KLlGXNL!*Gh`SD8E#4A~t@Q#t;8Ao<-wXmr^!C zz3nr&An>{P#6Mtx0b~mK=|^UW(a_k^6SjCHCh+r*7KwwQv9q0`ILI@~PQ=5_p{MX` zWkojO0iHRhrR-TCe1C@vSPrPNr^Mk9VzBbJLSW5^GrJFdvcxqn8VUI9790-vGOGe` zlU0{ACzU_T2j_T3q1lyBc*fkNqX!=Z+;yBkKX=;gLm$I$rH?*d^(~>}bGQM+=;1L|j$930TGWg40Up!(s3oo3-%uwe1Ch-;D zG;v*My6=8l+D2Ct%!SqKTv0pZEijIUTwfPzS#cbZQ|dc%U=5fM+96{_Y)#C#X8SsRv)((# zsserK^KVT2KN{4IA}^l)!q2p!^)EbaPh0Pb!tD%S{t5O+s#exwd-!*CeQ4;#S4H>_ zZdX%Yj@5rQWITa}4S2r`0)w0Yxn%>t+~moE5n3hO=H9e%Rn5xU+Lg~@HSVKf1OJtL z|Cm~HcMY|n74pKk*umm~#ts&3VOwvrHFKy>{4Co)G; diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 7ce6b55cb6e2742a719d586de8da559587c84f35..1b21a3d8def09374e5b9dcfcec0abb1649e709cb 100644 GIT binary patch delta 353 zcmW-cJxjx26ov17)7D0J^w z7TDA>9Kfk&a|rjE%V9LN0;@>qHg}?|XSoY?-QsSX%O1hAp64EX>n=xO#T@R%oTQF@ z$vCbg6L^g|B1!m-*lY~cUB|^*0i77%lo)^>P&&OL4-a*+~U>oPw08Y}5|8AWstoXambw^|++#cM< U8j7A5tjbFbHE)l%@#YQv0VhXP(*OVf delta 344 zcmXYtJuCxZ9LC@Odo3Cv;=Vc%t;BJcp7zeiVo*w=5^_Y7CO$(VY>fe7&>+OvJZ5b| z44rU`u|}iBDq)Zq1Tlz(cn8n$%kz822g^sxQP0abT|I$4ViK!(t?bEVEWBIFWYc#k zgE978h?-LQAX*qZq1DS*H%R?{OI1YjM?+^J{+mR7qm5=cOAT0;J1BypY*GTZa*UGr zk`pw7cEuzQ6N*h)>?j5;;9T?-+$(X)A)v-+6OL+89y5X^912!&CHRO3)#8j0(o7y9 zbZar5BrIw+Umz5;PM#y&2+I>bG>exAO}fP|2qU`9uL&E%Duh!##vciH!d?hJdME!N z*x@+;CVwvcSw~x#Fs5oPFO{C393B{Qdf{}a!OUQK%0;o&@ZXJNiK_j5t6W_-UL$V# V&m{U>H#jYpS**F+w1hXe?GFgpV1obv diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 6e26f3b6b4e40a45fcd3cf7f3d3fcccd90b9739b..cfa31dcc3346cad5c4fe0d7308c7d023c8b503f6 100644 GIT binary patch delta 21 dcmZ1>v_fdZQbvy66O+G+h3{hCyq2+=9ROp+2)zIR delta 21 dcmZ1>v_fdZQbrDmrUju9o)?`ruVt)e2LM>!2l@a2 diff --git a/lib/libpconsole.a b/lib/libpconsole.a index a8cd37652a1025e0608669f667b851472278a62e..79a44fb110f51d445ea2a3b861402a26bdc47497 100644 GIT binary patch delta 812 zcmdn;gL%sj<_WT_W)|iamK&91IUuab2K?fiqdC4Y!?|Lc-!0h8G+CaX2O_lDfd4;C zc7mPwW^dsT7MSAY;+uDiPl3sTjLMeY0_ASr;A+G;IigTt@`Of#$pxjNll_ypC+jgu zZ{Dcj#soFtf||r;5#{YLEf>@-BbZ8zljT$dHs8`-2vxngLGLz9I>G2VjM<>4#JD-m zd?(CIkRy$)BA|}kJi$(y9qN+}t}x>#8vva?-*W-f3@|s^cMgo3V3f2uF0d5F1)2Ch zga>Nkrbu>J0D#ox#lqD!=t*o!JPy+ZlGIB@mfUSH%fJi< z1*K}q8JH}H%Ui*MEUR1d2PO;B>)Id!lLc{0TVh~bkVS7h-oQc!#Qoa+0>PEo{HyOX zjBCITjsD$JVA20zx-;Wu{%L0zp@H~dIzP-}kXhWb-=S*W!X#j*m#?p&U}$1#Y64Df zz(fWzc0W|%W`pJP88-(my#+JUV0k6XNRZ=?uJVC79>|^iKE!*nLl4X5n)Q2Osz9+9 xx>-U2nu;3qLN*_}+zyikIV@-BbZ8zljT$dHs8`-2vxngLGLz9I>G2VjM<>4#JD-m zd?(CIkRy$)BA|}kJi$(y9qN+}t}x>#8vva?-*W-f3@|s^cMgo3V3f2uF0d5F1)2Ch zga>Nkrbu>J0D#ox#lqD!=t*o!JPy+ZlGIB@mfUSH%fJi< z1*K}q8JH}H%Ui*MEUR1d2PO;B>)Id!lLc{0TVh~bkVS7h-oQc!#Qoa+0>PEo{HyOX zjBCITjsD$JVA20zx-;Wu{%L0zp@H~dIzP-}kXhWb-=S*W!X#j*m#?p&U}$1#Y64Df zz(fWzc0W|%W`pJP88-(my#+JUV0k6XNRZ=?uJVC79>|^iKE!*nLl4X5n)Q2Osz9+9 xx>-U2nu;3qLN*_}+zyikIV+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7_;L#gN=bQSy-dinYah9;J#CSV7Etp#h9mqXTCtEk1eIbZ%0Ba(5o ziZTe-iErMjqJ`j!ZT_Wx6v36)d`DXlm8;1(`L7xOWEmEr&1$;)82L%mlxRl*6ISXlWyAlLikX8^Lu*^WJ83U7b3Xgo6o!bLsop= z4QM9FNq3m|HY<1^M>dz)mj|I!Y_nFtNn|cx$Uv^-C)^D2%?tC+GXVgVfSAw# delta 539 zcmezHi1EWC#tE{lhL%RA<{OoKSs|>+3Pxg^yI6lSBXJjS9%O=Z#W&aTyg}x+^8Y|^ z#WpYC+|D%FUz7_;L#gN=bQSy-dinYah9;J#CSV7Etp#h9mqXTCtEk1eIbZ%0Ba(5o ziZTe-iErMjqJ`j!ZT_Wx6v36)d`DXlm8;1(`L7xOWEmEr&1$;)82L%mlxRl*6ISXlWyAlLikX8^Lu*^WJ83U7b3Xgo6o!bLsop= z4QM9FNq3m|HY<1^M>dz)mj|I!Y_nFtNn|cx$Uv^-C)^D2%?tC+GXVg^l9wI; diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 4a089914e98b947c9a29ef60fd4d5a6c86484dd7..c72ce5cdae8435c43727bb10e6743aaff86706cf 100644 GIT binary patch delta 3015 zcmZuze@xX?6yJHtH006K9H_*6(w3F^g2_u*6JL%>Y@jQ((Ht^<%*Uo!*3>o=*K#@A z=*eySVk?EBoHh~Ot&Td)m-q{L;G2b(P@aJp>t{bMm`ac>@rMs5pK%X|54Y*5MKUVe{^ z75oa8XOV?IXj+^m%2U$h6@Mv+*8=t8@WM2E+x?Ka6!DU3v8cEwy!eXsuR`Ra;x8lQ8$>sMEL~G;P>!tWw9N;_$ePRA{7CghrXLCxL3r(eBhIj# zHSDRSofc1ShD`dBnQy{kd9Y2Z)87hOf+vCl%Y+W1u+z?lCdplxu--C z+cK!xkG$IjV$U`!A(Y}w;cqLI=?%6vL%#RNL1jC}LG?SwL5&}cgW4MzQi)UNc`r9Uobl&(#*T~f7ME%s}t73VtTR!qxpB370YY|BAK8|#_l>@DgC;e>`xaO3& za=$IcOR8k#;FlaG5=G=-RE0^@50%My`+Jz2E^%_}b5 zP3qe5{={FMqeOpU+z7l1(`C~@H5a#*r(UyV8WUA=@WxjbzZxS|V(^BJvy9y8wcOBn z({NNqZgU-LC_HTcsVCg<2v0aY@x<`RurBOB?j$Q8eYoHMK;ii)ijix$ftBVM!h`PsQ35PNqj0zY%Ga<2{4U$!)-FSN@`~Xw@ zWBUtZIqFDpuX7|q_(&>VD(UEb!ZE{G?o$q?OjkZL+BC^J$yhKCP9|w>8u(SlHa|o$ zFdq_bfhr`>J_K3Aq5|NQDUY!1`9wL>pb*Z*okehsqodsEd%-3#0(Ep%E!&eNJhwl? z(2MXl7abLAHU9ZBOygL`vodhnE0As7ui8gqic(tf&E>#X5z>#FIq$SC10%Ks(lFz7 z$Yv*K+TgNsm}IG`M#;ptSHpG-py7wBDeYoCMQ$19Rw8i(Tv3(2FVedw0;f7RzLBJVo+2m9KpYx010 zr(o|^;QP~LN@*CwM8FwScc6jt?lIpP&Q)xBl)c08NPAB}xBAVE4|dw#V{Dh>1+7gl z+&JT7;Nfo&T!$-nJ6g8oCi9%M$gUi>wM;VFvB@H*ne5If zTMY>vO%~{}$R>8%S|%Co*kth-lg+wlt0AE_89jgMu=ZzY=ZaK-K|sHnzxYx=oC1$I zxts(dDHWL~ZWwTQ3C-lLpmorQ--OFLE_mJ6QV*vf(#~P-Rn_*#Zb8XBew}7z;;d<| k7*pxqojl#O)dJM(dTO43Y*i`P@XdBv?`#arb`81y2i4B*rT_o{ delta 3015 zcmZuze@xX?6yJHtH006K9H_*6(w3F^g5*tD6JL%>Y@jQ((Ht^<%*Uo!*3>o=*K#@A z=*eySVk?EBoHh~Ot&Td)m-q{L;G2b(P@J#H^<}XT9|00Q#p?D3Km>-VPC8d*{Loux~Xs3^TEVg+fkxU37N6q;vqjwS=Ed>}eH-SVv! z7nm-vDv_?eJdv)w+@$;D4WgSrmaeHaC`ZrUAiQ?K5ocJ= z8_R#AR0Y=AsZ+8Dtou(hELs0!k^|^}NXILiH?p5LCYm=6%Frgxf*1-`$=DXO+*6{6 zZ5h<;N8arMv1gl=5K3{T@VAx9^afj-A>aGspt2p~p!%KTpvI5JLG6tUsl@f|<`byI z_3btz{cRIPI&XZWYh-G3qJC=gRk6I+Eg$);&kAk0wFsnlA4fXe%7IqLlm4~|TysiX zx!)G!B~>zV@JkL8i6U|^s=_4dhstEU{XNcINRow)PPQOJl1<3SQL{|{!k<_>a@4MJ z>L}6Zd)kOS3SOCi;sDzkg%?MX<14z7<27fK9T2{nu}Y@Q?J=FjfpBbc;hRJUyYF}F?d7ASw?R4T5f2( zX*en)x4Dir6dtz!)Dv!ageRPycw%^DSQqvmcaoKlKHTsB@(k1B$XynhAxAE~KgtTR z=7^>DFKA}p18!*~4}5^RF5pT~$ivpjF*lWV)%5!&)opy94u?dju*Eo?2J4MksbIC7 z(n=_gOlc z=tcOOi;jx58vlG5rg5y}Ss6I(709;kSM4J)MJcWL=5pYx2A4BrvPJVBzDb)5(lX*^BWLJ*cS|%Co*kqB@Om^p# zt%ih-CJXdfWD~n>Et8CPY_fQa$!1-&)sRq|jGjMrSo<@yb44n^AfR8(Uwo+_PJzdq zTuuU!l#0v~Hw-wugl2MA&^l|f kjHz_*PM+@CY60qXJvGliwyG3t_-4DTcQyuQyM|o<1GlB-EC2ui diff --git a/lib/tss.ppu b/lib/tss.ppu index e74853d30d6ab618ec5d0964a338c5f39e17acb4..70b74ce191e48c2684af19f9a60898350e22e559 100644 GIT binary patch delta 13 Ucmew?@mXSm7Za1+Mjv$^040|MV*mgE delta 13 Ucmew?@mXSm7n7p(Mjv$^0472Ne*gdg diff --git a/src/driver/PCI.pas b/src/driver/PCI.pas index 044ac26c..636b2170 100644 --- a/src/driver/PCI.pas +++ b/src/driver/PCI.pas @@ -295,6 +295,8 @@ function read_device_config(bus : uint8; slot : uint8; func : uint8; offset : ui var tmp : TPCI_Device; i : uint16; + off : uint32; + begin memset(uint32(@tmp), 0, sizeof(TPCI_Device)); @@ -303,62 +305,62 @@ begin // psleep(1000); // end; + off:= offset; + tmp.device_id := read16(bus, slot, func, off, 2); + tmp.vendor_id := read16(bus, slot, func, off, 0); - tmp.device_id := read16(bus, slot, func, offset, 2); - tmp.vendor_id := read16(bus, slot, func, offset, 0); + off:= off+4; + tmp.status := read16(bus, slot, func, off, 2); + tmp.command := read16(bus, slot, func, off, 0); - offset := $04; - tmp.status := read16(bus, slot, func, offset, 2); - tmp.command := read16(bus, slot, func, offset, 0); + off:= off+4; + tmp.class_code := read8(bus, slot, func, off, 3); + tmp.subclass_class := read8(bus, slot, func, off, 2); + tmp.prog_if := read8(bus, slot, func, off, 1); + tmp.revision_id := read8(bus, slot, func, off, 0); - offset := $08; - tmp.class_code := read8(bus, slot, func, offset, 3); - tmp.subclass_class := read8(bus, slot, func, offset, 2); - tmp.prog_if := read8(bus, slot, func, offset, 1); - tmp.revision_id := read8(bus, slot, func, offset, 0); - - offset := $0C; - tmp.BIST := read8(bus, slot, func, offset, 3); - tmp.header_type := read8(bus, slot, func, offset, 2); - tmp.latency_timer := read8(bus, slot, func, offset, 1); - tmp.cache_size := read8(bus, slot, func, offset, 0); + off:= off+4; + tmp.BIST := read8(bus, slot, func, off, 3); + tmp.header_type := read8(bus, slot, func, off, 2); + tmp.latency_timer := read8(bus, slot, func, off, 1); + tmp.cache_size := read8(bus, slot, func, off, 0); - offset := offset + $04; - tmp.address0 := read32(bus, slot, func, offset); - offset := offset + $04; - tmp.address1 := read32(bus, slot, func, offset); - offset := offset + $04; - tmp.address2 := read32(bus, slot, func, offset); - offset := offset + $04; - tmp.address3 := read32(bus, slot, func, offset); - offset := offset + $04; - tmp.address4 := read32(bus, slot, func, offset); - offset := offset + $04; - tmp.address5 := read32(bus, slot, func, offset); + off:= off+4; + tmp.address0 := read32(bus, slot, func, off); + off:= off+4; + tmp.address1 := read32(bus, slot, func, off); + off:= off+4; + tmp.address2 := read32(bus, slot, func, off); + off:= off+4; + tmp.address3 := read32(bus, slot, func, off); + off:= off+4; + tmp.address4 := read32(bus, slot, func, off); + off:= off+4; + tmp.address5 := read32(bus, slot, func, off); - offset := offset + $04; - tmp.CIS_pointer := read32(bus, slot, func, offset); + off:= off+4; + tmp.CIS_pointer := read32(bus, slot, func, off); - offset := offset + $04; - tmp.subsystem_id := read16(bus, slot, func, offset, 2); - tmp.subsystem_vid := read16(bus, slot, func, offset, 0); + off:= off+4; + tmp.subsystem_id := read16(bus, slot, func, off, 2); + tmp.subsystem_vid := read16(bus, slot, func, off, 0); - offset := offset + $04; - tmp.exp_rom_addr := read32(bus, slot, func, offset); + off:= off+4; + tmp.exp_rom_addr := read32(bus, slot, func, off); - offset := offset + $04; - tmp.reserved0 := read16(bus, slot, func, offset, 3); - tmp.reserved1 := read8(bus, slot, func, offset, 1); - tmp.capabilities := read8(bus, slot, func, offset, 0); + off:= off+4; + tmp.reserved0 := read16(bus, slot, func, off, 3); + tmp.reserved1 := read8(bus, slot, func, off, 1); + tmp.capabilities := read8(bus, slot, func, off, 0); - offset := offset + $04; - tmp.reserved2 := read32(bus, slot, func, offset); + off:= off+4; + tmp.reserved2 := read32(bus, slot, func, off); - offset := offset + $04; - tmp.max_latency := read8(bus, slot, func, offset, 3); - tmp.min_grant := read8(bus, slot, func, offset, 2); - tmp.interrupt_pin := read8(bus, slot, func, offset, 1); - tmp.interrupt_line := read8(bus, slot, func, offset, 0); + off:= off+4; + tmp.max_latency := read8(bus, slot, func, off, 3); + tmp.min_grant := read8(bus, slot, func, off, 2); + tmp.interrupt_pin := read8(bus, slot, func, off, 1); + tmp.interrupt_line := read8(bus, slot, func, off, 0); console.writestring('PCI: Found Device: '); console.writehex(slot);