Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 204 → Rev 205

/programs/system/pcidev/trunk/PCIDEV.ASM
1,12 → 1,12
;***************************************************************
; project name: PCI Device Enumeration
; target platform: KolibriOS and MenuetOS
; compiler: flat assmebler 1.63.2
; version: 1.31
; last update: 13(th) May 2006
; maintained by: Jason Delozier (cordata51)
; e-mail: cordata51@hotmail.com
; project site: http://www.asmfreaks.com/menuetos
; compiler: flat assmebler 1.66
; version: 2.0
; last update: 30(th) August 2006
; maintained by: Jason Delozier and Sergey Kuzmin
; e-mail: cordata51@hotmail.com and kuzmin_serg@list.ru
; project site: http://www.coolthemes.narod.ru/pcidev.html
;***************************************************************
;Summary: This program will attempt to scan the PCI Bus
; and display basic information about each device
15,9 → 15,27
;HISTORY:
;keep dates in european format (dd/mm/yyyy), please
; '!' means big changes
;
; to-do:
;PCI version should be normalized (0210->02.10)
; PCI version should be normalized 0210 -> 02.10 (it is BCD number)
; vendor's website
; more vendors
; device IRQ
; Subsystem id and Subsystem vendor id detection
 
; Full device detection (like "ATI Radeon 9200") will increase app
; size a lot and probably it is function of particular drivers
;----------------------------------------------------------------
;2.0: PCIDEV 30/08/2006
;(it differs a lot from the version 1.0, which was introduced 19 months ago)
;Author: Marat Zakiyanov aka Mario79 <mario79@bk.ru>
; Sergey Kuzmin aka Wildwest <kuzmin_serg@list.ru>
;Features:
; added
; * Detection of Interface by Mario79
; * 122 vendor id's by Wildwest
; * Description is based on Class, SubClass and Interface now (PCI 3.0) by Wildwest
;----------------------------------------------------------------
;1.31: PCIDEV 13/05/2006
;Author: Jason Delozier <cordata51@hotmail.com>
;Features:
117,8 → 135,7
 
 
include 'macros.inc'
include 'vendors.inc'
include 'lang.inc'
include 'VENDORS.INC'
 
START: ; start of execution
call draw_window
209,7 → 226,7
mov ebx, 20*65536+25 ;x start, ystart of text
mov ecx, 0x224466 ;color of text
mov edx, dword PCIWin ;start of text buffer
mov esi, 106 ;lenght of line
mov esi, 106 ;lenght of line 106
newline: ;
mov eax, 4 ;draw text system function
int 0x40 ;draw the text
224,8 → 241,8
shl ebx, 16 ;
mov bx,word [Form] ;get width of window
sub bx, 32 ;bar is 32 pixels shorter then window width
mov ecx, 109*65536+10 ;set Ystart(109) and Height(10) of bar
mov edx, 0xb6b6b6 ;set color of bar
mov ecx, 119*65536+10 ;set Ystart(109) and Height(10) of bar 109
mov edx, 0xC0C0C0 ;set color of bar
again: ;begin draw bar loop
int 0x40 ;draw bar to window area
shr ecx, 16 ;move the Ystart position to working area
271,7 → 288,7
 
 
;******************************************************
;* Gets the PCI Versioin and Last Bus
;* Gets the PCI Version and Last Bus
Get_PCI_Info:
mov eax, 62
xor ebx, ebx
326,6 → 343,12
mov cl, 0x0a ;Register to read (Get Subclass)
int 0x40 ;Read it
mov byte [PCI_SubClass], al ;Save it
; from Mario79 august 2006
mov eax, 62 ;PCI Sys Function
mov cl, 0x09 ;Register to read (Get Interface)
int 0x40 ;Read it
mov [PCI_Interface], al ;Save it
;
inc byte [total] ;one more device found
call Print_New_Device ;print device info to screen
nextDev:
378,9 → 401,15
movzx ecx,byte [PCI_Class] ;get PCI_Class
int 0x40 ;Draw Class to screen
and edx, 0xFFFF ;*****************************************
or edx, 266*65536 ;X start becomes 266
or edx, 250*65536 ;X start becomes 250
movzx ecx,byte [PCI_SubClass];get sub class
int 0x40 ;Draw Sub Class to screen
; from Mario79 august 2006
and edx, 0xFFFF ;*****************************************
or edx, 280*65536 ;X start becomes 280
movzx ecx, [PCI_Interface] ;get Interface
int 0x40
;
;Write Names
movzx ebx, dx ;Set y position
or ebx, 310*65536 ;set Xposition to 310
396,22 → 425,22
;first determine which list to find the vendor in
mov ax, word [PCI_Vendor]
mov ecx, 255 ;# vendors in most lists
cmp ax,4800 ;Check if Vendor's value is less than this number
cmp ax,4540 ;Check if Vendor's value is less than this number (the start of next part)
jae next1 ;if it is less, let's continue, or jump to next1
mov edx, _FIRSTPART ;select this list
jmp rep1 ;start searching list
next1: ;
cmp ax,5314 ;same thing happening here as above^
cmp ax,5120 ;same thing happening here as above^
jae next2 ;
mov edx, _SECONDPART ;
jmp rep1 ;
next2: ;
cmp ax,5574 ;
cmp ax,5459 ;
jae next3 ;
mov edx, _THIRDPART ;
jmp rep1 ;
next3: ;
mov ecx, 110 ;only 110 vendors in this list
mov ecx, 222 ;only 222 vendors in this list
mov edx, _FOURTHPART ;
 
rep1:
428,7 → 457,6
mov eax,4 ;OS CMD
mov esi,50 ;Length of text
int 0x40 ;Print the text
;------------------------------------------------------------------
 
;------------------------------------------------------------------
;Get description based on Class/Subclass
438,14 → 466,556
shl eax, 3 ;multiply for jump table
mov ecx, [ClassList+eax+4] ;number of descriptions for this class
mov edx, [ClassList+eax] ;start of description list for class
movzx eax, byte [PCI_SubClass] ;get subclass
 
mov al, byte [PCI_SubClass] ;get subclass
; mov ah, byte [PCI_Interface] ;get subclass
repu1:
cmp al,byte[edx+32] ;are subclasses the same?
je endd ;if so jump to print the description to screen
je interface_check ;if so jump to print the description to screen
add edx, 33 ;if not put us at start of next description
dec ecx ;one less description in list
jnz repu1 ;was it our last?
mov edx,_UNKNOWND ;if so its unknown device
jmp endd
 
interface_check:
 
cmp [PCI_Class], 00h
je endd
 
;////////////////////////////
cmp [PCI_Class], 01h
je check01
jmp nextclass02
 
check01:
cmp [PCI_SubClass], 05h
je sc01_05
jmp endd
 
sc01_05:
cmp [PCI_Interface], 20h
je sc01_05_20
cmp [PCI_Interface], 30h
je sc01_05_30
jmp endd
 
 
sc01_05_20:
mov edx,ata1 ; pointer to text beginning
jmp endd
 
sc01_05_30:
mov edx,ata2 ; pointer to text beginning
jmp endd
 
 
;////////////////////////////
nextclass02:
cmp [PCI_Class], 02h
je endd
;////////////////////////////////
cmp [PCI_Class], 03h
je check03
jmp nextclass04
 
check03:
cmp [PCI_SubClass], 00h
je sc03_00
jmp endd
 
sc03_00:
cmp [PCI_Interface], 00000000b
je sc03_00_00000000
cmp [PCI_Interface], 00000001b
je sc03_00_00000001
;jmp endd
 
 
sc03_00_00000000:
mov edx,display1 ; pointer to text beginning
jmp endd
 
sc03_00_00000001:
mov edx,display2 ; pointer to text beginning
jmp endd
;///////////////////////////////
nextclass04:
cmp [PCI_Class], 04h
je endd
 
cmp [PCI_Class], 05h
je endd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cmp [PCI_Class], 06h
 
je check06
jmp nextclass07
 
