data for build system
git-svn-id: svn://kolibrios.org@1737 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
f697508f53
commit
f28b4ac95f
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
Binary file not shown.
|
@ -0,0 +1,41 @@
|
|||
[Associations]
|
||||
rtf=/sys/htmlv
|
||||
asm=TinyPad
|
||||
inc=TinyPad
|
||||
ini=TinyPad
|
||||
txt=TinyPad
|
||||
gif=/sys/media/kiv
|
||||
bmp=/sys/media/kiv
|
||||
png=/sys/media/kiv
|
||||
tga=/sys/media/kiv
|
||||
jpg=/sys/media/kiv
|
||||
jpeg=/sys/media/kiv
|
||||
ico=/sys/media/kiv
|
||||
cur=/sys/media/kiv
|
||||
pcx=/sys/media/kiv
|
||||
3ds=/sys/3d/view3ds
|
||||
lif=/sys/demos/life2
|
||||
skn=/sys/desktop
|
||||
htm=/sys/HTMLv
|
||||
html=/sys/HTMLv
|
||||
rtf=/sys/RtfRead
|
||||
obj=/sys/develop/cObj
|
||||
sna=/sys/e80
|
||||
nes=/sys/games/fceu
|
||||
xm=/sys/media/AC97SND
|
||||
wav=/sys/media/AC97SND
|
||||
mp3=/sys/media/AC97SND
|
||||
mid=/sys/media/MIDAMP
|
||||
m3u=/sys/media/listplay
|
||||
lap=/sys/media/listplay
|
||||
asf=/sys/media/listplay
|
||||
mht=/sys/htmlv
|
||||
|
||||
|
||||
[Config]
|
||||
;åñëè ïîñòàâèòü 1 âìåñòî êíîïîê áóäåò ñòðîêà àäðåñà
|
||||
ShowEditBoxPath=0
|
||||
;öâåò âûäåëåíîãî ýëåìåíòà è âûäåëåíèå åäèòáîêñà
|
||||
;ïî-óìîë÷àíèþ 94AECE, äëÿ òåñòà FEA4B7,8BCDFF,B8C9B8
|
||||
BorderColor=94AECE
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
|
@ -0,0 +1,141 @@
|
|||
asm=4
|
||||
inc=4
|
||||
txt=3
|
||||
rtf=3
|
||||
ini=3
|
||||
log=3
|
||||
dic=3
|
||||
doc=3
|
||||
exc=3
|
||||
wtx=3
|
||||
inf=3
|
||||
xml=3
|
||||
odt=3
|
||||
jpg=6
|
||||
jpe=6
|
||||
jpeg=6
|
||||
jif=6
|
||||
jfif=6
|
||||
jp2=6
|
||||
jpx=6
|
||||
jpk=6
|
||||
j2k=6
|
||||
jpc=6
|
||||
j2c=6
|
||||
bmp=6
|
||||
dib=6
|
||||
rle=6
|
||||
pbm=6
|
||||
wbm=6
|
||||
wbmp=6
|
||||
xbm=6
|
||||
xpm=6
|
||||
gif=6
|
||||
png=6
|
||||
ico=6
|
||||
cur=6
|
||||
ani=6
|
||||
tif=6
|
||||
tiff=6
|
||||
xif=6
|
||||
tga=6
|
||||
pcx=6
|
||||
dcx=6
|
||||
ppm=6
|
||||
psd=6
|
||||
psp=6
|
||||
raw=6
|
||||
raf=6
|
||||
x3f=6
|
||||
orf=6
|
||||
nef=6
|
||||
mrw=6
|
||||
dcr=6
|
||||
crw=6
|
||||
cr2=6
|
||||
ras=6
|
||||
pix=6
|
||||
pict=6
|
||||
pct=6
|
||||
pic=6
|
||||
pgm=6
|
||||
pef=6
|
||||
pcd=6
|
||||
iff=6
|
||||
lbm=6
|
||||
ilbm=6
|
||||
fpx=6
|
||||
djv=6
|
||||
djvu=6
|
||||
iw4=6
|
||||
wav=7
|
||||
mp3=7
|
||||
xm=7
|
||||
mid=7
|
||||
midi=7
|
||||
aif=7
|
||||
aifc=7
|
||||
aiff=7
|
||||
au=7
|
||||
snd=7
|
||||
wma=7
|
||||
wm=7
|
||||
avi=11
|
||||
mpg=11
|
||||
mpe=11
|
||||
mpeg=11
|
||||
flv=11
|
||||
3gp=11
|
||||
mkv=11
|
||||
wmv=11
|
||||
mov=11
|
||||
mp4=11
|
||||
img=5
|
||||
ima=5
|
||||
imz=5
|
||||
bwz=5
|
||||
dsk=5
|
||||
vfd=5
|
||||
wil=5
|
||||
wlz=5
|
||||
exe=8
|
||||
com=8
|
||||
bat=8
|
||||
7z=9
|
||||
rar=9
|
||||
zip=9
|
||||
cab=9
|
||||
arj=9
|
||||
lha=9
|
||||
lzh=9
|
||||
tar=9
|
||||
taz=9
|
||||
tbz=9
|
||||
tbz2=9
|
||||
bz=9
|
||||
bz2=9
|
||||
ice=9
|
||||
gz=9
|
||||
tgz=9
|
||||
uue=9
|
||||
uu=9
|
||||
xxe=9
|
||||
z=9
|
||||
dat=10
|
||||
ttf=12
|
||||
ttc=12
|
||||
chr=12
|
||||
mt=12
|
||||
htm=13
|
||||
html=13
|
||||
mht=13
|
||||
eml=13
|
||||
lif=14
|
||||
3ds=15
|
||||
kex=16
|
||||
skn=17
|
||||
obj=18
|
||||
dll=18
|
||||
ocx=18
|
||||
so=18
|
||||
drv=18
|
|
@ -0,0 +1,70 @@
|
|||
[Associations]
|
||||
asm=/sys/TinyPad; AsmMenu1,AsmMenu2
|
||||
inc=/sys/TinyPad
|
||||
ini=/sys/TinyPad
|
||||
txt=/sys/TinyPad
|
||||
jpg=/sys/media/kiv
|
||||
jpeg=/sys/media/kiv
|
||||
gif=/sys/media/kiv; ViewGraph,MenuAnimage
|
||||
wav=/sys/media/AC97SND
|
||||
mp3=/sys/media/AC97SND
|
||||
xm=/sys/media/AC97SND
|
||||
mid=/sys/media/MIDAMP
|
||||
bmp=/sys/media/kiv; ViewGraph,MenuAnimage
|
||||
png=/sys/media/kiv
|
||||
ico=/sys/media/kiv
|
||||
cur=/sys/media/kiv
|
||||
pcx=/sys/media/kiv
|
||||
rtf=/sys/RtfRead
|
||||
3ds=/sys/3d/view3ds
|
||||
lif=/sys/demos/life2
|
||||
skn=/sys/desktop
|
||||
m3u=/sys/media/listplay
|
||||
lap=/sys/media/listplay
|
||||
asf=/sys/media/listplay
|
||||
cvs=/sys/graph
|
||||
obj=/sys/develop/cObj
|
||||
nes=/sys/fceu
|
||||
sna=/sys/e80
|
||||
htm=/sys/HTMLv
|
||||
html=/sys/HTMLv
|
||||
|
||||
[Menu]
|
||||
AsmMenu1=&Edit,/sys/TinyPad
|
||||
AsmMenu2=&Compile,/sys/develop/fasm
|
||||
ViewGraph=&View,/sys/media/kiv
|
||||
MenuAnimage=&Edit,/sys/media/animage
|
||||
|
||||
[Panels]
|
||||
; View modes for files on panels
|
||||
; values correspond to digits for LCtrl+<1-4>
|
||||
LeftViewMode=2
|
||||
RightViewMode=2
|
||||
; Sort modes for files on panels
|
||||
; values are 2 * N + M, where
|
||||
; M = 0 - normal sorting, M = 1 - reverse sorting
|
||||
; N = 0-6 correspond to sort mode for Ctrl+F<3-9>
|
||||
LeftSortMode=0
|
||||
RightSortMode=0
|
||||
|
||||
[Editor]
|
||||
; Symbols for end-of-line, which will be added by kfar editor
|
||||
; when new line will be created:
|
||||
; DOS - like in DOS/Win (0D 0A), Unix - like in Unix (0A),
|
||||
; Mac - like in Mac (0D)
|
||||
EOLStyle=Unix
|
||||
|
||||
[FolderShortcuts]
|
||||
; You can define up to 10 links to folders Shortcut0...Shortcut9,
|
||||
; the quick jump to such folders can be done with RCtrl+<digit>
|
||||
Shortcut0=/rd/1
|
||||
|
||||
[Confirmations]
|
||||
Delete=1
|
||||
DeleteIncomplete=0
|
||||
|
||||
[Plugins]
|
||||
; On left of the equal sign any sensical or nonsensical name can appear;
|
||||
; on right - path to plugin.
|
||||
; If path is not absolute, it is counted from the folder with kfar binary.
|
||||
ArchiveReader=/sys/lib/archiver.obj
|
Binary file not shown.
|
@ -0,0 +1,171 @@
|
|||
start
|
||||
<>icons_associations
|
||||
asm 0004
|
||||
inc 0004
|
||||
txt 0003
|
||||
rtf 0003
|
||||
ini 0003
|
||||
log 0003
|
||||
dic 0003
|
||||
doc 0003
|
||||
exc 0003
|
||||
wtx 0003
|
||||
inf 0003
|
||||
jpg 0006
|
||||
jpe 0006
|
||||
jpeg 0006
|
||||
jif 0006
|
||||
jfif 0006
|
||||
jp2 0006
|
||||
jpx 0006
|
||||
jpk 0006
|
||||
j2k 0006
|
||||
jpc 0006
|
||||
j2c 0006
|
||||
bmp 0006
|
||||
dib 0006
|
||||
rle 0006
|
||||
pbm 0006
|
||||
wbm 0006
|
||||
wbmp 0006
|
||||
xbm 0006
|
||||
xpm 0006
|
||||
gif 0006
|
||||
png 0006
|
||||
ico 0006
|
||||
cur 0006
|
||||
ani 0006
|
||||
tif 0006
|
||||
tiff 0006
|
||||
xif 0006
|
||||
tga 0006
|
||||
pcx 0006
|
||||
dcx 0006
|
||||
ppm 0006
|
||||
psd 0006
|
||||
psp 0006
|
||||
raw 0006
|
||||
raf 0006
|
||||
x3f 0006
|
||||
orf 0006
|
||||
nef 0006
|
||||
mrw 0006
|
||||
dcr 0006
|
||||
crw 0006
|
||||
cr2 0006
|
||||
ras 0006
|
||||
pix 0006
|
||||
pict 0006
|
||||
pct 0006
|
||||
pic 0006
|
||||
pgm 0006
|
||||
pef 0006
|
||||
pcd 0006
|
||||
iff 0006
|
||||
lbm 0006
|
||||
ilbm 0006
|
||||
fpx 0006
|
||||
djv 0006
|
||||
djvu 0006
|
||||
iw4 0006
|
||||
wav 0007
|
||||
mp3 0007
|
||||
xm 0007
|
||||
mid 0007
|
||||
midi 0007
|
||||
aif 0007
|
||||
aifc 0007
|
||||
aiff 0007
|
||||
au 0007
|
||||
snd 0007
|
||||
wma 0007
|
||||
wm 0007
|
||||
avi 0011
|
||||
mpg 0011
|
||||
img 0005
|
||||
ima 0005
|
||||
imz 0005
|
||||
bwz 0005
|
||||
dsk 0005
|
||||
vfd 0005
|
||||
wil 0005
|
||||
wlz 0005
|
||||
exe 0008
|
||||
com 0008
|
||||
bat 0008
|
||||
7z 0009
|
||||
rar 0009
|
||||
zip 0009
|
||||
cab 0009
|
||||
arj 0009
|
||||
lha 0009
|
||||
lzh 0009
|
||||
tar 0009
|
||||
taz 0009
|
||||
tbz 0009
|
||||
tbz2 0009
|
||||
bz 0009
|
||||
bz2 0009
|
||||
ice 0009
|
||||
gz 0009
|
||||
tgz 0009
|
||||
uue 0009
|
||||
uu 0009
|
||||
xxe 0009
|
||||
z 0009
|
||||
dat 0010
|
||||
ttf 0012
|
||||
ttc 0012
|
||||
chr 0012
|
||||
mt 0012
|
||||
htm 0013
|
||||
html 0013
|
||||
lif 0014
|
||||
3ds 0015
|
||||
kex 0016
|
||||
skn 0017
|
||||
<>end
|
||||
|
||||
<>files_associations
|
||||
asm /sys/tinypad
|
||||
inc /sys/tinypad
|
||||
txt /sys/tinypad
|
||||
ini /sys/tinypad
|
||||
log /sys/tinypad
|
||||
dat /sys/tinypad
|
||||
inf /sys/tinypad
|
||||
bat /sys/tinypad
|
||||
jpg /sys/media/kiv
|
||||
jpeg /sys/media/kiv
|
||||
jpe /sys/media/kiv
|
||||
gif /sys/media/kiv
|
||||
wav /sys/media/ac97snd
|
||||
mp3 /sys/media/ac97snd
|
||||
xm /sys/media/ac97snd
|
||||
mid /sys/media/midamp
|
||||
bmp /sys/media/kiv
|
||||
png /sys/media/kiv
|
||||
ico /sys/media/kiv
|
||||
cur /sys/media/kiv
|
||||
pcx /sys/media/kiv
|
||||
rtf /sys/rtfread
|
||||
3ds /sys/3d/view3ds
|
||||
lif /sys/demos/life2
|
||||
skn /sys/desktop
|
||||
avi /sys/kvid.kex
|
||||
m3u /sys/media/listplay
|
||||
lap /sys/media/listplay
|
||||
asf /sys/media/listplay
|
||||
cvs /sys/graph
|
||||
obj /sys/develop/cObj
|
||||
nes /sys/fceu
|
||||
sna /sys/e80
|
||||
htm /sys/HTMLv
|
||||
html /sys/HTMLv
|
||||
<>end
|
||||
|
||||
<>files_association1
|
||||
bmp /sys/media/animage
|
||||
<>end
|
||||
|
||||
end
|
|
@ -0,0 +1,42 @@
|
|||
Controlling keyboard shortcuts in KFM - Kolibri File Manager v0.45f.
|
||||
|
||||
In panels:
|
||||
1) Cursor update on the active panel:
|
||||
a) Up arrow and downwards (including keyboards, located in an additional part,) - cursor update on one position upwards or downwards. á) PageUp - page paging upwards.
|
||||
b) PageDown - page paging downwards.
|
||||
c) Home - in a beginning of the directory with files.
|
||||
d) End - in the end of the directory with files.
|
||||
2) Tab - change of the active panel.
|
||||
3) Enter - operation with the file on which position there is a selection cursor: à) an input(entrance) in a folder.
|
||||
a) Start of the program.
|
||||
b) To open the file in the registered application, according to a contents of the file kfm.ini, unit " < > files associations ".
|
||||
4) Alt+F1 - call of the menu of choice of the disk displayed on the left panel.
|
||||
5) Alt+F2 - call of the menu of choice of the disk displayed on the right panel.
|
||||
6) Sorting files in the active panel:
|
||||
a) Ctrl+F3 - sorting according names.
|
||||
b) Ctrl+F4 - sorting according extensions.
|
||||
c) Ctrl+F5 - sorting according a size.
|
||||
d) Ctrl+F6 - sorting by date of modification.
|
||||
7) Ctrl+R - repeated loading of contents of the directory in the active panel.
|
||||
8) Delete and F8 - the deleting of the file on which is the cursor.
|
||||
9) Insert - the selection by red colour of the file on which is the cursor and cursor update on 1 position downwards.
|
||||
10) F4 - to open the file for editing in the registered application, according to a contents of the file kfm.ini, unit " < > files association1 ".
|
||||
11) F7 - creation of the directory in the active panel.
|
||||
12) F5 - copying file from the active panel in opposite.
|
||||
13) F6 - moving of the file from the active panel in opposite.
|
||||
14) Ctrl+A and Ctrl + (NumPad (+) Up) - selection of all files and directories in the active panel, except for the directory '..'
|
||||
15) Ctrl + (NumPad (-) Up) - to deselect of all files and directories in the active panel, except for the directory '..'
|
||||
16) Ctrl + (NumPad (*) Up) - to invert selection of all files and directories in the active panel, except for the directory '..'
|
||||
17) F12 - program termination.
|
||||
18) F1 - help, hot shortcut keys. The presence of the file kfm_keys.txt in the directory is required where the application is located.
|
||||
19) Open file in other application with parameter:
|
||||
à) Shift + W - set background, mode: tile.
|
||||
á) Ctrl + W - set background, mode: stretch.
|
||||
|
||||
In the menu of choice of the disk:
|
||||
1) Up arrow and down arrow (including keys, located in an additional part of keyboard) - cursor update on one position upwards or downwards.
|
||||
2) Enter - the choice of the disk on which position is a selection cursor.
|
||||
3) Home and PageUp - cursor in a beginning of the list
|
||||
4) End and PageDown - cursor in the end of the list.
|
||||
5) Insert - load tray of selected ATAPI device.
|
||||
6) Delete - eject tray of selected ATAPI device.
|
|
@ -0,0 +1,367 @@
|
|||
# General rule for naming: variables with CAPITALIZED names hold settings,
|
||||
# you can - and are expected - to modify it; variables with lowercase names
|
||||
# are intermediate variables and macroses not to be modified unless you
|
||||
# know what you're doing.
|
||||
|
||||
# Define directories for destination, source repository, sources of kernel, sources of programs.
|
||||
BUILD_DIR:=build
|
||||
REPOSITORY:=../localcopy
|
||||
KERNEL:=$(REPOSITORY)/kernel/trunk
|
||||
PROGS:=$(REPOSITORY)/programs
|
||||
|
||||
# Docpak requires some documents; we place them
|
||||
# into 'docs' subdir and communicate with FASM
|
||||
# through environment var DOCDIR.
|
||||
DOCDIR:=docs/
|
||||
export DOCDIR
|
||||
|
||||
# Because most programs are written in FASM and have
|
||||
# the common structure of one main .asm file possibly including
|
||||
# several .inc files, we handle this case separately.
|
||||
# Namely, we organize one big list of such programs
|
||||
# (FASM_PROGRAMS, see below) containing name of local binary file,
|
||||
# name of file inside kolibri.img and name of the source file.
|
||||
# This list is maintained by hand, and the rest is done with some macroses...
|
||||
# well, slightly complicated macroses - however, you do not need to
|
||||
# understand them in order to maintain the list.
|
||||
# To add a FASM program with one .asm file, just
|
||||
# add the corresponding item to the list and enjoy
|
||||
# the power of GNU make.
|
||||
|
||||
# The list of all FASM programs with one main FASM file.
|
||||
# Every item consists of three parts, separated by ':'.
|
||||
# First part is the real name of binary file in $(BUILD_DIR)
|
||||
# as it should be produced by make.
|
||||
# Second part is the name of a file inside kolibri.img,
|
||||
# usually uppercased version of first part - to save space
|
||||
# for FAT filesystem.
|
||||
# Third part is the name of the source file.
|
||||
# Spaces separate items, so spaces in names should be
|
||||
# represented as '|'.
|
||||
FASM_PROGRAMS:=\
|
||||
@clip:@CLIP:$(PROGS)/system/clip/trunk/@clip.ASM \
|
||||
@menu:@MENU:$(PROGS)/system/menu/trunk/menu.asm \
|
||||
@panel:@PANEL:$(PROGS)/system/panel/trunk/@PANEL.ASM \
|
||||
@rb:@RB:$(PROGS)/system/rb/trunk/@RB.ASM \
|
||||
@ss:@SS:$(PROGS)/system/ss/trunk/@SS.ASM \
|
||||
calc:CALC:$(PROGS)/other/calc/trunk/calc.asm \
|
||||
calendar:CALENDAR:$(PROGS)/system/calendar/trunk/calendar.asm \
|
||||
commouse:COMMOUSE:$(PROGS)/system/commouse/trunk/commouse.asm \
|
||||
copyr:COPYR:$(PROGS)/fs/copyr/trunk/copyr.asm \
|
||||
cpu:CPU:$(PROGS)/system/cpu/trunk/cpu.asm \
|
||||
cpuid:CPUID:$(PROGS)/system/cpuid/trunk/CPUID.ASM \
|
||||
desktop:DESKTOP:$(PROGS)/system/desktop/trunk/desktop.asm \
|
||||
disptest:DISPTEST:$(PROGS)/system/disptest/trunk/disptest.ASM \
|
||||
docpak:DOCPAK:$(PROGS)/system/docpack/trunk/docpack.asm \
|
||||
downloader:downloader:$(PROGS)/network/downloader/trunk/downloader.asm \
|
||||
end:END:$(PROGS)/system/end/trunk/end.asm \
|
||||
gmon:GMON:$(PROGS)/system/gmon/gmon.asm \
|
||||
hdd_info:HDD_INFO:$(PROGS)/system/hdd_info/trunk/hdd_info.asm \
|
||||
icon:ICON:$(PROGS)/system/icon/trunk/icon.asm \
|
||||
kbd:KBD:$(PROGS)/system/kbd/trunk/kbd.ASM \
|
||||
launcher:LAUNCHER:$(PROGS)/system/launcher/trunk/launcher.asm \
|
||||
magnify:MAGNIFY:$(PROGS)/demos/magnify/trunk/magnify.asm \
|
||||
mgb:MGB:$(PROGS)/system/mgb/trunk/mgb.asm \
|
||||
mousemul:MOUSEMUL:$(PROGS)/system/mousemul/trunk/mousemul.asm \
|
||||
pcidev:PCIDEV:$(PROGS)/system/pcidev/trunk/PCIDEV.ASM \
|
||||
period:PERIOD:$(PROGS)/other/period/trunk/period.asm \
|
||||
pic4:PIC4:$(PROGS)/media/pic4/trunk/pic4.asm \
|
||||
rdsave:RDSAVE:$(PROGS)/system/rdsave/trunk/rdsave.asm \
|
||||
rtfread:RTFREAD:$(PROGS)/other/rtfread/trunk/rtfread.asm \
|
||||
run:RUN:$(PROGS)/system/run/trunk/run.asm \
|
||||
scrshoot:SCRSHOOT:$(PROGS)/media/scrshoot/scrshoot.asm \
|
||||
setup:SETUP:$(PROGS)/system/setup/trunk/setup.asm \
|
||||
tinypad:TINYPAD:$(PROGS)/develop/tinypad/trunk/tinypad.asm \
|
||||
vrr:VRR:$(PROGS)/system/vrr/trunk/vrr.asm \
|
||||
vrr_m:VRR_M:$(PROGS)/system/vrr_m/trunk/vrr_m.asm \
|
||||
zkey:ZKEY:$(PROGS)/system/zkey/trunk/ZKEY.ASM \
|
||||
3d/3dcube2:3D/3DCUBE2:$(PROGS)/demos/3dcube2/trunk/3DCUBE2.ASM \
|
||||
3d/3dtcub10:3D/3DTCUB10:$(PROGS)/demos/3dtcub10/trunk/3DTCUB10.ASM \
|
||||
3d/crownscr:3D/CROWNSCR:$(PROGS)/demos/crownscr/trunk/crownscr.asm \
|
||||
3d/free3d04:3D/FREE3D04:$(PROGS)/demos/free3d04/trunk/free3d04.asm \
|
||||
3d/view3ds:3D/VIEW3DS:$(PROGS)/demos/3DS/VIEW3DS.ASM \
|
||||
demos/bcdclk:DEMOS/BCDCLK:$(PROGS)/demos/bcdclk/bcdclk/bcdclk.asm \
|
||||
demos/circle:DEMOS/CIRCLE:$(PROGS)/develop/examples/circle/trunk/circle.asm \
|
||||
demos/colorref:DEMOS/COLORREF:$(PROGS)/demos/colorref/trunk/colorref.asm \
|
||||
demos/cslide:DEMOS/CSLIDE:$(PROGS)/demos/cslide/trunk/cslide.asm \
|
||||
demos/eyes:DEMOS/EYES:$(PROGS)/demos/eyes/trunk/eyes.asm \
|
||||
demos/fire:DEMOS/FIRE:$(PROGS)/demos/fire/trunk/fire.asm \
|
||||
demos/firework:DEMOS/FIREWORK:$(PROGS)/demos/firework/trunk/firework.asm \
|
||||
demos/movback:DEMOS/MOVBACK:$(PROGS)/demos/movback/trunk/movback.asm \
|
||||
demos/plasma:DEMOS/PLASMA:$(PROGS)/demos/plasma/trunk/plasma.asm \
|
||||
demos/timer:DEMOS/TIMER:$(PROGS)/demos/timer/trunk/timer.asm \
|
||||
demos/tinyfrac:DEMOS/TINYFRAC:$(PROGS)/demos/tinyfrac/trunk/tinyfrac.asm \
|
||||
demos/trantest:DEMOS/TRANTEST:$(PROGS)/demos/trantest/trunk/trantest.asm \
|
||||
demos/tube:DEMOS/TUBE:$(PROGS)/demos/tube/trunk/tube.asm \
|
||||
demos/unvwater:DEMOS/UNVWATER:$(PROGS)/demos/unvwater/trunk/unvwater.asm \
|
||||
develop/board:DEVELOP/BOARD:$(PROGS)/system/board/trunk/board.asm \
|
||||
develop/cObj:DEVELOP/cObj:$(PROGS)/develop/cObj/trunk/cObj.asm \
|
||||
develop/fasm:DEVELOP/FASM:$(PROGS)/develop/fasm/trunk/fasm.asm \
|
||||
develop/h2d2b:DEVELOP/H2D2B:$(PROGS)/develop/h2d2b/trunk/h2d2b.asm \
|
||||
develop/heed:DEVELOP/HEED:$(PROGS)/develop/heed/trunk/heed.asm \
|
||||
develop/ipc:DEVELOP/IPC:$(PROGS)/network/ipc/trunk/ipc.asm \
|
||||
develop/keyascii:DEVELOP/KEYASCII:$(PROGS)/develop/keyascii/trunk/keyascii.asm \
|
||||
develop/mtdbg:DEVELOP/MTDBG:$(PROGS)/develop/mtdbg/mtdbg.asm \
|
||||
develop/scancode:DEVELOP/SCANCODE:$(PROGS)/develop/scancode/trunk/scancode.asm \
|
||||
develop/test_gets:DEVELOP/test_gets:$(PROGS)/develop/libraries/console/examples/test_gets.asm \
|
||||
develop/testcon2:DEVELOP/TESTCON2:$(PROGS)/develop/libraries/console/examples/testcon2.asm \
|
||||
develop/thread:DEVELOP/THREAD:$(PROGS)/develop/examples/thread/trunk/thread.asm \
|
||||
drivers/atikms:DRIVERS/ATIKMS:$(REPOSITORY)/drivers/video/drm/radeon/atikms.asm \
|
||||
drivers/com_mouse.obj:DRIVERS/COM_MOUSE.OBJ:$(KERNEL)/drivers/com_mouse.asm \
|
||||
drivers/emu10k1x.obj:DRIVERS/EMU10K1X.OBJ:$(KERNEL)/drivers/emu10k1x.asm \
|
||||
drivers/fm801.obj:DRIVERS/FM801.OBJ:$(KERNEL)/drivers/fm801.asm \
|
||||
drivers/infinity.obj:DRIVERS/INFINITY.OBJ:$(KERNEL)/drivers/infinity.asm \
|
||||
drivers/ps2mouse.obj:DRIVERS/PS2MOUSE.OBJ:$(REPOSITORY)/drivers/mouse/ps2mouse4d/trunk/ps2mouse.asm \
|
||||
drivers/sb16.obj:DRIVERS/SB16.OBJ:$(KERNEL)/drivers/sb16/sb16.asm \
|
||||
drivers/sound.obj:DRIVERS/SOUND.OBJ:$(KERNEL)/drivers/sound.asm \
|
||||
drivers/vmode.mdr:DRIVERS/VMODE.MDR:$(KERNEL)/drivers/vmode.asm \
|
||||
drivers/vt8235.obj:DRIVERS/VT8235.OBJ:$(KERNEL)/drivers/vt823x.asm \
|
||||
File|Managers/kfar:File|Managers/KFAR:$(PROGS)/fs/kfar/trunk/kfar.asm \
|
||||
File|Managers/OpenDial:File|Managers/OPENDIAL:$(PROGS)/develop/libraries/box_lib/asm/trunk/OpenDial.asm \
|
||||
fonts/bgitest:FONTS/BGITEST:$(PROGS)/demos/bgitest/trunk/bgitest.asm \
|
||||
games/15:GAMES/15:$(PROGS)/games/15/trunk/15.ASM \
|
||||
games/arcanii:GAMES/ARCANII:$(PROGS)/games/arcanii/trunk/arcanii.asm \
|
||||
games/freecell:GAMES/FREECELL:$(PROGS)/games/freecell/freecell.ASM \
|
||||
games/invaders:GAMES/INVADERS:$(PROGS)/games/invaders/invaders.asm \
|
||||
games/lines:GAMES/LINES:$(PROGS)/games/lines/lines.asm \
|
||||
games/mblocks:GAMES/MBLOCKS:$(PROGS)/games/mblocks/trunk/mblocks.asm \
|
||||
games/phenix:GAMES/PHENIX:$(PROGS)/games/phenix/trunk/phenix.asm \
|
||||
games/pipes:GAMES/PIPES:$(PROGS)/games/pipes/pipes.asm \
|
||||
games/pong:GAMES/PONG:$(PROGS)/games/pong/trunk/pong.asm \
|
||||
games/pong3:GAMES/PONG3:$(PROGS)/games/pong3/trunk/pong3.asm \
|
||||
games/rsquare:GAMES/RSQUARE:$(PROGS)/games/rsquare/trunk/rsquare.asm \
|
||||
games/snake:GAMES/SNAKE:$(PROGS)/games/snake/trunk/snake.asm \
|
||||
games/tetris:GAMES/TETRIS:$(PROGS)/games/tetris/trunk/tetris.asm \
|
||||
lib/archiver.obj:LIB/ARCHIVER.OBJ:$(PROGS)/fs/kfar/trunk/kfar_arc/kfar_arc.asm \
|
||||
lib/box_lib.obj:LIB/BOX_LIB.OBJ:$(PROGS)/develop/libraries/box_lib/trunk/box_lib.asm \
|
||||
lib/console.obj:LIB/CONSOLE.OBJ:$(PROGS)/develop/libraries/console/console.asm \
|
||||
lib/libgfx.obj:LIB/LIBGFX.OBJ:$(PROGS)/develop/libraries/libs-dev/libgfx/libgfx.asm \
|
||||
lib/libimg.obj:LIB/LIBIMG.OBJ:$(PROGS)/develop/libraries/libs-dev/libimg/libimg.asm \
|
||||
lib/libini.obj:LIB/LIBINI.OBJ:$(PROGS)/develop/libraries/libs-dev/libini/libini.asm \
|
||||
lib/libio.obj:LIB/LIBIO.OBJ:$(PROGS)/develop/libraries/libs-dev/libio/libio.asm \
|
||||
lib/network.obj:LIB/NETWORK.OBJ:$(PROGS)/develop/libraries/network/network.asm \
|
||||
lib/proc_lib.obj:LIB/PROC_LIB.OBJ:$(PROGS)/develop/libraries/proc_lib/trunk/proc_lib.asm \
|
||||
media/animage:MEDIA/ANIMAGE:$(PROGS)/media/animage/trunk/animage.asm \
|
||||
media/cdp:MEDIA/CDP:$(PROGS)/media/cdp/trunk/cdp.asm \
|
||||
media/kiv:MEDIA/KIV:$(PROGS)/media/kiv/trunk/kiv.asm \
|
||||
media/midamp:MEDIA/MIDAMP:$(PROGS)/media/midamp/trunk/midamp.asm \
|
||||
network/airc:NETWORK/AIRC:$(PROGS)/network/airc/trunk/airc.asm \
|
||||
network/arpstat:NETWORK/ARPSTAT:$(PROGS)/network/arpstat/trunk/arpstat.asm \
|
||||
network/chess:NETWORK/CHESS:$(PROGS)/network/chess/trunk/chess.asm \
|
||||
network/ethstat:NETWORK/ETHSTAT:$(PROGS)/network/ethstat/trunk/ethstat.asm \
|
||||
network/ftps:NETWORK/FTPS:$(PROGS)/network/ftps/trunk/FTPS.ASM \
|
||||
network/httpc:NETWORK/HTTPC:$(PROGS)/network/httpc/trunk/httpc.asm \
|
||||
network/https:NETWORK/HTTPS:$(PROGS)/network/https/trunk/https.asm \
|
||||
network/nntpc:NETWORK/NNTPC:$(PROGS)/network/nntpc/trunk/nntpc.asm \
|
||||
network/nslookup:NETWORK/NSLOOKUP:$(PROGS)/develop/libraries/network/examples/nslookup.asm \
|
||||
network/popc:NETWORK/POPC:$(PROGS)/network/popc/trunk/popc.asm \
|
||||
network/smtps:NETWORK/SMTPS:$(PROGS)/network/smtps/trunk/smtps.asm \
|
||||
network/stackcfg:NETWORK/STACKCFG:$(PROGS)/network/stackcfg/trunk/stackcfg.asm \
|
||||
network/telnet:NETWORK/TELNET:$(PROGS)/network/telnet/trunk/telnet.asm \
|
||||
network/tftpc:NETWORK/TFTPC:$(PROGS)/network/tftpc/trunk/tftpc.asm \
|
||||
network/VNCclient:NETWORK/VNCclient:$(PROGS)/network/VNCclient/VNCclient.asm \
|
||||
network/ym:NETWORK/YM:$(PROGS)/network/ym/trunk/ym.asm \
|
||||
network/zeroconf:NETWORK/ZEROCONF:$(PROGS)/network/zeroconf/trunk/zeroconf.asm \
|
||||
# end of list
|
||||
|
||||
# The list of files which should be copied from somewhere.
|
||||
# Format of an item is exactly the same as in the previous list.
|
||||
COPY_FILES:=\
|
||||
macros.inc:MACROS.INC:$(PROGS)/macros.inc \
|
||||
config.inc:CONFIG.INC:$(PROGS)/config.inc \
|
||||
struct.inc:STRUCT.INC:$(PROGS)/struct.inc \
|
||||
File|Managers/z_icons.png:File|Managers/Z_ICONS.PNG:$(PROGS)/develop/libraries/box_lib/asm/trunk/z_icons.png \
|
||||
fonts/euro.chr:FONTS/EURO.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/EURO.CHR \
|
||||
fonts/goth.chr:FONTS/GOTH.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/GOTH.CHR \
|
||||
fonts/lcom.chr:FONTS/LCOM.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/LCOM.CHR \
|
||||
fonts/litt.chr:FONTS/LITT.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/LITT.CHR \
|
||||
fonts/sans.chr:FONTS/SANS.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/SANS.CHR \
|
||||
fonts/scri.chr:FONTS/SCRI.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/SCRI.CHR \
|
||||
fonts/simp.chr:FONTS/SIMP.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/SIMP.CHR \
|
||||
fonts/smal.chr:FONTS/SMAL.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/SMAL.CHR \
|
||||
fonts/trip.chr:FONTS/TRIP.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/TRIP.CHR \
|
||||
fonts/tscr.chr:FONTS/TSCR.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/TSCR.CHR
|
||||
|
||||
# List of other files to be included in the image file.
|
||||
# Some of them are auto-built with special rules, some just exist before build.
|
||||
# Each item is of the form <local name>:<name inside image>.
|
||||
# Spaces should be represented as |.
|
||||
OTHER_FILES:=asciivju:ASCIIVJU autorun.dat:AUTORUN.DAT \
|
||||
background.gif:background.gif default.skn:DEFAULT.SKN \
|
||||
e80:E80 graph:GRAPH hdread:HDREAD htmlv:HTMLV \
|
||||
icons.dat:ICONS.DAT iconstrp.gif:ICONSTRP.GIF index_htm:INDEX.HTM \
|
||||
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY kpack:KPACK \
|
||||
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
|
||||
menu.dat:MENU.DAT mykey:MYKEY @notify:@NOTIFY \
|
||||
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
|
||||
shell:SHELL spanel:SPANEL table:TABLE test:TEST \
|
||||
vmode:VMODE \
|
||||
3d/3dsheart:3D/3DSHEART 3d/3dspiral:3D/3DSPIRAL 3d/cubeline:3D/CUBELINE \
|
||||
3d/flatwav:3D/FLATWAV 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \
|
||||
demos/aclock:DEMOS/ACLOCK demos/ak47.lif:DEMOS/AK47.LIF \
|
||||
demos/barge.lif:DEMOS/BARGE.LIF demos/life2:DEMOS/LIFE2 \
|
||||
demos/relay.lif:DEMOS/RELAY.LIF demos/rpento.lif:DEMOS/RPENTO.LIF \
|
||||
demos/use_mb:DEMOS/USE_MB demos/web:DEMOS/WEB \
|
||||
drivers/atikms.dll:DRIVERS/ATIKMS.DLL \
|
||||
File|Managers/buttons.bmp:File|Managers/BUTTONS.BMP \
|
||||
File|Managers/eolite:File|Managers/EOLITE \
|
||||
File|Managers/eolite.ini:File|Managers/EOLITE.INI \
|
||||
File|Managers/icons.bmp:File|Managers/ICONS.BMP \
|
||||
File|Managers/icons.ini:File|Managers/ICONS.INI \
|
||||
File|Managers/kfar.ini:File|Managers/KFAR.INI \
|
||||
File|Managers/kfm:File|Managers/KFM \
|
||||
File|Managers/kfm.ini:File|Managers/KFM.INI \
|
||||
File|Managers/kfm_keys.txt:File|Managers/KFM_KEYS.TXT \
|
||||
fonts/bold.chr:FONTS/BOLD.CHR fonts/char2.mt:FONTS/CHAR2.MT \
|
||||
fonts/char.mt:FONTS/CHAR.MT \
|
||||
games/bnc:GAMES/BNC games/c4:GAMES/C4 \
|
||||
games/checkers:GAMES/CHECKERS games/clicks:GAMES/CLICKS \
|
||||
games/FindNumbers:GAMES/FindNumbers games/gomoku:GAMES/GOMOKU \
|
||||
games/klavisha:GAMES/KLAVISHA games/kosilka:GAMES/KOSILKA \
|
||||
games/kosskin.gfx:GAMES/KOSSKIN.GFX games/kox:GAMES/KOX \
|
||||
games/lights:GAMES/LIGHTS games/megamaze:GAMES/MEGAMAZE games/mine:GAMES/MINE \
|
||||
games/msquare:GAMES/MSQUARE \
|
||||
games/reversi:GAMES/REVERSI games/rforces:GAMES/RFORCES \
|
||||
games/snake.ini:GAMES/SNAKE.INI games/sq_game:GAMES/SQ_GAME \
|
||||
games/sudoku:GAMES/SUDOKU games/sw:GAMES/SW \
|
||||
games/xonix:GAMES/XONIX \
|
||||
lib/cnv_png.obj:LIB/CNV_PNG.OBJ lib/msgbox.obj:LIB/MSGBOX.OBJ \
|
||||
lib/pixlib.obj:LIB/PIXLIB.OBJ lib/sort.obj:LIB/SORT.OBJ \
|
||||
media/ac97snd:MEDIA/AC97SND media/kiv.ini:MEDIA/KIV.INI \
|
||||
media/listplay:MEDIA/LISTPLAY media/startmus:MEDIA/STARTMUS \
|
||||
network/jmail:NETWORK/JMAIL network/zeroconf.ini:NETWORK/ZEROCONF.INI \
|
||||
#end of list
|
||||
#3d/logio.bmp:3D/LOGIO.BMP 3d/cubetext:3D/CUBETEXT
|
||||
|
||||
# Some macro for convenient work.
|
||||
# Macros for replacing '|' to escaped space '\ '.
|
||||
space:=\ #plus space
|
||||
respace=$(subst |,$(space),$(1))
|
||||
# Macro for selecting different parts of ':'-separated items.
|
||||
binarypart=$(word 1,$(subst :, ,$(1)))
|
||||
imagepart=$(word 2,$(subst :, ,$(1)))
|
||||
sourcepart=$(word 3,$(subst :, ,$(1)))
|
||||
# Get file names, possibly with spaces inside, from an item.
|
||||
# Here $(f) is an item - in fact, macro argument.
|
||||
fbinary=$(call respace,$(call binarypart,$(f)))
|
||||
fimage=$(call respace,$(call imagepart,$(f)))
|
||||
fsource=$(call respace,$(call sourcepart,$(f)))
|
||||
|
||||
# Define targets for image file.
|
||||
# Join lists $(FASM_PROGRAMS), $(COPY_FILES) and $(OTHER_FILES);
|
||||
# for each item in the united list call fbinary.
|
||||
targets:=$(foreach f,$(COPY_FILES) $(FASM_PROGRAMS) $(OTHER_FILES),$(fbinary))
|
||||
|
||||
# Define a command for copying a file inside the image.
|
||||
# mcopy_command is a macro with two parameters,
|
||||
# local file name $(1) and image file name $(2).
|
||||
# Note that spaces in these have to be escaped with backslashes.
|
||||
mcopy_command=mcopy -mi $(BUILD_DIR)/kolibri.img $(1) ::$(2)
|
||||
# Specialize a previous command for an item $(f) in one of lists.
|
||||
mcopy_item_command=$(call mcopy_command,$(fbinary),$(fimage))
|
||||
|
||||
# Join all $(mcopy_item_command) for all items,
|
||||
# append newline after each item.
|
||||
# The first newline character after "define" line and
|
||||
# the last newline character before "endef" line get away
|
||||
# with define/endef, so we make three newline characters,
|
||||
# that is two empty lines, in order to get one in $(newline).
|
||||
define newline
|
||||
|
||||
|
||||
endef
|
||||
mcopy_all_items:=$(foreach f,$(FASM_PROGRAMS) $(COPY_FILES) $(OTHER_FILES),$(mcopy_item_command)$(newline))
|
||||
|
||||
# The main goal: image.
|
||||
$(BUILD_DIR)/kolibri.img: $(BUILD_DIR)/.dir \
|
||||
Makefile \
|
||||
$(BUILD_DIR)/boot_fat12.bin \
|
||||
$(targets)
|
||||
# SYSXTREE
|
||||
# 3d/CUBETEXT
|
||||
# 3d/LOGIO.BMP
|
||||
dd if=/dev/zero of=$(BUILD_DIR)/kolibri.img count=2880 bs=512
|
||||
mformat -f 1440 -i $(BUILD_DIR)/kolibri.img ::
|
||||
dd if=$(BUILD_DIR)/boot_fat12.bin of=$(BUILD_DIR)/kolibri.img count=1 bs=512 conv=notrunc
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::3D
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::DEMOS
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::DEVELOP
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::DRIVERS
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::File\ Managers
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::FONTS
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::GAMES
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::LIB
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::MEDIA
|
||||
mmd -i $(BUILD_DIR)/kolibri.img ::NETWORK
|
||||
$(mcopy_all_items)
|
||||
|
||||
# Special target to modify behaviour of make.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
# The floppy bootsector.
|
||||
$(BUILD_DIR)/boot_fat12.bin: $(KERNEL)/bootloader/boot_fat12.asm $(KERNEL)/bootloader/floppy1440.inc
|
||||
fasm $(KERNEL)/bootloader/boot_fat12.asm $(BUILD_DIR)/boot_fat12.bin
|
||||
|
||||
$(BUILD_DIR)/.dir 3d/.dir demos/.dir develop/.dir drivers/.dir fonts/.dir \
|
||||
games/.dir lib/.dir media/.dir network/.dir .deps/.dir:
|
||||
mkdir -p $(dir $@)
|
||||
touch $@
|
||||
File\ Managers/.dir:
|
||||
mkdir -p "File Managers"
|
||||
touch "File Managers/.dir"
|
||||
|
||||
# Define the rule for all FASM programs.
|
||||
# Yes, this looks like a black magic.
|
||||
# But it is not so scary as it seems.
|
||||
# First, we define "meta-rule" as a rule which is
|
||||
# macro depending on $(fasmprog).
|
||||
# Second, the construction foreach+eval creates
|
||||
# usual rules, one for each $(fasmprog) in $(FASM_PROGRAMS).
|
||||
# Note that meta-rule is double-expanded, first
|
||||
# time as the arg of eval - it is the place where $(fasmprog)
|
||||
# gets expanded - and second time as the rule;
|
||||
# so all $ which are expected to expand at the second time should be escaped.
|
||||
# And all $ which are expected to be expanded by the shell should be escaped
|
||||
# twice, so they become $$$$.
|
||||
|
||||
# The arguments of macro fasm_meta_rule:
|
||||
# $(1) = name of binary file,
|
||||
# $(2) = name of main source file.
|
||||
# $(3) = folder of binary file - without spaces.
|
||||
# $(4) = name of program - without path and extension,
|
||||
define fasm_meta_rule
|
||||
$(1): $(2) Makefile .deps/.dir $$(call respace,$$(addsuffix .dir,$(3)))
|
||||
fasm -m 65536 $$< "$$@" -s .deps/$(4).fas
|
||||
prepsrc .deps/$(4).fas /dev/null
|
||||
prepsrc .deps/$(4).fas /dev/stdout | (echo -n '$(1):' && \
|
||||
perl -ne 's|\\|/|g;print " \\\n $$$$1" if /^;include \x27(.*?)\x27/' \
|
||||
&& echo) > .deps/$(4).Po
|
||||
kpack --nologo "$$@"
|
||||
-include .deps/$(4).Po
|
||||
endef
|
||||
|
||||
progname=$(call respace,$(basename $(notdir $(call binarypart,$(f)))))
|
||||
binarydir=$(subst ./,,$(dir $(call binarypart,$(f))))
|
||||
$(foreach f,$(FASM_PROGRAMS),$(eval $(call fasm_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname))))
|
||||
|
||||
# Rule for the kernel differs: it uses kerpack instead of kpack.
|
||||
kernel.mnt: $(KERNEL)/kernel.asm Makefile .deps/.dir
|
||||
fasm -m 65536 $< "$@" -s .deps/kernel.fas
|
||||
prepsrc .deps/kernel.fas /dev/null
|
||||
prepsrc .deps/kernel.fas /dev/stdout | (echo -n 'kernel.mnt:' && \
|
||||
perl -ne 's|\\|/|g;print " \\\n $$1" if /^;include \x27(.*?)\x27/' \
|
||||
&& echo) > .deps/kernel.Po
|
||||
kerpack $@
|
||||
-include .deps/kernel.Po
|
||||
|
||||
# Rule for copying files is simpler, but similar to previous.
|
||||
define copy_meta_rule
|
||||
$(1): $(2) Makefile $$(call respace,$$(addsuffix .dir,$(3)))
|
||||
cp $$< "$$@"
|
||||
endef
|
||||
$(foreach f,$(COPY_FILES),$(eval $(call copy_meta_rule,$(fbinary),$(fsource),$(binarydir))))
|
||||
|
||||
# Special rules for copying sysfuncs.txt.
|
||||
docpak: $(DOCDIR)SYSFUNCS.TXT $(wildcard $(DOCDIR)*)
|
||||
$(DOCDIR)SYSFUNCS.TXT: $(KERNEL)/docs/sysfuncs.txt
|
||||
cp $(KERNEL)/docs/sysfuncs.txt $(DOCDIR)SYSFUNCS.TXT
|
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
# Program Parameters Delay
|
||||
/RD/1/COMMOUSE <NO> 1 # COM mice detector
|
||||
/RD/1/DRIVERS/ATIKMS -l/rd/1/drivers/ati.log -1 #ATI videodriver loader
|
||||
/RD/1/MEDIA/KIV \T__background.gif -1 # Desktop background image
|
||||
/RD/1/@CLIP <NO> 1 # Clipboard
|
||||
/RD/1/@RB <NO> 1 # Desktop right-click menu
|
||||
/RD/1/@SS <NO> 1 # Screensaver
|
||||
/RD/1/@PANEL <NO> 1 # Start panel
|
||||
/RD/1/SETUP BOOT 1 # Load device settings
|
||||
/RD/1/ICON BOOT 1 # Multithread icon
|
||||
/RD/1/NETWORK/ZEROCONF <NO> 1 # Network configuration
|
||||
### Hello, ASM World! ###
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,71 @@
|
|||
#Life 1.05
|
||||
#D AK47, a gun at 47 gens/shot.
|
||||
#D The AK47 reaction (middle)
|
||||
#D by Richard Schroeppel was
|
||||
#D known for years before
|
||||
#D stabilizers were found by
|
||||
#D Paul Callahan in July 1994.
|
||||
#D See also P94S.
|
||||
#N
|
||||
#P -23 -11
|
||||
...**
|
||||
..*..*
|
||||
.*.*..*
|
||||
.*.*...*
|
||||
**.*.******
|
||||
...*..*.*
|
||||
...***.*..*
|
||||
.**...*.*.*
|
||||
*..*.**.*
|
||||
.**...*.**
|
||||
...**....*
|
||||
...*.*...*
|
||||
**.*.....**
|
||||
.*.*.**
|
||||
.*.*..*
|
||||
..*..*
|
||||
...**
|
||||
#P -6 -12
|
||||
**.......*
|
||||
**.....***
|
||||
......*
|
||||
......**
|
||||
.
|
||||
...***
|
||||
..*...*
|
||||
.*.....*
|
||||
.*.....*
|
||||
.*.....*
|
||||
..*...*
|
||||
...***
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
....**
|
||||
.....*
|
||||
..***.....**
|
||||
..*.......**
|
||||
#P 12 -5
|
||||
......**
|
||||
.....*..*
|
||||
....*.**.*
|
||||
.*...*.*.*
|
||||
.*...*.*.**
|
||||
*......*
|
||||
..*..***
|
||||
..*.....**
|
||||
..*.**.*..*
|
||||
.**.*...**
|
||||
**...***
|
||||
.**....*
|
||||
**..**.*.**
|
||||
....**.*.*
|
||||
....*..*.*
|
||||
.....*..*
|
||||
......**
|
|
@ -0,0 +1,406 @@
|
|||
#Life 1.05
|
||||
#D c/3 spaceship extensible in 2 dimensions
|
||||
#D Hartmut Holzwart, David Bell
|
||||
#N
|
||||
#P -32 -50
|
||||
...*
|
||||
..*.*
|
||||
.**
|
||||
..*
|
||||
.*.*
|
||||
.*
|
||||
*
|
||||
*.*
|
||||
*.*
|
||||
.****
|
||||
...*.*
|
||||
...*.*
|
||||
..*
|
||||
..***
|
||||
*
|
||||
***
|
||||
.***.*
|
||||
...*
|
||||
...*
|
||||
...**
|
||||
#P -29 -29
|
||||
**
|
||||
*..*
|
||||
*.**
|
||||
.***
|
||||
.**
|
||||
...*
|
||||
.**
|
||||
..*.*
|
||||
...*
|
||||
.
|
||||
...*
|
||||
..*.*
|
||||
.**
|
||||
...*
|
||||
.**
|
||||
.***
|
||||
*.**
|
||||
*..*
|
||||
**
|
||||
.
|
||||
**
|
||||
*..*
|
||||
*.**
|
||||
.***
|
||||
.**
|
||||
...*
|
||||
.**
|
||||
..*.*
|
||||
...*
|
||||
.
|
||||
...*
|
||||
..*.*
|
||||
.**
|
||||
...*
|
||||
.**
|
||||
.***
|
||||
*.**
|
||||
*..*
|
||||
**
|
||||
.
|
||||
**
|
||||
*..*
|
||||
*.**
|
||||
.***
|
||||
.**
|
||||
...*
|
||||
.**
|
||||
..*.*
|
||||
...*
|
||||
.
|
||||
...*
|
||||
..*.*
|
||||
.**
|
||||
...*
|
||||
.**
|
||||
.***
|
||||
*.**
|
||||
*..*
|
||||
**
|
||||
#P -32 31
|
||||
...**
|
||||
...*
|
||||
...*
|
||||
.***.*
|
||||
***
|
||||
*
|
||||
..***
|
||||
..*
|
||||
...*.*
|
||||
...*.*
|
||||
.****
|
||||
*.*
|
||||
*.*
|
||||
*
|
||||
.*
|
||||
.*.*
|
||||
..*
|
||||
.**
|
||||
..*.*
|
||||
...*
|
||||
#P -24 -29
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
#P -12 -29
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
#P 0 -29
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
#P 12 -29
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
#P 24 -29
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
#Life 1.05
|
||||
#D Relay between two pentadecathlons
|
||||
#D Well known.
|
||||
#N
|
||||
#P -17 -2
|
||||
**********
|
||||
#P -1 0
|
||||
*
|
||||
.**
|
||||
**
|
||||
#P 8 2
|
||||
**********
|
|
@ -0,0 +1,13 @@
|
|||
#Life 1.05
|
||||
#D r-pentomino
|
||||
#D A small, vigorous, common pattern.
|
||||
#D
|
||||
#D When the Game of Life was first
|
||||
#D introduced around 1970, this was
|
||||
#D proposed as the smallest pattern
|
||||
#D for which the outcome was unknown.
|
||||
#N
|
||||
#P 3 3
|
||||
.**
|
||||
**
|
||||
.*
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,347 @@
|
|||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
Version 2, June 1991
|
||||
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
|
@ -0,0 +1,48 @@
|
|||
PHARAOH TOMB
|
||||
|
||||
The purpose of the game is to open passage by moving hieroglyphs on entrance
|
||||
in the next room of the pharaoh tomb (8X8). You can exchange two hieroglyphs
|
||||
located near each other on vertical or horizontal if after such transposition
|
||||
a combination of three or more identical pictures abreast is generated. Such
|
||||
lines are disappeared immediately, and free place is filled by hieroglyphs
|
||||
which "falled" from top. Missing hieroglyphs are generated randomly. For
|
||||
disappearing hieroglyphs points are added. For combination of hieroglyphs
|
||||
number of points is calculated by formula L+(L+1)^(N-3), but no more than
|
||||
20*L*N, where N is number of hieroglyphs in combination, and L is level number.
|
||||
To pass to the next level it is required to remove certain number of
|
||||
hieroglyphs (different on each level). From below of panel with hieroglyphs is
|
||||
located field which indicates how many is passed and how many is remained.
|
||||
|
||||
1st level - 500
|
||||
2nd level - 450
|
||||
3rd level - 400
|
||||
4th level - 350
|
||||
5th level - 300
|
||||
6th level and further - 50*(L+1)
|
||||
|
||||
On the first level combinations are composed from 6 states of hieroglyphs.
|
||||
With each new level one new hieroglyph is involved, but no more than 10
|
||||
(i.e. starting from 5th level and further 10 different hieroglyphs are
|
||||
involved, not counting special ones).
|
||||
|
||||
Starting from 2nd level for each combination from 4 and more hieroglyphs,
|
||||
and also for passing each fourth of level the player gets "free" hieroglyph -
|
||||
it is usual hieroglyph (generated randomly), which keeps "in pocket" of player
|
||||
and can be necessarily inserted by player to any place and replace thus
|
||||
located there hieroglyph.
|
||||
|
||||
Starting from 3rd level for each combination from 5 and more hieroglyphs,
|
||||
and also for passing each third of level the player gets "universal key",
|
||||
which matches to any combination of hieroglyphs and to several different
|
||||
combination simultaneously.
|
||||
|
||||
Starting from 4th level for each combination from 6 and more hieroglyphs,
|
||||
and also for passing a half of level the player gets "space crooker",
|
||||
which allows, when is used, to make 3 moves (not obligatory successive) at
|
||||
diagonal.
|
||||
|
||||
The player can not have simultaneously more than 1 extra hieroglyph of each
|
||||
type (1 usual, 1 joker and 1 crooker).
|
||||
|
||||
The game is ended, if the player can not make any combination with existing
|
||||
hieroglyphs.
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,10 @@
|
|||
The following "hot" shortcut keys are used in the system:
|
||||
(Indexing on time of appearance in the system)
|
||||
1) Ctrl + Alt + Del start of the application CPU (the manager of processes), is a sole combination maintained on a level of a kernel, all rest "hot" key is realized at the expense of the application @PANEL.
|
||||
2) Ctrl + Shift - switching of keyboard layout.
|
||||
3) Win - start of the application MENU.
|
||||
4) Alt + Ctrl + F12 - start of the application END.
|
||||
5) Alt + F4 - terminate the active application.
|
||||
6) Alt + Tab - switch to the next (in the window stack) window
|
||||
7) Alt + Shift + Tab - switch to the previous (in the window stack) window
|
||||
8) Alt + Shift + NumLock - start of the application MOUSEMUL, which emulates mouse with numpad, when NumLock is on (note: mousEmul does not create window or pictures to indicate its work!)
|
|
@ -0,0 +1,25 @@
|
|||
Ini-files are text files of special contents:
|
||||
|
||||
[name of first section]
|
||||
Key1=value1
|
||||
Key2=value2
|
||||
;comment
|
||||
[name of second section]
|
||||
Key3=value3
|
||||
|
||||
All lines beginning with ';' are considered as comments and ignored.
|
||||
|
||||
Keyboard shortcuts are described as follows:
|
||||
any number of modificators Ctrl/Alt/Shift/LCtrl/LAlt/LShift/RCtrl/RAlt/RShift,
|
||||
followed by latin letter, digit or key name. The following keys have a name:
|
||||
F1 - F12
|
||||
Home; End; PgUp; PgDn; Ins, equivalently, Insert; Del, equivalently, Delete;
|
||||
Tab; Plus; Esc; Enter; Backspace; Space;
|
||||
Left (left arrow); Right (right arrow); Up (up arrow); Down (down arrow).
|
||||
The string for shortcut is case-insensitive. Parts of the string
|
||||
can be written without delimiters or with '+' between parts. Examples:
|
||||
Ctrl+Alt+Backspace
|
||||
RCtrl+RShift
|
||||
ShiftA
|
||||
f10
|
||||
shiftalt5
|
|
@ -0,0 +1,94 @@
|
|||
Control keys in KFar.
|
||||
For panels:
|
||||
arrows, Home, End - move cursor on active panel
|
||||
Tab - change active panel
|
||||
Enter - enter to folder or run program under cursor
|
||||
F3 - view file under cursor
|
||||
F5 - copy selected items or item under cursor to another panel
|
||||
Shift+F5 - copy selected items or item under cursor to the same panel
|
||||
(of course, you must specify another file name)
|
||||
F7 - create folder
|
||||
F8 - delete selected elements or element under cursor
|
||||
F10 - exit
|
||||
Alt+F1/Alt+F2 - change drive on left/right panel
|
||||
Alt+F9 - resize window to maximum possible size and restore initial size
|
||||
Ctrl+F3 - sort file/folders on active panel by name
|
||||
Ctrl+F4 - sort by extension
|
||||
Ctrl+F5 - sort by date/time of last modification
|
||||
Ctrl+F6 - sort by size
|
||||
Ctrl+F7 - don't sort (display in order as on disk)
|
||||
Ctrl+F8 - sort by date/time of creation
|
||||
Ctrl+F9 - sort by date/time of last access
|
||||
F12 - display screens menu
|
||||
Ctrl+R - refresh active panel
|
||||
Menu - display context menu for file under cursor
|
||||
LeftCtrl+1/2/3/4 - select panel mode (brief/medium/full/wide)
|
||||
RightCtrl+0..9 - go to folder specified in the section [FolderShortcuts]
|
||||
of ini-file as Shortcut0..9 accordingly
|
||||
Insert - select/deselect current element
|
||||
Grey[+] - select files and folders with mask
|
||||
Grey[-] - deselect files and folders with mask
|
||||
The mask is like "*.asm,*.inc|template.asm" (which selects all files with
|
||||
extensions ASM and INC except for template.asm): one or more elementary
|
||||
including masks with standard mean of '*' and '?', delimited by ',' or ';',
|
||||
optionally followed by '|' and one or more elementary excluding masks.
|
||||
The mask "*.*" specifies all files having '.' in name (i.e. files with
|
||||
any non-empty extension); to specify all files use "*".
|
||||
Grey[*] - invert selection
|
||||
Alt+<letter or digit> - position cursor on name of file/folder,
|
||||
beginning from selected letter or digit; it shows fast find window,
|
||||
in which one can enter subsequent symbols of file/folder name to more precise
|
||||
selection, and also Ctrl+Enter/Shift+Ctrl+Enter to move to the next/previous
|
||||
panel item, whose name starts with specified letters
|
||||
|
||||
For viewer:
|
||||
Esc = F3 = F10 = Numpad5 - exit
|
||||
Down - line down
|
||||
PgDn - page down
|
||||
Up - line up
|
||||
PgUp - page up
|
||||
Home - to begin of file
|
||||
End - to end of file
|
||||
Left - character left
|
||||
Right - character right
|
||||
Ctrl+Left - in Text-mode 20 characters left;
|
||||
in Hex-mode 1 byte left
|
||||
Ctrl+Right - in Text-mode 20 characters right;
|
||||
in Hex-mode 1 byte right
|
||||
Ctrl+Shift+Left - start of lines on the screen
|
||||
Ctrl+Shift+Right - end of lines on the screen
|
||||
F2 - toggle line wrap
|
||||
F4 - toggle Text <-> Hex mode
|
||||
F8 - toggle encoding cp866 (DOS) <-> cp1251 (Win)
|
||||
Shift+F8 - encoding tables menu
|
||||
F12 - display screens menu
|
||||
F7 - search a string from the current position in the file
|
||||
(the string and settings are set in the following dialog)
|
||||
Shift+F7 - continue to search a string
|
||||
(use the string and settings from last search by F7)
|
||||
Alt+F9 - resize window to maximum possible size and restore initial size
|
||||
|
||||
For editor:
|
||||
Esc = F10 - exit; if the file was modified, the question about save necessity
|
||||
will follow
|
||||
Shift+F10 - save and exit
|
||||
F2 - save the file
|
||||
Down - move cursor down to one line
|
||||
PgDn - move cursor down to one page
|
||||
Up - move cursor up to one line
|
||||
PgUp - move cursor up to one page
|
||||
Left - move cursor left to one symbol
|
||||
Right - move cursor right to one symbol
|
||||
Home - move cursor to the beginning of the current line
|
||||
End - move cursor to the end of the current line
|
||||
Backspace - delete the symbol before the cursor
|
||||
Del - delete the symbol under the cursor
|
||||
Ins - toggle insert/replace mode when entering symbols
|
||||
F12 - display screens menu
|
||||
Alt+F9 - resize window to maximum possible size and restore initial size
|
||||
F7 - search a string starting from the position next to the cursor
|
||||
(the string and search settings are prompted in the following dialog)
|
||||
Shift+F7 - continue to search a string (same as F7 without settings dialog)
|
||||
|
||||
diamond
|
||||
mailto:diamondz@land.ru
|
|
@ -0,0 +1,214 @@
|
|||
Introduction.
|
||||
|
||||
mtdbg is a debugger for Kolibri operating system. This documentation describes
|
||||
debugger features and work with it. If you need some features which are
|
||||
not presented yet, either write to the forum meos.sysbin.com (if you can
|
||||
read russian texts) or mail me to address given in the end of this file.
|
||||
|
||||
General description.
|
||||
|
||||
In each moment of time mtdbg can debug only one program. I will call it
|
||||
loaded program. If no program is loaded, overwhelming majority of debugging
|
||||
actions is disabled.
|
||||
|
||||
mtdbg is controlled by command line, entering from keyboard. Command line
|
||||
is drawn in the bottom part of debugger window. Debugger handles standard
|
||||
input keys Backspace,Delete,Home,End,left/right arrows.
|
||||
Commands are case-insensitive. Delimiter is arbitrary nonzero number of spaces.
|
||||
|
||||
At any moment mtdbg can be terminated by command "quit" (without arguments).
|
||||
You can also simply press to close button in the right upper corner of window.
|
||||
|
||||
When debugger is started without command string parameters, no program is
|
||||
loaded. Also mtdbg can be started with command string, in this case it tries
|
||||
to load program with the name pointed to in first parameter in command string
|
||||
and parameters pointed to following (if present).
|
||||
|
||||
If no program is loaded, you can load a program with the command
|
||||
load <full name of executable file> [<parameters>]
|
||||
Examples:
|
||||
load /rd/1/example
|
||||
LOAD /rd/1/aclock w200 h200
|
||||
LoaD /hd0/1/menuetos/dosbox/dosbox
|
||||
All that stays after first space after executable file name, is exactly passed
|
||||
to program as command string.
|
||||
The command "load" reports result in the messages window (a little higher
|
||||
than command line window). If program was loaded successfully, there will
|
||||
be the appropriate message; otherwise the message will contain error reason.
|
||||
Most probable error is "file not found" if wrong file name is given.
|
||||
|
||||
The debugger can load files with information on symbols in the program
|
||||
(labels, global variables) - text files, each line of which has format
|
||||
0x<hex_value_of_addr> <name>
|
||||
(lines, which do not have such format, are ignored). Such file can be created
|
||||
by hand or generated automatically by fasm. Evident load can be done by command
|
||||
load-symbols <full name of symbols file>
|
||||
Furthermore, when the debugger executes the command "load", it checks for
|
||||
presence of file with name as of loading binary and extension '.dbg'
|
||||
(/rd/1/example.dbg in the first of examples above), and if such file exists,
|
||||
the debugger loads it automatically (with the message "Symbols loaded", if
|
||||
all is OK).
|
||||
|
||||
It can happen so that loaded program is packed. General principle of
|
||||
program packing is following: at first input file is packed (by some
|
||||
pack algorithm), then is appended small code which gets control at program
|
||||
start, unpacks input code in the memory and then passes control to it.
|
||||
If program is packed, it "real" code is not visible and for debugging it is
|
||||
needed previously to pass through unpacker code.
|
||||
mtdbg determines most of existing packers (mxp,mxp_lzo,mxp_nrv,mtappack)
|
||||
and in this case suggests to automatically go to "real" code. It is recommended
|
||||
to accept (press 'y' or <Enter>), but you can refuse too. At refusal and if
|
||||
program is packed by something unknown the command "unpack" (without arguments)
|
||||
can be used. Call it only in the case when you are sure that program is packed
|
||||
and control has not already went to main code! [Starting from Kolibri 0.6.5.0,
|
||||
this paragraph is no more actual, because one can pack applications as all
|
||||
binary files with kpack and the unpacker code in this case is located in the
|
||||
kernel and is transparent for debug.]
|
||||
|
||||
Loaded program can be terminated by the command "terminate" (without
|
||||
arguments). The command "detach" (without arguments) detaches from program,
|
||||
after that program continues execution normally, as if there was no debugger.
|
||||
After both this commands program stops to be debugged.
|
||||
|
||||
It is possible to anew load program for debugging by the command "reload"
|
||||
(without arguments). If there is already loaded program, it is terminated
|
||||
and new instance is started (from the beginning) (with the same command
|
||||
string), in this case the command is similar to the commands
|
||||
terminate
|
||||
load <last program name> <last program arguments>
|
||||
Otherwise is loaded anew latest program, which was debugged (in the current
|
||||
seance of work with mtdbg) (with the same command string), i.e. is similar to
|
||||
load <last program name> <last program arguments>,
|
||||
but the command "reload" in both cases is shorter and more convenient;
|
||||
moreover, "load" thinks that new program is loaded and moves data window
|
||||
(see below) to zero address, and "reload" keeps current address.
|
||||
|
||||
The command "help", which can be shorten to "h", is always available.
|
||||
All commands are divided on groups.
|
||||
"help" without arguments displays the list of command groups.
|
||||
"help" with group name displays the list of commands in this group with short
|
||||
comments.
|
||||
"help" with command name displays information about given command.
|
||||
Examples:
|
||||
help
|
||||
help control
|
||||
h LoaD
|
||||
|
||||
The debugger window consists from the following items enumerated from up
|
||||
to down:
|
||||
- status string. If there is loaded program, shows its name and state
|
||||
("Running/Paused"), otherwise reports "No program loaded".
|
||||
- registers window - shows values of general-purpose registers, register eip
|
||||
and states of single flags: CF,PF,AF,ZF,SF,DF,OF: if flag is cleared, then
|
||||
is displayed lower-case letter, if flag is set, then upper-case one.
|
||||
Registers which are changed from previous moment are highlighted in green.
|
||||
- data window (dump window) - shows memory contains of loaded program
|
||||
- code window (disassembler window) - shows program code as disassembled
|
||||
instructions
|
||||
- messages window
|
||||
- command line window
|
||||
|
||||
Dump window can display data starting from any address, to this serves
|
||||
the command
|
||||
d <expression>
|
||||
The command "d" without arguments flicks dump window down.
|
||||
The same is for code window and the command
|
||||
u <expression>
|
||||
or simply "u".
|
||||
Examples:
|
||||
d esi - displays data at address esi (e.g. is useful before execution of
|
||||
instruction rep movsb)
|
||||
d esp - displays stack
|
||||
u eip - disassembles instruction starting from the current
|
||||
|
||||
Expressions in mtdbg can include
|
||||
- hexadecimal constants
|
||||
- names of all general-purpose registers (8 32-bits, 8 16-bits and
|
||||
8 8-bits) and register eip; values of 16- and 8-bits registers are padded
|
||||
with zeroes to 32 bits
|
||||
- four arithmetic operations +,-,*,/ (with standard priorities) and
|
||||
brackets
|
||||
- [if symbols information was loaded] names, loaded from dbg-file
|
||||
All calculations are realized modulo 2^32.
|
||||
Examples of expressions:
|
||||
eax
|
||||
eip+2
|
||||
ecx-esi-1F
|
||||
al+AH*bl
|
||||
ax + 2* bH*(eip+a73)
|
||||
3*esi*di/EAX
|
||||
The command
|
||||
? <expression>
|
||||
calculates value of specified expression.
|
||||
|
||||
Values of registers in loaded program can be changed by the command "r", which
|
||||
has two absolutely equivalent forms:
|
||||
r <register> <expression>
|
||||
r <register>=<expression>
|
||||
(in both cases you can place spaces as you want). Register can be any of
|
||||
above-mentioned - 24 general-purpose registers and eip.
|
||||
|
||||
|
||||
Let us assume that the command "load" was successfully load program for
|
||||
debugging.
|
||||
Immediately after loading program is suspended and does not execute.
|
||||
Press Ctrl+F7 (command-line analog is the command "s") to make one step
|
||||
in loaded program, after that control returns to debugger which displays
|
||||
new contains of registers and memory. The system call "int 40h" is considered
|
||||
as one step.
|
||||
Pressing Ctrl+F8 (command-line analog is the command "p") also makes step in
|
||||
loaded program, but procedure calls, string operations with prefix
|
||||
rep/repz/repnz and 'loop' cycles are executed as one step.
|
||||
The one-step commands are used usually on single program sections,
|
||||
when it is needed, for example, to regularly trace registers value and/or
|
||||
some variables in memory.
|
||||
The command
|
||||
g <expression>
|
||||
resumes program execution and waits until control goes to eip=given address,
|
||||
and in this moment suspends program. The command "g" without arguments
|
||||
simply resumes execution.
|
||||
|
||||
To suspend program use the command "stop" (without arguments).
|
||||
|
||||
In the typical situation it is required that program is executed normally,
|
||||
but when some conditions are satisfied, program suspends and debugger receives
|
||||
control. The corresponding conditions are called breakpoints or simply breaks.
|
||||
Primary type of breakpoints is to concrete address, i.e. stop execution at
|
||||
eip=<given value>. Such breakpoints are set by the command
|
||||
bp <expression>
|
||||
Note that if there is only one such breakpoint, there is more convenient to use
|
||||
the command "g" with argument instead.
|
||||
|
||||
Other type of breakpoints is on access to given memory area. Maximum
|
||||
numbers of such breakpoints is 4 (because hardware features of x86 processors
|
||||
are used and they allows only 4).
|
||||
bpm <expression> - breaks at any access to byte at given address
|
||||
bpm w <expression> - breaks at write to byte at given address
|
||||
bpmb,bpmw,bpmd <expression> - breaks to access correspondingly to byte, word
|
||||
or dword at given address. bpm ¨ bpmb are synonyms. When bpmw,bpmd are used,
|
||||
address must be aligned according to correspondingly word bound (i.e. be even)
|
||||
or dword bound (i.e. be divisible by 4).
|
||||
bpmb,bpmw,bpmd w <expression> - similar to break on write.
|
||||
|
||||
To see the list of set breakpoints use the command "bl", to obtain information
|
||||
on concrete breakpoint use "bl <number>". Unnecessary breakpoints can be
|
||||
deleted with the command "bc <number>", temporarily unnecessary can be
|
||||
disabled by the command "bd <number>", when they will be needed again,
|
||||
use the command "be <number>".
|
||||
|
||||
Remarks.
|
||||
|
||||
1. When debugging your own programs you can put in code instructions
|
||||
int3 (pay attention to absence of space!). Such instruction causes
|
||||
exception at normal run, which leads to process termination, but
|
||||
at work under debugger it is simply activated (with the message
|
||||
"int3 command at xxx"). This feature allows to not think about addresses
|
||||
to use in the commands g and/or bp.
|
||||
2. All output and all input is oriented on hexadecimal scale of notation.
|
||||
3. When program is executed, registers and data window shows information
|
||||
regarding to moment before resume; you can not set registers value in this
|
||||
mode. Nevertheless the command "d" in this mode shows information that
|
||||
was true in the moment of command delivery.
|
||||
|
||||
diamond
|
||||
mailto:diamondz@land.ru
|
|
@ -0,0 +1,268 @@
|
|||
************************
|
||||
* Kolibri OS 0.7.7.0+ *
|
||||
* February 2010 *
|
||||
************************
|
||||
|
||||
The latest release of the OS is available on the official site:
|
||||
http://kolibrios.org
|
||||
|
||||
If you have questions - look for support on our forum:
|
||||
http://board.kolibrios.org (rus+eng)
|
||||
|
||||
***********************************
|
||||
* What is new in this release? *
|
||||
***********************************
|
||||
|
||||
The following changes, revisions, fixes in the kernel have been made:
|
||||
|
||||
From Evgeny Grechnikov (Diamond) - Russian Federation
|
||||
1) Improvement of drives detection using BIOS service (V86)
|
||||
2) Kernel bugfixes.
|
||||
|
||||
From Sergey Semyonov (Serge) - Russian Federation
|
||||
1) Driver for ATI videocards updated.
|
||||
2) Linux-like kernel mutexes
|
||||
|
||||
From Mihail Semenyako (mike.dld) - Republic of Belarus
|
||||
1) Refactoring of window subsystem.
|
||||
|
||||
From <Lrz>
|
||||
1) Processing API functions in order to completely remove the shift-register-call
|
||||
2) Refactoring, optimization, bugfixes of some places in the kernel.
|
||||
|
||||
From A.Jerdev (art_zh) - United Kingdom
|
||||
1) Memory-mapped I/O (MMIO) access from the userworld.
|
||||
2) PCIe Extended configuration space access (auto-adjust for AMD-NPT since Athlon64).
|
||||
|
||||
From turbanoff
|
||||
1) Read from ext2fs/ext3fs.
|
||||
|
||||
From Marat Zakiyanov (Mario79) - Russian Federation
|
||||
1) Improvements in the processing of mouse clicks.
|
||||
|
||||
From hidnplayr
|
||||
1) Rewriting of the entire network subsystem.
|
||||
|
||||
From Asper
|
||||
1) Drivers for the sound cards VT823(X) and EMU10K1X.
|
||||
|
||||
From tsdima
|
||||
1) Driver for the sound card ForteMedia fm801.
|
||||
|
||||
From Maxis
|
||||
1) changes in free memory checks.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The following changes, revisions, fixes in applications have been made:
|
||||
|
||||
* New versions of applications and new applications:
|
||||
|
||||
FTPS - tsdima, some improvements
|
||||
VIEW3DS - macgub, version 0.054
|
||||
FASM - Pavel Rymovski (Heavyiron), updated to version 1.69.11
|
||||
IgorA, use the library box_lib, russification,
|
||||
Marat Zakiyanov (Mario79) fix bugs encountered
|
||||
Evgeny Grechnikov (Diamond), fix of window wrapping
|
||||
PCIDEV - art_zh, MMIO sample dumps added; vendors database
|
||||
trimmed to reduce the distro size.
|
||||
BOARD - Evgeny Grechnikov (Diamond), do not throw out existing
|
||||
messages at the program start
|
||||
UNVWATER - Asper, demo ported from OctaOS
|
||||
(the author is Octavio Vega Fernandez).
|
||||
HEED - staper, version 0.14: use the library box_lib;
|
||||
Ctrl+C/X/V, Ctrl+B to select a block
|
||||
Marat Zakiyanov (Mario79), using of OpenDialog component,
|
||||
little optimization of the code
|
||||
SHELL - Albom, version 0.4.2
|
||||
CPU - Evgeny Grechnikov (Diamond) at the suggestion of
|
||||
Kirill Lipatov (Leency), do not show system processes
|
||||
by default
|
||||
HTMLV - Kirill Lipatov (Leency), version 0.62a
|
||||
EOLITE - Kirill Lipatov (Leency), version 0.98.7a
|
||||
RTFREAD - Sorcerer, cosmetic fix
|
||||
dunkaist, menu_bar and scroll_bar from box_lib, 'end' hotkey
|
||||
E80 - Albom, version 0.5.1
|
||||
KIV - Evgeny Grechnikov (Diamond), file name in the window
|
||||
title, configurable keyboard shortcuts for next/prev
|
||||
images in the current folder
|
||||
SUDOKU - staper, port of Sudoku game - that is a puzzle with digits, where you
|
||||
have to fill free cells with digits from 1 to 9 so that every row,
|
||||
every column and every small square 3x3 contain each digit just one time.
|
||||
There are 9 levels in the game.
|
||||
REVERSI - staper, port of strategy game Reversi (Othello)
|
||||
MSQUARE - staper, math puzzle "magic square": sum of the numbers in rows, columns
|
||||
(less often in diagonals) should be equal
|
||||
FINDN-S - Artemonische, a simple game in which you have to collect all the numbers
|
||||
in the order of 10 to 90
|
||||
PANEL - Evgeny Grechnikov (Diamond), a little change in the panel clock
|
||||
and reanimation of backlight on the Alt+[Shift+]Tab press.
|
||||
AC97SND - Asper, support of playlists in m3u format.
|
||||
@NOTIFY - SoUrcerer, program for popup text messages
|
||||
DOSBOX - Evgeny Grechnikov (Diamond), version 0.74
|
||||
ASCIIVJU - Konstantin Dutkevich (Nazarus), program shows ASCII table
|
||||
PIPETKA - Rock_maniak_forever, program to get color of a pixel on the screen
|
||||
SNAKE - dunkaist, yet another implementation of classic game
|
||||
|
||||
|
||||
|
||||
|
||||
* New versions of dynamic libraries and new dynamic libraries:
|
||||
libini - Evgeny Grechnikov (Diamond), added function to read
|
||||
keyboard shortcuts
|
||||
box_lib - IgorA, update component tree_list, new component
|
||||
text_editor, documentation on the library
|
||||
Marat Zakiyanov (Mario79) refinement of ŽpenDialog component, rewriting
|
||||
of some applications to use it, new component PathShow
|
||||
|
||||
|
||||
|
||||
/-----------------------------------------------\
|
||||
* Dates of publication of the distribution kits *
|
||||
\-----------------------------------------------/
|
||||
|
||||
RE N1 30.08.2003
|
||||
RE N2 07.10.2003
|
||||
RE N3 26.11.2003
|
||||
RE N4 23.12.2003
|
||||
RE N5 15.02.2004
|
||||
RE N6 27.03.2004
|
||||
KOLIBRI N1 16.05.2004
|
||||
RE N7 11.06.2004
|
||||
KOLIBRI N2 28.08.2004
|
||||
RE N8 01.12.2004
|
||||
KOLIBRI N3 22.02.2005
|
||||
Beta 2: 20.03.2005
|
||||
KOLIBRI N4 07.06.2005
|
||||
KOLIBRI 0.5.0.0 04.10.2005
|
||||
0.5.1.0 12.10.2005
|
||||
0.5.2.0 02.12.2005
|
||||
0.5.3.0 18.03.2006
|
||||
0.5.8.0 09.07.2006
|
||||
0.5.8.1 25.07.2006
|
||||
|
||||
0.6.0.0 04.09.2006
|
||||
0.6.3.0 31.10.2006
|
||||
0.6.5.0 14.02.2007
|
||||
|
||||
0.7.0.0 07.06.2007
|
||||
0.7.1.0 23.09.2007
|
||||
0.7.5.0 31.01.2009
|
||||
0.7.7.0 13.12.2009
|
||||
|
||||
/----------------\
|
||||
* KolibriOS TEAM *
|
||||
\----------------/
|
||||
|
||||
This list contains all, who has actively helped to creation and development
|
||||
of KolibriOS, whoever possible.
|
||||
(people are enumerated in the order by time of participation in the project,
|
||||
from bottom to top - from past to future, through present)
|
||||
|
||||
* Trans \
|
||||
* VaStaNi |
|
||||
* Ivan Poddubny |
|
||||
* Marat Zakiyanov (Mario79) |
|
||||
* Mihail Semenyako (mike.dld) | system programming
|
||||
* Sergey Kuzmin (Wildwest) |
|
||||
* Andrey Halyavin (halyavin) | loaders,
|
||||
* Mihail Lisovin (Mihasik) | kernel improvements and so on
|
||||
* Andrey Ignatiev (andrew_programmer) |
|
||||
* NoName |
|
||||
* Evgeny Grechnikov (Diamond) |
|
||||
* Iliya Mihailov (Ghost) |
|
||||
* Sergey Semyonov (Serge) |
|
||||
* Johnny_B |
|
||||
* kasTIgar |
|
||||
* SPraid |
|
||||
* Rus |
|
||||
* Alver |
|
||||
* Maxis |
|
||||
* Galkov |
|
||||
* CleverMouse |
|
||||
* tsdima |
|
||||
* turbanoff |
|
||||
* Asper |
|
||||
* art_zh /
|
||||
|
||||
* Mihail Lisovin (Mihasik) \
|
||||
* Andrey Ivushkin (Willow) |
|
||||
* Mihail Semenyako (mike.dld) |
|
||||
* Pavlushin Evgeny (Exis) |
|
||||
* Ivan Poddubny | application programming
|
||||
* Marat Zakiyanov (Mario79) |
|
||||
* Sergey Kuzmin (Wildwest) |
|
||||
* Andrey Halyavin (halyavin) | creation of new,
|
||||
* Hex | port of existing
|
||||
* Andrey Ignatiev (andrew_programmer) | or revisions of old
|
||||
* ealex | applications for Kolibri
|
||||
* Olaf |
|
||||
* Evgeny Grechnikov (Diamond) |
|
||||
* Navanax |
|
||||
* Johnny_B |
|
||||
* Pavel Rymovski (Heavyiron) |
|
||||
* Vitaly Bendik (mistifi(ator) |
|
||||
* Iliya Mihailov (Ghost) |
|
||||
* Maxim Evtihov (Maxxxx32) |
|
||||
* Vladimir Zaitsev (Rabid Rabbit) |
|
||||
* vectoroc |
|
||||
* Alexey Teplov (<Lrz>) |
|
||||
* Sergey Semyonov (Serge) |
|
||||
* YELLOW |
|
||||
* iadn |
|
||||
* Maciej Guba (macgub) |
|
||||
* Mario Birkner (cYfleXX) |
|
||||
* hidden player (hidnplayr) |
|
||||
* trolly |
|
||||
* nilgui |
|
||||
* kaitz |
|
||||
* DedOk |
|
||||
* SPraid |
|
||||
* Rus |
|
||||
* Alver |
|
||||
* Dron2004 |
|
||||
* Gluk |
|
||||
* Aleksandr Bogomaz (Albom) |
|
||||
* Kirill Lipatov (Leency) |
|
||||
* Vasiliy Kosenko (vkos) |
|
||||
* IgorA |
|
||||
* staper |
|
||||
* chaykin |
|
||||
* Alexander Meshcheryakov |
|
||||
(Self-Perfection) |
|
||||
* CleverMouse |
|
||||
* tsdima |
|
||||
* art_zh |
|
||||
* Asper |
|
||||
* Pterox |
|
||||
* Artemonische |
|
||||
* dunkaist /
|
||||
|
||||
* Hex \
|
||||
* Diamond / documentation
|
||||
|
||||
* CodeWorld \ forum http://meos.sysbin.com
|
||||
* mike.dld / site http://kolibrios.org; svn-server
|
||||
|
||||
* Alexey Teplov (<Lrz>) \ (KolibriOS logo)
|
||||
* goglus | design (KolibriOS background)
|
||||
* Kirill Lipatov (Leency) / (KolibriOS icons)
|
||||
|
||||
* Pavel Rymovski (Heavyiron) \
|
||||
* Vitaly Bendik (mistifi(ator) |
|
||||
* vectoroc |
|
||||
* Veliant | testing,
|
||||
* AqwAS | countenance
|
||||
* Mike |
|
||||
* camper |
|
||||
* Dmitry the Sorcerer |
|
||||
* Ataualpa |
|
||||
* Maxis |
|
||||
* Galkov |
|
||||
* ChE /
|
||||
|
||||
and others...
|
||||
|
||||
KolibriOS team
|
|
@ -0,0 +1,387 @@
|
|||
What is implemented
|
||||
===================
|
||||
|
||||
The following features are present in the TCP/IP stack code:
|
||||
|
||||
IP layer.
|
||||
ICMP.
|
||||
TCP layer.
|
||||
UDP layer.
|
||||
local loopback.
|
||||
Realtek 8029 PCI ethernet interface.
|
||||
Realtek 8139 PCI ethernet interface.
|
||||
Intel i8255x PCI ethernet interface.
|
||||
Dynamic ARP table.
|
||||
PPP dialer
|
||||
|
||||
And the following internet applcations are implemented
|
||||
|
||||
HTTP Server
|
||||
Telnet
|
||||
POP Client
|
||||
DNS Name resolver
|
||||
MP3 Server
|
||||
TFTP Client
|
||||
IRC Client
|
||||
|
||||
There are also a number of experimental applications for streaming music
|
||||
and performing interprocess communication via sockets. A Web broswer is in
|
||||
development
|
||||
|
||||
|
||||
What is not implemented
|
||||
=======================
|
||||
|
||||
The IP layer does not process header options.
|
||||
The IP layer does not support routing.
|
||||
Packet fragmentation is not supported.
|
||||
|
||||
|
||||
How to configure Kolibri for PPP
|
||||
===============================
|
||||
|
||||
See ppp.txt
|
||||
|
||||
|
||||
How to configure Kolibri for Ethernet
|
||||
====================================
|
||||
|
||||
First, you need to have a supported ethernet card fitted, or present
|
||||
on your motherboard. If you are uncertain what type of hardware you
|
||||
have, try to configue the stack. If you have supported hardware it
|
||||
will be found, and enabled.
|
||||
|
||||
Setting Up the ARP Table
|
||||
------------------------
|
||||
|
||||
Kolibri's ARP table is dynamically created and maintained; You can see what
|
||||
hosts Kolibri has communicated with by running the ARPSTAT application.
|
||||
|
||||
Enabling Ethernet
|
||||
-----------------
|
||||
|
||||
Boot Kolibri, then select STACKCFG from the NET menu.
|
||||
Press the 'Read' Button, then select 'Packet Driver'.
|
||||
Press 'Change' next to the IP address, and enter the IP address you want
|
||||
to use. Make sure it is on the same sub-net as the LAN to which you are
|
||||
connected.
|
||||
Press 'Apply' to action the changes.
|
||||
Close the program.
|
||||
|
||||
|
||||
The stack is now running, which you can test by pinging Kolibri from a
|
||||
remote host.
|
||||
|
||||
|
||||
The simplest way to connect two PC's together is using a 'Null Modem'
|
||||
Ethernet cable. These simply cross certain wires over. They can be
|
||||
purchased from PC stores, but are simple to make. Details can be found
|
||||
on the web. Look on google for 'ethernet cross over cable' or similar.
|
||||
|
||||
|
||||
How to use TCP/IP locally, with no Network
|
||||
==========================================
|
||||
|
||||
Kolibri supports a form of local loopback that means applications on the
|
||||
same PC can communicate with each other via sockets as though they
|
||||
were on separate hosts. To connect to an application on the same machine,
|
||||
specify the local IP address as the destination address. You do not even
|
||||
need to configure the stack for ethernet; local loopback will work without
|
||||
any network hardware. It's great for development and testing.
|
||||
|
||||
|
||||
Application Programming Interface
|
||||
=================================
|
||||
|
||||
The developer can access the stack through interrupt 0x40, function 53.
|
||||
The file TFTPC.ASM gives a good example of how to use the programming
|
||||
interface ( at least, for UDP), but as network communication is complex
|
||||
I'll give an overview.
|
||||
|
||||
|
||||
Sockets
|
||||
=======
|
||||
|
||||
Applications connect to each other and pass information between themselves
|
||||
through a mechanism called a 'socket'. Sockets are end-points for
|
||||
communication; You need one at each application to communicate.
|
||||
|
||||
Using sockets is a little like using files on an OS; You open them, read
|
||||
and write to them, then close them. The only thing that makes life slightly
|
||||
more complicated is that unlike with a file, you have something intelligent
|
||||
at the other end ( which for example may not want to close when you do! )
|
||||
|
||||
Lets deal with the terminology before we go any further.
|
||||
|
||||
socket A unique identifier used by the application for communication.
|
||||
local port A number that identifies this application on the local host.
|
||||
Ports are a way to allow multiple applications to communicate
|
||||
with other hosts without the data becoming mixed up. ( The
|
||||
technical term is 'multiplex' ). Port numbers are 16 bit.
|
||||
remote port A number that identifies the application on the remote host
|
||||
to which we are communicating with. To the remote host, this is
|
||||
it's 'local port'. Port numbers are 16 bit.
|
||||
IP Address A 32 bit number that identifies the remote host PC that we are
|
||||
communicating with.
|
||||
Passive Refers to the mode by which a socket is opened; When opening in
|
||||
passive mode, the local PC is awaiting an incoming connection.
|
||||
Active Refers to the mode by which a socket is opened; When opening in
|
||||
active mode, the local PC will attempt to connect to a remote
|
||||
PC.
|
||||
|
||||
When you connect to a socket on a remote PC, you need to specify more than
|
||||
just the IP address, otherwise the remote stack will not know to which
|
||||
application it should send your data. You must fully qualify the address,
|
||||
which means you specify the IP address and the port number. This would be
|
||||
written like this
|
||||
|
||||
192.168.1.10:80 ; Connect to port 80 on the machine 192.168.1.10
|
||||
|
||||
Port numbers are important. Some are 'well known' and provide access to
|
||||
common applications. For example port 80 is used by HTTP servers; That
|
||||
way I can connect to a webserver on a host without having to find out
|
||||
what port number the application is listening on.
|
||||
|
||||
This brings me to the way in which you open a socket; As I said earlier,
|
||||
there are two modes, Passive and Active. A webserver would open a passive
|
||||
socket, as it is waiting for incoming connection requests. A web browser
|
||||
would open an active socket because it is attempting to connect to a
|
||||
specified remote host.
|
||||
|
||||
|
||||
Access to programming interface
|
||||
===============================
|
||||
The developer accesses the stack functions through interrupt 0x40,
|
||||
function 53. Some functions may be accessed through function 52, but these
|
||||
are mainly for stack configuration.
|
||||
Here is a summary of the functions that you may use and the parameter
|
||||
definitions.
|
||||
|
||||
|
||||
Get Local IP Address
|
||||
--------------------
|
||||
eax = 52
|
||||
ebx = 1
|
||||
|
||||
IP address returned in eax ( in internet byte order )
|
||||
|
||||
|
||||
Write to stack input queue
|
||||
--------------------------
|
||||
eax = 52
|
||||
ebx = 6
|
||||
edx = number of bytes to write
|
||||
esi = pointer to data ( in application space )
|
||||
|
||||
On return, eax holds 0 for OK, or 0xFFFFFFFF for error.
|
||||
This interface is for slow network drivers only ( PPP, SLIP )
|
||||
|
||||
|
||||
Read data from network output queue
|
||||
-----------------------------------
|
||||
eax = 52
|
||||
ebx = 8
|
||||
esi = pointer to data ( in application space )
|
||||
|
||||
On return, eax holds number of bytes transferred.
|
||||
This interface is for slow network drivers only ( PPP, SLIP )
|
||||
|
||||
|
||||
Open a UDP socket
|
||||
-----------------
|
||||
eax = 53
|
||||
ebx = 0
|
||||
ecx = local port
|
||||
edx = remote port
|
||||
esi = remote ip address ( in internet byte order )
|
||||
|
||||
The socket number allocated is returned in eax.
|
||||
A return value of 0xFFFFFFFF means no socket could be opened.
|
||||
|
||||
|
||||
Open a TCP socket
|
||||
-----------------
|
||||
eax = 53
|
||||
ebx = 5
|
||||
ecx = local port
|
||||
edx = remote port
|
||||
esi = remote ip address ( in internet byte order )
|
||||
edi = mode : SOCKET_PASSIVE or SOCKET_ACTIVE ( defined in stack.inc )
|
||||
|
||||
The socket number allocated is returned in eax.
|
||||
A return value of 0xFFFFFFFF means no socket could be opened.
|
||||
|
||||
|
||||
Close a socket (UDP Only )
|
||||
--------------------------
|
||||
eax = 53
|
||||
ebx = 1
|
||||
ecx = socket number
|
||||
|
||||
On return, eax holds 0 for OK, or 0xFFFFFFFF for error.
|
||||
|
||||
|
||||
Close a socket (TCP Only )
|
||||
--------------------------
|
||||
eax = 53
|
||||
ebx = 8
|
||||
ecx = socket number
|
||||
|
||||
On return, eax holds 0 for OK, or 0xFFFFFFFF for error.
|
||||
|
||||
|
||||
Poll socket
|
||||
-----------
|
||||
eax = 53
|
||||
ebx = 2
|
||||
ecx = socket number
|
||||
|
||||
On return, eax holds the number of bytes in the receive buffer.
|
||||
|
||||
|
||||
Read socket data
|
||||
----------------
|
||||
eax = 53
|
||||
ebx = 3
|
||||
ecx = socket number
|
||||
|
||||
On return, eax holds the number of bytes remaining, bl holds a data byte.
|
||||
|
||||
|
||||
Write to socket ( UDP only )
|
||||
----------------------------
|
||||
eax = 53
|
||||
ebx = 4
|
||||
ecx = socket number
|
||||
edx = number of bytes to write
|
||||
esi = pointer to data ( in application space )
|
||||
|
||||
On return, eax holds 0 for OK, or 0xFFFFFFFF for error.
|
||||
|
||||
|
||||
Return socket status ( TCP only )
|
||||
---------------------------------
|
||||
eax = 53
|
||||
ebx = 6
|
||||
ecx = socket number
|
||||
|
||||
On return, eax holds the sockets TCP status.
|
||||
This function can be used to determine when a socket has actually connected
|
||||
to another socket - data cannot be written to a socket until the connection
|
||||
is established (TCB_ESTABLISHED). The states a socket can be in are defined
|
||||
in stack.inc as TCB_
|
||||
|
||||
|
||||
Write to socket ( TCP only )
|
||||
----------------------------
|
||||
eax = 53
|
||||
ebx = 7
|
||||
ecx = socket number
|
||||
edx = number of bytes to write
|
||||
esi = pointer to data ( in application space )
|
||||
|
||||
On return, eax holds 0 for OK, or 0xFFFFFFFF for error.
|
||||
|
||||
|
||||
Check port number
|
||||
-----------------
|
||||
eax = 53
|
||||
ebx = 9
|
||||
ecx = port number
|
||||
|
||||
This function is used to determine if a port number
|
||||
is in use by any sockets as a local port number. Local
|
||||
port numbers are normally unique.
|
||||
|
||||
On return, eax is 1 for port number not in use, 0 otherwise.
|
||||
|
||||
|
||||
Opening a TCP socket in Kolibri
|
||||
===============================
|
||||
|
||||
There are two ways to open a socket - Passive or Active.
|
||||
|
||||
In a Passive connection your application 'listens' for incoming
|
||||
requests from remote applications. Typically this will be done when
|
||||
you are implementing a server application that allows any other
|
||||
application to connect to it. You would specify a 'known' local
|
||||
port number, such as 80 for a web server. You would leave the
|
||||
remote IP and remote port number as 0, which indicates any
|
||||
remote application may connect.
|
||||
|
||||
Once the socket has been opened you would wait for an incoming
|
||||
connection before doing anything. This can be by either checking
|
||||
the socket status for TCB_ESTABLISHED, or waiting for data in the
|
||||
receive buffer.
|
||||
|
||||
In an Active connection, you are making a connection to a specified
|
||||
remote port. The remote IP and remote port parameters must be filled
|
||||
in with non-zero values ( otherwise, what are you connecting to? ).
|
||||
You also specify a unique local port number so the remote application
|
||||
can uniquely identify you - after all, there may be several applications
|
||||
on your machine connected to the same remote host. See below for finding
|
||||
a unique port number.
|
||||
|
||||
|
||||
How to find an unused local port number
|
||||
=======================================
|
||||
|
||||
Typically when you are creating an active connection to a remote
|
||||
socket you will want to choose a unique local port number. Local
|
||||
port numbers normally start from 1000; The following code may
|
||||
be used to obtain an unused port number prior to making the
|
||||
open socket call.
|
||||
|
||||
mov ecx, 1000 ; local port starting at 1000
|
||||
|
||||
getlp:
|
||||
inc ecx
|
||||
push ecx
|
||||
mov eax, 53
|
||||
mov ebx, 9
|
||||
int 0x40
|
||||
pop ecx
|
||||
cmp eax, 0 ; is this local port in use?
|
||||
jz getlp ; yes - so try next
|
||||
|
||||
; ecx contains a free local port number
|
||||
|
||||
|
||||
|
||||
Writing data to a socket
|
||||
========================
|
||||
|
||||
There are two functions available depending on whether the socket
|
||||
was opened for TCP or UDP protocol; The call parameters are the
|
||||
same however. When the socket is being opened for TCP, use the
|
||||
status function to poll for a connection - data cannot be written
|
||||
to a socket until another socket has connected to it, and the
|
||||
state of the socket is TCB_ESTABLISHED.
|
||||
|
||||
When you write data, the call results in a single IP packet being
|
||||
created and transmitted. Thus the user application is responsible for
|
||||
the size of transmitted packets. Keep the packet sizes under 768 bytes.
|
||||
If you are writing a terminal program like telnet, you may want to send
|
||||
a packet for each keystroke ( inefficient ) or use a timer to send data
|
||||
periodically ( say, every second ).
|
||||
|
||||
|
||||
Reading data from a socket
|
||||
==========================
|
||||
|
||||
There is one function to read data from a sockets receive buffer. This
|
||||
function retrieves one byte at a time. You can use the poll function to
|
||||
test the receive buffer for data.
|
||||
|
||||
|
||||
Closing a socket
|
||||
================
|
||||
|
||||
Simply call the appropriate function - there is one for TCP, and another
|
||||
for UDP. When closing a TCP socket, don't forget that the other end
|
||||
may continue to send data, so the socket may remain active for a
|
||||
few seconds after your call.
|
||||
|
||||
|
||||
If you have any questions or have suggestions for improving this
|
||||
document please contact me at mikeh@oceanfree.net.
|
|
@ -0,0 +1,104 @@
|
|||
Vertical Refresh Rater
|
||||
|
||||
Version 2.0
|
||||
|
||||
Copyright (C) 2003, Trans
|
||||
|
||||
|
||||
Text Version 1.1 (02.08.03)
|
||||
|
||||
Win text (cp1251). (DOS codepage text - see down.)
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Contents:
|
||||
1. Why it need?
|
||||
2. Installation.
|
||||
3. Using.
|
||||
4. FAQ.
|
||||
5. Support.
|
||||
|
||||
1. Why it need?
|
||||
---------------------
|
||||
The problem of "60 Hz" is falling stand before of users of MeOS in modern condisions.
|
||||
As a rule, most modern computers consist of 17" monitor (all written later is not actual
|
||||
for owners of LCD monitors). If on 14" or 15" monitors the problem of "60 Hz" not a
|
||||
main, but with 17" monitor it's a most pantfull. And with more size monitors I have no
|
||||
words for discusion: it's a slade-show. Of couse, all of the upper correlated with
|
||||
standart interface of VESA. As for VESA 3.0 - yes, interface have more rich features,
|
||||
but it have no possiblity of change videomode in protect mode (the Virtual86 not realized
|
||||
in MeOS !!!!!).
|
||||
|
||||
The MeOS not known as a detected devices on boot, it setting of standard VESA videomode
|
||||
with 60 Hz vertical refrash rate !
|
||||
|
||||
This programm is a FreeWare. And distribute "AS IS ...". Author not
|
||||
carreing responsibility for probable damage :) .
|
||||
|
||||
!!!!!_Warning_!!!!!:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
! On this time programm have a EXPERIMENTAL status (!). And this reason you have a !
|
||||
! chance destroy own device (monitor). Espesialy this taking attantionall users with !
|
||||
! monitor without of rate protection. !
|
||||
! If you decide using this util I have a suggestion: fill of information form and !
|
||||
! send me. !
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
2. Installation.
|
||||
-----------------
|
||||
Extract file VRR (it's ordinary executed MeOS file) from archive and situated it on
|
||||
C:\ root or MeOS floppy. In main, VRR may situated on any directory (you must have
|
||||
possibility run this file under MeOS).
|
||||
|
||||
|
||||
3. Using.
|
||||
----------
|
||||
The VRR is a standard executed file of Menuet Operation System. You may send on
|
||||
execute this file by SYSTREE or MASH.
|
||||
|
||||
After redraw of programm window will be present of current vertical refrash rate
|
||||
and table with possibiling videoregimes. It's sorrably, table have VERY small
|
||||
videomode (the programm is experimental).
|
||||
|
||||
Change of videomode
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
You may select interesting videomode using _ONLY_ numerical keys: 1,2,3,4 and 5.
|
||||
In a first step you must select resolution of videoregime. In a second step - need
|
||||
select of vertical refresh rate. All changes are indicated on screen in a the
|
||||
programm window. After select videomode, to set mode you must press "Enter" or
|
||||
button "Ok". Notification: in this time all executing MeOS programs will be
|
||||
killing. It this needed for minimize artefacts of the screen. After change videomode
|
||||
you have a two way. First way: you can not any doing and after 13 seconds waiting
|
||||
return last videomode. Second way: press two-three time any key or some time mouse
|
||||
click on artefacts of VRR (or this plase) and fixing selected mode. Also you have
|
||||
possibility modification of horizontal screen size by button "Left"\"Right" or keys
|
||||
"+\-". For correcting your select you may use button "Cancel".
|
||||
|
||||
Also in programm realized return at initial videomode with 60 Hz vertical refresh
|
||||
by button "Default". And you may return in last videomode by button "Return" or
|
||||
key "r"
|
||||
|
||||
Note:
|
||||
~~~~~~
|
||||
In this time programm may change vertical refresh rate _ONLY_ by lowing screen
|
||||
resolution, because this method will be using at most part videocard
|
||||
(VGA, SVGA or modern)
|
||||
|
||||
Example:
|
||||
If you have videomode 1024x768x60Hz and if you want select 800x600x95Hz, you must
|
||||
press key "3" and key "1". After that key "Enter" or button "Ok". And after redraw
|
||||
screen two time click on last program window position. If need using button
|
||||
"Left\Right" for correcting horizontal size.
|
||||
|
||||
4. FAQ.
|
||||
----------
|
||||
|
||||
5. Supports.
|
||||
----------------
|
||||
All questions, notes and wishs you may send to author by following e-mail:
|
||||
|
||||
transafe@rambler.ru
|
||||
transafe@chat.ru
|
||||
trans397@yahoo.com
|
||||
|
||||
Using with enjoy!
|
||||
Trans.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,175 @@
|
|||
;;===Common_preferences=================================================
|
||||
[Preferences]
|
||||
Speed=80
|
||||
; SLOW == 0 <= Speed <= 100 == FAST
|
||||
Theme=Theme_standard
|
||||
; Theme name to use
|
||||
; See [Theme_*] sections below for available themes
|
||||
; Name of any theme must be shorter than 30 chars
|
||||
;;---Common_preferences-------------------------------------------------
|
||||
|
||||
;;===Visual_themes======================================================
|
||||
[Theme_standard]
|
||||
; all these keys are optional
|
||||
Decorations = 2
|
||||
; 0 = nothing
|
||||
; 1 = grid_lines
|
||||
; 2 = grid_lines_with_ends
|
||||
; 3 = grid_lines_with_corners
|
||||
; 4 = grid_dots
|
||||
; 5 = borders_lines
|
||||
; 6 = borders_lines_with_corners
|
||||
; 7 = borders_dots
|
||||
; 8 = corners_dots
|
||||
; 9 = corners_inner
|
||||
; 10 = corners_outer
|
||||
; 11 = corners_crosses
|
||||
Background_color = 0,0,0
|
||||
Decorations_color = 170,170,0
|
||||
Snake_color = 17,17,255
|
||||
Snake_head_color = 107,107,255
|
||||
; by default Snake_head_color is equal to Snake_color, so the snake has no head
|
||||
Snake_picture_color = 68,136,255
|
||||
; color of big 'SNAKE' label at start menu
|
||||
Version_picture_color = 85,255,85
|
||||
Pause_picture_color = 17,255,17
|
||||
Game_over_picture_color = 255,17,17
|
||||
; ... if you end game without new record
|
||||
You_win_picture_color = 255,255,17
|
||||
; ... if you end game with new record
|
||||
Navigation_string_color = 255,119,119
|
||||
; color of 'PRESS * to *' and like this strings
|
||||
Game_over_string_color = 255,153,0
|
||||
; color of strings on game_over screen
|
||||
Game_over_hiscore_color = 255,221,68
|
||||
; color of new hiscore and champion name on game_over screen
|
||||
Eat_color = 255,255,17
|
||||
Score_number_color = 255,255,255
|
||||
; color of "SCORE : " string at the left bottom screen part
|
||||
Score_string_color = 255,255,255
|
||||
; color of digits after "SCORE : "
|
||||
Level_string_color = 255,255,255
|
||||
; color of "LEVEL : " string at the left bottom screen part
|
||||
Level_number_color = 255,255,255
|
||||
; color of digits after "LEVEL : "
|
||||
Hiscore_number_color = 255,255,255
|
||||
Hiscore_string_color = 255,255,255
|
||||
Champion_string_color = 255,255,255
|
||||
Champion_name_color = 255,255,255
|
||||
Edit_box_selection_color= 0,176,0
|
||||
Button_color = 221,221,221
|
||||
; color of buttons 'play', 'exit' etc at start menu
|
||||
Button_text_color = 0,0,0
|
||||
; color of the text on these buttons
|
||||
Stone_color = 95,135,0
|
||||
Splash_background_color = 170,170,0
|
||||
; background color for "LEVEL ??" label between levels
|
||||
Splash_level_string_color= 0,0,0
|
||||
; color of "LEVEL" label
|
||||
Splash_level_number_color= 0,0,0
|
||||
; color of two level number digits on splash between levels
|
||||
|
||||
[Theme_light]
|
||||
Decorations = 2
|
||||
Background_color = 245,245,245
|
||||
Decorations_color = 55,55,55
|
||||
Snake_color = 225,125,225
|
||||
Snake_head_color = 255,125,55
|
||||
Snake_picture_color = 105,155,205
|
||||
Version_picture_color = 155,255,0
|
||||
Pause_picture_color = 75,255,75
|
||||
Game_over_picture_color = 225,125,105
|
||||
You_win_picture_color = 55,255,155
|
||||
Navigation_string_color = 205,105,105
|
||||
Game_over_string_color = 205,105,105
|
||||
Game_over_hiscore_color = 205,75,75
|
||||
Eat_color = 225,225,25
|
||||
Score_number_color = 100,100,255
|
||||
Score_string_color = 100,100,255
|
||||
Level_string_color = 100,100,255
|
||||
Level_number_color = 100,100,255
|
||||
Hiscore_number_color = 100,100,255
|
||||
Hiscore_string_color = 100,100,255
|
||||
Champion_string_color = 100,100,255
|
||||
Champion_name_color = 100,100,255
|
||||
Edit_box_selection_color= 0,176,0
|
||||
Button_color = 221,221,221
|
||||
Button_text_color = 0,0,0
|
||||
Stone_color = 105,185,255
|
||||
Splash_background_color = 185,255,185
|
||||
Splash_level_string_color= 165,165,255
|
||||
Splash_level_number_color= 255,165,165
|
||||
|
||||
[Theme_ultra_white]
|
||||
Decorations = 10
|
||||
Background_color = 255,255,255
|
||||
Decorations_color = 0,0,0
|
||||
Snake_color = 30,30,30
|
||||
Snake_head_color = 30,30,30
|
||||
Snake_picture_color = 30,30,30
|
||||
Version_picture_color = 70,70,70
|
||||
Pause_picture_color = 30,30,30
|
||||
Game_over_picture_color = 30,30,30
|
||||
You_win_picture_color = 105,105,105
|
||||
Navigation_string_color = 255,255,255
|
||||
Game_over_string_color = 30,30,30
|
||||
Game_over_hiscore_color = 0,0,0
|
||||
Eat_color = 0,255,0
|
||||
Score_number_color = 0,0,0
|
||||
Score_string_color = 255,255,255
|
||||
Level_string_color = 255,255,255
|
||||
Level_number_color = 255,255,255
|
||||
Hiscore_number_color = 0,0,0
|
||||
Hiscore_string_color = 255,255,255
|
||||
Champion_string_color = 255,255,255
|
||||
Champion_name_color = 255,255,255
|
||||
Edit_box_selection_color= 176,176,176
|
||||
Button_color = 221,221,221
|
||||
Button_text_color = 0,0,0
|
||||
Stone_color = 145,145,145
|
||||
Splash_background_color = 205,205,205
|
||||
Splash_level_string_color= 255,255,255
|
||||
Splash_level_number_color= 255,255,255
|
||||
|
||||
[Theme_ultra_black]
|
||||
Decorations = 6
|
||||
Background_color = 0,0,0
|
||||
Decorations_color = 255,255,255
|
||||
Snake_color = 255,255,255
|
||||
Snake_head_color = 255,255,255
|
||||
Snake_picture_color = 255,255,255
|
||||
Version_picture_color = 225,225,225
|
||||
Pause_picture_color = 225,225,225
|
||||
Game_over_picture_color = 225,225,225
|
||||
You_win_picture_color = 255,255,255
|
||||
Navigation_string_color = 0,0,0
|
||||
Game_over_string_color = 225,225,225
|
||||
Game_over_hiscore_color = 225,225,225
|
||||
Eat_color = 255,0,0
|
||||
Score_number_color = 255,255,255
|
||||
Score_string_color = 255,255,255
|
||||
Level_string_color = 0,0,0
|
||||
Level_number_color = 0,0,0
|
||||
Hiscore_number_color = 255,255,255
|
||||
Hiscore_string_color = 255,255,255
|
||||
Champion_string_color = 0,0,0
|
||||
Champion_name_color = 0,0,0
|
||||
Edit_box_selection_color= 100,100,100
|
||||
Button_color = 221,221,221
|
||||
Button_text_color = 0,0,0
|
||||
Stone_color = 145,145,145
|
||||
Splash_background_color = 30,30,30
|
||||
Splash_level_string_color= 255,255,255
|
||||
Splash_level_number_color= 255,255,255
|
||||
|
||||
[Theme_your_theme_name]
|
||||
|
||||
;;---Visual_themes------------------------------------------------------
|
||||
|
||||
;;===Reserved_Section===================================================
|
||||
[Reserved]
|
||||
Square_side_length=19
|
||||
Champion_name_classic=
|
||||
Hiscore_classic=777
|
||||
Champion_name_levels=
|
||||
Hiscore_levels=222
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,27 @@
|
|||
AA-FASM -010-/SYS/DEVELOP/FASM - *
|
||||
AB-TINYPAD -009-/SYS/TINYPAD - *
|
||||
BA-EOLITE -002-/SYS/File Managers/EOLITE - *
|
||||
CA-SHELL -020-/SYS/SHELL - *
|
||||
BB-KFAR -024-/SYS/File Managers/KFAR - *
|
||||
AC-RDSAVE -017-/SYS/RDSAVE - *
|
||||
BC-CALC -004-/SYS/CALC - *
|
||||
CB-KFM -005-/SYS/File Managers/KFM - *
|
||||
JA-VRR -007-/SYS/VRR - *
|
||||
II-C4 -003-/SYS/GAMES/C4 - *
|
||||
JI-MINE -014-/SYS/GAMES/MINE - *
|
||||
IH-TETRIS -018-/SYS/GAMES/TETRIS - *
|
||||
JH-MBLOCKS -011-/SYS/GAMES/MBLOCKS - *
|
||||
HI-PONG -012-/SYS/GAMES/PONG3 - *
|
||||
GI-15 -000-/SYS/GAMES/15 - *
|
||||
HH-LIFE2 -013-/SYS/DEMOS/LIFE2 - *
|
||||
JB-ANIMAGE -015-/SYS/MEDIA/ANIMAGE - *
|
||||
IA-BOARD -019-/SYS/DEVELOP/BOARD - *
|
||||
JC-DOCPACK -008-/SYS/DOCPAK - *
|
||||
HA-MTDBG -025-/SYS/DEVELOP/MTDBG - *
|
||||
AH-PIPES -026-/SYS/GAMES/PIPES - *
|
||||
AI-SUDOKU -030-/SYS/GAMES/SUDOKU - *
|
||||
BI-ARC-II -012-/SYS/GAMES/ARCANII - *
|
||||
BH-XONIX -021-/SYS/GAMES/XONIX - *
|
||||
GH-CHECKERS-001-/SYS/GAMES/CHECKERS - *
|
||||
CI-KOSILKA -023-/SYS/GAMES/KOSILKA - *
|
||||
CH-GOMOKU -029-/SYS/GAMES/GOMOKU - *
|
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head>
|
||||
<title>KolibriOS web server - default message</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Welcome to KolibriOS server</h1>
|
||||
<p>
|
||||
If you can read this with an external html-browser then Kolibri
|
||||
networking is correctly set up.
|
||||
<br /><br />This file: /rd/1/index.htm
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="/TinyStat">TinyStat</a></li>
|
||||
<li><a href="/TinyBoard">TinyBoard</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
lang fix en
|
|
@ -0,0 +1,28 @@
|
|||
[start]
|
||||
startlng = 1
|
||||
|
||||
[comkey]
|
||||
ccomkey1 = 1
|
||||
ccomkey2 = 4
|
||||
ccomkey3 = 7
|
||||
|
||||
[altkey]
|
||||
altkey1 = 1
|
||||
altkey2 = 4
|
||||
altkey3 = 7
|
||||
altkey4 = 3
|
||||
altkey5 = 5
|
||||
altkey6 = 6
|
||||
altkey7 = 2
|
||||
altkey8 = 0
|
||||
altkey9 = 0
|
||||
altkey0 = 0
|
||||
|
||||
[langs]
|
||||
1 = En
|
||||
2 = Fi
|
||||
3 = Ge
|
||||
4 = Ru
|
||||
5 = Fr
|
||||
6 = Et
|
||||
7 = Ua
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
[Shortcuts]
|
||||
Next=PgDn
|
||||
Prev=PgUp
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,177 @@
|
|||
#0 **** MAIN ****
|
||||
Games > /@1
|
||||
Demos > /@4
|
||||
Graphics > /@6
|
||||
Sound and music > /@7
|
||||
Development > /@8
|
||||
System > /@10
|
||||
Data processing > /@14
|
||||
Network > /@15
|
||||
Other > /@18
|
||||
Help /rd/1/docpak
|
||||
Run application /rd/1/run
|
||||
Shutdown /rd/1/end
|
||||
#1 **** GAMES ****
|
||||
Logical games > /@2
|
||||
Arcades > /@3
|
||||
Spectrum emulator /rd/1/e80
|
||||
Memory Blocks /rd/1/games/mblocks
|
||||
FreeCell /rd/1/games/freecell
|
||||
Pipes /rd/1/games/pipes
|
||||
Kosilka /rd/1/games/kosilka
|
||||
RockeT ForceS /rd/1/games/rforces
|
||||
Find Numbers /rd/1/games/FindNumbers
|
||||
#2 **** LOGICAL GAMES ****
|
||||
C4 /rd/1/games/c4
|
||||
15 /rd/1/games/15
|
||||
Mine /rd/1/games/mine
|
||||
Just Clicks /rd/1/games/clicks
|
||||
Checkers /rd/1/games/checkers
|
||||
SQ_GAME /rd/1/games/sq_game
|
||||
Color Lines /rd/1/games/lines
|
||||
Lights /rd/1/games/lights
|
||||
Criss-Cross /rd/1/games/kox
|
||||
Bulls and cows /rd/1/games/bnc
|
||||
MegaMaze /rd/1/games/megamaze
|
||||
Sea Fight /rd/1/games/sw
|
||||
Sudoku /rd/1/games/sudoku
|
||||
Go-moku /rd/1/games/gomoku
|
||||
Reversi /rd/1/games/reversi
|
||||
#3 **** ARCADES ****
|
||||
Tetris /rd/1/games/tetris
|
||||
Pong /rd/1/games/pong
|
||||
New Pong /rd/1/games/pong3
|
||||
Red Square /rd/1/games/rsquare
|
||||
XONIX /rd/1/games/xonix
|
||||
ArcanII /rd/1/games/arcanii
|
||||
Phenix /rd/1/games/phenix
|
||||
Snake /rd/1/games/snake
|
||||
#4 **** DEMOS ****
|
||||
3D > /@5
|
||||
Fire /rd/1/demos/fire
|
||||
Circle /rd/1/demos/circle
|
||||
Fractal /rd/1/demos/tinyfrac
|
||||
Color demo /rd/1/demos/colorref
|
||||
Eyes /rd/1/demos/eyes
|
||||
Tube /rd/1/demos/tube
|
||||
Plasma /rd/1/demos/plasma
|
||||
Moveback /rd/1/demos/movback
|
||||
Life /rd/1/demos/life2
|
||||
TranTest /rd/1/demos/trantest
|
||||
WEB /rd/1/demos/web
|
||||
FireWork /rd/1/demos/firework
|
||||
UnvWater /rd/1/demos/unvwater
|
||||
#5 **** 3D demos ****
|
||||
ScreenSaver /rd/1/3d/crownscr
|
||||
3D-cube /rd/1/3d/3dcube2
|
||||
3D-labyrinth /rd/1/3d/free3d04
|
||||
3D-textured cube /rd/1/3d/3dtcub10
|
||||
3DSHeart /rd/1/3d/3dsheart
|
||||
View3DS /rd/1/3d/view3ds
|
||||
CubeLine /rd/1/3d/cubeline
|
||||
3D-textured cube 2 /rd/1/3d/cubetext
|
||||
Gears /rd/1/3d/gears
|
||||
FlatWave /rd/1/3d/flatwav
|
||||
3D-spiral /rd/1/3d/3dspiral
|
||||
#6 **** GRAPHICS ****
|
||||
Image viewer /rd/1/media/kiv
|
||||
Animage /rd/1/media/animage
|
||||
#7 **** AUDIO ****
|
||||
MidAMP /rd/1/media/midamp
|
||||
CD player /rd/1/media/cdp
|
||||
#8 **** PROGRAMMING ****
|
||||
Examples > /@9
|
||||
Tools > /@20
|
||||
#9 **** EXAMPLES ****
|
||||
Threads /rd/1/develop/thread
|
||||
IPC /rd/1/develop/ipc
|
||||
Color slider /rd/1/demos/cslide
|
||||
Console example 1 /rd/1/develop/testcon2
|
||||
Console example 2 /rd/1/develop/test_gets
|
||||
Message Boxes example /rd/1/demos/use_mb
|
||||
#10 **** SYSTEM ****
|
||||
Settings > /@11
|
||||
System sensors > /@12
|
||||
Work with files > /@13
|
||||
Testing > /@19
|
||||
Accessibility opt. > /@21
|
||||
Debug board /rd/1/develop/board
|
||||
#11 **** SETTINGS ****
|
||||
Devices /rd/1/setup
|
||||
Background generator /rd/1/pic4
|
||||
Colors & Skin /rd/1/desktop
|
||||
Panel /rd/1/spanel
|
||||
Icons manager /rd/1/icon
|
||||
VRR /rd/1/vrr
|
||||
MyKey /rd/1/mykey
|
||||
Video mode for ATI /rd/1/vmode
|
||||
#12 **** SYSTEM SENSORS ****
|
||||
Process manager /rd/1/cpu
|
||||
PCI devices /rd/1/pcidev
|
||||
Test graphics speed /rd/1/mgb
|
||||
CPUID /rd/1/cpuid
|
||||
Ghost Monitor /rd/1/gmon
|
||||
K. Bus disconnected /rd/1/kbd
|
||||
HDD informer /rd/1/hdd_info
|
||||
Read HDD /rd/1/hdread
|
||||
#13 **** WORK WITH FILES ****
|
||||
KFAR /rd/1/File Managers/kfar
|
||||
KFM /rd/1/File Managers/kfm
|
||||
Eolite /rd/1/File Managers/Eolite
|
||||
SHELL console /rd/1/shell
|
||||
SysXTree /rd/1/sysxtree
|
||||
Save RD image /rd/1/rdsave
|
||||
#14 **** DATA PROCESSING ****
|
||||
Calculator /rd/1/calc
|
||||
TinyPad /rd/1/tinypad
|
||||
Table Processor /rd/1/table
|
||||
Graph builder /rd/1/graph
|
||||
Hex-Editor /rd/1/demos/heed
|
||||
#15 **** NET ****
|
||||
Servers > /@16
|
||||
Clients > /@17
|
||||
Configuration /rd/1/network/stackcfg
|
||||
Zero-Config /rd/1/network/zeroconf
|
||||
Network status /rd/1/network/ethstat
|
||||
ARP status /rd/1/network/arpstat
|
||||
#16 **** SERVERS ****
|
||||
SMTPS /rd/1/network/smtps
|
||||
HTTPS /rd/1/network/https
|
||||
FTPS /rd/1/network/ftps
|
||||
#17 **** CLIENTS ****
|
||||
TFTP client /rd/1/network/tftpc
|
||||
Internet-chess /rd/1/network/chess
|
||||
Simple HTTP client /rd/1/network/httpc
|
||||
HTML+HTTP viewer /rd/1/htmlv
|
||||
NNTP-NewsGroups /rd/1/network/nntpc
|
||||
TELNET /rd/1/network/telnet
|
||||
POP - MAIL /rd/1/network/popc
|
||||
IRC client /rd/1/network/airc
|
||||
YAHOO messenger (demo) /rd/1/network/ym
|
||||
JMail /rd/1/network/jmail
|
||||
VNC client /rd/1/network/vncclient
|
||||
DNS resolver /rd/1/network/nslookup
|
||||
#18 **** OTHER ****
|
||||
Analogue clock /rd/1/demos/aclock
|
||||
Binary clock /rd/1/demos/bcdclk
|
||||
Timer /rd/1/demos/timer
|
||||
ScrShoot /rd/1/scrshoot
|
||||
Calendar /rd/1/calendar
|
||||
BGI Font demo /rd/1/fonts/bgitest
|
||||
RTF reader /rd/1/rtfread
|
||||
#19 **** SYSTEM TESTS ****
|
||||
Protection test /rd/1/test
|
||||
Monitor test /rd/1/disptest
|
||||
#20 **** PROGRAMMING TOOLS ****
|
||||
Archiver KPack /rd/1/kpack
|
||||
Flat Assembler /rd/1/develop/fasm
|
||||
ASCII-codes /rd/1/develop/keyascii
|
||||
SCAN-codes /rd/1/develop/scancode
|
||||
Hex2Dec2Bin /rd/1/develop/h2d2b
|
||||
Debug Board /rd/1/develop/board
|
||||
Debugger /rd/1/develop/mtdbg
|
||||
#21 **** SYSTEM SPECIAL ****
|
||||
Screen magnifier /rd/1/magnify
|
||||
Screen keyboard /rd/1/zkey
|
||||
Character table /rd/1/ASCIIVju
|
||||
##
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,19 @@
|
|||
[ipconfig]
|
||||
; type should be static or zeroconf
|
||||
; zeroconf means the service first tries to contact a DHCP server
|
||||
; If dhcp is not available, it switches to link-local
|
||||
type = zeroconf
|
||||
ip = 10.0.2.15
|
||||
gateway = 10.0.2.2
|
||||
dns = 10.0.2.2
|
||||
subnet = 255.255.255.0
|
||||
[proxy]
|
||||
; If Internet connection requires HTTP proxy, set it here
|
||||
; and uncomment following lines:
|
||||
;proxy = <set your proxy IP-addr or domain name here>
|
||||
;port = <set your proxy port here>
|
||||
; If proxy requires authentification, uncomment following lines too
|
||||
; (otherwise, leave them commented):
|
||||
;user = <set username here>
|
||||
;password= <set password here>
|
||||
|
|
@ -0,0 +1 @@
|
|||
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue