diff --git a/data/Tupfile.lua b/data/Tupfile.lua
index 8c8d302e5..8d4f56698 100644
--- a/data/Tupfile.lua
+++ b/data/Tupfile.lua
@@ -195,8 +195,8 @@ extra_files = {
{"kolibrios/develop/utils/SPEDump", SRC_PROGS .. "/develop/SPEDump/SPEDump.kex"},
{"kolibrios/emul/", "common/emul/*"},
{"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
- {"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/trunk/readme.txt"},
- {"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/trunk/keyboard.png"},
+ {"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/readme.txt"},
+ {"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/keyboard.png"},
{"kolibrios/emul/fceu/fceu", SRC_PROGS .. "/emulator/fceu/fceu"},
{"kolibrios/emul/fceu/FCEU ReadMe.txt", SRC_PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
{"kolibrios/emul/chip8/chip8", VAR_PROGS .. "/emulator/chip8/chip8"},
@@ -284,7 +284,7 @@ extra_files = {
{"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
{"kolibrios/res/skins/", "../skins/authors.txt"},
{"kolibrios/res/templates/", "common/templates/*"},
- {"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/trunk/games/*"},
+ {"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/games/*"},
{"kolibrios/res/templates/NES/", "common/templates/NES/*"},
{"kolibrios/res/wallpapers/", "common/wallpapers/*"},
{"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
@@ -409,7 +409,7 @@ tup.append_table(img_files, {
{"HACONFIG", VAR_PROGS .. "/other/ha/HACONFIG"},
{"ACLOCK", VAR_PROGS .. "/demos/aclock/aclock"},
{"APM", VAR_PROGS .. "/system/apm/apm"},
- {"CALC", VAR_PROGS .. "/other/calc/trunk/calc"},
+ {"CALC", VAR_PROGS .. "/other/calc/calc"},
{"CALCPLUS", VAR_PROGS .. "/other/calcplus/calcplus"},
{"CALENDAR", VAR_PROGS .. "/system/calendar/trunk/calendar"},
{"COLRDIAL", VAR_PROGS .. "/system/colrdial/color_dialog"},
@@ -435,7 +435,7 @@ tup.append_table(img_files, {
{"MYKEY", VAR_PROGS .. "/system/MyKey/trunk/MyKey"},
{"PCIDEV", VAR_PROGS .. "/testing/pcidev/trunk/PCIDEV"},
{"RDSAVE", VAR_PROGS .. "/system/rdsave/trunk/rdsave"},
- {"RTFREAD", VAR_PROGS .. "/other/rtfread/trunk/rtfread"},
+ {"RTFREAD", VAR_PROGS .. "/other/rtfread/rtfread"},
{"SEARCHAP", VAR_PROGS .. "/system/searchap/searchap"},
{"SCRSHOOT", VAR_PROGS .. "/media/scrshoot/scrshoot"},
{"SETUP", VAR_PROGS .. "/system/setup/trunk/setup"},
@@ -523,10 +523,10 @@ tup.append_table(img_files, {
{"LIB/RASTERWORKS.OBJ", VAR_PROGS .. "/develop/libraries/fontRasterWorks_unicode/RasterWorks.obj"},
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
- {"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/trunk/animage"},
+ {"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/animage"},
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
- {"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"},
- {"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"},
+ {"MEDIA/KIV", VAR_PROGS .. "/media/kiv/kiv"},
+ {"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/listplay"},
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
{"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"},
{"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/trunk/palitra"},
@@ -641,7 +641,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
}) end
if build_type == "ru_RU" then tup.append_table(extra_files, {
- {"kolibrios/utils/period", VAR_PROGS .. "/other/period/trunk/period"},
+ {"kolibrios/utils/period", VAR_PROGS .. "/other/period/period"},
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
}) end
@@ -752,7 +752,7 @@ tup.append_table(img_files, {
tup.append_table(extra_files, {
-- {"kolibrios/3D/cubeline", VAR_PROGS .. "/demos/cubeline/trunk/cubeline"},
{"kolibrios/3D/gears", VAR_PROGS .. "/demos/gears/gears"},
- {"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/trunk/e80"},
+ {"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/e80"},
{"kolibrios/emul/uarm/", VAR_CONTRIB .. "/other/uarm/uARM"},
{"kolibrios/games/2048", VAR_PROGS .. "/games/2048/2048"},
{"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/checkers"},
diff --git a/programs/build_all.bat b/programs/build_all.bat
index 4e64253b7..38ec1cbe2 100644
--- a/programs/build_all.bat
+++ b/programs/build_all.bat
@@ -13,12 +13,12 @@ rem
set __value=
set __res=
shift
-
+
:__allowed
set __values=%1 %__values%
shift
if not "%1"=="" goto __allowed
-
+
set /P __res=">
:Check_Value
for %%a in (%__values%) do if %%a==%__res% set __value=%__res%
@@ -59,7 +59,7 @@ echo *
fasm system\calendar\trunk\calendar.asm %BIN%\calendar
fasm system\board\trunk\board.asm %BIN%\develop\board
fasm system\commouse\trunk\commouse.asm %BIN%\commouse
-fasm system\cpu\trunk\cpu.asm %BIN%\cpu
+fasm system\cpu\trunk\cpu.asm %BIN%\cpu
fasm system\cpuid\trunk\cpuid.asm %BIN%\cpuid
fasm system\skincfg\trunk\skincfg.asm %BIN%\skincfg
fasm system\docpack\trunk\docpack.asm %BIN%\docpack
@@ -154,16 +154,16 @@ echo *
echo Building other
echo *
rem fasm other\archer\trunk\@rcher.asm %BIN%\@rcher
-fasm other\calc\trunk\calc.asm %BIN%\calc
+fasm other\calc\calc.asm %BIN%\calc
fasm other\mhc\trunk\mhc.asm %BIN%\mhc
-fasm other\period\trunk\period.asm %BIN%\period
-fasm other\rtfread\trunk\rtfread.asm %BIN%\rtfread
+fasm other\period\period.asm %BIN%\period
+fasm other\rtfread\rtfread.asm %BIN%\rtfread
echo *
echo Building media
echo *
rem media\ac97snd\trunk\ac97snd.asm ac97snd
-fasm media\animage\trunk\animage.asm %BIN%\animage
+fasm media\animage\animage.asm %BIN%\animage
fasm media\cdp\trunk\cdp.asm %BIN%\cdp
fasm media\gifview\trunk\gifview.asm %BIN%\gifview
fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit
@@ -231,9 +231,9 @@ echo *
echo Building depend application for fdd's nightbuild
echo *
echo __nightbuild fix yes >> config.inc
-fasm media\kiv\trunk\kiv.asm %BIN%\nightbuild\kiv
+fasm media\kiv\kiv.asm %BIN%\nightbuild\kiv
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
-fasm media\animage\trunk\animage.asm %BIN%\nightbuild\animage
+fasm media\animage\animage.asm %BIN%\nightbuild\animage
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
fasm develop\heed\trunk\heed.asm %BIN%\nightbuild\heed
fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad
@@ -242,27 +242,27 @@ fasm system\hdd_info\trunk\hdd_info.asm %BIN%\nightbuild\hdd_info
fasm system\mgb\trunk\mgb.asm %BIN%\nightbuild\mgb
fasm system\rdsave\trunk\rdsave.asm %BIN%\nightbuild\rdsave
fasm other\kpack\trunk\kpack.asm %BIN%\nightbuild\kpack
-fasm other\rtfread\trunk\rtfread.asm %BIN%\nightbuild\rtfread
+fasm other\rtfread\rtfread.asm %BIN%\nightbuild\rtfread
;restore
echo __CPU_type fix %res% > config.inc
erase lang.inc
echo *
-echo Finished building
+echo Finished building
echo *
kpack /nologo 2> nul
if "%errorlevel%"=="9009" (
echo *** NOTICE ***
-echo If you want to pack all applications you may
+echo If you want to pack all applications you may
echo place "kpack" in accessible directory.
echo You can download that tool from http://diamondz.land.ru/
goto END
)
echo Kpack KolibriOS apps?
-echo
+echo
set /P res=[y/n]?
@@ -273,7 +273,7 @@ echo Compressing system
echo *
kpack %BIN%\calendar
kpack %BIN%\develop\board
-kpack %BIN%\cpu
+kpack %BIN%\cpu
kpack %BIN%\cpuid
kpack %BIN%\skincfg
kpack %BIN%\docpack
diff --git a/programs/emulator/PrMK/trunk/MASMFpuLib.asm b/programs/emulator/PrMK/MASMFpuLib.asm
similarity index 100%
rename from programs/emulator/PrMK/trunk/MASMFpuLib.asm
rename to programs/emulator/PrMK/MASMFpuLib.asm
diff --git a/programs/emulator/PrMK/trunk/MK_b3-34_hand.bmp b/programs/emulator/PrMK/MK_b3-34_hand.bmp
similarity index 100%
rename from programs/emulator/PrMK/trunk/MK_b3-34_hand.bmp
rename to programs/emulator/PrMK/MK_b3-34_hand.bmp
diff --git a/programs/emulator/PrMK/trunk/PrMK.asm b/programs/emulator/PrMK/PrMK.asm
similarity index 100%
rename from programs/emulator/PrMK/trunk/PrMK.asm
rename to programs/emulator/PrMK/PrMK.asm
diff --git a/programs/emulator/PrMK/trunk/Tupfile.lua b/programs/emulator/PrMK/Tupfile.lua
similarity index 65%
rename from programs/emulator/PrMK/trunk/Tupfile.lua
rename to programs/emulator/PrMK/Tupfile.lua
index 47cdc824c..e6ab920f4 100644
--- a/programs/emulator/PrMK/trunk/Tupfile.lua
+++ b/programs/emulator/PrMK/Tupfile.lua
@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end
-HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
+HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua")
tup.rule("PrMK.asm", FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "PrMK")
diff --git a/programs/emulator/PrMK/trunk/docs/Calculator games.txt b/programs/emulator/PrMK/docs/Calculator games.txt
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/Calculator games.txt
rename to programs/emulator/PrMK/docs/Calculator games.txt
diff --git a/programs/emulator/PrMK/trunk/docs/Electronica MK-152 RE commands list.htm b/programs/emulator/PrMK/docs/Electronica MK-152 RE commands list.htm
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/Electronica MK-152 RE commands list.htm
rename to programs/emulator/PrMK/docs/Electronica MK-152 RE commands list.htm
diff --git a/programs/emulator/PrMK/trunk/docs/Programmable calculator BZ-34 MK-54 MK-56 commands system.htm b/programs/emulator/PrMK/docs/Programmable calculator BZ-34 MK-54 MK-56 commands system.htm
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/Programmable calculator BZ-34 MK-54 MK-56 commands system.htm
rename to programs/emulator/PrMK/docs/Programmable calculator BZ-34 MK-54 MK-56 commands system.htm
diff --git a/programs/emulator/PrMK/trunk/docs/b3-34help0.htm b/programs/emulator/PrMK/docs/b3-34help0.htm
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/b3-34help0.htm
rename to programs/emulator/PrMK/docs/b3-34help0.htm
diff --git a/programs/emulator/PrMK/trunk/docs/b3-34help1.htm b/programs/emulator/PrMK/docs/b3-34help1.htm
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/b3-34help1.htm
rename to programs/emulator/PrMK/docs/b3-34help1.htm
diff --git a/programs/emulator/PrMK/trunk/docs/b3-34help2.htm b/programs/emulator/PrMK/docs/b3-34help2.htm
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/b3-34help2.htm
rename to programs/emulator/PrMK/docs/b3-34help2.htm
diff --git a/programs/emulator/PrMK/trunk/docs/com_b334.jpg b/programs/emulator/PrMK/docs/com_b334.jpg
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/com_b334.jpg
rename to programs/emulator/PrMK/docs/com_b334.jpg
diff --git a/programs/emulator/PrMK/trunk/docs/danilov1.jpg b/programs/emulator/PrMK/docs/danilov1.jpg
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/danilov1.jpg
rename to programs/emulator/PrMK/docs/danilov1.jpg
diff --git a/programs/emulator/PrMK/trunk/docs/nkj12840.jpg b/programs/emulator/PrMK/docs/nkj12840.jpg
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/nkj12840.jpg
rename to programs/emulator/PrMK/docs/nkj12840.jpg
diff --git a/programs/emulator/PrMK/trunk/docs/stack000.jpg b/programs/emulator/PrMK/docs/stack000.jpg
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack000.jpg
rename to programs/emulator/PrMK/docs/stack000.jpg
diff --git a/programs/emulator/PrMK/trunk/docs/stack1.png b/programs/emulator/PrMK/docs/stack1.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack1.png
rename to programs/emulator/PrMK/docs/stack1.png
diff --git a/programs/emulator/PrMK/trunk/docs/stack2.png b/programs/emulator/PrMK/docs/stack2.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack2.png
rename to programs/emulator/PrMK/docs/stack2.png
diff --git a/programs/emulator/PrMK/trunk/docs/stack3.png b/programs/emulator/PrMK/docs/stack3.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack3.png
rename to programs/emulator/PrMK/docs/stack3.png
diff --git a/programs/emulator/PrMK/trunk/docs/stack4.png b/programs/emulator/PrMK/docs/stack4.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack4.png
rename to programs/emulator/PrMK/docs/stack4.png
diff --git a/programs/emulator/PrMK/trunk/docs/stack5.png b/programs/emulator/PrMK/docs/stack5.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack5.png
rename to programs/emulator/PrMK/docs/stack5.png
diff --git a/programs/emulator/PrMK/trunk/docs/stack6.png b/programs/emulator/PrMK/docs/stack6.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack6.png
rename to programs/emulator/PrMK/docs/stack6.png
diff --git a/programs/emulator/PrMK/trunk/docs/stack7.png b/programs/emulator/PrMK/docs/stack7.png
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/stack7.png
rename to programs/emulator/PrMK/docs/stack7.png
diff --git a/programs/emulator/PrMK/trunk/docs/tablb334.jpg b/programs/emulator/PrMK/docs/tablb334.jpg
similarity index 100%
rename from programs/emulator/PrMK/trunk/docs/tablb334.jpg
rename to programs/emulator/PrMK/docs/tablb334.jpg
diff --git a/programs/emulator/PrMK/trunk/editbox_ex.mac b/programs/emulator/PrMK/editbox_ex.mac
similarity index 100%
rename from programs/emulator/PrMK/trunk/editbox_ex.mac
rename to programs/emulator/PrMK/editbox_ex.mac
diff --git a/programs/emulator/PrMK/trunk/load_lib.mac b/programs/emulator/PrMK/load_lib.mac
similarity index 100%
rename from programs/emulator/PrMK/trunk/load_lib.mac
rename to programs/emulator/PrMK/load_lib.mac
diff --git a/programs/emulator/PrMK/trunk/macroPRMK.inc b/programs/emulator/PrMK/macroPRMK.inc
similarity index 100%
rename from programs/emulator/PrMK/trunk/macroPRMK.inc
rename to programs/emulator/PrMK/macroPRMK.inc
diff --git a/programs/emulator/PrMK/trunk/opcodes.inc b/programs/emulator/PrMK/opcodes.inc
similarity index 100%
rename from programs/emulator/PrMK/trunk/opcodes.inc
rename to programs/emulator/PrMK/opcodes.inc
diff --git a/programs/emulator/PrMK/trunk/readme.txt b/programs/emulator/PrMK/readme.txt
similarity index 100%
rename from programs/emulator/PrMK/trunk/readme.txt
rename to programs/emulator/PrMK/readme.txt
diff --git a/programs/emulator/PrMK/trunk/smpl/1.MKP b/programs/emulator/PrMK/smpl/1.MKP
similarity index 100%
rename from programs/emulator/PrMK/trunk/smpl/1.MKP
rename to programs/emulator/PrMK/smpl/1.MKP
diff --git a/programs/emulator/PrMK/trunk/smpl/1.mkp.asm b/programs/emulator/PrMK/smpl/1.mkp.asm
similarity index 100%
rename from programs/emulator/PrMK/trunk/smpl/1.mkp.asm
rename to programs/emulator/PrMK/smpl/1.mkp.asm
diff --git a/programs/emulator/PrMK/trunk/smpl/2.MKP b/programs/emulator/PrMK/smpl/2.MKP
similarity index 100%
rename from programs/emulator/PrMK/trunk/smpl/2.MKP
rename to programs/emulator/PrMK/smpl/2.MKP
diff --git a/programs/emulator/PrMK/trunk/smpl/2.mkp.asm b/programs/emulator/PrMK/smpl/2.mkp.asm
similarity index 100%
rename from programs/emulator/PrMK/trunk/smpl/2.mkp.asm
rename to programs/emulator/PrMK/smpl/2.mkp.asm
diff --git a/programs/emulator/PrMK/trunk/smpl/3.MKP b/programs/emulator/PrMK/smpl/3.MKP
similarity index 100%
rename from programs/emulator/PrMK/trunk/smpl/3.MKP
rename to programs/emulator/PrMK/smpl/3.MKP
diff --git a/programs/emulator/PrMK/trunk/smpl/3.mkp.asm b/programs/emulator/PrMK/smpl/3.mkp.asm
similarity index 100%
rename from programs/emulator/PrMK/trunk/smpl/3.mkp.asm
rename to programs/emulator/PrMK/smpl/3.mkp.asm
diff --git a/programs/emulator/e80/trunk/48.h b/programs/emulator/e80/48.h
similarity index 100%
rename from programs/emulator/e80/trunk/48.h
rename to programs/emulator/e80/48.h
diff --git a/programs/emulator/e80/trunk/Tupfile.lua b/programs/emulator/e80/Tupfile.lua
similarity index 90%
rename from programs/emulator/e80/trunk/Tupfile.lua
rename to programs/emulator/e80/Tupfile.lua
index 9d008dfa8..524401f10 100644
--- a/programs/emulator/e80/trunk/Tupfile.lua
+++ b/programs/emulator/e80/Tupfile.lua
@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" or tup.getconfig("NO_GCC") ~= "" then return end
-HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
+HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_gcc.lua")
INCLUDES = INCLUDES .. "-I" .. tup.getvariantdir()
LDFLAGS = LDFLAGS .. " -T kolibri.ld"
diff --git a/programs/emulator/e80/trunk/asm_code.asm b/programs/emulator/e80/asm_code.asm
similarity index 100%
rename from programs/emulator/e80/trunk/asm_code.asm
rename to programs/emulator/e80/asm_code.asm
diff --git a/programs/emulator/e80/trunk/clean.bat b/programs/emulator/e80/clean.bat
similarity index 100%
rename from programs/emulator/e80/trunk/clean.bat
rename to programs/emulator/e80/clean.bat
diff --git a/programs/emulator/e80/trunk/compile_eng.bat b/programs/emulator/e80/compile_eng.bat
similarity index 100%
rename from programs/emulator/e80/trunk/compile_eng.bat
rename to programs/emulator/e80/compile_eng.bat
diff --git a/programs/emulator/e80/trunk/compile_rus.bat b/programs/emulator/e80/compile_rus.bat
similarity index 100%
rename from programs/emulator/e80/trunk/compile_rus.bat
rename to programs/emulator/e80/compile_rus.bat
diff --git a/programs/emulator/e80/trunk/e80.c b/programs/emulator/e80/e80.c
similarity index 100%
rename from programs/emulator/e80/trunk/e80.c
rename to programs/emulator/e80/e80.c
diff --git a/programs/emulator/e80/trunk/games/othello.sna b/programs/emulator/e80/games/othello.sna
similarity index 100%
rename from programs/emulator/e80/trunk/games/othello.sna
rename to programs/emulator/e80/games/othello.sna
diff --git a/programs/emulator/e80/trunk/keyboard.c b/programs/emulator/e80/keyboard.c
similarity index 100%
rename from programs/emulator/e80/trunk/keyboard.c
rename to programs/emulator/e80/keyboard.c
diff --git a/programs/emulator/e80/trunk/keyboard.png b/programs/emulator/e80/keyboard.png
similarity index 100%
rename from programs/emulator/e80/trunk/keyboard.png
rename to programs/emulator/e80/keyboard.png
diff --git a/programs/emulator/e80/trunk/kolibri.ld b/programs/emulator/e80/kolibri.ld
similarity index 100%
rename from programs/emulator/e80/trunk/kolibri.ld
rename to programs/emulator/e80/kolibri.ld
diff --git a/programs/emulator/e80/trunk/readme.txt b/programs/emulator/e80/readme.txt
similarity index 100%
rename from programs/emulator/e80/trunk/readme.txt
rename to programs/emulator/e80/readme.txt
diff --git a/programs/emulator/e80/trunk/system/kolibri.c b/programs/emulator/e80/system/kolibri.c
similarity index 100%
rename from programs/emulator/e80/trunk/system/kolibri.c
rename to programs/emulator/e80/system/kolibri.c
diff --git a/programs/emulator/e80/trunk/system/kolibri.h b/programs/emulator/e80/system/kolibri.h
similarity index 100%
rename from programs/emulator/e80/trunk/system/kolibri.h
rename to programs/emulator/e80/system/kolibri.h
diff --git a/programs/emulator/e80/trunk/system/msgbox.c b/programs/emulator/e80/system/msgbox.c
similarity index 100%
rename from programs/emulator/e80/trunk/system/msgbox.c
rename to programs/emulator/e80/system/msgbox.c
diff --git a/programs/emulator/e80/trunk/system/stdlib.c b/programs/emulator/e80/system/stdlib.c
similarity index 100%
rename from programs/emulator/e80/trunk/system/stdlib.c
rename to programs/emulator/e80/system/stdlib.c
diff --git a/programs/emulator/e80/trunk/system/stdlib.h b/programs/emulator/e80/system/stdlib.h
similarity index 100%
rename from programs/emulator/e80/trunk/system/stdlib.h
rename to programs/emulator/e80/system/stdlib.h
diff --git a/programs/emulator/e80/trunk/system/string.c b/programs/emulator/e80/system/string.c
similarity index 100%
rename from programs/emulator/e80/trunk/system/string.c
rename to programs/emulator/e80/system/string.c
diff --git a/programs/emulator/e80/trunk/system/string.h b/programs/emulator/e80/system/string.h
similarity index 100%
rename from programs/emulator/e80/trunk/system/string.h
rename to programs/emulator/e80/system/string.h
diff --git a/programs/emulator/e80/trunk/utils/keyZXtst/Tupfile.lua b/programs/emulator/e80/utils/keyZXtst/Tupfile.lua
similarity index 100%
rename from programs/emulator/e80/trunk/utils/keyZXtst/Tupfile.lua
rename to programs/emulator/e80/utils/keyZXtst/Tupfile.lua
diff --git a/programs/emulator/e80/trunk/utils/keyZXtst/compile.bat b/programs/emulator/e80/utils/keyZXtst/compile.bat
similarity index 100%
rename from programs/emulator/e80/trunk/utils/keyZXtst/compile.bat
rename to programs/emulator/e80/utils/keyZXtst/compile.bat
diff --git a/programs/emulator/e80/trunk/utils/keyZXtst/keyZXtst.asm b/programs/emulator/e80/utils/keyZXtst/keyZXtst.asm
similarity index 83%
rename from programs/emulator/e80/trunk/utils/keyZXtst/keyZXtst.asm
rename to programs/emulator/e80/utils/keyZXtst/keyZXtst.asm
index 2d86a55b5..a506b2c07 100644
--- a/programs/emulator/e80/trunk/utils/keyZXtst/keyZXtst.asm
+++ b/programs/emulator/e80/utils/keyZXtst/keyZXtst.asm
@@ -1,176 +1,177 @@
-; Text CodePage = cp1251
-
-; <--- include all MeOS stuff --->
-
-include "../../../../../macros.inc"
-
-
-; <--- start of MenuetOS application --->
-MEOS_APP_START
-
-include "key_read.inc"
-
-; <--- start of code --->
-CODE
-
- mov eax,48 ; get system colors
- mov ebx,3
- mov ecx,sc
- mov edx,sizeof.system_colors
- mcall
-
- xor ecx, ecx
- inc ecx
- mcall 66,1 ; єёЄрэютър Ёхцшьр ттюфр ёърэъюфют
-
-
-
- redraw: ; redraw event handler
- call draw_window ; at first create and draw the window
-
- wait_event: ; main cycle
-
- mcall 10 ; юцшфрЄ№ ёюс√Єшх
-
-; mcall 23, 2 ; трЁшрэЄ яюёЄю ээ√щ юяЁюё
-; or eax, eax
-; jz key.1
-
- dec eax ; if event = 1
- jz redraw ; jump to redraw handler
- dec eax ; else if event = 2
- jz key ; jump to key handler
-
-
- button: ; button event handler
- mov al, 17 ; get button identifier
- mcall
-
- cmp ah, 1
- jne wait_event ; return if button id != 1
-
- or eax, -1 ; exit application
- mcall
-
- key: ; key event handler
- ; get key code
- call load_keys
- ; яЁхюсЁрчютрэшх
-.1:
- mov ah, 0xfe
- mov edx, txt_data.fe
- call load_ports
-
- mov ah, 0xfd
- mov edx, txt_data.fd
- call load_ports
-
- mov ah, 0xfb
- mov edx, txt_data.fb
- call load_ports
-
- mov ah, 0xf7
- mov edx, txt_data.f7
- call load_ports
-
- mov ah, 0xef
- mov edx, txt_data.ef
- call load_ports
-
- mov ah, 0xdf
- mov edx, txt_data.df
- call load_ports
-
- mov ah, 0xbf
- mov edx, txt_data.bf
- call load_ports
-
- mov ah, 0x7f
- mov edx, txt_data.7f
- call load_ports
-
- mov ah, 0x00
- mov edx, txt_data.00
- call load_ports
-
-
-
- jmp redraw
-
- draw_window:
- mov eax, 12 ; start drawing
- mov ebx, 1
- mcall
-
- xor eax, eax ; create and draw the window
- mov ebx, 40*65536+560 ; (window_cx)*65536+(window_sx)
- mov ecx, 40*65536+240 ; (window_cy)*65536+(window_sy)
- mov edx, [sc.work] ; work area color
- or edx, 0x33000000 ; & window type 3
- mov edi, title ; window title
- int 0x40
-
- mov ecx, [sc.work_text]
- or ecx, 0x80000000
- mov edx, txt_data
- mcall 4, 10*65536+40
- mov edx, txt_data.2s
- mcall 4, 10*65536+60
- mov edx, txt_data.3s
- mcall 4, 10*65536+80
-
-
- mov eax, 12 ; finish drawing
- mov ebx, 2
- mcall
-
- ret
-
-
-load_ports: ; тїюф ah - ёЄрЁ°шщ срщЄ яюЁЄр
- ; edx - рфЁхё ЄхъёЄр
- mov al, 0xFE
- call load_port_FE
-
-rept 8
-{
- mov bl, '1'
- shl al,1
- jc @f
- mov bl, '0'
-@@:
- mov byte [edx], bl
- inc edx
-}
-
- ret
-
-
-
-
-; <--- initialised data --->
-DATA
-
-
-title db 'Key ZX-Spectrum TEST',0
-
-txt_data db '#FE: '
-.fe db '******** #FD: '
-.fd db '******** #FB: '
-.fb db '******** #F7: '
-.f7 db '******** ', 0
-.2s db '#EF: '
-.ef db '******** #DF: '
-.df db '******** #BF: '
-.bf db '******** #7F: '
-.7f db '******** ', 0
-.3s db '#00: '
-.00 db '******** ', 0
-
-
-; <--- uninitialised data --->
-UDATA
-sc system_colors
-
-MEOS_APP_END
-; <--- end of MenuetOS application --->
\ No newline at end of file
+; SPDX-License-Identifier: NOASSERTION
+;
+
+; <--- include all MeOS stuff --->
+
+include "../../../../macros.inc"
+
+
+; <--- start of MenuetOS application --->
+MEOS_APP_START
+
+include "key_read.inc"
+
+; <--- start of code --->
+CODE
+
+ mov eax,48 ; get system colors
+ mov ebx,3
+ mov ecx,sc
+ mov edx,sizeof.system_colors
+ mcall
+
+ xor ecx, ecx
+ inc ecx
+ mcall 66,1 ; setting scancode input mode
+
+
+
+ redraw: ; redraw event handler
+ call draw_window ; at first create and draw the window
+
+ wait_event: ; main cycle
+
+ mcall 10 ; expect an event
+
+; mcall 23, 2 ; option constant poll
+; or eax, eax
+; jz key.1
+
+ dec eax ; if event = 1
+ jz redraw ; jump to redraw handler
+ dec eax ; else if event = 2
+ jz key ; jump to key handler
+
+
+ button: ; button event handler
+ mov al, 17 ; get button identifier
+ mcall
+
+ cmp ah, 1
+ jne wait_event ; return if button id != 1
+
+ or eax, -1 ; exit application
+ mcall
+
+ key: ; key event handler
+ ; get key code
+ call load_keys
+ ; transformation
+.1:
+ mov ah, 0xfe
+ mov edx, txt_data.fe
+ call load_ports
+
+ mov ah, 0xfd
+ mov edx, txt_data.fd
+ call load_ports
+
+ mov ah, 0xfb
+ mov edx, txt_data.fb
+ call load_ports
+
+ mov ah, 0xf7
+ mov edx, txt_data.f7
+ call load_ports
+
+ mov ah, 0xef
+ mov edx, txt_data.ef
+ call load_ports
+
+ mov ah, 0xdf
+ mov edx, txt_data.df
+ call load_ports
+
+ mov ah, 0xbf
+ mov edx, txt_data.bf
+ call load_ports
+
+ mov ah, 0x7f
+ mov edx, txt_data.7f
+ call load_ports
+
+ mov ah, 0x00
+ mov edx, txt_data.00
+ call load_ports
+
+
+
+ jmp redraw
+
+ draw_window:
+ mov eax, 12 ; start drawing
+ mov ebx, 1
+ mcall
+
+ xor eax, eax ; create and draw the window
+ mov ebx, 40*65536+560 ; (window_cx)*65536+(window_sx)
+ mov ecx, 40*65536+240 ; (window_cy)*65536+(window_sy)
+ mov edx, [sc.work] ; work area color
+ or edx, 0x33000000 ; & window type 3
+ mov edi, title ; window title
+ int 0x40
+
+ mov ecx, [sc.work_text]
+ or ecx, 0x80000000
+ mov edx, txt_data
+ mcall 4, 10*65536+40
+ mov edx, txt_data.2s
+ mcall 4, 10*65536+60
+ mov edx, txt_data.3s
+ mcall 4, 10*65536+80
+
+
+ mov eax, 12 ; finish drawing
+ mov ebx, 2
+ mcall
+
+ ret
+
+
+load_ports: ; input ah - port high byte
+ ; edx - text address
+ mov al, 0xFE
+ call load_port_FE
+
+rept 8
+{
+ mov bl, '1'
+ shl al,1
+ jc @f
+ mov bl, '0'
+@@:
+ mov byte [edx], bl
+ inc edx
+}
+
+ ret
+
+
+
+
+; <--- initialised data --->
+DATA
+
+
+title db 'Key ZX-Spectrum TEST',0
+
+txt_data db '#FE: '
+.fe db '******** #FD: '
+.fd db '******** #FB: '
+.fb db '******** #F7: '
+.f7 db '******** ', 0
+.2s db '#EF: '
+.ef db '******** #DF: '
+.df db '******** #BF: '
+.bf db '******** #7F: '
+.7f db '******** ', 0
+.3s db '#00: '
+.00 db '******** ', 0
+
+
+; <--- uninitialised data --->
+UDATA
+sc system_colors
+
+MEOS_APP_END
+; <--- end of MenuetOS application --->
diff --git a/programs/emulator/e80/trunk/utils/keyZXtst/key_read.inc b/programs/emulator/e80/utils/keyZXtst/key_read.inc
similarity index 100%
rename from programs/emulator/e80/trunk/utils/keyZXtst/key_read.inc
rename to programs/emulator/e80/utils/keyZXtst/key_read.inc
diff --git a/programs/emulator/e80/trunk/z80/macros.c b/programs/emulator/e80/z80/macros.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/macros.c
rename to programs/emulator/e80/z80/macros.c
diff --git a/programs/emulator/e80/trunk/z80/op_cb.c b/programs/emulator/e80/z80/op_cb.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/op_cb.c
rename to programs/emulator/e80/z80/op_cb.c
diff --git a/programs/emulator/e80/trunk/z80/op_dd_fd.c b/programs/emulator/e80/z80/op_dd_fd.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/op_dd_fd.c
rename to programs/emulator/e80/z80/op_dd_fd.c
diff --git a/programs/emulator/e80/trunk/z80/op_ed.c b/programs/emulator/e80/z80/op_ed.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/op_ed.c
rename to programs/emulator/e80/z80/op_ed.c
diff --git a/programs/emulator/e80/trunk/z80/opcodes.c b/programs/emulator/e80/z80/opcodes.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/opcodes.c
rename to programs/emulator/e80/z80/opcodes.c
diff --git a/programs/emulator/e80/trunk/z80/opddfdcb.c b/programs/emulator/e80/z80/opddfdcb.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/opddfdcb.c
rename to programs/emulator/e80/z80/opddfdcb.c
diff --git a/programs/emulator/e80/trunk/z80/tables.h b/programs/emulator/e80/z80/tables.h
similarity index 100%
rename from programs/emulator/e80/trunk/z80/tables.h
rename to programs/emulator/e80/z80/tables.h
diff --git a/programs/emulator/e80/trunk/z80/z80.c b/programs/emulator/e80/z80/z80.c
similarity index 100%
rename from programs/emulator/e80/trunk/z80/z80.c
rename to programs/emulator/e80/z80/z80.c
diff --git a/programs/emulator/e80/trunk/z80/z80.h b/programs/emulator/e80/z80/z80.h
similarity index 100%
rename from programs/emulator/e80/trunk/z80/z80.h
rename to programs/emulator/e80/z80/z80.h
diff --git a/programs/media/animage/trunk/Tupfile.lua b/programs/media/animage/Tupfile.lua
similarity index 100%
rename from programs/media/animage/trunk/Tupfile.lua
rename to programs/media/animage/Tupfile.lua
diff --git a/programs/media/animage/trunk/animage.asm b/programs/media/animage/animage.asm
similarity index 69%
rename from programs/media/animage/trunk/animage.asm
rename to programs/media/animage/animage.asm
index d0c634837..b9ebbdaca 100644
--- a/programs/media/animage/trunk/animage.asm
+++ b/programs/media/animage/animage.asm
@@ -1,376 +1,378 @@
-;*******************************************************
-;**************GRAPHICS EDITOR ANIMAGE *****************
-;*******************************************************
-; version: 1.52
-; last update: 23.11.2016
-; changes: Can save *.png files
-; autors: IgorA
-;--------------------------------------------------------
-; version: 1.51
-; last update: 23.03.2016
-; changes: Use library 'kmenu.obj', update GUI
-; autors: IgorA, Veliant, Leency
-;--------------------------------------------------------
-; version: 1.4
-; last update: 12.03.2016
-; changes: Use library 'libimg.obj'
-; autors: IgorA
-;--------------------------------------------------------
-; version: 1.3
-; last update: 05.10.2010
-; written by: Marat Zakiyanov aka Mario79, aka Mario
-; changes: Fixed window flicker when redrawing,
-; Fixed memory leak for stack
-;--------------------------------------------------------
-; version: 1.2
-; last update: 30.09.2010
-; written by: Marat Zakiyanov aka Mario79, aka Mario
-; changes: Program used function 68 instead 64 is now,
-; select path with OpenDialog
-;--------------------------------------------------------
-; version: 1.1
-; last update: 09.12.2006
-; autors:
-; programming by andrew_programmer
-; design by golus
-
-use32
-org 0
- db 'MENUET01'
- dd 1, START, IM_END, I_END
- dd stacktop, file_path, cur_dir_path
-
-include '../../../config.inc' ;for nightbuild
-include '../../../macros.inc'
-include '../../../proc32.inc'
-include '../../../KOSfuncs.inc'
-include '../../../load_lib.mac'
-include '../../../dll.inc'
-include '../../../develop/libraries/libs-dev/libio/libio.inc'
-include '../../../develop/libraries/libs-dev/libimg/libimg.inc'
-;include '../../../debug.inc'
-
-@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
-
-;---------------------------------------------------------
-; *** константы для интерфейса ***
-; *** constants for interface ***
-
-; корректировки на скин
-ci_offs_skin_w equ 5 ;корректировка на ширину рамки скина
-ci_offs_skin_h equ 24 ;корректировка на высоту скина
-
-; главное окно
-ci_wnd_min_siz_x equ 585 ;minimum size x
-ci_wnd_min_siz_y equ 400 ;minimum size y
-
-; панель инструментов
-ci_panel_x_pos equ 0 ;коорд. x для панели
-ci_panel_y_pos equ 20 ;коорд. y для панели
-ci_panel_but_y1 equ ci_panel_y_pos +5 ;коорд. y для 1-го ряда кнопок
-ci_panel_but_y2 equ ci_panel_y_pos+30 ;коорд. y для 2-го ряда кнопок
-ci_palete_y_pos equ ci_panel_y_pos+51 ;коорд. y для палитры цветов
-ci_panel_zoom_x equ 178 ;коорд. x для кнопок панели масштаба
-
-; окно редактора
-ci_edit_wnd_x_pos equ 0 ;коорд. x для окна редактора
-ci_edit_wnd_y_pos equ 71 ;коорд. y для окна редактора
-ci_edit_wnd_border equ 3 ;рамка вокруг окна редактора
-
-; скроллинги
-ci_scroll_dim equ 22 ;размеры скроллингов
-ci_scrollh_coord_x_min equ (ci_edit_wnd_x_pos+3) ;минимальная позиция ползунка
- ;горизонтального скроллинга
-ci_scrollv_coord_y_min equ (ci_edit_wnd_y_pos+3) ;минимальная позиция ползунка
- ;вертикального скроллинга
-;---------------------------------------------------------
-
-include 'bmplib.inc'
-include 'dialog2.inc'
-include 'design.inc'
-include 'graphlib.inc'
-
-include 'cursors.inc'
-include 'memory.inc'
-include 'load_from_parameters.inc'
-
-START:
- mcall SF_SYS_MISC,SSF_HEAP_INIT
- mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, syscolors, syscolors_end-syscolors
-
-load_libraries l_libs_start,end_l_libs
-
- cmp eax,-1
- jz close
-
- mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b
-;---------------------------------------------------------
-;-----------------------init data-------------------------
-;---------------------------------------------------------
-include 'init_data.inc'
-
-;----------------------------------------------------------
-;--------get memory and draw window of program-------------
-;----------------------------------------------------------
- call GetMemory
- mov [Current_instrument],10 ;pencil
- call TakeButtonInstruments ;set startup instrument
- call cleare_work_arrea
- call load_icons
- call init_main_menu
-
-;load cursors
- mov eax,CursorsID
- call load_cursors
-
-;---------------------------------------------------------
-;---------check loading of file from parameters-----------
-;---------------------------------------------------------
- mov eax,file_path
- cmp [eax],byte 0
- jz @f
- call load_picture
- call MovePictureToWorkScreen
-@@:
-
-;---------------------------------------------------------------------
- mov edi,filename_area
- mov esi,path4+5
- call copy_str_1
-
- mov edi,file_path
- cmp [edi],byte 0
- jne @f
- mov esi,path4
- call copy_str_1
-@@:
-;OpenDialog initialisation
- stdcall [OpenDialog_Init], OpenDialog_data
- stdcall [ColorDialog_Init], ColorDialog_data
-;---------------------------------------------------------------------
-
-align 4
-red:
- call drawwin
-;----------------------------------------------------------
-;---------------------main loop----------------------------
-;----------------------------------------------------------
-align 4
-still:
- mcall SF_WAIT_EVENT
-
- cmp eax,1
- je red
-
- cmp eax,2
- je keys
-
- cmp eax,3
- je buttons
-
- cmp eax,6
- je mouse
-
- jmp still
-
-;---------------------------------------------------------------------
-copy_str_1:
- xor eax,eax
- cld
-@@:
- lodsb
- stosb
- test eax,eax
- jnz @b
- ret
-;---------------------------------------------------------------------
-include 'events.inc'
-include 'events_of_window.inc'
-include 'events_of_keys.inc'
-include 'events_of_buttons.inc'
-include 'events_of_mouse.inc'
-include 'panel_engen.inc'
-include 'screen.inc'
-include 'menu_instruments.inc'
-include 'icons_instruments.inc'
-include 'icons.inc'
-include 'sprites.inc'
-include 'string.inc'
-include 'palette.inc'
-include 'files.inc'
-include 'time.inc'
-include 'menu.inc'
-;-----------------------------------------------------------
-;------------variables and data of program------------------
-;-----------------------------------------------------------
-;sound_havent_memory db 150,64,0
-
-include 'lib_data.inc'
-include 'panel_data.inc'
-include 'brushes.inc'
-include 'spray.inc'
-include 'width_lines.inc'
-;----------------------------------------------------------
-;-------------------icon's picture-------------------------
-;----------------------------------------------------------
-align 4
-panel_picture:
-file 'panel_buttons.png'
-.end:
-align 4
-panel_zoom:
-file 'panel_zoom.png'
-.end:
-;****************cursors******************
-brush_cursor:
-file 'cursors/brush.cur'
-flood_fill_cursor:
-file 'cursors/flood_fill.cur'
-lastik_cursor:
-file 'cursors/lastik.cur'
-other_cursor:
-file 'cursors/other.cur'
-pencil_cursor:
-file 'cursors/pencil.cur'
-pipette_cursor:
-file 'cursors/pipette.cur'
-spray_cursor:
-file 'cursors/spray.cur'
-zoom_cursor:
-file 'cursors/zoom.cur'
-;----------------------------------------------------------
-align 4
-IM_END:
-;-----------------------------------------------------------
-;------------variables and data of program------------------
-;-----------------------------------------------------------
-time rd 1
-PosX rd 1 ;scroll x file position
-PosY rd 1 ;scroll y file position
-PointerToIcons rd 1
-ScreenPointer rd 1
-PointerToPicture rd 1
-PointerToCopyPicture rd 1
-PointerToCopyPicture2 rd 1
-PointerToEditBufer rd 1
-PointerToSpriteBufer rd 1
-PointerToPalette rd 1 ;указатель на пилитру (нужен для сохранения в *.bmp)
-Color rd 1
-SColor rd 1
-Number_Brush rd 1
-Brush_SizeX rd 1
-Brush_SizeY rd 1
-Current_instrument rd 1
-Last_instrument rd 1
-OldX rd 1
-OldY rd 1
-
-MouseX rd 1
-MouseY rd 1
-MouseBut rd 1 ;события от кнопок мыши
-Window_SizeX rd 1
-Window_SizeY rd 1
-Window_CordinatX rd 1
-Window_CordinatY rd 1
-Picture_SizeX rd 1
-Picture_SizeY rd 1
-ScreenX rd 1 ;координата x курсора с учетом масштаба
-ScreenY rd 1 ;координата y курсора с учетом масштаба
-WorkScreen_SizeX rd 1 ;ширина рабочего экрана
-WorkScreen_SizeY rd 1 ;высота рабочего экрана
-MaxWorkScreen_SizeX rd 1
-MaxWorkScreen_SizeY rd 1
-k rd 1 ;масштаб
-
-ReserveArray rd 1 ;указатель на память используемую при рисовании фигур
- ;для сохранения участков фона под фигурами, а также для заливки
-CounterX rd 1 ;число пикселей изображения по ширине, которые попадают
- ;в экран рабочей области, с учетом текущего масштаба
-CounterY rd 1
-OffsetYPicture rd 1 ;сдвиг по оси y в буфере изображения при рисовании
- ;следующей линии изображения
-OffsetYWorkScreen rd 1 ;сдвиг по оси y в буфере рабочей области при
- ;рисовании следующей линии пикселей. Чем больше масштаб, тем ниже
- ;нужно опускаться по рабочей области.
-OffsetYBigPixel rd 1 ;сдвиг по оси y для рисования пикселей на большом
- ;масштабе. Рисуется 1-я полоса пикселя, а потом нужно перейти вниз и
- ;влево для рисования следующей полосы.
-
-Icon_X rd 1
-Icon_Y rd 1
-counter rd 1
-counter2 rd 1
-number_panel rd 1
-number_menu rd 1
-
-Scroll1CoordinatX rd 1 ;scroll x screen position
-Scroll1CoordinatY rd 1 ;scroll y screen position
-Scroll1MaxSizeX rd 1
-Scroll1MaxSizeY rd 1
-Scroll1SizeX rd 1 ;scroll polzunok size
-Scroll1FreeX rd 1
-
-Scroll2CoordinatX rd 1
-Scroll2CoordinatY rd 1
-Scroll2MaxSizeX rd 1
-Scroll2MaxSizeY rd 1
-Scroll2SizeY rd 1
-Scroll2FreeY rd 1
-
-x rd 1
-y rd 1
-
-Radius rd 1
-Dx_ rd 1
-Dy_ rd 1
-line_width rd 1
-a_ellips rd 1
-b_ellips rd 1
-
-used_OldX rd 1 ;for draw hard contour
-used_OldY rd 1
-paste_img_w rd 1 ;ширина вставляемого изображения
-paste_img_h rd 1 ;высота вставляемого изображения
-crossing_old_x rd 1 ;начальная коорд. x области копирования
-crossing_old_y rd 1 ;начальная коорд. y области копирования
-rectangular_shade_x rd 1 ;конечная коорд. x области копирования
-rectangular_shade_y rd 1 ;конечная коорд. y области копирования
-crossing rd 1 ;0 - выделения нет, 1 - идет процес выделения,
- ;2 - выделение завершено, 3 - область выделения перемещается
-number_undo rd 1
-SpriteSizeX rd 1 ;???
-SpriteSizeY rd 1 ;???
-SpriteCoordinatX rd 1
-SpriteCoordinatY rd 1
-SpriteOldCoordinatX rd 1
-SpriteOldCoordinatY rd 1
-
-CursorsID rd 10
-
-Activate_instrument rb 1 ;если равно 0 - то копирование текущего буфера
- ;для его редактирования, если 1 - текущий буфер не копируется
-save_flag rb 1
-exit_from_work_arrea rb 1
-lastik_is_active rb 1
-instrument_used rb 1
-DrawSprite_flag rb 1
-Paste_flag rb 1
-;---------------------------------------------------------------------
-IncludeUGlobals
-;---------------------------------------------------------------------
-align 4
-file_path rb 4096
-filename_area rb 256
-temp_dir_pach rb 4096
-library_path rb 4096
-cur_dir_path rb 4096
-procinfo: rb 1024
-align 4
-syscolors rb 192
-syscolors_end:
-;---------------------------------------------------------------------
-align 4
- rb 4096
-stacktop:
-;---------------------------------------------------------------------
-I_END:
\ No newline at end of file
+; SPDX-License-Identifier: NOASSERTION
+;
+
+;*******************************************************
+;**************GRAPHICS EDITOR ANIMAGE *****************
+;*******************************************************
+; version: 1.52
+; last update: 23.11.2016
+; changes: Can save *.png files
+; author: IgorA
+;--------------------------------------------------------
+; version: 1.51
+; last update: 23.03.2016
+; changes: Use library 'kmenu.obj', update GUI
+; authors: IgorA, Veliant, Leency
+;--------------------------------------------------------
+; version: 1.4
+; last update: 12.03.2016
+; changes: Use library 'libimg.obj'
+; author: IgorA
+;--------------------------------------------------------
+; version: 1.3
+; last update: 05.10.2010
+; written by: Marat Zakiyanov aka Mario79, aka Mario
+; changes: Fixed window flicker when redrawing,
+; Fixed memory leak for stack
+;--------------------------------------------------------
+; version: 1.2
+; last update: 30.09.2010
+; written by: Marat Zakiyanov aka Mario79, aka Mario
+; changes: Program used function 68 instead 64 is now,
+; select path with OpenDialog
+;--------------------------------------------------------
+; version: 1.1
+; last update: 09.12.2006
+; authors:
+; programming by andrew_programmer
+; design by golus
+
+use32
+org 0
+ db 'MENUET01'
+ dd 1, START, IM_END, I_END
+ dd stacktop, file_path, cur_dir_path
+
+include '../../config.inc' ;for nightbuild
+include '../../macros.inc'
+include '../../proc32.inc'
+include '../../KOSfuncs.inc'
+include '../../load_lib.mac'
+include '../../dll.inc'
+include '../../develop/libraries/libs-dev/libio/libio.inc'
+include '../../develop/libraries/libs-dev/libimg/libimg.inc'
+;include '../../debug.inc'
+
+@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
+
+;---------------------------------------------------------
+; *** constants for interface ***
+
+; skin adjustments
+ci_offs_skin_w equ 5 ;adjustment to the width of the skin frame
+ci_offs_skin_h equ 24 ;skin height adjustment
+
+; main window
+ci_wnd_min_siz_x equ 585 ;minimum size x
+ci_wnd_min_siz_y equ 400 ;minimum size y
+
+; toolbar
+ci_panel_x_pos equ 0 ;coord. x for panel
+ci_panel_y_pos equ 20 ;coord. y for panel
+ci_panel_but_y1 equ ci_panel_y_pos +5 ;y coordinate for 1st row of buttons
+ci_panel_but_y2 equ ci_panel_y_pos+30 ;y coordinate for 2nd row of buttons
+ci_palete_y_pos equ ci_panel_y_pos+51 ;y coordinate for color palette
+ci_panel_zoom_x equ 178 ;x coordinate for zoom bar buttons
+
+; editor window
+ci_edit_wnd_x_pos equ 0 ;x coordinate for editor window
+ci_edit_wnd_y_pos equ 71 ;y coordinate for editor window
+ci_edit_wnd_border equ 3 ;frame around the editor window
+
+; scrolling
+ci_scroll_dim equ 22 ;scroll sizes
+ci_scrollh_coord_x_min equ (ci_edit_wnd_x_pos+3) ;x minimum slider position
+ ;horizontal scrolling
+ci_scrollv_coord_y_min equ (ci_edit_wnd_y_pos+3) ;y minimum slider position
+ ;vertical scrolling
+;---------------------------------------------------------
+
+include 'bmplib.inc'
+include 'dialog2.inc'
+include 'design.inc'
+include 'graphlib.inc'
+
+include 'cursors.inc'
+include 'memory.inc'
+include 'load_from_parameters.inc'
+
+START:
+ mcall SF_SYS_MISC,SSF_HEAP_INIT
+ mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, syscolors, syscolors_end-syscolors
+
+load_libraries l_libs_start,end_l_libs
+
+ cmp eax,-1
+ jz close
+
+ mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b
+;---------------------------------------------------------
+;-----------------------init data-------------------------
+;---------------------------------------------------------
+include 'init_data.inc'
+
+;----------------------------------------------------------
+;--------get memory and draw window of program-------------
+;----------------------------------------------------------
+ call GetMemory
+ mov [Current_instrument],10 ;pencil
+ call TakeButtonInstruments ;set startup instrument
+ call cleare_work_arrea
+ call load_icons
+ call init_main_menu
+
+;load cursors
+ mov eax,CursorsID
+ call load_cursors
+
+;---------------------------------------------------------
+;---------check loading of file from parameters-----------
+;---------------------------------------------------------
+ mov eax,file_path
+ cmp [eax],byte 0
+ jz @f
+ call load_picture
+ call MovePictureToWorkScreen
+@@:
+
+;---------------------------------------------------------------------
+ mov edi,filename_area
+ mov esi,path4+5
+ call copy_str_1
+
+ mov edi,file_path
+ cmp [edi],byte 0
+ jne @f
+ mov esi,path4
+ call copy_str_1
+@@:
+;OpenDialog initialisation
+ stdcall [OpenDialog_Init], OpenDialog_data
+ stdcall [ColorDialog_Init], ColorDialog_data
+;---------------------------------------------------------------------
+
+align 4
+red:
+ call drawwin
+;----------------------------------------------------------
+;---------------------main loop----------------------------
+;----------------------------------------------------------
+align 4
+still:
+ mcall SF_WAIT_EVENT
+
+ cmp eax,1
+ je red
+
+ cmp eax,2
+ je keys
+
+ cmp eax,3
+ je buttons
+
+ cmp eax,6
+ je mouse
+
+ jmp still
+
+;---------------------------------------------------------------------
+copy_str_1:
+ xor eax,eax
+ cld
+@@:
+ lodsb
+ stosb
+ test eax,eax
+ jnz @b
+ ret
+;---------------------------------------------------------------------
+include 'events.inc'
+include 'events_of_window.inc'
+include 'events_of_keys.inc'
+include 'events_of_buttons.inc'
+include 'events_of_mouse.inc'
+include 'panel_engen.inc'
+include 'screen.inc'
+include 'menu_instruments.inc'
+include 'icons_instruments.inc'
+include 'icons.inc'
+include 'sprites.inc'
+include 'string.inc'
+include 'palette.inc'
+include 'files.inc'
+include 'time.inc'
+include 'menu.inc'
+;-----------------------------------------------------------
+;------------variables and data of program------------------
+;-----------------------------------------------------------
+;sound_havent_memory db 150,64,0
+
+include 'lib_data.inc'
+include 'panel_data.inc'
+include 'brushes.inc'
+include 'spray.inc'
+include 'width_lines.inc'
+;----------------------------------------------------------
+;-------------------icon's picture-------------------------
+;----------------------------------------------------------
+align 4
+panel_picture:
+file 'panel_buttons.png'
+.end:
+align 4
+panel_zoom:
+file 'panel_zoom.png'
+.end:
+;****************cursors******************
+brush_cursor:
+file 'cursors/brush.cur'
+flood_fill_cursor:
+file 'cursors/flood_fill.cur'
+lastik_cursor:
+file 'cursors/lastik.cur'
+other_cursor:
+file 'cursors/other.cur'
+pencil_cursor:
+file 'cursors/pencil.cur'
+pipette_cursor:
+file 'cursors/pipette.cur'
+spray_cursor:
+file 'cursors/spray.cur'
+zoom_cursor:
+file 'cursors/zoom.cur'
+;----------------------------------------------------------
+align 4
+IM_END:
+;-----------------------------------------------------------
+;------------variables and data of program------------------
+;-----------------------------------------------------------
+time rd 1
+PosX rd 1 ;scroll x file position
+PosY rd 1 ;scroll y file position
+PointerToIcons rd 1
+ScreenPointer rd 1
+PointerToPicture rd 1
+PointerToCopyPicture rd 1
+PointerToCopyPicture2 rd 1
+PointerToEditBufer rd 1
+PointerToSpriteBufer rd 1
+PointerToPalette rd 1 ;pointer to the file (needed for saving in *.bmp)
+Color rd 1
+SColor rd 1
+Number_Brush rd 1
+Brush_SizeX rd 1
+Brush_SizeY rd 1
+Current_instrument rd 1
+Last_instrument rd 1
+OldX rd 1
+OldY rd 1
+
+MouseX rd 1
+MouseY rd 1
+MouseBut rd 1 ;mouse button events
+Window_SizeX rd 1
+Window_SizeY rd 1
+Window_CordinatX rd 1
+Window_CordinatY rd 1
+Picture_SizeX rd 1
+Picture_SizeY rd 1
+ScreenX rd 1 ;x coordinate of the cursor accounting for the scale
+ScreenY rd 1 ;y coordinate of the cursor accounting for the scale
+WorkScreen_SizeX rd 1 ;width of the working screen
+WorkScreen_SizeY rd 1 ;height of the working screen
+MaxWorkScreen_SizeX rd 1
+MaxWorkScreen_SizeY rd 1
+k rd 1 ;scale
+
+ReserveArray rd 1 ;pointer to memory used when drawing figures
+ ;to save background areas under figures, as well as for filling
+CounterX rd 1 ;number of image pixels by width that fall
+ ;within the workspace screen, given the current zoom level
+CounterY rd 1
+OffsetYPicture rd 1 ;y-shift in image buffer when drawing
+ ;next line of image
+OffsetYWorkScreen rd 1 ;y-shift in the workspace buffer when
+ ;drawing the next line of pixels. The larger the scale, the lower
+ ;you need to go down the workspace.
+OffsetYBigPixel rd 1 ;shift along the y-axis to draw pixels on a large
+ ;scale. The 1st strip of the pixel is drawn, and then you need to move down and
+ ;left to draw the next strip.
+
+Icon_X rd 1
+Icon_Y rd 1
+counter rd 1
+counter2 rd 1
+number_panel rd 1
+number_menu rd 1
+
+Scroll1CoordinatX rd 1 ;scroll x screen position
+Scroll1CoordinatY rd 1 ;scroll y screen position
+Scroll1MaxSizeX rd 1
+Scroll1MaxSizeY rd 1
+Scroll1SizeX rd 1 ;scroll polzunok size
+Scroll1FreeX rd 1
+
+Scroll2CoordinatX rd 1
+Scroll2CoordinatY rd 1
+Scroll2MaxSizeX rd 1
+Scroll2MaxSizeY rd 1
+Scroll2SizeY rd 1
+Scroll2FreeY rd 1
+
+x rd 1
+y rd 1
+
+Radius rd 1
+Dx_ rd 1
+Dy_ rd 1
+line_width rd 1
+a_ellips rd 1
+b_ellips rd 1
+
+used_OldX rd 1 ;for draw hard contour
+used_OldY rd 1
+paste_img_w rd 1 ;width of the inserted image
+paste_img_h rd 1 ;height of the inserted image
+crossing_old_x rd 1 ;initial x-coord of copy area
+crossing_old_y rd 1 ;initial y-coord of copy area
+rectangular_shade_x rd 1 ;end x-coord of copy area
+rectangular_shade_y rd 1 ;end y-coord of copy area
+crossing rd 1 ;0 - no selection, 1 - selection in progress,
+ ;2 - selection complete, 3 - selection area moving
+number_undo rd 1
+SpriteSizeX rd 1 ;???
+SpriteSizeY rd 1 ;???
+SpriteCoordinatX rd 1
+SpriteCoordinatY rd 1
+SpriteOldCoordinatX rd 1
+SpriteOldCoordinatY rd 1
+
+CursorsID rd 10
+
+Activate_instrument rb 1 ;if equal to 0 - then copy the current buffer
+ ;for editing it, if 1 - the current buffer is not copied
+save_flag rb 1
+exit_from_work_arrea rb 1
+lastik_is_active rb 1
+instrument_used rb 1
+DrawSprite_flag rb 1
+Paste_flag rb 1
+;---------------------------------------------------------------------
+IncludeUGlobals
+;---------------------------------------------------------------------
+align 4
+file_path rb 4096
+filename_area rb 256
+temp_dir_pach rb 4096
+library_path rb 4096
+cur_dir_path rb 4096
+procinfo: rb 1024
+align 4
+syscolors rb 192
+syscolors_end:
+;---------------------------------------------------------------------
+align 4
+ rb 4096
+stacktop:
+;---------------------------------------------------------------------
+I_END:
diff --git a/programs/media/animage/trunk/bmplib.inc b/programs/media/animage/bmplib.inc
similarity index 100%
rename from programs/media/animage/trunk/bmplib.inc
rename to programs/media/animage/bmplib.inc
diff --git a/programs/media/animage/trunk/brushes.inc b/programs/media/animage/brushes.inc
similarity index 100%
rename from programs/media/animage/trunk/brushes.inc
rename to programs/media/animage/brushes.inc
diff --git a/programs/media/animage/trunk/build.sh b/programs/media/animage/build.sh
similarity index 100%
rename from programs/media/animage/trunk/build.sh
rename to programs/media/animage/build.sh
diff --git a/programs/media/animage/trunk/build_en.bat b/programs/media/animage/build_en.bat
similarity index 100%
rename from programs/media/animage/trunk/build_en.bat
rename to programs/media/animage/build_en.bat
diff --git a/programs/media/animage/trunk/cursors.inc b/programs/media/animage/cursors.inc
similarity index 100%
rename from programs/media/animage/trunk/cursors.inc
rename to programs/media/animage/cursors.inc
diff --git a/programs/media/animage/trunk/cursors/brush.cur b/programs/media/animage/cursors/brush.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/brush.cur
rename to programs/media/animage/cursors/brush.cur
diff --git a/programs/media/animage/trunk/cursors/flood_fill.cur b/programs/media/animage/cursors/flood_fill.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/flood_fill.cur
rename to programs/media/animage/cursors/flood_fill.cur
diff --git a/programs/media/animage/trunk/cursors/lastik.cur b/programs/media/animage/cursors/lastik.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/lastik.cur
rename to programs/media/animage/cursors/lastik.cur
diff --git a/programs/media/animage/trunk/cursors/other.cur b/programs/media/animage/cursors/other.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/other.cur
rename to programs/media/animage/cursors/other.cur
diff --git a/programs/media/animage/trunk/cursors/pencil.cur b/programs/media/animage/cursors/pencil.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/pencil.cur
rename to programs/media/animage/cursors/pencil.cur
diff --git a/programs/media/animage/trunk/cursors/pipette.cur b/programs/media/animage/cursors/pipette.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/pipette.cur
rename to programs/media/animage/cursors/pipette.cur
diff --git a/programs/media/animage/trunk/cursors/spray.cur b/programs/media/animage/cursors/spray.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/spray.cur
rename to programs/media/animage/cursors/spray.cur
diff --git a/programs/media/animage/trunk/cursors/zoom.cur b/programs/media/animage/cursors/zoom.cur
similarity index 100%
rename from programs/media/animage/trunk/cursors/zoom.cur
rename to programs/media/animage/cursors/zoom.cur
diff --git a/programs/media/animage/trunk/design.inc b/programs/media/animage/design.inc
similarity index 100%
rename from programs/media/animage/trunk/design.inc
rename to programs/media/animage/design.inc
diff --git a/programs/media/animage/trunk/dialog2.inc b/programs/media/animage/dialog2.inc
similarity index 100%
rename from programs/media/animage/trunk/dialog2.inc
rename to programs/media/animage/dialog2.inc
diff --git a/programs/media/animage/trunk/events.inc b/programs/media/animage/events.inc
similarity index 100%
rename from programs/media/animage/trunk/events.inc
rename to programs/media/animage/events.inc
diff --git a/programs/media/animage/trunk/events_of_buttons.inc b/programs/media/animage/events_of_buttons.inc
similarity index 100%
rename from programs/media/animage/trunk/events_of_buttons.inc
rename to programs/media/animage/events_of_buttons.inc
diff --git a/programs/media/animage/trunk/events_of_keys.inc b/programs/media/animage/events_of_keys.inc
similarity index 100%
rename from programs/media/animage/trunk/events_of_keys.inc
rename to programs/media/animage/events_of_keys.inc
diff --git a/programs/media/animage/trunk/events_of_mouse.inc b/programs/media/animage/events_of_mouse.inc
similarity index 100%
rename from programs/media/animage/trunk/events_of_mouse.inc
rename to programs/media/animage/events_of_mouse.inc
diff --git a/programs/media/animage/trunk/events_of_window.inc b/programs/media/animage/events_of_window.inc
similarity index 100%
rename from programs/media/animage/trunk/events_of_window.inc
rename to programs/media/animage/events_of_window.inc
diff --git a/programs/media/animage/trunk/files.inc b/programs/media/animage/files.inc
similarity index 100%
rename from programs/media/animage/trunk/files.inc
rename to programs/media/animage/files.inc
diff --git a/programs/media/animage/trunk/graphlib.inc b/programs/media/animage/graphlib.inc
similarity index 100%
rename from programs/media/animage/trunk/graphlib.inc
rename to programs/media/animage/graphlib.inc
diff --git a/programs/media/animage/trunk/icons.inc b/programs/media/animage/icons.inc
similarity index 100%
rename from programs/media/animage/trunk/icons.inc
rename to programs/media/animage/icons.inc
diff --git a/programs/media/animage/trunk/icons_instruments.inc b/programs/media/animage/icons_instruments.inc
similarity index 100%
rename from programs/media/animage/trunk/icons_instruments.inc
rename to programs/media/animage/icons_instruments.inc
diff --git a/programs/media/animage/trunk/init_data.inc b/programs/media/animage/init_data.inc
similarity index 100%
rename from programs/media/animage/trunk/init_data.inc
rename to programs/media/animage/init_data.inc
diff --git a/programs/media/animage/trunk/lib_data.inc b/programs/media/animage/lib_data.inc
similarity index 100%
rename from programs/media/animage/trunk/lib_data.inc
rename to programs/media/animage/lib_data.inc
diff --git a/programs/media/animage/trunk/load_from_parameters.inc b/programs/media/animage/load_from_parameters.inc
similarity index 100%
rename from programs/media/animage/trunk/load_from_parameters.inc
rename to programs/media/animage/load_from_parameters.inc
diff --git a/programs/media/animage/trunk/memory.inc b/programs/media/animage/memory.inc
similarity index 100%
rename from programs/media/animage/trunk/memory.inc
rename to programs/media/animage/memory.inc
diff --git a/programs/media/animage/trunk/menu.inc b/programs/media/animage/menu.inc
similarity index 100%
rename from programs/media/animage/trunk/menu.inc
rename to programs/media/animage/menu.inc
diff --git a/programs/media/animage/trunk/menu_instruments.inc b/programs/media/animage/menu_instruments.inc
similarity index 100%
rename from programs/media/animage/trunk/menu_instruments.inc
rename to programs/media/animage/menu_instruments.inc
diff --git a/programs/media/animage/trunk/palette.inc b/programs/media/animage/palette.inc
similarity index 100%
rename from programs/media/animage/trunk/palette.inc
rename to programs/media/animage/palette.inc
diff --git a/programs/media/animage/trunk/panel_buttons.png b/programs/media/animage/panel_buttons.png
similarity index 100%
rename from programs/media/animage/trunk/panel_buttons.png
rename to programs/media/animage/panel_buttons.png
diff --git a/programs/media/animage/trunk/panel_data.inc b/programs/media/animage/panel_data.inc
similarity index 100%
rename from programs/media/animage/trunk/panel_data.inc
rename to programs/media/animage/panel_data.inc
diff --git a/programs/media/animage/trunk/panel_engen.inc b/programs/media/animage/panel_engen.inc
similarity index 100%
rename from programs/media/animage/trunk/panel_engen.inc
rename to programs/media/animage/panel_engen.inc
diff --git a/programs/media/animage/trunk/panel_zoom.png b/programs/media/animage/panel_zoom.png
similarity index 100%
rename from programs/media/animage/trunk/panel_zoom.png
rename to programs/media/animage/panel_zoom.png
diff --git a/programs/media/animage/trunk/screen.inc b/programs/media/animage/screen.inc
similarity index 100%
rename from programs/media/animage/trunk/screen.inc
rename to programs/media/animage/screen.inc
diff --git a/programs/media/animage/trunk/spray.inc b/programs/media/animage/spray.inc
similarity index 100%
rename from programs/media/animage/trunk/spray.inc
rename to programs/media/animage/spray.inc
diff --git a/programs/media/animage/trunk/sprites.inc b/programs/media/animage/sprites.inc
similarity index 100%
rename from programs/media/animage/trunk/sprites.inc
rename to programs/media/animage/sprites.inc
diff --git a/programs/media/animage/trunk/string.inc b/programs/media/animage/string.inc
similarity index 100%
rename from programs/media/animage/trunk/string.inc
rename to programs/media/animage/string.inc
diff --git a/programs/media/animage/trunk/time.inc b/programs/media/animage/time.inc
similarity index 100%
rename from programs/media/animage/trunk/time.inc
rename to programs/media/animage/time.inc
diff --git a/programs/media/animage/trunk/width_lines.inc b/programs/media/animage/width_lines.inc
similarity index 100%
rename from programs/media/animage/trunk/width_lines.inc
rename to programs/media/animage/width_lines.inc
diff --git a/programs/media/kiv/trunk/Tupfile.lua b/programs/media/kiv/Tupfile.lua
similarity index 71%
rename from programs/media/kiv/trunk/Tupfile.lua
rename to programs/media/kiv/Tupfile.lua
index 23892ceeb..206f4d110 100644
--- a/programs/media/kiv/trunk/Tupfile.lua
+++ b/programs/media/kiv/Tupfile.lua
@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end
-HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
+HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(HELPERDIR .. "/develop/libraries/libs-dev/libimg")
diff --git a/programs/media/kiv/trunk/kiv.asm b/programs/media/kiv/kiv.asm
similarity index 99%
rename from programs/media/kiv/trunk/kiv.asm
rename to programs/media/kiv/kiv.asm
index 54f0d6e5d..06b4506a4 100644
--- a/programs/media/kiv/trunk/kiv.asm
+++ b/programs/media/kiv/kiv.asm
@@ -1,3 +1,6 @@
+; SPDX-License-Identifier: NOASSERTION
+;
+
format binary as ""
use32
@@ -13,13 +16,13 @@ __DEBUG_LEVEL__ = 1
LG_TRACE equ 1
-include '../../../config.inc'
-include '../../../proc32.inc'
-include '../../../macros.inc'
-include '../../../KOSfuncs.inc'
-include '../../../dll.inc'
-include '../../../debug-fdo.inc'
-include '../../../develop/libraries/libs-dev/libimg/libimg.inc'
+include '../../config.inc'
+include '../../proc32.inc'
+include '../../macros.inc'
+include '../../KOSfuncs.inc'
+include '../../dll.inc'
+include '../../debug-fdo.inc'
+include '../../develop/libraries/libs-dev/libimg/libimg.inc'
KEY_MOVE_PIXELS = 50
diff --git a/programs/media/kiv/trunk/kivicons.bmp b/programs/media/kiv/kivicons.bmp
similarity index 100%
rename from programs/media/kiv/trunk/kivicons.bmp
rename to programs/media/kiv/kivicons.bmp
diff --git a/programs/media/listplay/trunk/Tupfile.lua b/programs/media/listplay/Tupfile.lua
similarity index 100%
rename from programs/media/listplay/trunk/Tupfile.lua
rename to programs/media/listplay/Tupfile.lua
diff --git a/programs/media/listplay/trunk/listplay.asm b/programs/media/listplay/listplay.asm
similarity index 94%
rename from programs/media/listplay/trunk/listplay.asm
rename to programs/media/listplay/listplay.asm
index 51cbae727..1c0163a58 100644
--- a/programs/media/listplay/trunk/listplay.asm
+++ b/programs/media/listplay/listplay.asm
@@ -1,848 +1,848 @@
-
-;
-; Compile with flat assembler
-; Программка позволяющая проигрывать плейлист
-; Разработал: ДедОк :)
-
-use32
-
- org 0x0
-
- db 'MENUET01' ; 8 byte id
- dd 0x01 ; header version
- dd START ; start of code
- dd I_END ; size of image
- dd 0x25000 ; memory for app
- dd 0x20000 ; esp
- dd playlist, 0x0
-
-include '../../../macros.inc'
-
-START: ; start of execution
-cmp [playlist],0x00000000
-jne dprod
-mcall -1
-dprod:
-or [trig_sys],40h
-call scandr
-jmp mmm.seach
-still:
- not [trig_sys]
- or [trig_sys],400h
- not [trig_sys]
- or [trig_sys],200h
- call enproc
- call delproc
- mov eax,23 ; wait here for event
- mov ebx,20
- mcall
- cmp eax,1 ; redraw request ?
- je red
- cmp eax,3 ; button in buffer ?
- je button
- test [trig_sys],200h
- jz next_song
- jmp still
-next_song:
- add [poz_butt],1
- movzx eax,[poz_song]
- add eax,1
- mov [poz_song],al
- mov dx,255
- mul dx
- mov [song_poz], eax
- movzx eax,[poz_song]
- sub eax,1
- cmp [song_count],eax
- ja .dgo
- mov [poz_song],1
- mov [song_poz],255
- mov [poz_butt],6
-.dgo:
- call load_song
- call procskan
- call start
- or [trig_sys],200h
- call draw_window
- jmp still
-red:
- call draw_window
- jmp still
-button: ; button
- mov eax,17
- mcall
- cmp ah,1
- je close
- cmp ah,2
- je mmm
- cmp ah,3
- je mma
- cmp ah,4
- je mmd
- cmp ah,5
- je mmf
- cmp ah,38
- jb mma
- ret
-close:
- mov eax,-1
- mcall
-mma:
- mov [poz_butt],ah
- mov [poz_song],ah
- sub [poz_song],5
- movzx eax,[poz_song]
- add eax,[sme]
- mov [poz_song],al
- mov dx,255
- mul dx
- mov [song_poz], eax
- call load_song
- call procskan
- call start
- or [trig_sys],200h
- call draw_window
- jmp still
-mmw:
- mov ebx,file_info2
- mov ecx,[razm_str]
- add dword [ebx+4],ecx
- or [trig_sys],40h
- jmp mmm.seach
- ret
-mmm:
-.seach:
- call getstring
- call get_drive
- call put_db
- call draw_window
- test [trig_sys],04h
- jz mmw
- jmp still
-mmd:
- cmp [poz_db3],510
- jb .emd
- sub [poz_db3],255
- add [poz_butt],1
- sub [sme],1
-.emd:
- call draw_window
- jmp still
-mmf:
- add [poz_db3],255
- sub [poz_butt],1
- add [sme],1
- call draw_window
- jmp still
-procskan:
- mov [num_proc],255
-qqqqq:
- mov eax,9
- mov ebx,pib
- mov ecx, [num_proc]
- mcall
- cld
- lea si,[pib.process_name]
- lea di,[minus]
- mov cx,7
- rep cmps byte [si],[di]
- jcxz mat
- sub [num_proc],1
- cmp [num_proc],1
- jne qqqqq
- ret
-mat:
- mov eax,18
- mov ebx,2
- mov ecx,[num_proc]
- mcall
- jmp procskan
-scandr:
- mov eax,18
- mov ebx,11
- mov ecx,1
- mov edx,scan_rez
- mcall
- ret
-mountpl:
- mov cx,255
- cld
- lea di,[fl]
- mov al,00h
- repne stos byte [di]
- cld
- mov cx,6
- lea si,[play_list]
- lea di,[fl]
- rep movs byte [di],[si]
- mov cx,0
- ret
-get_drive:
- mov al,byte[scan_rez+1]
- mov [my_draw],al
- mov [ns],48
- cmp [my_draw],0
- jne .c0
- or [trig_sys],01h
-.c0:
- cmp [my_draw],0x80
- jb .h0
- sub [my_draw],0x80
- mov [n_razd],1
- mov [nd],49
- mov al,[cd_0]
- mov [td],al
- call folscan
-.h0:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x40
- jb .c1
- sub [my_draw],0x40
- mov al,byte[scan_rez+2]
- mov [n_razd],al
- add al,48
- mov [nd],al
- mov al,[hd_0]
- mov [td],al
- call folscan
-.c1:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x20
- jb .h1
- sub [my_draw],0x20
- mov [n_razd],1
- mov [nd],49
- mov al,[cd_0]
- mov [ns],19
- call folscan
-.h1:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x10
- jb .c2
- sub [my_draw],0x10
- mov al,byte[scan_rez+3]
- mov [n_razd],al
- add al,48
- mov [nd],al
- mov al,[hd_0]
- mov [td],al
- mov [ns],49
- call folscan
-.c2:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x08
- jb .h2
- sub [my_draw],0x08
- mov [n_razd],1
- mov [nd],49
- mov al,[cd_0]
- mov [td],al
- mov [ns],50
- call folscan
-.h2:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x04
- jb .c3
- sub [my_draw],0x04
- mov al,byte[scan_rez+4]
- mov [n_razd],al
- add al,48
- mov [nd],al
- mov al,[hd_0]
- mov [td],al
- mov [ns],50
- call folscan
-.c3:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x02
- jb .h3
- sub [my_draw],0x02
- mov [n_razd],1
- mov [nd],49
- mov al,[cd_0]
- mov [td],al
- mov [ns],51
- call folscan
-.h3:
- cmp [trig_scan],1
- je ex1
- cmp [my_draw],0x01
- jb ex1
- sub [my_draw],0x01
- mov al,byte[scan_rez+5]
- mov [n_razd],al
- add al,48
- mov [nd],al
- mov al,[hd_0]
- mov [td],al
- mov [ns],51
- call folscan
-ex1:
- cmp [fold],05h
- jne ext2
- or [trig_sys],04h
-ext2:
- cmp [fold],0Ah
- jne ext3
- or [trig_sys],08h
- jmp eext
-ext3:
- mov [trig_scan],0
- not [trig_sys]
- or [trig_sys],0Eh
- not [trig_sys]
-eext:
- ret
-folscan:
- cmp [trig_scan],1
- je .out2
- mov eax,70
- mov ebx,file_info
- mcall
- mov [fold],eax
- cmp [fold],0
- jne .out
- mov al,1
- mov [trig_scan],al
- jmp .out2
-.out:
- mov al,1
- sub [n_razd],al
- mov al,1
- sub [nd],al
- cmp [n_razd],0
- jne folscan
-.out2:
- ret
-get_play:
- mov cx,255
- lea si,[floc]
- lea di,[playlist]
- rep movs byte [di],[si]
- mov cx,0
-ret
-getstring:
- mov eax,70
- mov ebx,file_info2
- mov dword [ebx+12], 255
- mov dword [ebx+16],string1
- mov dword [ebx+21],playlist
- mcall
- cmp eax,6
- jne .pro
- or [trig_sys],04h
- call draw_window
- jmp still
-.pro:
-
- cmp ebx,0xFFFFFFFF
- je .exit
- call rus_m
- cld
- lea di,[string1]
- mov cx,255
- mov al,0ah
- repne scas byte [es:di]
- je .calc
- mov [razm_str],0
- mov ebx,file_info2
- add dword [ebx+4], 255
- or [trig_sys],40h
- jmp mmm.seach
-.calc:
- mov [razm_str],255
- sub [razm_str],ecx
-.kon:
- mov [razm_path],0
- cld
- lea di,[string1]
- mov ecx,0
-.ppr:
- cmp byte [es:di],70h
- je .s1
- cmp byte [es:di],50h
- je .s1
- add ecx,1
- add di,1
- cmp ecx,[razm_str]
- jb .ppr
- jmp .next
-.s1:
- add di,1
- cmp byte [es:di],33h
- je .s2
- sub di,1
- jmp .next
- ret
-.s2:
-
- or [trig_sys],80h
- mov [razm_path],ecx
- add [razm_path],2
-
-; mov [ss2],0
- cld
- lea di,[string1]
- mov cx,0
- mov [zzz],cx
-.ppre:
- cmp byte [es:di],3Ah
- je .se1
- add cx,1
- add di,1
- cmp ecx,[razm_path]
- jne .ppre
- jmp .mount
-.se1:
- add di,1
- cmp byte [es:di],5Ch
- je .se2
- sub di,1
- jmp .mount
-.se2:
- cmp ecx,250
- jb .se3
- mov ecx,0
-.se3:
- add cx,2
-; mov [ss2],cx
- mov [zzz],cx
-.mount:
- movzx ecx,[zzz]
- cmp ecx, [razm_path]
- jb .mount1
- or [trig_sys],04h
- jmp still
-.mount1:
- mov ecx,255
- cld
- lea di,[fl]
- mov al,00h
- repne stos byte [di]
- cld
- mov ecx,[razm_path]
- sub cx,[zzz]
- lea si,[string1]
- add si,[zzz]
- lea di,[fl]
- rep movs byte [di],[si]
- mov ecx,0
-.sl_m:
- mov ecx,0
- lea di,[fl]
-.cikl_mx:
- mov al,byte[di]
- mov [char_con],al
- cmp al,5Ch
- je .con_sl
- jmp .ext6
-.con_sl:
- mov al,2Fh
-.ext6:
- stos byte [di]
- add ecx,1
- cmp ecx,[razm_path]
- jb .cikl_mx
-
-.exit:
- ret
-.next:
- not [trig_sys]
- or [trig_sys],80h
- not [trig_sys]
- mov ebx,file_info2
- mov ecx,[razm_str]
- add dword [ebx+4],ecx
- or [trig_sys],40h
- jmp mmm.seach
-rus_m:
- test [trig_sys],40h
- jnz ddff
- ret
-ddff:
- mov ecx,0
- lea di,[string1]
-cicl_m:
- mov al,byte[di]
- mov [char_con],al
- shr al,4
- cmp al,0Eh
- je min_sor
- cmp al,0Ch
- je min_sor
- cmp al,0Dh
- je min_sor
- cmp al,0Fh
- je min_des
- shl al,4
- mov al,0
- jmp ext5
-min_sor:
- sub [char_con],40h
- jmp ext5
-min_des:
- sub [char_con],10h
- jmp ext5
-ext5:
- mov al,[char_con]
- stos byte [di]
- add ecx,1
- cmp ecx,255
- jb cicl_m
- not [trig_sys]
- or [trig_sys],40h
- not [trig_sys]
- ret
-
-put_db:
- test [trig_sys],80h
- jz .exit
- add [song_count],1
- add [poz_db],255
- mov ecx,255
- cld
- mov ebx,[poz_db]
- lea di,[memlist+ebx]
- mov al,00h
- repne stos byte [di]
- cld
- mov ecx,255
- lea si,[floc]
- mov ebx,[poz_db]
- lea di,[memlist+ebx]
- rep movs byte [di],[si]
- mov ecx,0
-.exit:
- ret
-load_song:
- cld
- mov ecx,255
- lea di,[song_path]
- mov ebx,[song_poz]
- lea si,[memlist+ebx]
- rep movs byte [di],[si]
- mov ecx,0
- ret
-start:
- mov eax,70
- mov ebx,folder_inf
- mcall
- ret
-delproc:
- test [trig_sys],400h
- jnz .sdf
- ret
-.sdf:
- mov [num_proc],255
-.fgf:
- mov eax,9
- mov ebx,pib
- mov ecx, [num_proc]
- mcall
- cld
- lea si,[pib.process_name]
- lea di,[minus]
- mov cx,7
- rep cmps byte [si],[di]
- jcxz .qwer
- sub [num_proc],1
- cmp [num_proc],1
- jne .fgf
- test [trig_sys],200h
- ret
-.qwer:
- mov eax,[pib+process_information.cpu_usage]
- mov [q_takt],eax
- cmp [q_takt],200000
- jb .asdf
- ret
-.asdf:
- add [count_err],1
- cmp [count_err],6
- ja .djbn
- ret
-.djbn:
- mov [count_err],0
- not [trig_sys]
- or [trig_sys],200h
- not [trig_sys]
- ret
-enproc:
- mov [num_proc],255
-.fgf:
- mov eax,9
- mov ebx,pib
- mov ecx, [num_proc]
- mcall
- cld
- lea si,[pib.process_name]
- lea di,[minus]
- mov cx,7
- rep cmps byte [si],[di]
- jcxz .qwer
- sub [num_proc],1
- cmp [num_proc],1
- jne .fgf
- ret
-.qwer:
- or [trig_sys],400h
- ret
-
-; *********************************************
-; ******* WINDOW DEFINITIONS AND DRAW ********
-; *********************************************
-
-draw_window:
- mov eax,48
- mov ebx,3
- mov ecx,sc
- mov edx,sizeof.system_colors
- mcall
- mov eax,12 ; function 12:tell os about windowdraw
- mov ebx,1 ; 1, start of draw
- mcall
- ; DRAW WINDOW
- xor eax,eax ; function 0 : define and draw window
- mov ebx,100*65536+550 ; [x start] *65536 + [x size]
- mov ecx,100*65536+420 ; [y start] *65536 + [y size]
- mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
- or edx,0x33000000
- mov edi,title
- mcall
- mov eax,4
- mov ebx,5*65536+5
- mov ecx,0xC0000000
- mov edx,label1
- mov edi,[sc.work]
- mcall
- mov eax,4
- mov ebx,300*65536+5
- mov ecx,0xC0000000
- mov edx,label5
- mov edi,[sc.work]
- mcall
- mov eax,4
- mov ebx,300*65536+15
- mov ecx,0xC0000000
- mov edx,label6
- mov edi,[sc.work]
- mcall
- mov eax,4
- mov ebx,25*65536+35
- mov ecx,0xC00000dd
- mov edx,song_path
- mov edi,[sc.work]
- mcall
- mov eax,4
- mov ebx,100*65536+5
- mov ecx,0xC0000000
- mov edx,playlist
- mov edi,[sc.work]
- mcall
- test [trig_sys],4h
- jnz .zam1
- mov eax,4
- mov ebx,5*65536+15
- mov ecx,0xC0000000
- mov edx,label3
- mov edi,[sc.work]
- mcall
- jmp .zam2
-.zam1:
- mov eax,4
- mov ebx,5*65536+15
- mov ecx,0xC0000000
- mov edx,label2
- mov edi,[sc.work]
- mcall
- mov eax,4
- mov ebx,5*65536+25
- mov ecx,0xC0000000
- mov edx,label4
- mov edi,[sc.work]
- mcall
-.zam2:
-
-; mov eax,47
-; mov esi,0x50000000
-; mov ecx, [trig_sys]
-; mov edi,[sc.work]
-; mov ebx,0x00080100
-; mov edx,385*65536+25
-; mcall
- mov eax,47
- mov esi,0x50000000
- mov ecx, [song_count]
- mov edi,[sc.work]
- mov ebx,0x00030000
- mov edx,500*65536+5
- mcall
- mov eax,47
- mov esi,0x50000000
- movzx ecx, [poz_song]
- mov edi,[sc.work]
- mov ebx,0x00030000
- mov edx,500*65536+15
- mcall
- mov [bbut],32
- mov [poz_but],48*65536+10
- mov edx,6
-butt1:
- mov ebx,0*65536+20
- mov ecx,[poz_but]
- mov esi,[color1]
- movzx eax,[poz_butt]
- cmp edx,eax
- jne .uuu
- mov esi,[color2]
-.uuu:
- mov eax,8
- mcall
- add edx,1
- add [poz_but],10*65536
- sub [bbut],1
- cmp [bbut],0
- jne butt1
- mov eax,8
- mov ebx,525*65536+15
- mov ecx,45*65536+15
- mov esi,0x00aaaadd
- mov edx,4
- mcall
- mov eax,8
- mov ebx,525*65536+15
- mov ecx,365*65536+15
- mov esi,0x00aaaadd
- mov edx,5
- mcall
- mov [ai],32
- mov [list_poz],25*65536+50
- mov ebx,[poz_db3]
- mov [poz_db2],ebx
-list:
- mov eax,4
- mov ecx,0xC0000000
- mov ebx,[poz_db2]
- lea edx,[memlist+ebx]
- mov ebx, [list_poz]
- mov edi,[sc.work]
- mcall
- add [list_poz],10
- add [poz_db2],255
- sub [ai],1
- cmp [ai],0
- ja list
- mov eax,12 ; function 12:tell os about windowdraw
- mov ebx,2 ; 2, end of draw
- mcall
- ret
-
-
-
-; DATA AREA
-
-
-title: db 'Проигрываем плейлист v 0.20',0
-play_list: db '1.kpl',0
-cd_0: db 'c',0
-hd_0: db 'h',0
-label1: db 'Файл плейлиста:',0
-label2: db 'сканирование закончено... :) ',0
-label3: db 'Подождите, пожалуйста, идёт сканирование',0
-label4: db 'Воспроизводимый файл:',0
-label5: db 'Всего файлов в плейлисте найдено:',0
-label6: db 'Номер воспроизводимого файла:',0
-minus: db 'ac97snd',0
-player: db '/sys/media/ac97snd' ,0
-my_draw db 0
-n_razd db 0
-trig_scan db 0
-char_con db 0
-poz_butt db 0
-poz_song db 0
-count_err dd 0
-num_proc dd 0
-q_takt dd 0
-razm_str dd 0
-fold dd 0
-razm_path dd 0
-trig_sys dd 0
-poz_db dd 0
-poz_db2 dd 0
-poz_db3 dd 255
-song_poz dd 0
-list_poz dd 5*65536+50
-song_count dd 0
-ai dd 0
-st_r dd 0
-bbut dd 0
-poz_but dd 0
-sme dd 0
-color1 dd 0x006666dd
-color2 dd 0x00dddddd
-ss2 dd 0
-zzz dw 22
-scan_rez:
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
-floc:
-pc: db '/'
-td: db 'h'
-dr: db 'd'
-ns db 48
-vc: db '/'
-nd db 48
-ks: db '/'
-fl:
- rb 255
-playlist rb 255
-song_path rb 255
-folder_inf:
- dd 7
- dd 0
- dd song_path
- dd 0
- dd 0
- db 0
- dd player
-file_info:
- dd 0
- dd 0
- dd 0
- dd 0
- dd 0
- db 0
- dd floc
-file_info2:
- dd 0
- dd 0
- dd 0
- dd 0
- dd 0
- db 0
- dd 0
-string1 rb 255
-
-I_END:
-
-
-
-temp dd ?
-sc system_colors
-pib process_information
-memlist rb 65536
-
+; SPDX-License-Identifier: NOASSERTION
+;
+;
+; Compile with flat assembler
+; A program that allows you to play a playlist
+; Developed by: DedOk :)
+
+use32
+
+ org 0x0
+
+ db 'MENUET01' ; 8 byte id
+ dd 0x01 ; header version
+ dd START ; start of code
+ dd I_END ; size of image
+ dd 0x25000 ; memory for app
+ dd 0x20000 ; esp
+ dd playlist, 0x0
+
+include '../../macros.inc'
+
+START: ; start of execution
+cmp [playlist],0x00000000
+jne dprod
+mcall -1
+dprod:
+or [trig_sys],40h
+call scandr
+jmp mmm.seach
+still:
+ not [trig_sys]
+ or [trig_sys],400h
+ not [trig_sys]
+ or [trig_sys],200h
+ call enproc
+ call delproc
+ mov eax,23 ; wait here for event
+ mov ebx,20
+ mcall
+ cmp eax,1 ; redraw request ?
+ je red
+ cmp eax,3 ; button in buffer ?
+ je button
+ test [trig_sys],200h
+ jz next_song
+ jmp still
+next_song:
+ add [poz_butt],1
+ movzx eax,[poz_song]
+ add eax,1
+ mov [poz_song],al
+ mov dx,255
+ mul dx
+ mov [song_poz], eax
+ movzx eax,[poz_song]
+ sub eax,1
+ cmp [song_count],eax
+ ja .dgo
+ mov [poz_song],1
+ mov [song_poz],255
+ mov [poz_butt],6
+.dgo:
+ call load_song
+ call procskan
+ call start
+ or [trig_sys],200h
+ call draw_window
+ jmp still
+red:
+ call draw_window
+ jmp still
+button: ; button
+ mov eax,17
+ mcall
+ cmp ah,1
+ je close
+ cmp ah,2
+ je mmm
+ cmp ah,3
+ je mma
+ cmp ah,4
+ je mmd
+ cmp ah,5
+ je mmf
+ cmp ah,38
+ jb mma
+ ret
+close:
+ mov eax,-1
+ mcall
+mma:
+ mov [poz_butt],ah
+ mov [poz_song],ah
+ sub [poz_song],5
+ movzx eax,[poz_song]
+ add eax,[sme]
+ mov [poz_song],al
+ mov dx,255
+ mul dx
+ mov [song_poz], eax
+ call load_song
+ call procskan
+ call start
+ or [trig_sys],200h
+ call draw_window
+ jmp still
+mmw:
+ mov ebx,file_info2
+ mov ecx,[razm_str]
+ add dword [ebx+4],ecx
+ or [trig_sys],40h
+ jmp mmm.seach
+ ret
+mmm:
+.seach:
+ call getstring
+ call get_drive
+ call put_db
+ call draw_window
+ test [trig_sys],04h
+ jz mmw
+ jmp still
+mmd:
+ cmp [poz_db3],510
+ jb .emd
+ sub [poz_db3],255
+ add [poz_butt],1
+ sub [sme],1
+.emd:
+ call draw_window
+ jmp still
+mmf:
+ add [poz_db3],255
+ sub [poz_butt],1
+ add [sme],1
+ call draw_window
+ jmp still
+procskan:
+ mov [num_proc],255
+qqqqq:
+ mov eax,9
+ mov ebx,pib
+ mov ecx, [num_proc]
+ mcall
+ cld
+ lea si,[pib.process_name]
+ lea di,[minus]
+ mov cx,7
+ rep cmps byte [si],[di]
+ jcxz mat
+ sub [num_proc],1
+ cmp [num_proc],1
+ jne qqqqq
+ ret
+mat:
+ mov eax,18
+ mov ebx,2
+ mov ecx,[num_proc]
+ mcall
+ jmp procskan
+scandr:
+ mov eax,18
+ mov ebx,11
+ mov ecx,1
+ mov edx,scan_rez
+ mcall
+ ret
+mountpl:
+ mov cx,255
+ cld
+ lea di,[fl]
+ mov al,00h
+ repne stos byte [di]
+ cld
+ mov cx,6
+ lea si,[play_list]
+ lea di,[fl]
+ rep movs byte [di],[si]
+ mov cx,0
+ ret
+get_drive:
+ mov al,byte[scan_rez+1]
+ mov [my_draw],al
+ mov [ns],48
+ cmp [my_draw],0
+ jne .c0
+ or [trig_sys],01h
+.c0:
+ cmp [my_draw],0x80
+ jb .h0
+ sub [my_draw],0x80
+ mov [n_razd],1
+ mov [nd],49
+ mov al,[cd_0]
+ mov [td],al
+ call folscan
+.h0:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x40
+ jb .c1
+ sub [my_draw],0x40
+ mov al,byte[scan_rez+2]
+ mov [n_razd],al
+ add al,48
+ mov [nd],al
+ mov al,[hd_0]
+ mov [td],al
+ call folscan
+.c1:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x20
+ jb .h1
+ sub [my_draw],0x20
+ mov [n_razd],1
+ mov [nd],49
+ mov al,[cd_0]
+ mov [ns],19
+ call folscan
+.h1:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x10
+ jb .c2
+ sub [my_draw],0x10
+ mov al,byte[scan_rez+3]
+ mov [n_razd],al
+ add al,48
+ mov [nd],al
+ mov al,[hd_0]
+ mov [td],al
+ mov [ns],49
+ call folscan
+.c2:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x08
+ jb .h2
+ sub [my_draw],0x08
+ mov [n_razd],1
+ mov [nd],49
+ mov al,[cd_0]
+ mov [td],al
+ mov [ns],50
+ call folscan
+.h2:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x04
+ jb .c3
+ sub [my_draw],0x04
+ mov al,byte[scan_rez+4]
+ mov [n_razd],al
+ add al,48
+ mov [nd],al
+ mov al,[hd_0]
+ mov [td],al
+ mov [ns],50
+ call folscan
+.c3:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x02
+ jb .h3
+ sub [my_draw],0x02
+ mov [n_razd],1
+ mov [nd],49
+ mov al,[cd_0]
+ mov [td],al
+ mov [ns],51
+ call folscan
+.h3:
+ cmp [trig_scan],1
+ je ex1
+ cmp [my_draw],0x01
+ jb ex1
+ sub [my_draw],0x01
+ mov al,byte[scan_rez+5]
+ mov [n_razd],al
+ add al,48
+ mov [nd],al
+ mov al,[hd_0]
+ mov [td],al
+ mov [ns],51
+ call folscan
+ex1:
+ cmp [fold],05h
+ jne ext2
+ or [trig_sys],04h
+ext2:
+ cmp [fold],0Ah
+ jne ext3
+ or [trig_sys],08h
+ jmp eext
+ext3:
+ mov [trig_scan],0
+ not [trig_sys]
+ or [trig_sys],0Eh
+ not [trig_sys]
+eext:
+ ret
+folscan:
+ cmp [trig_scan],1
+ je .out2
+ mov eax,70
+ mov ebx,file_info
+ mcall
+ mov [fold],eax
+ cmp [fold],0
+ jne .out
+ mov al,1
+ mov [trig_scan],al
+ jmp .out2
+.out:
+ mov al,1
+ sub [n_razd],al
+ mov al,1
+ sub [nd],al
+ cmp [n_razd],0
+ jne folscan
+.out2:
+ ret
+get_play:
+ mov cx,255
+ lea si,[floc]
+ lea di,[playlist]
+ rep movs byte [di],[si]
+ mov cx,0
+ret
+getstring:
+ mov eax,70
+ mov ebx,file_info2
+ mov dword [ebx+12], 255
+ mov dword [ebx+16],string1
+ mov dword [ebx+21],playlist
+ mcall
+ cmp eax,6
+ jne .pro
+ or [trig_sys],04h
+ call draw_window
+ jmp still
+.pro:
+
+ cmp ebx,0xFFFFFFFF
+ je .exit
+ call rus_m
+ cld
+ lea di,[string1]
+ mov cx,255
+ mov al,0ah
+ repne scas byte [es:di]
+ je .calc
+ mov [razm_str],0
+ mov ebx,file_info2
+ add dword [ebx+4], 255
+ or [trig_sys],40h
+ jmp mmm.seach
+.calc:
+ mov [razm_str],255
+ sub [razm_str],ecx
+.kon:
+ mov [razm_path],0
+ cld
+ lea di,[string1]
+ mov ecx,0
+.ppr:
+ cmp byte [es:di],70h
+ je .s1
+ cmp byte [es:di],50h
+ je .s1
+ add ecx,1
+ add di,1
+ cmp ecx,[razm_str]
+ jb .ppr
+ jmp .next
+.s1:
+ add di,1
+ cmp byte [es:di],33h
+ je .s2
+ sub di,1
+ jmp .next
+ ret
+.s2:
+
+ or [trig_sys],80h
+ mov [razm_path],ecx
+ add [razm_path],2
+
+; mov [ss2],0
+ cld
+ lea di,[string1]
+ mov cx,0
+ mov [zzz],cx
+.ppre:
+ cmp byte [es:di],3Ah
+ je .se1
+ add cx,1
+ add di,1
+ cmp ecx,[razm_path]
+ jne .ppre
+ jmp .mount
+.se1:
+ add di,1
+ cmp byte [es:di],5Ch
+ je .se2
+ sub di,1
+ jmp .mount
+.se2:
+ cmp ecx,250
+ jb .se3
+ mov ecx,0
+.se3:
+ add cx,2
+; mov [ss2],cx
+ mov [zzz],cx
+.mount:
+ movzx ecx,[zzz]
+ cmp ecx, [razm_path]
+ jb .mount1
+ or [trig_sys],04h
+ jmp still
+.mount1:
+ mov ecx,255
+ cld
+ lea di,[fl]
+ mov al,00h
+ repne stos byte [di]
+ cld
+ mov ecx,[razm_path]
+ sub cx,[zzz]
+ lea si,[string1]
+ add si,[zzz]
+ lea di,[fl]
+ rep movs byte [di],[si]
+ mov ecx,0
+.sl_m:
+ mov ecx,0
+ lea di,[fl]
+.cikl_mx:
+ mov al,byte[di]
+ mov [char_con],al
+ cmp al,5Ch
+ je .con_sl
+ jmp .ext6
+.con_sl:
+ mov al,2Fh
+.ext6:
+ stos byte [di]
+ add ecx,1
+ cmp ecx,[razm_path]
+ jb .cikl_mx
+
+.exit:
+ ret
+.next:
+ not [trig_sys]
+ or [trig_sys],80h
+ not [trig_sys]
+ mov ebx,file_info2
+ mov ecx,[razm_str]
+ add dword [ebx+4],ecx
+ or [trig_sys],40h
+ jmp mmm.seach
+rus_m:
+ test [trig_sys],40h
+ jnz ddff
+ ret
+ddff:
+ mov ecx,0
+ lea di,[string1]
+cicl_m:
+ mov al,byte[di]
+ mov [char_con],al
+ shr al,4
+ cmp al,0Eh
+ je min_sor
+ cmp al,0Ch
+ je min_sor
+ cmp al,0Dh
+ je min_sor
+ cmp al,0Fh
+ je min_des
+ shl al,4
+ mov al,0
+ jmp ext5
+min_sor:
+ sub [char_con],40h
+ jmp ext5
+min_des:
+ sub [char_con],10h
+ jmp ext5
+ext5:
+ mov al,[char_con]
+ stos byte [di]
+ add ecx,1
+ cmp ecx,255
+ jb cicl_m
+ not [trig_sys]
+ or [trig_sys],40h
+ not [trig_sys]
+ ret
+
+put_db:
+ test [trig_sys],80h
+ jz .exit
+ add [song_count],1
+ add [poz_db],255
+ mov ecx,255
+ cld
+ mov ebx,[poz_db]
+ lea di,[memlist+ebx]
+ mov al,00h
+ repne stos byte [di]
+ cld
+ mov ecx,255
+ lea si,[floc]
+ mov ebx,[poz_db]
+ lea di,[memlist+ebx]
+ rep movs byte [di],[si]
+ mov ecx,0
+.exit:
+ ret
+load_song:
+ cld
+ mov ecx,255
+ lea di,[song_path]
+ mov ebx,[song_poz]
+ lea si,[memlist+ebx]
+ rep movs byte [di],[si]
+ mov ecx,0
+ ret
+start:
+ mov eax,70
+ mov ebx,folder_inf
+ mcall
+ ret
+delproc:
+ test [trig_sys],400h
+ jnz .sdf
+ ret
+.sdf:
+ mov [num_proc],255
+.fgf:
+ mov eax,9
+ mov ebx,pib
+ mov ecx, [num_proc]
+ mcall
+ cld
+ lea si,[pib.process_name]
+ lea di,[minus]
+ mov cx,7
+ rep cmps byte [si],[di]
+ jcxz .qwer
+ sub [num_proc],1
+ cmp [num_proc],1
+ jne .fgf
+ test [trig_sys],200h
+ ret
+.qwer:
+ mov eax,[pib+process_information.cpu_usage]
+ mov [q_takt],eax
+ cmp [q_takt],200000
+ jb .asdf
+ ret
+.asdf:
+ add [count_err],1
+ cmp [count_err],6
+ ja .djbn
+ ret
+.djbn:
+ mov [count_err],0
+ not [trig_sys]
+ or [trig_sys],200h
+ not [trig_sys]
+ ret
+enproc:
+ mov [num_proc],255
+.fgf:
+ mov eax,9
+ mov ebx,pib
+ mov ecx, [num_proc]
+ mcall
+ cld
+ lea si,[pib.process_name]
+ lea di,[minus]
+ mov cx,7
+ rep cmps byte [si],[di]
+ jcxz .qwer
+ sub [num_proc],1
+ cmp [num_proc],1
+ jne .fgf
+ ret
+.qwer:
+ or [trig_sys],400h
+ ret
+
+; *********************************************
+; ******* WINDOW DEFINITIONS AND DRAW ********
+; *********************************************
+
+draw_window:
+ mov eax,48
+ mov ebx,3
+ mov ecx,sc
+ mov edx,sizeof.system_colors
+ mcall
+ mov eax,12 ; function 12:tell os about windowdraw
+ mov ebx,1 ; 1, start of draw
+ mcall
+ ; DRAW WINDOW
+ xor eax,eax ; function 0 : define and draw window
+ mov ebx,100*65536+550 ; [x start] *65536 + [x size]
+ mov ecx,100*65536+420 ; [y start] *65536 + [y size]
+ mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
+ or edx,0x33000000
+ mov edi,title
+ mcall
+ mov eax,4
+ mov ebx,5*65536+5
+ mov ecx,0xC0000000
+ mov edx,label1
+ mov edi,[sc.work]
+ mcall
+ mov eax,4
+ mov ebx,300*65536+5
+ mov ecx,0xC0000000
+ mov edx,label5
+ mov edi,[sc.work]
+ mcall
+ mov eax,4
+ mov ebx,300*65536+15
+ mov ecx,0xC0000000
+ mov edx,label6
+ mov edi,[sc.work]
+ mcall
+ mov eax,4
+ mov ebx,25*65536+35
+ mov ecx,0xC00000dd
+ mov edx,song_path
+ mov edi,[sc.work]
+ mcall
+ mov eax,4
+ mov ebx,100*65536+5
+ mov ecx,0xC0000000
+ mov edx,playlist
+ mov edi,[sc.work]
+ mcall
+ test [trig_sys],4h
+ jnz .zam1
+ mov eax,4
+ mov ebx,5*65536+15
+ mov ecx,0xC0000000
+ mov edx,label3
+ mov edi,[sc.work]
+ mcall
+ jmp .zam2
+.zam1:
+ mov eax,4
+ mov ebx,5*65536+15
+ mov ecx,0xC0000000
+ mov edx,label2
+ mov edi,[sc.work]
+ mcall
+ mov eax,4
+ mov ebx,5*65536+25
+ mov ecx,0xC0000000
+ mov edx,label4
+ mov edi,[sc.work]
+ mcall
+.zam2:
+
+; mov eax,47
+; mov esi,0x50000000
+; mov ecx, [trig_sys]
+; mov edi,[sc.work]
+; mov ebx,0x00080100
+; mov edx,385*65536+25
+; mcall
+ mov eax,47
+ mov esi,0x50000000
+ mov ecx, [song_count]
+ mov edi,[sc.work]
+ mov ebx,0x00030000
+ mov edx,500*65536+5
+ mcall
+ mov eax,47
+ mov esi,0x50000000
+ movzx ecx, [poz_song]
+ mov edi,[sc.work]
+ mov ebx,0x00030000
+ mov edx,500*65536+15
+ mcall
+ mov [bbut],32
+ mov [poz_but],48*65536+10
+ mov edx,6
+butt1:
+ mov ebx,0*65536+20
+ mov ecx,[poz_but]
+ mov esi,[color1]
+ movzx eax,[poz_butt]
+ cmp edx,eax
+ jne .uuu
+ mov esi,[color2]
+.uuu:
+ mov eax,8
+ mcall
+ add edx,1
+ add [poz_but],10*65536
+ sub [bbut],1
+ cmp [bbut],0
+ jne butt1
+ mov eax,8
+ mov ebx,525*65536+15
+ mov ecx,45*65536+15
+ mov esi,0x00aaaadd
+ mov edx,4
+ mcall
+ mov eax,8
+ mov ebx,525*65536+15
+ mov ecx,365*65536+15
+ mov esi,0x00aaaadd
+ mov edx,5
+ mcall
+ mov [ai],32
+ mov [list_poz],25*65536+50
+ mov ebx,[poz_db3]
+ mov [poz_db2],ebx
+list:
+ mov eax,4
+ mov ecx,0xC0000000
+ mov ebx,[poz_db2]
+ lea edx,[memlist+ebx]
+ mov ebx, [list_poz]
+ mov edi,[sc.work]
+ mcall
+ add [list_poz],10
+ add [poz_db2],255
+ sub [ai],1
+ cmp [ai],0
+ ja list
+ mov eax,12 ; function 12:tell os about windowdraw
+ mov ebx,2 ; 2, end of draw
+ mcall
+ ret
+
+
+
+; DATA AREA
+
+
+title: db 'Проигрываем плейлист v 0.20',0
+play_list: db '1.kpl',0
+cd_0: db 'c',0
+hd_0: db 'h',0
+label1: db 'Файл плейлиста:',0
+label2: db 'сканирование закончено... :) ',0
+label3: db 'Подождите, пожалуйста, идёт сканирование',0
+label4: db 'Воспроизводимый файл:',0
+label5: db 'Всего файлов в плейлисте найдено:',0
+label6: db 'Номер воспроизводимого файла:',0
+minus: db 'ac97snd',0
+player: db '/sys/media/ac97snd' ,0
+my_draw db 0
+n_razd db 0
+trig_scan db 0
+char_con db 0
+poz_butt db 0
+poz_song db 0
+count_err dd 0
+num_proc dd 0
+q_takt dd 0
+razm_str dd 0
+fold dd 0
+razm_path dd 0
+trig_sys dd 0
+poz_db dd 0
+poz_db2 dd 0
+poz_db3 dd 255
+song_poz dd 0
+list_poz dd 5*65536+50
+song_count dd 0
+ai dd 0
+st_r dd 0
+bbut dd 0
+poz_but dd 0
+sme dd 0
+color1 dd 0x006666dd
+color2 dd 0x00dddddd
+ss2 dd 0
+zzz dw 22
+scan_rez:
+ db 0
+ db 0
+ db 0
+ db 0
+ db 0
+ db 0
+ db 0
+ db 0
+ db 0
+ db 0
+floc:
+pc: db '/'
+td: db 'h'
+dr: db 'd'
+ns db 48
+vc: db '/'
+nd db 48
+ks: db '/'
+fl:
+ rb 255
+playlist rb 255
+song_path rb 255
+folder_inf:
+ dd 7
+ dd 0
+ dd song_path
+ dd 0
+ dd 0
+ db 0
+ dd player
+file_info:
+ dd 0
+ dd 0
+ dd 0
+ dd 0
+ dd 0
+ db 0
+ dd floc
+file_info2:
+ dd 0
+ dd 0
+ dd 0
+ dd 0
+ dd 0
+ db 0
+ dd 0
+string1 rb 255
+
+I_END:
+
+
+
+temp dd ?
+sc system_colors
+pib process_information
+memlist rb 65536
diff --git a/programs/other/calc/trunk/Tupfile.lua b/programs/other/calc/Tupfile.lua
similarity index 100%
rename from programs/other/calc/trunk/Tupfile.lua
rename to programs/other/calc/Tupfile.lua
diff --git a/programs/other/calc/trunk/build_en.bat b/programs/other/calc/build_en.bat
similarity index 100%
rename from programs/other/calc/trunk/build_en.bat
rename to programs/other/calc/build_en.bat
diff --git a/programs/other/calc/trunk/build_ru.bat b/programs/other/calc/build_ru.bat
similarity index 100%
rename from programs/other/calc/trunk/build_ru.bat
rename to programs/other/calc/build_ru.bat
diff --git a/programs/other/calc/trunk/calc.asm b/programs/other/calc/calc.asm
similarity index 99%
rename from programs/other/calc/trunk/calc.asm
rename to programs/other/calc/calc.asm
index 6e167db34..59ae8a6fb 100644
--- a/programs/other/calc/trunk/calc.asm
+++ b/programs/other/calc/calc.asm
@@ -1,3 +1,6 @@
+; SPDX-License-Identifier: NOASSERTION
+;
+
;; Calculator for MenuetOS (c) Ville Turjanmaa
;;
;; Compile with FASM
@@ -31,9 +34,9 @@ use32
dd E_END ; esp
dd 0x0,0x0 ; I_Param , I_Icon
-include '../../../macros.inc'
-include '../../../gui_patterns.inc'
-include '../../../KOSfuncs.inc'
+include '../../macros.inc'
+include '../../gui_patterns.inc'
+include '../../KOSfuncs.inc'
hotkeys_count equ 26
asci: db 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 43, 61, 13, 45, 42, 47, 44, 46, 27, 182, \
diff --git a/programs/other/period/trunk/Tupfile.lua b/programs/other/period/Tupfile.lua
similarity index 100%
rename from programs/other/period/trunk/Tupfile.lua
rename to programs/other/period/Tupfile.lua
diff --git a/programs/other/period/trunk/build.bat b/programs/other/period/build.bat
similarity index 100%
rename from programs/other/period/trunk/build.bat
rename to programs/other/period/build.bat
diff --git a/programs/other/period/trunk/period.asm b/programs/other/period/period.asm
similarity index 86%
rename from programs/other/period/trunk/period.asm
rename to programs/other/period/period.asm
index 3db36a5e0..64969b0b9 100644
--- a/programs/other/period/trunk/period.asm
+++ b/programs/other/period/period.asm
@@ -1,2061 +1,2066 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Periodic Table for KolibriOS
-;;
-;; Периодическая система химических элементов
-;; Дмитрия Ивановича Менделеева
-;; Авторы:
-;; navanax [violetlab+rambler.ru]
-;; Johnny_B [john+kolibrios.org]
-;;
-;; макрос для создания массива указателей на ASCIIZ-строки
-
-include '..\..\..\macros.inc'
-macro strtbl name,[string]
-{
- common
- label name dword
- forward
- local lbl
- dd lbl
- forward
- lbl db string,0
-}
-
-use32
-
- org 0x0
- db 'MENUET01' ; стандартный 8-байтовый заголовок для исполняемых файлов MeOS
- dd 0x01 ; версия заголовка
- dd START ; указатель на начало исполняемого кода
- dd I_END ; размер образа
- dd I_END+0x1000 ; требуемая память для приложения
- dd I_END+0x1000 ; указатель на начала стека
- dd 0x0 , 0x0 ; I_Param , I_Icon
-
-;ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ И КОНСТАНТЫ
-re_ID dd 0x00000001 ;для хранения номера текущего выводимого элемента
-
-START:
-
- mov eax,48
- mov ebx,3
- mov ecx,sc
- mov edx,sizeof.system_colors
- mcall
-
-red:
- call draw_window
-
-still: ;основной цикл программы
- push 10 ;ожидание события
- pop eax
- mcall
-
- dec eax
- je red
- dec eax
- jne button
-
-key:
- mov al,2
- mcall
- jmp still
-
-button:
- mov al,17 ;получаем ID нажатой кнопки
- mcall
- shr eax,8 ; eax=24-битный ButtonID
-
- cmp eax,1 ;нажата ли "Закрыть" [x]
- jne noclose
- or eax,-1
- mcall
-
-noclose:
- cmp eax,200
- jne no_H
- mov eax,1
-no_H:
- mov [re_ID],eax
-;;
- call draw_text
-;;
- jmp still
-
-draw_window:
-
- mov eax,12 ;begin drawing
- xor ebx,ebx
- inc ebx
- mcall
- ; DRAW WINDOW
- xor eax,eax
- mov ebx,50*65536+555 ;x
- mov ecx,30*65536+455 ;y
- mov edx,[sc.work]
- or edx,0x34000000 ;style
- mov edi,caption
- mcall
-
-text_in_window:
- mov eax,4 ;вывод текста
- mov ecx,0x80000000 ;asciiz, ЦВЕТ !!!
-
- mov ebx,40*65536+200 ;лантаноиды
- mov edx,Lantanoid_text
- mcall
-
- add ebx,20 ;актиноиды
- mov edx,Actinoid_text
- mcall
-
- mov ebx,150*65536+255
- mov edx,number
- mcall
-
- add ebx,15
- mov edx,name
- mcall
-
- add ebx,15
- mov edx,eng_name
- mcall
-
- add ebx,15
- mov edx,Atomic_massa
- mcall
-
- add ebx,15
- mov edx,density
- mcall
-
- add ebx,15
- mov edx,Step_okisl
- mcall
-
- add ebx,15
- mov edx,Electrootr
- mcall
-
- add ebx,15
- mov edx,T_pl
- mcall
-
- add ebx,15
- mov edx,T_kip
- mcall
-
- add ebx,15
- mov edx,Raspr
- mcall
-
- add ebx,15
- mov edx,Otkrytie
- mcall
-
- ; ВЫВОД НОМЕРОВ ПЕРИОДОВ
- mov ebx,30*65536+43
- mov edx,Period_text ;1
- mcall
-
- call @f ;2
- call @f ;3
- call @f ;4
- call @f ;5
- call @f ;6
- call @f ;7
- jmp Table
-
- @@:
- add ebx,20
- add edx,4 ;т.к. строка = 4 байтам(с нулём)
- mcall
- ret
-
-Table: ;Отрисовка таблицы в виде конопочек
- table_row_1:
- shl eax,1
- mov ebx,50*65536+25
- mov ecx,35*65536+20
- mov edx,200
- mov esi,0xE19123
- mcall
- He_:
- mov ebx,491*65536+25
- mov esi,0x0f0c314
- mov edx,2
- mcall
- table_row_2:
- Li:
- mov ebx,50*65536+25
- mov ecx,56*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Be:
- mov ebx,76*65536+25
- inc edx
- mcall
- B_:
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_2_loop:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_2_loop
- table_row_3:
- Na:
- mov ebx,50*65536+25
- mov ecx,77*65536+20
- mov esi,0xE19123
- inc edx
- mcall
-
- mov ebx,76*65536+25
- inc edx
- mcall
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_3_loop:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_3_loop
-
- Table_row_4:
- K_:
- mov ebx,50*65536+25
- mov ecx,98*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Ca:
- mov ebx,76*65536+25
- inc edx
- mcall
- Sc:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edi,8
- Table_row_4_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_4_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_4_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_4_loop2
-
- Table_row_5:
- Rb_:
- mov ebx,50*65536+25
- mov ecx,119*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Sr_:
- mov ebx,76*65536+25
- inc edx
- mcall
- Y_:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edi,8
- Table_row_5_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_5_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_5_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_5_loop2
-
- Table_row_6:
- Cs_:
- mov ebx,50*65536+25
- mov ecx,140*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Ba_:
- mov ebx,76*65536+25
- inc edx
- mcall
- La_:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edx,71
- mov edi,8
- Table_row_6_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_6_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_6_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_6_loop2
-
- Table_row_7:
- Fr_:
- mov ebx,50*65536+25
- mov ecx,161*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Ra_:
- mov ebx,76*65536+25
- inc edx
- mcall
- Ac_:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edx,103
- mov edi,8
- Table_row_7_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_7_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_7_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_7_loop2
-
- row_1:
- Cerium_:
- mov ebx,102*65536+25
- mov ecx,190*65536+20
- mov edx,58
- mov esi,0x73beeb
- mcall
- mov edi,12
-
- row_1_loop:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns row_1_loop
- row_2:
- dgfsfHe_:
- mov ebx,102*65536+25
- mov ecx,211*65536+20
- mov edx,90
- mcall
- mov edi,12
- row_2_loop:
-
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns row_2_loop
-
-text_on_buttons:
- text_row1:
- ;H
- shr eax,1
- mov ebx,62*65536+43
- mov ecx,0x00000000
- mov edx,Symbols
- mov esi,3
- mcall
- ;Ne
- mov ebx,500*65536+43
- add edx,3
- mcall
- text_row2_1:
- mov ebx,60*65536+63
- add edx,3
- mcall
-
- mov ebx,85*65536+63
- add edx,3
- mcall
- text_row2_2:
- mov ebx,374*65536+63
- add edx,3
- mcall
- mov edi,4
-
- text_row2_2_loop:
- add ebx,25*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row2_2_loop
- text_row3_1:
- mov ebx,60*65536+83
- add edx,3
- mcall
-
- mov ebx,85*65536+83
- add edx,3
- mcall
- text_row3_2:
- mov ebx,374*65536+83
- add edx,3
- mcall
- mov edi,4
- text_row3_2_loop:
- add ebx,25*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row3_2_loop
- text_row4:
- mov ebx,60*65536+104
- add edx,3
- mcall
- mov edi,16
- text_row4_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row4_loop
- text_row5:
- mov ebx,60*65536+125
- add edx,3
- mcall
- mov edi,16
- text_row5_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row5_loop
- text_row6:
- mov ebx,60*65536+146
- add edx,3
- mcall
- mov edi,16
- text_row6_loop:
- add ebx,26*65536
- add edx,3
- mcall
- dec edi
- jns text_row6_loop
- text_row7:
- mov ebx,60*65536+167
- add edx,3
- mcall
- mov edi,11 ;9
- text_row7_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row7_loop
- mov edi,4
- text_row7_loop2:
- add ebx,26*65536
- add edx,3
- mcall
- dec edi
- jns text_row7_loop2
-
- text_row8:
- mov ebx,111*65536+197
- add edx,3
- mcall
- mov edi,12
-
- text_row8_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row8_loop
-
- text_row9:
- mov ebx,111*65536+217
- add edx,3
- mcall
- mov edi,12
-
- text_row9_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row9_loop
-
-;; - короче выносим в отдельную процедуру
- call draw_text
-;;
-
- finish:
- mov eax,12 ;end drawing
- mov ebx,2
- mcall
-ret
-
-draw_text:
-
- ; 1 вывод порядкового номера [optmzd-mem]
- ; 2 вывод русского названия [optmzd-mem]
- ; 3 вывод английского названия [optmzd-spd]
- ; 4 вывод атомной массы [optmzd-spd]
- ; 5 вывод плотность [optmzd-mem]
- ; 6 вывод степень окисления [optmzd-mem]
- ; 7 вывод электроотрицательности [optmzd-spd]
- ; 8 вывод температура плавления [optmzd-mem]
- ; 9 вывод температура кипения [optmzd-mem]
- ;10 вывод распределение в земной коре [optmzd-mem]
- ;11 вывод имён первооткрывателей [optmzd-mem]
-
-;; - закраска, что-бы не было наложения при прорисовке текста
- mov eax,13
- mov ebx,320*65536+210
- mov ecx,255*65536+(15*11)
- mov edx,[sc.work]
- mcall
-;;
-
-
- push edi ; чтобы оптимизировать изменения ebx
-
- ; 1 вывод порядкового номера [optmzd-mem]
- mov ebx,0x30000 ;выводить 3 цифры
- mov ecx,[re_ID]
- mov edx,320*65536+255
- xor esi,esi
- mov eax,47
- mcall
-
-;ВНИМАНИЕ! ЗДЕСЬ ЗАДАЁТСЯ ЦВЕТ ВСЕГО ОСТАЛЬНОГО ТЕКСТА! [сделано для сокращения кода на 20 байт :)))]
- mov ecx,[sc.work_text] ; ЦВЕТ
- or ecx,0x80000000 ; asciiz
- mov eax,4 ; эта функция вызывается 10 раз! так что запишем 1 раз
-
- ; 2 вывод РУССКОЕ НАЗВАНИЕ [optmzd-mem]
- mov edi,Rus_nazv ;указатель на начало массива указателей ;)
- mov ebx,320*65536+255 ;здесь вносятся координаты, дальше будет лишь add ebx,15
- call out_asciiz_item
-
- xor ecx,ecx ;color
- ; 3 вывод английского названия [optmzd-spd]
- mov edx,Elements
- mov edi,[re_ID]
- dec edi
- mov esi,12 ;длина строки
- imul edi,esi ;считаем указатель на нужную строку
- add edx,edi
- add ebx,15 ; увеличиваем y-координату текста на 15 пикселей
- mcall
-
- ; 4 вывод атомной массы [optmzd-spd]
- mov edx,MassNo
- mov edi,[re_ID]
- dec edi
- mov esi,7 ;длина строки
- imul edi,esi ;считаем указатель на нужную строку
- add edx,edi
- add ebx,15
- mcall
-
- mov ecx,0x80000000 ;asciiz, ЦВЕТ !!!
- ; 5 вывод ПЛОТНОСТЬ [optmzd-mem]
- mov edi,Plotnost
- call out_asciiz_item
-
- ; 6 вывод СТЕПЕНЬ ОКИСЛЕНИЯ [optmzd-mem]
- mov edi,Step_ok
- call out_asciiz_item
-
- xor ecx,ecx ;color
- ; 7 вывод ЭЛЕКТРООТРИЦАТЕЛЬНОСТЬ [optmzd-spd]
- mov edx,Electr
- mov edi,[re_ID]
- dec edi
- mov esi,4 ;длина строки
- shl edi,2
- add edx,edi
- add ebx,15
- mcall
-
- mov ecx,0x80000000 ;asciiz, ЦВЕТ !!!
- ; 8 вывод ТЕМПЕРАТУРА ПЛАВЛЕНИЯ [optmzd-mem]
- mov edi,T_plavl
- call out_asciiz_item
-
- ; 9 вывод ТЕМПЕРАТУРА КИПЕНИЯ [optmzd-mem]
- mov edi,T_kipen
- call out_asciiz_item
-
- ;10 вывод РАСПРЕДЕЛЕНИЕ В ЗЕМНОЙ КОРЕ [optmzd-mem]
- mov edi,Rasprostr
- call out_asciiz_item
-
- ;11 вывод имён первооткрывателей [optmzd-mem]
- mov edi,First_Explore
- call out_asciiz_item
-
- pop edi ; он был сохранён в начале :)
- ret
-
-;функция выполняет набор действий для вывода информации
-out_asciiz_item:
- mov edx,[re_ID]
- dec edx
- shl edx,2 ;умножить на 4 (размер указателя)
- mov edx,[edx+edi] ;указатель на строку в edx
- add ebx,15
- mcall
-ret
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; ;;
-;; ОБЛАСТЬ ДАННЫХ ;;
-;; ;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;---- begin ---- Данные для ГЛАВНОГО окна --------------------------
-caption db 'Периодическая система Д.И.Менделеева by navanax & Johnny_B',0
-density db 'Плотность',0
-Atomic_massa db 'Атомная масса',0
-name db 'Название',0
-eng_name db 'Англ. название',0
-T_pl db 'Температура пл.',0
-T_kip db 'Температура кип.',0
-Electrootr db 'Электроотрицательность',0
-Raspr db 'Распределение в земн. коре',0
-Step_okisl db 'Степень окисления',0
-Otkrytie db 'Открытие',0
-number db 'Порядковый номер',0
-Period_text:
- db ' I',0
- db ' II',0
- db 'III',0
- db ' IV',0
- db ' V',0
- db ' VI',0
- db 'VII',0
-Lantanoid_text db 'Лантаноиды',0
-Actinoid_text db ' Актиноиды',0
-;---- end ------ Данные для ГЛАВНОГО окна --------------------------
-
-
-;*********************************************
-; БАЗА ДАННЫХ ПО ХИМИЧЕСКИМ ЭЛЕМЕНТАМ
-;*********************************************
-;определимся, что кол-во элементов = 116. Ни больше, ни меньше!
-;Каждый массив должен содержать 116 элементов,
-;чтобы не было выхода за его пределы
-
-;Английское название
-Elements: ;116 элементов
-db 'Hydrogen ' ; 1
-db 'Helium '
-db 'Lithium '
-db 'Beryllium '
-db 'Boron '
-db 'Carbon '
-db 'Nitrogen '
-db 'Oxygen '
-db 'Fluorine '
-db 'Neon '
-db 'Sodium '
-db 'Magnesium '
-db 'Aluminum '
-db 'Silicon '
-db 'Phosphorus '
-db 'Sulfur '
-db 'Chlorine '
-db 'Argon '
-db 'Potassium '
-db 'Calcium ' ;20
-db 'Scandium '
-db 'Titanium '
-db 'Vandium '
-db 'Chromium '
-db 'Manganese '
-db 'Iron '
-db 'Cobalt '
-db 'Nickel '
-db 'Copper '
-db 'Zinc ' ;30
-db 'Gallium '
-db 'Germanium '
-db 'Arsenic '
-db 'Selenium '
-db 'Bromine '
-db 'Krypton '
-db 'Rubidium '
-db 'Strontium '
-db 'Yttrium '
-db 'Zirconium '
-db 'Niobium '
-db 'Molybdenum '
-db 'Technetium '
-db 'Ruthenium '
-db 'Rhodium '
-db 'Palladium '
-db 'Silver '
-db 'Cadmium '
-db 'Indium '
-db 'Tin ' ;50
-db 'Antimony '
-db 'Tellurium '
-db 'Iodine '
-db 'Xenon '
-db 'Cesium '
-db 'Barium '
-db 'Lanthanum '
-db 'Cerium '
-db 'Praseodymium'
-db 'Neodymium '
-db 'Promethium '
-db 'Samarium '
-db 'Europium '
-db 'Gadolinium '
-db 'Terbium '
-db 'Dysprosium '
-db 'Homium '
-db 'Erbium '
-db 'Thulium '
-db 'Ytterbium ' ;70
-db 'Lutetium '
-db 'Hafnium '
-db 'Tantalum '
-db 'Tungsten '
-db 'Rhenium '
-db 'Osmium '
-db 'Iridum '
-db 'Platinum '
-db 'Gold '
-db 'Mercury ' ;80
-db 'Thallium '
-db 'Lead '
-db 'Bismuth '
-db 'Polonium '
-db 'Astatine '
-db 'Radon '
-db 'Francium '
-db 'Radium '
-db 'Actinum '
-db 'Thorium ' ;90
-db 'Protactinium'
-db 'Uranium '
-db 'Neptunium '
-db 'Plutonium '
-db 'Americium '
-db 'Curium '
-db 'Berkelium '
-db 'Californium '
-db 'Einsteinium '
-db 'Fermium ' ;100
-db 'Mendelevium '
-db 'Nobelium '
-db 'Lawrencium '
-db 'Reserfordium'
-db 'Dubnium '
-db 'Siborgovium '
-db 'Boronium '
-db 'Hassium '
-db 'Meithnerium '
-db 'Darmstadtium' ;110
-db 'Roentgenium '
-db 'Copernicium '
-db 'Nihonium '
-db 'Flerovium '
-db 'Moscovium '
-db 'Livermorium ' ;116
-db 'Tennessine '
-db 'Oganesson '
-
-
-;---------------------------------
-
-Symbols: ;116 элементов
-db 'H '
-db 'He '
-db 'Li '
-db 'Be '
-db 'B '
-db 'C '
-db 'N '
-db 'O '
-db 'F '
-db 'Ne '
-db 'Na '
-db 'Mg '
-db 'Al '
-db 'Si '
-db 'P '
-db 'S '
-db 'Cl '
-db 'Ar '
-db 'K '
-db 'Ca '
-db 'Sc '
-db 'Ti '
-db 'V '
-db 'Cr '
-db 'Mn '
-db 'Fe '
-db 'Co '
-db 'Ni '
-db 'Cu '
-db 'Zn '
-db 'Ga '
-db 'Ge '
-db 'As '
-db 'Se '
-db 'Br '
-db 'Kr '
-db 'Rb '
-db 'Sr '
-db 'Y '
-db 'Zr '
-db 'Nb '
-db 'Mo '
-db 'Tc '
-db 'Ru '
-db 'Rh '
-db 'Pd '
-db 'Ag '
-db 'Cd '
-db 'In '
-db 'Sn '
-db 'Sb '
-db 'Te '
-db 'I '
-db 'Xe '
-db 'Cs '
-db 'Ba '
-db 'La '
-db 'Hf '
-db 'Ta '
-db 'W '
-db 'Re '
-db 'Os '
-db 'Ir '
-db 'Pt '
-db 'Au '
-db 'Hg '
-db 'Tl '
-db 'Pb '
-db 'Bi '
-db 'Po '
-db 'At '
-db 'Rn '
-db 'Fr '
-db 'Ra '
-db 'Ac '
-db 'Rf '
-db 'Db '
-db 'Sg '
-db 'Bh '
-db 'Hs '
-db 'Mt '
-db 'Ds '
-db 'Rg '
-db 'Cn '
-db 'Nh '
-db 'Fi '
-db 'Mc '
-db 'Lv '
-;
-db 'Ts '
-db 'Og '
-;
-db 'Ce '
-db 'Pr '
-db 'Nd '
-db 'Pm '
-db 'Sm '
-db 'Eu '
-db 'Gd '
-db 'Tb '
-db 'Dy '
-db 'Ho '
-db 'Er '
-db 'Tm '
-db 'Yb '
-db 'Lu '
-db 'Th '
-db 'Pa '
-db 'U '
-db 'Np '
-db 'Pu '
-db 'Am '
-db 'Cm '
-db 'Bk '
-db 'Cf '
-db 'Es '
-db 'Fm '
-db 'Md '
-db 'No '
-db 'Lr '
-
-;АТОМНАЯ МАССА
-MassNo: ;116 элементов
-db '1.00794' ; 1
-db '4.0026 '
-db '6.941 '
-db '9.01218'
-db '10.811 '
-db '12.0107'
-db '14.0067'
-db '15.9994'
-db '18.9984'
-db '20.179 ' ; 10
-db '22.9898'
-db '24.305 '
-db '26.9815'
-db '28.0855'
-db '30.9738'
-db '32.066 '
-db '35.453 '
-db '39.948 '
-db '39.0983'
-db '40.078 ' ; 20
-db '44.9559'
-db '47.88 '
-db '50.9415'
-db '51.996 '
-db '54.938 '
-db '55.847 '
-db '58.9332'
-db '58.6934'
-db '63.546 '
-db '65.39 ' ; 30
-db '69.723 '
-db '72.61 '
-db '74.922 '
-db '78.96 '
-db '79.904 '
-db '83.80 '
-db '85.47 '
-db '87.62 '
-db '88.906 '
-db '91.224 ' ; 40
-db '92.906 '
-db '95.94 '
-db '(98) '
-db '101.07 '
-db '102.905'
-db '106.42 '
-db '107.868'
-db '112.41 '
-db '114.82 '
-db '118.71 ' ; 50
-db '121.75 '
-db '127.60 '
-db '126.90 '
-db '131.29 '
-db '132.90 '
-db '137.33 '
-db '138.91 '
-db '140.12 '
-db '140.91 '
-db '144.24 ' ; 60
-db '(147) '
-db '150.36 '
-db '151.96 '
-db '157.25 '
-db '158.92 '
-db '162.50 '
-db '164.93 '
-db '167.26 '
-db '168.93 '
-db '173.04 ' ; 70
-db '174.97 '
-db '178.49 '
-db '180.95 '
-db '183.85 '
-db '186.21 '
-db '190.2 '
-db '192.22 '
-db '195.08 '
-db '196.97 '
-db '200.59 ' ; 80
-db '204.38 '
-db '207.19 '
-db '208.98 '
-db '(209) '
-db '(210) '
-db '(222) '
-db '(223) '
-db '(226) '
-db '(227) '
-db '232.04 ' ; 90
-db '(231) '
-db '238.029'
-db '(237) '
-db '(244) '
-db '(243) '
-db '(247) '
-db '(247) '
-db '(251) '
-db '(254) '
-db '(257) ' ; 100
-db '(258) '
-db '(259) '
-db '(262) ' ;103
-db '(261) '
-db '(262) '
-db '(266) '
-db '(264) '
-db '(269) '
-db '(268) '
-db '(271) ' ; 110
-db '(272) '
-db '(285) '
-db '(284) '
-db '(289) '
-db '(288) '
-db '(292) ' ;116
-;
-db '294,210'
-db '294,214'
-
-
-;-----------------------
-
-;ЭЛЕКТРООТРИЦАТЕЛЬНОСТЬ
-Electr: ; 116 элементов
-db '2,1 ' ; 1
-db '5,5 '
-db '0,97'
-db '1,47'
-db '2,01'
-db '2,50'
-db '3,07'
-db '3,50'
-db '4,10'
-db '4,84' ; 10
-db '0,93'
-db '1,23'
-db '1,47'
-db '2,25'
-db '2,32'
-db '2,60'
-db '2,83'
-db '3,20'
-db '0,91'
-db '1,04' ; 20
-db '1,20'
-db '1,32'
-db '1,45'
-db '1,56'
-db '1,60'
-db '1,64'
-db '1,70'
-db '1,75'
-db '1,75'
-db '1,66' ; 30
-db '1,82'
-db '2,02'
-db '2,11'
-db '2,48'
-db '2,74'
-db '2,94'
-db '0,89'
-db '0,99'
-db '1,11'
-db '1,22' ;40
-db '1,6 '
-db '2,16'
-db '1,9 '
-db '2.2 '
-db '2.28'
-db '2,2 '
-db '1,93'
-db '1,69'
-db '1,78'
-db '1,96'
-db '2,05'
-db '2,1 '
-db '2,66'
-db '??? '
-db '0,79'
-db '0,89'
-db '1,1 '
-db '1,12'
-db '1,13'
-db '1,14' ;60
-db '1,13'
-db '1,17'
-db '1,2 '
-db '1,2 '
-db '1,2 '
-db '1,22'
-db '1,23'
-db '1,24'
-db '1,25'
-db '1,1 ' ; 70
-db '1,27'
-db '1,3 '
-db '1,5 '
-db '1,36'
-db '1,46'
-db '1,52'
-db '1,55'
-db '1,44'
-db '1,42'
-db '1,42' ; 80
-db '1,42'
-db '1,55'
-db '1,67'
-db '1,76'
-db '1,90'
-db '2,06'
-db '0,86'
-db '0,97'
-db '1,00'
-db '1,11' ;90
-db '1,14'
-db '1,22'
-db '1,22'
-db '1,2 '
-db '1,1 '
-db '1,2 '
-db '1,1 '
-db '1,2 '
-db '??? '
-db '??? ' ; 100
-db '1,2 '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? ' ; 110
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? ' ; 116
-db '??? '
-dd '??? '
-
-
-;-----------------------
-
-;ТЕМПЕРАТУРА ПЛАВЛЕНИЯ 116 элементов
-strtbl T_plavl, \
-"- 259,19", \
-"- 271,15", \
-"180,5", \
-"1287", \
-"2075", \
-"4000(графит)", \
-"-210,0", \
-"-218,7", \
-"-219,699", \
-"-248,6", \
-"97,83", \
-"648", \
-"660,37", \
-"1415", \
-"44,14(белый) 593(красный)", \
-"119,3", \
-"-101,03", \
-"-189,34", \
-"63,51", \
-"842", \ ;20
-"1541", \
-"1658", \
-"1920", \
-"1890", \
-"1245", \
-"1539", \
-"1494", \
-"1455", \
-"1084,5", \
-"419,5", \
-"29,78", \
-"937", \
-"817 (под давлением)", \
-"217", \
-"-7,25", \
-"-157,37", \
-"39,3", \
-"768", \
-"1528", \
-"1855", \ ;40
-"2470", \
-"2620", \
-"2250", \
-"2607", \
-"1963", \
-"1554", \
-"961,93", \
-"321,108", \
-"156,634", \
-"231,9681", \
-"630,74", \
-"449,8", \
-"113,5", \
-"-111,85", \
-"28,7", \
-"727", \
-"920", \
-"804", \
-"931", \
-"1024", \ ;60
-"1170", \
-"1072", \
-"826", \
-"1312", \
-"1356", \
-"1409", \
-"1470", \
-"1522", \
-"1545", \
-"824", \
-"1663", \
-"2230", \
-"3270", \
-"3660", \
-"3190", \
-"3027", \
-"2443", \
-"1772", \
-"1064,43", \
-"-38,862", \ ;80
-"303,6", \
-"327,502", \
-"271,44", \
-"254", \
-"575", \
-"-71,0", \
-"21", \
-"969", \
-"1050", \
-"1750", \
-"1580", \
-"1134", \
-"637", \
-"640", \
-"1292", \
-"1345", \
-"1050", \
-"900", \
-"860", \
-"???", \ ;100
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ;110
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ; 116
-"???", \
-"???"
-
-
-;-----------------------
-
-;ТЕМПЕРАТУРА КИПЕНИЯ 116 элементов
-strtbl T_kipen, \
-"- 252,87", \
-"- 268,935", \
-"1336,6", \
-"2471", \
-"3700", \
-"4200(графит)", \
-"-195,802", \
-"-182,962", \
-"-188,2", \
-"-246,048", \
-"886", \
-"1095", \
-"2500", \
-"3250", \
-"287,3 - белый ", \
-"444,674", \
-"-34,1", \
-"-185,86", \
-"760", \
-"1495", \ ;20
-"2850", \
-"3260", \
-"3450", \
-"2680", \
-"2080", \
-"3200", \
-"2960", \
-"2900", \
-"2540", \
-"906,2", \
-"2403", \
-"2850", \
-"-", \
-"685,3", \
-"59,82", \
-"153,35", \
-"696", \
-"1390", \
-"3320", \
-"4340", \ ;40
-"4927", \
-"4630", \
-"4630", \
-"4900", \
-"3700", \
-"2940", \
-"2170", \
-"766,5", \
-"2024", \
-"2620", \
-"1634", \
-"990", \
-"184,35", \
-"-108,12", \
-"667,6", \
-"1860", \
-"3450", \
-"3450", \
-"3510", \
-"3080", \ ;60
-"3000", \
-"1800", \
-"1440", \
-"3272", \
-"3073", \
-"2587", \
-"2707", \
-"2857", \
-"1947", \
-"1211", \
-"3412", \
-"4620", \
-"5425", \
-"6000", \
-"5900", \
-"5000", \
-"4380", \
-"3800", \
-"2947", \
-"356,66", \ ;80
-"1457", \
-"1745", \
-"1564", \
-"962", \
-"309", \
-"-61,9", \
-"669", \
-"1536", \
-"3300", \
-"4200", \
-"4500", \
-"4200", \
-"4100", \
-"3350", \
-"2880", \
-"3200", \
-"2630", \
-"1227", \
-"???", \
-"???", \ ;100
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ; 110
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ; 116
-"345 - 230", \
-"80 (+-30)"
-
-
-;Русское название ; 116 элементов
-strtbl Rus_nazv, \
-"Водород", \ ;1
-"Гелий", \
-"Литий", \
-"Бериллий", \
-"Бор", \
-"Углерод", \
-"Азот", \
-"Кислород", \
-"Фтор", \
-"Неон", \ ;10
-"Натрий", \
-"Магний", \
-"Алюминий", \
-"Кремний", \
-"Фосфор", \
-"Сера", \
-"Хлор", \
-"Аргон", \
-"Калий", \
-"Кальций", \
-"Скандий", \
-"Титан", \
-"Ванадий", \
-"Хром", \
-"Марганец", \
-"Железо", \
-"Кобальт", \
-"Никель", \
-"Медь", \
-"Цинк", \ ;30
-"Галлий", \
-"Германий", \
-"Мышьяк", \
-"Селен", \
-"Бром", \
-"Криптон", \
-"Рубидий", \
-"Стронций", \
-"Иттрий", \
-"Цирконий", \
-"Ниобий", \
-"Молибден", \
-"Технеций", \
-"Рутений", \
-"Родий", \
-"Палладий", \
-"Серебро", \
-"Кадмий", \
-"Индий", \
-"Олово", \ ;50
-"Сурьма", \
-"Теллур", \
-"Йод", \
-"Ксенон", \
-"Цезий", \
-"Барий", \
-"Лантан", \
-"Церий", \
-"Празеодим", \
-"Неодим", \
-"Прометий", \
-"Самарий", \
-"Европий", \
-"Гадолиний", \
-"Тербий", \
-"Диспрозий", \
-"Гольмий", \
-"Эрбий", \
-"Тулий", \
-"Иттербий", \ ;70
-"Лютеций", \
-"Гафний", \
-"Тантал", \
-"Вольфрам", \
-"Рений", \
-"Осмий", \
-"Иридий", \
-"Платина", \
-"Золото", \
-"Ртуть", \
-"Таллий", \
-"Свинец", \
-"Висмут", \
-"Полоний", \
-"Астат", \
-"Радон", \
-"Франций", \
-"Радий", \
-"Актиний", \
-"Торий",\
-"Протактиний",\
-"Уран",\
-"Нептуний", \ ;90
-"Плутоний", \
-"Америций", \
-"Кюрий", \
-"Берклий", \
-"Калифорний", \
-"Эйнштейний", \
-"Фермий", \
-"Менделевий", \
-"Нобелий", \
-"Лоуренсий", \
-"Резерфордий", \
-"Дубний", \
-"Сиборговий", \
-"Борий", \
-"Гассий", \
-"Мейтнерий", \
-"Дармштадтий", \ ;110
-"Рентгений", \
-"Коперниций", \
-"Нихоний", \
-"Флеровий", \
-"Московий", \
-"Ливерморий", \ ;116
-"Теннессин", \
-"Оганесон"
-
-
-;Первооткрыватели ; 116 элементов
-strtbl First_Explore, \
-"Г.Кавендиш, 1766", \
-"Ж.Жансен, Дж.Н.Локьер, 1868", \
-"А.Арфедсон, 1817", \
-"Л.Воклен, 1798", \
-"Л.Ж.Гей-Люссак 1808", \
-"известен до н.э.", \
-"Д.Резерфорд, 1772", \
-"К.В.Шееле, 1772", \
-"А.Муассан, 1886", \
-"У.Рамзай,М.Траверс 1898", \
-"Г.Дэви, 1807",\
-"Г.Дэви, 1808",\
-"Х.К.Эрстед, 1825",\
-"Ж.Л.Гей-Люссак, Л.Ж.Тенар, 1811",\
-"Х.Брандт, 1669",\
-"известна до н.э.",\
-"К.В.Шееле, 1774",\
-"У.Рамзай, Дж.Рэлей, 1894",\
-"Г.Дэви, 1807",\
-"Г.Дэви, 1808",\
-"Л.Ф.Нильсон, 1879",\
-"У.Грегор, 1790 ",\
-"Г.Роско, 1869",\
-"Л.Н.Воклен, 1797",\
-"Ю.Ган, 1774",\
-"известно до н.э.",\
-"Ю.Брандт, 1735",\
-"А.Кронштедт, 1751",\
-"известна до н.э.",\
-"известен со средн. веков",\
-"П.Э.Лекок де Буабодран, 1875",\
-"К.А.Винклер, 1886",\
-"известен со средн. веков",\
-"Й.Берцелиус, Й.Ган, 1817",\
-"Ж.Балар, 1826",\
-"У.Рамзай, М.Траверс, 1898",\
-"Р.Бунзен, Г.Кирхгоф, 1861",\
-"А.Крофорд, 1808",\
-"Ю.Гадолин, 1794",\
-"М.Клапрот, 1789",\
-"Ч.Хатчет, 1801",\
-"К.В.Шееле, 1778",\
-"Э.Сегре, К.Перье, 1937",\
-"К.К.Клаус, 1844",\
-"У.Волластон, 1804",\
-"У.Волластон, 1803",\
-"известно до н.э.",\
-"Ф.Штромейер, 1817",\
-"Р.Рейх, И.Рихтер, 1863",\
-"известно до н.э.",\
-"известна до н.э.",\
-"Ф.Мюллер, 1782",\
-"Б.Куртуа, 1811",\
-"У.Рамзай, М.Траверс, 1898",\
-"Р.Бунзен, Г.Кирхгоф, 1860",\
-"Г.Дэви, 1774",\
-"К.Мосандер, 1839",\
-"К.Мосандер, 1839",\
-"К.Ауэр фон Вельсбах, 1885",\
-"К.Ауэр фон Вельсбах, 1842",\
-"Л.Гленденин, Ч.Кориэлл и др., 1942",\
-"П.Э.Лекок де Буабодран, 1879",\
-"Э.Демарсе, 1901",\
-"Ж.Мариньяк, 1880",\
-"К.Мосандер, 1843",\
-"П.Э.Лекок де Буабодран, 1886",\
-"П.Клеве, 1879",\
-"К.Мосандер, 1843",\
-"П.Клеве, 1879",\
-"Ж.Мариньяк, 1878",\
-"Ж.Урбэн, Ч.Джеймс, 1907",\
-"Д.Костер и др., 1922",\
-"А.Г.Экеберг, 1802",\
-"К.В.Шееле, 1781",\
-"И. и В.Ноддак, О.Берг, 1925",\
-"С.Теннант, 1804",\
-"С.Теннант, 1804",\
-"изв. с древности",\
-"известно до н.э.",\
-"известна до н.э.",\
-"У.Крукс, 1861",\
-"известен до н.э.",\
-"И.Потт, 1739",\
-"М. и П.Кюри, 1898",\
-"Д.Корсон др., 1940",\
-"Э.Дорн, 1940",\
-"М.Перей, 1939",\
-"М. и П.Кюри, Ж.Бемюн, 1898",\
-"А.Дебьерн, 1899",\
-"Й.Берцелиус, 1828",\
-"О.Ган, Л.Мейтнер, Ф.Содди, 1918",\
-"М.Клапрот, 1789",\
-"Э.М.Макмиллан, Ф.Х.Эйблсон, 1940",\
-"Г.Сиборг и др., 1940",\
-"Г.Сиборг и др., 1944",\
-"Г.Сиборг и др., 1944",\
-"Г.Сиборг и др., 1949",\
-"Г.Сиборг и др., 1950",\
-"А.Гиорсо, С.Томпсон, 1952",\
-"А.Гиорсо, С.Томпсон, 1952",\
-"А.Гиорсо и др., 1955",\
-"Учёные СССР, 1966",\
-"А.Гиорсо и др., 1961",\
-"Г.Н.Флеров и др., 1964",\
-"Г.Н.Флеров и др., 1967",\
-"Г.Н.Флеров и др., 1974",\
-"P.Armbruster, G.Munzenber, 1981",\
-"P.Armbruster, G.Munzenber, 1984",\
-"P.Armbruster, G.Munzenber, 1982",\
-"S.Hofmann, V. Ninov, 1994",\
-"S.Hofmann, V. Ninov, 1994",\
-"S.Hofmann, V. Ninov, 1996",\
-"не открыт",\
-"Учёные России, 1998",\
-"не открыт",\
-"Ю.Ц.Оганессян, В.К.Утенков, 2000", \
-"ОИЯИ в г.Дубна", \
-"ОИЯИ и Ливерморская лаборатория"
-
-
-; Плотность 116 элементов
-strtbl Plotnost, \
-"-", \ ; 1
-"-", \
-"535", \
-"1848", \
-"2460", \
-"2267", \
-"-", \
-"-", \
-"-", \
-"0,90035 г/л", \
-"968", \ ; 10
-"1738", \
-"2700", \
-"2330", \
-"1823", \
-"1960", \
-"-", \
-"1,7837 г/л", \
-"856", \
-"1550", \
-"2985", \ ; 20
-"4507", \
-"6110", \
-"7140", \
-"7470", \
-"7874", \
-"8900", \
-"8908", \
-"8920", \
-"7140", \
-"5904", \ ; 30
-"5323", \
-"5727", \
-"4819", \
-"-", \
-"3,745 г/л", \
-"1532", \
-"2630", \
-"4472", \
-"6511", \
-"8570", \ ; 40
-"10280", \
-"11500", \
-"12370", \
-"12450", \
-"12023", \
-"10490", \
-"8650", \
-"7310", \
-"7310", \
-"6697", \ ; 50
-"6240", \
-"4940", \
-"5,851 г/л", \
-"1879", \
-"3510", \
-"6146", \
-"6689", \
-"6640", \
-"6800", \
-"7264", \ ; 60
-"7353", \
-"5244", \
-"7901", \
-"8219", \
-"8551", \
-"8795", \
-"9066", \
-"9321", \
-"6570", \
-"9841", \ ; 70
-"13310", \
-"16650", \
-"19250", \
-"21020", \
-"22610", \
-"22650", \
-"21090", \
-"19300", \
-"-", \
-"11850", \ ; 80
-"11340", \
-"9780", \
-"9196", \
-"-", \
-"9,73 г/л", \
-"2400", \
-"5000", \
-"10070", \
-"11724", \
-"15370", \ ; 90
-"19050", \
-"20450", \
-"19816", \
-"-", \
-"13510", \
-"14780", \
-"15100", \
-"-", \
-"-", \
-"-", \ ; 100
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 110
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 116
-"-", \
-"4,9 - 5,1 "
-
-
-;РАСПРОСТРАНЕНИЕ В ЗЕМНОЙ КОРЕ 116 элементов
-strtbl Rasprostr, \
-"0,14 %", \ ; 1
-"менее 0,0015 %", \
-"0,0030 %", \
-"0,0006 %", \
-"0,005 %", \
-"0,032 %", \
-"0,0046 %", \
-"46,60 %", \
-"0,070 %", \
-"0,00007 г/т", \ ; 10
-"2,83 %", \
-"2,09 %", \
-"8,13 %", \
-"27,72 %", \
-"0,118 %", \
-"0,052 %", \
-"0,020 %", \
-"0,000004 %", \
-"2,59 %", \
-"3,63 %", \ ; 20
-"0,001 %", \
-"0,57 %", \
-"0,0110 %", \
-"0,0200 %", \
-"0,100 %", \
-"5,00 %", \
-"0,0023 %", \
-"0,0080 %", \
-"0,0045 %", \
-"0,0065 %", \ ; 30
-"0,0015 %", \
-"0,00015 %", \
-"0,00017 %", \
-"0,000014 %", \
-"0,00016 %", \
-"0,000114 % (в атмосфере)", \
-"0,0120 %", \
-"???", \
-"0,0040 %", \
-"0,0160 %", \ ; 40
-"0,0024 %", \
-"0,0003 %", \
-"-", \
-"0,0000005 %", \
-"0.0000001 %", \
-"0,000001 %", \
-"0,000007 %", \
-"0,0000135 %", \
-"0,00001 %", \
-"0,008 %", \
-"0,00005 %", \ ; 50
-"0,000001 %", \
-"0,00004 %", \
-"0,000039 % (в атмосфере)", \
-"0,00037 %", \
-"0,040 %", \
-"0,0029 %", \
-"0,007 %", \
-"0,0007 %", \
-"0,0025 %", \
-"-", \ ; 60
-"0,0007 %", \
-"0,00013 %", \
-"0,00054 %", \
-"0,00043 %", \
-"0,0005 %", \
-"0,00013 %", \
-"0,00033 %", \
-"0,000027 %", \
-"0,000033 %", \
-"0,00008 %", \ ; 70
-"0,0003 - 0,0004 %", \
-"0,00025 %", \
-"0,0001 %", \
-"0,00000007 %", \
-"0,000005 %", \
-"0,0000001 %", \
-"0,0000005 %", \
-"0,00000043 %", \
-"0,000007 %", \
-"0,0003 %", \ ; 80
-"0,0015 %", \
-"0,00002 %", \
-"0,00000000000002 %", \
-"17 мг в слое коры 1,6 км", \
-"-", \
-"-", \
-"0,0000000001 %", \
-"0,0000000006 %", \
-"0,0008 %", \
-"-", \ ; 90
-"0,0003 %", \
-"-", \
-"-", \
-"0,0003 %", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 100
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 110
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 116
-"-", \
-"-"
-
-
-; степень окисления 116 элементов
-strtbl Step_ok, \
-"+1 -1", \ ; 1
-"-", \
-"+1", \
-"+2 (+1)", \
-"+3 (+2)", \
-"+4 -4", \
-"от +5 до -3 ", \
-"+4 -4", \
-"-1", \
-"-", \ ; 10
-"+1", \
-"+2 (+1)", \
-"+3 (+1 +2)", \
-"+1 +2 +3 +4", \
-"-3 +3 +5", \
-"-2 +4 +6", \
-"-1 +1 +3 +5 +7", \
-"-", \
-"+1", \
-"+2 (+1)", \ ; 20
-"+3 (+1 +2)", \
-"+4 +2 +3", \
-"от +2 до +5", \
-"+2 +3 +6 (+4 +5 +1)", \
-"от +2 до +7", \
-"+2 +3 (+1 +2 +4 +6 +8)", \
-"+2 +3 (+1 +4 +5)", \
-"+2 (+1 +3 +4)", \
-"+1 +2 (+3 +4)", \
-"+2", \ ; 30
-"+1 +3", \
-"+4 +3 +2 +1", \
-"+5 +3 -3", \
-"+6 +4 -2 (+2)", \
-"-1 +1 +3 +5 +7", \
-"+2", \
-"+1", \
-"+2 (+1)", \
-"+3", \
-"+4 (+1 +2 +3)", \ ; 40
-"+5 (+1 +2 +3 +4)", \
-"от +2 до +6", \
-"от -1 до +7", \
-"+3 +4 +6 +8", \
-"+1 +2 +3 +4 +5 +6", \
-"+1 +2 +3 +4 (+5 +6)", \
-"+1 +2 +3", \
-"+2 (+1)", \
-"+3 (+1)", \
-"+2 +4", \ ; 50
-"+3 +5 (-3)", \
-"-2 +6 +4 (+2)", \
-"-1 +1 +3 +5 +7", \
-"+2 +4 +6 +8", \
-"+1", \
-"+2 (+1)", \
-"+3", \
-"+3 (+4)", \
-"+4 +3 (+2)", \
-"+4 +3 (+2)", \ ; 60
-"+3", \
-"+2 +3 (+2)", \
-"+3 +2", \
-"+3 (+2 +1)", \
-"+1 +3 +4", \
-"+3 (+2 +4)", \
-"+3 (+2)", \
-"+3 (+1)", \
-"+3 +2 (+4)", \
-"+2 +3", \ ; 70
-"+3", \
-"+4 (+3 +2)", \
-"+5 (+2 +3 +4)", \
-"от +2 до +6", \
-"от +7 до -1", \
-"+4 +6 +8 +1 +3 +5", \
-"+4 +3 +1 +2 +6", \
-"+4 +3 +2 (+5 +6)", \
-"+1 +3 (+5)", \
-"+2 +1", \ ; 80
-"+1 +3", \
-"+1 +4 +2", \
-"+3 +5 -3 (+1 +2)", \
-"+6 +4 +2 -2", \
-"-1 +1 +5 (+7)", \
-"+2 +4 +6", \
-"+1", \
-"+2", \
-"+3", \
-"+4 (+2 +3)", \ ; 90
-"+4 +5 (+3)", \
-"от +2 до +6", \
-"+3 +4 +5 (+6 +7)", \
-"от +3 до +7", \
-"от +2 до +7", \
-"+3 (+4 +6)", \
-"+3 (+4)", \
-"+2 +3 (+4)", \
-"+2 +3", \
-"+2 +3", \ ; 100
-"+1 +2 +3", \
-"+2 +3", \
-"+3", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 110
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 116
-"-", \
-"-1, 0, +1, +2, +4, +6"
-I_END:
-sc system_colors
\ No newline at end of file
+; SPDX-License-Identifier: NOASSERTION
+;
+
+; Text encoded as Code Page 866 - Cyrillic
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Dmitry Ivanovich Mendeleyev's
+;; Periodic Table of Chemical Elements for KolibriOS
+;; Authors:
+;; navanax [violetlab+rambler.ru]
+;; Johnny_B [john+kolibrios.org]
+
+;; macro for creating an array of pointers to ASCIIZ strings
+
+include '..\..\macros.inc'
+macro strtbl name,[string]
+{
+ common
+ label name dword
+ forward
+ local lbl
+ dd lbl
+ forward
+ lbl db string,0
+}
+
+use32
+
+ org 0x0
+ db 'MENUET01' ; standard 8-byte header for MeOS executables
+ dd 0x01 ; header version
+ dd START ; pointer to the start of the executable code
+ dd I_END ; image size
+ dd I_END+0x1000 ; required memory for the application
+ dd I_END+0x1000 ; pointer to the start of the stack
+ dd 0x0 , 0x0 ; I_Param , I_Icon
+
+
+;GLOBAL VARIABLES AND CONSTANTS
+re_ID dd 0x00000001 ;to store the number of the currently displayed element
+
+
+START:
+
+ mov eax,48
+ mov ebx,3
+ mov ecx,sc
+ mov edx,sizeof.system_colors
+ mcall
+
+red:
+ call draw_window
+
+still: ;main program loop
+ push 10 ;waiting for event
+ pop eax
+ mcall
+
+ dec eax
+ je red
+ dec eax
+ jne button
+
+key:
+ mov al,2
+ mcall
+ jmp still
+
+button:
+ mov al,17 ;get ID of the pressed button
+ mcall
+ shr eax,8 ; eax=24-bit ButtonID
+
+ cmp eax,1 ; whether they are pressed "close" [x]
+ jne noclose
+ or eax,-1
+ mcall
+
+noclose:
+ cmp eax,200
+ jne no_H
+ mov eax,1
+no_H:
+ mov [re_ID],eax
+;;
+ call draw_text
+;;
+ jmp still
+
+draw_window:
+
+ mov eax,12 ;begin drawing
+ xor ebx,ebx
+ inc ebx
+ mcall
+ ; DRAW WINDOW
+ xor eax,eax
+ mov ebx,50*65536+555 ;x
+ mov ecx,30*65536+455 ;y
+ mov edx,[sc.work]
+ or edx,0x34000000 ;style
+ mov edi,caption
+ mcall
+
+text_in_window:
+ mov eax,4 ;text output
+ mov ecx,0x80000000 ; asciiz, color !!!
+
+ mov ebx,40*65536+200 ;lanthanide
+ mov edx,Lantanoid_text
+ mcall
+
+ add ebx,20 ;actinide
+ mov edx,Actinoid_text
+ mcall
+
+ mov ebx,150*65536+255
+ mov edx,number
+ mcall
+
+ add ebx,15
+ mov edx,name
+ mcall
+
+ add ebx,15
+ mov edx,eng_name
+ mcall
+
+ add ebx,15
+ mov edx,Atomic_massa
+ mcall
+
+ add ebx,15
+ mov edx,density
+ mcall
+
+ add ebx,15
+ mov edx,Step_okisl
+ mcall
+
+ add ebx,15
+ mov edx,Electrootr
+ mcall
+
+ add ebx,15
+ mov edx,T_pl
+ mcall
+
+ add ebx,15
+ mov edx,T_kip
+ mcall
+
+ add ebx,15
+ mov edx,Raspr
+ mcall
+
+ add ebx,15
+ mov edx,Otkrytie
+ mcall
+
+ ; The conclusion of the numbers
+ mov ebx,30*65536+43
+ mov edx,Period_text ;1
+ mcall
+
+ call @f ;2
+ call @f ;3
+ call @f ;4
+ call @f ;5
+ call @f ;6
+ call @f ;7
+ jmp Table
+
+ @@:
+ add ebx,20
+ add edx,4 ;since the string = 4 bytes (with zero)
+ mcall
+ ret
+
+Table: ;Drawing a table in the form of buttons
+ table_row_1:
+ shl eax,1
+ mov ebx,50*65536+25
+ mov ecx,35*65536+20
+ mov edx,200
+ mov esi,0xE19123
+ mcall
+ He_:
+ mov ebx,491*65536+25
+ mov esi,0x0f0c314
+ mov edx,2
+ mcall
+ table_row_2:
+ Li:
+ mov ebx,50*65536+25
+ mov ecx,56*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Be:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ B_:
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_2_loop:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_2_loop
+ table_row_3:
+ Na:
+ mov ebx,50*65536+25
+ mov ecx,77*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_3_loop:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_3_loop
+
+ Table_row_4:
+ K_:
+ mov ebx,50*65536+25
+ mov ecx,98*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Ca:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ Sc:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edi,8
+ Table_row_4_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_4_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_4_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_4_loop2
+
+ Table_row_5:
+ Rb_:
+ mov ebx,50*65536+25
+ mov ecx,119*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Sr_:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ Y_:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edi,8
+ Table_row_5_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_5_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_5_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_5_loop2
+
+ Table_row_6:
+ Cs_:
+ mov ebx,50*65536+25
+ mov ecx,140*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Ba_:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ La_:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edx,71
+ mov edi,8
+ Table_row_6_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_6_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_6_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_6_loop2
+
+ Table_row_7:
+ Fr_:
+ mov ebx,50*65536+25
+ mov ecx,161*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Ra_:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ Ac_:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edx,103
+ mov edi,8
+ Table_row_7_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_7_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_7_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_7_loop2
+
+ row_1:
+ Cerium_:
+ mov ebx,102*65536+25
+ mov ecx,190*65536+20
+ mov edx,58
+ mov esi,0x73beeb
+ mcall
+ mov edi,12
+
+ row_1_loop:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns row_1_loop
+ row_2:
+ dgfsfHe_:
+ mov ebx,102*65536+25
+ mov ecx,211*65536+20
+ mov edx,90
+ mcall
+ mov edi,12
+ row_2_loop:
+
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns row_2_loop
+
+text_on_buttons:
+ text_row1:
+ ;H
+ shr eax,1
+ mov ebx,62*65536+43
+ mov ecx,0x00000000
+ mov edx,Symbols
+ mov esi,3
+ mcall
+ ;Ne
+ mov ebx,500*65536+43
+ add edx,3
+ mcall
+ text_row2_1:
+ mov ebx,60*65536+63
+ add edx,3
+ mcall
+
+ mov ebx,85*65536+63
+ add edx,3
+ mcall
+ text_row2_2:
+ mov ebx,374*65536+63
+ add edx,3
+ mcall
+ mov edi,4
+
+ text_row2_2_loop:
+ add ebx,25*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row2_2_loop
+ text_row3_1:
+ mov ebx,60*65536+83
+ add edx,3
+ mcall
+
+ mov ebx,85*65536+83
+ add edx,3
+ mcall
+ text_row3_2:
+ mov ebx,374*65536+83
+ add edx,3
+ mcall
+ mov edi,4
+ text_row3_2_loop:
+ add ebx,25*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row3_2_loop
+ text_row4:
+ mov ebx,60*65536+104
+ add edx,3
+ mcall
+ mov edi,16
+ text_row4_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row4_loop
+ text_row5:
+ mov ebx,60*65536+125
+ add edx,3
+ mcall
+ mov edi,16
+ text_row5_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row5_loop
+ text_row6:
+ mov ebx,60*65536+146
+ add edx,3
+ mcall
+ mov edi,16
+ text_row6_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+ dec edi
+ jns text_row6_loop
+ text_row7:
+ mov ebx,60*65536+167
+ add edx,3
+ mcall
+ mov edi,11 ;9
+ text_row7_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row7_loop
+ mov edi,4
+ text_row7_loop2:
+ add ebx,26*65536
+ add edx,3
+ mcall
+ dec edi
+ jns text_row7_loop2
+
+ text_row8:
+ mov ebx,111*65536+197
+ add edx,3
+ mcall
+ mov edi,12
+
+ text_row8_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row8_loop
+
+ text_row9:
+ mov ebx,111*65536+217
+ add edx,3
+ mcall
+ mov edi,12
+
+ text_row9_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row9_loop
+
+;; - In short, we put it in a separate procedure
+ call draw_text
+;;
+
+ finish:
+ mov eax,12 ;end drawing
+ mov ebx,2
+ mcall
+ret
+
+draw_text:
+ ; 1 output serial number [optmzd-mem]
+ ; 2 output Russian name [optmzd-mem]
+ ; 3 output English name [optmzd-spd]
+ ; 4 output atomic mass [optmzd-spd]
+ ; 5 output density [optmzd-mem]
+ ; 6 output oxidation state [optmzd-mem]
+ ; 7 output electronegativity [optmzd-spd]
+ ; 8 output melting point [optmzd-mem]
+ ; 9 output boiling point [optmzd-mem]
+ ;10 output distribution in the Earth's crust [optmzd-mem]
+ ;11 output names of discoverers [optmzd-mem]
+
+
+;; - coloring, so that there is no overlap when drawing text
+ mov eax,13
+ mov ebx,320*65536+210
+ mov ecx,255*65536+(15*11)
+ mov edx,[sc.work]
+ mcall
+;;
+
+
+ push edi ;To optimize EBX changes
+
+ ; 1 output serial number [optmzd-mem]
+ mov ebx,0x30000 ;Display 3 digits
+ mov ecx,[re_ID]
+ mov edx,320*65536+255
+ xor esi,esi
+ mov eax,47
+ mcall
+
+;ATTENTION! HERE IS THE COLOR OF ALL THE REST OF THE TEXT! [done to reduce the code by 20 bytes :)]
+ mov ecx,[sc.work_text] ; Color
+ or ecx,0x80000000 ; asciiz
+ mov eax,4 ; this function is called 10 times! so we will write 1 time
+
+ ; 2 output Russian name [optmzd-mem]
+ mov edi,Rus_nazv ;pointer to the beginning of an array of signs ;)
+ mov ebx,320*65536+255 ;Coordinates are introduced here, then there will be only Add EBX, 15
+ call out_asciiz_item
+
+ xor ecx,ecx ;color
+ ; 3 output English name [optmzd-spd]
+ mov edx,Elements
+ mov edi,[re_ID]
+ dec edi
+ mov esi,12 ; The length of the line
+ imul edi,esi ; we consider the pointer to the desired line
+ add edx,edi
+ add ebx,15 ; We increase the text of the text by 15 pixels
+ mcall
+
+ ; 4 output atomic mass [optmzd-spd]
+ mov edx,MassNo
+ mov edi,[re_ID]
+ dec edi
+ mov esi,7 ; The length of the line
+ imul edi,esi ; we consider the pointer to the desired line
+ add edx,edi
+ add ebx,15
+ mcall
+
+ mov ecx,0x80000000 ; asciiz, color !!!
+ ; 5 output density [optmzd-mem]
+ mov edi,Plotnost
+ call out_asciiz_item
+
+ ; 6 output oxidation state [optmzd-mem]
+ mov edi,Step_ok
+ call out_asciiz_item
+
+ xor ecx,ecx ;color
+ ; 7 output electronegativity [optmzd-spd]
+ mov edx,Electr
+ mov edi,[re_ID]
+ dec edi
+ mov esi,4 ;Line length
+ shl edi,2
+ add edx,edi
+ add ebx,15
+ mcall
+
+ mov ecx,0x80000000 ;asciiz, color !!!
+ ; 8 output melting point [optmzd-mem]
+ mov edi,T_plavl
+ call out_asciiz_item
+
+ ; 9 output boiling point [optmzd-mem]
+ mov edi,T_kipen
+ call out_asciiz_item
+
+ ;10 output distribution in the Earth's crust [optmzd-mem]
+ mov edi,Rasprostr
+ call out_asciiz_item
+
+ ;11 output names of discoverers [optmzd-mem]
+ mov edi,First_Explore
+ call out_asciiz_item
+
+ pop edi ; He was preserved at the beginning :)
+ ret
+
+; the function performs a set of actions to display information
+out_asciiz_item:
+ mov edx,[re_ID]
+ dec edx
+ shl edx,2 ;multiply by 4 (pointer size)
+ mov edx,[edx+edi] ;pointer to a string in edx
+ add ebx,15
+ mcall
+ret
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; ;;
+;; Data area ;;
+;; ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;---- begin ---- Данные для ГЛАВНОГО окна --------------------------
+caption db 'Периодическая система Д.И.Менделеева by navanax & Johnny_B',0
+density db 'Плотность',0
+Atomic_massa db 'Атомная масса',0
+name db 'Название',0
+eng_name db 'Англ. название',0
+T_pl db 'Температура пл.',0
+T_kip db 'Температура кип.',0
+Electrootr db 'Электроотрицательность',0
+Raspr db 'Распределение в земн. коре',0
+Step_okisl db 'Степень окисления',0
+Otkrytie db 'Открытие',0
+number db 'Порядковый номер',0
+Period_text:
+ db ' I',0
+ db ' II',0
+ db 'III',0
+ db ' IV',0
+ db ' V',0
+ db ' VI',0
+ db 'VII',0
+Lantanoid_text db 'Лантаноиды',0
+Actinoid_text db ' Актиноиды',0
+;---- end ------ Данные для ГЛАВНОГО окна --------------------------
+
+
+;*********************************************
+; БАЗА ДАННЫХ ПО ХИМИЧЕСКИМ ЭЛЕМЕНТАМ
+;*********************************************
+;определимся, что кол-во элементов = 116. Ни больше, ни меньше!
+;Каждый массив должен содержать 116 элементов,
+;чтобы не было выхода за его пределы
+
+;Английское название
+Elements: ;116 элементов
+db 'Hydrogen ' ; 1
+db 'Helium '
+db 'Lithium '
+db 'Beryllium '
+db 'Boron '
+db 'Carbon '
+db 'Nitrogen '
+db 'Oxygen '
+db 'Fluorine '
+db 'Neon '
+db 'Sodium '
+db 'Magnesium '
+db 'Aluminum '
+db 'Silicon '
+db 'Phosphorus '
+db 'Sulfur '
+db 'Chlorine '
+db 'Argon '
+db 'Potassium '
+db 'Calcium ' ;20
+db 'Scandium '
+db 'Titanium '
+db 'Vandium '
+db 'Chromium '
+db 'Manganese '
+db 'Iron '
+db 'Cobalt '
+db 'Nickel '
+db 'Copper '
+db 'Zinc ' ;30
+db 'Gallium '
+db 'Germanium '
+db 'Arsenic '
+db 'Selenium '
+db 'Bromine '
+db 'Krypton '
+db 'Rubidium '
+db 'Strontium '
+db 'Yttrium '
+db 'Zirconium '
+db 'Niobium '
+db 'Molybdenum '
+db 'Technetium '
+db 'Ruthenium '
+db 'Rhodium '
+db 'Palladium '
+db 'Silver '
+db 'Cadmium '
+db 'Indium '
+db 'Tin ' ;50
+db 'Antimony '
+db 'Tellurium '
+db 'Iodine '
+db 'Xenon '
+db 'Cesium '
+db 'Barium '
+db 'Lanthanum '
+db 'Cerium '
+db 'Praseodymium'
+db 'Neodymium '
+db 'Promethium '
+db 'Samarium '
+db 'Europium '
+db 'Gadolinium '
+db 'Terbium '
+db 'Dysprosium '
+db 'Homium '
+db 'Erbium '
+db 'Thulium '
+db 'Ytterbium ' ;70
+db 'Lutetium '
+db 'Hafnium '
+db 'Tantalum '
+db 'Tungsten '
+db 'Rhenium '
+db 'Osmium '
+db 'Iridum '
+db 'Platinum '
+db 'Gold '
+db 'Mercury ' ;80
+db 'Thallium '
+db 'Lead '
+db 'Bismuth '
+db 'Polonium '
+db 'Astatine '
+db 'Radon '
+db 'Francium '
+db 'Radium '
+db 'Actinum '
+db 'Thorium ' ;90
+db 'Protactinium'
+db 'Uranium '
+db 'Neptunium '
+db 'Plutonium '
+db 'Americium '
+db 'Curium '
+db 'Berkelium '
+db 'Californium '
+db 'Einsteinium '
+db 'Fermium ' ;100
+db 'Mendelevium '
+db 'Nobelium '
+db 'Lawrencium '
+db 'Reserfordium'
+db 'Dubnium '
+db 'Siborgovium '
+db 'Boronium '
+db 'Hassium '
+db 'Meithnerium '
+db 'Darmstadtium' ;110
+db 'Roentgenium '
+db 'Copernicium '
+db 'Nihonium '
+db 'Flerovium '
+db 'Moscovium '
+db 'Livermorium ' ;116
+db 'Tennessine '
+db 'Oganesson '
+
+
+;---------------------------------
+
+Symbols: ;116 элементов
+db 'H '
+db 'He '
+db 'Li '
+db 'Be '
+db 'B '
+db 'C '
+db 'N '
+db 'O '
+db 'F '
+db 'Ne '
+db 'Na '
+db 'Mg '
+db 'Al '
+db 'Si '
+db 'P '
+db 'S '
+db 'Cl '
+db 'Ar '
+db 'K '
+db 'Ca '
+db 'Sc '
+db 'Ti '
+db 'V '
+db 'Cr '
+db 'Mn '
+db 'Fe '
+db 'Co '
+db 'Ni '
+db 'Cu '
+db 'Zn '
+db 'Ga '
+db 'Ge '
+db 'As '
+db 'Se '
+db 'Br '
+db 'Kr '
+db 'Rb '
+db 'Sr '
+db 'Y '
+db 'Zr '
+db 'Nb '
+db 'Mo '
+db 'Tc '
+db 'Ru '
+db 'Rh '
+db 'Pd '
+db 'Ag '
+db 'Cd '
+db 'In '
+db 'Sn '
+db 'Sb '
+db 'Te '
+db 'I '
+db 'Xe '
+db 'Cs '
+db 'Ba '
+db 'La '
+db 'Hf '
+db 'Ta '
+db 'W '
+db 'Re '
+db 'Os '
+db 'Ir '
+db 'Pt '
+db 'Au '
+db 'Hg '
+db 'Tl '
+db 'Pb '
+db 'Bi '
+db 'Po '
+db 'At '
+db 'Rn '
+db 'Fr '
+db 'Ra '
+db 'Ac '
+db 'Rf '
+db 'Db '
+db 'Sg '
+db 'Bh '
+db 'Hs '
+db 'Mt '
+db 'Ds '
+db 'Rg '
+db 'Cn '
+db 'Nh '
+db 'Fi '
+db 'Mc '
+db 'Lv '
+;
+db 'Ts '
+db 'Og '
+;
+db 'Ce '
+db 'Pr '
+db 'Nd '
+db 'Pm '
+db 'Sm '
+db 'Eu '
+db 'Gd '
+db 'Tb '
+db 'Dy '
+db 'Ho '
+db 'Er '
+db 'Tm '
+db 'Yb '
+db 'Lu '
+db 'Th '
+db 'Pa '
+db 'U '
+db 'Np '
+db 'Pu '
+db 'Am '
+db 'Cm '
+db 'Bk '
+db 'Cf '
+db 'Es '
+db 'Fm '
+db 'Md '
+db 'No '
+db 'Lr '
+
+;АТОМНАЯ МАССА
+MassNo: ;116 элементов
+db '1.00794' ; 1
+db '4.0026 '
+db '6.941 '
+db '9.01218'
+db '10.811 '
+db '12.0107'
+db '14.0067'
+db '15.9994'
+db '18.9984'
+db '20.179 ' ; 10
+db '22.9898'
+db '24.305 '
+db '26.9815'
+db '28.0855'
+db '30.9738'
+db '32.066 '
+db '35.453 '
+db '39.948 '
+db '39.0983'
+db '40.078 ' ; 20
+db '44.9559'
+db '47.88 '
+db '50.9415'
+db '51.996 '
+db '54.938 '
+db '55.847 '
+db '58.9332'
+db '58.6934'
+db '63.546 '
+db '65.39 ' ; 30
+db '69.723 '
+db '72.61 '
+db '74.922 '
+db '78.96 '
+db '79.904 '
+db '83.80 '
+db '85.47 '
+db '87.62 '
+db '88.906 '
+db '91.224 ' ; 40
+db '92.906 '
+db '95.94 '
+db '(98) '
+db '101.07 '
+db '102.905'
+db '106.42 '
+db '107.868'
+db '112.41 '
+db '114.82 '
+db '118.71 ' ; 50
+db '121.75 '
+db '127.60 '
+db '126.90 '
+db '131.29 '
+db '132.90 '
+db '137.33 '
+db '138.91 '
+db '140.12 '
+db '140.91 '
+db '144.24 ' ; 60
+db '(147) '
+db '150.36 '
+db '151.96 '
+db '157.25 '
+db '158.92 '
+db '162.50 '
+db '164.93 '
+db '167.26 '
+db '168.93 '
+db '173.04 ' ; 70
+db '174.97 '
+db '178.49 '
+db '180.95 '
+db '183.85 '
+db '186.21 '
+db '190.2 '
+db '192.22 '
+db '195.08 '
+db '196.97 '
+db '200.59 ' ; 80
+db '204.38 '
+db '207.19 '
+db '208.98 '
+db '(209) '
+db '(210) '
+db '(222) '
+db '(223) '
+db '(226) '
+db '(227) '
+db '232.04 ' ; 90
+db '(231) '
+db '238.029'
+db '(237) '
+db '(244) '
+db '(243) '
+db '(247) '
+db '(247) '
+db '(251) '
+db '(254) '
+db '(257) ' ; 100
+db '(258) '
+db '(259) '
+db '(262) ' ;103
+db '(261) '
+db '(262) '
+db '(266) '
+db '(264) '
+db '(269) '
+db '(268) '
+db '(271) ' ; 110
+db '(272) '
+db '(285) '
+db '(284) '
+db '(289) '
+db '(288) '
+db '(292) ' ;116
+;
+db '294,210'
+db '294,214'
+
+
+;-----------------------
+
+;ЭЛЕКТРООТРИЦАТЕЛЬНОСТЬ
+Electr: ; 116 элементов
+db '2,1 ' ; 1
+db '5,5 '
+db '0,97'
+db '1,47'
+db '2,01'
+db '2,50'
+db '3,07'
+db '3,50'
+db '4,10'
+db '4,84' ; 10
+db '0,93'
+db '1,23'
+db '1,47'
+db '2,25'
+db '2,32'
+db '2,60'
+db '2,83'
+db '3,20'
+db '0,91'
+db '1,04' ; 20
+db '1,20'
+db '1,32'
+db '1,45'
+db '1,56'
+db '1,60'
+db '1,64'
+db '1,70'
+db '1,75'
+db '1,75'
+db '1,66' ; 30
+db '1,82'
+db '2,02'
+db '2,11'
+db '2,48'
+db '2,74'
+db '2,94'
+db '0,89'
+db '0,99'
+db '1,11'
+db '1,22' ;40
+db '1,6 '
+db '2,16'
+db '1,9 '
+db '2.2 '
+db '2.28'
+db '2,2 '
+db '1,93'
+db '1,69'
+db '1,78'
+db '1,96'
+db '2,05'
+db '2,1 '
+db '2,66'
+db '??? '
+db '0,79'
+db '0,89'
+db '1,1 '
+db '1,12'
+db '1,13'
+db '1,14' ;60
+db '1,13'
+db '1,17'
+db '1,2 '
+db '1,2 '
+db '1,2 '
+db '1,22'
+db '1,23'
+db '1,24'
+db '1,25'
+db '1,1 ' ; 70
+db '1,27'
+db '1,3 '
+db '1,5 '
+db '1,36'
+db '1,46'
+db '1,52'
+db '1,55'
+db '1,44'
+db '1,42'
+db '1,42' ; 80
+db '1,42'
+db '1,55'
+db '1,67'
+db '1,76'
+db '1,90'
+db '2,06'
+db '0,86'
+db '0,97'
+db '1,00'
+db '1,11' ;90
+db '1,14'
+db '1,22'
+db '1,22'
+db '1,2 '
+db '1,1 '
+db '1,2 '
+db '1,1 '
+db '1,2 '
+db '??? '
+db '??? ' ; 100
+db '1,2 '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? ' ; 110
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? ' ; 116
+db '??? '
+dd '??? '
+
+
+;-----------------------
+
+;ТЕМПЕРАТУРА ПЛАВЛЕНИЯ 116 элементов
+strtbl T_plavl, \
+"- 259,19", \
+"- 271,15", \
+"180,5", \
+"1287", \
+"2075", \
+"4000(графит)", \
+"-210,0", \
+"-218,7", \
+"-219,699", \
+"-248,6", \
+"97,83", \
+"648", \
+"660,37", \
+"1415", \
+"44,14(белый) 593(красный)", \
+"119,3", \
+"-101,03", \
+"-189,34", \
+"63,51", \
+"842", \ ;20
+"1541", \
+"1658", \
+"1920", \
+"1890", \
+"1245", \
+"1539", \
+"1494", \
+"1455", \
+"1084,5", \
+"419,5", \
+"29,78", \
+"937", \
+"817 (под давлением)", \
+"217", \
+"-7,25", \
+"-157,37", \
+"39,3", \
+"768", \
+"1528", \
+"1855", \ ;40
+"2470", \
+"2620", \
+"2250", \
+"2607", \
+"1963", \
+"1554", \
+"961,93", \
+"321,108", \
+"156,634", \
+"231,9681", \
+"630,74", \
+"449,8", \
+"113,5", \
+"-111,85", \
+"28,7", \
+"727", \
+"920", \
+"804", \
+"931", \
+"1024", \ ;60
+"1170", \
+"1072", \
+"826", \
+"1312", \
+"1356", \
+"1409", \
+"1470", \
+"1522", \
+"1545", \
+"824", \
+"1663", \
+"2230", \
+"3270", \
+"3660", \
+"3190", \
+"3027", \
+"2443", \
+"1772", \
+"1064,43", \
+"-38,862", \ ;80
+"303,6", \
+"327,502", \
+"271,44", \
+"254", \
+"575", \
+"-71,0", \
+"21", \
+"969", \
+"1050", \
+"1750", \
+"1580", \
+"1134", \
+"637", \
+"640", \
+"1292", \
+"1345", \
+"1050", \
+"900", \
+"860", \
+"???", \ ;100
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ;110
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ; 116
+"???", \
+"???"
+
+
+;-----------------------
+
+;ТЕМПЕРАТУРА КИПЕНИЯ 116 элементов
+strtbl T_kipen, \
+"- 252,87", \
+"- 268,935", \
+"1336,6", \
+"2471", \
+"3700", \
+"4200(графит)", \
+"-195,802", \
+"-182,962", \
+"-188,2", \
+"-246,048", \
+"886", \
+"1095", \
+"2500", \
+"3250", \
+"287,3 - белый ", \
+"444,674", \
+"-34,1", \
+"-185,86", \
+"760", \
+"1495", \ ;20
+"2850", \
+"3260", \
+"3450", \
+"2680", \
+"2080", \
+"3200", \
+"2960", \
+"2900", \
+"2540", \
+"906,2", \
+"2403", \
+"2850", \
+"-", \
+"685,3", \
+"59,82", \
+"153,35", \
+"696", \
+"1390", \
+"3320", \
+"4340", \ ;40
+"4927", \
+"4630", \
+"4630", \
+"4900", \
+"3700", \
+"2940", \
+"2170", \
+"766,5", \
+"2024", \
+"2620", \
+"1634", \
+"990", \
+"184,35", \
+"-108,12", \
+"667,6", \
+"1860", \
+"3450", \
+"3450", \
+"3510", \
+"3080", \ ;60
+"3000", \
+"1800", \
+"1440", \
+"3272", \
+"3073", \
+"2587", \
+"2707", \
+"2857", \
+"1947", \
+"1211", \
+"3412", \
+"4620", \
+"5425", \
+"6000", \
+"5900", \
+"5000", \
+"4380", \
+"3800", \
+"2947", \
+"356,66", \ ;80
+"1457", \
+"1745", \
+"1564", \
+"962", \
+"309", \
+"-61,9", \
+"669", \
+"1536", \
+"3300", \
+"4200", \
+"4500", \
+"4200", \
+"4100", \
+"3350", \
+"2880", \
+"3200", \
+"2630", \
+"1227", \
+"???", \
+"???", \ ;100
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ; 110
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ; 116
+"345 - 230", \
+"80 (+-30)"
+
+
+;Русское название ; 116 элементов
+strtbl Rus_nazv, \
+"Водород", \ ;1
+"Гелий", \
+"Литий", \
+"Бериллий", \
+"Бор", \
+"Углерод", \
+"Азот", \
+"Кислород", \
+"Фтор", \
+"Неон", \ ;10
+"Натрий", \
+"Магний", \
+"Алюминий", \
+"Кремний", \
+"Фосфор", \
+"Сера", \
+"Хлор", \
+"Аргон", \
+"Калий", \
+"Кальций", \
+"Скандий", \
+"Титан", \
+"Ванадий", \
+"Хром", \
+"Марганец", \
+"Железо", \
+"Кобальт", \
+"Никель", \
+"Медь", \
+"Цинк", \ ;30
+"Галлий", \
+"Германий", \
+"Мышьяк", \
+"Селен", \
+"Бром", \
+"Криптон", \
+"Рубидий", \
+"Стронций", \
+"Иттрий", \
+"Цирконий", \
+"Ниобий", \
+"Молибден", \
+"Технеций", \
+"Рутений", \
+"Родий", \
+"Палладий", \
+"Серебро", \
+"Кадмий", \
+"Индий", \
+"Олово", \ ;50
+"Сурьма", \
+"Теллур", \
+"Йод", \
+"Ксенон", \
+"Цезий", \
+"Барий", \
+"Лантан", \
+"Церий", \
+"Празеодим", \
+"Неодим", \
+"Прометий", \
+"Самарий", \
+"Европий", \
+"Гадолиний", \
+"Тербий", \
+"Диспрозий", \
+"Гольмий", \
+"Эрбий", \
+"Тулий", \
+"Иттербий", \ ;70
+"Лютеций", \
+"Гафний", \
+"Тантал", \
+"Вольфрам", \
+"Рений", \
+"Осмий", \
+"Иридий", \
+"Платина", \
+"Золото", \
+"Ртуть", \
+"Таллий", \
+"Свинец", \
+"Висмут", \
+"Полоний", \
+"Астат", \
+"Радон", \
+"Франций", \
+"Радий", \
+"Актиний", \
+"Торий",\
+"Протактиний",\
+"Уран",\
+"Нептуний", \ ;90
+"Плутоний", \
+"Америций", \
+"Кюрий", \
+"Берклий", \
+"Калифорний", \
+"Эйнштейний", \
+"Фермий", \
+"Менделевий", \
+"Нобелий", \
+"Лоуренсий", \
+"Резерфордий", \
+"Дубний", \
+"Сиборговий", \
+"Борий", \
+"Гассий", \
+"Мейтнерий", \
+"Дармштадтий", \ ;110
+"Рентгений", \
+"Коперниций", \
+"Нихоний", \
+"Флеровий", \
+"Московий", \
+"Ливерморий", \ ;116
+"Теннессин", \
+"Оганесон"
+
+
+;Первооткрыватели ; 116 элементов
+strtbl First_Explore, \
+"Г.Кавендиш, 1766", \
+"Ж.Жансен, Дж.Н.Локьер, 1868", \
+"А.Арфедсон, 1817", \
+"Л.Воклен, 1798", \
+"Л.Ж.Гей-Люссак 1808", \
+"известен до н.э.", \
+"Д.Резерфорд, 1772", \
+"К.В.Шееле, 1772", \
+"А.Муассан, 1886", \
+"У.Рамзай,М.Траверс 1898", \
+"Г.Дэви, 1807",\
+"Г.Дэви, 1808",\
+"Х.К.Эрстед, 1825",\
+"Ж.Л.Гей-Люссак, Л.Ж.Тенар, 1811",\
+"Х.Брандт, 1669",\
+"известна до н.э.",\
+"К.В.Шееле, 1774",\
+"У.Рамзай, Дж.Рэлей, 1894",\
+"Г.Дэви, 1807",\
+"Г.Дэви, 1808",\
+"Л.Ф.Нильсон, 1879",\
+"У.Грегор, 1790 ",\
+"Г.Роско, 1869",\
+"Л.Н.Воклен, 1797",\
+"Ю.Ган, 1774",\
+"известно до н.э.",\
+"Ю.Брандт, 1735",\
+"А.Кронштедт, 1751",\
+"известна до н.э.",\
+"известен со средн. веков",\
+"П.Э.Лекок де Буабодран, 1875",\
+"К.А.Винклер, 1886",\
+"известен со средн. веков",\
+"Й.Берцелиус, Й.Ган, 1817",\
+"Ж.Балар, 1826",\
+"У.Рамзай, М.Траверс, 1898",\
+"Р.Бунзен, Г.Кирхгоф, 1861",\
+"А.Крофорд, 1808",\
+"Ю.Гадолин, 1794",\
+"М.Клапрот, 1789",\
+"Ч.Хатчет, 1801",\
+"К.В.Шееле, 1778",\
+"Э.Сегре, К.Перье, 1937",\
+"К.К.Клаус, 1844",\
+"У.Волластон, 1804",\
+"У.Волластон, 1803",\
+"известно до н.э.",\
+"Ф.Штромейер, 1817",\
+"Р.Рейх, И.Рихтер, 1863",\
+"известно до н.э.",\
+"известна до н.э.",\
+"Ф.Мюллер, 1782",\
+"Б.Куртуа, 1811",\
+"У.Рамзай, М.Траверс, 1898",\
+"Р.Бунзен, Г.Кирхгоф, 1860",\
+"Г.Дэви, 1774",\
+"К.Мосандер, 1839",\
+"К.Мосандер, 1839",\
+"К.Ауэр фон Вельсбах, 1885",\
+"К.Ауэр фон Вельсбах, 1842",\
+"Л.Гленденин, Ч.Кориэлл и др., 1942",\
+"П.Э.Лекок де Буабодран, 1879",\
+"Э.Демарсе, 1901",\
+"Ж.Мариньяк, 1880",\
+"К.Мосандер, 1843",\
+"П.Э.Лекок де Буабодран, 1886",\
+"П.Клеве, 1879",\
+"К.Мосандер, 1843",\
+"П.Клеве, 1879",\
+"Ж.Мариньяк, 1878",\
+"Ж.Урбэн, Ч.Джеймс, 1907",\
+"Д.Костер и др., 1922",\
+"А.Г.Экеберг, 1802",\
+"К.В.Шееле, 1781",\
+"И. и В.Ноддак, О.Берг, 1925",\
+"С.Теннант, 1804",\
+"С.Теннант, 1804",\
+"изв. с древности",\
+"известно до н.э.",\
+"известна до н.э.",\
+"У.Крукс, 1861",\
+"известен до н.э.",\
+"И.Потт, 1739",\
+"М. и П.Кюри, 1898",\
+"Д.Корсон др., 1940",\
+"Э.Дорн, 1940",\
+"М.Перей, 1939",\
+"М. и П.Кюри, Ж.Бемюн, 1898",\
+"А.Дебьерн, 1899",\
+"Й.Берцелиус, 1828",\
+"О.Ган, Л.Мейтнер, Ф.Содди, 1918",\
+"М.Клапрот, 1789",\
+"Э.М.Макмиллан, Ф.Х.Эйблсон, 1940",\
+"Г.Сиборг и др., 1940",\
+"Г.Сиборг и др., 1944",\
+"Г.Сиборг и др., 1944",\
+"Г.Сиборг и др., 1949",\
+"Г.Сиборг и др., 1950",\
+"А.Гиорсо, С.Томпсон, 1952",\
+"А.Гиорсо, С.Томпсон, 1952",\
+"А.Гиорсо и др., 1955",\
+"Учёные СССР, 1966",\
+"А.Гиорсо и др., 1961",\
+"Г.Н.Флеров и др., 1964",\
+"Г.Н.Флеров и др., 1967",\
+"Г.Н.Флеров и др., 1974",\
+"P.Armbruster, G.Munzenber, 1981",\
+"P.Armbruster, G.Munzenber, 1984",\
+"P.Armbruster, G.Munzenber, 1982",\
+"S.Hofmann, V. Ninov, 1994",\
+"S.Hofmann, V. Ninov, 1994",\
+"S.Hofmann, V. Ninov, 1996",\
+"не открыт",\
+"Учёные России, 1998",\
+"не открыт",\
+"Ю.Ц.Оганессян, В.К.Утенков, 2000", \
+"ОИЯИ в г.Дубна", \
+"ОИЯИ и Ливерморская лаборатория"
+
+
+; Плотность 116 элементов
+strtbl Plotnost, \
+"-", \ ; 1
+"-", \
+"535", \
+"1848", \
+"2460", \
+"2267", \
+"-", \
+"-", \
+"-", \
+"0,90035 г/л", \
+"968", \ ; 10
+"1738", \
+"2700", \
+"2330", \
+"1823", \
+"1960", \
+"-", \
+"1,7837 г/л", \
+"856", \
+"1550", \
+"2985", \ ; 20
+"4507", \
+"6110", \
+"7140", \
+"7470", \
+"7874", \
+"8900", \
+"8908", \
+"8920", \
+"7140", \
+"5904", \ ; 30
+"5323", \
+"5727", \
+"4819", \
+"-", \
+"3,745 г/л", \
+"1532", \
+"2630", \
+"4472", \
+"6511", \
+"8570", \ ; 40
+"10280", \
+"11500", \
+"12370", \
+"12450", \
+"12023", \
+"10490", \
+"8650", \
+"7310", \
+"7310", \
+"6697", \ ; 50
+"6240", \
+"4940", \
+"5,851 г/л", \
+"1879", \
+"3510", \
+"6146", \
+"6689", \
+"6640", \
+"6800", \
+"7264", \ ; 60
+"7353", \
+"5244", \
+"7901", \
+"8219", \
+"8551", \
+"8795", \
+"9066", \
+"9321", \
+"6570", \
+"9841", \ ; 70
+"13310", \
+"16650", \
+"19250", \
+"21020", \
+"22610", \
+"22650", \
+"21090", \
+"19300", \
+"-", \
+"11850", \ ; 80
+"11340", \
+"9780", \
+"9196", \
+"-", \
+"9,73 г/л", \
+"2400", \
+"5000", \
+"10070", \
+"11724", \
+"15370", \ ; 90
+"19050", \
+"20450", \
+"19816", \
+"-", \
+"13510", \
+"14780", \
+"15100", \
+"-", \
+"-", \
+"-", \ ; 100
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 110
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 116
+"-", \
+"4,9 - 5,1 "
+
+
+;РАСПРОСТРАНЕНИЕ В ЗЕМНОЙ КОРЕ 116 элементов
+strtbl Rasprostr, \
+"0,14 %", \ ; 1
+"менее 0,0015 %", \
+"0,0030 %", \
+"0,0006 %", \
+"0,005 %", \
+"0,032 %", \
+"0,0046 %", \
+"46,60 %", \
+"0,070 %", \
+"0,00007 г/т", \ ; 10
+"2,83 %", \
+"2,09 %", \
+"8,13 %", \
+"27,72 %", \
+"0,118 %", \
+"0,052 %", \
+"0,020 %", \
+"0,000004 %", \
+"2,59 %", \
+"3,63 %", \ ; 20
+"0,001 %", \
+"0,57 %", \
+"0,0110 %", \
+"0,0200 %", \
+"0,100 %", \
+"5,00 %", \
+"0,0023 %", \
+"0,0080 %", \
+"0,0045 %", \
+"0,0065 %", \ ; 30
+"0,0015 %", \
+"0,00015 %", \
+"0,00017 %", \
+"0,000014 %", \
+"0,00016 %", \
+"0,000114 % (в атмосфере)", \
+"0,0120 %", \
+"???", \
+"0,0040 %", \
+"0,0160 %", \ ; 40
+"0,0024 %", \
+"0,0003 %", \
+"-", \
+"0,0000005 %", \
+"0.0000001 %", \
+"0,000001 %", \
+"0,000007 %", \
+"0,0000135 %", \
+"0,00001 %", \
+"0,008 %", \
+"0,00005 %", \ ; 50
+"0,000001 %", \
+"0,00004 %", \
+"0,000039 % (в атмосфере)", \
+"0,00037 %", \
+"0,040 %", \
+"0,0029 %", \
+"0,007 %", \
+"0,0007 %", \
+"0,0025 %", \
+"-", \ ; 60
+"0,0007 %", \
+"0,00013 %", \
+"0,00054 %", \
+"0,00043 %", \
+"0,0005 %", \
+"0,00013 %", \
+"0,00033 %", \
+"0,000027 %", \
+"0,000033 %", \
+"0,00008 %", \ ; 70
+"0,0003 - 0,0004 %", \
+"0,00025 %", \
+"0,0001 %", \
+"0,00000007 %", \
+"0,000005 %", \
+"0,0000001 %", \
+"0,0000005 %", \
+"0,00000043 %", \
+"0,000007 %", \
+"0,0003 %", \ ; 80
+"0,0015 %", \
+"0,00002 %", \
+"0,00000000000002 %", \
+"17 мг в слое коры 1,6 км", \
+"-", \
+"-", \
+"0,0000000001 %", \
+"0,0000000006 %", \
+"0,0008 %", \
+"-", \ ; 90
+"0,0003 %", \
+"-", \
+"-", \
+"0,0003 %", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 100
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 110
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 116
+"-", \
+"-"
+
+
+; степень окисления 116 элементов
+strtbl Step_ok, \
+"+1 -1", \ ; 1
+"-", \
+"+1", \
+"+2 (+1)", \
+"+3 (+2)", \
+"+4 -4", \
+"от +5 до -3 ", \
+"+4 -4", \
+"-1", \
+"-", \ ; 10
+"+1", \
+"+2 (+1)", \
+"+3 (+1 +2)", \
+"+1 +2 +3 +4", \
+"-3 +3 +5", \
+"-2 +4 +6", \
+"-1 +1 +3 +5 +7", \
+"-", \
+"+1", \
+"+2 (+1)", \ ; 20
+"+3 (+1 +2)", \
+"+4 +2 +3", \
+"от +2 до +5", \
+"+2 +3 +6 (+4 +5 +1)", \
+"от +2 до +7", \
+"+2 +3 (+1 +2 +4 +6 +8)", \
+"+2 +3 (+1 +4 +5)", \
+"+2 (+1 +3 +4)", \
+"+1 +2 (+3 +4)", \
+"+2", \ ; 30
+"+1 +3", \
+"+4 +3 +2 +1", \
+"+5 +3 -3", \
+"+6 +4 -2 (+2)", \
+"-1 +1 +3 +5 +7", \
+"+2", \
+"+1", \
+"+2 (+1)", \
+"+3", \
+"+4 (+1 +2 +3)", \ ; 40
+"+5 (+1 +2 +3 +4)", \
+"от +2 до +6", \
+"от -1 до +7", \
+"+3 +4 +6 +8", \
+"+1 +2 +3 +4 +5 +6", \
+"+1 +2 +3 +4 (+5 +6)", \
+"+1 +2 +3", \
+"+2 (+1)", \
+"+3 (+1)", \
+"+2 +4", \ ; 50
+"+3 +5 (-3)", \
+"-2 +6 +4 (+2)", \
+"-1 +1 +3 +5 +7", \
+"+2 +4 +6 +8", \
+"+1", \
+"+2 (+1)", \
+"+3", \
+"+3 (+4)", \
+"+4 +3 (+2)", \
+"+4 +3 (+2)", \ ; 60
+"+3", \
+"+2 +3 (+2)", \
+"+3 +2", \
+"+3 (+2 +1)", \
+"+1 +3 +4", \
+"+3 (+2 +4)", \
+"+3 (+2)", \
+"+3 (+1)", \
+"+3 +2 (+4)", \
+"+2 +3", \ ; 70
+"+3", \
+"+4 (+3 +2)", \
+"+5 (+2 +3 +4)", \
+"от +2 до +6", \
+"от +7 до -1", \
+"+4 +6 +8 +1 +3 +5", \
+"+4 +3 +1 +2 +6", \
+"+4 +3 +2 (+5 +6)", \
+"+1 +3 (+5)", \
+"+2 +1", \ ; 80
+"+1 +3", \
+"+1 +4 +2", \
+"+3 +5 -3 (+1 +2)", \
+"+6 +4 +2 -2", \
+"-1 +1 +5 (+7)", \
+"+2 +4 +6", \
+"+1", \
+"+2", \
+"+3", \
+"+4 (+2 +3)", \ ; 90
+"+4 +5 (+3)", \
+"от +2 до +6", \
+"+3 +4 +5 (+6 +7)", \
+"от +3 до +7", \
+"от +2 до +7", \
+"+3 (+4 +6)", \
+"+3 (+4)", \
+"+2 +3 (+4)", \
+"+2 +3", \
+"+2 +3", \ ; 100
+"+1 +2 +3", \
+"+2 +3", \
+"+3", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 110
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 116
+"-", \
+"-1, 0, +1, +2, +4, +6"
+I_END:
+sc system_colors
diff --git a/programs/other/rtfread/trunk/Tupfile.lua b/programs/other/rtfread/Tupfile.lua
similarity index 100%
rename from programs/other/rtfread/trunk/Tupfile.lua
rename to programs/other/rtfread/Tupfile.lua
diff --git a/programs/other/rtfread/trunk/bgifont.inc b/programs/other/rtfread/bgifont.inc
similarity index 100%
rename from programs/other/rtfread/trunk/bgifont.inc
rename to programs/other/rtfread/bgifont.inc
diff --git a/programs/other/rtfread/trunk/build.sh b/programs/other/rtfread/build.sh
similarity index 100%
rename from programs/other/rtfread/trunk/build.sh
rename to programs/other/rtfread/build.sh
diff --git a/programs/other/rtfread/trunk/build_en.bat b/programs/other/rtfread/build_en.bat
similarity index 100%
rename from programs/other/rtfread/trunk/build_en.bat
rename to programs/other/rtfread/build_en.bat
diff --git a/programs/other/rtfread/trunk/build_ru.bat b/programs/other/rtfread/build_ru.bat
similarity index 100%
rename from programs/other/rtfread/trunk/build_ru.bat
rename to programs/other/rtfread/build_ru.bat
diff --git a/programs/other/rtfread/trunk/litt.chr b/programs/other/rtfread/litt.chr
similarity index 100%
rename from programs/other/rtfread/trunk/litt.chr
rename to programs/other/rtfread/litt.chr
diff --git a/programs/other/rtfread/trunk/reader.rtf b/programs/other/rtfread/reader.rtf
similarity index 100%
rename from programs/other/rtfread/trunk/reader.rtf
rename to programs/other/rtfread/reader.rtf
diff --git a/programs/other/rtfread/trunk/rtf_lite.inc b/programs/other/rtfread/rtf_lite.inc
similarity index 100%
rename from programs/other/rtfread/trunk/rtf_lite.inc
rename to programs/other/rtfread/rtf_lite.inc
diff --git a/programs/other/rtfread/trunk/rtfactn.inc b/programs/other/rtfread/rtfactn.inc
similarity index 100%
rename from programs/other/rtfread/trunk/rtfactn.inc
rename to programs/other/rtfread/rtfactn.inc
diff --git a/programs/other/rtfread/trunk/rtfread.asm b/programs/other/rtfread/rtfread.asm
similarity index 98%
rename from programs/other/rtfread/trunk/rtfread.asm
rename to programs/other/rtfread/rtfread.asm
index b13bc0bb5..35e9d00d4 100644
--- a/programs/other/rtfread/trunk/rtfread.asm
+++ b/programs/other/rtfread/rtfread.asm
@@ -1,3 +1,6 @@
+; SPDX-License-Identifier: NOASSERTION
+;
+
; RTF READER FOR KOLIBRI >= 0.7.7.0
; Written in pure assembler by Ivushkin Andrey aka Willow
; Menu_bar and scroll_bar from box_lib provided by dunkaist
@@ -57,15 +60,15 @@ AR_OFFSET equ 10
dd fname_buf ; адрес буфера для параметров
dd cur_dir_path ; путь к программе
-include '../../../config.inc' ;for nightbuild
-include '../../../macros.inc' ; макросы облегчают жизнь ассемблерщиков!
-include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
-include '../../../KOSfuncs.inc'
-include '../../../load_lib.mac'
+include '../../config.inc' ;for nightbuild
+include '../../macros.inc' ; Macros facilitate the life of assemblers!
+include '../../develop/libraries/box_lib/trunk/box_lib.mac'
+include '../../KOSfuncs.inc'
+include '../../load_lib.mac'
@use_library
-; include '../../../debug.inc'
+; include '../../debug.inc'
TOP=TOP+4
include 'bgifont.inc'
@@ -242,10 +245,10 @@ key: ;
.home:
cmp ah,180 ; Home
je top_red
-
+
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov ebx,dword[prcinfo+46]
sub ebx,TOP+15
cmp ah,183 ;PgDn
@@ -254,7 +257,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov eax, [scroll_bar_data_vertical.position]
add eax, AR_OFFSET*7
mov ebx, [scroll_bar_data_vertical.max_area]
@@ -273,7 +276,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov eax, [scroll_bar_data_vertical.position]
add eax, AR_OFFSET
mov ebx, [scroll_bar_data_vertical.max_area]
@@ -299,7 +302,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
cmp dword[scroll_bar_data_vertical.position], AR_OFFSET*7
sub dword[scroll_bar_data_vertical.position], AR_OFFSET*7
jg @f
@@ -314,7 +317,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
cmp dword[scroll_bar_data_vertical.position], AR_OFFSET
sub dword[scroll_bar_data_vertical.position], AR_OFFSET
jg @f
@@ -337,7 +340,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov eax, [scroll_bar_data_vertical.max_area]
sub eax, [scroll_bar_data_vertical.cur_area]
mov dword[scroll_bar_data_vertical.position], eax
@@ -350,7 +353,7 @@ key: ;
;---------------------------------------------------------------------
;OpenDialog_start:
; copy_path open_dialog_name,path,library_path,0
-
+
push dword OpenDialog_data
call [OpenDialog_Start]
@@ -366,14 +369,14 @@ key: ;
cmp ah, 1 ; если нажата кнопка с номером 1,
je .exit
jmp still
-
+
.exit:
mcall -1 ; иначе конец программы
-
+
;---------------------------------------------------------------------
;--- MOUSE EVENT PROCESSING ----------------------------------------
-;---------------------------------------------------------------------
+;---------------------------------------------------------------------
mouse:
mcall 37,7
test eax, eax
@@ -454,9 +457,9 @@ mouse:
push dword scroll_bar_data_vertical
call [scrollbar_ver_mouse]
-
+
call Set_position
-
+
mov eax,scroll_bar_data_vertical.redraw
xor ebx,ebx
cmp [eax],ebx
@@ -482,7 +485,7 @@ draw_window:
@@:
mov edx, -1
mov esi, -1
-
+
mov eax, [procinfo2.box.width]
cmp eax, [window_width]
je @f
@@ -526,11 +529,11 @@ draw_window:
sub ebx, SCROLL_WIDTH_SIZE
dec ebx
@@:
-
+
mov ecx, 19*65536-23
add ecx, [procinfo2.box.height]
sub ecx, [skin_height]
-
+
mov eax, 13
mov edx, 0xf0f0f0
int 0x40
@@ -544,13 +547,13 @@ draw_window:
; draw for Vertical ScrollBar
push dword scroll_bar_data_vertical
call [scrollbar_ver_draw]
-; reset all_redraw flag
+; reset all_redraw flag
xor eax,eax
mov [scroll_bar_data_vertical.all_redraw],eax
@@:
;---------------------------------------------
;po-moumu eto govno mamonta
-
+
;mcall 47,0x30000,isymImplemented,<114,8>, 0x10DDEEFF
;add edx,36 shl 16
;mcall ,,isymMax
@@ -585,18 +588,18 @@ draw_window:
;---------------------------------------------
; draw for Menu 1
push dword menu_data_1
- call [menu_bar_draw]
+ call [menu_bar_draw]
; draw for Menu 2
push dword menu_data_2
- call [menu_bar_draw]
+ call [menu_bar_draw]
; draw for Menu 3
push dword menu_data_3
- call [menu_bar_draw]
+ call [menu_bar_draw]
;---------------------------------------------
sub dword[prcinfo+42],2*LMARGIN+SCROLL_WIDTH_SIZE
sub dword[prcinfo+46],CHARH+25
-
+
if GUTTER eq 1
mov ebx,LMARGIN shl 16+20
mov ecx,20
@@ -676,7 +679,7 @@ call Set_position
; draw for Vertical ScrollBar
push dword scroll_bar_data_vertical
call [scrollbar_ver_draw]
-; reset all_redraw flag
+; reset all_redraw flag
xor eax,eax
mov [scroll_bar_data_vertical.all_redraw],eax
@@:
@@ -712,10 +715,10 @@ Set_position:
mov ebx, [scroll_bar_data_vertical.max_area]
sub ebx, [scroll_bar_data_vertical.cur_area]
div ebx
-
+
mov dword[top], TOP
sub dword[top], eax
-
+
.quit:
ret
;---------------------------------------------------------------------
@@ -728,7 +731,7 @@ Set_scroll_position:
mov eax, dword[procinfo2+0x42]
sub eax, 17
mov word[scroll_bar_data_vertical.size_y], ax
-
+
ret
;---------------------------------------------------------------------
@@ -1049,7 +1052,7 @@ litt_end:
help_file:
file 'reader.rtf'
help_end:
-
+
I_END0:
fname_buf:
rb 1024+16
diff --git a/programs/other/rtfread/trunk/rtftype.inc b/programs/other/rtfread/rtftype.inc
similarity index 100%
rename from programs/other/rtfread/trunk/rtftype.inc
rename to programs/other/rtfread/rtftype.inc