check06:
cmp [PCI_SubClass], 04h
je sc06_04
 
cmp [PCI_SubClass], 09h
je sc06_09
jmp endd
 
sc06_04:
cmp [PCI_Interface], 00h
je sc06_04_00
cmp [PCI_Interface], 01h
je sc06_04_01
jmp endd
 
 
sc06_04_00:
mov edx,bridge1 ; pointer to text beginning
jmp endd
 
sc06_04_01:
mov edx,bridge2 ; pointer to text beginning
jmp endd
 
;======================================
 
sc06_09:
cmp [PCI_Interface], 40h
je sc06_09_40
cmp [PCI_Interface], 80h
je sc06_09_80
jmp endd
 
 
sc06_09_40:
mov edx,bridge3 ; pointer to text beginning
jmp endd
 
sc06_09_80:
mov edx,bridge4 ; pointer to text beginning
jmp endd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
nextclass07:
cmp [PCI_Class], 07h
je check07
jmp nextclass08
 
check07:
cmp [PCI_SubClass], 00h
je sc07_00
 
cmp [PCI_SubClass], 01h
je sc07_01
 
cmp [PCI_SubClass], 03h
je sc07_03
jmp endd
 
;=
sc07_00:
cmp [PCI_Interface], 00h
je sc07_00_00
cmp [PCI_Interface], 01h
je sc07_00_01
cmp [PCI_Interface], 02h
je sc07_00_02
cmp [PCI_Interface], 03h
je sc07_00_03
cmp [PCI_Interface], 04h
je sc07_00_04
cmp [PCI_Interface], 05h
je sc07_00_05
cmp [PCI_Interface], 06h
je sc07_00_06
 
 
sc07_00_00:
mov edx,communication0 ; pointer to text beginning
jmp endd
 
sc07_00_01:
mov edx,communication1 ; pointer to text beginning
jmp endd
 
sc07_00_02:
mov edx,communication2 ; pointer to text beginning
jmp endd
 
sc07_00_03:
mov edx,communication3 ; pointer to text beginning
jmp endd
 
sc07_00_04:
mov edx,communication4 ; pointer to text beginning
jmp endd
 
sc07_00_05:
mov edx,communication5 ; pointer to text beginning
jmp endd
 
sc07_00_06:
mov edx,communication6 ; pointer to text beginning
jmp endd
;=
sc07_01:
cmp [PCI_Interface], 00h
je sc07_01_00
cmp [PCI_Interface], 01h
je sc07_01_01
cmp [PCI_Interface], 02h
je sc07_01_02
cmp [PCI_Interface], 03h
je sc07_01_03
cmp [PCI_Interface], $FE
je sc07_01_FE
 
 
sc07_01_00:
mov edx,communication7 ; pointer to text beginning
jmp endd
 
sc07_01_01:
mov edx,communication8 ; pointer to text beginning
jmp endd
 
sc07_01_02:
mov edx,communication9 ; pointer to text beginning
jmp endd
 
sc07_01_03:
mov edx,communication10 ; pointer to text beginning
jmp endd
 
sc07_01_FE:
mov edx,communication11 ; pointer to text beginning
jmp endd
 
 
;=
sc07_03:
cmp [PCI_Interface], 00h
je sc07_03_00
cmp [PCI_Interface], 01h
je sc07_03_01
cmp [PCI_Interface], 02h
je sc07_03_02
cmp [PCI_Interface], 03h
je sc07_03_03
cmp [PCI_Interface], 04h
je sc07_03_04
 
 
sc07_03_00:
mov edx,communication12 ; pointer to text beginning
jmp endd
 
sc07_03_01:
mov edx,communication13 ; pointer to text beginning
jmp endd
 
sc07_03_02:
mov edx,communication14 ; pointer to text beginning
jmp endd
 
sc07_03_03:
mov edx,communication15 ; pointer to text beginning
jmp endd
 
sc07_03_04:
mov edx,communication16 ; pointer to text beginning
jmp endd
 
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
nextclass08:
cmp [PCI_Class], 08h
je check08
jmp nextclass09
 
check08:
cmp [PCI_SubClass], 00h
je sc08_00
cmp [PCI_SubClass], 01h
je sc08_01
cmp [PCI_SubClass], 02h
je sc08_02
cmp [PCI_SubClass], 03h
je sc08_03
jmp endd
;--
sc08_00:
cmp [PCI_Interface], 00h
je sc08_00_00
cmp [PCI_Interface], 01h
je sc08_00_01
cmp [PCI_Interface], 02h
je sc08_00_02
cmp [PCI_Interface], 10h
je sc08_00_10
cmp [PCI_Interface], 20h
je sc08_00_20
jmp endd
 
 
sc08_00_00:
mov edx,system0 ; pointer to text beginning
jmp endd
 
sc08_00_01:
mov edx,system1 ; pointer to text beginning
jmp endd
 
sc08_00_02:
mov edx,system2 ; pointer to text beginning
jmp endd
 
sc08_00_10:
mov edx,system3 ; pointer to text beginning
jmp endd
 
sc08_00_20:
mov edx,system4 ; pointer to text beginning
jmp endd
 
;--
 
sc08_01:
cmp [PCI_Interface], 00h
je sc08_01_00
cmp [PCI_Interface], 01h
je sc08_01_01
cmp [PCI_Interface], 02h
je sc08_01_02
jmp endd
 
 
sc08_01_00:
mov edx,system5 ; pointer to text beginning
jmp endd
 
sc08_01_01:
mov edx,system6 ; pointer to text beginning
jmp endd
 
sc08_01_02:
mov edx,system7 ; pointer to text beginning
jmp endd
 
 
;--
 
sc08_02:
cmp [PCI_Interface], 00h
je sc08_02_00
cmp [PCI_Interface], 01h
je sc08_02_01
cmp [PCI_Interface], 02h
je sc08_02_02
jmp endd
 
 
sc08_02_00:
mov edx,system8 ; pointer to text beginning
jmp endd
 
sc08_02_01:
mov edx,system9 ; pointer to text beginning
jmp endd
 
sc08_02_02:
mov edx,system10 ; pointer to text beginning
jmp endd
 
;--
sc08_03:
cmp [PCI_Interface], 00h
je sc08_03_00
cmp [PCI_Interface], 01h
je sc08_03_01
jmp endd
 
 
sc08_03_00:
mov edx,system11 ; pointer to text beginning
jmp endd
 
sc08_03_01:
mov edx,system12 ; pointer to text beginning
jmp endd
 
;--
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
nextclass09:
 
cmp [PCI_Class], 09h
je check09
jmp nextclass0A
 
check09:
cmp [PCI_SubClass], 04h
je sc09_04
jmp endd
 
sc09_04:
cmp [PCI_Interface], 00h
je sc09_04_00
cmp [PCI_Interface], 10h
je sc09_04_10
jmp endd
 
 
sc09_04_00:
mov edx,gameport1 ; pointer to text beginning
jmp endd
 
sc09_04_10:
mov edx,gameport2 ; pointer to text beginning
jmp endd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
nextclass0A:
cmp [PCI_Class], 0Ah
je endd
 
cmp [PCI_Class], 0Bh
je endd
;============================================
cmp [PCI_Class], 0Ch
je check0C
jmp nextclass0D
 
check0C:
cmp [PCI_SubClass], 00h
je sc0C_00
cmp [PCI_SubClass], 03h
je sc0C_03
cmp [PCI_SubClass], 07h
je sc0C_07
jmp endd
;;;;;;;;;;;
 
sc0C_00:
cmp [PCI_Interface], 00h
je sc0C_00_00
 
cmp [PCI_Interface], 10h
je sc0C_00_10
 
 
 
sc0C_00_00:
mov edx,serialbus6 ; pointer to text beginning
jmp endd
 
sc0C_00_10:
mov edx,serialbus7 ; pointer to text beginning
jmp endd
;;;;;;;;;;;;;;;;;;;
 
sc0C_03:
cmp [PCI_Interface], 00h
je sc0C_03_00
 
