diff --git a/src/driver/PCI.pas b/src/driver/PCI.pas index cce60004..18140937 100644 --- a/src/driver/PCI.pas +++ b/src/driver/PCI.pas @@ -276,13 +276,13 @@ end; function read8(bus : uint8; slot : uint8; func : uint8; offset : uint8; part : uint8) : uint8; begin loadConfig(bus, slot, func, offset); - read8 := (inl($CFC) shr (part * 8)) and $FF; + read8 := (inl($CFC) shr (part)) and $FF; end; function read16(bus : uint8; slot : uint8; func : uint8; offset : uint8; part : uint8) : uint16; begin loadConfig(bus, slot, func, offset); - read16 := (inl($CFC) shr (part * 16)) and $FFFF; + read16 := (inl($CFC) shr (part * 2)) and $FFFF; end; function read32(bus : uint8; slot : uint8; func : uint8; offset : uint8) : uint32;