Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 131 → Rev 132

/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
/programs/games/life/trunk/life.asm
3,19 → 3,20
;
; 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
 
23,11 → 24,11
dd 0x01 ; header version
dd START ; start of code
dd I_END ; size of image
dd 0xc1000 ; memory for app
dd 0xc1000 ; esp
dd 0x100000 ; memory for app
dd 0x100000 ; esp
dd 0x0 , 0x0 ; I_Param , I_Icon
include 'ascl.inc'
 
;include "DEBUG.INC"
macro setcell x,y { mov [esi + 512*(y)*3 + (x)*3], al }
 
START:
42,89 → 43,55
; 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
setcell 70,120
setcell 71,120
setcell 70,121
setcell 69,121
setcell 70,122
 
mov eax, 40
mov ebx, 100101b
int 0x40
 
call draw_window
 
still:
;Random generation dots
 
; mov eax, 23 ; wait here for event
; mov ebx, 5
; int 0x40
mov eax, 11
int 0x40
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
 
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
still:
 
timeevent 5,nokey,red,key,button ;Wait EVENT with 5 fps
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
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
 
mov esi, I_END + 512*3
 
mov al, 0xFF
187,7 → 154,6
 
; copy new generation across
 
 
mov ecx, 512*512*3
mov esi, I_END+1
mov edi, I_END
199,10 → 165,10
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
 
209,46 → 175,16
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:
/programs/media/jpegview/trunk/jpegview.asm
36,6 → 36,7
include 'lang.inc'
stack_size=4096 + 1024
 
include 'macros.inc'
 
START: ; start of execution
 
141,31 → 142,8
;******************************************************************************
 
 
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
/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
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
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
; ⥯¥àì ¢ ecx ­®¬¥à ¯à®æ¥áá 
mov [process],ecx
 
cmp [tmp_param],0xdeadbeef
jne @f
jmp kopen
@@:
 
call draw_window
 
still:
195,7 → 191,7
 
getappinfo:
mov eax,9
mov ebx,I_END
mov ebx,process_info
int 0x40
ret
 
206,7 → 202,7
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,6 → 211,30
mov eax,58
mov ebx,fileinfo
int 0x40
@@:
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
 
 
384,8 → 404,8
 
 
draw_window:
or [bWasDraw],1
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
int 0x40
392,8 → 412,12
 
; 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
eos dd 0
process dd 0
 
bWasDraw db 0
 
thread1: ; start of thread1
 
call draw_window1
624,7 → 650,7
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
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
vflag: db 'x'
bgrmode: dd 1
 
wnd_width dd 210
wnd_height dd 53
 
lsz labelt3,\
en, 'Background set',\
ru, "“áâ ­®¢ª  ä®­ "
990,7 → 1020,7
 
 
IM_END:
process_info:
temp_area:
rb 0x10000
I_END:
process_info:
/programs/network/rccc/trunk/rccc.asm
268,6 → 268,7
 
 
text:
if lang eq ru
db ' ‚६ï á¥à¢¥à : '
db ' '
db ' Œ¥­î ã¯à ¢«¥­¨ï á¥à¢¥à®¬: '
282,8 → 283,25
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
connect db 'C'
 
I_END:
 
 
 
 
 
 
/programs/network/rccs/trunk/rccs.asm
117,7 → 117,7
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
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
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
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
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
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
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
add ebx,[y]
mov ecx,0x000000
mov edx,inp_com
mov esi,22
mov esi,inp_com.len
int 0x40
add [y],10
 
303,12 → 303,18
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
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:
/programs/system/icon/trunk/icon.asm
26,8 → 26,8
dd icon_data+0x30000 ; memory for app
dd icon_data+0x30000 ; esp
dd I_Param , 0x0 ; I_Param , I_Icon
include 'lang.inc'
include 'macros.inc'
include 'lang.inc'
COLOR_ORDER equ MENUETOS
include 'gif_lite.inc'
;include 'debug.inc'
801,7 → 801,7
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
 
;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
/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,10 → 22,12
 
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
int 0x40
/programs/system/pcidev/trunk/pcidev.asm
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/system/pcidev/trunk/vendors.inc
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/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 <cordata51@hotmail.com>
;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 <kuzmin_serg@list.ru>
;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 <cordata51@hotmail.com>
;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 <kuzmin_serg@list.ru>
;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 <vhanla@gmail.com>
;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 <kuzmin_serg@list.ru>
;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:
/programs/system/pcidev/trunk/VENDORS.INC
0,0 → 1,2007
; AUTHOR: Victor Alberto Gil Hancco Laquita <vhanla@gmail.com>
; 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
/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 <eax,ebx,ecx,edx,esi,edi,ebp,esp>
 
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