cmp [PCI_Interface], 10h
je sc0C_03_10
 
cmp [PCI_Interface], 20h
je sc0C_03_20
cmp [PCI_Interface], 80h
je sc0C_03_80
 
cmp [PCI_Interface], $FE
je sc0C_03_FE
 
;jmp endd
 
sc0C_03_00:
mov edx,serialbus1 ; pointer to text beginning
jmp endd
 
sc0C_03_10:
mov edx,serialbus2 ; pointer to text beginning
jmp endd
 
 
sc0C_03_20:
mov edx,serialbus3 ; pointer to text beginning
jmp endd
 
sc0C_03_80:
mov edx,serialbus4 ; pointer to text beginning
jmp endd
 
sc0C_03_FE:
mov edx,serialbus5 ; pointer to text beginning
jmp endd
 
;;;;;;;;;;;
 
sc0C_07:
cmp [PCI_Interface], 00h
je sc0C_07_00
 
cmp [PCI_Interface], 01h
je sc0C_07_01
 
cmp [PCI_Interface], 02h
je sc0C_07_02
 
 
sc0C_07_00:
mov edx,serialbus8 ; pointer to text beginning
jmp endd
 
sc0C_07_01:
mov edx,serialbus9 ; pointer to text beginning
jmp endd
 
sc0C_07_02:
mov edx,serialbus10 ; pointer to text beginning
jmp endd
;;;;;;;;;;;;;;;;;;;
;==============================================
nextclass0D:
cmp [PCI_Class], 0Dh
je endd
;;;;;;;;;;;;;;;;;;;;;;;;;;
cmp [PCI_Class], 0Eh
je check0E
jmp nextclass0F
 
check0E:
cmp [PCI_SubClass], 00h
je sc0E_00
jmp endd
 
sc0E_00:
cmp [PCI_Interface], 00h
je sc0E_00_00
cmp [PCI_Interface], 00h ;!!!
ja sc0E_00_xx
jmp endd
 
 
sc0E_00_00:
mov edx,i2o1 ; pointer to text beginning
jmp endd
 
sc0E_00_xx:
mov edx,i2o2 ; pointer to text beginning
jmp endd
 
 
;////////////////////////////
nextclass0F:
cmp [PCI_Class], 0Fh
je endd
 
cmp [PCI_Class], 10h
je endd
 
cmp [PCI_Class], 11h
je endd
 
endd:
and ebx, 0x0000FFFF ;clear X position
or ebx, 0x02300000 ;set X position to 560 pixels
471,30 → 1041,226
; DATA AREA
 
labelt:
db 'PCI Device Enumeration v 1.31 by J. Delozier, S. Kuzmin and V. Hanla'
db 'PCI Device Enumeration v 2.0 by J. Delozier, S. Kuzmin, V. Hanla, M. Zakiyanov'
labellen:
 
if lang eq de
ata1:
db 'Storage - ATA c. w/ single DMA '
ata1len:
 
ata2:
db 'Storage - ATA c. w/ chained DMA '
ata2len:
 
 
display1:
db 'Display - VGA-compatible c. '
display1len:
 
display2:
db 'Display - 8514-compatible c. '
display2len:
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
serialbus1:
db 'Serial Bus - USB Universal HC '
serialbus1len:
 
serialbus2:
db 'Serial Bus - USB Open HC '
serialbus2len:
 
serialbus3:
db 'Serial Bus - USB2 Enhanced HC '
serialbus3len:
 
serialbus4:
db 'Serial Bus - USB w/o specific PI'
serialbus4len:
 
serialbus5:
db 'Serial Bus - USB device (not HC)'
serialbus5len:
 
 
serialbus6:
db 'Serial Bus - IEEE 1394(FireWire)'
serialbus6len:
 
serialbus7:
db 'Serial Bus- IEEE 1394(Open HCI) '
serialbus7len:
 
 
serialbus8:
db 'Serial Bus - IPMI SMIC I. '
serialbus8len:
 
serialbus9:
db 'Serial Bus - IPMI Kybd CSI '
serialbus9len:
 
serialbus10:
db 'Serial Bus - IPMI BTI '
serialbus10len:
;;;;;;;;;;;;;;;;;;;;;;;
bridge1:
db 'Bridge - PCI/PCI '
bridge1len:
 
bridge2:
db 'Bridge - Subtract.Decode PCI/PCI'
bridge2len:
 
bridge3:
db 'Bridge - Semi-transp. PCI/PCI 1 '
bridge3len:
 
bridge4:
db 'Bridge - Semi-transp. PCI/PCI 2 '
bridge4len:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
gameport1:
db 'Input - Gameport c. (generic) '
gameport1len:
 
gameport2:
db 'Input - Gameport c. (legacy) '
gameport2len:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
i2o1:
db 'Intelligent I/O - I/O c. (I2O 1)'
i2o1len:
 
i2o2:
db 'Intelligent I/O - c.(FIFO @ 40h)'
i2o2len:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
communication0:
db 'Communication - Serial (XT) '
communication0len:
 
communication1:
db 'Communication - Serial c.(16450)'
communication1len:
 
communication2:
db 'Communication - Serial c.(16550)'
communication2len:
 
communication3:
db 'Communication - Serial c.(16650)'
communication3len:
 
communication4:
db 'Communication - Serial c.(16750)'
communication4len:
 
communication5:
db 'Communication - Serial c.(16850)'
communication5len:
 
communication6:
db 'Communication - Serial c.(16950)'
communication6len:
;-------------------------------
communication7:
db 'Communication - Parallel port '
communication7len:
 
communication8:
db 'Communication - Bi-dir. par.port'
communication8len:
 
communication9:
db 'Communication - ECP 1.X par.port'
communication9len:
 
communication10:
db 'Communication - IEEE1284 c. '
communication10len:
 
communication11:
db 'Communication - IEEE1284 device '
communication11len:
;-------------------------------
communication12:
db 'Communication - Generic modem '
communication12len:
 
communication13:
db 'Communication -Hayes modem 16450'
communication13len:
 
communication14:
db 'Communication -Hayes modem 16550'
communication14len:
 
communication15:
db 'Communication -Hayes modem 16650'
communication15len:
 
communication16:
db 'Communication -Hayes modem 16750'
communication16len:
 
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
system0:
db 'System - Generic 8259 PIC '
system0len:
 
system1:
db 'System - ISA PIC '
system1len:
 
system2:
db 'System - EISA PIC '
system2len:
 
system3:
db 'System - I/O APIC interrupt c. '
system3len:
 
system4:
db 'System - I/O(x) APIC interrupt c'
system4len:
;-
system5:
db 'System - Generic 8237 DMA c. '
system5len:
 
system6:
db 'System - ISA DMA c. '
system6len:
 
system7:
db 'System - EISA DMA c. '
system7len:
;--
system8:
db 'System - 8254 system timer '
system8len:
 
system9:
db 'System - ISA system timer '
system9len:
 
system10:
db 'System - EISA (2 system timers) '
system10len:
;--
system11:
db 'System - Generic RTC c. '
system11len:
 
system12:
db 'System - ISA RTC c. '
system12len:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PCIWin:
db 'Im Einstellungsmenue muss der PCI Zugriff eingeschaltet sein. '
db ' '
db ' '
db ' '
db 'PCI Version = '
db ' '
db 'Letzter PCI Bus = '
db ' '
db 'Anzahl von Geraeten = '
db ' '
db ' '
db ' '
db 'VenID DevID Bus# Dev# Fnc Rev Class Subclass Herste'
db 'ller Beschreibung '
db '----- ----- ---- ---- --- --- ----- -------- --------------------'
db '---------------------- ----------------'
db 'x'
else
PCIWin:
db 'Please remember to enable PCI Access to Applications in Setup Menu.'
db ' '
db ' '
503,17 → 1269,19
db ' '
db 'Last PCI Bus = '
db ' '
db 'Number of devices = '
db 'Quantity of devices = '
db ' '
db ' '
db ' '
db 'VenID DevID Bus# Dev# Fnc Rev Class Subclass Comp'
db 'VenID DevID Bus# Dev# Fnc Rev Class Subclass/ Comp'
db 'any Description '
db ' Interface '
db ' '
db '----- ----- ---- ---- --- --- ----- -------- --------------------'
db '---------------------- ----------------'
db 'x'
end if
 
