From 8df5cba38d3e8c8c0c4ed934882f50571a79bf00 Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Fri, 18 Aug 2006 14:32:11 +0000 Subject: [PATCH] icon2: russian and english variants corrected jpegview, launcher, life, mv, pcidev: new versions from K0581 distro rccc, rccs: english translation added git-svn-id: svn://kolibrios.org@132 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/games/life/trunk/ascl.inc | 835 ++++ programs/games/life/trunk/life.asm | 182 +- programs/media/jpegview/trunk/jpegview.asm | 24 +- programs/media/mv/trunk/mv.asm | 66 +- programs/network/rccc/trunk/rccc.asm | 26 +- programs/network/rccs/trunk/rccs.asm | 60 +- programs/system/icon/trunk/icon.asm | 12 +- programs/system/launcher/trunk/launcher.asm | 11 +- programs/system/pcidev/trunk/PCIDEV.ASM | 512 +++ .../pcidev/trunk/{vendors.inc => VENDORS.INC} | 4011 +++++++++-------- programs/system/pcidev/trunk/macros.inc | 266 ++ programs/system/pcidev/trunk/pcidev.asm | 1041 ----- 12 files changed, 3806 insertions(+), 3240 deletions(-) create mode 100644 programs/games/life/trunk/ascl.inc create mode 100644 programs/system/pcidev/trunk/PCIDEV.ASM rename programs/system/pcidev/trunk/{vendors.inc => VENDORS.INC} (62%) create mode 100644 programs/system/pcidev/trunk/macros.inc delete mode 100644 programs/system/pcidev/trunk/pcidev.asm diff --git a/programs/games/life/trunk/ascl.inc b/programs/games/life/trunk/ascl.inc new file mode 100644 index 0000000000..f5a3cf2db3 --- /dev/null +++ b/programs/games/life/trunk/ascl.inc @@ -0,0 +1,835 @@ +lang equ ru ; ru en fr ge fi + +; +; Assembler +; SMALL +; CODE +; Libary +; +; Ver 0.14 By Pavlushin Evgeni (RUSSIA) +; www.waptap@mail.ru + +;Please compile aplications on FASM ver1.54 or higer!!! + +;InfoList +;0.01 scank,putpix,puttxt +;0.02 label,random,colors +;0.03 window,startwd,endwd,attributes +;0.04 close,delay,scevent ~30.04.2004 +;0.05 small random, ~04.05.2004 +;0.06 wtevent ~09.05.2004 +;0.07 timeevent ~23.05.2004 +;0.08 txtput ~14.06.2004 +;0.09 opendialog,savedialog ~20.06.2004 +;0.10 wordstoreg by halyavin, add at ~30.08.2004 +; random bug deleted eax is use. +;0.11 loadfile from me +puttxt bug del ~07.09.2004 +;0.12 open/save dialog ~13.09.2004 +;0.13 dialogs bugs deleted +;0.14 drawlbut ~03.10.2004 + +; LOADFILE +; (SYNTAX) LOADFILE 'full_path_to_file',file_load_area,file_temp_area +; (SAMPLE) LOADFILE '/rd/1/clock.bmp',load_area,temp_area + +macro loadfile file_name,file_load_area,file_temp_area +{ +local open,fileinfo,string + jmp open +fileinfo: + dd 0 + dd 0 + dd 1 + dd file_load_area + dd file_temp_area +string: + db file_name,0 +open: + mov dword [fileinfo+8],1 ; how many blocks to read (1) + mov eax,58 + mov ebx,fileinfo + int 0x40 + mov eax,[file_load_area+2] + shr eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢ + inc eax + mov dword [fileinfo+8],eax + mov eax,58 + mov ebx,fileinfo + int 0x40 +} + + +macro wordstoreg reg,hiword,loword +{ +if hiword eqtype 0 & loword eqtype 0 + mov reg,hiword*65536+loword +else if hiword eqtype 12 & loword eqtype eax + mov reg,hiword*65536 + add reg,loword +else if hiword eqtype 12 & loword eqtype [123] + mov reg,hiword*65536 + add reg,loword +else + mov reg,hiword + shl reg,16 + add reg,loword +end if +} + + +; DRAW BUTTON with label + +macro drawlbut x,y,xs,ys,text,id,bcolor,tcolor +{ +local asd,lab + jmp asd +lab db text ;arg label +asd: + wordstoreg ebx,x,xs + wordstoreg ecx,y,ys + mov edx,id + mov esi,bcolor + mov eax,8 + int 0x40 + + mov eax,asd-lab ;calc size + mov ebx,6 + mul ebx + mov esi,eax + + mov eax,xs + sub eax,esi + shr eax,1 + add eax,x + + mov edx,ys + sub edx,7 + shr edx,1 + add edx,y + + mov ebx,eax + shl ebx,16 + add ebx,edx + + mov ecx,tcolor ;arg4 color + mov edx,lab + mov esi,asd-lab ;calc size + mov eax,4 + int 0x40 +} + + +macro opendialog redproc,openoff,erroff,path +{ +local new_d, get_loops, dlg_pid_get, DLGPID, num_of_proc +local run_fileinfo, param +local getmesloop, loox, mred, mkey, mbutton, mgetmes +local dlg_is_work, ready, procinfo +; +; STEP 1 Run SYSXTREE with parametrs MYPID 4 bytes in dec, +; 1 byte space, 1 byte type of dialog (O - Open ,S - Save) +; + + cld +;; mov esi,path + mov edi,path + mov eax,0 + mov ecx,200 + rep stosb + +;mov [get_loops],0 +mov [dlg_pid_get],0 + +; Get my PID in dec format 4 bytes + mov eax,9 + mov ebx,procinfo + mov ecx,-1 + int 0x40 + +; convert eax bin to param dec + mov eax,dword [procinfo+30] ;offset of myPID + mov edi,param+4-1 ;offset to 4 bytes + mov ecx,4 + mov ebx,10 + cld +new_d: + xor edx,edx + div ebx + add dl,'0' + mov [edi],dl + dec edi + loop new_d + +; wirite 1 byte space to param + mov [param+4],byte 32 ;Space for next parametr +; and 1 byte type of dialog to param + mov [param+5],byte 'O' ;Get Open dialog (Use 'S' for Save dialog) + +; +; STEP2 prepare IPC area for get messages +; + +; prepare IPC area + mov [path],dword 0 + mov [path+4],dword 8 + +; define IPC memory + mov eax,60 + mov ebx,1 ; define IPC + mov ecx,path ; offset of area + mov edx,150 ; size 150 bytes + int 0x40 + +; change wanted events list 7-bit IPC event + mov eax,40 + mov ebx,01000111b + int 0x40 + +; +; STEP 3 run SYSTEM XTREE with parameters +; + + mov eax,58 + mov ebx,run_fileinfo + int 0x40 + + call redproc + + mov [get_loops],0 +getmesloop: + mov eax,23 + mov ebx,50 ;0.5 sec + int 0x40 + + cmp eax,1 + je mred + cmp eax,2 + je mkey + cmp eax,3 + je mbutton + cmp eax,7 + je mgetmes + +; Get number of procces + mov ebx,procinfo + mov ecx,-1 + mov eax,9 + int 0x40 + mov ebp,eax + +loox: + mov eax,9 + mov ebx,procinfo + mov ecx,ebp + int 0x40 + mov eax,[DLGPID] + cmp [procinfo+30],eax ;IF Dialog find + je dlg_is_work ;jmp to dlg_is_work + dec ebp + jnz loox + + jmp erroff + +dlg_is_work: + cmp [procinfo+50],word 9 ;If slot state 9 - dialog is terminated + je erroff ;TESTODP2 terminated too + + cmp [dlg_pid_get],dword 1 + je getmesloop + inc [get_loops] + cmp [get_loops],4 ;2 sec if DLG_PID not get, TESTOP2 terminated + jae erroff + jmp getmesloop + +mred: + call redproc + jmp getmesloop +mkey: + mov eax,2 + int 0x40 ; read (eax=2) + jmp getmesloop +mbutton: + mov eax,17 ; get id + int 0x40 + cmp ah,1 ; button id=1 ? + jne getmesloop + mov eax,-1 ; close this program + int 0x40 +mgetmes: + +; If dlg_pid_get then second message get jmp to still + cmp [dlg_pid_get],dword 1 + je ready + +; First message is number of PID SYSXTREE dialog + +; convert PID dec to PID bin + movzx eax,byte [path+16] + sub eax,48 + imul eax,10 + movzx ebx,byte [path+16+1] + add eax,ebx + sub eax,48 + imul eax,10 + movzx ebx,byte [path+16+2] + add eax,ebx + sub eax,48 + imul eax,10 + movzx ebx,byte [path+16+3] + add eax,ebx + sub eax,48 + mov [DLGPID],eax + +; Claear and prepare IPC area for next message + mov [path],dword 0 + mov [path+4],dword 8 + mov [path+8],dword 0 + mov [path+12],dword 0 + mov [path+16],dword 0 + +; Set dlg_pid_get for get next message + mov [dlg_pid_get],dword 1 + call redproc ;show DLG_PID + jmp getmesloop + +ready: +; +; The second message get +; Second message is 100 bytes path to SAVE/OPEN file +; shl path string on 16 bytes +; + cld + mov esi,path+16 + mov edi,path + mov ecx,200 + rep movsb + mov [edi],byte 0 + + jmp openoff + + +; DATA AREA +get_loops dd 0 +dlg_pid_get dd 0 +DLGPID dd 0 + +param: + dd 0 ; My dec PID + dd 0,0 ; Type of dialog + +run_fileinfo: + dd 16 + dd 0 + dd param + dd 0 + dd procinfo ; 0x10000 +;run_filepath + db '/RD/1/SYSXTREE',0 + +procinfo: +times 256 db 0 +} + + +macro savedialog redproc,openoff,erroff,path +{ +local new_d, get_loops, dlg_pid_get, DLGPID, num_of_proc +local run_fileinfo, run_filepath, param +local getmesloop, loox, mred, mkey, mbutton, mgetmes +local dlg_is_work, ready, procinfo +; +; STEP 1 Run SYSXTREE with parametrs MYPID 4 bytes in dec, +; 1 byte space, 1 byte type of dialog (O - Open ,S - Save) +; + + cld +;; mov esi,path + mov edi,path + mov eax,0 + mov ecx,200 + rep stosb + +;mov [get_loops],0 +mov [dlg_pid_get],0 + +; Get my PID in dec format 4 bytes + mov eax,9 + mov ebx,procinfo + mov ecx,-1 + int 0x40 + +; convert eax bin to param dec + mov eax,dword [procinfo+30] ;offset of myPID + mov edi,param+4-1 ;offset to 4 bytes + mov ecx,4 + mov ebx,10 + cld +new_d: + xor edx,edx + div ebx + add dl,'0' + mov [edi],dl + dec edi + loop new_d + +; wirite 1 byte space to param + mov [param+4],byte 32 ;Space for next parametr +; and 1 byte type of dialog to param + mov [param+5],byte 'S' ;Get Open dialog (Use 'S' for Save dialog) + +; +; STEP2 prepare IPC area for get messages +; + +; prepare IPC area + mov [path],dword 0 + mov [path+4],dword 8 + +; define IPC memory + mov eax,60 + mov ebx,1 ; define IPC + mov ecx,path ; offset of area + mov edx,120 ; size 150 bytes + int 0x40 + +; change wanted events list 7-bit IPC event + mov eax,40 + mov ebx,01000111b + int 0x40 + +; +; STEP 3 run SYSTEM XTREE with parameters +; + + mov eax,58 + mov ebx,run_fileinfo + int 0x40 + + call redproc + + mov [get_loops],0 +getmesloop: + mov eax,23 + mov ebx,50 ;0.5 sec + int 0x40 + + cmp eax,1 + je mred + cmp eax,2 + je mkey + cmp eax,3 + je mbutton + cmp eax,7 + je mgetmes + +; Get number of procces + mov ebx,procinfo + mov ecx,-1 + mov eax,9 + int 0x40 + mov ebp,eax + +loox: + mov eax,9 + mov ebx,procinfo + mov ecx,ebp + int 0x40 + mov eax,[DLGPID] + cmp [procinfo+30],eax ;IF Dialog find + je dlg_is_work ;jmp to dlg_is_work + dec ebp + jnz loox + + jmp erroff + +dlg_is_work: + cmp [procinfo+50],word 9 ;If slot state 9 - dialog is terminated + je erroff ;TESTODP2 terminated too + + cmp [dlg_pid_get],dword 1 + je getmesloop + inc [get_loops] + cmp [get_loops],4 ;2 sec if DLG_PID not get, TESTOP2 terminated + jae erroff + jmp getmesloop + +mred: + call redproc + jmp getmesloop +mkey: + int 0x40 ; read (eax=2) + jmp getmesloop +mbutton: + mov eax,17 ; get id + int 0x40 + cmp ah,1 ; button id=1 ? + jne getmesloop + mov eax,-1 ; close this program + int 0x40 +mgetmes: + +; If dlg_pid_get then second message get jmp to still + cmp [dlg_pid_get],dword 1 + je ready + +; First message is number of PID SYSXTREE dialog + +; convert PID dec to PID bin + movzx eax,byte [path+16] + sub eax,48 + imul eax,10 + movzx ebx,byte [path+16+1] + add eax,ebx + sub eax,48 + imul eax,10 + movzx ebx,byte [path+16+2] + add eax,ebx + sub eax,48 + imul eax,10 + movzx ebx,byte [path+16+3] + add eax,ebx + sub eax,48 + mov [DLGPID],eax + +; Claear and prepare IPC area for next message + mov [path],dword 0 + mov [path+4],dword 8 + mov [path+8],dword 0 + mov [path+12],dword 0 + mov [path+16],dword 0 + +; Set dlg_pid_get for get next message + mov [dlg_pid_get],dword 1 + call redproc ;show DLG_PID + jmp getmesloop + +ready: +; +; The second message get +; Second message is 100 bytes path to SAVE/OPEN file +; shl path string on 16 bytes +; + cld + mov esi,path+16 + mov edi,path + mov ecx,200 + rep movsb + mov [edi],byte 0 + + jmp openoff + + +; DATA AREA +get_loops dd 0 +dlg_pid_get dd 0 +DLGPID dd 0 + +param: + rb 4 ; My dec PID + rb 6 ; Type of dialog + +run_fileinfo: + dd 16 + dd 0 + dd param + dd 0 + dd procinfo +run_filepath: + db '/RD/1/SYSXTREE',0 + +procinfo: +times 256 db 0 +} + + + + +; RANDOM - generate random count (small) +; (SYNTAX) RANDOM MaxCount,OutArgument +; (SAMPLE) RANDOM 10000,eax +; ( NOTE ) Maxint<65536 ; use random 65536,eax for more combinations + +randomuse = 0 + +macro random arg1,arg2 +{ +local rxproc +randomuse = randomuse + 1 + + jmp rxproc + +if defined randomuse & randomuse = 1 +randomproc: + jmp rnj +rsx1 dw 0x4321 +rsx2 dw 0x1234 +rnj: +; mov eax,arg1 + push bx + push cx + push dx + push si + push di + mov cx,ax + mov ax,word ptr rsx1 + mov bx,word ptr rsx2 + mov si,ax + mov di,bx + mov dl,ah + mov ah,al + mov al,bh + mov bh,bl + xor bl,bl + rcr dl,1 + rcr ax,1 + rcr bx,1 + add bx,di + adc ax,si + add bx,0x62e9 + adc ax,0x3619 + mov word ptr rsx1,bx + mov word ptr rsx2,ax + xor dx,dx + cmp ax,0 + je nodiv + cmp cx,0 + je nodiv + div cx +nodiv: + mov ax,dx + pop di + pop si + pop dx + pop cx + pop bx + and eax,0000ffffh +; mov arg2,0 +; mov arg2,eax + ret +end if + +rxproc: + mov eax,arg1 + call randomproc + mov arg2,eax +} + +macro scank +{ + mov eax,10 + int 0x40 +} + +macro putpix x,y,color +{ + mov ebx,x + mov ecx,y + mov edx,color + mov eax,1 + int 0x40 +} + +macro puttxt x,y,offs,size,color +{ +; mov ebx,x +; shl ebx,16 +; add ebx,y + wordstoreg ebx,x,y + mov ecx,color + mov edx,offs + mov esi,size + mov eax,4 + int 0x40 +} + +macro outcount data, x, y, color, numtype +{ + mov ecx,data + mov ebx,numtype + mov bl,0 +; mov edx,x*65536+y + wordstoreg edx,x,y + mov esi,color + mov eax,47 + int 0x40 +} + +; SCEVENT - Scan event + +macro scevent red,key,but +{ + mov eax,11 + int 0x40 + dec eax + jz red + dec eax + jz key + dec eax + jz but +} + +; WTEVENT - Wait event + +macro wtevent red,key,but +{ + mov eax,10 + int 0x40 + dec eax + jz red + dec eax + jz key + dec eax + jz but +} + +; TIMEEVENT - Wite for event with timeout + +macro timeevent xfps,noevent,red,key,but +{ + mov eax,23 + mov ebx,xfps + int 0x40 + cmp eax,0 + je noevent + dec eax + jz red + dec eax + jz key + dec eax + jz but +} + + +; CLOSE - Close program + +macro close +{ + mov eax,-1 + int 0x40 +} + +; DELAY - Create delay 1/100 sec +; (SYNTAX) Delay time +; (SAMPLE) Delay 100 ;delay 2 sec 1/100*200=2 sec + +macro delay arg1 +{ + mov eax,5 + mov ebx,arg1 + int 0x40 +} + +; WINDOW - Draw window +; (SYNTAX) WINDOW Xstart,Ystart,'Text',Color +; (SAMPLE) WINDOW 10,10,640+8,480+24,window_Skinned + +macro window arg1,arg2,arg3,arg4,arg5 +{ +; mov ebx,arg1*65536+arg3 +; mov ecx,arg2*65536+arg4 + wordstoreg ebx,arg1,arg3 + wordstoreg ecx,arg2,arg4 + mov edx,arg5 + mov eax,0 + int 0x40 +} + +macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 +{ + mov ebx,arg1*65536+arg3 + mov ecx,arg2*65536+arg4 + mov edx,arg5 + mov esi,arg6 + mov edi,arg7 + mov eax,0 + int 0x40 +} + + +; STARTWD - Start of window draw + +macro startwd +{ + mov eax,12 + mov ebx,1 + int 0x40 +} + +; ENDWD - End window draw + +macro endwd +{ + mov eax,12 + mov ebx,2 + int 0x40 +} + +; LABEL - Put text to frame +; (SYNTAX) LABEL Xstart,Ystart,'Text',Color +; (SAMPLE) LABEL 10,12,'Hello World!',cl_Green+font_Big + +macro label arg1,arg2,arg3,arg4 +{ +local asd,lab + jmp asd +lab db arg3 ;arg label +asd: +; mov ebx,arg1 ;arg1=y arg2=x +; shl ebx,16 +; add ebx,arg2 + wordstoreg ebx,arg1,arg2 + mov ecx,arg4 ;arg4 color + mov edx,lab + mov esi,asd-lab ;calc size + mov eax,4 + int 0x40 +} + +;Key's +key_Up equ 178 +key_Down equ 177 +key_Right equ 179 +key_Left equ 176 +key_Esc equ 27 +key_Space equ 32 +key_Enter equ 13 +key_Bspace equ 8 +key_F1 equ 50 +key_F2 equ 51 +key_F3 equ 52 +key_F4 equ 53 +key_F5 equ 54 +key_F6 equ 55 +key_F7 equ 56 +key_F8 equ 57 +key_F9 equ 48 +key_F10 equ 49 +key_F11 equ 68 +key_F12 equ 255 +key_Home equ 180 +key_End equ 181 +key_PgUp equ 184 +key_PgDown equ 183 + +;Attributes + +;Window Attributes +window_Skinned equ 0x03000000 +window_Type2 equ 0x02000000 +window_Type1 equ 0x00000000 +window_Reserve equ 0x01000000 + +;Font Attributes +font_Big equ 0x10000000 + +;Colors +cl_White equ 0x00ffffff +cl_Black equ 0x00000000 +cl_Grey equ 0x00888888 +cl_Red equ 0x00ff0000 +cl_Lime equ 0x0000ff00 +cl_Green equ 0x0000af00 +cl_Blue equ 0x000000ff +cl_Purple equ 0x008080ff +cl_Violet equ 0x008040ff +cl_Cyan equ 0x0040e0ff diff --git a/programs/games/life/trunk/life.asm b/programs/games/life/trunk/life.asm index ffe5a3f897..52b3e54bc9 100644 --- a/programs/games/life/trunk/life.asm +++ b/programs/games/life/trunk/life.asm @@ -3,31 +3,32 @@ ; ; This program displays Conways game of life ; -; Compile with FASM v1.49 for DOS; +; Compile with FASM for Menuet; ; -; Version 0.1a 20th May 2004 -; Ivan Poddubny ; ; Version 0.1 30th March 2004 ; Mike Hibbett ; +; Version 0.2 23th May 2004 +; Random generation dots with start +; +; Convert to ASCL Libary by Pavlushin Evgeni +; ; This is an experiment to see how small a usefull application can get +; -include "lang.inc" -include "macros.inc" +use32 + org 0x0 - use32 - org 0x0 + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd 0x100000 ; memory for app + dd 0x100000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Icon +include 'ascl.inc' - db 'MENUET01' ; 8 byte id - dd 0x01 ; header version - dd START ; start of code - dd I_END ; size of image - dd 0xc1000 ; memory for app - dd 0xc1000 ; esp - dd 0x0 , 0x0 ; I_Param , I_Icon - -;include "DEBUG.INC" macro setcell x,y { mov [esi + 512*(y)*3 + (x)*3], al } START: @@ -42,88 +43,54 @@ START: ; setcell take the arguments setcell x,y ; 0,0 is the top left corner. -; setcell 200,120 -; setcell 201,120 -; setcell 200,121 -; setcell 199,121 -; setcell 200,122 + setcell 200,120 + setcell 201,120 + setcell 200,121 + setcell 199,121 + setcell 200,122 -; setcell 70,120 -; setcell 71,120 -; setcell 70,121 -; setcell 69,121 -; setcell 70,122 - - mov eax, 40 - mov ebx, 100101b - int 0x40 + setcell 70,120 + setcell 71,120 + setcell 70,121 + setcell 69,121 + setcell 70,122 call draw_window + ;Random generation dots + + mov ecx,20000 +xxx: + push ecx + random 30000,edi ;up pice of screen + mov al,0xff + shl edi,3 +; mov [I_END+edi],al +; random 50000,edi ;down pice of screen +; mov al,0xff +; shl edi,3 + add edi,512*460 ;760 + mov [I_END+edi],al + pop ecx + dec ecx + jnz xxx + still: -; mov eax, 23 ; wait here for event -; mov ebx, 5 -; int 0x40 - mov eax, 11 - int 0x40 + timeevent 5,nokey,red,key,button ;Wait EVENT with 5 fps + jmp still - test eax, eax - je nokey - cmp eax,1 ; redraw request ? - je red - cmp eax,3 ; button in buffer ? - je button - cmp eax,6 - je mouse - - jmp still - - - mouse: - mov eax, 37 - mov ebx, 2 - int 0x40 - test eax, eax - jz still - - mov eax, 37 - mov ebx, 1 - int 0x40 - sub eax, 5*65536+20 - mov ebx, eax - shr eax, 16 - and ebx, 0xffff - -; WRITE COORDINATES -; dpd eax -; dps " " -; dpd ebx -; dps <10,13> - - cmp ax, 0 - js still - cmp bx, 0 - js still - - shl ebx, 9 - add ebx, eax - imul ebx, 3 - add ebx, I_END - mov [ebx], dword 0xFFFFFFFF - jmp draw - - red: ; REDRAW WINDOW +red: ; REDRAW WINDOW call draw_window jmp still +key: ; KEY + mov eax,2 ; get it, but ignore + int 0x40 nokey: - ; cycle life state -mov eax,5 -mov ebx,5 -int 0x40 + ; cycle life state mov esi, I_END + 512*3 @@ -187,7 +154,6 @@ nextcell: ; copy new generation across - mov ecx, 512*512*3 mov esi, I_END+1 mov edi, I_END @@ -199,56 +165,26 @@ nc1: mov [esi+2], byte 0 add esi, 3 loop nc1 -draw: + mov ebx, I_END mov ecx, 512*65536+512 - mov edx, 5*65536+22 + mov edx, 5*65536+20 mov eax,7 int 0x40 jmp still button: ; BUTTON - only close supported - or eax,-1 - int 0x40 - - - + close ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** ; ********************************************* - - draw_window: - mov eax,12 - mov ebx,1 - int 0x40 - - mov eax,0 ; open window - mov ebx,50*65536+512+9 - mov ecx,50*65536+512+22+4 - mov edx,0x03000000 - int 0x40 - - mov eax,4 ; WINDOW LABEL - mov ebx,8*65536+8 - mov ecx,0x10ffffff - mov edx,header - mov esi,header.size - int 0x40 - - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - int 0x40 - + startwd + window 50,50,512+9,512+23,window_Skinned + label 8,8,'Life Screen',cl_White+font_Big + endwd ret - - -; DATA AREA - -header db 'Life' - .size = $ - header - I_END: diff --git a/programs/media/jpegview/trunk/jpegview.asm b/programs/media/jpegview/trunk/jpegview.asm index 1e41135f70..12336d8cbb 100644 --- a/programs/media/jpegview/trunk/jpegview.asm +++ b/programs/media/jpegview/trunk/jpegview.asm @@ -36,6 +36,7 @@ use32 include 'lang.inc' stack_size=4096 + 1024 +include 'macros.inc' START: ; start of execution @@ -141,31 +142,8 @@ check_parameters: ;****************************************************************************** -set_default_colours: - - pusha - - mov eax,6 ; load default color map - mov ebx,defcol - mov ecx,0 - mov edx,-1 - mov esi,0x10000 - int 0x40 - - mov eax,48 ; set default color map - mov ebx,2 - mov ecx,0x10000 - mov edx,10*4 - int 0x40 - - popa - ret - -defcol db 'DEFAULT.DTP' - boot_set_background: - call set_default_colours mov ecx,memsize-fin-stack_size ; size mov edi,fin ; pointer diff --git a/programs/media/mv/trunk/mv.asm b/programs/media/mv/trunk/mv.asm index 59a47590b6..a7a60bed01 100644 --- a/programs/media/mv/trunk/mv.asm +++ b/programs/media/mv/trunk/mv.asm @@ -12,12 +12,11 @@ dd 0x300000 ; memory for app dd 0x300000 ; esp dd temp_area , 0x0 ; I_Param , I_Icon + include 'lang.inc' include 'macros.inc' ;****************************************************************************** -tmp_param dd 0 - START: ; start of execution ; check for parameters @@ -35,6 +34,7 @@ START: ; start of execution mov edi,string ; clear string mov ecx,43*3 ; length of a string xor eax,eax ; symbol <0> + add al,14h cld rep stosb @@ -49,8 +49,9 @@ START: ; start of execution mov edi,string rep movsb ; copy string from temp_area to "string" (filename) - call draw_window - mov [tmp_param],0xdeadbeef + call load_image + call convert + .no_param: @@ -71,11 +72,6 @@ START: ; start of execution ; ⥯¥àì ¢ ecx ­®¬¥à ¯à®æ¥áá  mov [process],ecx - cmp [tmp_param],0xdeadbeef - jne @f - jmp kopen - @@: - call draw_window still: @@ -195,7 +191,7 @@ still: getappinfo: mov eax,9 - mov ebx,I_END + mov ebx,process_info int 0x40 ret @@ -206,7 +202,7 @@ load_image: mov ebx,fileinfo int 0x40 cmp [I_END+2],dword 512 ; à §¬¥à ä ©«  (file size) - jbe open1 + jbe @f mov eax,[I_END+2] shr eax,9 ; ¯®¤¥«¨¬ ­  512 ¨ ¯à¨¡ ¢¨¬ 1 - ¯®«ã稬 ç¨á«® ¡«®ª®¢ inc eax @@ -215,7 +211,31 @@ load_image: mov eax,58 mov ebx,fileinfo int 0x40 -ret +@@: + mov eax,[I_END+18] + mov ebx,[I_END+22] + add eax,20 + cmp eax,210 + jae @f + mov eax,210 +@@: + add ebx,58 + cmp ebx,56 + jae @f + mov ebx,56 +@@: + mov [wnd_width],eax + mov [wnd_height],ebx + test [bWasDraw],1 + jz @f + mov esi,ebx + mov edx,eax + mov ecx,-1 + mov ebx,-1 + mov eax,67 + int 40h +@@: + ret drawimage: @@ -384,7 +404,7 @@ ret draw_window: - + or [bWasDraw],1 mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw @@ -392,8 +412,12 @@ draw_window: ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window - mov ebx,350 ; [x start] *65536 + [x size] - mov ecx,400 ; [y start] *65536 + [y size] +; mov ebx,350 ; [x start] *65536 + [x size] +; mov ecx,400 ; [y start] *65536 + [y size] + mov ebx,100*65536 + mov ecx,100*65536 + add ebx,[wnd_width] + add ecx,[wnd_height] mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl int 0x40 @@ -449,6 +473,8 @@ eop dd 0 eos dd 0 process dd 0 +bWasDraw db 0 + thread1: ; start of thread1 call draw_window1 @@ -624,7 +650,7 @@ draw_window1: mov eax,8 ;invisible button mov ebx,21*65536+258 mov ecx,40*65536+15 - mov edx,0x40000002 + mov edx,0x60000002 int 0x40 mov eax,13 ;bar @@ -664,7 +690,8 @@ fileinfo: dd temp_area string: ; db '/HARDDISK/FIRST/1/DICK.BMP ' - db '/hd/1/menuet/pics/new.bmp ' +; db '/hd/1/menuet/pics/new.bmp ' + db '/rd/1/bgr.bmp ' db ' ' db ' ' @@ -967,6 +994,9 @@ draw_window3: vflag: db 'x' bgrmode: dd 1 +wnd_width dd 210 +wnd_height dd 53 + lsz labelt3,\ en, 'Background set',\ ru, "“áâ ­®¢ª  ä®­ " @@ -990,7 +1020,7 @@ lsz ok_btn,\ IM_END: +process_info: temp_area: rb 0x10000 I_END: -process_info: diff --git a/programs/network/rccc/trunk/rccc.asm b/programs/network/rccc/trunk/rccc.asm index 0c19f6326a..4b893f7147 100644 --- a/programs/network/rccc/trunk/rccc.asm +++ b/programs/network/rccc/trunk/rccc.asm @@ -268,6 +268,7 @@ draw_window: text: +if lang eq ru db ' ‚६ï á¥à¢¥à : ' db ' ' db ' Œ¥­î ã¯à ¢«¥­¨ï á¥à¢¥à®¬: ' @@ -282,8 +283,25 @@ text: db ' ‹®ª «ì­ë©  ¤à¥á : 192.168.0.1 ' db ' “¤ «ñ­­ë©  ¤à¥á : 192.168.0.2 ' db '€¤à¥á á¥à¢¥à  - ¢ ª®­æ¥ ¨á室­¨ª  ' - db 'x <- END MARKER, DONT DELETE ' + db 'x' ; <- END MARKER, DONT DELETE +else + db ' On server: ' + db ' ' + db ' Server control menu: ' + db ' ' + db ' - Shutdown ' + db ' - Reboot ' + db ' - Save ramdisk image to floppy ' + db ' - Save ramdisk image to hard disk ' + db ' - Kernel restart ' + db ' - Close server part ' + db ' ' + db ' Local address : 192.168.0.1 ' + db ' Remote address : 192.168.0.2 ' + db 'Address of server is in end of source ' + db 'x' ; <- END MARKER, DONT DELETE +end if labeltext: db 'Remote Control Center(Client)' ; lte: @@ -301,9 +319,3 @@ sen_exit db 'E' connect db 'C' I_END: - - - - - - diff --git a/programs/network/rccs/trunk/rccs.asm b/programs/network/rccs/trunk/rccs.asm index 91ed81440c..7179220579 100644 --- a/programs/network/rccs/trunk/rccs.asm +++ b/programs/network/rccs/trunk/rccs.asm @@ -117,7 +117,7 @@ data_arrived: add ebx,[y] mov ecx,0x000000 mov edx,inp_con - mov esi,29 + mov esi,inp_con.len int 0x40 add [y],10 @@ -131,7 +131,7 @@ no_con: add ebx,[y] mov ecx,0x000000 mov edx,inp_shut - mov esi,26 + mov esi,inp_shut.len int 0x40 add [y],10 @@ -150,7 +150,7 @@ no_shut: add ebx,[y] mov ecx,0x000000 mov edx,inp_reb - mov esi,20 + mov esi,inp_reb.len int 0x40 add [y],10 @@ -168,7 +168,7 @@ no_reb: add ebx,[y] mov ecx,0x000000 mov edx,inp_savefi - mov esi,29 + mov esi,inp_savefi.len int 0x40 add [y],10 @@ -186,7 +186,7 @@ no_savefi: add ebx,[y] mov ecx,0x000000 mov edx,inp_savehi - mov esi,29 + mov esi,inp_savehi.len int 0x40 add [y],10 @@ -205,7 +205,7 @@ no_savehi: add ebx,[y] mov ecx,0x000000 mov edx,inp_hotreb - mov esi,28 + mov esi,inp_hotreb.len int 0x40 add [y],10 @@ -223,7 +223,7 @@ no_hotreb: add ebx,[y] mov ecx,0x000000 mov edx,inp_exit - mov esi,28 + mov esi,inp_exit.len int 0x40 add [y],10 @@ -236,7 +236,7 @@ no_com: add ebx,[y] mov ecx,0x000000 mov edx,inp_com - mov esi,22 + mov esi,inp_com.len int 0x40 add [y],10 @@ -303,11 +303,17 @@ draw_window: text: +if lang eq ru db '„ ­­ë©  ¤à¥á : 192.168.0.2 ' db 'à®á«ã訢 ¥¬ë© ¯®àâ : 0x6100 ' db '‘®áâ®ï­¨¥: ' - db 'x <- END MARKER, DONT DELETE ' - + db 'x' ; <- END MARKER, DONT DELETE +else + db 'This address : 192.168.0.2 ' + db 'Used port : 0x6100 ' + db 'Status: ' + db 'x' ; <- END MARKER, DONT DELETE +end if labeltext: db 'Remote Control Center(Server)' lte: @@ -316,19 +322,39 @@ socket dd 0x0 y dd 0x10 sysclock dd 0x0 +if lang eq ru inp_con db '‚­¨¬ ­¨¥, ¯®¤ª«î稫áï ª«¨¥­â!' +.len = $-inp_con inp_shut db 'ˆ¤ñ⠮⪫î祭¨¥ á¨á⥬ë...' +.len = $-inp_shut inp_reb db 'ˆ¤ñâ ¯¥à¥§ £à㧪 ...' +.len = $-inp_reb inp_savefi db '‘®å࠭塞 ¨¬¥¤¦ ­  ¤¨áª¥âã...' +.len = $-inp_savefi inp_savehi db '‘®å࠭塞 ¨¬¥¤¦ ­  †. ¤¨áª...' +.len = $-inp_savehi inp_hotreb db 'ˆ¤ñâ £®àï稩 à¥áâ àâ ï¤à ...' +.len = $-inp_hotreb inp_exit db '‚ë室 ¨§ ¯à®£à ¬¬ë...' +.len = $-inp_exit inp_com db '¥®¯®§­ ­­ ï ª®¬¬ ­¤ !' +.len = $-inp_com +else +inp_con db 'Note, client has been connected!' +.len = $-inp_con +inp_shut db 'Turn off in progress...' +.len = $-inp_shut +inp_reb db 'Reboot in progress...' +.len = $-inp_reb +inp_savefi db 'Saving image to floppy...' +.len = $-inp_savefi +inp_savehi db 'Saving image to hard disk...' +.len = $-inp_savehi +inp_hotreb db 'Kernel restart in progress...' +.len = $-inp_hotreb +inp_exit db 'Exiting from program...' +.len = $-inp_exit +inp_com db 'Unknown command!' +.len = $-inp_com +end if I_END: - - - - - - - \ No newline at end of file diff --git a/programs/system/icon/trunk/icon.asm b/programs/system/icon/trunk/icon.asm index dcbea27cda..ff91ecd853 100644 --- a/programs/system/icon/trunk/icon.asm +++ b/programs/system/icon/trunk/icon.asm @@ -26,8 +26,8 @@ ICON_STRIP equ '/RD/1/ICONSTRP.GIF' dd icon_data+0x30000 ; memory for app dd icon_data+0x30000 ; esp dd I_Param , 0x0 ; I_Param , I_Icon -include 'macros.inc' include 'lang.inc' +include 'macros.inc' COLOR_ORDER equ MENUETOS include 'gif_lite.inc' ;include 'debug.inc' @@ -801,7 +801,7 @@ else db 255,255,255,0, ' PARAMETERS ' db 255,255,255,0, ' APPLY CHANGES ' db 255,255,255,0, ' ADD ICON REMOVE ICON ' - db 0,0,0,0, '€†Œˆ’… € Ž‡ˆ–ˆž ˆŠŽŠˆ „‹Ÿ …„€Š’ˆŽ‚€ˆŸ ' + db 0,0,0,0, ' PRESS ON POSITION OF ICON TO EDIT ' db 'x' ; <- END MARKER, DONT DELETE labelt: @@ -811,11 +811,19 @@ end if ;ya dd 0 +if lang eq ru add_text db '€†Œˆ’… € Ž‡ˆ–ˆž …ˆ‘Ž‹œ‡“…ŒŽ‰ ˆŠŽŠˆ' add_text_len: rem_text db '€†Œˆ’… € Ž‡ˆ–ˆž ˆ‘Ž‹œ‡“…ŒŽ‰ ˆŠŽŠˆ' rem_text_len: +else +add_text db 'PRESS ON POSITION OF UNUSED ICON' +add_text_len: + +rem_text db 'PRESS ON POSITION OF USED ICON' +rem_text_len: +end if arrows db '' iconname: db ICON_APP,0 diff --git a/programs/system/launcher/trunk/launcher.asm b/programs/system/launcher/trunk/launcher.asm index 920b3372f1..3799173f3c 100644 --- a/programs/system/launcher/trunk/launcher.asm +++ b/programs/system/launcher/trunk/launcher.asm @@ -6,8 +6,7 @@ ; ; Š®¬¯¨«¨àã©â¥ á ¯®¬®éìî FASM 1.52 ¨ ¢ëè¥ ; -include "lang.inc" -include "macros.inc" +include "MACROS.INC" use32 org 0x0 @@ -23,9 +22,11 @@ include "macros.inc" START: ; start of execution - mov eax, 5 - mov ebx, 10 - int 0x40 +; mov eax, 5 +; mov ebx, 10 +; int 0x40 + + mcall 18,15 mov eax, 58 ; load AUTORUN.DAT mov ebx, autorun_dat_info diff --git a/programs/system/pcidev/trunk/PCIDEV.ASM b/programs/system/pcidev/trunk/PCIDEV.ASM new file mode 100644 index 0000000000..8acb766084 --- /dev/null +++ b/programs/system/pcidev/trunk/PCIDEV.ASM @@ -0,0 +1,512 @@ +;*************************************************************** +; 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 +;*************************************************************** +;Summary: This program will attempt to scan the PCI Bus +; and display basic information about each device +; connected to the PCI Bus. +;*************************************************************** +;HISTORY: +;keep dates in european format (dd/mm/yyyy), please +; '!' means big changes +; to-do: +;PCI version should be normalized (0210->02.10) +;---------------------------------------------------------------- +;1.31: PCIDEV 13/05/2006 +;Author: Jason Delozier +;Features: +; fixed +; * ! bug in Company Name look up code that would cause Unknown Name errors. +; * ! possible bugs, many instructions missing byte, word, dword prefixes +; * ! possible bug which could have occured after removing "PREVIOUSVERSIONLIST" +; entry in loop up code and not fixing jump parameters. +; added +; * comments to various parts of the code +; optimized +; * various parts of the source, too many to remember and mention. +; * changed entries for Subclasses in vendors.inc to Byte format, saves a little space. +;---------------------------------------------------------------- +;1.30: PCIDEV 11/05/2006 +;Author: Sergey Kuzmin aka Wildwest +;Features: +; added +; * 3 new vendor id's (ESS from Madis Kalme and 2 id's +; forgotten from 1.15 release: Broadcom -SiByte and Chaintech Comp.) +; changed +; * I don't know why other devs (Jason or Victor) changed window style +; to old ugly one, so I changed it back to skinned type 3. +; * the same goes to the use of macroc.inc - it is enabled again. +; deleted +; * there is no more label "PREVIOUSVERSIONLIST" - id's moved to the +; appropriate parts of global list. +;---------------------------------------------------------------- +;1.29: PCIDEV 30/04/2006 +;Author: Jason Delozier +;Features: +; fixed +; * ! bug that would not allow devices with device +; numbers > 16 to be displayed. +; added +; * ! another heading called "FNC" (function) which allows +; the multipurpose Device/Function varible to be split and +; displayed to the user properly. +; * horizontal bars to display for easier reading. +; optimized +; * vendor/description search routines for speed and space. +;---------------------------------------------------------------- +;1.25: PCIDEV 02/10/2005 +;Author: Sergey Kuzmin aka Wildwest +;Features: +; changed +; * ! Description is based on Class and SubClass +; now (PCI 3.0). The Names of Classes and SubClasses +; are in the end of Vendors.inc +; deleted +; * label "Descriptions" (names of Classes) +; +;---------------------------------------------------------------- +;1.20: PCIDEV 16/08/2005 +;Author: Victor Alberto Gil Hanla a.k.a. vhanla +;Features: +; added +; * ! many vendor lists (865) +; deleted +; * previous version's list +; changed +; * previous Company Name searching and printing +;---------------------------------------------------------------- +;1.15: PCIDEV 03/06/2005 +;Author: Sergey Kuzmin aka Wildwest +;Features: +; added +; * quantity of devices, +; * ! detection of Company Name based on Vendor ID, +; * database of VenID (35 ID's), +; * macros.inc for smaller size, +; changed +; * interface+(skinned window), +; * VenID before DevID in 'table'(was DevID before VenID) +;---------------------------------------------------------------- +;1.0: PCIDEV 30/01/2005 +;Author: Jason Delozier +;Features: +; able to +; * detect PCI version, +; * quantity of PCI buses, +; * Vendor&Device ID for appropriate Device on Bus; +; * detect Revision, Class and Subclass of Device, +; * and make Description based on Class +;------------------------------------------------------------- +use32 + + org 0x0 + + db 'MENUET01'; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd 0xFFFF ; memory for app = 64 KB + dd I_END ; esp + dd 0x0 , 0x0 ; I_Param , I_Icon + + +include 'macros.inc' +include 'VENDORS.INC' + +START: ; start of execution + call draw_window + +still: + mov eax,10 ; wait here for event + int 0x40 + + cmp eax,1 ; redraw request ? + je red + cmp eax,2 ; key in buffer ? + je key + cmp eax,3 ; button in buffer ? + je button + + jmp still + + red: ; redraw + mov eax, 9 ;window redraw requested so get new window coordinates and size + mov ebx, Proc_Info ;area to store process information + mov ecx, -1 ; + int 0x40 ;get the process information + mov eax,[Proc_Info+34] ;store the window coordinates into the Form Structure + mov [Form+2], ax ;x start position + mov eax,[Proc_Info+38] ; + mov [Form+6],ax ;ystart position + mov eax,[Proc_Info+42] ; + mov [Form],ax ;window width + mov eax,[Proc_Info+46] ; + mov [Form+4] ,ax ;window height + call draw_window ;go redraw window now + jmp still + + key: ; key + mov eax,2 ; just read it and ignore + int 0x40 + jmp still + button: ; button + mov eax,17 ; get id + int 0x40 + + cmp ah,1 ; button id=1 ? + jne noclose + + mov eax,-1 ; close this program + int 0x40 + noclose: + jmp still + + + + +; ********************************************* +; ******* WINDOW DEFINITIONS AND DRAW ******** +; ********************************************* +Form: + dw 780 ;window width + dw 100 ;window x start + dw 420 ;window height + dw 100 ;window y start + + + +draw_window: + + mov byte [total],0 + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw + int 0x40 + ; DRAW WINDOW + mov eax,0 ; function 0 : define and draw window + mov ebx, dword [Form] ; x/width of window + mov ecx, dword [Form+4] ; y/height of window + mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl + mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl + mov edi,0x005080d0 ; color of frames RRGGBB + int 0x40 ; draw the window + ; WINDOW LABEL + mov eax,4 ; function 4 : write text to window + mov ebx,8*65536+8 ; [x start] *65536 + [y start] + mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) + mov edx,labelt ; pointer to text beginning + mov esi,labellen-labelt ; text length + int 0x40 + + ;draw captions to window + 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 +newline: ; + mov eax, 4 ;draw text system function + int 0x40 ;draw the text + add ebx, 10 ;one line down + add edx, esi ;add lenght of line to offset of text buffer + cmp byte[edx], byte 'x' ;is it the end of buffer? + jne newline ;if not draw another line of text + + ;Insert horizontal bars in list area + mov eax, 13 ;draw bar system function + mov ebx, 18 ;set Xstart position of bar + 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 + again: ;begin draw bar loop + int 0x40 ;draw bar to window area + shr ecx, 16 ;move the Ystart position to working area + add ecx, 34 ;add 34 pixels to Y Start (moves bar down) + cmp cx,word [Form+4] ;is the Ystart position outside of window area + jae nomo ;if so stop drawing bars + sub ecx, 14 ;if not, we only need 20 pixels between bar tops + shl ecx, 16 ;set that values as Ystart + add ecx, 10 ;Bar Height is always 10 pixels + jmp again ;draw another bar + nomo: ;done drawing bars here + + ;start PCI stuff + call Get_PCI_Info ;get pci version and last bus + mov cx,word [PCI_Version] ;number to draw + mov eax, 47 ;draw number system function + xor esi, esi ;color of text + mov ebx, 0x00040100 ;4 digits to draw in hex format + mov edx, 110*65536+45 ;x/y start position of number + int 0x40 ;draw pci version to window + mov cl,byte [PCI_LastBus] ;number to draw + mov ebx, 0x00020100 ;2 digits hex format + add edx, 10 ;one line below pci version + int 0x40 ;draw the last bus to window + + call scan_Pci ;scan for and draw each pci device + + movzx ecx, byte [total] ;number to draw + mov eax, 47 ;draw number system function + mov ebx, 0x00020000 ;2 digits to draw in decimal format + xor esi, esi ;color of text + mov edx, 150*65536+65 ;x/y position to draw to + int 0x40 ;draw total number of devices to window + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,2 ; 2, end of draw + int 0x40 + + ret +; *********************************************** +; ******* END WINDOW DEFINITIONS & DRAW ******* +; *********************************************** + + +;****************************************************** +;* Gets the PCI Versioin and Last Bus +Get_PCI_Info: + mov eax, 62 + xor ebx, ebx + int 0x40 + mov word [PCI_Version], ax + mov eax, 62 + mov ebx, 1 + int 0x40 + mov byte [PCI_LastBus], al +ret +;****************************************************** + + +;****************************************************** +;* Get all devices on PCI Bus +scan_Pci: + cmp byte [PCI_LastBus],0xff ;0xFF means no pci bus found + jne Pci_Exists ; + ret ;if no bus then leave +Pci_Exists: + mov byte [V_Bus], 0 ;reset varibles + mov byte [V_Dev], 0 ; + mov edx, 20*65536+110 ;set start write position +Start_Enum: + mov bl, 6 ;get a dword + mov bh, byte [V_Bus] ;bus of pci device + mov ch, byte [V_Dev] ;device number/function + mov cl, 0 ;offset to device/vendor id + mov eax, 62 ;pci system function + int 0x40 ;get ID's + + cmp ax, 0 ;Vendor ID should not be 0 or 0xFFFF + je nextDev ;check next device if nothing exists here + cmp ax, 0xffff ; + je nextDev ; + + mov word [PCI_Vendor], ax ;There is a device here, save the ID's + shr eax, 16 ; + mov word [PCI_Device], ax ; + mov eax, 62 ;PCI Sys Function + mov bl, 4 ;Read config byte + mov bh, byte [V_Bus] ;Bus # + mov ch, byte [V_Dev] ;Device # on bus + mov cl, 0x08 ;Register to read (Get Revision) + int 0x40 ;Read it + mov byte [PCI_Rev], al ;Save it + mov eax, 62 ;PCI Sys Function + mov cl, 0x0b ;Register to read (Get class) + int 0x40 ;Read it + mov byte [PCI_Class], al ;Save it + mov eax, 62 ;PCI Sys Function + mov cl, 0x0a ;Register to read (Get Subclass) + int 0x40 ;Read it + mov byte [PCI_SubClass], al ;Save it + inc byte [total] ;one more device found + call Print_New_Device ;print device info to screen +nextDev: + inc byte [V_Dev] ;next device on this bus + jnz Start_Enum ;jump until we reach zero + ;(used to be JNO which caused bug!!! 30-4-2006, JMD) + mov byte [V_Dev], 0 ;reset device number + inc byte [V_Bus] ;next bus + mov al, byte [PCI_LastBus] ;get last bus + cmp byte [V_Bus], al ;was it last bus + jbe Start_Enum ;if not jump to keep searching +ret +;****************************************************** + + + +;****************************************************** +;* Print device info to screen +Print_New_Device: + mov eax, 47 ;Write number to screen system function + mov ebx, 0x00040100 ;4 byte number, print in hexidecimal + xor esi, esi ;Color of text + movzx ecx,word [PCI_Vendor] ;Pointer to number to be written + int 0x40 ;Write Vendor ID + and edx, 0xFFFF ;***************************************** + or edx, 54*65536 ;X start becomes 54 + movzx ecx,word [PCI_Device] ;get Vendor ID + int 0x40 ;Draw Vendor ID to Window + mov ebx, 0x00020100 ;2 digit number, in hexidecimal format + and edx, 0xFFFF ;***************************************** + or edx, 98*65536 ;X start becomes 98 + movzx ecx,byte [V_Bus] ;get bus number + int 0x40 ;draw bus number to screen + and edx, 0xFFFF ;***************************************** + or edx, 128*65536 ;X start becomes 128 + movzx ecx,byte [V_Dev] ;get device number + shr ecx, 3 ;device number is bits 3-7 + int 0x40 ;Draw device Number To Window + and edx, 0xFFFF ;***************************************** + or edx, 155*65536 ;X start becomes 155 + movzx ecx, byte [V_Dev] ;get Function number + and ecx, 7 ;function is first 3 bits + int 0x40 ;Draw Function Number To Window + and edx, 0xFFFF ;***************************************** + or edx, 179*65536 ;X start becomes 179 + movzx ecx,byte [PCI_Rev] ;get revision number + int 0x40 ;Draw Revision to screen + and edx, 0xFFFF ;***************************************** + or edx, 215*65536 ;X start becomes 215 + 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 + movzx ecx,byte [PCI_SubClass];get sub class + int 0x40 ;Draw Sub Class to screen + ;Write Names + movzx ebx, dx ;Set y position + or ebx, 310*65536 ;set Xposition to 310 + +;********************************************************** +;Prints the Vendor's Name based on Vendor ID +; +; modified part by vhanla (I know it is not a fastest way to search) +; it needs optimization... HELP this project! +; +; Modified on 30-04-2006 by JMD for size +;----------------------------------------------------------------------------- + ;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 + 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^ + jae next2 ; + mov edx, _SECONDPART ; + jmp rep1 ; + next2: ; + cmp ax,5574 ; + jae next3 ; + mov edx, _THIRDPART ; + jmp rep1 ; + next3: ; + mov ecx, 110 ;only 110 vendors in this list + mov edx, _FOURTHPART ; + + rep1: + cmp ax,word[edx+50] ;are Vendor ID's the same? + je ex ;if so jump to print the description to screen + add edx, 52 ;if not put us at start of next description + dec ecx ;one less description in list + jnz rep1 ;was it our last? + mov edx, _UNKNOWN ;if so we dont know this Vendor + + ex: + ;lets print the vendor Name + xor ecx, ecx ;font color + mov eax,4 ;OS CMD + mov esi,50 ;Length of text + int 0x40 ;Print the text +;------------------------------------------------------------------ + +;------------------------------------------------------------------ +;Get description based on Class/Subclass + cmp byte [PCI_Class], 11h ;we only know of 17 classes + ja endd ;if its more then, its unknown to us, so jump + movzx eax, byte [PCI_Class] ;load our class + 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 + repu1: + cmp al,byte[edx+32] ;are subclasses the same? + je endd ;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 + endd: + and ebx, 0x0000FFFF ;clear X position + or ebx, 0x02300000 ;set X position to 560 pixels + xor ecx, ecx ;color of text + mov eax,4 ;draw text system function + mov esi,32 ;length of text to draw + int 0x40 ;draw the text + + movzx edx, bx ;get y coordinate + add edx, 0x0014000A ;add 10 to y coordinate and set x coordinate to 20 +ret + +ClassList: + dd Class0 , 2, Class1 , 8, Class2, 8, Class3, 4 + dd Class4 , 4, Class5 , 3, Class6, 12, Class7, 7 + dd Class8 , 8, Class9 , 6, ClassA, 2, ClassB, 7 + dd ClassC , 10, ClassD , 8, ClassE, 1, ClassF, 4 + dd Class10, 3, Class11, 5 +;------------------------------------------------------------------ + + + +; DATA AREA + +labelt: +db 'PCI Device Enumeration v 1.31 by J. Delozier, S. Kuzmin and V. Hanla' + labellen: + +PCIWin: +db 'Please remember to enable PCI Access to Applications in Setup Menu.' +db ' ' +db ' ' +db ' ' +db 'PCI Version = ' +db ' ' +db 'Last PCI Bus = ' +db ' ' +db 'Quantity of devices = ' +db ' ' +db ' ' +db ' ' +db 'VenID DevID Bus# Dev# Fnc Rev Class Subclass Comp' +db 'any Description ' +db '----- ----- ---- ---- --- --- ----- -------- --------------------' +db '---------------------- ----------------' +db 'x' + +total db 0 +V_Bus db 0 +V_Dev db 0 +PCI_Version dw 0 +PCI_LastBus db 0 +PCI_Device dw 0 +PCI_Vendor dw 0 +PCI_Bus db 0 +PCI_Dev db 0 +PCI_Rev db 0 +PCI_Class db 0 +PCI_SubClass db 0 + + +Proc_Info: + times 1024 db 0 + +I_END: \ No newline at end of file diff --git a/programs/system/pcidev/trunk/vendors.inc b/programs/system/pcidev/trunk/VENDORS.INC similarity index 62% rename from programs/system/pcidev/trunk/vendors.inc rename to programs/system/pcidev/trunk/VENDORS.INC index e3772fd2ef..c554d48a3f 100644 --- a/programs/system/pcidev/trunk/vendors.inc +++ b/programs/system/pcidev/trunk/VENDORS.INC @@ -1,2004 +1,2007 @@ -; AUTHOR: Victor Alberto Gil Hancco Laquita -; This list might content mistakes, plz report it -; There are 865 Lists of Vendors' Names -; Date: 8/14/2005 -; -; IN CONCLUSION, IF THERE EXISTS BUGS, PLEASE HELP THE PROJECT... -; maybe this list is outdated... -; (the source was from 2004 list) - -_FIRSTPART: ;lists the 255 Vendor IDs - db 'PARADYNE CORP. ' - dw 51 ; 0x0033 - db 'REAL 3D ' - dw 61 ; 0x003D - db 'NCIPHER CORP. LTD ' - dw 256 ; 0x0100 - db 'BREA TECHNOLOGIES INC ' - dw 2697 ; 0x0A89 - db 'COMPAQ COMPUTER CORP. ' - dw 3601 ; 0x0E11 - db 'SYMBIOS LOGIC INC/LSI Logic ' - dw 4096 ; 0x1000 - db 'KOLTER ELECTRONIC ' - dw 4097 ; 0x1001 - db 'ATI TECHNOLOGIES INC ' - dw 4098 ; 0x1002 - db 'VLSI TECHNOLOGY INC ' - dw 4100 ; 0x1004 - db 'NATIONAL SEMICONDUCTOR CORPORATION ' - dw 4107 ; 0x100B - db 'VIDEO LOGIC LTD ' - dw 4112 ; 0x1010 - db 'IBM ' - dw 4116 ; 0x1014 - db 'UNISYS CORPORATION ' - dw 4120 ; 0x1018 - db 'ELITEGROUP COMPUTER SYS ' - dw 4121 ; 0x1019 - db 'NCR ' - dw 4122 ; 0x101A - db 'AMERICAN MEGATRENDS ' - dw 4126 ; 0x101E - db 'HITACHI COMPUTER PRODUCTS ' - dw 4128 ; 0x1020 - db 'OKI ELECTRIC INDUSTRY CO. LTD. ' - dw 4129 ; 0x1021 - db 'ADVANCED MICRO DEVICES ' - dw 4130 ; 0x1022 - db 'TRIDENT MICROSYSTEMS ' - dw 4131 ; 0x1023 - db 'DELL COMPUTER CORPORATION ' - dw 4136 ; 0x1028 - db 'LSI LOGIC CORPORATION ' - dw 4138 ; 0x102A - db 'MATROX GRAPHICS. ' - dw 4139 ; 0x102B - db 'TOSHIBA AMERICA ' - dw 4143 ; 0x102F - db 'NEC CORPORATION ' - dw 4147 ; 0x1033 - db 'AMP ' - dw 4152 ; 0x1038 - db 'SILICON INTEGRATED SYSTEMS ' - dw 4153 ; 0x1039 - db 'SYNOPSYS/LOGIC MODELING GROUP ' - dw 4159 ; 0x103F - db 'Micron Electronics. ' - dw 4162 ; 0x1042 - db 'ASUSTEK COMPUTER. ' - dw 4163 ; 0x1043 - db 'DISTRIBUTED PROCESSING TECHNOLOGY ' - dw 4164 ; 0x1044 - db 'OPTI INC. ' - dw 4165 ; 0x1045 - db 'ELSA AG ' - dw 4168 ; 0x1048 - db 'FOUNTAIN TECHNOLOGIES. ' - dw 4169 ; 0x1049 - db 'TEXAS INSTRUMENTS ' - dw 4172 ; 0x104C - db 'SONY CORPORATION ' - dw 4173 ; 0x104D - db 'WINBOND ELECTRONICS CORP ' - dw 4176 ; 0x1050 - db 'HITACHI ' - dw 4180 ; 0x1054 - db 'Standard Microsystems Corp. ' - dw 4181 ; 0x1055 - db 'ETRI ' - dw 4184 ; 0x1058 - db 'TEKNOR INDUSTRIAL COMPUTERS INC ' - dw 4185 ; 0x1059 - db 'PROMISE TECHNOLOGY. ' - dw 4186 ; 0x105A - db 'FOXCONN INTERNATIONAL INC ' - dw 4187 ; 0x105B - db 'NUMBER 9 VISUAL TECHNOLOGY ' - dw 4189 ; 0x105D - db 'INFOTRONIC AMERICA INC ' - dw 4191 ; 0x105F - db 'OCEAN MANUFACTURING LTD ' - dw 4195 ; 0x1063 - db 'ALCATEL ' - dw 4196 ; 0x1064 - db 'MITSUBISHI ELECTRIC AMERICA ' - dw 4199 ; 0x1067 - db 'DIVERSIFIED TECHNOLOGY ' - dw 4200 ; 0x1068 - db 'MYLEX CORPORATION ' - dw 4201 ; 0x1069 - db 'APPLE COMPUTER INC. ' - dw 4203 ; 0x106B - db 'SEQUENT COMPUTER SYSTEMS ' - dw 4205 ; 0x106D - db 'DAEWOO TELECOM LTD ' - dw 4208 ; 0x1070 - db 'MITAC ' - dw 4209 ; 0x1071 - db 'YAMAHA CORPORATION ' - dw 4211 ; 0x1073 - db 'QLOGIC ' - dw 4215 ; 0x1077 - db 'I-BUS ' - dw 4217 ; 0x1079 - db 'GATEWAY 2000 ' - dw 4219 ; 0x107B - db 'INTERPHASE CORPORATION ' - dw 4222 ; 0x107E - db 'OLICOM ' - dw 4237 ; 0x108D - db 'SILICON IMAGE (WAS CMD TECHNOLOGY INC) ' - dw 4245 ; 0x1095 - db 'ALACRON ' - dw 4246 ; 0x1096 - db 'APPIAN/ETMA ' - dw 4247 ; 0x1097 - db 'PACKARD BELL NEC ' - dw 4250 ; 0x109A - db 'BROOKTREE CORPORATION ' - dw 4254 ; 0x109E - db 'TRIGEM COMPUTER INC. ' - dw 4255 ; 0x109F - db 'MEIDENSHA CORPORATION ' - dw 4256 ; 0x10A0 - db 'QUANTUM EFFECT DESIGN ' - dw 4258 ; 0x10A2 - db 'SILICON GRAPHICS ' - dw 4265 ; 0x10A9 - db 'HONEYWELL IAC ' - dw 4268 ; 0x10AC - db 'MICRO COMPUTER SYSTEMS INC ' - dw 4271 ; 0x10AF - db 'PLX TECHNOLOGY. ' - dw 4277 ; 0x10B5 - db 'MADGE NETWORKS ' - dw 4278 ; 0x10B6 - db '3COM ' - dw 4279 ; 0x10B7 - db 'ACER LABS ' - dw 4281 ; 0x10B9 - db 'MITSUBISHI ELECTRIC CORP. ' - dw 4282 ; 0x10BA - db 'AUSPEX SYSTEMS INC. ' - dw 4290 ; 0x10C2 - db 'NEOMAGIC CORPORATION ' - dw 4296 ; 0x10C8 - db 'FUJITSU MICROELECTRONIC ' - dw 4298 ; 0x10CA - db 'OMRON CORPORATION ' - dw 4299 ; 0x10CB - db 'ADVANCED SYSTEM PRODUCTS ' - dw 4301 ; 0x10CD - db 'FUJITSU LIMITED ' - dw 4303 ; 0x10CF - db 'FUTUREPLUS SYSTEMS CORP. ' - dw 4305 ; 0x10D1 - db 'MOLEX INCORPORATED ' - dw 4306 ; 0x10D2 - db 'ROHM LSI SYSTEMS ' - dw 4315 ; 0x10DB - db 'EVANS & SUTHERLAND ' - dw 4317 ; 0x10DD - db 'NVIDIA CORPORATION ' - dw 4318 ; 0x10DE - db 'EMULEX CORPORATION ' - dw 4319 ; 0x10DF - db 'TEKRAM TECHNOLOGY CO.LTD. ' - dw 4321 ; 0x10E1 - db 'TUNDRA SEMICONDUCTOR CORP ' - dw 4323 ; 0x10E3 - db 'MICRO INDUSTRIES CORPORATION ' - dw 4325 ; 0x10E5 - db 'REALTEK SEMICONDUCTOR CORP. ' - dw 4332 ; 0x10EC - db 'XILINX. ' - dw 4334 ; 0x10EE - db 'TYAN COMPUTER ' - dw 4337 ; 0x10F1 - db 'NKK CORPORATION ' - dw 4341 ; 0x10F5 - db 'CREATIVE ELECTRONIC SYSTEMS SA ' - dw 4342 ; 0x10F6 - db 'I-O DATA DEVICE. ' - dw 4348 ; 0x10FC - db 'FAST MULTIMEDIA AG ' - dw 4350 ; 0x10FE - db 'INITIO CORPORATION ' - dw 4353 ; 0x1101 - db 'CREATIVE LABS ' - dw 4354 ; 0x1102 - db 'SIGMA DESIGNS ' - dw 4357 ; 0x1105 - db 'VIA TECHNOLOGIES. ' - dw 4358 ; 0x1106 - db 'ASCEND COMMUNICATIONS. ' - dw 4359 ; 0x1107 - db 'Adaptec/Cogent Data Technologies Inc ' - dw 4361 ; 0x1109 - db 'SIEMENS PC SYSTEME GMBH ' - dw 4362 ; 0x110A - db 'SANTA CRUZ OPERATION ' - dw 4369 ; 0x1111 - db 'ACCTON TECHNOLOGY ' - dw 4371 ; 0x1113 - db 'MEDIA 100 ' - dw 4374 ; 0x1116 - db 'DATACUBE ' - dw 4375 ; 0x1117 - db 'FCI ELECTRONICS ' - dw 4376 ; 0x1118 - db 'ICP-VORTEX COMPUTERSYSTEM GMBH ' - dw 4377 ; 0x1119 - db 'EFFICIENT NETWORKS ' - dw 4378 ; 0x111A - db 'INTEGRATED DEVICE TECH ' - dw 4381 ; 0x111D - db 'EMC CORPORATION ' - dw 4384 ; 0x1120 - db 'FORE SYSTEMS INC ' - dw 4391 ; 0x1127 - db 'HERMES ELECTRONICS COMPANY ' - dw 4394 ; 0x112A - db 'IMAGING TECHNOLOGY ' - dw 4399 ; 0x112F - db 'PHILIPS SEMICONDUCTORS ' - dw 4401 ; 0x1131 - db 'MITEL CORP ' - dw 4402 ; 0x1132 - db 'EICON TECHNOLOGY CORPORATION ' - dw 4403 ; 0x1133 - db 'MERCURY COMPUTER SYSTEMS ' - dw 4404 ; 0x1134 - db 'FUJI XEROX CO LTD ' - dw 4405 ; 0x1135 - db 'MOMENTUM DATA SYSTEMS ' - dw 4406 ; 0x1136 - db 'CISCO SYSTEMS INC ' - dw 4407 ; 0x1137 - db 'ZIATECH CORPORATION ' - dw 4408 ; 0x1138 - db 'CYCLONE MICROSYSTEMS. ' - dw 4412 ; 0x113C - db 'SANYO ELECTRIC CO-Information Systems Division ' - dw 4414 ; 0x113E - db 'CREST MICROSYSTEM INC. ' - dw 4417 ; 0x1141 - db 'WORKBIT CORPORATION ' - dw 4421 ; 0x1145 - db 'FORCE COMPUTERS GMBH ' - dw 4422 ; 0x1146 - db 'SYSKONNECT ' - dw 4424 ; 0x1148 - db 'ANNABOOKS ' - dw 4428 ; 0x114C - db 'DIGI INTERNATIONAL ' - dw 4431 ; 0x114F - db 'MELCO INC ' - dw 4436 ; 0x1154 - db 'PHOTRON LTD. ' - dw 4444 ; 0x115C - db 'XIRCOM ' - dw 4445 ; 0x115D - db 'PFU LIMITED ' - dw 4449 ; 0x1161 - db 'RENDITION ' - dw 4451 ; 0x1163 - db 'Reliance Computer ' - dw 4454 ; 0x1166 - db 'ELECTRONICS FOR IMAGING ' - dw 4462 ; 0x116E - db 'INVENTEC CORPORATION ' - dw 4464 ; 0x1170 - db 'BLUE WAVE SYSTEMS ' - dw 4465 ; 0x1171 - db 'ALTERA CORPORATION ' - dw 4466 ; 0x1172 - db 'TOSHIBA AMERICA INFO SYSTEMS ' - dw 4473 ; 0x1179 - db 'RICOH CO LTD ' - dw 4480 ; 0x1180 - db 'D-LINK SYSTEM INC ' - dw 4486 ; 0x1186 - db 'ADVANCED TECHNOLOGY LABORATORIES ' - dw 4487 ; 0x1187 - db 'MATSUSHITA ELECTIC INDUSTRIAL CO LTD ' - dw 4489 ; 0x1189 - db 'PLATYPUS TECHNOLOGY PTY LTD ' - dw 4491 ; 0x118B - db 'COROLLARY ' - dw 4492 ; 0x118C - db 'ACARD TECHNOLOGY ' - dw 4497 ; 0x1191 - db 'RATOC SYSTEMS INC ' - dw 4501 ; 0x1195 - db 'MINDSHARE. ' - dw 4506 ; 0x119A - db 'BUG. ' - dw 4509 ; 0x119D - db 'FUJITSU MICROELECTRONICS LTD. ' - dw 4510 ; 0x119E - db 'BULL HN INFORMATION SYSTEMS ' - dw 4511 ; 0x119F - db 'HAMAMATSU PHOTONICS K.K. ' - dw 4513 ; 0x11A1 - db 'INNOSYS ' - dw 4521 ; 0x11A9 - db 'ACTEL ' - dw 4522 ; 0x11AA - db 'GALILEO TECHNOLOGY LTD. ' - dw 4523 ; 0x11AB - db 'LITE-ON COMMUNICATIONS INC ' - dw 4525 ; 0x11AD - db 'SCITEX CORPORATION ' - dw 4526 ; 0x11AE - db 'AVID TECHNOLOGY INC ' - dw 4527 ; 0x11AF - db 'V3 SEMICONDUCTOR INC. ' - dw 4528 ; 0x11B0 - db 'EASTMAN KODAK ' - dw 4530 ; 0x11B2 - db 'BARR SYSTEMS INC. ' - dw 4531 ; 0x11B3 - db 'ASTRODESIGN ' - dw 4543 ; 0x11BF - db 'DAINIPPON SCREEN MFG. CO. LTD ' - dw 4550 ; 0x11C6 - db 'DOLPHIN INTERCONNECT SOLUTIONS AS ' - dw 4552 ; 0x11C8 - db 'MAGMA ' - dw 4553 ; 0x11C9 - db 'LSI SYSTEMS ' - dw 4554 ; 0x11CA - db 'SPECIALIX INTERNATIONAL LTD ' - dw 4555 ; 0x11CB - db 'NETACCESS ' - dw 4558 ; 0x11CE - db 'LOCKHEED MARTIN-Electronics & Communications ' - dw 4560 ; 0x11D0 - db 'AURAVISION ' - dw 4561 ; 0x11D1 - db 'INTERCOM INC. ' - dw 4562 ; 0x11D2 - db 'ANALOG DEVICES ' - dw 4564 ; 0x11D4 - db 'IKON CORPORATION ' - dw 4565 ; 0x11D5 - db 'TOSHIBA TEC CORPORATION ' - dw 4569 ; 0x11D9 - db 'NOVELL ' - dw 4570 ; 0x11DA - db 'NEW WAVE PDG ' - dw 4575 ; 0x11DF - db 'QUICKLOGIC CORPORATION ' - dw 4579 ; 0x11E3 - db 'CORECO INC ' - dw 4588 ; 0x11EC - db 'DOME IMAGING SYSTEMS INC ' - dw 4590 ; 0x11EE - db 'PMC-SIERRA INC ' - dw 4600 ; 0x11F8 - db 'AGFA CORPORATION ' - dw 4611 ; 0x1203 - db 'AMDAHL CORPORATION ' - dw 4614 ; 0x1206 - db 'ESSENTIAL COMMUNICATIONS ' - dw 4623 ; 0x120F - db 'PERFORMANCE TECHNOLOGIES. ' - dw 4628 ; 0x1214 - db 'PURUP-EskoFot A/S ' - dw 4630 ; 0x1216 - db 'O2MICRO. ' - dw 4631 ; 0x1217 - db '3DFX INTERACTIVE ' - dw 4634 ; 0x121A - db 'VIRATA LTD ' - dw 4635 ; 0x121B - db 'CONTEC CO. LTD ' - dw 4641 ; 0x1221 - db 'ARTESYN COMMUNICATIONS PRODUCTS INC ' - dw 4643 ; 0x1223 - db 'TECH-SOURCE ' - dw 4647 ; 0x1227 - db 'SICAN GMBH ' - dw 4652 ; 0x122C - db 'MARCONI COMMUNICATIONS LTD ' - dw 4658 ; 0x1232 - db 'SOLITON SYSTEMS K.K. ' - dw 4961 ; 0x1361 - db 'CENTURY SYSTEMS. ' - dw 4668 ; 0x123C - db 'ENGINEERING DESIGN TEAM. ' - dw 4669 ; 0x123D - db 'C-CUBE MICROSYSTEMS ' - dw 4671 ; 0x123F - db 'JAYCOR NETWORKS INC. ' - 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 ' - dw 4688 ; 0x1250 - db 'GUZIK TECHNICAL ENTERPRISES ' - dw 4691 ; 0x1253 - db 'OPTIBASE LTD ' - dw 4693 ; 0x1255 - db 'ALLIED TELESYN INTERNATIONAL ' - dw 4697 ; 0x1259 - db 'AURORA TECHNOLOGIES. ' - dw 4700 ; 0x125C - db 'CONCURRENT TECHNOLOGIES ' - dw 4703 ; 0x125F - db 'INTERSIL CORP ' - dw 4704 ; 0x1260 - db 'MATSUSHITA-KOTOBUKI ELECTRONICS ' - dw 4705 ; 0x1261 - db 'AVAL NAGASAKI CORPORATION ' - dw 4708 ; 0x1264 - db 'TEKTRONIX ' - dw 4712 ; 0x1268 - db 'NORTEL NETWORKS ' - dw 4716 ; 0x126C - db 'SPLASH TECHNOLOGY. ' - dw 4717 ; 0x126D - db 'SUMITOMO METAL INDUSTRIES ' - dw 4718 ; 0x126E - db 'SILICON MOTION. ' - dw 4719 ; 0x126F - db 'OLYMPUS OPTICAL CO. LTD. ' - dw 4720 ; 0x1270 - db 'CREATIVE LABS (WAS ENSONIQ, MALVERN) ' - dw 4724 ; 0x1274 - db 'NETWORK APPLIANCE CORPORATION ' - dw 4725 ; 0x1275 - db 'TRANSTECH DSP LTD ' - dw 4728 ; 0x1278 - db 'TRANSMETA CORPORATION ' - dw 4729 ; 0x1279 - db 'VELA RESEARCH LP ' - dw 4733 ; 0x127D - db 'FUJIFILM ' - dw 4735 ; 0x127F - db 'YOKOGAWA ELECTRIC CORPORATION ' - dw 4737 ; 0x1281 - db 'INTEGRATED TECHNOLOGY EXPRESS. ' - dw 4739 ; 0x1283 - db 'MAZET GMBH ' - dw 4742 ; 0x1286 - db 'TRANSWITCH CORPORATION ' - dw 4747 ; 0x128B - db 'G2 NETWORKS. ' - dw 4749 ; 0x128D - db 'TATENO DENNOU. ' - dw 4751 ; 0x128F - db 'TOSHIBA PERSONAL COMPUTER SYSTEM CORP. ' - dw 4752 ; 0x1290 - db 'NCS COMPUTER ITALIA SRL ' - dw 4753 ; 0x1291 - db 'TRITECH MICROELECTRONICS INC ' - dw 4754 ; 0x1292 - db 'SHUTTLE COMPUTER ' - dw 4759 ; 0x1297 - db 'KNOWLEDGE TECHNOLOGY LAB. ' - dw 4761 ; 0x1299 - db 'VMETRO. ' - dw 4762 ; 0x129A - db 'VICTOR COMPANY OF JAPAN ' - dw 4766 ; 0x129E - db 'ALLEN- BRADLEY COMPANY ' - dw 4768 ; 0x12A0 - db 'LUCENT TECHNOLOGIES ' - dw 4771 ; 0x12A3 - db 'AMO GMBH ' - dw 4775 ; 0x12A7 - db 'XIOTECH CORPORATION ' - dw 4777 ; 0x12A9 - db 'YUAN YUAN ENTERPRISE CO. LTD. ' - dw 4779 ; 0x12AB - db 'ALTEON WEBSYSTEMS INC ' - dw 4782 ; 0x12AE - db 'NATURAL MICROSYSTEMS ' - dw 4790 ; 0x12B6 - db 'COGNEX MODULAR VISION SYSTEMS DIV.-ACUMEN INC. ' - dw 4791 ; 0x12B7 - db '3Com ' - dw 4793 ; 0x12B9 - db 'ARRAY MICROSYSTEMS ' - dw 4796 ; 0x12BC - db 'ANCHOR CHIPS INC. ' - dw 4798 ; 0x12BE - db 'Fujifilm Microdevices ' - dw 4799 ; 0x12BF - db 'INFIMED ' - dw 4800 ; 0x12C0 - db 'HOLTEK SEMICONDUCTOR INC ' - dw 4803 ; 0x12C3 - db 'Connect Tech Inc ' - dw 4804 ; 0x12C4 - db 'Mitan Corporation ' - dw 4806 ; 0x12C6 -_SECONDPART: ;lists 255 Vendors - db 'Dialogic Corp ' - dw 4807 ; 0x12C7 - db 'Integrated Computing Engines ' - dw 4810 ; 0x12CA - db 'Aims Lab ' - dw 4813 ; 0x12CD - db 'GE VINGMED ULTRASOUND AS ' - dw 4819 ; 0x12D3 - db 'COMVERSE NETWORKS SYSTEM & Ulticom. ' - dw 4820 ; 0x12D4 - db 'Equator Technologies ' - dw 4821 ; 0x12D5 - db 'Analogic Corp ' - dw 4822 ; 0x12D6 - db 'PERICOM SEMICONDUCTOR ' - dw 4824 ; 0x12D8 - db 'Aculab PLC ' - dw 4825 ; 0x12D9 - db 'True Time Inc. ' - dw 4826 ; 0x12DA - db 'Rainbow Technologies ' - dw 4830 ; 0x12DE - db 'SBS Technologies Inc ' - dw 4831 ; 0x12DF - db 'Chase Research ' - dw 4832 ; 0x12E0 - db 'Datum Inc. Bancomm-Timing Division ' - dw 4834 ; 0x12E2 - db 'Brooktrout Technology Inc ' - dw 4836 ; 0x12E4 - db 'Sebring Systems ' - dw 4839 ; 0x12E7 - db 'Real Vision ' - dw 4842 ; 0x12EA - db 'AUREAL INC. ' - dw 4843 ; 0x12EB - db '3A ' - dw 4844 ; 0x12EC - db 'PENTEK ' - dw 4848 ; 0x12F0 - db 'COGNEX INC. ' - dw 4855 ; 0x12F7 - db 'Spectrum Signal Processing ' - dw 4859 ; 0x12FB - db 'CAPITAL EQUIPMENT CORP ' - dw 4860 ; 0x12FC - db 'ESD Electronic System Design GmbH ' - dw 4862 ; 0x12FE - db 'Juniper Networks Inc. ' - dw 4868 ; 0x1304 - db 'Computer Boards ' - dw 4871 ; 0x1307 - db 'LEVEL ONE COMMUNICATIONS ' - dw 4872 ; 0x1308 - db 'Mitsubishi Electric MicroComputer ' - dw 4874 ; 0x130A - db 'Colorgraphic Communications Corp ' - dw 4875 ; 0x130B - db 'Advanet Inc ' - dw 4879 ; 0x130F - db 'GESPAC ' - dw 4880 ; 0x1310 - db 'YASKAWA ELECTRIC CO. ' - dw 4883 ; 0x1313 - db 'TERADYNE INC. ' - dw 4886 ; 0x1316 - db 'ADMTEK INC ' - dw 4887 ; 0x1317 - db 'Packet Engines Inc. ' - dw 4888 ; 0x1318 - db 'ForteMedia ' - dw 4889 ; 0x1319 - db 'SIIG Inc ' - dw 4895 ; 0x131F - db 'SALIX TECHNOLOGIES INC ' - dw 4901 ; 0x1325 - db 'SeaChange International ' - dw 4902 ; 0x1326 - db 'RadiSys Corp. ' - dw 4913 ; 0x1331 - db 'PRISA NETWORKS ' - dw 4925 ; 0x133D - db 'SCM MICROSYSTEMS ' - dw 4927 ; 0x133F - db 'PROMAX SYSTEMS INC ' - dw 4930 ; 0x1342 - db 'MICRON TECHNOLOGY INC ' - dw 4932 ; 0x1344 - db 'ARK RESEARCH CORP. ' - dw 4939 ; 0x134B - db 'CHORI JOHO SYSTEM CO. LTD ' - dw 4940 ; 0x134C - db 'PC-TEL INC ' - dw 4941 ; 0x134D - db 'BRAIN BOXES LIMITED ' - dw 4954 ; 0x135A - db 'QUATECH INC ' - dw 4956 ; 0x135C - db 'SEALEVEL SYSTEMS INC ' - dw 4958 ; 0x135E - db 'I-DATA INTERNATIONAL A-S ' - dw 4959 ; 0x135F - db 'MEINBERG FUNKUHREN ' - dw 4960 ; 0x1360 - db 'PHOENIX TECHNOLOGIES LTD ' - dw 4963 ; 0x1363 - db 'HITACHI ZOSEN CORPORATION ' - dw 4967 ; 0x1367 - db 'SKYWARE CORPORATION ' - dw 4968 ; 0x1368 - db 'DIGIGRAM ' - dw 4969 ; 0x1369 - db 'KAWASAKI STEEL CORPORATION ' - dw 4971 ; 0x136B - db 'ADTEK SYSTEM SCIENCE CO LTD ' - dw 4972 ; 0x136C - db 'BOEING-SUNNYVALE ' - dw 4981 ; 0x1375 - db 'ELECTRONIC EQUIPMENT PRODUCTION & DISTRIBUTION ' - dw 4983 ; 0x1377 - db 'MARK OF THE UNICORN INC ' - dw 4986 ; 0x137A - db 'PPT VISION ' - dw 4987 ; 0x137B - db 'IWATSU ELECTRIC CO LTD ' - dw 4988 ; 0x137C - db 'DYNACHIP CORPORATION ' - dw 4989 ; 0x137D - db 'SANRITZ AUTOMATION CO LTC ' - dw 4992 ; 0x1380 - db 'BRAINS CO. LTD ' - dw 4993 ; 0x1381 - db 'CONTROLNET INC ' - dw 4995 ; 0x1383 - db 'STELLAR SEMICONDUCTOR INC ' - dw 4996 ; 0x1384 - db 'NETGEAR ' - dw 4997 ; 0x1385 - db 'SYSTRAN CORP ' - dw 4999 ; 0x1387 - db 'HITACHI INFORMATION TECHNOLOGY CO LTD ' - dw 5000 ; 0x1388 - db 'APPLICOM INTERNATIONAL ' - dw 5001 ; 0x1389 - db 'SITERA ' - dw 5002 ; 0x138A - db 'TOKIMEC INC ' - dw 5003 ; 0x138B - db 'BASLER GMBH ' - dw 5006 ; 0x138E - db 'PATAPSCO DESIGNS INC ' - dw 5007 ; 0x138F - db 'MOXA TECHNOLOGIES CO LTD ' - dw 5011 ; 0x1393 - db 'LEVEL ONE COMMUNICATIONS ' - dw 5012 ; 0x1394 - db 'AMBICOM INC ' - dw 5013 ; 0x1395 - db 'CIPHER SYSTEMS INC ' - dw 5014 ; 0x1396 - db 'COLOGNE CHIP DESIGNS GMBH ' - dw 5015 ; 0x1397 - db 'CLARION CO. LTD ' - dw 5016 ; 0x1398 - db 'RIOS SYSTEMS CO LTD ' - dw 5017 ; 0x1399 - db 'ALACRITECH INC ' - dw 5018 ; 0x139A - db 'QUANTUM 3D INC ' - dw 5020 ; 0x139C - db 'XSTREAMS PLC/ EPL LIMITED ' - dw 5021 ; 0x139D - db 'ECHOSTAR DATA NETWORKS ' - dw 5022 ; 0x139E - db 'AETHRA S.R.L. ' - dw 5023 ; 0x139F - db 'CRYSTAL GROUP INC ' - dw 5024 ; 0x13A0 - db 'KAWASAKI HEAVY INDUSTRIES LTD ' - dw 5025 ; 0x13A1 - db 'OSITECH COMMUNICATIONS INC ' - dw 5026 ; 0x13A2 - db 'RASCOM INC ' - dw 5028 ; 0x13A4 - db 'TELES AG ' - dw 5031 ; 0x13A7 - db 'EXAR CORP. ' - dw 5032 ; 0x13A8 - db 'SIEMENS MEDICAL SYSTEMS ' - dw 5033 ; 0x13A9 - db 'NORTEL NETWORKS-BWA DIVISION ' - dw 5034 ; 0x13AA - db 'T.SQWARE ' - dw 5039 ; 0x13AF - db 'TAMURA CORPORATION ' - dw 5041 ; 0x13B1 - db 'WELLBEAN CO INC ' - dw 5044 ; 0x13B4 - db 'ARM Ltd ' - dw 5045 ; 0x13B5 - db 'DLoG GMBH ' - dw 5046 ; 0x13B6 - db 'NOKIA TELECOMMUNICATIONS OY ' - dw 5048 ; 0x13B8 - db 'SHARP CORPORATION ' - dw 5053 ; 0x13BD - db 'SHAREWAVE INC ' - dw 5055 ; 0x13BF - db '3WARE ' - dw 5057 ; 0x13C1 - db 'TECHNOTREND SYSTEMTECHNIK GMBH ' - dw 5058 ; 0x13C2 - db 'JANZ COMPUTER AG ' - dw 5059 ; 0x13C3 - db 'CONDOR ENGINEERING INC ' - dw 5062 ; 0x13C6 - db 'BLUE CHIP TECHNOLOGY LTD ' - dw 5063 ; 0x13C7 - db 'IOMEGA CORPORATION ' - dw 5066 ; 0x13CA - db 'METHEUS CORPORATION ' - dw 5068 ; 0x13CC - db 'STUDIO AUDIO & VIDEO LTD ' - dw 5071 ; 0x13CF - db 'B2C2 ' - dw 5072 ; 0x13D0 - db 'ABOCOM SYSTEMS ' - dw 5073 ; 0x13D1 - db 'SHARK MULTIMEDIA INC ' - dw 5074 ; 0x13D2 - db 'IMC NETWORKS ' - dw 5075 ; 0x13D3 - db 'GRAPHICS MICROSYSTEMS INC ' - dw 5076 ; 0x13D4 - db 'K.I. TECHNOLOGY CO LTD ' - dw 5078 ; 0x13D6 - db 'TOSHIBA ENGINEERING CORPORATION ' - dw 5079 ; 0x13D7 - db 'PHOBOS CORPORATION ' - dw 5080 ; 0x13D8 - db 'APEX INC ' - dw 5081 ; 0x13D9 - db 'NETBOOST CORPORATION ' - dw 5084 ; 0x13DC - db 'ABB ROBOTICS PRODUCTS ' - dw 5086 ; 0x13DE - db 'E-TECH INC ' - dw 5087 ; 0x13DF - db 'GVC CORPORATION ' - dw 5088 ; 0x13E0 - db 'NEST INC ' - dw 5091 ; 0x13E3 - db 'CALCULEX INC ' - dw 5092 ; 0x13E4 - db 'TELESOFT DESIGN LTD ' - dw 5093 ; 0x13E5 - db 'INTRASERVER TECHNOLOGY INC ' - dw 5097 ; 0x13E9 - db 'DALLAS SEMICONDUCTOR ' - dw 5098 ; 0x13EA - db 'SUNDANCE TECHNOLOGY INC ' - dw 5104 ; 0x13F0 - db 'OCE-TECHNOLOGIES B.V. ' - dw 5105 ; 0x13F1 - db 'FORD MICROELECTRONICS INC ' - dw 5106 ; 0x13F2 - db 'TROIKA NETWORKS INC ' - dw 5108 ; 0x13F4 - db 'C-MEDIA ELECTRONICS INC ' - dw 5110 ; 0x13F6 - db 'NTT ADVANCED TECHNOLOGY CORP. ' - dw 5113 ; 0x13F9 - db 'AYDIN CORP ' - dw 5115 ; 0x13FB - db 'MICRO SCIENCE INC ' - dw 5117 ; 0x13FD - db 'ARTX INC ' - dw 5120 ; 0x1400 - db 'MEILHAUS ELECTRONIC GmbH ' - dw 5122 ; 0x1402 - db 'FUNDAMENTAL SOFTWARE INC ' - dw 5124 ; 0x1404 - db 'OCE PRINTING SYSTEMS GmbH ' - dw 5126 ; 0x1406 - db 'LAVA COMPUTER MFG INC ' - dw 5127 ; 0x1407 - db 'ALOKA CO. LTD ' - dw 5128 ; 0x1408 - db 'DSP RESEARCH INC ' - dw 5130 ; 0x140A - db 'RAMIX INC ' - dw 5131 ; 0x140B - db 'MATSUSHITA ELECTRIC WORKS LTD ' -dw 5133 ; 0x140D -db 'ADDONICS ' -dw 5139 ; 0x1413 -db 'OXFORD SEMICONDUCTOR LTD ' -dw 5141 ; 0x1415 -db 'KYUSHU ELECTRONICS SYSTEMS INC ' -dw 5144 ; 0x1418 -db 'EXCEL SWITCHING CORP ' -dw 5145 ; 0x1419 -db 'ZOOM TELEPHONICS INC ' -dw 5147 ; 0x141B -db 'FANUC LTD ' -dw 5150 ; 0x141E -db 'PSION DACOM PLC ' -dw 5152 ; 0x1420 -db 'EDEC CO LTD ' -dw 5160 ; 0x1428 -db 'UNEX TECHNOLOGY CORP ' -dw 5161 ; 0x1429 -db 'KINGMAX TECHNOLOGY INC ' -dw 5162 ; 0x142A -db 'RADIOLAN ' -dw 5163 ; 0x142B -db 'MINTON OPTIC INDUSTRY CO LTD ' -dw 5164 ; 0x142C -db 'PIXSTREAM INC ' -dw 5165 ; 0x142D -db 'ITT AEROSPACE/COMMUNICATIONS DIVISION ' -dw 5168 ; 0x1430 -db 'ELTEC ELEKTRONIK GMBH ' -dw 5171 ; 0x1433 -db 'CIS TECHNOLOGY INC ' -dw 5174 ; 0x1436 -db 'NISSIN INC CO ' -dw 5175 ; 0x1437 -db 'ATMEL-DREAM ' -dw 5176 ; 0x1438 -db 'LIGHTWELL CO LTD-ZAX DIVISION ' -dw 5183 ; 0x143F -db 'AGIE SA ' -dw 5185 ; 0x1441 -db 'LOGICAL CO LTD ' -dw 5189 ; 0x1445 -db 'GRAPHIN CO. LTD ' -dw 5190 ; 0x1446 -db 'AIM GMBH ' -dw 5191 ; 0x1447 -db 'ADLINK TECHNOLOGY ' -dw 5194 ; 0x144A -db 'LORONIX INFORMATION SYSTEMS INC ' -dw 5195 ; 0x144B -db 'SAMSUNG ELECTRONICS CO LTD ' -dw 5197 ; 0x144D -db 'OCTAVE COMMUNICATIONS IND. ' -dw 5200 ; 0x1450 -db 'SP3D CHIP DESIGN GMBH ' -dw 5201 ; 0x1451 -db 'MYCOM INC ' -dw 5203 ; 0x1453 -db 'LOGIC PLUS PLUS INC ' -dw 5205 ; 0x1455 -db 'GIGA-BYTE TECHNOLOGY ' -dw 5208 ; 0x1458 -db 'CRYPTEK ' -dw 5212 ; 0x145C -db 'BALDOR ELECTRIC COMPANY ' -dw 5215 ; 0x145F -db 'DYNARC INC ' -dw 5216 ; 0x1460 -db 'MICRO-STAR INTERNATIONAL CO LTD ' -dw 5218 ; 0x1462 -db 'FAST CORPORATION ' -dw 5219 ; 0x1463 -db 'INTERACTIVE CIRCUITS & SYSTEMS LTD ' -dw 5220 ; 0x1464 -db 'GN NETTEST TELECOM DIV. ' -dw 5221 ; 0x1465 -db 'AMBIT MICROSYSTEMS CORP. ' -dw 5224 ; 0x1468 -db 'CLEVELAND MOTION CONTROLS ' -dw 5225 ; 0x1469 -db 'RUBY TECH CORP. ' -dw 5228 ; 0x146C -db 'TACHYON. ' -dw 5229 ; 0x146D -db 'WILLIAMS ELECTRONICS GAMES. ' -dw 5230 ; 0x146E -db 'INTEGRATED TELECOM EXPRESS INC ' -dw 5233 ; 0x1471 -db 'ZAPEX TECHNOLOGIES INC ' -dw 5235 ; 0x1473 -db 'DOUG CARSON & ASSOCIATES ' -dw 5236 ; 0x1474 -db 'NET INSIGHT ' -dw 5239 ; 0x1477 -db 'DIATREND CORPORATION ' -dw 5240 ; 0x1478 -db 'ABIT ' -dw 5243 ; 0x147B -db 'NIHON UNISYS ' -dw 5247 ; 0x147F -db 'ISYTEC-Integrierte Systemtechnik Gmbh ' -dw 5250 ; 0x1482 -db 'LABWAY COPORATION ' -dw 5251 ; 0x1483 -db 'ERMA-ELECTRONIC GMBH ' -dw 5253 ; 0x1485 -db 'KYE SYSTEMS CORPORATION ' -dw 5257 ; 0x1489 -db 'OPTO 22 ' -dw 5258 ; 0x148A -db 'INNOMEDIALOGIC INC. ' -dw 5259 ; 0x148B -db 'OSI PLUS CORPORATION ' -dw 5262 ; 0x148E -db 'PLANT EQUIPMENT. ' -dw 5263 ; 0x148F -db 'TC LABS PTY LTD. ' -dw 5264 ; 0x1490 -db 'MAKER COMMUNICATIONS ' -dw 5267 ; 0x1493 -db 'TOKAI COMMUNICATIONS INDUSTRY CO. LTD ' -dw 5269 ; 0x1495 -db 'JOYTECH COMPUTER CO. LTD. ' -dw 5270 ; 0x1496 -db 'SMA REGELSYSTEME GMBH ' -dw 5271 ; 0x1497 -db 'EMTEC CO. LTD ' -dw 5273 ; 0x1499 -db 'ANDOR TECHNOLOGY LTD ' -dw 5274 ; 0x149A -db 'SEIKO INSTRUMENTS INC ' -dw 5275 ; 0x149B -db 'OVISLINK CORP. ' -dw 5276 ; 0x149C -db 'NEWTEK INC ' -dw 5277 ; 0x149D -db 'MAPLETREE NETWORKS INC. ' -dw 5278 ; 0x149E -db 'LECTRON CO LTD ' -dw 5279 ; 0x149F -db 'SOFTING GMBH ' -dw 5280 ; 0x14A0 -db 'SYSTEMBASE CO LTD ' -dw 5281 ; 0x14A1 -db 'MILLENNIUM ENGINEERING INC ' -dw 5282 ; 0x14A2 -db 'MAVERICK NETWORKS ' -dw 5283 ; 0x14A3 -db 'GVC/BCM ADVANCED RESEARCH ' -dw 5284 ; 0x14A4 -db 'XIONICS DOCUMENT TECHNOLOGIES INC. ' -dw 5285 ; 0x14A5 -db 'INOVA COMPUTERS GMBH & CO KG ' -dw 5286 ; 0x14A6 -db 'FEATRON TECHNOLOGIES CORPORATION ' -dw 5288 ; 0x14A8 -db 'HIVERTEC INC. ' -dw 5289 ; 0x14A9 -db 'MENTOR GRAPHICS CORP. ' -dw 5291 ; 0x14AB -db 'NOVAWEB TECHNOLOGIES INC ' -dw 5292 ; 0x14AC -db 'TIME SPACE RADIO AB ' -dw 5293 ; 0x14AD -db 'CTI PET Systems ' -dw 5294 ; 0x14AE -db 'GUILLEMOT CORPORATION ' -dw 5295 ; 0x14AF -db 'BST COMMUNICATION TECHNOLOGY LTD ' -dw 5296 ; 0x14B0 -db 'NEXTCOM K.K. ' -dw 5297 ; 0x14B1 -db 'ENNOVATE NETWORKS INC ' -dw 5298 ; 0x14B2 -db 'XPEED INC. ' -dw 5299 ; 0x14B3 -db 'PHILIPS BUSINESS ELECTRONICS B.V. ' -dw 5300 ; 0x14B4 -db 'CREAMWARE GMBH ' -dw 5301 ; 0x14B5 -db 'QUANTUM DATA CORP. ' -dw 5302 ; 0x14B6 -db 'PROXIM INC ' -dw 5303 ; 0x14B7 -db 'TECHSOFT TECHNOLOGY CO LTD ' -dw 5304 ; 0x14B8 -db 'AIRONET WIRELESS COMMUNICATIONS ' -dw 5305 ; 0x14B9 -db 'INTERNIX INC. ' -dw 5306 ; 0x14BA -db 'SEMTECH CORPORATION ' -dw 5307 ; 0x14BB -db 'GLOBESPAN SEMICONDUCTOR INC. ' -dw 5308 ; 0x14BC -db 'CARDIO CONTROL N.V. ' -dw 5309 ; 0x14BD -db 'L3 COMMUNICATIONS ' -dw 5310 ; 0x14BE -db 'SPIDER COMMUNICATIONS INC. ' -dw 5311 ; 0x14BF -db 'COMPAL ELECTRONICS INC ' -dw 5312 ; 0x14C0 -db 'MYRICOM INC. ' -dw 5313 ; 0x14C1 -db 'DTK COMPUTER ' -dw 5314 ; 0x14C2 -db 'MEDIATEK CORP. ' -dw 5315 ; 0x14C3 -db 'IWASAKI INFORMATION SYSTEMS CO LTD ' -dw 5316 ; 0x14C4 -db 'ABB AUTOMATION PRODUCTS ' -dw 5317 ; 0x14C5 -db 'DATA RACE INC ' -dw 5318 ; 0x14C6 -db 'MODULAR TECHNOLOY HOLDINGS LTD ' -dw 5319 ; 0x14C7 -_THIRDPART: ;lists 255 vendors -db 'TURBOCOMM TECH. INC. ' -dw 5320 ; 0x14C8 -db 'ODIN TELESYSTEMS INC ' -dw 5321 ; 0x14C9 -db 'PE LOGIC CORP. ' -dw 5322 ; 0x14CA -db 'Billionton Systems Inc./Cadmus Micro Inc. ' -dw 5323 ; 0x14CB -db 'NAKAYO TELECOMMUNICATIONS INC ' -dw 5324 ; 0x14CC -db 'UNIVERSAL SCIENTIFIC IND ' -dw 5325 ; 0x14CD -db 'WHISTLE COMMUNICATIONS ' -dw 5326 ; 0x14CE -db 'TEK MICROSYSTEMS INC. ' -dw 5327 ; 0x14CF -db 'ERICSSON AXE R & D ' -dw 5328 ; 0x14D0 -db 'COMPUTER HI-TECH CO LTD ' -dw 5329 ; 0x14D1 -db 'TITAN ELECTRONICS INC ' -dw 5330 ; 0x14D2 -db 'CIRTECH (UK) LTD ' -dw 5331 ; 0x14D3 -db 'PANACOM TECHNOLOGY CORP ' -dw 5332 ; 0x14D4 -db 'NITSUKO CORPORATION ' -dw 5333 ; 0x14D5 -db 'ACCUSYS ' -dw 5334 ; 0x14D6 -db 'HIRAKAWA HEWTECH CORP ' -dw 5335 ; 0x14D7 -db 'HOPF ELEKTRONIK GMBH ' -dw 5336 ; 0x14D8 -db 'ALPHA PROCESSOR INC ' -dw 5337 ; 0x14D9 -db 'NATIONAL AEROSPACE LABORATORIES ' -dw 5338 ; 0x14DA -db 'AVLAB TECHNOLOGY INC ' -dw 5339 ; 0x14DB -db 'AMPLICON LIVELINE LTD ' -dw 5340 ; 0x14DC -db 'IMODL INC. ' -dw 5341 ; 0x14DD -db 'APPLIED INTEGRATION CORPORATION ' -dw 5342 ; 0x14DE -db 'BASIS COMMUNICATIONS CORP ' -dw 5343 ; 0x14DF -db 'INVERTEX ' -dw 5345 ; 0x14E1 -db 'INFOLIBRIA ' -dw 5346 ; 0x14E2 -db 'AMTELCO ' -dw 5347 ; 0x14E3 -db 'BROADCOM CORPORATION ' -dw 5348 ; 0x14E4 -db 'PIXELFUSION LTD ' -dw 5349 ; 0x14E5 -db 'SHINING TECHNOLOGY INC ' -dw 5350 ; 0x14E6 -db '3CX ' -dw 5351 ; 0x14E7 -db 'RAYCER INC ' -dw 5352 ; 0x14E8 -db 'GARNETS SYSTEM CO LTD ' -dw 5353 ; 0x14E9 -db 'PLANEX COMMUNICATIONS INC ' -dw 5354 ; 0x14EA -db 'SEIKO EPSON CORPORATION ' -dw 5355 ; 0x14EB -db 'ACQIRIS ' -dw 5356 ; 0x14EC -db 'DATAKINETICS LTD ' -dw 5357 ; 0x14ED -db 'MASPRO KENKOH CORP ' -dw 5358 ; 0x14EE -db 'CARRY COMPUTER ENG. CO LTD ' -dw 5359 ; 0x14EF -db 'CANON RESEACH CENTRE FRANCE ' -dw 5360 ; 0x14F0 -db 'CONEXANT ' -dw 5361 ; 0x14F1 -db 'MOBILITY ELECTRONICS ' -dw 5362 ; 0x14F2 -db 'BROADLOGIC ' -dw 5363 ; 0x14F3 -db 'TOKYO ELECTRONIC INDUSTRY CO LTD ' -dw 5364 ; 0x14F4 -db 'SOPAC LTD ' -dw 5365 ; 0x14F5 -db 'COYOTE TECHNOLOGIES LLC ' -dw 5366 ; 0x14F6 -db 'WOLF TECHNOLOGY INC ' -dw 5367 ; 0x14F7 -db 'AUDIOCODES INC ' -dw 5368 ; 0x14F8 -db 'AG COMMUNICATIONS ' -dw 5369 ; 0x14F9 -db 'WAVETEK WANDEL & GOLTERMANN ' -dw 5370 ; 0x14FA -db 'TRANSAS MARINE (UK) LTD ' -dw 5371 ; 0x14FB -db 'QUADRICS SUPERCOMPUTERS WORLD ' -dw 5372 ; 0x14FC -db 'JAPAN COMPUTER INDUSTRY INC. ' -dw 5373 ; 0x14FD -db 'ARCHTEK TELECOM CORP. ' -dw 5374 ; 0x14FE -db 'TWINHEAD INTERNATIONAL CORP ' -dw 5375 ; 0x14FF -db 'LANTECH COMPUTER COMPANY ' -dw 5376 ; 0x1500 -db 'BANKSOFT CANADA LTD ' -dw 5377 ; 0x1501 -db 'MITSUBISHI ELECTRIC LOGISTICS SUPPORT CO ' -dw 5378 ; 0x1502 -db 'KAWASAKI LSI USA INC ' -dw 5379 ; 0x1503 -db 'KAISER ELECTRONICS ' -dw 5380 ; 0x1504 -db 'ITA INGENIEURBURO FUR TESTAUFGABEN GMBH ' -dw 5381 ; 0x1505 -db 'CHAMELEON SYSTEMS INC ' -dw 5382 ; 0x1506 -db 'HTEC LTD ' -dw 5383 ; 0x1507 -db 'HONDA CONNECTORS/MHOTRONICS INC ' -dw 5384 ; 0x1508 -db 'FIRST INTERNATIONAL COMPUTER INC ' -dw 5385 ; 0x1509 -db 'FORVUS RESEARCH INC ' -dw 5386 ; 0x150A -db 'YAMASHITA SYSTEMS CORP ' -dw 5387 ; 0x150B -db 'KYOPAL CO LTD ' -dw 5388 ; 0x150C -db 'WARPSPPED INC ' -dw 5389 ; 0x150D -db 'C-PORT CORPORATION ' -dw 5390 ; 0x150E -db 'INTEC GMBH ' -dw 5391 ; 0x150F -db 'BEHAVIOR TECH COMPUTER CORP ' -dw 5392 ; 0x1510 -db 'CENTILLIUM TECHNOLOGY CORP ' -dw 5393 ; 0x1511 -db 'ROSUN TECHNOLOGIES INC ' -dw 5394 ; 0x1512 -db 'RAYCHEM ' -dw 5395 ; 0x1513 -db 'TFL LAN INC ' -dw 5396 ; 0x1514 -db 'ICS ADVENT ' -dw 5397 ; 0x1515 -db 'MYSON TECHNOLOGY INC ' -dw 5398 ; 0x1516 -db 'ECHOTEK CORPORATION ' -dw 5399 ; 0x1517 -db 'PEP MODULAR COMPUTERS GMBH ' -dw 5400 ; 0x1518 -db 'TELEFON AKTIEBOLAGET LM Ericsson ' -dw 5401 ; 0x1519 -db 'GLOBETEK INC ' -dw 5402 ; 0x151A -db 'COMBOX LTD ' -dw 5403 ; 0x151B -db 'DIGITAL AUDIO LABS INC ' -dw 5404 ; 0x151C -db 'FUJITSU COMPUTER PRODUCTS OF AMERICA ' -dw 5405 ; 0x151D -db 'MATRIX CORP. ' -dw 5406 ; 0x151E -db 'TOPIC SEMICONDUCTOR CORP ' -dw 5407 ; 0x151F -db 'CHAPLET SYSTEM INC ' -dw 5408 ; 0x1520 -db 'BELL CORPORATION ' -dw 5409 ; 0x1521 -db 'MAINPINE LIMITED ' -dw 5410 ; 0x1522 -db 'MUSIC SEMICONDUCTORS ' -dw 5411 ; 0x1523 -db 'ENE TECHNOLOGY INC ' -dw 5412 ; 0x1524 -db 'IMPACT TECHNOLOGIES ' -dw 5413 ; 0x1525 -db 'ISS ' -dw 5414 ; 0x1526 -db 'SOLECTRON ' -dw 5415 ; 0x1527 -db 'ACKSYS ' -dw 5416 ; 0x1528 -db 'AMERICAN MICROSYSTEMS INC ' -dw 5417 ; 0x1529 -db 'QUICKTURN DESIGN SYSTEMS ' -dw 5418 ; 0x152A -db 'FLYTECH TECHNOLOGY CO LTD ' -dw 5419 ; 0x152B -db 'MACRAIGOR SYSTEMS LLC ' -dw 5420 ; 0x152C -db 'QUANTA COMPUTER INC ' -dw 5421 ; 0x152D -db 'MELEC INC ' -dw 5422 ; 0x152E -db 'PHILIPS-CRYPTO ' -dw 5423 ; 0x152F -db 'ACQIS TECHNOLOGY ' -dw 5424 ; 0x1530 -db 'CHRYON CORP. ' -dw 5425 ; 0x1531 -db 'ECHELON CORPORATION ' -dw 5426 ; 0x1532 -db 'BALTIMORE ' -dw 5427 ; 0x1533 -db 'ROAD CORPORATION ' -dw 5428 ; 0x1534 -db 'EVERGREEN TECHNOLOGIES INC ' -dw 5429 ; 0x1535 -db 'DATALEX COMMUNCATIONS ' -dw 5431 ; 0x1537 -db 'ARALION INC. ' -dw 5432 ; 0x1538 -db 'ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A. ' -dw 5433 ; 0x1539 -db 'ONO SOKKI ' -dw 5434 ; 0x153A -db 'TERRATEC ELECTRONIC GMBH ' -dw 5435 ; 0x153B -db 'ANTAL ELECTRONIC ' -dw 5436 ; 0x153C -db 'FILANET CORPORATION ' -dw 5437 ; 0x153D -db 'TECHWELL INC ' -dw 5438 ; 0x153E -db 'MIPS DENMARK ' -dw 5439 ; 0x153F -db 'PROVIDEO MULTIMEDIA CO LTD ' -dw 5440 ; 0x1540 -db 'TELOSITY INC. ' -dw 5441 ; 0x1541 -db 'VIVID TECHNOLOGY INC ' -dw 5442 ; 0x1542 -db 'SILICON LABORATORIES ' -dw 5443 ; 0x1543 -db 'DCM DATA SYSTEMS ' -dw 5444 ; 0x1544 -db 'VISIONTEK ' -dw 5445 ; 0x1545 -db 'IOI TECHNOLOGY CORP. ' -dw 5446 ; 0x1546 -db 'MITUTOYO CORPORATION ' -dw 5447 ; 0x1547 -db 'JET PROPULSION LABORATORY ' -dw 5448 ; 0x1548 -db 'INTERCONNECT SYSTEMS SOLUTIONS ' -dw 5449 ; 0x1549 -db 'MAX TECHNOLOGIES INC. ' -dw 5450 ; 0x154A -db 'COMPUTEX CO LTD ' -dw 5451 ; 0x154B -db 'VISUAL TECHNOLOGY INC. ' -dw 5452 ; 0x154C -db 'PAN INTERNATIONAL INDUSTRIAL CORP ' -dw 5453 ; 0x154D -db 'SERVOTEST LTD ' -dw 5454 ; 0x154E -db 'STRATABEAM TECHNOLOGY ' -dw 5455 ; 0x154F -db 'OPEN NETWORK CO LTD ' -dw 5456 ; 0x1550 -db 'SMART ELECTRONIC DEVELOPMENT GMBH ' -dw 5457 ; 0x1551 -db 'RACAL AIRTECH LTD ' -dw 5458 ; 0x1552 -db 'CHICONY ELECTRONICS CO LTD ' -dw 5459 ; 0x1553 -db 'PROLINK MICROSYSTEMS CORP. ' -dw 5460 ; 0x1554 -db 'GESYTEC GMBH ' -dw 5461 ; 0x1555 -db 'PLD APPLICATIONS ' -dw 5462 ; 0x1556 -db 'MEDIASTAR CO. LTD ' -dw 5463 ; 0x1557 -db 'CLEVO/KAPOK COMPUTER ' -dw 5464 ; 0x1558 -db 'SI LOGIC LTD ' -dw 5465 ; 0x1559 -db 'INNOMEDIA INC ' -dw 5466 ; 0x155A -db 'PROTAC INTERNATIONAL CORP ' -dw 5467 ; 0x155B -db 'CEMAX-ICON INC ' -dw 5468 ; 0x155C -db 'MAC SYSTEM CO LTD ' -dw 5469 ; 0x155D -db 'LP ELEKTRONIK GMBH ' -dw 5470 ; 0x155E -db 'PERLE SYSTEMS LIMITED ' -dw 5471 ; 0x155F -db 'TERAYON COMMUNICATIONS SYSTEMS ' -dw 5472 ; 0x1560 -db 'VIEWGRAPHICS INC ' -dw 5473 ; 0x1561 -db 'SYMBOL TECHNOLOGIES ' -dw 5474 ; 0x1562 -db 'A-TREND ' -dw 5475 ; 0x1563 -db 'YAMAKATSU ELECTRONICS INDUSTRY CO LTD ' -dw 5476 ; 0x1564 -db 'BIOSTAR MICROTECH INT CORP ' -dw 5477 ; 0x1565 -db 'ARDENT TECHNOLOGIES INC ' -dw 5478 ; 0x1566 -db 'JUNGSOFT ' -dw 5479 ; 0x1567 -db 'DDK ELECTRONICS INC ' -dw 5480 ; 0x1568 -db 'PALIT MICROSYSTEMS INC ' -dw 5481 ; 0x1569 -db 'AVTEC SYSTEMS ' -dw 5482 ; 0x156A -db '2WIRE ' -dw 5483 ; 0x156B -db 'VIDAC ELECTRONICS GMBH ' -dw 5484 ; 0x156C -db 'ALPHA-TOP CORP ' -dw 5485 ; 0x156D -db 'ALFA INC ' -dw 5486 ; 0x156E -db 'M-SYSTEMS FLASH DISK PIONEERS LTD ' -dw 5487 ; 0x156F -db 'LECROY CORPORATION ' -dw 5488 ; 0x1570 -db 'CONTEMPORARY CONTROLS ' -dw 5489 ; 0x1571 -db 'OTIS ELEVATOR COMPANY ' -dw 5490 ; 0x1572 -db 'LATTICE-VANTIS ' -dw 5491 ; 0x1573 -db 'FAIRCHILD SEMICONDUCTOR ' -dw 5492 ; 0x1574 -db 'VOLTAIRE ADVANCED DATA SECURITY LTD ' -dw 5493 ; 0x1575 -db 'VIEWCAST COM ' -dw 5494 ; 0x1576 -db 'HITT ' -dw 5496 ; 0x1578 -db 'DUAL TECHNOLOGY CORPORATION ' -dw 5497 ; 0x1579 -db 'JAPAN ELECRONICS IND. INC ' -dw 5498 ; 0x157A -db 'STAR MULTIMEDIA CORP. ' -dw 5499 ; 0x157B -db 'EUROSOFT (UK) LTD ' -dw 5500 ; 0x157C -db 'GEMFLEX NETWORKS ' -dw 5501 ; 0x157D -db 'TRANSITION NETWORKS ' -dw 5502 ; 0x157E -db 'PX INSTRUMENTS TECHNOLOGY LTD ' -dw 5503 ; 0x157F -db 'PRIMEX AEROSPACE CO. ' -dw 5504 ; 0x1580 -db 'SEH COMPUTERTECHNIK GMBH ' -dw 5505 ; 0x1581 -db 'CYTEC CORPORATION ' -dw 5506 ; 0x1582 -db 'INET TECHNOLOGIES INC ' -dw 5507 ; 0x1583 -db 'UNIWILL COMPUTER CORP ' -dw 5508 ; 0x1584 -db 'LOGITRON ' -dw 5509 ; 0x1585 -db 'LANCAST INC ' -dw 5510 ; 0x1586 -db 'KONICA CORPORATION ' -dw 5511 ; 0x1587 -db 'SOLIDUM SYSTEMS CORP ' -dw 5512 ; 0x1588 -db 'ATLANTEK MICROSYSTEMS PTY LTD ' -dw 5513 ; 0x1589 -db 'DIGALOG SYSTEMS INC ' -dw 5514 ; 0x158A -db 'ALLIED DATA TECHNOLOGIES ' -dw 5515 ; 0x158B -db 'HITACHI SEMICONDUCTOR & DEVICES SALES CO LTD ' -dw 5516 ; 0x158C -db 'POINT MULTIMEDIA SYSTEMS ' -dw 5517 ; 0x158D -db 'LARA TECHNOLOGY INC ' -dw 5518 ; 0x158E -db 'DITECT COOP ' -dw 5519 ; 0x158F - db '3PARDATA ' - dw 5520 ; 0x1590 - db 'ARN ' - dw 5521 ; 0x1591 - db 'SYBA TECH LIMITED ' - dw 5522 ; 0x1592 - db 'BOPS INC ' - dw 5523 ; 0x1593 - db 'NETGAME LTD ' - dw 5524 ; 0x1594 - db 'DIVA SYSTEMS CORP. ' - dw 5525 ; 0x1595 - db 'FOLSOM RESEARCH INC ' - dw 5526 ; 0x1596 - db 'MEMEC DESIGN SERVICES ' - dw 5527 ; 0x1597 - db 'GRANITE MICROSYSTEMS ' - dw 5528 ; 0x1598 - db 'DELTA ELECTRONICS INC ' - dw 5529 ; 0x1599 - db 'GENERAL INSTRUMENT ' - dw 5530 ; 0x159A - db 'FARADAY TECHNOLOGY CORP ' - dw 5531 ; 0x159B - db 'STRATUS COMPUTER SYSTEMS ' - dw 5532 ; 0x159C - db 'NINGBO HARRISON ELECTRONICS CO LTD ' - dw 5533 ; 0x159D - db 'A-MAX TECHNOLOGY ' - dw 5534 ; 0x159E - db 'GALEA NETWORK SECURITY ' - dw 5535 ; 0x159F - db 'COMPUMASTER SRL ' - dw 5536 ; 0x15A0 - db 'GEOCAST NETWORK SYSTEMS INC ' - dw 5537 ; 0x15A1 - db 'CATALYST ENTERPRISES INC ' - dw 5538 ; 0x15A2 - db 'ITALTEL ' - dw 5539 ; 0x15A3 - db 'X-NET OY ' - dw 5540 ; 0x15A4 - db 'TOYOTA MACS INC ' - dw 5541 ; 0x15A5 - db 'SUNLIGHT ULTRASOUND TECHNOLOGIES LTD ' - dw 5542 ; 0x15A6 - db 'SSE TELECOM INC ' - dw 5543 ; 0x15A7 - db 'SHANGHAI COMMUNICATIONS TECHNOLOGIES CENTER ' - dw 5544 ; 0x15A8 - db 'MORETON BAY ' - dw 5546 ; 0x15AA - db 'BLUESTEEL NETWORKS INC ' - dw 5547 ; 0x15AB - db 'NORTH ATLANTIC INSTRUMENTS ' - dw 5548 ; 0x15AC - db 'VMWARE ' - dw 5549 ; 0x15AD - db 'AMERSHAM PHARMACIA BIOTECH ' - dw 5550 ; 0x15AE - db 'ZOLTRIX INTERNATIONAL LIMITED ' - dw 5552 ; 0x15B0 - db 'SOURCE TECHNOLOGY INC ' - dw 5553 ; 0x15B1 - db 'MOSAID TECHNOLOGIES INC. ' - dw 5554 ; 0x15B2 - db 'MELLANOX TECHNOLOGY ' - dw 5555 ; 0x15B3 - db 'CCI/TRIAD ' - dw 5556 ; 0x15B4 - db 'CIMETRICS INC ' - dw 5557 ; 0x15B5 - db 'TEXAS MEMORY SYSTEMS INC ' - dw 5558 ; 0x15B6 - db 'SANDISK CORP. ' - dw 5559 ; 0x15B7 - db 'ADDI-DATA GMBH ' - dw 5560 ; 0x15B8 - db 'MAESTRO DIGITAL COMMUNICATIONS ' - dw 5561 ; 0x15B9 - db 'IMPACCT TECHNOLOGY CORP ' - dw 5562 ; 0x15BA - db 'PORTWELL INC ' - dw 5563 ; 0x15BB - db 'AGILENT TECHNOLOGIES ' - dw 5564 ; 0x15BC - db 'DFI INC. ' - dw 5565 ; 0x15BD - db 'SOLA ELECTRONICS ' - dw 5566 ; 0x15BE - db 'HIGH TECH COMPUTER CORP (HTC) ' - dw 5567 ; 0x15BF - db 'BVM LIMITED ' - dw 5568 ; 0x15C0 - db 'QUANTEL ' - dw 5569 ; 0x15C1 - db 'NEWER TECHNOLOGY INC ' - dw 5570 ; 0x15C2 - db 'TAIWAN MYCOMP CO LTD ' - dw 5571 ; 0x15C3 - db 'EVSX ' - dw 5572 ; 0x15C4 - db 'PROCOMP INFORMATICS LTD ' - dw 5573 ; 0x15C5 - db 'TECHNICAL UNIVERSITY OF BUDAPEST ' - dw 5574 ; 0x15C6 - db 'TATEYAMA SYSTEM LABORATORY CO LTD ' - dw 5575 ; 0x15C7 - db 'PENTA MEDIA CO. LTD ' - dw 5576 ; 0x15C8 - db 'SEROME TECHNOLOGY INC ' - dw 5577 ; 0x15C9 - db 'BITBOYS OY ' - dw 5578 ; 0x15CA - db 'AG ELECTRONICS LTD ' - dw 5579 ; 0x15CB -_FOURTHPART: ;lists 100 vendors - db 'HOTRAIL INC. ' - dw 5580 ; 0x15CC - db 'DREAMTECH CO LTD ' - dw 5581 ; 0x15CD - db 'GENRAD INC. ' - dw 5582 ; 0x15CE - db 'HILSCHER GMBH ' - dw 5583 ; 0x15CF - db 'INFINEON TECHNOLOGIES AG ' - dw 5585 ; 0x15D1 - db 'FIC (FIRST INTERNATIONAL COMPUTER INC) ' - dw 5586 ; 0x15D2 - db 'NDS TECHNOLOGIES ISRAEL LTD ' - dw 5587 ; 0x15D3 - db 'IWILL CORPORATION ' - dw 5588 ; 0x15D4 - db 'TATUNG CO. ' - dw 5589 ; 0x15D5 - db 'ENTRIDIA CORPORATION ' - dw 5590 ; 0x15D6 - db 'ROCKWELL-COLLINS ' - dw 5591 ; 0x15D7 - db 'CYBERNETICS TECHNOLOGY CO LTD ' - dw 5592 ; 0x15D8 - db 'SUPER MICRO COMPUTER INC ' - dw 5593 ; 0x15D9 - db 'CYBERFIRM INC. ' - dw 5594 ; 0x15DA - db 'APPLIED COMPUTING SYSTEMS INC. ' - dw 5595 ; 0x15DB - db 'LITRONIC INC ' - dw 5596 ; 0x15DC - db 'SIGMATEL INC. ' - dw 5597 ; 0x15DD - db 'MALLEABLE TECHNOLOGIES INC ' - dw 5598 ; 0x15DE - db 'INFINILINK CORP. ' - dw 5599 ; 0x15DF - db 'CACHEFLOW INC ' - dw 5600 ; 0x15E0 - db 'VOICE TECHNOLOGIES GROUP INC ' - dw 5601 ; 0x15E1 - db 'QUICKNET TECHNOLOGIES INC ' - dw 5602 ; 0x15E2 - db 'NETWORTH TECHNOLOGIES INC ' - dw 5603 ; 0x15E3 - db 'VSN SYSTEMEN BV ' - dw 5604 ; 0x15E4 - db 'VALLEY TECHNOLOGIES INC ' - dw 5605 ; 0x15E5 - db 'AGERE INC. ' - dw 5606 ; 0x15E6 - db 'GET ENGINEERING CORP. ' - dw 5607 ; 0x15E7 - db 'NATIONAL DATACOMM CORP. ' - dw 5608 ; 0x15E8 - db 'PACIFIC DIGITAL CORP. ' - dw 5609 ; 0x15E9 - db 'TOKYO DENSHI SEKEI K.K. ' - dw 5610 ; 0x15EA - db 'DRSEARCH GMBH ' - dw 5611 ; 0x15EB - db 'BECKHOFF GMBH ' - dw 5612 ; 0x15EC - db 'MACROLINK INC ' - dw 5613 ; 0x15ED - db 'IN WIN DEVELOPMENT INC. ' - dw 5614 ; 0x15EE - db 'INTELLIGENT PARADIGM INC ' - dw 5615 ; 0x15EF - db 'B-TREE SYSTEMS INC ' - dw 5616 ; 0x15F0 - db 'TIMES N SYSTEMS INC ' - dw 5617 ; 0x15F1 - db 'DIAGNOSTIC INSTRUMENTS INC ' - dw 5618 ; 0x15F2 - db 'DIGITMEDIA CORP. ' - dw 5619 ; 0x15F3 - db 'VALUESOFT ' - dw 5620 ; 0x15F4 - db 'POWER MICRO RESEARCH ' - dw 5621 ; 0x15F5 - db 'EXTREME PACKET DEVICE INC ' - dw 5622 ; 0x15F6 - db 'BANCTEC ' - dw 5623 ; 0x15F7 - db 'KOGA ELECTRONICS CO ' - dw 5624 ; 0x15F8 - db 'ZENITH ELECTRONICS CORPORATION ' - dw 5625 ; 0x15F9 - db 'J P AXZAM CORPORATION ' - dw 5626 ; 0x15FA - db 'ZILOG INC. ' - dw 5627 ; 0x15FB - db 'TECHSAN ELECTRONICS CO LTD ' - dw 5628 ; 0x15FC - db 'N-CUBED.NET ' - dw 5629 ; 0x15FD - db 'KINPO ELECTRONICS INC ' - dw 5630 ; 0x15FE - db 'FASTPOINT TECHNOLOGIES INC. ' - dw 5631 ; 0x15FF - db 'NORTHROP GRUMMAN-CANADA LTD ' - dw 5632 ; 0x1600 - db 'TENTA TECHNOLOGY ' - dw 5633 ; 0x1601 - db 'PROSYS-TEC INC. ' - dw 5634 ; 0x1602 - db 'NOKIA WIRELESS BUSINESS COMMUNICATIONS ' - dw 5635 ; 0x1603 - db 'CENTRAL SYSTEM RESEARCH CO LTD ' - dw 5636 ; 0x1604 - db 'PAIRGAIN TECHNOLOGIES ' - dw 5637 ; 0x1605 - db 'EUROPOP AG ' - dw 5638 ; 0x1606 - db 'LAVA SEMICONDUCTOR MANUFACTURING INC. ' - dw 5639 ; 0x1607 - db 'AUTOMATED WAGERING INTERNATIONAL ' - dw 5640 ; 0x1608 - db 'SCIEMETRIC INSTRUMENTS INC ' - dw 5641 ; 0x1609 - db 'AMBIENT TECHNOLOGIES INC ' - dw 6163 ; 0x1813 - db 'Jaton Corp ' - dw 6931 ; 0x1B13 - db 'TEMPORAL RESEARCH LTD ' - dw 8193 ; 0x2001 - db 'CHAINTECH COMPUTER CO. LTD ' - dw 9999 ; 0x270F - db 'HINT CORP ' - dw 13192 ; 0x3388 - db 'QUANTUM DESIGNS (H.K.) INC. ' - dw 13329 ; 0x3411 - db 'AVANCE LOGIC INC ' - dw 16389 ; 0x4005 - db 'DELTA NETWORKS INC ' - dw 16435 ; 0x4033 - db 'ALADDIN KNOWLEDGE SYSTEMS ' - dw 16748 ; 0x416C - db 'CONEXANT (WAS ICOMPRESION INC.) ' - dw 17476 ; 0x4444 - db 'GROWTH NETWORKS ' - dw 18755 ; 0x4943 - db 'SEANIX TECHNOLOGY INC ' - dw 19617 ; 0x4CA1 - db 'MEDIAQ INC. ' - dw 19793 ; 0x4D51 - db 'MICROTECHNICA CO LTD ' - dw 19796 ; 0x4D54 - db 'S S TECHNOLOGIES ' - dw 20790 ; 0x5136 - db 'S3 INC. ' - dw 21299 ; 0x5333 - db 'TERALOGIC INC ' - dw 21580 ; 0x544C - db 'GENROCO INC ' - dw 21845 ; 0x5555 - db 'LOGITEC CORP. ' - dw 25609 ; 0x6409 - db 'DECISION COMPUTER INTERNATIONAL CO. ' - dw 26214 ; 0x6666 - db 'INTEL CORP. ' - dw 32902 ; 0x8086 - db 'SILICON MAGIC CORP. ' - dw 34952 ; 0x8888 - db 'COMPUTONE CORPORATION ' - dw 36366 ; 0x8E0E - db 'ADAPTEC ' - dw 36868 ; 0x9004 - db 'GIGAPIXEL CORP ' - dw 37274 ; 0x919A - db 'OMNI MEDIA TECHNOLOGY INC. ' - dw 38553 ; 0x9699 - db 'AOPEN INC. ' - dw 41120 ; 0xA0A0 - db 'HEWLETT PACKARD ' - dw 41561 ; 0xA259 - db 'DIGITAL RECEIVER TECHNOLOGY INC ' - dw 44062 ; 0xAC1E - db 'MOTOROLA ' - dw 49374 ; 0xC0DE - db 'MOTION ENGINEERING. ' - dw 49406 ; 0xC0FE - db 'VARIAN AUSTRIALIA PTY LTD ' - dw 51792 ; 0xCA50 - db 'CHRYSALIS-ITS ' - dw 51966 ; 0xCAFE - db 'CATAPULT COMMUNICATIONS ' - dw 52428 ; 0xCCCC - db 'DY4 Systems Inc ' - dw 54484 ; 0xD4D4 - db 'EKF ELEKTRONIK GMBH ' - dw 58559 ; 0xE4BF - db 'EAGLE TECHNOLOGY ' - dw 59905 ; 0xEA01 - db 'FAST SEARCH & TRANSFER ASA ' - dw 64087 ; 0xFA57 - db 'EPIGRAM INC ' - dw 65242 ; 0xFEDA -;---------------------------------------------------------------------- -_UNKNOWN: db 'UNKOWN VENDOR ' - - -PREVIOUSVERSIONLIST: - db 'LUCENT ' - dw 4545 ; 0x11C1 - db 'EPOX ' - dw 5781 ; 0x1695 - db 'AVERMEDIA ' - dw 5217 ; 0x1461 - db 'NVIDIA (WAS: STB,SGS THOMPSON) ' - dw 4818 ; 0x12D2 - db 'ALBATRON ' - dw 6130 ; 0x17F2 - db 'ASROCK ' - dw 6217 ; 0x1849 - db 'CONEXANT, ROCKWELL ' - dw 4730 ; 0x127A - -_UNKNOWND: -db 'UNKOWN DEVICE ' - -Class0: -db 'Prehistoric - misc ' -dw 00 ; 0x00 -db 'Prehistoric - VGA ' -dw 01 ; 0x01 - - -Class1: -db 'Storage - SCSI ' -dw 00 ; 0x00 -db 'Storage - IDE ' -dw 01 ; 0x01 -db 'Storage - Floppy ' -dw 02 ; 0x02 -db 'Storage - IPI ' -dw 03 ; 0x03 -db 'Storage - RAID ' -dw 04 ; 0x04 -db 'Storage - ATA with DMA ' -dw 05 ; 0x05 -db 'Storage - Serial ATA ' -dw 06 ; 0x06 -db 'Storage - misc ' -dw 128 ; 0x80 - - -Class2: -db 'Network - Ethernet ' -dw 00 ; 0x0 -db 'Network - Token Ring ' -dw 01 ; 0x1 -db 'Network - FDDI ' -dw 02 ; 0x2 -db 'Network - ATM ' -dw 03 ; 0x3 -db 'Network - ISDN ' -dw 04 ; 0x4 -db 'Network - WorldFip ' -dw 05 ; 0x5 -db 'Network - PICMG 2.14 ' -dw 06 ; 0x6 -db 'Network - misc ' -dw 128 ; 0x80 - -Class3: -db 'Display - VGA controller ' -dw 00 ; 0x0 -db 'Display - XGA controller ' -dw 01 ; 0x1 -db 'Display - 3D controller ' -dw 02 ; 0x2 -db 'Display - misc ' -dw 128 ; 0x80 - -Class4: -db 'Multimedia - Video ' -dw 00 ; 0x0 -db 'Multimedia - Audio ' -dw 01 ; 0x1 -db 'Multimedia - Computer telephony ' -dw 02 ; 0x2 -db 'Multimedia - misc ' -dw 128 ; 0x80 - -Class5: -db 'Memory - RAM ' -dw 00 ; 0x0 -db 'Memory- Flash memory ' -dw 01 ; 0x1 -db 'Memory - misc ' -dw 128 ; 0x80 - -Class6: -db 'Bridge - CPU/PCI ' -dw 00 ; 0x00 -db 'Bridge - PCI/ISA ' -dw 01 ; 0x01 -db 'Bridge - PCI/EISA ' -dw 02 ; 0x02 -db 'Bridge - PCI/MCA ' -dw 03 ; 0x03 -db 'Bridge - PCI/PCI ' -dw 04 ; 0x04 -db 'Bridge - PCMCIA ' -dw 05 ; 0x05 -db 'Bridge - NuBus ' -dw 06 ; 0x06 -db 'Bridge - CardBus ' -dw 07 ; 0x07 -db 'Bridge - RACEway ' -dw 08 ; 0x08 -db 'Bridge - Semi-transpar. PCI/PCI ' -dw 09 ; 0x09 -db 'Bridge - InfiniBand/PCI ' -dw 10 ; 0x0A -db 'Bridge - misc ' -dw 128 ; 0x80 - -Class7: -db 'Communication - Serial ' -dw 00 ; 0x0 -db 'Communication - Parallel ' -dw 01 ; 0x1 -db 'Communication - Multiport Serial' -dw 02 ; 0x2 -db 'Communication - Modem ' -dw 03 ; 0x3 -db 'Communication - GPIB ' -dw 04 ; 0x4 -db 'Communication - Smart Card ' -dw 05 ; 0x5 -db 'Communication - misc ' -dw 128 ; 0x80 - -Class8: -db 'System - PIC ' -dw 00 ; 0x0 -db 'System - DMAC ' -dw 01 ; 0x1 -db 'System - Timer ' -dw 02 ; 0x2 -db 'System - RTC ' -dw 03 ; 0x3 -db 'System - PCI Hot-Plug ' -dw 04 ; 0x4 -db 'System - misc ' -dw 128 ; 0x80 - -Class9: -db 'Input - Keyboard ' -dw 00 ; 0x0 -db 'Input - Digitazer (pen) ' -dw 01 ; 0x1 -db 'Input - Mouse ' -dw 02 ; 0x2 -db 'Input - Scanner ' -dw 03 ; 0x3 -db 'Input - Gameport ' -dw 04 ; 0x4 -db 'Input - misc ' -dw 128 ; 0x80 - -ClassA: -db 'Docking - Generic station ' -dw 00 ; 0x0 -db 'Docking - misc ' -dw 128 ; 0x80 - - -ClassB: -db 'Processor - 386 ' -dw 00 ; 0x0 -db 'Processor - 486 ' -dw 01 ; 0x1 -db 'Processor - Pentium ' -dw 02 ; 0x2 -db 'Processor - Alpha ' -dw 16 ; 0x10 -db 'Processor - PowerPC ' -dw 32 ; 0x20 -db 'Processor - MIPS ' -dw 48 ; 0x30 -db 'Processor - Co-processor ' -dw 64 ; 0x40 - -ClassC: -db 'Serial Bus - FireWire ' -dw 00 ; 0x0 -db 'Serial Bus - ACCESS.bus ' -dw 01 ; 0x1 -db 'Serial Bus - SSA ' -dw 02 ; 0x2 -db 'Serial Bus - USB/USB2 ' -dw 03 ; 0x3 -db 'Serial Bus - Fibre Channel ' -dw 04 ; 0x4 -db 'Serial Bus - SMBus ' -dw 05 ; 0x5 -db 'Serial Bus - InfiniBand ' -dw 06 ; 0x6 -db 'Serial Bus - IPMI ' -dw 07 ; 0x7 -db 'Serial Bus - SERCOS ' -dw 08 ; 0x8 -db 'Serial Bus - CANbus ' -dw 09 ; 0x9 - -ClassD: -db 'Wireless - iRDA ' -dw 00 ; 0x0 -db 'Wireless - Consumer IR ' -dw 01 ; 0x1 -db 'Wireless - RF ' -dw 16 ; 0x10 -db 'Wireless - Bluetooth ' -dw 17 ; 0x11 -db 'Wireless - Broadband ' -dw 18 ; 0x12 -db 'Wireless - Ethernet (802.11a) ' -dw 32 ; 0x20 -db 'Wireless - Ethernet (802.11b) ' -dw 33 ; 0x21 -db 'Wireless - misc ' -dw 128 ; 0x80 - -ClassE: -db 'Intelligent I/O - I/O contr. ' -dw 00 ; 0x0 - -ClassF: -db 'Satellite Communication - TV ' -dw 01 ; 0x1 -db 'Satellite Communication - Audio ' -dw 02 ; 0x2 -db 'Satellite Communication - Voice ' -dw 03 ; 0x3 -db 'Satellite Communication - Data ' -dw 04 ; 0x4 - -Class10: -db 'En/Decryption - Network&comput. ' -dw 00 ; 0x0 -db 'En/Decryption - Entertainment ' -dw 16 ; 0x10 -db 'En/Decryption - misc ' -dw 128 ; 0x80 - -Class11: -db 'DSP - DPIO modules ' -dw 00 ; 0x0 -db 'DSP - Performance counters ' -dw 01 ; 0x1 -db 'DSP - Sync./Test/Measurement ' -dw 16 ; 0x10 -db 'DSP - Managamant card ' -dw 32 ; 0x20 -db 'DSP - misc ' -dw 128 ; 0x80 +; AUTHOR: Victor Alberto Gil Hancco Laquita +; This list might content mistakes, plz report it +; There are 865 Lists of Vendors' Names +; Date: 8/14/2005 +; +; maybe this list is outdated... +; (the source was from 2004 list) + +; changed 11/05/2006: + 3 vendors and no more label 'PREVIOUSVERSIONLIST' +; so the total quantity of vendors is 875 now (changes by Sergey Kuzmin) + +_FIRSTPART: ;lists the 255 Vendor IDs + db 'PARADYNE CORP. ' + dw 51 ; 0x0033 + db 'REAL 3D ' + dw 61 ; 0x003D + db 'NCIPHER CORP. LTD ' + dw 256 ; 0x0100 + db 'BREA TECHNOLOGIES INC ' + dw 2697 ; 0x0A89 + db 'COMPAQ COMPUTER CORP. ' + dw 3601 ; 0x0E11 + db 'SYMBIOS LOGIC INC/LSI Logic ' + dw 4096 ; 0x1000 + db 'KOLTER ELECTRONIC ' + dw 4097 ; 0x1001 + db 'ATI TECHNOLOGIES INC ' + dw 4098 ; 0x1002 + db 'VLSI TECHNOLOGY INC ' + dw 4100 ; 0x1004 + db 'NATIONAL SEMICONDUCTOR CORPORATION ' + dw 4107 ; 0x100B + db 'VIDEO LOGIC LTD ' + dw 4112 ; 0x1010 + db 'IBM ' + dw 4116 ; 0x1014 + db 'UNISYS CORPORATION ' + dw 4120 ; 0x1018 + db 'ELITEGROUP COMPUTER SYS ' + dw 4121 ; 0x1019 + db 'NCR ' + dw 4122 ; 0x101A + db 'AMERICAN MEGATRENDS ' + dw 4126 ; 0x101E + db 'HITACHI COMPUTER PRODUCTS ' + dw 4128 ; 0x1020 + db 'OKI ELECTRIC INDUSTRY CO. LTD. ' + dw 4129 ; 0x1021 + db 'ADVANCED MICRO DEVICES ' + dw 4130 ; 0x1022 + db 'TRIDENT MICROSYSTEMS ' + dw 4131 ; 0x1023 + db 'DELL COMPUTER CORPORATION ' + dw 4136 ; 0x1028 + db 'LSI LOGIC CORPORATION ' + dw 4138 ; 0x102A + db 'MATROX GRAPHICS ' + dw 4139 ; 0x102B + db 'TOSHIBA AMERICA ' + dw 4143 ; 0x102F + db 'NEC CORPORATION ' + dw 4147 ; 0x1033 + db 'AMP ' + dw 4152 ; 0x1038 + db 'SILICON INTEGRATED SYSTEMS ' + dw 4153 ; 0x1039 + db 'SYNOPSYS/LOGIC MODELING GROUP ' + dw 4159 ; 0x103F + db 'Micron Electronics ' + dw 4162 ; 0x1042 + db 'ASUSTEK COMPUTER ' + dw 4163 ; 0x1043 + db 'DISTRIBUTED PROCESSING TECHNOLOGY ' + dw 4164 ; 0x1044 + db 'OPTI INC. ' + dw 4165 ; 0x1045 + db 'ELSA AG ' + dw 4168 ; 0x1048 + db 'FOUNTAIN TECHNOLOGIES ' + dw 4169 ; 0x1049 + db 'TEXAS INSTRUMENTS ' + dw 4172 ; 0x104C + db 'SONY CORPORATION ' + dw 4173 ; 0x104D + db 'WINBOND ELECTRONICS CORP ' + dw 4176 ; 0x1050 + db 'HITACHI ' + dw 4180 ; 0x1054 + db 'Standard Microsystems Corp. ' + dw 4181 ; 0x1055 + db 'ETRI ' + dw 4184 ; 0x1058 + db 'TEKNOR INDUSTRIAL COMPUTERS INC ' + dw 4185 ; 0x1059 + db 'PROMISE TECHNOLOGY. ' + dw 4186 ; 0x105A + db 'FOXCONN INTERNATIONAL INC ' + dw 4187 ; 0x105B + db 'NUMBER 9 VISUAL TECHNOLOGY ' + dw 4189 ; 0x105D + db 'INFOTRONIC AMERICA INC ' + dw 4191 ; 0x105F + db 'OCEAN MANUFACTURING LTD ' + dw 4195 ; 0x1063 + db 'ALCATEL ' + dw 4196 ; 0x1064 + db 'MITSUBISHI ELECTRIC AMERICA ' + dw 4199 ; 0x1067 + db 'DIVERSIFIED TECHNOLOGY ' + dw 4200 ; 0x1068 + db 'MYLEX CORPORATION ' + dw 4201 ; 0x1069 + db 'APPLE COMPUTER INC. ' + dw 4203 ; 0x106B + db 'SEQUENT COMPUTER SYSTEMS ' + dw 4205 ; 0x106D + db 'DAEWOO TELECOM LTD ' + dw 4208 ; 0x1070 + db 'MITAC ' + dw 4209 ; 0x1071 + db 'YAMAHA CORPORATION ' + dw 4211 ; 0x1073 + db 'Chaintech Comp. ' + dw 4214 ; 0x1076 + db 'QLOGIC ' + dw 4215 ; 0x1077 + db 'I-BUS ' + dw 4217 ; 0x1079 + db 'GATEWAY 2000 ' + dw 4219 ; 0x107B + db 'INTERPHASE CORPORATION ' + dw 4222 ; 0x107E + db 'OLICOM ' + dw 4237 ; 0x108D + db 'SILICON IMAGE (WAS CMD TECHNOLOGY INC) ' + dw 4245 ; 0x1095 + db 'ALACRON ' + dw 4246 ; 0x1096 + db 'APPIAN/ETMA ' + dw 4247 ; 0x1097 + db 'PACKARD BELL NEC ' + dw 4250 ; 0x109A + db 'BROOKTREE CORPORATION ' + dw 4254 ; 0x109E + db 'TRIGEM COMPUTER INC. ' + dw 4255 ; 0x109F + db 'MEIDENSHA CORPORATION ' + dw 4256 ; 0x10A0 + db 'QUANTUM EFFECT DESIGN ' + dw 4258 ; 0x10A2 + db 'SILICON GRAPHICS ' + dw 4265 ; 0x10A9 + db 'HONEYWELL IAC ' + dw 4268 ; 0x10AC + db 'MICRO COMPUTER SYSTEMS INC ' + dw 4271 ; 0x10AF + db 'PLX TECHNOLOGY. ' + dw 4277 ; 0x10B5 + db 'MADGE NETWORKS ' + dw 4278 ; 0x10B6 + db '3COM Corp, Networking Division ' + dw 4279 ; 0x10B7 + db 'ACER LABS Incorp. ' + dw 4281 ; 0x10B9 + db 'MITSUBISHI ELECTRIC CORP. ' + dw 4282 ; 0x10BA + db 'AUSPEX SYSTEMS INC. ' + dw 4290 ; 0x10C2 + db 'NEOMAGIC CORPORATION ' + dw 4296 ; 0x10C8 + db 'FUJITSU MICROELECTRONIC ' + dw 4298 ; 0x10CA + db 'OMRON CORPORATION ' + dw 4299 ; 0x10CB + db 'ADVANCED SYSTEM PRODUCTS ' + dw 4301 ; 0x10CD + db 'FUJITSU LIMITED ' + dw 4303 ; 0x10CF + db 'FUTUREPLUS SYSTEMS CORP. ' + dw 4305 ; 0x10D1 + db 'MOLEX INCORPORATED ' + dw 4306 ; 0x10D2 + db 'ROHM LSI SYSTEMS ' + dw 4315 ; 0x10DB + db 'EVANS & SUTHERLAND ' + dw 4317 ; 0x10DD + db 'NVIDIA CORPORATION ' + dw 4318 ; 0x10DE + db 'EMULEX CORPORATION ' + dw 4319 ; 0x10DF + db 'TEKRAM TECHNOLOGY CO.LTD. ' + dw 4321 ; 0x10E1 + db 'TUNDRA SEMICONDUCTOR CORP ' + dw 4323 ; 0x10E3 + db 'MICRO INDUSTRIES CORPORATION ' + dw 4325 ; 0x10E5 + db 'REALTEK SEMICONDUCTOR CORP. ' + dw 4332 ; 0x10EC + db 'XILINX. ' + dw 4334 ; 0x10EE + db 'TYAN COMPUTER ' + dw 4337 ; 0x10F1 + db 'NKK CORPORATION ' + dw 4341 ; 0x10F5 + db 'CREATIVE ELECTRONIC SYSTEMS SA ' + dw 4342 ; 0x10F6 + db 'I-O DATA DEVICE. ' + dw 4348 ; 0x10FC + db 'FAST MULTIMEDIA AG ' + dw 4350 ; 0x10FE + db 'INITIO CORPORATION ' + dw 4353 ; 0x1101 + db 'CREATIVE LABS ' + dw 4354 ; 0x1102 + db 'SIGMA DESIGNS ' + dw 4357 ; 0x1105 + db 'VIA TECHNOLOGIES ' + dw 4358 ; 0x1106 + db 'ASCEND COMMUNICATIONS ' + dw 4359 ; 0x1107 + db 'Adaptec/Cogent Data Technologies Inc ' + dw 4361 ; 0x1109 + db 'SIEMENS PC SYSTEME GMBH ' + dw 4362 ; 0x110A + db 'SANTA CRUZ OPERATION ' + dw 4369 ; 0x1111 + db 'ACCTON TECHNOLOGY ' + dw 4371 ; 0x1113 + db 'MEDIA 100 ' + dw 4374 ; 0x1116 + db 'DATACUBE ' + dw 4375 ; 0x1117 + db 'FCI ELECTRONICS ' + dw 4376 ; 0x1118 + db 'ICP-VORTEX COMPUTERSYSTEM GMBH ' + dw 4377 ; 0x1119 + db 'EFFICIENT NETWORKS ' + dw 4378 ; 0x111A + db 'INTEGRATED DEVICE TECH ' + dw 4381 ; 0x111D + db 'EMC CORPORATION ' + dw 4384 ; 0x1120 + db 'FORE SYSTEMS INC ' + dw 4391 ; 0x1127 + db 'HERMES ELECTRONICS COMPANY ' + dw 4394 ; 0x112A + db 'IMAGING TECHNOLOGY ' + dw 4399 ; 0x112F + db 'PHILIPS SEMICONDUCTORS ' + dw 4401 ; 0x1131 + db 'MITEL CORP ' + dw 4402 ; 0x1132 + db 'EICON TECHNOLOGY CORPORATION ' + dw 4403 ; 0x1133 + db 'MERCURY COMPUTER SYSTEMS ' + dw 4404 ; 0x1134 + db 'FUJI XEROX CO LTD ' + dw 4405 ; 0x1135 + db 'MOMENTUM DATA SYSTEMS ' + dw 4406 ; 0x1136 + db 'CISCO SYSTEMS INC ' + dw 4407 ; 0x1137 + db 'ZIATECH CORPORATION ' + dw 4408 ; 0x1138 + db 'CYCLONE MICROSYSTEMS. ' + dw 4412 ; 0x113C + db 'SANYO ELECTRIC CO-Information Systems Division ' + dw 4414 ; 0x113E + db 'CREST MICROSYSTEM INC. ' + dw 4417 ; 0x1141 + db 'WORKBIT CORPORATION ' + dw 4421 ; 0x1145 + db 'FORCE COMPUTERS GMBH ' + dw 4422 ; 0x1146 + db 'SYSKONNECT ' + dw 4424 ; 0x1148 + db 'ANNABOOKS ' + dw 4428 ; 0x114C + db 'DIGI INTERNATIONAL ' + dw 4431 ; 0x114F + db 'MELCO INC ' + dw 4436 ; 0x1154 + db 'PHOTRON LTD. ' + dw 4444 ; 0x115C + db 'XIRCOM ' + dw 4445 ; 0x115D + db 'PFU LIMITED ' + dw 4449 ; 0x1161 + db 'RENDITION ' + dw 4451 ; 0x1163 + db 'Reliance Computer ' + dw 4454 ; 0x1166 + db 'ELECTRONICS FOR IMAGING ' + dw 4462 ; 0x116E + db 'INVENTEC CORPORATION ' + dw 4464 ; 0x1170 + db 'BLUE WAVE SYSTEMS ' + dw 4465 ; 0x1171 + db 'ALTERA CORPORATION ' + dw 4466 ; 0x1172 + db 'TOSHIBA AMERICA INFO SYSTEMS ' + dw 4473 ; 0x1179 + db 'RICOH CO LTD ' + dw 4480 ; 0x1180 + db 'D-LINK SYSTEM INC ' + dw 4486 ; 0x1186 + db 'ADVANCED TECHNOLOGY LABORATORIES ' + dw 4487 ; 0x1187 + db 'MATSUSHITA ELECTIC INDUSTRIAL CO LTD ' + dw 4489 ; 0x1189 + db 'PLATYPUS TECHNOLOGY PTY LTD ' + dw 4491 ; 0x118B + db 'COROLLARY ' + dw 4492 ; 0x118C + db 'ACARD TECHNOLOGY ' + dw 4497 ; 0x1191 + db 'RATOC SYSTEMS INC ' + dw 4501 ; 0x1195 + db 'MINDSHARE. ' + dw 4506 ; 0x119A + db 'BUG. ' + dw 4509 ; 0x119D + db 'FUJITSU MICROELECTRONICS LTD. ' + dw 4510 ; 0x119E + db 'BULL HN INFORMATION SYSTEMS ' + dw 4511 ; 0x119F + db 'HAMAMATSU PHOTONICS K.K. ' + dw 4513 ; 0x11A1 + db 'INNOSYS ' + dw 4521 ; 0x11A9 + db 'ACTEL ' + dw 4522 ; 0x11AA + db 'GALILEO TECHNOLOGY LTD. ' + dw 4523 ; 0x11AB + db 'LITE-ON COMMUNICATIONS INC ' + dw 4525 ; 0x11AD + db 'SCITEX CORPORATION ' + dw 4526 ; 0x11AE + db 'AVID TECHNOLOGY INC ' + dw 4527 ; 0x11AF + db 'V3 SEMICONDUCTOR INC. ' + dw 4528 ; 0x11B0 + db 'EASTMAN KODAK ' + dw 4530 ; 0x11B2 + db 'BARR SYSTEMS INC. ' + dw 4531 ; 0x11B3 + db 'ASTRODESIGN ' + dw 4543 ; 0x11BF + db 'AGERE/LUCENT ' + dw 4545 ; 0x11C1 + db 'DAINIPPON SCREEN MFG. CO. LTD ' + dw 4550 ; 0x11C6 + db 'DOLPHIN INTERCONNECT SOLUTIONS AS ' + dw 4552 ; 0x11C8 + db 'MAGMA ' + dw 4553 ; 0x11C9 + db 'LSI SYSTEMS ' + dw 4554 ; 0x11CA + db 'SPECIALIX INTERNATIONAL LTD ' + dw 4555 ; 0x11CB + db 'NETACCESS ' + dw 4558 ; 0x11CE + db 'LOCKHEED MARTIN-Electronics & Communications ' + dw 4560 ; 0x11D0 + db 'AURAVISION ' + dw 4561 ; 0x11D1 + db 'INTERCOM INC. ' + dw 4562 ; 0x11D2 + db 'ANALOG DEVICES ' + dw 4564 ; 0x11D4 + db 'IKON CORPORATION ' + dw 4565 ; 0x11D5 + db 'TOSHIBA TEC CORPORATION ' + dw 4569 ; 0x11D9 + db 'NOVELL ' + dw 4570 ; 0x11DA + db 'NEW WAVE PDG ' + dw 4575 ; 0x11DF + db 'QUICKLOGIC CORPORATION ' + dw 4579 ; 0x11E3 + db 'CORECO INC ' + dw 4588 ; 0x11EC + db 'DOME IMAGING SYSTEMS INC ' + dw 4590 ; 0x11EE + db 'PMC-SIERRA INC ' + dw 4600 ; 0x11F8 + db 'AGFA CORPORATION ' + dw 4611 ; 0x1203 + db 'AMDAHL CORPORATION ' + dw 4614 ; 0x1206 + db 'ESSENTIAL COMMUNICATIONS ' + dw 4623 ; 0x120F + db 'PERFORMANCE TECHNOLOGIES. ' + dw 4628 ; 0x1214 + db 'PURUP-EskoFot A/S ' + dw 4630 ; 0x1216 + db 'O2MICRO. ' + dw 4631 ; 0x1217 + db '3DFX INTERACTIVE ' + dw 4634 ; 0x121A + db 'VIRATA LTD ' + dw 4635 ; 0x121B + db 'CONTEC CO. LTD ' + dw 4641 ; 0x1221 + db 'ARTESYN COMMUNICATIONS PRODUCTS INC ' + dw 4643 ; 0x1223 + db 'TECH-SOURCE ' + dw 4647 ; 0x1227 + db 'SICAN GMBH ' + dw 4652 ; 0x122C + db 'MARCONI COMMUNICATIONS LTD ' + dw 4658 ; 0x1232 + db 'SOLITON SYSTEMS K.K. ' + dw 4961 ; 0x1361 + db 'CENTURY SYSTEMS. ' + dw 4668 ; 0x123C + db 'ENGINEERING DESIGN TEAM. ' + dw 4669 ; 0x123D + db 'C-CUBE MICROSYSTEMS ' + dw 4671 ; 0x123F + db 'JAYCOR NETWORKS INC. ' + 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 ' + dw 4688 ; 0x1250 + db 'GUZIK TECHNICAL ENTERPRISES ' + dw 4691 ; 0x1253 + db 'OPTIBASE LTD ' + dw 4693 ; 0x1255 + db 'ALLIED TELESYN INTERNATIONAL ' + dw 4697 ; 0x1259 + db 'AURORA TECHNOLOGIES. ' + dw 4700 ; 0x125C + db 'ESS ' + dw 4701 ; 0x125D + db 'CONCURRENT TECHNOLOGIES ' + dw 4703 ; 0x125F + db 'INTERSIL CORP ' + dw 4704 ; 0x1260 + db 'MATSUSHITA-KOTOBUKI ELECTRONICS ' + dw 4705 ; 0x1261 + db 'AVAL NAGASAKI CORPORATION ' + dw 4708 ; 0x1264 + db 'TEKTRONIX ' + dw 4712 ; 0x1268 + db 'NORTEL NETWORKS ' + dw 4716 ; 0x126C + db 'SPLASH TECHNOLOGY. ' + dw 4717 ; 0x126D + db 'SUMITOMO METAL INDUSTRIES ' + dw 4718 ; 0x126E + db 'SILICON MOTION. ' + dw 4719 ; 0x126F + db 'OLYMPUS OPTICAL CO. LTD. ' + dw 4720 ; 0x1270 + db 'CREATIVE LABS (WAS ENSONIQ, MALVERN) ' + dw 4724 ; 0x1274 + db 'NETWORK APPLIANCE CORPORATION ' + dw 4725 ; 0x1275 + db 'TRANSTECH DSP LTD ' + dw 4728 ; 0x1278 + db 'TRANSMETA CORPORATION ' + dw 4729 ; 0x1279 + db 'CONEXANT, ROCKWELL ' + dw 4730 ; 0x127A + db 'VELA RESEARCH LP ' + dw 4733 ; 0x127D + db 'FUJIFILM ' + dw 4735 ; 0x127F + db 'YOKOGAWA ELECTRIC CORPORATION ' + dw 4737 ; 0x1281 + db 'INTEGRATED TECHNOLOGY EXPRESS. ' + dw 4739 ; 0x1283 + db 'MAZET GMBH ' + dw 4742 ; 0x1286 + db 'TRANSWITCH CORPORATION ' + dw 4747 ; 0x128B + db 'G2 NETWORKS. ' + dw 4749 ; 0x128D + db 'TATENO DENNOU. ' + dw 4751 ; 0x128F + db 'TOSHIBA PERSONAL COMPUTER SYSTEM CORP. ' + dw 4752 ; 0x1290 + db 'NCS COMPUTER ITALIA SRL ' + dw 4753 ; 0x1291 + db 'TRITECH MICROELECTRONICS INC ' + dw 4754 ; 0x1292 + db 'SHUTTLE COMPUTER ' + dw 4759 ; 0x1297 + db 'KNOWLEDGE TECHNOLOGY LAB. ' + dw 4761 ; 0x1299 + db 'VMETRO. ' + dw 4762 ; 0x129A + db 'VICTOR COMPANY OF JAPAN ' + dw 4766 ; 0x129E + db 'ALLEN- BRADLEY COMPANY ' + dw 4768 ; 0x12A0 + db 'LUCENT TECHNOLOGIES ' + dw 4771 ; 0x12A3 + db 'AMO GMBH ' + dw 4775 ; 0x12A7 + db 'XIOTECH CORPORATION ' + dw 4777 ; 0x12A9 + db 'YUAN YUAN ENTERPRISE CO. LTD. ' + dw 4779 ; 0x12AB + db 'ALTEON WEBSYSTEMS INC ' + dw 4782 ; 0x12AE + db 'NATURAL MICROSYSTEMS ' + dw 4790 ; 0x12B6 + db 'COGNEX MODULAR VISION SYSTEMS DIV.-ACUMEN INC. ' + dw 4791 ; 0x12B7 + db '3Com Corp, Modem Division ' + dw 4793 ; 0x12B9 + db 'ARRAY MICROSYSTEMS ' + dw 4796 ; 0x12BC + db 'ANCHOR CHIPS INC. ' + dw 4798 ; 0x12BE + db 'Fujifilm Microdevices ' + dw 4799 ; 0x12BF +_SECONDPART: ;lists 255 Vendors + db 'INFIMED ' + dw 4800 ; 0x12C0 + db 'HOLTEK SEMICONDUCTOR INC ' + dw 4803 ; 0x12C3 + db 'Connect Tech Inc ' + dw 4804 ; 0x12C4 + db 'Mitan Corporation ' + dw 4806 ; 0x12C6 + db 'Dialogic Corp ' + dw 4807 ; 0x12C7 + db 'Integrated Computing Engines ' + dw 4810 ; 0x12CA + db 'Aims Lab ' + dw 4813 ; 0x12CD + db 'NVIDIA (WAS: STB,SGS THOMPSON) ' + dw 4818 ; 0x12D2 + db 'GE VINGMED ULTRASOUND AS ' + dw 4819 ; 0x12D3 + db 'COMVERSE NETWORKS SYSTEM & Ulticom. ' + dw 4820 ; 0x12D4 + db 'Equator Technologies ' + dw 4821 ; 0x12D5 + db 'Analogic Corp ' + dw 4822 ; 0x12D6 + db 'PERICOM SEMICONDUCTOR ' + dw 4824 ; 0x12D8 + db 'Aculab PLC ' + dw 4825 ; 0x12D9 + db 'True Time Inc. ' + dw 4826 ; 0x12DA + db 'Rainbow Technologies ' + dw 4830 ; 0x12DE + db 'SBS Technologies Inc ' + dw 4831 ; 0x12DF + db 'Chase Research ' + dw 4832 ; 0x12E0 + db 'Datum Inc. Bancomm-Timing Division ' + dw 4834 ; 0x12E2 + db 'Brooktrout Technology Inc ' + dw 4836 ; 0x12E4 + db 'Sebring Systems ' + dw 4839 ; 0x12E7 + db 'Real Vision ' + dw 4842 ; 0x12EA + db 'AUREAL INC. ' + dw 4843 ; 0x12EB + db '3A ' + dw 4844 ; 0x12EC + db 'PENTEK ' + dw 4848 ; 0x12F0 + db 'COGNEX INC. ' + dw 4855 ; 0x12F7 + db 'Spectrum Signal Processing ' + dw 4859 ; 0x12FB + db 'CAPITAL EQUIPMENT CORP ' + dw 4860 ; 0x12FC + db 'ESD Electronic System Design GmbH ' + dw 4862 ; 0x12FE + db 'Juniper Networks Inc. ' + dw 4868 ; 0x1304 + db 'Computer Boards ' + dw 4871 ; 0x1307 + db 'LEVEL ONE COMMUNICATIONS ' + dw 4872 ; 0x1308 + db 'Mitsubishi Electric MicroComputer ' + dw 4874 ; 0x130A + db 'Colorgraphic Communications Corp ' + dw 4875 ; 0x130B + db 'Advanet Inc ' + dw 4879 ; 0x130F + db 'GESPAC ' + dw 4880 ; 0x1310 + db 'YASKAWA ELECTRIC CO. ' + dw 4883 ; 0x1313 + db 'TERADYNE INC. ' + dw 4886 ; 0x1316 + db 'ADMTEK INC ' + dw 4887 ; 0x1317 + db 'Packet Engines Inc. ' + dw 4888 ; 0x1318 + db 'ForteMedia ' + dw 4889 ; 0x1319 + db 'SIIG Inc ' + dw 4895 ; 0x131F + db 'SALIX TECHNOLOGIES INC ' + dw 4901 ; 0x1325 + db 'SeaChange International ' + dw 4902 ; 0x1326 + db 'RadiSys Corp. ' + dw 4913 ; 0x1331 + db 'PRISA NETWORKS ' + dw 4925 ; 0x133D + db 'SCM MICROSYSTEMS ' + dw 4927 ; 0x133F + db 'PROMAX SYSTEMS INC ' + dw 4930 ; 0x1342 + db 'MICRON TECHNOLOGY INC ' + dw 4932 ; 0x1344 + db 'ARK RESEARCH CORP. ' + dw 4939 ; 0x134B + db 'CHORI JOHO SYSTEM CO. LTD ' + dw 4940 ; 0x134C + db 'PC-TEL INC ' + dw 4941 ; 0x134D + db 'BRAIN BOXES LIMITED ' + dw 4954 ; 0x135A + db 'QUATECH INC ' + dw 4956 ; 0x135C + db 'SEALEVEL SYSTEMS INC ' + dw 4958 ; 0x135E + db 'I-DATA INTERNATIONAL A-S ' + dw 4959 ; 0x135F + db 'MEINBERG FUNKUHREN ' + dw 4960 ; 0x1360 + db 'PHOENIX TECHNOLOGIES LTD ' + dw 4963 ; 0x1363 + db 'HITACHI ZOSEN CORPORATION ' + dw 4967 ; 0x1367 + db 'SKYWARE CORPORATION ' + dw 4968 ; 0x1368 + db 'DIGIGRAM ' + dw 4969 ; 0x1369 + db 'KAWASAKI STEEL CORPORATION ' + dw 4971 ; 0x136B + db 'ADTEK SYSTEM SCIENCE CO LTD ' + dw 4972 ; 0x136C + db 'BOEING-SUNNYVALE ' + dw 4981 ; 0x1375 + db 'ELECTRONIC EQUIPMENT PRODUCTION & DISTRIBUTION ' + dw 4983 ; 0x1377 + db 'MARK OF THE UNICORN INC ' + dw 4986 ; 0x137A + db 'PPT VISION ' + dw 4987 ; 0x137B + db 'IWATSU ELECTRIC CO LTD ' + dw 4988 ; 0x137C + db 'DYNACHIP CORPORATION ' + dw 4989 ; 0x137D + db 'SANRITZ AUTOMATION CO LTC ' + dw 4992 ; 0x1380 + db 'BRAINS CO. LTD ' + dw 4993 ; 0x1381 + db 'CONTROLNET INC ' + dw 4995 ; 0x1383 + db 'STELLAR SEMICONDUCTOR INC ' + dw 4996 ; 0x1384 + db 'NETGEAR ' + dw 4997 ; 0x1385 + db 'SYSTRAN CORP ' + dw 4999 ; 0x1387 + db 'HITACHI INFORMATION TECHNOLOGY CO LTD ' + dw 5000 ; 0x1388 + db 'APPLICOM INTERNATIONAL ' + dw 5001 ; 0x1389 + db 'SITERA ' + dw 5002 ; 0x138A + db 'TOKIMEC INC ' + dw 5003 ; 0x138B + db 'BASLER GMBH ' + dw 5006 ; 0x138E + db 'PATAPSCO DESIGNS INC ' + dw 5007 ; 0x138F + db 'MOXA TECHNOLOGIES CO LTD ' + dw 5011 ; 0x1393 + db 'LEVEL ONE COMMUNICATIONS ' + dw 5012 ; 0x1394 + db 'AMBICOM INC ' + dw 5013 ; 0x1395 + db 'CIPHER SYSTEMS INC ' + dw 5014 ; 0x1396 + db 'COLOGNE CHIP DESIGNS GMBH ' + dw 5015 ; 0x1397 + db 'CLARION CO. LTD ' + dw 5016 ; 0x1398 + db 'RIOS SYSTEMS CO LTD ' + dw 5017 ; 0x1399 + db 'ALACRITECH INC ' + dw 5018 ; 0x139A + db 'QUANTUM 3D INC ' + dw 5020 ; 0x139C + db 'XSTREAMS PLC/ EPL LIMITED ' + dw 5021 ; 0x139D + db 'ECHOSTAR DATA NETWORKS ' + dw 5022 ; 0x139E + db 'AETHRA S.R.L. ' + dw 5023 ; 0x139F + db 'CRYSTAL GROUP INC ' + dw 5024 ; 0x13A0 + db 'KAWASAKI HEAVY INDUSTRIES LTD ' + dw 5025 ; 0x13A1 + db 'OSITECH COMMUNICATIONS INC ' + dw 5026 ; 0x13A2 + db 'RASCOM INC ' + dw 5028 ; 0x13A4 + db 'TELES AG ' + dw 5031 ; 0x13A7 + db 'EXAR CORP. ' + dw 5032 ; 0x13A8 + db 'SIEMENS MEDICAL SYSTEMS ' + dw 5033 ; 0x13A9 + db 'NORTEL NETWORKS-BWA DIVISION ' + dw 5034 ; 0x13AA + db 'T.SQWARE ' + dw 5039 ; 0x13AF + db 'TAMURA CORPORATION ' + dw 5041 ; 0x13B1 + db 'WELLBEAN CO INC ' + dw 5044 ; 0x13B4 + db 'ARM Ltd ' + dw 5045 ; 0x13B5 + db 'DLoG GMBH ' + dw 5046 ; 0x13B6 + db 'NOKIA TELECOMMUNICATIONS OY ' + dw 5048 ; 0x13B8 + db 'SHARP CORPORATION ' + dw 5053 ; 0x13BD + db 'SHAREWAVE INC ' + dw 5055 ; 0x13BF + db '3WARE ' + dw 5057 ; 0x13C1 + db 'TECHNOTREND SYSTEMTECHNIK GMBH ' + dw 5058 ; 0x13C2 + db 'JANZ COMPUTER AG ' + dw 5059 ; 0x13C3 + db 'CONDOR ENGINEERING INC ' + dw 5062 ; 0x13C6 + db 'BLUE CHIP TECHNOLOGY LTD ' + dw 5063 ; 0x13C7 + db 'IOMEGA CORPORATION ' + dw 5066 ; 0x13CA + db 'METHEUS CORPORATION ' + dw 5068 ; 0x13CC + db 'STUDIO AUDIO & VIDEO LTD ' + dw 5071 ; 0x13CF + db 'B2C2 ' + dw 5072 ; 0x13D0 + db 'ABOCOM SYSTEMS ' + dw 5073 ; 0x13D1 + db 'SHARK MULTIMEDIA INC ' + dw 5074 ; 0x13D2 + db 'IMC NETWORKS ' + dw 5075 ; 0x13D3 + db 'GRAPHICS MICROSYSTEMS INC ' + dw 5076 ; 0x13D4 + db 'K.I. TECHNOLOGY CO LTD ' + dw 5078 ; 0x13D6 + db 'TOSHIBA ENGINEERING CORPORATION ' + dw 5079 ; 0x13D7 + db 'PHOBOS CORPORATION ' + dw 5080 ; 0x13D8 + db 'APEX INC ' + dw 5081 ; 0x13D9 + db 'NETBOOST CORPORATION ' + dw 5084 ; 0x13DC + db 'ABB ROBOTICS PRODUCTS ' + dw 5086 ; 0x13DE + db 'E-TECH INC ' + dw 5087 ; 0x13DF + db 'GVC CORPORATION ' + dw 5088 ; 0x13E0 + db 'NEST INC ' + dw 5091 ; 0x13E3 + db 'CALCULEX INC ' + dw 5092 ; 0x13E4 + db 'TELESOFT DESIGN LTD ' + dw 5093 ; 0x13E5 + db 'INTRASERVER TECHNOLOGY INC ' + dw 5097 ; 0x13E9 + db 'DALLAS SEMICONDUCTOR ' + dw 5098 ; 0x13EA + db 'SUNDANCE TECHNOLOGY INC ' + dw 5104 ; 0x13F0 + db 'OCE-TECHNOLOGIES B.V. ' + dw 5105 ; 0x13F1 + db 'FORD MICROELECTRONICS INC ' + dw 5106 ; 0x13F2 + db 'TROIKA NETWORKS INC ' + dw 5108 ; 0x13F4 + db 'C-MEDIA ELECTRONICS INC ' + dw 5110 ; 0x13F6 + db 'NTT ADVANCED TECHNOLOGY CORP. ' + dw 5113 ; 0x13F9 + db 'AYDIN CORP ' + dw 5115 ; 0x13FB + db 'MICRO SCIENCE INC ' + dw 5117 ; 0x13FD + db 'ARTX INC ' + dw 5120 ; 0x1400 + db 'MEILHAUS ELECTRONIC GmbH ' + dw 5122 ; 0x1402 + db 'FUNDAMENTAL SOFTWARE INC ' + dw 5124 ; 0x1404 + db 'OCE PRINTING SYSTEMS GmbH ' + dw 5126 ; 0x1406 + db 'LAVA COMPUTER MFG INC ' + dw 5127 ; 0x1407 + db 'ALOKA CO. LTD ' + dw 5128 ; 0x1408 + db 'DSP RESEARCH INC ' + dw 5130 ; 0x140A + db 'RAMIX INC ' + dw 5131 ; 0x140B + db 'MATSUSHITA ELECTRIC WORKS LTD ' + dw 5133 ; 0x140D + db 'ADDONICS ' + dw 5139 ; 0x1413 + db 'OXFORD SEMICONDUCTOR LTD ' + dw 5141 ; 0x1415 + db 'KYUSHU ELECTRONICS SYSTEMS INC ' + dw 5144 ; 0x1418 + db 'EXCEL SWITCHING CORP ' + dw 5145 ; 0x1419 + db 'ZOOM TELEPHONICS INC ' + dw 5147 ; 0x141B + db 'FANUC LTD ' + dw 5150 ; 0x141E + db 'PSION DACOM PLC ' + dw 5152 ; 0x1420 + db 'EDEC CO LTD ' + dw 5160 ; 0x1428 + db 'UNEX TECHNOLOGY CORP ' + dw 5161 ; 0x1429 + db 'KINGMAX TECHNOLOGY INC ' + dw 5162 ; 0x142A + db 'RADIOLAN ' + dw 5163 ; 0x142B + db 'MINTON OPTIC INDUSTRY CO LTD ' + dw 5164 ; 0x142C + db 'PIXSTREAM INC ' + dw 5165 ; 0x142D + db 'ITT AEROSPACE/COMMUNICATIONS DIVISION ' + dw 5168 ; 0x1430 + db 'ELTEC ELEKTRONIK GMBH ' + dw 5171 ; 0x1433 + db 'CIS TECHNOLOGY INC ' + dw 5174 ; 0x1436 + db 'NISSIN INC CO ' + dw 5175 ; 0x1437 + db 'ATMEL-DREAM ' + dw 5176 ; 0x1438 + db 'LIGHTWELL CO LTD-ZAX DIVISION ' + dw 5183 ; 0x143F + db 'AGIE SA ' + dw 5185 ; 0x1441 + db 'LOGICAL CO LTD ' + dw 5189 ; 0x1445 + db 'GRAPHIN CO. LTD ' + dw 5190 ; 0x1446 + db 'AIM GMBH ' + dw 5191 ; 0x1447 + db 'ADLINK TECHNOLOGY ' + dw 5194 ; 0x144A + db 'LORONIX INFORMATION SYSTEMS INC ' + dw 5195 ; 0x144B + db 'SAMSUNG ELECTRONICS CO LTD ' + dw 5197 ; 0x144D + db 'OCTAVE COMMUNICATIONS IND. ' + dw 5200 ; 0x1450 + db 'SP3D CHIP DESIGN GMBH ' + dw 5201 ; 0x1451 + db 'MYCOM INC ' + dw 5203 ; 0x1453 + db 'LOGIC PLUS PLUS INC ' + dw 5205 ; 0x1455 + db 'GIGA-BYTE TECHNOLOGY ' + dw 5208 ; 0x1458 + db 'CRYPTEK ' + dw 5212 ; 0x145C + db 'BALDOR ELECTRIC COMPANY ' + dw 5215 ; 0x145F + db 'DYNARC INC ' + dw 5216 ; 0x1460 + db 'AVERMEDIA Tech. ' + dw 5217 ; 0x1461 + db 'MICRO-STAR INTERNATIONAL CO LTD ' + dw 5218 ; 0x1462 + db 'FAST CORPORATION ' + dw 5219 ; 0x1463 + db 'INTERACTIVE CIRCUITS & SYSTEMS LTD ' + dw 5220 ; 0x1464 + db 'GN NETTEST TELECOM DIV. ' + dw 5221 ; 0x1465 + db 'AMBIT MICROSYSTEMS CORP. ' + dw 5224 ; 0x1468 + db 'CLEVELAND MOTION CONTROLS ' + dw 5225 ; 0x1469 + db 'RUBY TECH CORP. ' + dw 5228 ; 0x146C + db 'TACHYON ' + dw 5229 ; 0x146D + db 'WILLIAMS ELECTRONICS GAMES. ' + dw 5230 ; 0x146E + db 'INTEGRATED TELECOM EXPRESS INC ' + dw 5233 ; 0x1471 + db 'ZAPEX TECHNOLOGIES INC ' + dw 5235 ; 0x1473 + db 'DOUG CARSON & ASSOCIATES ' + dw 5236 ; 0x1474 + db 'NET INSIGHT ' + dw 5239 ; 0x1477 + db 'DIATREND CORPORATION ' + dw 5240 ; 0x1478 + db 'ABIT Computer ' + dw 5243 ; 0x147B + db 'NIHON UNISYS ' + dw 5247 ; 0x147F + db 'ISYTEC-Integrierte Systemtechnik Gmbh ' + dw 5250 ; 0x1482 + db 'LABWAY COPORATION ' + dw 5251 ; 0x1483 + db 'ERMA-ELECTRONIC GMBH ' + dw 5253 ; 0x1485 + db 'KYE SYSTEMS CORPORATION ' + dw 5257 ; 0x1489 + db 'OPTO 22 ' + dw 5258 ; 0x148A + db 'INNOMEDIALOGIC INC. ' + dw 5259 ; 0x148B + db 'OSI PLUS CORPORATION ' + dw 5262 ; 0x148E + db 'PLANT EQUIPMENT. ' + dw 5263 ; 0x148F + db 'TC LABS PTY LTD. ' + dw 5264 ; 0x1490 + db 'MAKER COMMUNICATIONS ' + dw 5267 ; 0x1493 + db 'TOKAI COMMUNICATIONS INDUSTRY CO. LTD ' + dw 5269 ; 0x1495 + db 'JOYTECH COMPUTER CO. LTD. ' + dw 5270 ; 0x1496 + db 'SMA REGELSYSTEME GMBH ' + dw 5271 ; 0x1497 + db 'EMTEC CO. LTD ' + dw 5273 ; 0x1499 + db 'ANDOR TECHNOLOGY LTD ' + dw 5274 ; 0x149A + db 'SEIKO INSTRUMENTS INC ' + dw 5275 ; 0x149B + db 'OVISLINK CORP. ' + dw 5276 ; 0x149C + db 'NEWTEK INC ' + dw 5277 ; 0x149D + db 'MAPLETREE NETWORKS INC. ' + dw 5278 ; 0x149E + db 'LECTRON CO LTD ' + dw 5279 ; 0x149F + db 'SOFTING GMBH ' + dw 5280 ; 0x14A0 + db 'SYSTEMBASE CO LTD ' + dw 5281 ; 0x14A1 + db 'MILLENNIUM ENGINEERING INC ' + dw 5282 ; 0x14A2 + db 'MAVERICK NETWORKS ' + dw 5283 ; 0x14A3 + db 'GVC/BCM ADVANCED RESEARCH ' + dw 5284 ; 0x14A4 + db 'XIONICS DOCUMENT TECHNOLOGIES INC. ' + dw 5285 ; 0x14A5 + db 'INOVA COMPUTERS GMBH & CO KG ' + dw 5286 ; 0x14A6 + db 'FEATRON TECHNOLOGIES CORPORATION ' + dw 5288 ; 0x14A8 + db 'HIVERTEC INC. ' + dw 5289 ; 0x14A9 + db 'MENTOR GRAPHICS CORP. ' + dw 5291 ; 0x14AB + db 'NOVAWEB TECHNOLOGIES INC ' + dw 5292 ; 0x14AC + db 'TIME SPACE RADIO AB ' + dw 5293 ; 0x14AD + db 'CTI PET Systems ' + dw 5294 ; 0x14AE + db 'GUILLEMOT CORPORATION ' + dw 5295 ; 0x14AF + db 'BST COMMUNICATION TECHNOLOGY LTD ' + dw 5296 ; 0x14B0 + db 'NEXTCOM K.K. ' + dw 5297 ; 0x14B1 + db 'ENNOVATE NETWORKS INC ' + dw 5298 ; 0x14B2 + db 'XPEED INC. ' + dw 5299 ; 0x14B3 + db 'PHILIPS BUSINESS ELECTRONICS B.V. ' + dw 5300 ; 0x14B4 + db 'CREAMWARE GMBH ' + dw 5301 ; 0x14B5 + db 'QUANTUM DATA CORP. ' + dw 5302 ; 0x14B6 + db 'PROXIM INC ' + dw 5303 ; 0x14B7 + db 'TECHSOFT TECHNOLOGY CO LTD ' + dw 5304 ; 0x14B8 + db 'AIRONET WIRELESS COMMUNICATIONS ' + dw 5305 ; 0x14B9 + db 'INTERNIX INC. ' + dw 5306 ; 0x14BA + db 'SEMTECH CORPORATION ' + dw 5307 ; 0x14BB + db 'GLOBESPAN SEMICONDUCTOR INC. ' + dw 5308 ; 0x14BC + db 'CARDIO CONTROL N.V. ' + dw 5309 ; 0x14BD + db 'L3 COMMUNICATIONS ' + dw 5310 ; 0x14BE + db 'SPIDER COMMUNICATIONS INC. ' + dw 5311 ; 0x14BF + db 'COMPAL ELECTRONICS INC ' + dw 5312 ; 0x14C0 + db 'MYRICOM INC. ' + dw 5313 ; 0x14C1 +_THIRDPART: ;lists 255 vendors + db 'DTK COMPUTER ' + dw 5314 ; 0x14C2 + db 'MEDIATEK CORP. ' + dw 5315 ; 0x14C3 + db 'IWASAKI INFORMATION SYSTEMS CO LTD ' + dw 5316 ; 0x14C4 + db 'ABB AUTOMATION PRODUCTS ' + dw 5317 ; 0x14C5 + db 'DATA RACE INC ' + dw 5318 ; 0x14C6 + db 'MODULAR TECHNOLOY HOLDINGS LTD ' + dw 5319 ; 0x14C7 + db 'TURBOCOMM TECH. INC. ' + dw 5320 ; 0x14C8 + db 'ODIN TELESYSTEMS INC ' + dw 5321 ; 0x14C9 + db 'PE LOGIC CORP. ' + dw 5322 ; 0x14CA + db 'Billionton Systems Inc./Cadmus Micro Inc. ' + dw 5323 ; 0x14CB + db 'NAKAYO TELECOMMUNICATIONS INC ' + dw 5324 ; 0x14CC + db 'UNIVERSAL SCIENTIFIC IND ' + dw 5325 ; 0x14CD + db 'WHISTLE COMMUNICATIONS ' + dw 5326 ; 0x14CE + db 'TEK MICROSYSTEMS INC. ' + dw 5327 ; 0x14CF + db 'ERICSSON AXE R & D ' + dw 5328 ; 0x14D0 + db 'COMPUTER HI-TECH CO LTD ' + dw 5329 ; 0x14D1 + db 'TITAN ELECTRONICS INC ' + dw 5330 ; 0x14D2 + db 'CIRTECH (UK) LTD ' + dw 5331 ; 0x14D3 + db 'PANACOM TECHNOLOGY CORP ' + dw 5332 ; 0x14D4 + db 'NITSUKO CORPORATION ' + dw 5333 ; 0x14D5 + db 'ACCUSYS ' + dw 5334 ; 0x14D6 + db 'HIRAKAWA HEWTECH CORP ' + dw 5335 ; 0x14D7 + db 'HOPF ELEKTRONIK GMBH ' + dw 5336 ; 0x14D8 + db 'ALPHA PROCESSOR INC ' + dw 5337 ; 0x14D9 + db 'NATIONAL AEROSPACE LABORATORIES ' + dw 5338 ; 0x14DA + db 'AVLAB TECHNOLOGY INC ' + dw 5339 ; 0x14DB + db 'AMPLICON LIVELINE LTD ' + dw 5340 ; 0x14DC + db 'IMODL INC. ' + dw 5341 ; 0x14DD + db 'APPLIED INTEGRATION CORPORATION ' + dw 5342 ; 0x14DE + db 'BASIS COMMUNICATIONS CORP ' + dw 5343 ; 0x14DF + db 'INVERTEX ' + dw 5345 ; 0x14E1 + db 'INFOLIBRIA ' + dw 5346 ; 0x14E2 + db 'AMTELCO ' + dw 5347 ; 0x14E3 + db 'BROADCOM CORPORATION ' + dw 5348 ; 0x14E4 + db 'PIXELFUSION LTD ' + dw 5349 ; 0x14E5 + db 'SHINING TECHNOLOGY INC ' + dw 5350 ; 0x14E6 + db '3CX ' + dw 5351 ; 0x14E7 + db 'RAYCER INC ' + dw 5352 ; 0x14E8 + db 'GARNETS SYSTEM CO LTD ' + dw 5353 ; 0x14E9 + db 'PLANEX COMMUNICATIONS INC ' + dw 5354 ; 0x14EA + db 'SEIKO EPSON CORPORATION ' + dw 5355 ; 0x14EB + db 'ACQIRIS ' + dw 5356 ; 0x14EC + db 'DATAKINETICS LTD ' + dw 5357 ; 0x14ED + db 'MASPRO KENKOH CORP ' + dw 5358 ; 0x14EE + db 'CARRY COMPUTER ENG. CO LTD ' + dw 5359 ; 0x14EF + db 'CANON RESEACH CENTRE FRANCE ' + dw 5360 ; 0x14F0 + db 'CONEXANT ' + dw 5361 ; 0x14F1 + db 'MOBILITY ELECTRONICS ' + dw 5362 ; 0x14F2 + db 'BROADLOGIC ' + dw 5363 ; 0x14F3 + db 'TOKYO ELECTRONIC INDUSTRY CO LTD ' + dw 5364 ; 0x14F4 + db 'SOPAC LTD ' + dw 5365 ; 0x14F5 + db 'COYOTE TECHNOLOGIES LLC ' + dw 5366 ; 0x14F6 + db 'WOLF TECHNOLOGY INC ' + dw 5367 ; 0x14F7 + db 'AUDIOCODES INC ' + dw 5368 ; 0x14F8 + db 'AG COMMUNICATIONS ' + dw 5369 ; 0x14F9 + db 'WAVETEK WANDEL & GOLTERMANN ' + dw 5370 ; 0x14FA + db 'TRANSAS MARINE (UK) LTD ' + dw 5371 ; 0x14FB + db 'QUADRICS SUPERCOMPUTERS WORLD ' + dw 5372 ; 0x14FC + db 'JAPAN COMPUTER INDUSTRY INC. ' + dw 5373 ; 0x14FD + db 'ARCHTEK TELECOM CORP. ' + dw 5374 ; 0x14FE + db 'TWINHEAD INTERNATIONAL CORP ' + dw 5375 ; 0x14FF + db 'LANTECH COMPUTER COMPANY ' + dw 5376 ; 0x1500 + db 'BANKSOFT CANADA LTD ' + dw 5377 ; 0x1501 + db 'MITSUBISHI ELECTRIC LOGISTICS SUPPORT CO ' + dw 5378 ; 0x1502 + db 'KAWASAKI LSI USA INC ' + dw 5379 ; 0x1503 + db 'KAISER ELECTRONICS ' + dw 5380 ; 0x1504 + db 'ITA INGENIEURBURO FUR TESTAUFGABEN GMBH ' + dw 5381 ; 0x1505 + db 'CHAMELEON SYSTEMS INC ' + dw 5382 ; 0x1506 + db 'HTEC LTD ' + dw 5383 ; 0x1507 + db 'HONDA CONNECTORS/MHOTRONICS INC ' + dw 5384 ; 0x1508 + db 'FIRST INTERNATIONAL COMPUTER INC ' + dw 5385 ; 0x1509 + db 'FORVUS RESEARCH INC ' + dw 5386 ; 0x150A + db 'YAMASHITA SYSTEMS CORP ' + dw 5387 ; 0x150B + db 'KYOPAL CO LTD ' + dw 5388 ; 0x150C + db 'WARPSPPED INC ' + dw 5389 ; 0x150D + db 'C-PORT CORPORATION ' + dw 5390 ; 0x150E + db 'INTEC GMBH ' + dw 5391 ; 0x150F + db 'BEHAVIOR TECH COMPUTER CORP ' + dw 5392 ; 0x1510 + db 'CENTILLIUM TECHNOLOGY CORP ' + dw 5393 ; 0x1511 + db 'ROSUN TECHNOLOGIES INC ' + dw 5394 ; 0x1512 + db 'RAYCHEM ' + dw 5395 ; 0x1513 + db 'TFL LAN INC ' + dw 5396 ; 0x1514 + db 'ICS ADVENT ' + dw 5397 ; 0x1515 + db 'MYSON TECHNOLOGY INC ' + dw 5398 ; 0x1516 + db 'ECHOTEK CORPORATION ' + dw 5399 ; 0x1517 + db 'PEP MODULAR COMPUTERS GMBH ' + dw 5400 ; 0x1518 + db 'TELEFON AKTIEBOLAGET LM Ericsson ' + dw 5401 ; 0x1519 + db 'GLOBETEK INC ' + dw 5402 ; 0x151A + db 'COMBOX LTD ' + dw 5403 ; 0x151B + db 'DIGITAL AUDIO LABS INC ' + dw 5404 ; 0x151C + db 'FUJITSU COMPUTER PRODUCTS OF AMERICA ' + dw 5405 ; 0x151D + db 'MATRIX CORP. ' + dw 5406 ; 0x151E + db 'TOPIC SEMICONDUCTOR CORP ' + dw 5407 ; 0x151F + db 'CHAPLET SYSTEM INC ' + dw 5408 ; 0x1520 + db 'BELL CORPORATION ' + dw 5409 ; 0x1521 + db 'MAINPINE LIMITED ' + dw 5410 ; 0x1522 + db 'MUSIC SEMICONDUCTORS ' + dw 5411 ; 0x1523 + db 'ENE TECHNOLOGY INC ' + dw 5412 ; 0x1524 + db 'IMPACT TECHNOLOGIES ' + dw 5413 ; 0x1525 + db 'ISS ' + dw 5414 ; 0x1526 + db 'SOLECTRON ' + dw 5415 ; 0x1527 + db 'ACKSYS ' + dw 5416 ; 0x1528 + db 'AMERICAN MICROSYSTEMS INC ' + dw 5417 ; 0x1529 + db 'QUICKTURN DESIGN SYSTEMS ' + dw 5418 ; 0x152A + db 'FLYTECH TECHNOLOGY CO LTD ' + dw 5419 ; 0x152B + db 'MACRAIGOR SYSTEMS LLC ' + dw 5420 ; 0x152C + db 'QUANTA COMPUTER INC ' + dw 5421 ; 0x152D + db 'MELEC INC ' + dw 5422 ; 0x152E + db 'PHILIPS-CRYPTO ' + dw 5423 ; 0x152F + db 'ACQIS TECHNOLOGY ' + dw 5424 ; 0x1530 + db 'CHRYON CORP. ' + dw 5425 ; 0x1531 + db 'ECHELON CORPORATION ' + dw 5426 ; 0x1532 + db 'BALTIMORE ' + dw 5427 ; 0x1533 + db 'ROAD CORPORATION ' + dw 5428 ; 0x1534 + db 'EVERGREEN TECHNOLOGIES INC ' + dw 5429 ; 0x1535 + db 'DATALEX COMMUNCATIONS ' + dw 5431 ; 0x1537 + db 'ARALION INC. ' + dw 5432 ; 0x1538 + db 'ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A. ' + dw 5433 ; 0x1539 + db 'ONO SOKKI ' + dw 5434 ; 0x153A + db 'TERRATEC ELECTRONIC GMBH ' + dw 5435 ; 0x153B + db 'ANTAL ELECTRONIC ' + dw 5436 ; 0x153C + db 'FILANET CORPORATION ' + dw 5437 ; 0x153D + db 'TECHWELL INC ' + dw 5438 ; 0x153E + db 'MIPS DENMARK ' + dw 5439 ; 0x153F + db 'PROVIDEO MULTIMEDIA CO LTD ' + dw 5440 ; 0x1540 + db 'TELOSITY INC. ' + dw 5441 ; 0x1541 + db 'VIVID TECHNOLOGY INC ' + dw 5442 ; 0x1542 + db 'SILICON LABORATORIES ' + dw 5443 ; 0x1543 + db 'DCM DATA SYSTEMS ' + dw 5444 ; 0x1544 + db 'VISIONTEK ' + dw 5445 ; 0x1545 + db 'IOI TECHNOLOGY CORP. ' + dw 5446 ; 0x1546 + db 'MITUTOYO CORPORATION ' + dw 5447 ; 0x1547 + db 'JET PROPULSION LABORATORY ' + dw 5448 ; 0x1548 + db 'INTERCONNECT SYSTEMS SOLUTIONS ' + dw 5449 ; 0x1549 + db 'MAX TECHNOLOGIES INC. ' + dw 5450 ; 0x154A + db 'COMPUTEX CO LTD ' + dw 5451 ; 0x154B + db 'VISUAL TECHNOLOGY INC. ' + dw 5452 ; 0x154C + db 'PAN INTERNATIONAL INDUSTRIAL CORP ' + dw 5453 ; 0x154D + db 'SERVOTEST LTD ' + dw 5454 ; 0x154E + db 'STRATABEAM TECHNOLOGY ' + dw 5455 ; 0x154F + db 'OPEN NETWORK CO LTD ' + dw 5456 ; 0x1550 + db 'SMART ELECTRONIC DEVELOPMENT GMBH ' + dw 5457 ; 0x1551 + db 'RACAL AIRTECH LTD ' + dw 5458 ; 0x1552 + db 'CHICONY ELECTRONICS CO LTD ' + dw 5459 ; 0x1553 + db 'PROLINK MICROSYSTEMS CORP. ' + dw 5460 ; 0x1554 + db 'GESYTEC GMBH ' + dw 5461 ; 0x1555 + db 'PLD APPLICATIONS ' + dw 5462 ; 0x1556 + db 'MEDIASTAR CO. LTD ' + dw 5463 ; 0x1557 + db 'CLEVO/KAPOK COMPUTER ' + dw 5464 ; 0x1558 + db 'SI LOGIC LTD ' + dw 5465 ; 0x1559 + db 'INNOMEDIA INC ' + dw 5466 ; 0x155A + db 'PROTAC INTERNATIONAL CORP ' + dw 5467 ; 0x155B + db 'CEMAX-ICON INC ' + dw 5468 ; 0x155C + db 'MAC SYSTEM CO LTD ' + dw 5469 ; 0x155D + db 'LP ELEKTRONIK GMBH ' + dw 5470 ; 0x155E + db 'PERLE SYSTEMS LIMITED ' + dw 5471 ; 0x155F + db 'TERAYON COMMUNICATIONS SYSTEMS ' + dw 5472 ; 0x1560 + db 'VIEWGRAPHICS INC ' + dw 5473 ; 0x1561 + db 'SYMBOL TECHNOLOGIES ' + dw 5474 ; 0x1562 + db 'A-TREND ' + dw 5475 ; 0x1563 + db 'YAMAKATSU ELECTRONICS INDUSTRY CO LTD ' + dw 5476 ; 0x1564 + db 'BIOSTAR MICROTECH INT CORP ' + dw 5477 ; 0x1565 + db 'ARDENT TECHNOLOGIES INC ' + dw 5478 ; 0x1566 + db 'JUNGSOFT ' + dw 5479 ; 0x1567 + db 'DDK ELECTRONICS INC ' + dw 5480 ; 0x1568 + db 'PALIT MICROSYSTEMS INC ' + dw 5481 ; 0x1569 + db 'AVTEC SYSTEMS ' + dw 5482 ; 0x156A + db '2WIRE ' + dw 5483 ; 0x156B + db 'VIDAC ELECTRONICS GMBH ' + dw 5484 ; 0x156C + db 'ALPHA-TOP CORP ' + dw 5485 ; 0x156D + db 'ALFA INC ' + dw 5486 ; 0x156E + db 'M-SYSTEMS FLASH DISK PIONEERS LTD ' + dw 5487 ; 0x156F + db 'LECROY CORPORATION ' + dw 5488 ; 0x1570 + db 'CONTEMPORARY CONTROLS ' + dw 5489 ; 0x1571 + db 'OTIS ELEVATOR COMPANY ' + dw 5490 ; 0x1572 + db 'LATTICE-VANTIS ' + dw 5491 ; 0x1573 + db 'FAIRCHILD SEMICONDUCTOR ' + dw 5492 ; 0x1574 + db 'VOLTAIRE ADVANCED DATA SECURITY LTD ' + dw 5493 ; 0x1575 + db 'VIEWCAST COM ' + dw 5494 ; 0x1576 + db 'HITT ' + dw 5496 ; 0x1578 + db 'DUAL TECHNOLOGY CORPORATION ' + dw 5497 ; 0x1579 + db 'JAPAN ELECRONICS IND. INC ' + dw 5498 ; 0x157A + db 'STAR MULTIMEDIA CORP. ' + dw 5499 ; 0x157B + db 'EUROSOFT (UK) LTD ' + dw 5500 ; 0x157C + db 'GEMFLEX NETWORKS ' + dw 5501 ; 0x157D + db 'TRANSITION NETWORKS ' + dw 5502 ; 0x157E + db 'PX INSTRUMENTS TECHNOLOGY LTD ' + dw 5503 ; 0x157F + db 'PRIMEX AEROSPACE CO. ' + dw 5504 ; 0x1580 + db 'SEH COMPUTERTECHNIK GMBH ' + dw 5505 ; 0x1581 + db 'CYTEC CORPORATION ' + dw 5506 ; 0x1582 + db 'INET TECHNOLOGIES INC ' + dw 5507 ; 0x1583 + db 'UNIWILL COMPUTER CORP ' + dw 5508 ; 0x1584 + db 'LOGITRON ' + dw 5509 ; 0x1585 + db 'LANCAST INC ' + dw 5510 ; 0x1586 + db 'KONICA CORPORATION ' + dw 5511 ; 0x1587 + db 'SOLIDUM SYSTEMS CORP ' + dw 5512 ; 0x1588 + db 'ATLANTEK MICROSYSTEMS PTY LTD ' + dw 5513 ; 0x1589 + db 'DIGALOG SYSTEMS INC ' + dw 5514 ; 0x158A + db 'ALLIED DATA TECHNOLOGIES ' + dw 5515 ; 0x158B + db 'HITACHI SEMICONDUCTOR & DEVICES SALES CO LTD ' + dw 5516 ; 0x158C + db 'POINT MULTIMEDIA SYSTEMS ' + dw 5517 ; 0x158D + db 'LARA TECHNOLOGY INC ' + dw 5518 ; 0x158E + db 'DITECT COOP ' + dw 5519 ; 0x158F + db '3PARDATA ' + dw 5520 ; 0x1590 + db 'ARN ' + dw 5521 ; 0x1591 + db 'SYBA TECH LIMITED ' + dw 5522 ; 0x1592 + db 'BOPS INC ' + dw 5523 ; 0x1593 + db 'NETGAME LTD ' + dw 5524 ; 0x1594 + db 'DIVA SYSTEMS CORP. ' + dw 5525 ; 0x1595 + db 'FOLSOM RESEARCH INC ' + dw 5526 ; 0x1596 + db 'MEMEC DESIGN SERVICES ' + dw 5527 ; 0x1597 + db 'GRANITE MICROSYSTEMS ' + dw 5528 ; 0x1598 + db 'DELTA ELECTRONICS INC ' + dw 5529 ; 0x1599 + db 'GENERAL INSTRUMENT ' + dw 5530 ; 0x159A + db 'FARADAY TECHNOLOGY CORP ' + dw 5531 ; 0x159B + db 'STRATUS COMPUTER SYSTEMS ' + dw 5532 ; 0x159C + db 'NINGBO HARRISON ELECTRONICS CO LTD ' + dw 5533 ; 0x159D + db 'A-MAX TECHNOLOGY ' + dw 5534 ; 0x159E + db 'GALEA NETWORK SECURITY ' + dw 5535 ; 0x159F + db 'COMPUMASTER SRL ' + dw 5536 ; 0x15A0 + db 'GEOCAST NETWORK SYSTEMS INC ' + dw 5537 ; 0x15A1 + db 'CATALYST ENTERPRISES INC ' + dw 5538 ; 0x15A2 + db 'ITALTEL ' + dw 5539 ; 0x15A3 + db 'X-NET OY ' + dw 5540 ; 0x15A4 + db 'TOYOTA MACS INC ' + dw 5541 ; 0x15A5 + db 'SUNLIGHT ULTRASOUND TECHNOLOGIES LTD ' + dw 5542 ; 0x15A6 + db 'SSE TELECOM INC ' + dw 5543 ; 0x15A7 + db 'SHANGHAI COMMUNICATIONS TECHNOLOGIES CENTER ' + dw 5544 ; 0x15A8 + db 'MORETON BAY ' + dw 5546 ; 0x15AA + db 'BLUESTEEL NETWORKS INC ' + dw 5547 ; 0x15AB + db 'NORTH ATLANTIC INSTRUMENTS ' + dw 5548 ; 0x15AC + db 'VMWARE ' + dw 5549 ; 0x15AD + db 'AMERSHAM PHARMACIA BIOTECH ' + dw 5550 ; 0x15AE + db 'ZOLTRIX INTERNATIONAL LIMITED ' + dw 5552 ; 0x15B0 + db 'SOURCE TECHNOLOGY INC ' + dw 5553 ; 0x15B1 + db 'MOSAID TECHNOLOGIES INC. ' + dw 5554 ; 0x15B2 + db 'MELLANOX TECHNOLOGY ' + dw 5555 ; 0x15B3 + db 'CCI/TRIAD ' + dw 5556 ; 0x15B4 + db 'CIMETRICS INC ' + dw 5557 ; 0x15B5 + db 'TEXAS MEMORY SYSTEMS INC ' + dw 5558 ; 0x15B6 + db 'SANDISK CORP. ' + dw 5559 ; 0x15B7 + db 'ADDI-DATA GMBH ' + dw 5560 ; 0x15B8 + db 'MAESTRO DIGITAL COMMUNICATIONS ' + dw 5561 ; 0x15B9 + db 'IMPACCT TECHNOLOGY CORP ' + dw 5562 ; 0x15BA + db 'PORTWELL INC ' + dw 5563 ; 0x15BB + db 'AGILENT TECHNOLOGIES ' + dw 5564 ; 0x15BC + db 'DFI INC. ' + dw 5565 ; 0x15BD + db 'SOLA ELECTRONICS ' + dw 5566 ; 0x15BE + db 'HIGH TECH COMPUTER CORP (HTC) ' + dw 5567 ; 0x15BF + db 'BVM LIMITED ' + dw 5568 ; 0x15C0 + db 'QUANTEL ' + dw 5569 ; 0x15C1 + db 'NEWER TECHNOLOGY INC ' + dw 5570 ; 0x15C2 + db 'TAIWAN MYCOMP CO LTD ' + dw 5571 ; 0x15C3 + db 'EVSX ' + 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 ' + dw 5575 ; 0x15C7 + db 'PENTA MEDIA CO. LTD ' + dw 5576 ; 0x15C8 + db 'SEROME TECHNOLOGY INC ' + dw 5577 ; 0x15C9 + db 'BITBOYS OY ' + dw 5578 ; 0x15CA + db 'AG ELECTRONICS LTD ' + dw 5579 ; 0x15CB + db 'HOTRAIL INC. ' + dw 5580 ; 0x15CC + db 'DREAMTECH CO LTD ' + dw 5581 ; 0x15CD + db 'GENRAD INC. ' + dw 5582 ; 0x15CE + db 'HILSCHER GMBH ' + dw 5583 ; 0x15CF + db 'INFINEON TECHNOLOGIES AG ' + dw 5585 ; 0x15D1 + db 'FIC (FIRST INTERNATIONAL COMPUTER INC) ' + dw 5586 ; 0x15D2 + db 'NDS TECHNOLOGIES ISRAEL LTD ' + dw 5587 ; 0x15D3 + db 'IWILL CORPORATION ' + dw 5588 ; 0x15D4 + db 'TATUNG CO. ' + dw 5589 ; 0x15D5 + db 'ENTRIDIA CORPORATION ' + dw 5590 ; 0x15D6 + db 'ROCKWELL-COLLINS ' + dw 5591 ; 0x15D7 + db 'CYBERNETICS TECHNOLOGY CO LTD ' + dw 5592 ; 0x15D8 + db 'SUPER MICRO COMPUTER INC ' + dw 5593 ; 0x15D9 + db 'CYBERFIRM INC. ' + dw 5594 ; 0x15DA + db 'APPLIED COMPUTING SYSTEMS INC. ' + dw 5595 ; 0x15DB + db 'LITRONIC INC ' + dw 5596 ; 0x15DC + db 'SIGMATEL INC. ' + dw 5597 ; 0x15DD + db 'MALLEABLE TECHNOLOGIES INC ' + dw 5598 ; 0x15DE + db 'INFINILINK CORP. ' + dw 5599 ; 0x15DF + db 'CACHEFLOW INC ' + dw 5600 ; 0x15E0 + db 'VOICE TECHNOLOGIES GROUP INC ' + dw 5601 ; 0x15E1 + db 'QUICKNET TECHNOLOGIES INC ' + dw 5602 ; 0x15E2 + db 'NETWORTH TECHNOLOGIES INC ' + dw 5603 ; 0x15E3 + db 'VSN SYSTEMEN BV ' + dw 5604 ; 0x15E4 + db 'VALLEY TECHNOLOGIES INC ' + dw 5605 ; 0x15E5 + db 'AGERE INC. ' + dw 5606 ; 0x15E6 + db 'GET ENGINEERING CORP. ' + dw 5607 ; 0x15E7 + db 'NATIONAL DATACOMM CORP. ' + dw 5608 ; 0x15E8 + db 'PACIFIC DIGITAL CORP. ' + dw 5609 ; 0x15E9 + db 'TOKYO DENSHI SEKEI K.K. ' + dw 5610 ; 0x15EA + db 'DRSEARCH GMBH ' + dw 5611 ; 0x15EB + db 'BECKHOFF GMBH ' + dw 5612 ; 0x15EC + db 'MACROLINK INC ' + dw 5613 ; 0x15ED + db 'IN WIN DEVELOPMENT INC. ' + dw 5614 ; 0x15EE + db 'INTELLIGENT PARADIGM INC ' + dw 5615 ; 0x15EF + db 'B-TREE SYSTEMS INC ' + dw 5616 ; 0x15F0 + db 'TIMES N SYSTEMS INC ' + dw 5617 ; 0x15F1 + db 'DIAGNOSTIC INSTRUMENTS INC ' + dw 5618 ; 0x15F2 + db 'DIGITMEDIA CORP. ' + dw 5619 ; 0x15F3 + db 'VALUESOFT ' + dw 5620 ; 0x15F4 + db 'POWER MICRO RESEARCH ' + dw 5621 ; 0x15F5 + db 'EXTREME PACKET DEVICE INC ' + dw 5622 ; 0x15F6 + db 'BANCTEC ' + dw 5623 ; 0x15F7 + db 'KOGA ELECTRONICS CO ' + dw 5624 ; 0x15F8 + db 'ZENITH ELECTRONICS CORPORATION ' + dw 5625 ; 0x15F9 + db 'J P AXZAM CORPORATION ' + dw 5626 ; 0x15FA + db 'ZILOG INC. ' + dw 5627 ; 0x15FB + db 'TECHSAN ELECTRONICS CO LTD ' + dw 5628 ; 0x15FC + db 'N-CUBED.NET ' + dw 5629 ; 0x15FD + db 'KINPO ELECTRONICS INC ' + dw 5630 ; 0x15FE + db 'FASTPOINT TECHNOLOGIES INC. ' + dw 5631 ; 0x15FF + db 'NORTHROP GRUMMAN-CANADA LTD ' + dw 5632 ; 0x1600 + db 'TENTA TECHNOLOGY ' + dw 5633 ; 0x1601 + db 'PROSYS-TEC INC. ' + dw 5634 ; 0x1602 + db 'NOKIA WIRELESS BUSINESS COMMUNICATIONS ' + dw 5635 ; 0x1603 + db 'CENTRAL SYSTEM RESEARCH CO LTD ' + dw 5636 ; 0x1604 + db 'PAIRGAIN TECHNOLOGIES ' + dw 5637 ; 0x1605 + db 'EUROPOP AG ' + dw 5638 ; 0x1606 + db 'LAVA SEMICONDUCTOR MANUFACTURING INC. ' + dw 5639 ; 0x1607 + db 'AUTOMATED WAGERING INTERNATIONAL ' + dw 5640 ; 0x1608 + db 'SCIEMETRIC INSTRUMENTS INC ' + dw 5641 ; 0x1609 + db 'Broadcom -SiByte ' + dw 5741 ; 0x127A + db 'EPOX Computer Co ' + dw 5781 ; 0x1695 + db 'ALBATRON Corp. ' + dw 6130 ; 0x17F2 + db 'AMBIENT TECHNOLOGIES INC ' + dw 6163 ; 0x1813 + db 'ASROCK Inc ' + dw 6217 ; 0x1849 + db 'Jaton Corp ' + dw 6931 ; 0x1B13 + db 'TEMPORAL RESEARCH LTD ' + dw 8193 ; 0x2001 + db 'CHAINTECH COMPUTER CO. LTD ' + dw 9999 ; 0x270F + db 'HINT CORP ' + dw 13192 ; 0x3388 + db 'QUANTUM DESIGNS (H.K.) INC. ' + dw 13329 ; 0x3411 + db 'AVANCE LOGIC INC ' + dw 16389 ; 0x4005 + db 'DELTA NETWORKS INC ' + dw 16435 ; 0x4033 + db 'ALADDIN KNOWLEDGE SYSTEMS ' + dw 16748 ; 0x416C + db 'CONEXANT (WAS ICOMPRESION INC.) ' + dw 17476 ; 0x4444 + db 'GROWTH NETWORKS ' + dw 18755 ; 0x4943 + db 'SEANIX TECHNOLOGY INC ' + dw 19617 ; 0x4CA1 + db 'MEDIAQ INC. ' + dw 19793 ; 0x4D51 + db 'MICROTECHNICA CO LTD ' + dw 19796 ; 0x4D54 + db 'S S TECHNOLOGIES ' + dw 20790 ; 0x5136 + db 'S3 INC. ' + dw 21299 ; 0x5333 + db 'TERALOGIC INC ' + dw 21580 ; 0x544C + db 'GENROCO INC ' + dw 21845 ; 0x5555 + db 'LOGITEC CORP. ' + dw 25609 ; 0x6409 + db 'DECISION COMPUTER INTERNATIONAL CO. ' + dw 26214 ; 0x6666 + db 'INTEL CORP. ' + dw 32902 ; 0x8086 + db 'SILICON MAGIC CORP. ' + dw 34952 ; 0x8888 + db 'COMPUTONE CORPORATION ' + dw 36366 ; 0x8E0E + db 'ADAPTEC ' + dw 36868 ; 0x9004 + db 'GIGAPIXEL CORP ' + dw 37274 ; 0x919A + db 'OMNI MEDIA TECHNOLOGY INC. ' + dw 38553 ; 0x9699 + db 'AOPEN INC. ' + dw 41120 ; 0xA0A0 + db 'HEWLETT PACKARD ' + dw 41561 ; 0xA259 + db 'DIGITAL RECEIVER TECHNOLOGY INC ' + dw 44062 ; 0xAC1E + db 'MOTOROLA ' + dw 49374 ; 0xC0DE + db 'MOTION ENGINEERING. ' + dw 49406 ; 0xC0FE + db 'VARIAN AUSTRIALIA PTY LTD ' + dw 51792 ; 0xCA50 + db 'CHRYSALIS-ITS ' + dw 51966 ; 0xCAFE + db 'CATAPULT COMMUNICATIONS ' + dw 52428 ; 0xCCCC + db 'DY4 Systems Inc ' + dw 54484 ; 0xD4D4 + db 'EKF ELEKTRONIK GMBH ' + dw 58559 ; 0xE4BF + db 'EAGLE TECHNOLOGY ' + dw 59905 ; 0xEA01 + db 'FAST SEARCH & TRANSFER ASA ' + dw 64087 ; 0xFA57 + db 'EPIGRAM INC ' + dw 65242 ; 0xFEDA +;---------------------------------------------------------------------- +_UNKNOWN: db 'UNKOWN VENDOR ' + +_UNKNOWND: +db 'UNKOWN DEVICE ' + +Class0: +db 'Prehistoric - misc ' +db 00 ; 0x00 +db 'Prehistoric - VGA ' +db 01 ; 0x01 + +Class1: +db 'Storage - SCSI ' +db 00 ; 0x00 +db 'Storage - IDE ' +db 01 ; 0x01 +db 'Storage - Floppy ' +db 02 ; 0x02 +db 'Storage - IPI ' +db 03 ; 0x03 +db 'Storage - RAID ' +db 04 ; 0x04 +db 'Storage - ATA with DMA ' +db 05 ; 0x05 +db 'Storage - Serial ATA ' +db 06 ; 0x06 +db 'Storage - misc ' +db 128 ; 0x80 + +Class2: +db 'Network - Ethernet ' +db 00 ; 0x0 +db 'Network - Token Ring ' +db 01 ; 0x1 +db 'Network - FDDI ' +db 02 ; 0x2 +db 'Network - ATM ' +db 03 ; 0x3 +db 'Network - ISDN ' +db 04 ; 0x4 +db 'Network - WorldFip ' +db 05 ; 0x5 +db 'Network - PICMG 2.14 ' +db 06 ; 0x6 +db 'Network - misc ' +db 128 ; 0x80 + +Class3: +db 'Display - VGA controller ' +db 00 ; 0x0 +db 'Display - XGA controller ' +db 01 ; 0x1 +db 'Display - 3D controller ' +db 02 ; 0x2 +db 'Display - misc ' +db 128 ; 0x80 + +Class4: +db 'Multimedia - Video ' +db 00 ; 0x0 +db 'Multimedia - Audio ' +db 01 ; 0x1 +db 'Multimedia - Computer telephony ' +db 02 ; 0x2 +db 'Multimedia - misc ' +db 128 ; 0x80 + +Class5: +db 'Memory - RAM ' +db 00 ; 0x0 +db 'Memory- Flash memory ' +db 01 ; 0x1 +db 'Memory - misc ' +db 128 ; 0x80 + +Class6: +db 'Bridge - CPU/PCI ' +db 00 ; 0x00 +db 'Bridge - PCI/ISA ' +db 01 ; 0x01 +db 'Bridge - PCI/EISA ' +db 02 ; 0x02 +db 'Bridge - PCI/MCA ' +db 03 ; 0x03 +db 'Bridge - PCI/PCI ' +db 04 ; 0x04 +db 'Bridge - PCMCIA ' +db 05 ; 0x05 +db 'Bridge - NuBus ' +db 06 ; 0x06 +db 'Bridge - CardBus ' +db 07 ; 0x07 +db 'Bridge - RACEway ' +db 08 ; 0x08 +db 'Bridge - Semi-transpar. PCI/PCI ' +db 09 ; 0x09 +db 'Bridge - InfiniBand/PCI ' +db 10 ; 0x0A +db 'Bridge - misc ' +db 128 ; 0x80 + +Class7: +db 'Communication - Serial ' +db 00 ; 0x0 +db 'Communication - Parallel ' +db 01 ; 0x1 +db 'Communication - Multiport Serial' +db 02 ; 0x2 +db 'Communication - Modem ' +db 03 ; 0x3 +db 'Communication - GPIB ' +db 04 ; 0x4 +db 'Communication - Smart Card ' +db 05 ; 0x5 +db 'Communication - misc ' +db 128 ; 0x80 + +Class8: +db 'System - PIC ' +db 00 ; 0x0 +db 'System - DMAC ' +db 01 ; 0x1 +db 'System - Timer ' +db 02 ; 0x2 +db 'System - RTC ' +db 03 ; 0x3 +db 'System - PCI Hot-Plug ' +db 04 ; 0x4 +db 'System - misc ' +db 128 ; 0x80 + +Class9: +db 'Input - Keyboard ' +db 00 ; 0x0 +db 'Input - Digitazer (pen) ' +db 01 ; 0x1 +db 'Input - Mouse ' +db 02 ; 0x2 +db 'Input - Scanner ' +db 03 ; 0x3 +db 'Input - Gameport ' +db 04 ; 0x4 +db 'Input - misc ' +db 128 ; 0x80 + +ClassA: +db 'Docking - Generic station ' +db 00 ; 0x0 +db 'Docking - misc ' +db 128 ; 0x80 + + +ClassB: +db 'Processor - 386 ' +db 00 ; 0x0 +db 'Processor - 486 ' +db 01 ; 0x1 +db 'Processor - Pentium ' +db 02 ; 0x2 +db 'Processor - Alpha ' +db 16 ; 0x10 +db 'Processor - PowerPC ' +db 32 ; 0x20 +db 'Processor - MIPS ' +db 48 ; 0x30 +db 'Processor - Co-processor ' +db 64 ; 0x40 + +ClassC: +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 03 ; 0x3 +db 'Serial Bus - Fibre Channel ' +db 04 ; 0x4 +db 'Serial Bus - SMBus ' +db 05 ; 0x5 +db 'Serial Bus - InfiniBand ' +db 06 ; 0x6 +db 'Serial Bus - IPMI ' +db 07 ; 0x7 +db 'Serial Bus - SERCOS ' +db 08 ; 0x8 +db 'Serial Bus - CANbus ' +db 09 ; 0x9 + +ClassD: +db 'Wireless - iRDA ' +db 00 ; 0x0 +db 'Wireless - Consumer IR ' +db 01 ; 0x1 +db 'Wireless - RF ' +db 16 ; 0x10 +db 'Wireless - Bluetooth ' +db 17 ; 0x11 +db 'Wireless - Broadband ' +db 18 ; 0x12 +db 'Wireless - Ethernet (802.11a) ' +db 32 ; 0x20 +db 'Wireless - Ethernet (802.11b) ' +db 33 ; 0x21 +db 'Wireless - misc ' +db 128 ; 0x80 + +ClassE: +db 'Intelligent I/O - I/O contr. ' +db 00 ; 0x0 + +ClassF: +db 'Satellite Communication - TV ' +db 01 ; 0x1 +db 'Satellite Communication - Audio ' +db 02 ; 0x2 +db 'Satellite Communication - Voice ' +db 03 ; 0x3 +db 'Satellite Communication - Data ' +db 04 ; 0x4 + +Class10: +db 'En/Decryption - Network&comput. ' +db 00 ; 0x0 +db 'En/Decryption - Entertainment ' +db 16 ; 0x10 +db 'En/Decryption - misc ' +db 128 ; 0x80 + +Class11: +db 'DSP - DPIO modules ' +db 00 ; 0x0 +db 'DSP - Performance counters ' +db 01 ; 0x1 +db 'DSP - Sync./Test/Measurement ' +db 16 ; 0x10 +db 'DSP - Managamant card ' +db 32 ; 0x20 +db 'DSP - misc ' +db 128 ; 0x80 diff --git a/programs/system/pcidev/trunk/macros.inc b/programs/system/pcidev/trunk/macros.inc new file mode 100644 index 0000000000..58209dc4c9 --- /dev/null +++ b/programs/system/pcidev/trunk/macros.inc @@ -0,0 +1,266 @@ +; new application structure +macro meos_app_start + { + use32 + org 0x0 + + db 'MENUET01' + dd 0x01 + dd __start + dd __end + dd __memory + dd __stack + + if used __params & ~defined __params + dd __params + else + dd 0x0 + end if + + dd 0x0 + } +MEOS_APP_START fix meos_app_start + +macro code + { + __start: + } +CODE fix code + +macro data + { + __data: + } +DATA fix data + +macro udata + { + if used __params & ~defined __params + __params: + db 0 + __end: + rb 255 + else + __end: + end if + __udata: + } +UDATA fix udata + +macro meos_app_end + { + align 32 + rb 2048 + __stack: + __memory: + } +MEOS_APP_END fix meos_app_end + + +; macro for defining multiline text data +struc mstr [sstring] + { + forward + local ssize + virtual at 0 + db sstring + ssize = $ + end virtual + dd ssize + db sstring + common + dd -1 + } + + +; strings +macro sz name,[data] { ; from MFAR [mike.dld] + common + if used name + label name + end if + forward + if used name + db data + end if + common + if used name + .size = $-name + end if +} + +macro lsz name,[lng,data] { ; from MFAR [mike.dld] + common + if used name + label name + end if + forward + if (used name)&(lang eq lng) + db data + end if + common + if used name + .size = $-name + end if +} + + + +; easy system call macro +macro mpack dest, hsrc, lsrc +{ + if (hsrc eqtype 0) & (lsrc eqtype 0) + mov dest, (hsrc) shl 16 + lsrc + else + if (hsrc eqtype 0) & (~lsrc eqtype 0) + mov dest, (hsrc) shl 16 + add dest, lsrc + else + mov dest, hsrc + shl dest, 16 + add dest, lsrc + end if + end if +} + +macro __mov reg,a { ; mike.dld + if ~a eq + mov reg,a + end if +} + +macro mcall a,b,c,d,e,f { ; mike.dld + __mov eax,a + __mov ebx,b + __mov ecx,c + __mov edx,d + __mov esi,e + __mov edi,f + int 0x40 +} + + + +; language for programs +lang fix ru ; ru en fr ge fi + + + +; optimize the code for size +__regs fix + +macro add arg1,arg2 + { + if (arg2 eqtype 0) + if (arg2) = 1 + inc arg1 + else + add arg1,arg2 + end if + else + add arg1,arg2 + end if + } + +macro sub arg1,arg2 + { + if (arg2 eqtype 0) + if (arg2) = 1 + dec arg1 + else + sub arg1,arg2 + end if + else + sub arg1,arg2 + end if + } + +macro mov arg1,arg2 + { + if (arg1 in __regs) & (arg2 eqtype 0) + if (arg2) = 0 + xor arg1,arg1 + else if (arg2) = 1 + xor arg1,arg1 + inc arg1 + else if (arg2) = -1 + or arg1,-1 + else if (arg2) > -128 & (arg2) < 128 + push arg2 + pop arg1 + else + mov arg1,arg2 + end if + else + mov arg1,arg2 + end if + } + + +macro struct name + { + virtual at 0 + name name + sizeof.#name = $ - name + end virtual + } + +; structures used in MeOS +struc process_information + { + .cpu_usage dd ? ; +0 + .window_stack_position dw ? ; +4 + .window_stack_value dw ? ; +6 + .not_used1 dw ? ; +8 + .process_name rb 12 ; +10 + .memory_start dd ? ; +22 + .used_memory dd ? ; +26 + .PID dd ? ; +30 + .x_start dd ? ; +34 + .y_start dd ? ; +38 + .x_size dd ? ; +42 + .y_size dd ? ; +46 + .slot_state dw ? ; +50 + rb (1024-52) + } +struct process_information + +struc system_colors + { + .frame dd ? + .grab dd ? + .grab_button dd ? + .grab_button_text dd ? + .grab_text dd ? + .work dd ? + .work_button dd ? + .work_button_text dd ? + .work_text dd ? + .work_graph dd ? + } +struct system_colors + + +; constants + +; events +EV_IDLE = 0 +EV_TIMER = 0 +EV_REDRAW = 1 +EV_KEY = 2 +EV_BUTTON = 3 +EV_EXIT = 4 +EV_BACKGROUND = 5 +EV_MOUSE = 6 +EV_IPC = 7 +EV_STACK = 8 + +; event mask bits for function 40 +EVM_REDRAW = 1b +EVM_KEY = 10b +EVM_BUTTON = 100b +EVM_EXIT = 1000b +EVM_BACKGROUND = 10000b +EVM_MOUSE = 100000b +EVM_IPC = 1000000b +EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/pcidev/trunk/pcidev.asm b/programs/system/pcidev/trunk/pcidev.asm deleted file mode 100644 index 739b5f6e3a..0000000000 --- a/programs/system/pcidev/trunk/pcidev.asm +++ /dev/null @@ -1,1041 +0,0 @@ -;*************************************************************** -; project name: PCI Device Enumeration -; target platform: MenuetOS, x86 (IA-32), x86-64 achitectures -; compiler: flat assmebler 1.60 -; version: 1.25 -; last update: 2th October 2005 -; maintained by: Sergey Kuzmin aka Wildwest -; e-mail: kuzmin_serg@list.ru -; project site: http://coolthemes.narod.ru/pcidev.html -;*************************************************************** -;Summary: This program will attempt to scan the PCI Bus -; and display basic information about each device -; connected to the PCI Bus. -;*************************************************************** -;HISTORY: -;keep dates in european format (dd/mm/yyyy), please -; '!' means big changes -; to-do: -;PCI version should be normalized (0210->02.10) -;---------------------------------------------------------------- -;1.25: PCIDEV 02/10/2005 -;Author: Sergey Kuzmin aka Wildwest -;Features: !Description is based on Class and SubClass now (PCI 3.0) -; deleted label Descriptions (names of Classes) -; names of Classes and SubClasses are in the end of Vendors.inc -;---------------------------------------------------------------- -;1.20: PCIDEV 16/08/2005 -;Author: Victor Alberto Gil Hanla a.k.a. vhanla -;Features: !added many vendor lists (865) -; previous version's list deleted -; previous Company Name searching and printing changed -;NOTE: -; It was only tested in my old PII Computer, -; there might be some bugs... PLZ test it and send comments -;---------------------------------------------------------------- -;1.15: PCIDEV 03/06/2005 -;Author: Sergey Kuzmin aka Wildwest -;Features: added quantity of devices, -; ! detection of Company Name based on Vendor ID, -; database of VenID (35 ID's), -; macros.inc for smaller size, -; interface+(skinned window), -; VenID before DevID in 'table'(was DevID before VenID) -;---------------------------------------------------------------- -;1.0: PCIDEV 30/01/2005 -;Author: Jason Delozier -;Features: able to detect PCI version, quantity of PCI buses, -; Vendor&Device ID for appropriate Device on Bus; -; detect Revision, Class and Subclass of Device, -; and make Description based on Class -;------------------------------------------------------------- -use32 - - org 0x0 - - db 'MENUET01'; 8 byte id - dd 0x01 ; header version - dd START ; start of code - dd I_END ; size of image - dd 0xE000 ; memory for app E000 - dd 0xE000 ; esp E000 - dd 0x0 , 0x0 ; I_Param , I_Icon - -include 'macros.inc' -include 'VENDORS.INC' - -START: ; start of execution - call draw_window - -still: - mov eax,10 ; wait here for event - int 0x40 - - cmp eax,1 ; redraw request ? - je red - cmp eax,2 ; key in buffer ? - je key - cmp eax,3 ; button in buffer ? - je button - - jmp still - - red: ; redraw - call draw_window - jmp still - key: ; key - mov eax,2 ; just read it and ignore - int 0x40 - jmp still - button: ; button - mov eax,17 ; get id - int 0x40 - - cmp ah,1 ; button id=1 ? - jne noclose - - mov eax,-1 ; close this program - int 0x40 - noclose: - jmp still - - - - -; ********************************************* -; ******* WINDOW DEFINITIONS AND DRAW ******** -; ********************************************* - - -draw_window: - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,1 ; 1, start of draw - int 0x40 - - ; DRAW WINDOW - mov eax,0 ; function 0 : define and draw window - mov ebx,20*65536+750 ; [x start] *65536 + [x size] - mov ecx,20*65536+550 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl - mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl - mov edi,0x005080d0 ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 - - mov [total],0 - - mov ebx, 20*65536+25 ;Draw work format - mov ecx, 0x224466 - mov edx, PCIWin - mov esi, 106 ; lenght of line -newline: - mov eax, 4 - int 0x40 - add ebx, 10 - add edx, 106 ; lenght of line - cmp [edx], byte 'x' - jne newline - - - call Get_PCI_Info - - mov cx, [PCI_Version] - mov eax, 47 - mov ebx, 0x00040100 - mov esi, 0x00000000 - mov edx, 110*65536+45 - int 0x40 - - mov cl, [PCI_LastBus] - mov eax, 47 - mov ebx, 0x00020100 - mov esi, 0x00000000 - mov edx, 110*65536+55 - int 0x40 - - call scan_Pci - - xor ecx, ecx - mov cl, [total] - mov eax, 47 - mov ebx, 0x00020000 - mov esi, 0x00000000 - mov edx, 150*65536+65 - int 0x40 - - - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - int 0x40 - - ret -; *********************************************** -; ******* END WINDOW DEFINITIONS & DRAW ******* -; *********************************************** - -Get_PCI_Info: - mov eax, 62 - mov ebx, 0 - int 0x40 - mov [PCI_Version], ax - ;mov [PCI_Version_h], ah - ;mov [PCI_Version_l], al - - mov eax, 62 - mov ebx, 1 - int 0x40 - mov [PCI_LastBus], al -ret - - - -scan_Pci: - cmp [PCI_LastBus],0xff - jne Pci_Exists - ret -Pci_Exists: - mov [V_Bus], 0 ;reset varibles - mov [V_Dev], 0 ; - mov edx, 20*65536+110 ;start write position - -Start_Enum: - mov bl, 6 ;get Device ID / Vendor ID - mov bh, [V_Bus] - mov ch, [V_Dev] - mov cl, 0 - mov eax, 62 - int 0x40 - - cmp ax, 0 ;check next slot if nothing exists - je nextDev - cmp ax, 0xffff - je nextDev - - mov [PCI_Vendor], ax - shr eax, 16 - mov [PCI_Device], ax - - mov eax, 62 ;PCI Sys Function - mov bl, 4 ;Read config byte - mov bh, [V_Bus] ;Bus # - mov ch, [V_Dev] ;Device # on bus - mov cl, 0x08 ;Register to read (Get Revision) - int 0x40 ;Read it - mov [PCI_Rev], al ;Save it - - mov eax, 62 ;PCI Sys Function - mov cl, 0x0b ;Register to read (Get class) - int 0x40 ;Read it - mov [PCI_Class], al ;Save it - - mov eax, 62 ;PCI Sys Function - mov cl, 0x0a ;Register to read (Get Subclass) - int 0x40 ;Read it - mov [PCI_SubClass], al ;Save it - - call Print_New_Device - -nextDev: - inc [V_Dev] - jno Start_Enum ;jump if no overflow (<256) - - mov [V_Dev], 0 - inc [V_Bus] - mov al, [PCI_LastBus] - - cmp byte [V_Bus], al - jbe Start_Enum -ret - -Print_New_Device: - inc [total] - - mov eax, 47 ;Write number to screen - mov ebx,0x00040100 ;4 byte number, print in hexidecimal - mov esi, 0x00000000 ;Color of text - xor ecx,ecx - mov cx,[PCI_Vendor] ;Pointer to number to be written - int 0x40 ;Write it - - push dx ;Calculate position - mov dx, 62 ; - shl edx, 16 ; - pop dx ; - mov cx, [PCI_Device] ;Write Vendor ID - int 0x40 ; - - mov ebx, 0x00020100 ;2 byte number, in hexidecimal format - push dx ;move write cursor - mov dx, 110 ; - shl edx, 16 ; - pop dx ; - mov cl, [V_Bus] ;write bus number - int 0x40 ; - - push dx ;move write cursor - mov dx, 146 ; - shl edx, 16 ; - pop dx ; - mov cl, [V_Dev] ;Write device number - int 0x40 ; - - push dx ;move write cursor - mov dx, 179 ; - shl edx, 16 ; - pop dx ; - mov cl, [PCI_Rev] ;Draw Revision to screen - int 0x40 ; - - push dx ;move write cursor - mov dx, 215 ; - shl edx, 16 ; - pop dx ; - mov cl, [PCI_Class] ;Draw Class to screen - int 0x40 ; - - push dx ;move write curson - mov dx, 266 ; - shl edx, 16 ; - pop dx ; - mov cl, [PCI_SubClass] ;Draw Sub Class to screen - int 0x40 ; - - - ;Write Names - push dx ;remember our current write line - mov esi, 17 ;length of text - mov bx, 310 ;X-position of text on screen - shl ebx, 16 ; - mov bx, dx ;Current Y position - mov ecx, 0 ;color of text - - mov [cur], dx - - mov [r],0 -;********************************************************** -; modified part by vhanla (I know it is not a fastest way to search) -; it needs optimization... HELP this project! -;------------------------------------------------------------------------------- - cmp [PCI_Vendor],4807 ; Check if Vendor's value is less than this number - jae next1 ; if it is less, let's continue, or jump to next1 - mov [listcount],255 ; number of available lists into this range - mov [r],1 ; counter - mov [valor],50 ; List's number of characters = 50 - rep1: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[_FIRSTPART+bx] - mov [address],_FIRSTPART - add [address],ebx - sub [address],50 - pop ebx - cmp [PCI_Vendor],ax - jz ex - add [valor],52 ; Number of characters plus value (WORD) 50+2 bytes - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next1 - inc [r] - jmp rep1 -;------------------------------------------------------------------------------- -next1: - cmp [PCI_Vendor],5320 - jae next2 - mov [listcount],255 ; number of available lists into this range - mov [r],1 - mov [valor],50 - rep2: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[_SECONDPART+bx] - mov [address],_SECONDPART - add [address],ebx - sub [address],50 - pop ebx - cmp [PCI_Vendor],ax - jz ex - add [valor],52 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next2 - inc [r] - jmp rep2 -;------------------------------------------------------------------------------- -next2: - cmp [PCI_Vendor],5580 - jae next3 - mov [listcount],255 ; number of available lists into this range - mov [r],1 - mov [valor],50 - rep3: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[_THIRDPART+bx] - mov [address],_THIRDPART - add [address],ebx - sub [address],50 - pop ebx - cmp [PCI_Vendor],ax - jz ex - add [valor],52 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next3 - inc [r] - jmp rep3 -;------------------------------------------------------------------------------- -next3: - cmp [PCI_Vendor],65535 ;the last in a WORD - jae next4 - mov [listcount],100 ; number of available lists into this range - mov [r],1 - mov [valor],50 - rep4: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[_FOURTHPART+bx] - mov [address],_FOURTHPART - add [address],ebx - sub [address],50 - pop ebx - cmp [PCI_Vendor],ax - jz ex - add [valor],52 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next4 - inc [r] - jmp rep4 -;------------------------------------------------------------------------------- -next4: - -;------------------------------------------------------------------------------- -; tHIS PART FOR OTHER ... LISTS - mov [listcount],7 ; number of available lists into this range - mov [r],1 - mov [valor],50 - repO: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[PREVIOUSVERSIONLIST+bx] - mov [address],PREVIOUSVERSIONLIST - add [address],ebx - sub [address],50 - pop ebx - cmp [PCI_Vendor],ax - jz ex - add [valor],52 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next5 - inc [r] - jmp repO -;------------------------------------------------------------------------------- -next5: - mov [address],_UNKNOWN -;------------------------------------------------------------------------------- - ex: -; lets print the vendor Name - - mov eax,4 - mov edx,[address] - mov esi,50 - int 0x40 -;------------------------------------------------------------------------------- -; END OF SEARCHING AND PRINTING -;------------------------------------------------------------------ - - ; mov esi, 26 ;length of text - ; mov bx, 560 ;X-position of text on screen - ; shl ebx, 16 ; - ; mov bx, [cur] ;Current Y position - ; mov ecx, 0 ;color of text - - - ; xor eax, eax ;calculate pointer to string - ; mov al, [PCI_Class] ;Determine Description based on class - ; mov dl, 26 ;Each description is 26 characters long - ; mul dl ;get offset to correct description - ; mov edx, Descriptions ;starting point of description text - ; add edx, eax ;calculated corresponding description - ; mov eax, 4 ;draw text sys function - ; int 0x40 - - cmp [PCI_Class], 00h - je sub0 - cmp [PCI_Class], 01h - je sub1 - cmp [PCI_Class], 02h - je sub2 - cmp [PCI_Class], 03h - je sub3 - cmp [PCI_Class], 04h - je sub4 - cmp [PCI_Class], 05h - je sub5 - cmp [PCI_Class], 06h - je sub6 - cmp [PCI_Class], 07h - je sub7 - cmp [PCI_Class], 08h - je sub8 - cmp [PCI_Class], 09h - je sub9 - cmp [PCI_Class], 0Ah - je sub10 - cmp [PCI_Class], 0Bh - je sub11 - cmp [PCI_Class], 0Ch - je sub12 - cmp [PCI_Class], 0Dh - je sub13 - cmp [PCI_Class], 0Eh - je sub14 - cmp [PCI_Class], 0Fh - je sub15 - cmp [PCI_Class], 10h - je sub16 - cmp [PCI_Class], 11h - je sub17 - jmp endd - -sub0: - mov [listcount],2 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu0: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class0+bx] - mov [address],Class0 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu0 - -jmp endd - -sub1: - mov [listcount],8 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu1: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class1+bx] - mov [address],Class1 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu1 -jmp endd - - -sub2: - mov [listcount],8 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu2: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class2+bx] - mov [address],Class2 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu2 -jmp endd - -sub3: - mov [listcount],4 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu3: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class3+bx] - mov [address],Class3 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu3 -jmp endd - - -sub4: - mov [listcount],4 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu4: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class4+bx] - mov [address],Class4 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu4 -jmp endd - -sub5: - mov [listcount],3 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu5: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class5+bx] - mov [address],Class5 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu5 -jmp endd - -sub6: - mov [listcount],12 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu6: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class6+bx] - mov [address],Class6 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu6 -jmp endd - -sub7: - mov [listcount],7 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu7: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class7+bx] - mov [address],Class7 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu7 -jmp endd - -sub8: - mov [listcount],8 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu8: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class8+bx] - mov [address],Class8 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu8 -jmp endd - -sub9: - mov [listcount],6 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu9: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class9+bx] - mov [address],Class9 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu9 -jmp endd - -sub10: - mov [listcount],2 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu10: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[ClassA+bx] - mov [address],ClassA - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu10 -jmp endd - -sub11: - mov [listcount],7 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu11: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[ClassB+bx] - mov [address],ClassB - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu11 -jmp endd - -sub12: - mov [listcount],10 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu12: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[ClassC+bx] - mov [address],ClassC - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu12 -jmp endd - -sub13: - mov [listcount],8 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu13: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[ClassD+bx] - mov [address],ClassD - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu13 -jmp endd - -sub14: - mov [listcount],1 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu14: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[ClassE+bx] - mov [address],ClassE - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu14 -jmp endd - -sub15: - mov [listcount],4 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu15: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[ClassF+bx] - mov [address],ClassF - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu15 -jmp endd - -sub16: - mov [listcount],3 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu16: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class10+bx] - mov [address],Class10 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu16 -jmp endd - -sub17: - mov [listcount],5 ; number of available lists into this range - mov [r],1 - mov [valor],32 - repu17: - push ebx - xor ebx,ebx - mov bx,[valor] - mov ax,word[Class11+bx] - mov [address],Class11 - add [address],ebx - sub [address],32 - pop ebx - cmp word [PCI_SubClass],ax - jz endd - add [valor],34 - push eax - mov ah,[r] - cmp [listcount],ah - pop eax - jz next50 - inc [r] - jmp repu17 -jmp endd - -next50: - mov [address],_UNKNOWND - -endd: - - xor eax, eax - xor ebx, ebx - xor ecx, ecx - xor edx, edx - - mov bx, 560 ;X-position of text on screen - shl ebx, 16 ; - mov bx, [cur] ;Current Y position - mov ecx, 0 ;color of text - - mov eax,4 - mov edx,[address] - mov esi,32 - int 0x40 - - mov dx, 20 ;Starting Y coordinate - shl edx, 16 ; - pop dx ; - add edx, 10 ;Next line down - -ret - - - -; DATA AREA - -labelt: - db 'PCI Device Enumeration v 1.25 by J. Delozier, S. Kuzmin and V. Hanla' -labellen: - -PCIWin: -db 'Please remember to enable PCI Access to Applications in Setup Menu. ' -db ' ' -db 'PCI Version = ' -db 'Last PCI Bus = ' -db 'Quantity of devices = ' -db ' ' -db 'VenID DevID Bus# Dev# Rev Class Subclass Company Description ' -db '----- ----- ---- ---- --- ----- -------- ------------------------------------------ ----------------' -db 'x' - -valor dw ? -r db ? -cur dw ? -total db ? -address dd ? -listcount db ? -V_Bus db 0 -V_Dev db 0 -PCI_Version dw 0 -PCI_LastBus db 0 -PCI_Device dw 0 -PCI_Vendor dw 0 -PCI_Bus db 0 -PCI_Dev db 0 -PCI_Rev db 0 -PCI_Class db 0 -PCI_SubClass db 0 - -I_END: