Contributor: CRAIG HART
{
> Does anyone here have code to detect if a system got ISA, VL or PCI-bus
> ?
> Please respond with code.
An extract of my system diagnostics tools. Have fun.. :) (Put this in SWAG if
you want...)
}
procedure getbustype;
var
 works : boolean;
 data_seg : word;
 data_ofs : word;
 test : string[4];
begin
 bustype:='';
 works:=false;
 if not works then { EISA }
 begin
 test:='EISA';
 test[2]:=chr(mem[$f000:$ffd9]);
 test[1]:=chr(mem[$f000:$ffda]);
 test[4]:=chr(mem[$f000:$ffdb]);
 test[3]:=chr(mem[$f000:$ffdc]);
 if test='EISA' then
 begin
 works:=true;
 bustype:='EISA';
 end;
 end;
 if not works then { MCA }
 begin
 asm
 mov ah,0c0h
 int 15h
 cmp ah,0
 jnz @nope
 mov works,true
 mov data_seg,es
 mov data_ofs,bx
 @nope:
 end;
 if works then if (mem[data_seg:data_ofs+5] and 2)=2 then bustype:='MCA'
else works:=false; end;
 if not works then { PCI }
 begin
 asm
 mov ax,$b101
 int 1ドルa
 cmp ah,00
 jne @nope
 mov works,true
 @nope:
 end;
 if works then bustype:='ISA/PCI';
 end;
 if not works then bustype:='ISA'; { ISA ? }
end;


AltStyle によって変換されたページ (->オリジナル) /