;
 
total db 0
V_Bus db 0
527,8 → 1295,8
PCI_Rev db 0
PCI_Class db 0
PCI_SubClass db 0
PCI_Interface db 0
 
 
Proc_Info:
times 1024 db 0
 
/programs/system/pcidev/trunk/macros.inc
123,8 → 123,10
end if
}
 
macro __mov reg,a { ; mike.dld
if ~a eq
macro __mov reg,a,b { ; mike.dld
if (~a eq)&(~b eq)
mpack reg,a,b
else if (~a eq)&(b eq)
mov reg,a
end if
}
141,11 → 143,6
 
 
 
; language for programs
lang fix ru ; ru en fr ge fi
 
 
 
; optimize the code for size
__regs fix <eax,ebx,ecx,edx,esi,edi,ebp,esp>
 
177,7 → 174,7
 
macro mov arg1,arg2
{
if (arg1 in __regs) & (arg2 eqtype 0)
if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0'))
if (arg2) = 0
xor arg1,arg1
else if (arg2) = 1
221,7 → 218,13
.x_size dd ? ; +42
.y_size dd ? ; +46
.slot_state dw ? ; +50
rb (1024-52)
dw ? ; +52 - reserved
.client_left dd ? ; +54
.client_top dd ? ; +58
.client_width dd ? ; +62
.client_height dd ? ; +66
.wnd_state db ? ; +70
rb (1024-71)
}
struct process_information
 
/programs/system/pcidev/trunk/vendors.inc
1,3 → 1,17
;WriteTextToWindow
macro Text xStart,yStart,rgbColor,pText,nTextLen
{
mov ebx,xStart
shl ebx,16
add ebx,yStart
mov ecx,rgbColor
mov edx,pText
mov esi,nTextLen
mov eax,4
int 0x40
}
 
 
; AUTHOR: Victor Alberto Gil Hancco Laquita <vhanla@gmail.com>
; This list might content mistakes, plz report it
; There are 865 Lists of Vendors' Names
9,10 → 23,13
; changed 11/05/2006: + 3 vendors and no more label 'PREVIOUSVERSIONLIST'
; so the total quantity of vendors is 875 now (changes by Sergey Kuzmin)
 
; changed 16/08/2006: + 122 vendors
; so the total quantity of vendors is 987 now (changes by Sergey Kuzmin)
 
_FIRSTPART: ;lists the 255 Vendor IDs
db 'PARADYNE CORP. '
dw 51 ; 0x0033
db 'REAL 3D '
db 'Lockheed Martin Corp '
dw 61 ; 0x003D
db 'NCIPHER CORP. LTD '
dw 256 ; 0x0100
26,19 → 43,31
dw 4097 ; 0x1001
db 'ATI TECHNOLOGIES INC '
dw 4098 ; 0x1002
db 'ULSI '
dw 4099 ; 0x1003
db 'VLSI TECHNOLOGY INC '
dw 4100 ; 0x1004
db 'NATIONAL SEMICONDUCTOR CORPORATION '
dw 4107 ; 0x100B
db 'Tseng Labs '
dw 4108 ; 0x100C
db 'Weitek '
dw 4110 ; 0x100E
db 'VIDEO LOGIC LTD '
dw 4112 ; 0x1010
db 'Digital Equipment Corporation '
dw 4113 ; 0x1011
db 'Cirrus Logic '
dw 4115 ; 0x1013
db 'IBM '
dw 4116 ; 0x1014
db 'Spea Software AG '
dw 4119 ; 0x1017
db 'UNISYS CORPORATION '
dw 4120 ; 0x1018
db 'ELITEGROUP COMPUTER SYS '
dw 4121 ; 0x1019
db 'NCR '
db 'NCR Corporation '
dw 4122 ; 0x101A
db 'AMERICAN MEGATRENDS '
dw 4126 ; 0x101E
50,6 → 79,8
dw 4130 ; 0x1022
db 'TRIDENT MICROSYSTEMS '
dw 4131 ; 0x1023
db 'Acer Incorporated '
dw 4133 ; 0x1025
db 'DELL COMPUTER CORPORATION '
dw 4136 ; 0x1028
db 'LSI LOGIC CORPORATION '
56,14 → 87,24
dw 4138 ; 0x102A
db 'MATROX GRAPHICS '
dw 4139 ; 0x102B
db 'Asiliant (Chips And Technologies) '
dw 4140 ; 0x102C
db 'Wyse Technologies '
dw 4141 ; 0x102D
db 'TOSHIBA AMERICA '
dw 4143 ; 0x102F
db 'miro Computer Products AG '
dw 4145 ; 0x1031
db 'NEC CORPORATION '
dw 4147 ; 0x1033
db 'Future Domain '
dw 4150 ; 0x1036
db 'AMP '
dw 4152 ; 0x1038
db 'SILICON INTEGRATED SYSTEMS '
dw 4153 ; 0x1039
db 'Hewlett-Packard Company '
dw 4156 ; 0x103C
db 'SYNOPSYS/LOGIC MODELING GROUP '
dw 4159 ; 0x103F
db 'Micron Electronics '
78,21 → 119,31
dw 4168 ; 0x1048
db 'FOUNTAIN TECHNOLOGIES '
dw 4169 ; 0x1049
db 'STMicroelectronics '
dw 4170 ; 0x104A
db 'TEXAS INSTRUMENTS '
dw 4172 ; 0x104C
db 'SONY CORPORATION '
dw 4173 ; 0x104D
db 'Oak Technology '
dw 4174 ; 0x104E
db 'Co-Time Computer Ltd. '
dw 4175 ; 0x104F
db 'WINBOND ELECTRONICS CORP '
dw 4176 ; 0x1050
db 'Anigma Corp. '
dw 4177 ; 0x1051
db 'HITACHI '
dw 4180 ; 0x1054
db 'Standard Microsystems Corp. '
dw 4181 ; 0x1055
db 'Motorola '
dw 4183 ; 0x1057
db 'ETRI '
dw 4184 ; 0x1058
db 'TEKNOR INDUSTRIAL COMPUTERS INC '
dw 4185 ; 0x1059
db 'PROMISE TECHNOLOGY. '
db 'PROMISE TECHNOLOGY '
dw 4186 ; 0x105A
db 'FOXCONN INTERNATIONAL INC '
dw 4187 ; 0x105B
100,10 → 151,18
dw 4189 ; 0x105D
db 'INFOTRONIC AMERICA INC '
dw 4191 ; 0x105F
db 'United Microelectronics '
dw 4192 ; 0x1060
db '8x8 Inc. '
dw 4193 ; 0x1061
db 'OCEAN MANUFACTURING LTD '
dw 4195 ; 0x1063
db 'ALCATEL '
dw 4196 ; 0x1064
db 'Texas Microsystems '
dw 4197 ; 0x1065
db 'Picopower Technology '
dw 4198 ; 0x1066
db 'MITSUBISHI ELECTRIC AMERICA '
dw 4199 ; 0x1067
db 'DIVERSIFIED TECHNOLOGY '
112,6 → 171,8
dw 4201 ; 0x1069
db 'APPLE COMPUTER INC. '
dw 4203 ; 0x106B
db 'Hyundai Electronics America '
dw 4204 ; 0x106C
db 'SEQUENT COMPUTER SYSTEMS '
dw 4205 ; 0x106D
db 'DAEWOO TELECOM LTD '
120,24 → 181,54
dw 4209 ; 0x1071
db 'YAMAHA CORPORATION '
dw 4211 ; 0x1073
db 'Nexgen Microsystems '
dw 4212 ; 0x1074
db 'Chaintech Comp. '
dw 4214 ; 0x1076
db 'QLOGIC '
db 'QLOGIC Corporation '
dw 4215 ; 0x1077
db 'Cyrix Corporation '
dw 4216 ; 0x1078
db 'I-BUS '
dw 4217 ; 0x1079
db 'GATEWAY 2000 '
dw 4219 ; 0x107B
db 'Leadtek Research '
dw 4221 ; 0x107D
db 'INTERPHASE CORPORATION '
dw 4222 ; 0x107E
db 'Data Technology Corporation '
dw 4223 ; 0x107F
db 'Cypress Semiconductor '
dw 4224 ; 0x1080
db 'Radius Inc. '
dw 4225 ; 0x1081
db 'Forex Computer Corporation '
dw 4227 ; 0x1083
db 'Tulip Computers International BV '
dw 4229 ; 0x1085
db 'Cache Computer '
dw 4231 ; 0x1087
db 'SBS Operations '
dw 4234 ; 0x108A
db 'OLICOM '
dw 4237 ; 0x108D
db 'Sun Microsystems '
dw 4238 ; 0x108E
db 'Intergraph Corporation '
dw 4241 ; 0x1091
db 'Diamond Computer Systems '
dw 4242 ; 0x1092
db 'National Instruments '
dw 4243 ; 0x1093
db 'SILICON IMAGE (WAS CMD TECHNOLOGY INC) '
dw 4245 ; 0x1095
db 'ALACRON '
dw 4246 ; 0x1096
db 'APPIAN/ETMA '
db 'APPIAN Graphics/ETMA '
dw 4247 ; 0x1097
db 'Quantum Designs Ltd. '
dw 4248 ; 0x1098
db 'PACKARD BELL NEC '
dw 4250 ; 0x109A
db 'BROOKTREE CORPORATION '
148,10 → 239,16
dw 4256 ; 0x10A0
db 'QUANTUM EFFECT DESIGN '
dw 4258 ; 0x10A2
db 'Globe Manufacturing Sales '
dw 4260 ; 0x10A4
db 'Sierra Semiconductor '
dw 4264 ; 0x10A8
db 'SILICON GRAPHICS '
dw 4265 ; 0x10A9
db 'HONEYWELL IAC '
dw 4268 ; 0x10AC
db 'Winbond Systems Labs '
dw 4269 ; 0x10AD
db 'MICRO COMPUTER SYSTEMS INC '
dw 4271 ; 0x10AF
db 'PLX TECHNOLOGY. '
160,12 → 257,20
dw 4278 ; 0x10B6
db '3COM Corp, Networking Division '
dw 4279 ; 0x10B7
db 'Standard Microsystems Corporation '
dw 4280 ; 0x10B8
db 'ACER LABS Incorp. '
dw 4281 ; 0x10B9
db 'MITSUBISHI ELECTRIC CORP. '
dw 4282 ; 0x10BA
db 'Surecom Technology '
dw 4285 ; 0x10BD
db 'AUSPEX SYSTEMS INC. '
dw 4290 ; 0x10C2
db 'Samsung Semiconductors '
dw 4291 ; 0x10C3
db 'Award Software International Inc. '
dw 4292 ; 0x10C4
db 'NEOMAGIC CORPORATION '
dw 4296 ; 0x10C8
db 'FUJITSU MICROELECTRONIC '
180,8 → 285,12
dw 4305 ; 0x10D1
db 'MOLEX INCORPORATED '
dw 4306 ; 0x10D2
db 'Macronix International Co. Ltd. '
dw 4313 ; 0x10D9
db 'ROHM LSI SYSTEMS '
dw 4315 ; 0x10DB
db 'CERN-European Lab. for Particle Physics '
dw 4316 ; 0x10DC
db 'EVANS & SUTHERLAND '
dw 4317 ; 0x10DD
db 'NVIDIA CORPORATION '
194,17 → 303,35
dw 4323 ; 0x10E3
db 'MICRO INDUSTRIES CORPORATION '
dw 4325 ; 0x10E5
db 'Applied Micro Circuits Corp. '
dw 4328 ; 0x10E8
db 'Tvia, Inc. '
dw 4330 ; 0x10EA
db 'Artist Graphics '
dw 4331 ; 0x10EB
db 'REALTEK SEMICONDUCTOR CORP. '
dw 4332 ; 0x10EC
db 'XILINX. '
db 'Ascii Corporation '
dw 4333 ; 0x10ED
db 'XILINX '
dw 4334 ; 0x10EE
db 'Racore Computer Products '
dw 4335 ; 0x10EF
db 'Curtiss-Wright Controls Embedded Computing '
dw 4336 ; 0x10F0
db 'TYAN COMPUTER '
dw 4337 ; 0x10F1
db 'S-Mos Systems '
dw 4340 ; 0x10F4
db 'NKK CORPORATION '
dw 4341 ; 0x10F5
db 'CREATIVE ELECTRONIC SYSTEMS SA '
dw 4342 ; 0x10F6
db 'I-O DATA DEVICE. '
db 'Truevision '
dw 4346 ; 0x10FA
db 'Thesys Microelectronics '
dw 4347 ; 0x10FB
db 'I-O DATA DEVICE '
dw 4348 ; 0x10FC
db 'FAST MULTIMEDIA AG '
dw 4350 ; 0x10FE
216,19 → 343,27
dw 4357 ; 0x1105
db 'VIA TECHNOLOGIES '
dw 4358 ; 0x1106
db 'ASCEND COMMUNICATIONS '
db 'ASCEND COMMUNICATIONS/Stratus Computer '
dw 4359 ; 0x1107
db 'Proteon Inc. '
dw 4360 ; 0x1108
db 'Adaptec/Cogent Data Technologies Inc '
dw 4361 ; 0x1109
db 'SIEMENS PC SYSTEME GMBH '
dw 4362 ; 0x110A
db 'Chromatic Research Inc '
dw 4363 ; 0x110B
db 'SANTA CRUZ OPERATION '
dw 4369 ; 0x1111
db 'Osicom Technologies Inc. '
dw 4370 ; 0x1112
db 'ACCTON TECHNOLOGY '
dw 4371 ; 0x1113
db 'MEDIA 100 '
db 'Atmel Corp. '
dw 4372 ; 0x1114
db 'Media 100, Inc. '
dw 4374 ; 0x1116
db 'DATACUBE '
db 'Datacube Inc. '
dw 4375 ; 0x1117
db 'FCI ELECTRONICS '
dw 4376 ; 0x1118
236,8 → 371,12
dw 4377 ; 0x1119
db 'EFFICIENT NETWORKS '
dw 4378 ; 0x111A
db 'Tricord Systems Inc. '
dw 4380 ; 0x111C
db 'INTEGRATED DEVICE TECH '
dw 4381 ; 0x111D
db 'Precision Digital Images '
dw 4383 ; 0x111F
db 'EMC CORPORATION '
dw 4384 ; 0x1120
db 'FORE SYSTEMS INC '
244,6 → 383,8
dw 4391 ; 0x1127
db 'HERMES ELECTRONICS COMPANY '
dw 4394 ; 0x112A
db 'Infomedia '
dw 4398 ; 0x112E
db 'IMAGING TECHNOLOGY '
dw 4399 ; 0x112F
db 'PHILIPS SEMICONDUCTORS '
250,7 → 391,7
dw 4401 ; 0x1131
db 'MITEL CORP '
dw 4402 ; 0x1132
db 'EICON TECHNOLOGY CORPORATION '
db 'Eicon Networks Corporation '
dw 4403 ; 0x1133
db 'MERCURY COMPUTER SYSTEMS '
dw 4404 ; 0x1134
266,14 → 407,24
dw 4412 ; 0x113C
db 'SANYO ELECTRIC CO-Information Systems Division '
dw 4414 ; 0x113E
db 'Equinox Systems '
dw 4415 ; 0x113F
db 'CREST MICROSYSTEM INC. '
dw 4417 ; 0x1141
db 'Alliance Semiconductor CA - USA '
dw 4418 ; 0x1142
db 'Cincinnati Milacron '
dw 4420 ; 0x1144
db 'WORKBIT CORPORATION '
dw 4421 ; 0x1145
db 'FORCE COMPUTERS GMBH '
dw 4422 ; 0x1146
db 'SYSKONNECT '
db 'Interface Corp '
dw 4423 ; 0x1147
db 'SYSKONNECT/Marvell '
dw 4424 ; 0x1148
db 'VMIC '
dw 4426 ; 0x114A
db 'ANNABOOKS '
dw 4428 ; 0x114C
db 'DIGI INTERNATIONAL '
280,6 → 431,12
dw 4431 ; 0x114F
db 'MELCO INC '
dw 4436 ; 0x1154
db 'Pine Technology Ltd '
dw 4437 ; 0x1155
db 'Voarx R&D Inc '
dw 4440 ; 0x1158
db 'Mutech '
dw 4441 ; 0x1159
db 'PHOTRON LTD. '
dw 4444 ; 0x115C
db 'XIRCOM '
288,8 → 445,14
dw 4449 ; 0x1161
db 'RENDITION '
dw 4451 ; 0x1163
db 'Reliance Computer '
db 'Imagraph Corporation '
dw 4453 ; 0x1165
db 'Reliance Computer Corp./ServerWorks '
dw 4454 ; 0x1166
db 'Centre f/Dev. of Adv. Computing '
dw 4457 ; 0x1169
db 'Polaris Communications '
dw 4458 ; 0x116A
db 'ELECTRONICS FOR IMAGING '
dw 4462 ; 0x116E
db 'INVENTEC CORPORATION '
298,10 → 461,20
dw 4465 ; 0x1171
db 'ALTERA CORPORATION '
dw 4466 ; 0x1172
db 'SBE '
dw 4470 ; 0x1176
db 'Alfa Inc '
dw 4472 ; 0x1178
db 'TOSHIBA AMERICA INFO SYSTEMS '
dw 4473 ; 0x1179
db 'GCE-8320B '
dw 4475 ; 0x117B
db 'T/R Systems '
dw 4478 ; 0x117E
db 'RICOH CO LTD '
dw 4480 ; 0x1180
db 'Dataworld '
dw 4485 ; 0x1185
db 'D-LINK SYSTEM INC '
dw 4486 ; 0x1186
db 'ADVANCED TECHNOLOGY LABORATORIES '
310,14 → 483,26
dw 4489 ; 0x1189
db 'PLATYPUS TECHNOLOGY PTY LTD '
dw 4491 ; 0x118B
db 'COROLLARY '
db 'Corollary Inc '
dw 4492 ; 0x118C
db 'BitFlow Inc '
dw 4493 ; 0x118D
db 'Hermstedt AG '
dw 4494 ; 0x118E
db 'Tripace '
dw 4496 ; 0x1190
db 'ACARD TECHNOLOGY '
dw 4497 ; 0x1191
db 'RATOC SYSTEMS INC '
dw 4501 ; 0x1195
db 'Gage Applied Technologies '
dw 4503 ; 0x1197
db 'Attachmate Corp. '
dw 4505 ; 0x1199
db 'MINDSHARE. '
dw 4506 ; 0x119A
db 'Omega Micro Inc. '
dw 4507 ; 0x119B
db 'BUG. '
dw 4509 ; 0x119D
db 'FUJITSU MICROELECTRONICS LTD. '
326,11 → 511,13
dw 4511 ; 0x119F
db 'HAMAMATSU PHOTONICS K.K. '
dw 4513 ; 0x11A1
db 'INNOSYS '
db 'Systech Corp. '
dw 4520 ; 0x11A8
db 'InnoSys Inc. '
dw 4521 ; 0x11A9
db 'ACTEL '
dw 4522 ; 0x11AA
db 'GALILEO TECHNOLOGY LTD. '
db 'GALILEO TECHNOLOGY LTD/Marvell Semiconductor, Inc.'
dw 4523 ; 0x11AB
db 'LITE-ON COMMUNICATIONS INC '
dw 4525 ; 0x11AD
338,12 → 525,23
dw 4526 ; 0x11AE
db 'AVID TECHNOLOGY INC '
dw 4527 ; 0x11AF
db 'V3 SEMICONDUCTOR INC. '
db 'V3 SEMICONDUCTOR INC./Quicklogic Corp '
dw 4528 ; 0x11B0
db 'EASTMAN KODAK '
dw 4530 ; 0x11B2
db 'BARR SYSTEMS INC. '
dw 4531 ; 0x11B3
db 'Radstone Technology Ltd. '
dw 4533 ; 0x11B5
db 'Xpoint Technologies Inc '
dw 4536 ; 0x11B8
db 'Pathlight Technology Inc. '
dw 4537 ; 0x11B9
_SECONDPART: ;lists 255 Vendors
db 'Network Peripherals Inc '
dw 4540 ; 0x11BC
db 'Pinnacle Systems Inc. '
dw 4541 ; 0x11BD
db 'ASTRODESIGN '
dw 4543 ; 0x11BF
db 'AGERE/LUCENT '
358,22 → 556,26
dw 4554 ; 0x11CA
db 'SPECIALIX INTERNATIONAL LTD '
dw 4555 ; 0x11CB
db 'NETACCESS '
db 'NETACCESS/Primary Rate Inc '
dw 4558 ; 0x11CE
db 'LOCKHEED MARTIN-Electronics & Communications '
dw 4560 ; 0x11D0
db 'AURAVISION '
db 'AuraVision Corporation '
dw 4561 ; 0x11D1
db 'INTERCOM INC. '
dw 4562 ; 0x11D2
db 'ANALOG DEVICES '
db 'Analog Devices, Inc. '
dw 4564 ; 0x11D4
db 'IKON CORPORATION '
db 'IKON CORPORATION/Tahoma Technology '
dw 4565 ; 0x11D5
db 'TOSHIBA TEC CORPORATION '
dw 4569 ; 0x11D9
db 'NOVELL '
dw 4570 ; 0x11DA
db 'Sega Enterprises Ltd '
dw 4571 ; 0x11DB
db 'Zoran Corporation '
dw 4574 ; 0x11DE
db 'NEW WAVE PDG '
dw 4575 ; 0x11DF
db 'QUICKLOGIC CORPORATION '
382,12 → 584,28
dw 4588 ; 0x11EC
db 'DOME IMAGING SYSTEMS INC '
dw 4590 ; 0x11EE
db 'Compu-Shack GmbH '
dw 4592 ; 0x11F0
db 'Kinetic Systems Corporation '
dw 4596 ; 0x11F4
db 'Powermatic Data Systems Ltd '
dw 4598 ; 0x11F6
db 'PMC-SIERRA INC '
dw 4600 ; 0x11F8
db 'Comtrol Corp '
dw 4606 ; 0x11FE
db 'Network General Corp '
dw 4610 ; 0x1202
db 'AGFA CORPORATION '
dw 4611 ; 0x1203
db 'AMDAHL CORPORATION '
dw 4614 ; 0x1206
db 'Parsytec GmbH '
dw 4616 ; 0x1208
db 'Sci Systems Inc '
dw 4617 ; 0x1209
db 'Cyclades Corporation '
dw 4622 ; 0x120E
db 'ESSENTIAL COMMUNICATIONS '
dw 4623 ; 0x120F
db 'PERFORMANCE TECHNOLOGIES. '
400,31 → 618,55
dw 4634 ; 0x121A
db 'VIRATA LTD '
dw 4635 ; 0x121B
db 'Ariel Corporation '
dw 4640 ; 0x1220
db 'CONTEC CO. LTD '
dw 4641 ; 0x1221
db 'ARTESYN COMMUNICATIONS PRODUCTS INC '
dw 4643 ; 0x1223
db 'Interactive Images '
dw 4644 ; 0x1224
db 'TECH-SOURCE '
dw 4647 ; 0x1227
db 'SICAN GMBH '
dw 4652 ; 0x122C
db 'Aztech System Ltd '
dw 4653 ; 0x122D
db 'MARCONI COMMUNICATIONS LTD '
dw 4658 ; 0x1232
db 'Sigma Designs, Inc '
dw 4662 ; 0x1236
db 'Solitron Technologies Inc. '
dw 4684 ; 0x124C
db 'Stallion Technologies '
dw 4665 ; 0x124D
db 'Infortrend Technology Inc '
dw 4667 ; 0x124F
db 'Perceptive Solutions Inc. '
dw 4694 ; 0x1256
db 'Gilbarco Inc. '
dw 4696 ; 0x1258
db 'Asix Electronics Corp. '
dw 4699 ; 0x125B
db 'Microdyne Corp. '
dw 4710 ; 0x1266
db 'S.A. Telecommunications '
dw 4711 ; 0x1267
db 'SOLITON SYSTEMS K.K. '
dw 4961 ; 0x1361
db 'CENTURY SYSTEMS. '
dw 4668 ; 0x123C
db 'ENGINEERING DESIGN TEAM. '
db 'Engineering Design Team Inc. '
dw 4669 ; 0x123D
db 'C-CUBE MICROSYSTEMS '
dw 4671 ; 0x123F
db 'JAYCOR NETWORKS INC. '
db 'JAYCOR NETWORKS INC./JNI Corporation '
dw 4674 ; 0x1242
db 'AVM AUDIOVISUELLES MKTG & COMPUTER SYSTEM GMBH '
dw 4676 ; 0x1244
db 'SBS TECHNOLOGIES '
dw 4683 ; 0x124B
db 'HITACHI ULSI SYSTEMS CO LTD '
db 'Hitachi Microcomputer System Ltd. '
dw 4688 ; 0x1250
db 'GUZIK TECHNICAL ENTERPRISES '
dw 4691 ; 0x1253
434,7 → 676,7
dw 4697 ; 0x1259
db 'AURORA TECHNOLOGIES. '
dw 4700 ; 0x125C
db 'ESS '
db 'ESS TECHNOLOGY, INC. '
dw 4701 ; 0x125D
db 'CONCURRENT TECHNOLOGIES '
dw 4703 ; 0x125F
446,7 → 688,7
dw 4708 ; 0x1264
db 'TEKTRONIX '
dw 4712 ; 0x1268
db 'NORTEL NETWORKS '
db 'Nortel Networks Corp. '
dw 4716 ; 0x126C
db 'SPLASH TECHNOLOGY. '
dw 4717 ; 0x126D
460,7 → 702,7
dw 4724 ; 0x1274
db 'NETWORK APPLIANCE CORPORATION '
dw 4725 ; 0x1275
db 'TRANSTECH DSP LTD '
db 'Transtech Parallel Systems '
dw 4728 ; 0x1278
db 'TRANSMETA CORPORATION '
dw 4729 ; 0x1279
472,13 → 714,13
dw 4735 ; 0x127F
db 'YOKOGAWA ELECTRIC CORPORATION '
dw 4737 ; 0x1281
db 'INTEGRATED TECHNOLOGY EXPRESS. '
db 'Integrated Technology Express Inc. '
dw 4739 ; 0x1283
db 'MAZET GMBH '
dw 4742 ; 0x1286
db 'TRANSWITCH CORPORATION '
dw 4747 ; 0x128B
db 'G2 NETWORKS. '
db 'G2 Networks Inc. '
dw 4749 ; 0x128D
db 'TATENO DENNOU. '
dw 4751 ; 0x128F
492,13 → 734,13
dw 4759 ; 0x1297
db 'KNOWLEDGE TECHNOLOGY LAB. '
dw 4761 ; 0x1299
db 'VMETRO. '
db 'VMETRO Inc. '
dw 4762 ; 0x129A
db 'VICTOR COMPANY OF JAPAN '
dw 4766 ; 0x129E
db 'ALLEN- BRADLEY COMPANY '
dw 4768 ; 0x12A0
db 'LUCENT TECHNOLOGIES '
db 'Lucent Technologies AMR '
dw 4771 ; 0x12A3
db 'AMO GMBH '
dw 4775 ; 0x12A7
506,7 → 748,7
dw 4777 ; 0x12A9
db 'YUAN YUAN ENTERPRISE CO. LTD. '
dw 4779 ; 0x12AB
db 'ALTEON WEBSYSTEMS INC '
db 'Alteon Networks Inc. '
dw 4782 ; 0x12AE
db 'NATURAL MICROSYSTEMS '
dw 4790 ; 0x12B6
520,10 → 762,9
dw 4798 ; 0x12BE
db 'Fujifilm Microdevices '
dw 4799 ; 0x12BF
_SECONDPART: ;lists 255 Vendors
db 'INFIMED '
dw 4800 ; 0x12C0
db 'HOLTEK SEMICONDUCTOR INC '
db 'Holtek Microelectronics Inc. '
dw 4803 ; 0x12C3
db 'Connect Tech Inc '
dw 4804 ; 0x12C4
539,7 → 780,7
dw 4818 ; 0x12D2
db 'GE VINGMED ULTRASOUND AS '
dw 4819 ; 0x12D3
db 'COMVERSE NETWORKS SYSTEM & Ulticom. '
db 'COMVERSE NETWORKS SYSTEM & Ulticom, Inc. '
dw 4820 ; 0x12D4
db 'Equator Technologies '
dw 4821 ; 0x12D5
555,7 → 796,7
dw 4830 ; 0x12DE
db 'SBS Technologies Inc '
dw 4831 ; 0x12DF
db 'Chase Research '
db 'Chase Research PLC '
dw 4832 ; 0x12E0
db 'Datum Inc. Bancomm-Timing Division '
dw 4834 ; 0x12E2
565,7 → 806,7
dw 4839 ; 0x12E7
db 'Real Vision '
dw 4842 ; 0x12EA
db 'AUREAL INC. '
db 'Aureal Semiconductor '
dw 4843 ; 0x12EB
db '3A '
dw 4844 ; 0x12EC
583,7 → 824,7
dw 4868 ; 0x1304
db 'Computer Boards '
dw 4871 ; 0x1307
db 'LEVEL ONE COMMUNICATIONS '
db 'LEVEL ONE COMMUNICATIONS/Jato Technologies Inc. '
dw 4872 ; 0x1308
db 'Mitsubishi Electric MicroComputer '
dw 4874 ; 0x130A
739,7 → 980,7
dw 5053 ; 0x13BD
db 'SHAREWAVE INC '
dw 5055 ; 0x13BF
db '3WARE '
db '3ware Inc. '
dw 5057 ; 0x13C1
db 'TECHNOTREND SYSTEMTECHNIK GMBH '
dw 5058 ; 0x13C2
807,9 → 1048,10
dw 5115 ; 0x13FB
db 'MICRO SCIENCE INC '
dw 5117 ; 0x13FD
_THIRDPART: ;lists 255 vendors
db 'ARTX INC '
dw 5120 ; 0x1400
db 'MEILHAUS ELECTRONIC GmbH '
db 'Meilhaus Electronic GmbH Germany '
dw 5122 ; 0x1402
db 'FUNDAMENTAL SOFTWARE INC '
dw 5124 ; 0x1404
871,7 → 1113,7
dw 5190 ; 0x1446
db 'AIM GMBH '
dw 5191 ; 0x1447
db 'ADLINK TECHNOLOGY '
db 'ADLINK Technology Inc '
dw 5194 ; 0x144A
db 'LORONIX INFORMATION SYSTEMS INC '
dw 5195 ; 0x144B
1031,7 → 1273,6
dw 5312 ; 0x14C0
db 'MYRICOM INC. '
dw 5313 ; 0x14C1
_THIRDPART: ;lists 255 vendors
db 'DTK COMPUTER '
dw 5314 ; 0x14C2
db 'MEDIATEK CORP. '
1124,9 → 1365,9
dw 5359 ; 0x14EF
db 'CANON RESEACH CENTRE FRANCE '
dw 5360 ; 0x14F0
db 'CONEXANT '
db 'Conexant Systems, Inc '
dw 5361 ; 0x14F1
db 'MOBILITY ELECTRONICS '
db 'Mobility Electronics, Inc. '
dw 5362 ; 0x14F2
db 'BROADLOGIC '
dw 5363 ; 0x14F3
1318,6 → 1559,7
dw 5457 ; 0x1551
db 'RACAL AIRTECH LTD '
dw 5458 ; 0x1552
_FOURTHPART: ;lists 222 vendors
db 'CHICONY ELECTRONICS CO LTD '
dw 5459 ; 0x1553
db 'PROLINK MICROSYSTEMS CORP. '
1340,7 → 1582,7
dw 5468 ; 0x155C
db 'MAC SYSTEM CO LTD '
dw 5469 ; 0x155D
db 'LP ELEKTRONIK GMBH '
db 'LP ELEKTRONIK GMBH/KUKA Controls GmbH '
dw 5470 ; 0x155E
db 'PERLE SYSTEMS LIMITED '
dw 5471 ; 0x155F
1348,7 → 1590,7
dw 5472 ; 0x1560
db 'VIEWGRAPHICS INC '
dw 5473 ; 0x1561
db 'SYMBOL TECHNOLOGIES '
db 'Symbol Technologies, Inc. '
dw 5474 ; 0x1562
db 'A-TREND '
dw 5475 ; 0x1563
1494,7 → 1736,7
dw 5547 ; 0x15AB
db 'NORTH ATLANTIC INSTRUMENTS '
dw 5548 ; 0x15AC
db 'VMWARE '
db 'VMware Inc. '
dw 5549 ; 0x15AD
db 'AMERSHAM PHARMACIA BIOTECH '
dw 5550 ; 0x15AE
1542,7 → 1784,6
dw 5572 ; 0x15C4
db 'PROCOMP INFORMATICS LTD '
dw 5573 ; 0x15C5
_FOURTHPART: ;lists 110 vendors
db 'TECHNICAL UNIVERSITY OF BUDAPEST '
dw 5574 ; 0x15C6
db 'TATEYAMA SYSTEM LABORATORY CO LTD '
1575,7 → 1816,7
dw 5589 ; 0x15D5
db 'ENTRIDIA CORPORATION '
dw 5590 ; 0x15D6
db 'ROCKWELL-COLLINS '
db 'Rockwell-Collins Inc '
dw 5591 ; 0x15D7
db 'CYBERNETICS TECHNOLOGY CO LTD '
dw 5592 ; 0x15D8
1678,7 → 1919,7
db 'SCIEMETRIC INSTRUMENTS INC '
dw 5641 ; 0x1609
db 'Broadcom -SiByte '
dw 5741 ; 0x127A
dw 5741 ; 0x166D
db 'EPOX Computer Co '
dw 5781 ; 0x1695
db 'ALBATRON Corp. '
1715,7 → 1956,7
dw 19796 ; 0x4D54
db 'S S TECHNOLOGIES '
dw 20790 ; 0x5136
db 'S3 INC. '
db 'S3 Graphics Co., Ltd. '
dw 21299 ; 0x5333
db 'TERALOGIC INC '
dw 21580 ; 0x544C
1731,7 → 1972,7
dw 34952 ; 0x8888
db 'COMPUTONE CORPORATION '
dw 36366 ; 0x8E0E
db 'ADAPTEC '
db 'Adaptec Inc '
dw 36868 ; 0x9004
db 'GIGAPIXEL CORP '
dw 37274 ; 0x919A
1753,7 → 1994,7
dw 51966 ; 0xCAFE
db 'CATAPULT COMMUNICATIONS '
dw 52428 ; 0xCCCC
db 'DY4 Systems Inc '
db 'DY4 Systems Inc/Curtiss-Wright Controls Embed. Com'
dw 54484 ; 0xD4D4
db 'EKF ELEKTRONIK GMBH '
dw 58559 ; 0xE4BF
1764,10 → 2005,10
db 'EPIGRAM INC '
dw 65242 ; 0xFEDA
;----------------------------------------------------------------------
_UNKNOWN: db 'UNKOWN VENDOR '
_UNKNOWN: db 'UNKNOWN VENDOR '
 
_UNKNOWND:
db 'UNKOWN DEVICE '
db 'UNKNOWN DEVICE '
 
Class0:
db 'Prehistoric - misc '
1786,7 → 2027,7
db 03 ; 0x03
db 'Storage - RAID '
db 04 ; 0x04
db 'Storage - ATA with DMA '
db ' ' ;Storage - ATA with DMA
db 05 ; 0x05
db 'Storage - Serial ATA '
db 06 ; 0x06
1812,7 → 2053,7
db 128 ; 0x80
Class3:
db 'Display - VGA controller '
db ' ' ;Display - VGA controller
db 00 ; 0x0
db 'Display - XGA controller '
db 01 ; 0x1
1848,7 → 2089,7
db 02 ; 0x02
db 'Bridge - PCI/MCA '
db 03 ; 0x03
db 'Bridge - PCI/PCI '
db ' ';Bridge - PCI/PCI
db 04 ; 0x04
db 'Bridge - PCMCIA '
db 05 ; 0x05
1858,7 → 2099,7
db 07 ; 0x07
db 'Bridge - RACEway '
db 08 ; 0x08
db 'Bridge - Semi-transpar. PCI/PCI '
db ' '; Bridge - Semi-transpar. PCI/PCI
db 09 ; 0x09
db 'Bridge - InfiniBand/PCI '
db 10 ; 0x0A
1866,13 → 2107,13
db 128 ; 0x80
Class7:
db 'Communication - Serial '
db ' ';Communication - Serial
db 00 ; 0x0
db 'Communication - Parallel '
db ' ';Communication - Parallel
db 01 ; 0x1
db 'Communication - Multiport Serial'
db 02 ; 0x2
db 'Communication - Modem '
db ' ';Communication - Modem
db 03 ; 0x3
db 'Communication - GPIB '
db 04 ; 0x4
1882,13 → 2123,13
db 128 ; 0x80
Class8:
db 'System - PIC '
db ' ' ;System - PIC
db 00 ; 0x0
db 'System - DMAC '
db ' ' ;System - DMAC
db 01 ; 0x1
db 'System - Timer '
db ' ' ;System - Timer
db 02 ; 0x2
db 'System - RTC '
db ' ' ;System - RTC
db 03 ; 0x3
db 'System - PCI Hot-Plug '
db 04 ; 0x4
1904,7 → 2145,7
db 02 ; 0x2
db 'Input - Scanner '
db 03 ; 0x3
db 'Input - Gameport '
db ' ' ; Input - Gameport
db 04 ; 0x4
db 'Input - misc '
db 128 ; 0x80
1933,13 → 2174,13
db 64 ; 0x40
ClassC:
db 'Serial Bus - FireWire '
db ' ' ;Serial Bus - FireWire
db 00 ; 0x0
db 'Serial Bus - ACCESS.bus '
db 01 ; 0x1
db 'Serial Bus - SSA '
db 02 ; 0x2
db 'Serial Bus - USB/USB2 '
db ' ' ;Serial Bus - USB/USB2
db 03 ; 0x3
db 'Serial Bus - Fibre Channel '
db 04 ; 0x4
1947,7 → 2188,7
db 05 ; 0x5
db 'Serial Bus - InfiniBand '
db 06 ; 0x6
db 'Serial Bus - IPMI '
db ' ' ;Serial Bus - IPMI
db 07 ; 0x7
db 'Serial Bus - SERCOS '
db 08 ; 0x8
1973,7 → 2214,7
db 128 ; 0x80
 
ClassE:
db 'Intelligent I/O - I/O contr. '
db ' ' ;Intelligent I/O - I/O contr.
db 00 ; 0x0
 
ClassF:
2004,4 → 2245,4
db 'DSP - Managamant card '
db 32 ; 0x20
db 'DSP - misc '
db 128 ; 0x80
db 128 ; 0x80