{Locate south bridge}
For Pos_ := 0 to $FF do
If ( GetPCIRegD( $00, Pos_ shr 3, Pos_ and $07, $00 ) and $FFFF ) <> $FFFF then
If ( GetPCIRegD( $00, Pos_ shr 3,
Pos_ and $07, $08 ) shr 8 ) = $60100 then Break;
If Pos_ = $FF then {v1.22 for i430MX}
For Pos_ := 0 to $FF do
If ( GetPCIRegD( $00, Pos_ shr 3, Pos_ and $07, $00 ) and $FFFF ) <> $FFFF then
If ( GetPCIRegD( $00, Pos_ shr 3,
Pos_ and $07, $08 ) shr 8 ) = $68000 then Break;
If Pos_ = $FF then {v1.31 for old chipsets}
For Pos_ := 0 to $FF do
If ( GetPCIRegD( $00, Pos_ shr 3, Pos_ and $07, $00 ) and $FFFF ) <> $FFFF then
If ( GetPCIRegD( $00, Pos_ shr 3,
Pos_ and $07, $08 ) shr 8 ) = $00000 then Break;
SouthPos := Pos_;
{Get south bridge MID & DID}
SouthMan := GetPCIRegD( $00, SouthPos shr 3, SouthPos and $07, $00 );
SouthID := GetPCIRegD( $00, SouthPos shr 3, SouthPos and $07, $00 ) shr 16;
{Get south bridge rev ID}
SouthRev := GetPCIRegD( $00, SouthPos shr 3, SouthPos and $07, $08 );
|