/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,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,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: |
jmp 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 |
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,7 → 211,31 |
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,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 |