Compare commits
1 Commits
4f450aa637
...
add-licens
Author | SHA1 | Date | |
---|---|---|---|
1e663f36c8 |
@@ -66,6 +66,17 @@ to the end commit message body on a new line.
|
|||||||
|
|
||||||
Use **rebase** to keep your branch up to date.
|
Use **rebase** to keep your branch up to date.
|
||||||
|
|
||||||
|
## Licensing
|
||||||
|
|
||||||
|
For new source code files and for existing ones without a license, you need to add the following header to the beginning of the file:
|
||||||
|
```asm
|
||||||
|
; SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
; Program - Brief description.
|
||||||
|
; Copyright (C) 2011-2025 KolibriOS team
|
||||||
|
```
|
||||||
|
|
||||||
|
Be careful when setting copyright and date interval. Review the file's history to verify its origin.
|
||||||
|
|
||||||
## Conclusion
|
## Conclusion
|
||||||
|
|
||||||
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.
|
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# KolibriOS
|
# KolibriOS
|
||||||
|
|
||||||
[](./COPYING.TXT)
|
[](./LICENSE)
|
||||||
[](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
|
[](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
|
||||||
|
|
||||||
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.
|
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.
|
||||||
|
@@ -49,6 +49,8 @@ img_files = {
|
|||||||
{"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
|
{"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
|
||||||
{"MEDIA/PIXIESKN.PNG", SRC_PROGS .. "/cmm/pixie2/pixieskn.png"},
|
{"MEDIA/PIXIESKN.PNG", SRC_PROGS .. "/cmm/pixie2/pixieskn.png"},
|
||||||
{"NETWORK/FTPC.INI", SRC_PROGS .. "/network/ftpc/ftpc.ini"},
|
{"NETWORK/FTPC.INI", SRC_PROGS .. "/network/ftpc/ftpc.ini"},
|
||||||
|
{"NETWORK/FTPC_SYS.PNG", SRC_PROGS .. "/network/ftpc/ftpc_sys.png"},
|
||||||
|
{"NETWORK/FTPC_NOD.PNG", SRC_PROGS .. "/network/ftpc/ftpc_nod.png"},
|
||||||
{"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
|
{"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
|
||||||
{"NETWORK/KNMAP", "common/network/knmap"},
|
{"NETWORK/KNMAP", "common/network/knmap"},
|
||||||
{"NETWORK/USERS.INI", "common/network/users.ini"},
|
{"NETWORK/USERS.INI", "common/network/users.ini"},
|
||||||
@@ -73,7 +75,7 @@ img_files = {
|
|||||||
|
|
||||||
-- For russian build, add russian-only files.
|
-- For russian build, add russian-only files.
|
||||||
if build_type == "ru_RU" then tup.append_table(img_files, {
|
if build_type == "ru_RU" then tup.append_table(img_files, {
|
||||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/rus/example.asm"},
|
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
|
||||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy_ru"},
|
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy_ru"},
|
||||||
{"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
|
{"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
|
||||||
{"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
|
{"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
|
||||||
@@ -84,7 +86,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
{"SETTINGS/SYSPANEL.INI", "ru_RU/settings/syspanel.ini"},
|
{"SETTINGS/SYSPANEL.INI", "ru_RU/settings/syspanel.ini"},
|
||||||
}) elseif build_type == "en_US" then tup.append_table(img_files, {
|
}) elseif build_type == "en_US" then tup.append_table(img_files, {
|
||||||
{"WELCOME.HTM", VAR_DATA .. "/" .. build_type .. "/welcome.htm.kpack"},
|
{"WELCOME.HTM", VAR_DATA .. "/" .. build_type .. "/welcome.htm.kpack"},
|
||||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/example.asm"},
|
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
||||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
||||||
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
||||||
{"GAMES/DESCENT", "common/games/descent"},
|
{"GAMES/DESCENT", "common/games/descent"},
|
||||||
@@ -93,7 +95,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
||||||
{"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
|
{"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
|
||||||
}) elseif build_type == "es_ES" then tup.append_table(img_files, {
|
}) elseif build_type == "es_ES" then tup.append_table(img_files, {
|
||||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/example.asm"},
|
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
||||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
||||||
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
||||||
{"GAMES/DESCENT", "common/games/descent"},
|
{"GAMES/DESCENT", "common/games/descent"},
|
||||||
@@ -102,7 +104,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
||||||
{"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
|
{"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
|
||||||
}) elseif build_type == "it_IT" then tup.append_table(img_files, {
|
}) elseif build_type == "it_IT" then tup.append_table(img_files, {
|
||||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/example.asm"},
|
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
||||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
||||||
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
||||||
{"GAMES/DESCENT", "common/games/descent"},
|
{"GAMES/DESCENT", "common/games/descent"},
|
||||||
@@ -111,7 +113,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
{"SETTINGS/GAMES.INI", "common/settings/games.ini"},
|
{"SETTINGS/GAMES.INI", "common/settings/games.ini"},
|
||||||
{"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
|
{"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
|
||||||
}) else tup.append_table(img_files, {
|
}) else tup.append_table(img_files, {
|
||||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/example.asm"},
|
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
||||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
||||||
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
||||||
{"GAMES/DESCENT", "common/games/descent"},
|
{"GAMES/DESCENT", "common/games/descent"},
|
||||||
@@ -183,20 +185,20 @@ extra_files = {
|
|||||||
{"kolibrios/develop/oberon07/doc/", "../programs/develop/oberon07/doc/*"},
|
{"kolibrios/develop/oberon07/doc/", "../programs/develop/oberon07/doc/*"},
|
||||||
{"kolibrios/develop/oberon07/lib/KolibriOS/", "../programs/develop/oberon07/lib/KolibriOS/*"},
|
{"kolibrios/develop/oberon07/lib/KolibriOS/", "../programs/develop/oberon07/lib/KolibriOS/*"},
|
||||||
{"kolibrios/develop/oberon07/samples/", SRC_PROGS .. "/develop/oberon07/samples/*"},
|
{"kolibrios/develop/oberon07/samples/", SRC_PROGS .. "/develop/oberon07/samples/*"},
|
||||||
{"kolibrios/develop/tcc/lib/", SRC_PROGS .. "/develop/ktcc/bin/lib/*"},
|
{"kolibrios/develop/tcc/lib/", SRC_PROGS .. "/develop/ktcc/trunk/bin/lib/*"},
|
||||||
{"kolibrios/develop/tcc/include/", SRC_PROGS .. "/develop/ktcc/libc.obj/include/*"},
|
{"kolibrios/develop/tcc/include/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/include/*"},
|
||||||
{"kolibrios/develop/tcc/include/clayer/", SRC_PROGS .. "/develop/ktcc/libc.obj/include/clayer/*"},
|
{"kolibrios/develop/tcc/include/clayer/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/include/clayer/*"},
|
||||||
{"kolibrios/develop/tcc/include/cryptal/", SRC_PROGS .. "/develop/ktcc/libc.obj/include/cryptal/*"},
|
{"kolibrios/develop/tcc/include/cryptal/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/include/cryptal/*"},
|
||||||
{"kolibrios/develop/tcc/include/sys/", SRC_PROGS .. "/develop/ktcc/libc.obj/include/sys/*"},
|
{"kolibrios/develop/tcc/include/sys/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/include/sys/*"},
|
||||||
{"kolibrios/develop/tcc/include/SDL/", "../contrib/sdk/sources/SDL-1.2.2_newlib/include/*"},
|
{"kolibrios/develop/tcc/include/SDL/", "../contrib/sdk/sources/SDL-1.2.2_newlib/include/*"},
|
||||||
{"kolibrios/develop/tcc/samples/", SRC_PROGS .. "/develop/ktcc/libc.obj/samples/*.c"},
|
{"kolibrios/develop/tcc/samples/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/samples/*.c"},
|
||||||
{"kolibrios/develop/tcc/samples/", SRC_PROGS .. "/develop/ktcc/libc.obj/samples/*.sh"},
|
{"kolibrios/develop/tcc/samples/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/samples/*.sh"},
|
||||||
{"kolibrios/develop/tcc/samples/clayer/", SRC_PROGS .. "/develop/ktcc/libc.obj/samples/clayer/*"},
|
{"kolibrios/develop/tcc/samples/clayer/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/samples/clayer/*"},
|
||||||
{"kolibrios/develop/utils/SPEDump", SRC_PROGS .. "/develop/SPEDump/SPEDump.kex"},
|
{"kolibrios/develop/utils/SPEDump", SRC_PROGS .. "/develop/SPEDump/SPEDump.kex"},
|
||||||
{"kolibrios/emul/", "common/emul/*"},
|
{"kolibrios/emul/", "common/emul/*"},
|
||||||
{"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
|
{"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
|
||||||
{"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/readme.txt"},
|
{"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/trunk/readme.txt"},
|
||||||
{"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/keyboard.png"},
|
{"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/trunk/keyboard.png"},
|
||||||
{"kolibrios/emul/fceu/fceu", SRC_PROGS .. "/emulator/fceu/fceu"},
|
{"kolibrios/emul/fceu/fceu", SRC_PROGS .. "/emulator/fceu/fceu"},
|
||||||
{"kolibrios/emul/fceu/FCEU ReadMe.txt", SRC_PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
|
{"kolibrios/emul/fceu/FCEU ReadMe.txt", SRC_PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
|
||||||
{"kolibrios/emul/chip8/chip8", VAR_PROGS .. "/emulator/chip8/chip8"},
|
{"kolibrios/emul/chip8/chip8", VAR_PROGS .. "/emulator/chip8/chip8"},
|
||||||
@@ -284,7 +286,7 @@ extra_files = {
|
|||||||
{"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
|
{"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
|
||||||
{"kolibrios/res/skins/", "../skins/authors.txt"},
|
{"kolibrios/res/skins/", "../skins/authors.txt"},
|
||||||
{"kolibrios/res/templates/", "common/templates/*"},
|
{"kolibrios/res/templates/", "common/templates/*"},
|
||||||
{"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/games/*"},
|
{"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/trunk/games/*"},
|
||||||
{"kolibrios/res/templates/NES/", "common/templates/NES/*"},
|
{"kolibrios/res/templates/NES/", "common/templates/NES/*"},
|
||||||
{"kolibrios/res/wallpapers/", "common/wallpapers/*"},
|
{"kolibrios/res/wallpapers/", "common/wallpapers/*"},
|
||||||
{"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
|
{"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
|
||||||
@@ -339,7 +341,7 @@ if build_type == "ru_RU" then tup.append_table(extra_files, {
|
|||||||
{"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
|
{"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
|
||||||
{"kolibrios/media/zsea/zsea_keys.txt", SRC_PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
|
{"kolibrios/media/zsea/zsea_keys.txt", SRC_PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
|
||||||
{"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
|
{"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
|
||||||
{"kolibrios/develop/tcc/doc/", SRC_PROGS .. "/develop/ktcc/bin/doc/ru/*"},
|
{"kolibrios/develop/tcc/doc/", SRC_PROGS .. "/develop/ktcc/trunk/bin/doc/ru/*"},
|
||||||
}) else tup.append_table(extra_files, {
|
}) else tup.append_table(extra_files, {
|
||||||
{"Docs/Config.txt", build_type .. "/docs/Config.txt"},
|
{"Docs/Config.txt", build_type .. "/docs/Config.txt"},
|
||||||
{"Docs/Copying.txt", build_type .. "/docs/Copying.txt"},
|
{"Docs/Copying.txt", build_type .. "/docs/Copying.txt"},
|
||||||
@@ -353,7 +355,7 @@ if build_type == "ru_RU" then tup.append_table(extra_files, {
|
|||||||
{"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
|
{"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
|
||||||
{"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
|
{"kolibrios/games/sstartrek/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
|
||||||
{"kolibrios/media/zsea/zsea_keys.txt", SRC_PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
|
{"kolibrios/media/zsea/zsea_keys.txt", SRC_PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
|
||||||
{"kolibrios/develop/tcc/doc/", SRC_PROGS .. "/develop/ktcc/bin/doc/en/*"},
|
{"kolibrios/develop/tcc/doc/", SRC_PROGS .. "/develop/ktcc/trunk/bin/doc/en/*"},
|
||||||
}) end
|
}) end
|
||||||
--[[
|
--[[
|
||||||
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
|
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
|
||||||
@@ -409,8 +411,7 @@ tup.append_table(img_files, {
|
|||||||
{"HACONFIG", VAR_PROGS .. "/other/ha/HACONFIG"},
|
{"HACONFIG", VAR_PROGS .. "/other/ha/HACONFIG"},
|
||||||
{"ACLOCK", VAR_PROGS .. "/demos/aclock/aclock"},
|
{"ACLOCK", VAR_PROGS .. "/demos/aclock/aclock"},
|
||||||
{"APM", VAR_PROGS .. "/system/apm/apm"},
|
{"APM", VAR_PROGS .. "/system/apm/apm"},
|
||||||
{"CALC", VAR_PROGS .. "/other/calc/calc"},
|
{"CALC", VAR_PROGS .. "/other/calc/trunk/calc"},
|
||||||
{"CALCPLUS", VAR_PROGS .. "/other/calcplus/calcplus"},
|
|
||||||
{"CALENDAR", VAR_PROGS .. "/system/calendar/trunk/calendar"},
|
{"CALENDAR", VAR_PROGS .. "/system/calendar/trunk/calendar"},
|
||||||
{"COLRDIAL", VAR_PROGS .. "/system/colrdial/color_dialog"},
|
{"COLRDIAL", VAR_PROGS .. "/system/colrdial/color_dialog"},
|
||||||
{"CROPFLAT", VAR_PROGS .. "/system/cropflat/cropflat"},
|
{"CROPFLAT", VAR_PROGS .. "/system/cropflat/cropflat"},
|
||||||
@@ -428,14 +429,14 @@ tup.append_table(img_files, {
|
|||||||
{"KPACK", VAR_PROGS .. "/other/kpack/trunk/kpack"},
|
{"KPACK", VAR_PROGS .. "/other/kpack/trunk/kpack"},
|
||||||
{"LAUNCHER", VAR_PROGS .. "/system/launcher/trunk/launcher"},
|
{"LAUNCHER", VAR_PROGS .. "/system/launcher/trunk/launcher"},
|
||||||
{"LOADDRV", VAR_PROGS .. "/system/loaddrv/loaddrv"},
|
{"LOADDRV", VAR_PROGS .. "/system/loaddrv/loaddrv"},
|
||||||
{"MAGNIFY", VAR_PROGS .. "/system/magnify/magnify"},
|
{"MAGNIFY", VAR_PROGS .. "/demos/magnify/trunk/magnify"},
|
||||||
{"MGB", VAR_PROGS .. "/testing/mgb/trunk/mgb"},
|
{"MGB", VAR_PROGS .. "/testing/mgb/trunk/mgb"},
|
||||||
{"MOUSEMUL", VAR_PROGS .. "/system/mousemul/trunk/mousemul"},
|
{"MOUSEMUL", VAR_PROGS .. "/system/mousemul/trunk/mousemul"},
|
||||||
{"MADMOUSE", VAR_PROGS .. "/other/madmouse/madmouse"},
|
{"MADMOUSE", VAR_PROGS .. "/other/madmouse/madmouse"},
|
||||||
{"MYKEY", VAR_PROGS .. "/system/MyKey/trunk/MyKey"},
|
{"MYKEY", VAR_PROGS .. "/system/MyKey/trunk/MyKey"},
|
||||||
{"PCIDEV", VAR_PROGS .. "/testing/pcidev/trunk/PCIDEV"},
|
{"PCIDEV", VAR_PROGS .. "/testing/pcidev/trunk/PCIDEV"},
|
||||||
{"RDSAVE", VAR_PROGS .. "/system/rdsave/trunk/rdsave"},
|
{"RDSAVE", VAR_PROGS .. "/system/rdsave/trunk/rdsave"},
|
||||||
{"RTFREAD", VAR_PROGS .. "/other/rtfread/rtfread"},
|
{"RTFREAD", VAR_PROGS .. "/other/rtfread/trunk/rtfread"},
|
||||||
{"SEARCHAP", VAR_PROGS .. "/system/searchap/searchap"},
|
{"SEARCHAP", VAR_PROGS .. "/system/searchap/searchap"},
|
||||||
{"SCRSHOOT", VAR_PROGS .. "/media/scrshoot/scrshoot"},
|
{"SCRSHOOT", VAR_PROGS .. "/media/scrshoot/scrshoot"},
|
||||||
{"SETUP", VAR_PROGS .. "/system/setup/trunk/setup"},
|
{"SETUP", VAR_PROGS .. "/system/setup/trunk/setup"},
|
||||||
@@ -471,21 +472,21 @@ tup.append_table(img_files, {
|
|||||||
{"DEVELOP/DBGBOARD", VAR_PROGS .. "/system/dbgboard/dbgboard"},
|
{"DEVELOP/DBGBOARD", VAR_PROGS .. "/system/dbgboard/dbgboard"},
|
||||||
{"DEVELOP/CEDIT", SRC_PROGS .. "/develop/cedit/CEDIT"},
|
{"DEVELOP/CEDIT", SRC_PROGS .. "/develop/cedit/CEDIT"},
|
||||||
{"DEVELOP/CHARSETS", VAR_PROGS .. "/develop/charsets/charsets"},
|
{"DEVELOP/CHARSETS", VAR_PROGS .. "/develop/charsets/charsets"},
|
||||||
{"DEVELOP/COBJ", VAR_PROGS .. "/develop/cObj/cObj"},
|
{"DEVELOP/COBJ", VAR_PROGS .. "/develop/cObj/trunk/cObj"},
|
||||||
{"DEVELOP/ENTROPYV", VAR_PROGS .. "/develop/entropyview/entropyview"},
|
{"DEVELOP/ENTROPYV", VAR_PROGS .. "/develop/entropyview/entropyview"},
|
||||||
{"DEVELOP/FASM", VAR_PROGS .. "/develop/fasm/1.73/fasm"},
|
{"DEVELOP/FASM", VAR_PROGS .. "/develop/fasm/1.73/fasm"},
|
||||||
{"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"},
|
{"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"},
|
||||||
{"DEVELOP/PIPET", VAR_PROGS .. "/other/pipet/pipet"},
|
{"DEVELOP/PIPET", VAR_PROGS .. "/other/pipet/pipet"},
|
||||||
{"DEVELOP/H2D2B", VAR_PROGS .. "/develop/h2d2b/h2d2b"},
|
{"DEVELOP/H2D2B", VAR_PROGS .. "/develop/h2d2b/trunk/h2d2b"},
|
||||||
{"DEVELOP/HEED", VAR_PROGS .. "/develop/heed/heed"},
|
{"DEVELOP/HEED", VAR_PROGS .. "/develop/heed/trunk/heed"},
|
||||||
{"DEVELOP/MTDBG", VAR_PROGS .. "/develop/mtdbg/mtdbg"},
|
{"DEVELOP/MTDBG", VAR_PROGS .. "/develop/mtdbg/mtdbg"},
|
||||||
{"DEVELOP/MSTATE", VAR_PROGS .. "/develop/mstate/mstate"},
|
{"DEVELOP/MSTATE", VAR_PROGS .. "/develop/mstate/mstate"},
|
||||||
{"DEVELOP/SCANCODE", VAR_PROGS .. "/develop/scancode/trunk/scancode"},
|
{"DEVELOP/SCANCODE", VAR_PROGS .. "/develop/scancode/trunk/scancode"},
|
||||||
{"DEVELOP/EXAMPLES/CIRCLE", VAR_PROGS .. "/develop/examples/circle/circle"},
|
{"DEVELOP/EXAMPLES/CIRCLE", VAR_PROGS .. "/develop/examples/circle/trunk/circle"},
|
||||||
{"DEVELOP/EXAMPLES/COLORREF", VAR_PROGS .. "/demos/colorref/trunk/colorref"},
|
{"DEVELOP/EXAMPLES/COLORREF", VAR_PROGS .. "/demos/colorref/trunk/colorref"},
|
||||||
{"DEVELOP/EXAMPLES/CONGET", VAR_PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
|
{"DEVELOP/EXAMPLES/CONGET", VAR_PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
|
||||||
{"DEVELOP/EXAMPLES/CSLIDE", VAR_PROGS .. "/demos/cslide/trunk/cslide"},
|
{"DEVELOP/EXAMPLES/CSLIDE", VAR_PROGS .. "/demos/cslide/trunk/cslide"},
|
||||||
{"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/thread"},
|
{"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/trunk/thread"},
|
||||||
{"File Managers/KFAR", VAR_PROGS .. "/fs/kfar/trunk/kfar"},
|
{"File Managers/KFAR", VAR_PROGS .. "/fs/kfar/trunk/kfar"},
|
||||||
{"File Managers/OPENDIAL", VAR_PROGS .. "/fs/opendial/opendial"},
|
{"File Managers/OPENDIAL", VAR_PROGS .. "/fs/opendial/opendial"},
|
||||||
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
|
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
|
||||||
@@ -523,10 +524,10 @@ tup.append_table(img_files, {
|
|||||||
{"LIB/RASTERWORKS.OBJ", VAR_PROGS .. "/develop/libraries/fontRasterWorks_unicode/RasterWorks.obj"},
|
{"LIB/RASTERWORKS.OBJ", VAR_PROGS .. "/develop/libraries/fontRasterWorks_unicode/RasterWorks.obj"},
|
||||||
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
|
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
|
||||||
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
|
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
|
||||||
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/animage"},
|
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/trunk/animage"},
|
||||||
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
||||||
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/kiv"},
|
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"},
|
||||||
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/listplay"},
|
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"},
|
||||||
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
|
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
|
||||||
{"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"},
|
{"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"},
|
||||||
{"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/trunk/palitra"},
|
{"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/trunk/palitra"},
|
||||||
@@ -604,7 +605,6 @@ tup.append_table(extra_files, {
|
|||||||
{"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"},
|
{"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"},
|
||||||
{"kolibrios/3D/voxel_utilites/VOX_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"},
|
{"kolibrios/3D/voxel_utilites/VOX_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"},
|
||||||
{"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
|
{"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
|
||||||
{"kolibrios/demos/flag", VAR_PROGS .. "/demos/flag/flag"},
|
|
||||||
{"kolibrios/demos/life3", VAR_PROGS .. "/games/life3/life3"},
|
{"kolibrios/demos/life3", VAR_PROGS .. "/games/life3/life3"},
|
||||||
{"kolibrios/demos/qjulia", VAR_PROGS .. "/demos/qjulia/trunk/qjulia"},
|
{"kolibrios/demos/qjulia", VAR_PROGS .. "/demos/qjulia/trunk/qjulia"},
|
||||||
{"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
|
{"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
|
||||||
@@ -628,6 +628,7 @@ tup.append_table(extra_files, {
|
|||||||
{"kolibrios/media/zsea/plugins/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
|
{"kolibrios/media/zsea/plugins/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
|
||||||
{"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
|
{"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
|
||||||
{"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"},
|
{"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"},
|
||||||
|
{"kolibrios/utils/calcplus", VAR_PROGS .. "/other/calcplus/calcplus"},
|
||||||
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
|
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
|
||||||
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
|
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
|
||||||
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
|
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
|
||||||
@@ -641,7 +642,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
}) end
|
}) end
|
||||||
|
|
||||||
if build_type == "ru_RU" then tup.append_table(extra_files, {
|
if build_type == "ru_RU" then tup.append_table(extra_files, {
|
||||||
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/period"},
|
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/trunk/period"},
|
||||||
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
|
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
|
||||||
}) end
|
}) end
|
||||||
|
|
||||||
@@ -745,14 +746,14 @@ if tup.getconfig('NO_GCC') ~= 'full' then
|
|||||||
tup.append_table(img_files, {
|
tup.append_table(img_files, {
|
||||||
{"GAMES/REVERSI", VAR_PROGS .. "/games/reversi/reversi"},
|
{"GAMES/REVERSI", VAR_PROGS .. "/games/reversi/reversi"},
|
||||||
{"LIB/BASE64.OBJ", VAR_PROGS .. "/develop/libraries/base64/base64.obj"},
|
{"LIB/BASE64.OBJ", VAR_PROGS .. "/develop/libraries/base64/base64.obj"},
|
||||||
{"LIB/LIBC.OBJ", VAR_PROGS .. "/develop/ktcc/libc.obj/source/libc.obj"},
|
{"LIB/LIBC.OBJ", VAR_PROGS .. "/develop/ktcc/trunk/libc.obj/source/libc.obj"},
|
||||||
{"LIB/ICONV.OBJ", VAR_PROGS .. "/develop/libraries/iconv/iconv.obj"},
|
{"LIB/ICONV.OBJ", VAR_PROGS .. "/develop/libraries/iconv/iconv.obj"},
|
||||||
-- {"LIB/MTAR.OBJ", VAR_PROGS .. "/develop/libraries/microtar/mtar.obj"},
|
-- {"LIB/MTAR.OBJ", VAR_PROGS .. "/develop/libraries/microtar/mtar.obj"},
|
||||||
})
|
})
|
||||||
tup.append_table(extra_files, {
|
tup.append_table(extra_files, {
|
||||||
-- {"kolibrios/3D/cubeline", VAR_PROGS .. "/demos/cubeline/trunk/cubeline"},
|
-- {"kolibrios/3D/cubeline", VAR_PROGS .. "/demos/cubeline/trunk/cubeline"},
|
||||||
{"kolibrios/3D/gears", VAR_PROGS .. "/demos/gears/gears"},
|
{"kolibrios/3D/gears", VAR_PROGS .. "/demos/gears/gears"},
|
||||||
{"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/e80"},
|
{"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/trunk/e80"},
|
||||||
{"kolibrios/emul/uarm/", VAR_CONTRIB .. "/other/uarm/uARM"},
|
{"kolibrios/emul/uarm/", VAR_CONTRIB .. "/other/uarm/uARM"},
|
||||||
{"kolibrios/games/2048", VAR_PROGS .. "/games/2048/2048"},
|
{"kolibrios/games/2048", VAR_PROGS .. "/games/2048/2048"},
|
||||||
{"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/checkers"},
|
{"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/checkers"},
|
||||||
@@ -772,7 +773,7 @@ tup.append_table(extra_files, {
|
|||||||
{"kolibrios/utils/minizip/minizip", VAR_PROGS .. "/fs/minizip/minizip"},
|
{"kolibrios/utils/minizip/minizip", VAR_PROGS .. "/fs/minizip/minizip"},
|
||||||
{"kolibrios/utils/minizip/miniunz", VAR_PROGS .. "/fs/minizip/miniunz"},
|
{"kolibrios/utils/minizip/miniunz", VAR_PROGS .. "/fs/minizip/miniunz"},
|
||||||
{"kolibrios/develop/c--/c--", VAR_PROGS .. "/develop/cmm/cmm"},
|
{"kolibrios/develop/c--/c--", VAR_PROGS .. "/develop/cmm/cmm"},
|
||||||
{"kolibrios/develop/tcc/tcc", VAR_PROGS .. "/develop/ktcc/source/tcc"},
|
{"kolibrios/develop/tcc/tcc", VAR_PROGS .. "/develop/ktcc/trunk/source/tcc"},
|
||||||
{"kolibrios/develop/sqlite3/sqlite3", VAR_CONTRIB .. "/sdk/sources/sqlite3/shell/sqlite3"},
|
{"kolibrios/develop/sqlite3/sqlite3", VAR_CONTRIB .. "/sdk/sources/sqlite3/shell/sqlite3"},
|
||||||
{"kolibrios/develop/utils/objconv", VAR_PROGS .. "/develop/objconv/objconv"},
|
{"kolibrios/develop/utils/objconv", VAR_PROGS .. "/develop/objconv/objconv"},
|
||||||
{"kolibrios/drivers/sensors/k10temp.sys", VAR_DRVS .. "/sensors/k10temp/k10temp.sys"},
|
{"kolibrios/drivers/sensors/k10temp.sys", VAR_DRVS .. "/sensors/k10temp/k10temp.sys"},
|
||||||
|
@@ -29,6 +29,7 @@ Dicty=/k/utils/DICTY.KEX,79
|
|||||||
fNav=/k/utils/fNav/fNav,93
|
fNav=/k/utils/fNav/fNav,93
|
||||||
CncEditor=/k/utils/cnc_editor/cnc_editor,15
|
CncEditor=/k/utils/cnc_editor/cnc_editor,15
|
||||||
Life=/k/demos/life2,13
|
Life=/k/demos/life2,13
|
||||||
|
Calc+=/k/utils/calcplus,4
|
||||||
TinyBasic=/k/develop/TinyBasic/TinyBasic,91
|
TinyBasic=/k/develop/TinyBasic/TinyBasic,91
|
||||||
THashView=/k/utils/thashview,124
|
THashView=/k/utils/thashview,124
|
||||||
Notes=/k/utils/notes,117
|
Notes=/k/utils/notes,117
|
||||||
|
@@ -235,8 +235,8 @@ ico=58
|
|||||||
x=68
|
x=68
|
||||||
y=68
|
y=68
|
||||||
[21]
|
[21]
|
||||||
name=CALC+
|
name=CALC
|
||||||
path=CALCPLUS
|
path=CALC
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -92,7 +92,6 @@
|
|||||||
59 Screen keyboard |zkey
|
59 Screen keyboard |zkey
|
||||||
#10 **** DATA PROCESSING
|
#10 **** DATA PROCESSING
|
||||||
16 Calculator |calc
|
16 Calculator |calc
|
||||||
16 Calculator+ |calcplus
|
|
||||||
03 Tinypad |tinypad
|
03 Tinypad |tinypad
|
||||||
28 CodeEdit |develop/cedit
|
28 CodeEdit |develop/cedit
|
||||||
21 Table processor |table
|
21 Table processor |table
|
||||||
|
@@ -235,8 +235,8 @@ ico=58
|
|||||||
x=68
|
x=68
|
||||||
y=68
|
y=68
|
||||||
[21]
|
[21]
|
||||||
name=CALC+
|
name=CALC
|
||||||
path=CALCPLUS
|
path=CALC
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -96,7 +96,6 @@
|
|||||||
24 NDN * |/kolibrios/utils/ndn/ndn
|
24 NDN * |/kolibrios/utils/ndn/ndn
|
||||||
#11 **** PROCESO DE DATOS
|
#11 **** PROCESO DE DATOS
|
||||||
16 Calculadora |calc
|
16 Calculadora |calc
|
||||||
16 Calculadora+ |calcplus
|
|
||||||
16 Tinypad |tinypad
|
16 Tinypad |tinypad
|
||||||
16 CodeEdit |develop/cedit
|
16 CodeEdit |develop/cedit
|
||||||
16 Procesador de tablas |table
|
16 Procesador de tablas |table
|
||||||
|
@@ -235,8 +235,8 @@ ico=58
|
|||||||
x=68
|
x=68
|
||||||
y=68
|
y=68
|
||||||
[21]
|
[21]
|
||||||
name=CALC+
|
name=CALC
|
||||||
path=CALCPLUS
|
path=CALC
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -80,7 +80,6 @@
|
|||||||
65 NDN * |/kolibrios/utils/ndn/ndn
|
65 NDN * |/kolibrios/utils/ndn/ndn
|
||||||
#11 **** DATA PROCESSING ****
|
#11 **** DATA PROCESSING ****
|
||||||
16 Kalkulaator |calc
|
16 Kalkulaator |calc
|
||||||
16 Kalkulaator+ |calcplus
|
|
||||||
16 Teksti redaktor |tinypad
|
16 Teksti redaktor |tinypad
|
||||||
16 CodeEdit |develop/cedit
|
16 CodeEdit |develop/cedit
|
||||||
16 Tabelarvutus |table
|
16 Tabelarvutus |table
|
||||||
|
@@ -235,8 +235,8 @@ ico=58
|
|||||||
x=68
|
x=68
|
||||||
y=68
|
y=68
|
||||||
[21]
|
[21]
|
||||||
name=CALC+
|
name=CALC
|
||||||
path=CALCPLUS
|
path=CALC
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -79,7 +79,6 @@
|
|||||||
65 NDN * |/kolibrios/utils/ndn/ndn
|
65 NDN * |/kolibrios/utils/ndn/ndn
|
||||||
#11 **** DATA PROCESSING
|
#11 **** DATA PROCESSING
|
||||||
16 Calcolatrice |calc
|
16 Calcolatrice |calc
|
||||||
16 Calcolatrice+ |calcplus
|
|
||||||
16 Tinypad |tinypad
|
16 Tinypad |tinypad
|
||||||
16 CodeEdit |develop/cedit
|
16 CodeEdit |develop/cedit
|
||||||
16 Table Processor |table
|
16 Table Processor |table
|
||||||
|
@@ -235,8 +235,8 @@ ico=58
|
|||||||
x=68
|
x=68
|
||||||
y=68
|
y=68
|
||||||
[21]
|
[21]
|
||||||
name=CALC+
|
name=CALC
|
||||||
path=CALCPLUS
|
path=CALC
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -90,7 +90,6 @@
|
|||||||
59 <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |zkey
|
59 <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |zkey
|
||||||
#10 **** <20><><EFBFBD><EFBFBD>
|
#10 **** <20><><EFBFBD><EFBFBD>
|
||||||
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |calc
|
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |calc
|
||||||
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+ |calcplus
|
|
||||||
03 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tinypad |tinypad
|
03 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tinypad |tinypad
|
||||||
28 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CodeEdit |develop/cedit
|
28 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CodeEdit |develop/cedit
|
||||||
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |table
|
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |table
|
||||||
@@ -120,7 +119,7 @@
|
|||||||
45 <20><><EFBFBD><EFBFBD>⮩ <20><>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> |easyshot
|
45 <20><><EFBFBD><EFBFBD>⮩ <20><>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> |easyshot
|
||||||
29 FB2 <20><>⠫<EFBFBD><E2A0AB> |fb2read
|
29 FB2 <20><>⠫<EFBFBD><E2A0AB> |fb2read
|
||||||
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |aclock
|
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |aclock
|
||||||
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |/kolibrios/utils/period
|
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |period
|
||||||
59 <20>७<EFBFBD><E0A5AD><EFBFBD><EFBFBD> KJ|ABuIIIA |games/klavisha
|
59 <20>७<EFBFBD><E0A5AD><EFBFBD><EFBFBD> KJ|ABuIIIA |games/klavisha
|
||||||
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |demos/bcdclk
|
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |demos/bcdclk
|
||||||
53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |timer
|
53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |timer
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
KTCC=kos32-tcc
|
KTCC=kos32-tcc
|
||||||
KPACK = kpack
|
KPACK = kpack
|
||||||
KLIBC = ../../../programs/develop/ktcc/libc.obj
|
KLIBC = ../../../programs/develop/ktcc/trunk/libc.obj
|
||||||
CFLAGS = -I $(KLIBC)/include
|
CFLAGS = -I $(KLIBC)/include
|
||||||
LDFLAGS = -nostdlib -L$(KLIBC)/lib $(KLIBC)/lib/crt0.o
|
LDFLAGS = -nostdlib -L$(KLIBC)/lib $(KLIBC)/lib/crt0.o
|
||||||
|
|
||||||
|
@@ -668,8 +668,6 @@ socket_accept:
|
|||||||
|
|
||||||
DEBUGF DEBUG_NETWORK_VERBOSE, "SOCKET_accept: socknum=%u sockaddr=%x length=%u\n", ecx, edx, esi
|
DEBUGF DEBUG_NETWORK_VERBOSE, "SOCKET_accept: socknum=%u sockaddr=%x length=%u\n", ecx, edx, esi
|
||||||
|
|
||||||
push edx esi
|
|
||||||
|
|
||||||
call socket_num_to_ptr
|
call socket_num_to_ptr
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .invalid
|
jz .invalid
|
||||||
@@ -698,24 +696,6 @@ socket_accept:
|
|||||||
mov ebx, [ebx + APPDATA.tid]
|
mov ebx, [ebx + APPDATA.tid]
|
||||||
mov [eax + SOCKET.TID], ebx
|
mov [eax + SOCKET.TID], ebx
|
||||||
|
|
||||||
pop esi edx
|
|
||||||
|
|
||||||
test edx, edx
|
|
||||||
jz .skip_sockaddr
|
|
||||||
|
|
||||||
mov word[edx], 0 ; unknown domain
|
|
||||||
cmp esi, 8 ; domain + port + ipv4
|
|
||||||
jb .skip_sockaddr
|
|
||||||
|
|
||||||
mov word[edx], AF_INET4
|
|
||||||
mov esi, edx
|
|
||||||
mov edx, [eax + IP_SOCKET.RemoteIP]
|
|
||||||
mov [esi + sockaddr.ip], edx
|
|
||||||
|
|
||||||
mov dx, [eax + TCP_SOCKET.RemotePort]
|
|
||||||
mov [esi + sockaddr.port], dx
|
|
||||||
|
|
||||||
.skip_sockaddr:
|
|
||||||
; Return socket number to caller
|
; Return socket number to caller
|
||||||
mov eax, [eax + SOCKET.Number]
|
mov eax, [eax + SOCKET.Number]
|
||||||
mov [esp + SYSCALL_STACK.eax], eax
|
mov [esp + SYSCALL_STACK.eax], eax
|
||||||
@@ -731,19 +711,16 @@ socket_accept:
|
|||||||
.wouldblock:
|
.wouldblock:
|
||||||
mov dword[esp + SYSCALL_STACK.ebx], EWOULDBLOCK
|
mov dword[esp + SYSCALL_STACK.ebx], EWOULDBLOCK
|
||||||
mov dword[esp + SYSCALL_STACK.eax], -1
|
mov dword[esp + SYSCALL_STACK.eax], -1
|
||||||
pop esi edx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.invalid:
|
.invalid:
|
||||||
mov dword[esp + SYSCALL_STACK.ebx], EINVAL
|
mov dword[esp + SYSCALL_STACK.ebx], EINVAL
|
||||||
mov dword[esp + SYSCALL_STACK.eax], -1
|
mov dword[esp + SYSCALL_STACK.eax], -1
|
||||||
pop esi edx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.notsupp:
|
.notsupp:
|
||||||
mov dword[esp + SYSCALL_STACK.ebx], EOPNOTSUPP
|
mov dword[esp + SYSCALL_STACK.ebx], EOPNOTSUPP
|
||||||
mov dword[esp + SYSCALL_STACK.eax], -1
|
mov dword[esp + SYSCALL_STACK.eax], -1
|
||||||
pop esi edx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;-----------------------------------------------------------------;
|
;-----------------------------------------------------------------;
|
||||||
|
@@ -692,15 +692,6 @@ struct TinyGLContext
|
|||||||
long int dx, dy, x, y;
|
long int dx, dy, x, y;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GLUquadricObj
|
|
||||||
{
|
|
||||||
GLenum DrawStyle; // GLU_FILL, LINE, SILHOUETTE, or POINT
|
|
||||||
GLenum Orientation; // GLU_INSIDE or GLU_OUTSIDE
|
|
||||||
GLboolean TextureFlag; // Generate texture coords?
|
|
||||||
GLenum Normals; // GLU_NONE, GLU_FLAT, or GLU_SMOOTH
|
|
||||||
void (__stdcall* ErrorFunc)(GLenum err); // Error handler callback function
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// tinygl - import table
|
// tinygl - import table
|
||||||
//
|
//
|
||||||
@@ -757,7 +748,7 @@ void (__stdcall* glEdgeFlag)(int flag) = (void (__stdcall*)(int))&"glEdgeFlag";
|
|||||||
void (__stdcall* glMatrixMode)(int mode) = (void (__stdcall*)(int))&"glMatrixMode";
|
void (__stdcall* glMatrixMode)(int mode) = (void (__stdcall*)(int))&"glMatrixMode";
|
||||||
void (__stdcall* glLoadMatrixf)(const float* m) = (void (__stdcall*)(const float*))&"glLoadMatrixf";
|
void (__stdcall* glLoadMatrixf)(const float* m) = (void (__stdcall*)(const float*))&"glLoadMatrixf";
|
||||||
void (__stdcall* glLoadIdentity)() = (void (__stdcall*)())&"glLoadIdentity";
|
void (__stdcall* glLoadIdentity)() = (void (__stdcall*)())&"glLoadIdentity";
|
||||||
void (__stdcall* glMultMatrixf)(const GLfloat *m) = (void (__stdcall*)(const GLfloat*))&"glMultMatrixf";
|
//void (__stdcall* glMultMatrixf)(...) = (void (__stdcall*)(...))&"glMultMatrixf";
|
||||||
void (__stdcall* glPushMatrix)() = (void (__stdcall*)())&"glPushMatrix";
|
void (__stdcall* glPushMatrix)() = (void (__stdcall*)())&"glPushMatrix";
|
||||||
void (__stdcall* glPopMatrix)() = (void (__stdcall*)())&"glPopMatrix";
|
void (__stdcall* glPopMatrix)() = (void (__stdcall*)())&"glPopMatrix";
|
||||||
void (__stdcall* glRotatef)(float angle, float x, float y, float z) = (void (__stdcall*)(float, float, float, float))&"glRotatef";
|
void (__stdcall* glRotatef)(float angle, float x, float y, float z) = (void (__stdcall*)(float, float, float, float))&"glRotatef";
|
||||||
@@ -772,7 +763,7 @@ void (__stdcall* glEndList)() = (void (__stdcall*)())&"glEndList";
|
|||||||
void (__stdcall* glCallList)(unsigned int list) = (void (__stdcall*)(unsigned int))&"glCallList";
|
void (__stdcall* glCallList)(unsigned int list) = (void (__stdcall*)(unsigned int))&"glCallList";
|
||||||
void (__stdcall* glClear)(int mask) = (void (__stdcall*)(int))&"glClear";
|
void (__stdcall* glClear)(int mask) = (void (__stdcall*)(int))&"glClear";
|
||||||
void (__stdcall* glClearColor)(float r, float g, float b, float a) = (void (__stdcall*)(float, float, float, float))&"glClearColor";
|
void (__stdcall* glClearColor)(float r, float g, float b, float a) = (void (__stdcall*)(float, float, float, float))&"glClearColor";
|
||||||
void (__stdcall* glClearDepth)(double depth) = (void (__stdcall*)(double))&"glClearDepth";
|
//void (__stdcall* glClearDepth)(...) = (void (__stdcall*)(...))&"glClearDepth";
|
||||||
void (__stdcall* glRenderMode)(int mode) = (void (__stdcall*)(int))&"glRenderMode";
|
void (__stdcall* glRenderMode)(int mode) = (void (__stdcall*)(int))&"glRenderMode";
|
||||||
//void (__stdcall* glSelectBuffer)(...) = (void (__stdcall*)(...))&"glSelectBuffer";
|
//void (__stdcall* glSelectBuffer)(...) = (void (__stdcall*)(...))&"glSelectBuffer";
|
||||||
//void (__stdcall* glInitNames)(...) = (void (__stdcall*)(...))&"glInitNames";
|
//void (__stdcall* glInitNames)(...) = (void (__stdcall*)(...))&"glInitNames";
|
||||||
@@ -808,22 +799,18 @@ void (__stdcall* glColorPointer)(GLint size, GLenum type, GLsizei stride, const
|
|||||||
void (__stdcall* glNormalPointer)(GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLenum, GLsizei, const GLvoid*))&"glNormalPointer";
|
void (__stdcall* glNormalPointer)(GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLenum, GLsizei, const GLvoid*))&"glNormalPointer";
|
||||||
void (__stdcall* glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLint, GLenum, GLsizei, const GLvoid*))&"glTexCoordPointer";
|
void (__stdcall* glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLint, GLenum, GLsizei, const GLvoid*))&"glTexCoordPointer";
|
||||||
//void (__stdcall* glPolygonOffset)(...) = (void (__stdcall*)(...))&"glPolygonOffset";
|
//void (__stdcall* glPolygonOffset)(...) = (void (__stdcall*)(...))&"glPolygonOffset";
|
||||||
void (__stdcall* glOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) = (void (__stdcall*)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble))&"glOrtho";
|
//void (__stdcall* glOrtho)(...) = (void (__stdcall*)(...))&"glOrtho";
|
||||||
//void (__stdcall* glDebug)(...) = (void (__stdcall*)(...))&"glDebug";
|
//void (__stdcall* glDebug)(...) = (void (__stdcall*)(...))&"glDebug";
|
||||||
//void (__stdcall* glInit)(...) = (void (__stdcall*)(...))&"glInit";
|
//void (__stdcall* glInit)(...) = (void (__stdcall*)(...))&"glInit";
|
||||||
//void (__stdcall* glClose)(...) = (void (__stdcall*)(...))&"glClose";
|
//void (__stdcall* glClose)(...) = (void (__stdcall*)(...))&"glClose";
|
||||||
void (__stdcall* gluPerspective)(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) = (void (__stdcall*)(GLdouble, GLdouble, GLdouble, GLdouble))&"gluPerspective";
|
//void (__stdcall* gluPerspective)(...) = (void (__stdcall*)(...))&"gluPerspective";
|
||||||
GLUquadricObj* (__stdcall* gluNewQuadric)() = (GLUquadricObj* (__stdcall*)())&"gluNewQuadric";
|
//void (__stdcall* gluNewQuadric)(...) = (void (__stdcall*)(...))&"gluNewQuadric";
|
||||||
void (__stdcall* gluDeleteQuadric)(GLUquadricObj *state) = (void (__stdcall*)(GLUquadricObj*))&"gluDeleteQuadric";
|
//void (__stdcall* gluDeleteQuadric)(...) = (void (__stdcall*)(...))&"gluDeleteQuadric";
|
||||||
void (__stdcall* gluQuadricDrawStyle)(GLUquadricObj *quadObject, GLenum drawStyle) = (void (__stdcall*)(GLUquadricObj*, GLenum))&"gluQuadricDrawStyle";
|
//void (__stdcall* gluQuadricDrawStyle)(...) = (void (__stdcall*)(...))&"gluQuadricDrawStyle";
|
||||||
void (__stdcall* gluQuadricOrientation)(GLUquadricObj *quadObject, GLenum orientation) = (void (__stdcall*)(GLUquadricObj*, GLenum))&"gluQuadricOrientation";
|
//void (__stdcall* gluQuadricOrientation)(...) = (void (__stdcall*)(...))&"gluQuadricOrientation";
|
||||||
void (__stdcall* gluQuadricTexture)(GLUquadricObj *quadObject, GLboolean textureCoords) = (void (__stdcall*)(GLUquadricObj*, GLboolean))&"gluQuadricTexture";
|
//void (__stdcall* gluQuadricTexture)(...) = (void (__stdcall*)(...))&"gluQuadricTexture";
|
||||||
void (__stdcall* gluCylinder)(GLUquadricObj *qobj,
|
//void (__stdcall* gluCylinder)(...) = (void (__stdcall*)(...))&"gluCylinder";
|
||||||
GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLdouble, GLdouble, GLint, GLint))&"gluCylinder";
|
//void (__stdcall* gluSphere)(...) = (void (__stdcall*)(...))&"gluSphere";
|
||||||
void (__stdcall* gluDisk)(GLUquadricObj *qobj,
|
|
||||||
GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLdouble, GLint, GLint))&"gluDisk";
|
|
||||||
void (__stdcall* gluSphere)(GLUquadricObj *qobj,
|
|
||||||
GLdouble radius, GLint slices, GLint stacks) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLint, GLint))&"gluSphere";
|
|
||||||
void (__stdcall* kosglMakeCurrent)(long l, long t, long w, long h, TinyGLContext*) = (void (__stdcall*)(long, long, long, long, TinyGLContext*))&"kosglMakeCurrent";
|
void (__stdcall* kosglMakeCurrent)(long l, long t, long w, long h, TinyGLContext*) = (void (__stdcall*)(long, long, long, long, TinyGLContext*))&"kosglMakeCurrent";
|
||||||
void (__stdcall* kosglSwapBuffers)() = (void (__stdcall*)())&"kosglSwapBuffers";
|
void (__stdcall* kosglSwapBuffers)() = (void (__stdcall*)())&"kosglSwapBuffers";
|
||||||
asm{
|
asm{
|
||||||
|
@@ -13,12 +13,12 @@ rem
|
|||||||
set __value=
|
set __value=
|
||||||
set __res=
|
set __res=
|
||||||
shift
|
shift
|
||||||
|
|
||||||
:__allowed
|
:__allowed
|
||||||
set __values=%1 %__values%
|
set __values=%1 %__values%
|
||||||
shift
|
shift
|
||||||
if not "%1"=="" goto __allowed
|
if not "%1"=="" goto __allowed
|
||||||
|
|
||||||
set /P __res=">
|
set /P __res=">
|
||||||
:Check_Value
|
:Check_Value
|
||||||
for %%a in (%__values%) do if %%a==%__res% set __value=%__res%
|
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\calendar\trunk\calendar.asm %BIN%\calendar
|
||||||
fasm system\board\trunk\board.asm %BIN%\develop\board
|
fasm system\board\trunk\board.asm %BIN%\develop\board
|
||||||
fasm system\commouse\trunk\commouse.asm %BIN%\commouse
|
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\cpuid\trunk\cpuid.asm %BIN%\cpuid
|
||||||
fasm system\skincfg\trunk\skincfg.asm %BIN%\skincfg
|
fasm system\skincfg\trunk\skincfg.asm %BIN%\skincfg
|
||||||
fasm system\docpack\trunk\docpack.asm %BIN%\docpack
|
fasm system\docpack\trunk\docpack.asm %BIN%\docpack
|
||||||
@@ -88,15 +88,15 @@ echo Building develop
|
|||||||
echo *
|
echo *
|
||||||
fasm develop\cmd\trunk\cmd.asm %BIN%\cmd
|
fasm develop\cmd\trunk\cmd.asm %BIN%\cmd
|
||||||
fasm develop\fasm\trunk\fasm.asm %BIN%\develop\fasm
|
fasm develop\fasm\trunk\fasm.asm %BIN%\develop\fasm
|
||||||
fasm develop\h2d2b\h2d2b.asm %BIN%\develop\h2d2b
|
fasm develop\h2d2b\trunk\h2d2b.asm %BIN%\develop\h2d2b
|
||||||
fasm develop\heed\heed.asm %BIN%\demos\heed
|
fasm develop\heed\trunk\heed.asm %BIN%\demos\heed
|
||||||
rem fasm develop\hexview\trunk\hexview.asm hexview
|
rem fasm develop\hexview\trunk\hexview.asm hexview
|
||||||
fasm develop\keyascii\keyascii.asm %BIN%\develop\keyascii
|
fasm develop\keyascii\trunk\keyascii.asm %BIN%\develop\keyascii
|
||||||
fasm develop\mtdbg\mtdbg.asm %BIN%\develop\mtdbg
|
fasm develop\mtdbg\mtdbg.asm %BIN%\develop\mtdbg
|
||||||
rem fasm develop\param\trunk\param.asm param
|
rem fasm develop\param\trunk\param.asm param
|
||||||
fasm develop\scancode\trunk\scancode.asm %BIN%\develop\scancode
|
fasm develop\scancode\trunk\scancode.asm %BIN%\develop\scancode
|
||||||
fasm develop\tinypad\trunk\tinypad.asm %BIN%\tinypad
|
fasm develop\tinypad\trunk\tinypad.asm %BIN%\tinypad
|
||||||
fasm develop\cObj\cObj.asm %BIN%\develop\cObj
|
fasm develop\cObj\trunk\cObj.asm %BIN%\develop\cObj
|
||||||
|
|
||||||
echo *
|
echo *
|
||||||
echo Building systems libraries
|
echo Building systems libraries
|
||||||
@@ -154,16 +154,16 @@ echo *
|
|||||||
echo Building other
|
echo Building other
|
||||||
echo *
|
echo *
|
||||||
rem fasm other\archer\trunk\@rcher.asm %BIN%\@rcher
|
rem fasm other\archer\trunk\@rcher.asm %BIN%\@rcher
|
||||||
fasm other\calc\calc.asm %BIN%\calc
|
fasm other\calc\trunk\calc.asm %BIN%\calc
|
||||||
fasm other\mhc\trunk\mhc.asm %BIN%\mhc
|
fasm other\mhc\trunk\mhc.asm %BIN%\mhc
|
||||||
fasm other\period\period.asm %BIN%\period
|
fasm other\period\trunk\period.asm %BIN%\period
|
||||||
fasm other\rtfread\rtfread.asm %BIN%\rtfread
|
fasm other\rtfread\trunk\rtfread.asm %BIN%\rtfread
|
||||||
|
|
||||||
echo *
|
echo *
|
||||||
echo Building media
|
echo Building media
|
||||||
echo *
|
echo *
|
||||||
rem media\ac97snd\trunk\ac97snd.asm ac97snd
|
rem media\ac97snd\trunk\ac97snd.asm ac97snd
|
||||||
fasm media\animage\animage.asm %BIN%\animage
|
fasm media\animage\trunk\animage.asm %BIN%\animage
|
||||||
fasm media\cdp\trunk\cdp.asm %BIN%\cdp
|
fasm media\cdp\trunk\cdp.asm %BIN%\cdp
|
||||||
fasm media\gifview\trunk\gifview.asm %BIN%\gifview
|
fasm media\gifview\trunk\gifview.asm %BIN%\gifview
|
||||||
fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit
|
fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit
|
||||||
@@ -231,38 +231,38 @@ echo *
|
|||||||
echo Building depend application for fdd's nightbuild
|
echo Building depend application for fdd's nightbuild
|
||||||
echo *
|
echo *
|
||||||
echo __nightbuild fix yes >> config.inc
|
echo __nightbuild fix yes >> config.inc
|
||||||
fasm media\kiv\kiv.asm %BIN%\nightbuild\kiv
|
fasm media\kiv\trunk\kiv.asm %BIN%\nightbuild\kiv
|
||||||
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
|
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
|
||||||
fasm media\animage\animage.asm %BIN%\nightbuild\animage
|
fasm media\animage\trunk\animage.asm %BIN%\nightbuild\animage
|
||||||
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
|
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
|
||||||
fasm develop\heed\heed.asm %BIN%\nightbuild\heed
|
fasm develop\heed\trunk\heed.asm %BIN%\nightbuild\heed
|
||||||
fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad
|
fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad
|
||||||
fasm system\skincfg\trunk\skincfg.asm %BIN%\nightbuild\skincfg
|
fasm system\skincfg\trunk\skincfg.asm %BIN%\nightbuild\skincfg
|
||||||
fasm system\hdd_info\trunk\hdd_info.asm %BIN%\nightbuild\hdd_info
|
fasm system\hdd_info\trunk\hdd_info.asm %BIN%\nightbuild\hdd_info
|
||||||
fasm system\mgb\trunk\mgb.asm %BIN%\nightbuild\mgb
|
fasm system\mgb\trunk\mgb.asm %BIN%\nightbuild\mgb
|
||||||
fasm system\rdsave\trunk\rdsave.asm %BIN%\nightbuild\rdsave
|
fasm system\rdsave\trunk\rdsave.asm %BIN%\nightbuild\rdsave
|
||||||
fasm other\kpack\trunk\kpack.asm %BIN%\nightbuild\kpack
|
fasm other\kpack\trunk\kpack.asm %BIN%\nightbuild\kpack
|
||||||
fasm other\rtfread\rtfread.asm %BIN%\nightbuild\rtfread
|
fasm other\rtfread\trunk\rtfread.asm %BIN%\nightbuild\rtfread
|
||||||
;restore
|
;restore
|
||||||
echo __CPU_type fix %res% > config.inc
|
echo __CPU_type fix %res% > config.inc
|
||||||
erase lang.inc
|
erase lang.inc
|
||||||
|
|
||||||
echo *
|
echo *
|
||||||
echo Finished building
|
echo Finished building
|
||||||
echo *
|
echo *
|
||||||
|
|
||||||
|
|
||||||
kpack /nologo 2> nul
|
kpack /nologo 2> nul
|
||||||
if "%errorlevel%"=="9009" (
|
if "%errorlevel%"=="9009" (
|
||||||
echo *** NOTICE ***
|
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 place "kpack" in accessible directory.
|
||||||
echo You can download that tool from http://diamondz.land.ru/
|
echo You can download that tool from http://diamondz.land.ru/
|
||||||
goto END
|
goto END
|
||||||
)
|
)
|
||||||
|
|
||||||
echo Kpack KolibriOS apps?
|
echo Kpack KolibriOS apps?
|
||||||
echo
|
echo
|
||||||
|
|
||||||
set /P res=[y/n]?
|
set /P res=[y/n]?
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ echo Compressing system
|
|||||||
echo *
|
echo *
|
||||||
kpack %BIN%\calendar
|
kpack %BIN%\calendar
|
||||||
kpack %BIN%\develop\board
|
kpack %BIN%\develop\board
|
||||||
kpack %BIN%\cpu
|
kpack %BIN%\cpu
|
||||||
kpack %BIN%\cpuid
|
kpack %BIN%\cpuid
|
||||||
kpack %BIN%\skincfg
|
kpack %BIN%\skincfg
|
||||||
kpack %BIN%\docpack
|
kpack %BIN%\docpack
|
||||||
|
@@ -85,7 +85,6 @@ struct TWebBrowser {
|
|||||||
void tag_table();
|
void tag_table();
|
||||||
void tag_td();
|
void tag_td();
|
||||||
void tag_tr();
|
void tag_tr();
|
||||||
void reset_font_style();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "TWB\render.h"
|
#include "TWB\render.h"
|
||||||
@@ -95,16 +94,16 @@ void TWebBrowser::SetPageDefaults()
|
|||||||
{
|
{
|
||||||
t_html = t_body = link = false;
|
t_html = t_body = link = false;
|
||||||
style.reset();
|
style.reset();
|
||||||
reset_font_style();
|
|
||||||
link_color_default = 0x0000FF;
|
link_color_default = 0x0000FF;
|
||||||
link_color_active = 0xFF0000;
|
link_color_active = 0xFF0000;
|
||||||
|
style.cur_line_h = list.item_h;
|
||||||
links.clear();
|
links.clear();
|
||||||
anchors.clear();
|
anchors.clear();
|
||||||
img_url.drop();
|
img_url.drop();
|
||||||
text_colors.drop();
|
text_colors.drop();
|
||||||
text_colors.add(0);
|
text_colors.add(0);
|
||||||
if (secondrun) {
|
if (secondrun) {
|
||||||
canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count)+200);
|
canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count));
|
||||||
canvas.Fill(0, bg_colors.get(0));
|
canvas.Fill(0, bg_colors.get(0));
|
||||||
}
|
}
|
||||||
bg_colors.drop();
|
bg_colors.drop();
|
||||||
@@ -115,6 +114,7 @@ void TWebBrowser::SetPageDefaults()
|
|||||||
draw_w = list.w - BODY_MARGIN - BODY_MARGIN;
|
draw_w = list.w - BODY_MARGIN - BODY_MARGIN;
|
||||||
linebuf = 0;
|
linebuf = 0;
|
||||||
redirect = '\0';
|
redirect = '\0';
|
||||||
|
list.SetFont(8, 14, 10011000b);
|
||||||
tag_table_reset();
|
tag_table_reset();
|
||||||
is_html = true;
|
is_html = true;
|
||||||
if (!strstri(bufpointer, "<body")) {
|
if (!strstri(bufpointer, "<body")) {
|
||||||
|
@@ -49,14 +49,14 @@ void TWebBrowser::RenderLine(dword _line)
|
|||||||
pc = text_colors.get_last();
|
pc = text_colors.get_last();
|
||||||
if (link) && (pc == text_colors.get(0)) pc = link_color_default;
|
if (link) && (pc == text_colors.get(0)) pc = link_color_default;
|
||||||
|
|
||||||
canvas.WriteText(draw_x, draw_y+1, list.font_type, pc, _line, NULL);
|
canvas.WriteText(draw_x, draw_y, list.font_type, pc, _line, NULL);
|
||||||
if (style.b) canvas.WriteText(draw_x+1, draw_y+1, list.font_type, pc, _line, NULL);
|
if (style.b) canvas.WriteText(draw_x+1, draw_y, list.font_type, pc, _line, NULL);
|
||||||
if (style.s) canvas.DrawBar(draw_x, list.item_h / 2 - zoom + draw_y, pw, zoom, pc);
|
if (style.s) canvas.DrawBar(draw_x, list.item_h / 2 - zoom + draw_y, pw, zoom, pc);
|
||||||
if (style.u) canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, pc);
|
if (style.u) canvas.DrawBar(draw_x, list.item_h - zoom - zoom + draw_y, pw, zoom, pc);
|
||||||
if (link) {
|
if (link) {
|
||||||
if (ESBYTE[_line]==' ') && (ESBYTE[_line+1]==NULL) {} else {
|
if (ESBYTE[_line]==' ') && (ESBYTE[_line+1]==NULL) {} else {
|
||||||
canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, link_color_default);
|
canvas.DrawBar(draw_x, draw_y + list.item_h - calc(zoom*2)-1, pw, zoom, link_color_default);
|
||||||
links.add_text(draw_x, draw_y + list.y, pw, list.font_h, zoom);
|
links.add_text(draw_x, draw_y + list.y, pw, list.item_h - calc(zoom*2)-1, zoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_SKIP_DRAW:
|
_SKIP_DRAW:
|
||||||
|
@@ -208,20 +208,9 @@ void TWebBrowser::tag_li()
|
|||||||
void TWebBrowser::tag_hr()
|
void TWebBrowser::tag_hr()
|
||||||
{
|
{
|
||||||
dword hrcol = 0x00777777;
|
dword hrcol = 0x00777777;
|
||||||
dword hr_width = draw_w-BODY_MARGIN-BODY_MARGIN;
|
if (tag.get_value_of("color")) hrcol = GetColor(tag.value);
|
||||||
dword hr_size = 1;
|
|
||||||
if (tag.get_value_of("color")) {
|
|
||||||
hrcol = GetColor(tag.value);
|
|
||||||
}
|
|
||||||
if (tag.get_value_of("width")) && (!strchr(tag.value, '%')) {
|
|
||||||
hr_width = math.min(hr_width, tag.get_number_of("width"));
|
|
||||||
}
|
|
||||||
if (tag.get_number_of("size")) {
|
|
||||||
hr_size = math.min(500, tag.number);
|
|
||||||
}
|
|
||||||
if (draw_x != left_gap) NewLine();
|
if (draw_x != left_gap) NewLine();
|
||||||
if (secondrun) canvas.DrawBar(left_gap, style.cur_line_h / 2 + draw_y - 1, hr_width, hr_size, hrcol);
|
if (secondrun) canvas.DrawBar(5+left_gap, style.cur_line_h / 2 + draw_y - 1, draw_w-10, 1, hrcol);
|
||||||
draw_y += hr_size - 3;
|
|
||||||
draw_x++;
|
draw_x++;
|
||||||
NewLine();
|
NewLine();
|
||||||
return;
|
return;
|
||||||
@@ -246,12 +235,6 @@ void TWebBrowser::tag_q()
|
|||||||
chrncat(#linebuf, '\"', sizeof(TWebBrowser.linebuf));
|
chrncat(#linebuf, '\"', sizeof(TWebBrowser.linebuf));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TWebBrowser::reset_font_style()
|
|
||||||
{
|
|
||||||
list.SetFont(BASIC_CHAR_W, 14, 10011000b);
|
|
||||||
style.cur_line_h = list.item_h = list.font_h + 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TWebBrowser::tag_h1234_caption()
|
void TWebBrowser::tag_h1234_caption()
|
||||||
{
|
{
|
||||||
if (ESBYTE[#tag.name+1]=='4') {
|
if (ESBYTE[#tag.name+1]=='4') {
|
||||||
@@ -267,18 +250,19 @@ void TWebBrowser::tag_h1234_caption()
|
|||||||
NewLine();
|
NewLine();
|
||||||
}
|
}
|
||||||
if (tag.is("h1")) {
|
if (tag.is("h1")) {
|
||||||
list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
|
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b);
|
||||||
style.b = true;
|
style.b = true;
|
||||||
} else if (tag.is("h2")) {
|
} else if (tag.is("h2")) {
|
||||||
list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
|
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b);
|
||||||
} else {
|
} else {
|
||||||
list.SetFont(6*2, 9+8, 10001001b);
|
list.SetFont(6*2, 9+7, 10001001b);
|
||||||
}
|
}
|
||||||
style.cur_line_h = list.item_h = list.font_h + 3;
|
style.cur_line_h = list.item_h = list.font_h + 2;
|
||||||
} else {
|
} else {
|
||||||
if (tag.is("h1")) style.b = false;
|
if (tag.is("h1")) style.b = false;
|
||||||
NewLine();
|
NewLine();
|
||||||
reset_font_style();
|
list.SetFont(BASIC_CHAR_W, 14, 10011000b);
|
||||||
|
style.cur_line_h = list.item_h = BASIC_LINE_H;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -286,15 +270,11 @@ void TWebBrowser::tag_h1234_caption()
|
|||||||
void TWebBrowser::tag_kosicon()
|
void TWebBrowser::tag_kosicon()
|
||||||
{
|
{
|
||||||
dword imgbuf[44];
|
dword imgbuf[44];
|
||||||
dword maxicon;
|
|
||||||
dword shared_i18 = memopen("ICONS18", NULL, SHM_READ);
|
dword shared_i18 = memopen("ICONS18", NULL, SHM_READ);
|
||||||
maxicon = EDX / 18 / 18 / 4;
|
|
||||||
if (shared_i18) && (tag.get_number_of("n")) {
|
if (shared_i18) && (tag.get_number_of("n")) {
|
||||||
if (tag.number < maxicon) {
|
if (draw_x + 18 > canvas.bufw) NewLine();
|
||||||
if (draw_x + 18 > canvas.bufw) NewLine();
|
canvas.DrawImage(draw_x, draw_y-2, 18, 18, 18*18*4*tag.number+shared_i18);
|
||||||
canvas.DrawImage(draw_x, draw_y-1, 18, 18, 18*18*4*tag.number+shared_i18);
|
draw_x += 22;
|
||||||
draw_x += 22;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -571,10 +571,10 @@ void OpenPage(dword _open_URL)
|
|||||||
//INTERNAL PAGE
|
//INTERNAL PAGE
|
||||||
history.add(#new_url);
|
history.add(#new_url);
|
||||||
WB1.custom_encoding = -1;
|
WB1.custom_encoding = -1;
|
||||||
if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home));
|
if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home)-1);
|
||||||
else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test));
|
else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test)-1);
|
||||||
else if (streq(#new_url, URL_SERVICE_HISTORY)) ShowHistory();
|
else if (streq(#new_url, URL_SERVICE_HISTORY)) ShowHistory();
|
||||||
else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
|
else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1);
|
||||||
|
|
||||||
} else if (!strncmp(#new_url,"http:",5)) || (!strncmp(#new_url,"https:",6)) {
|
} else if (!strncmp(#new_url,"http:",5)) || (!strncmp(#new_url,"https:",6)) {
|
||||||
//WEB PAGE
|
//WEB PAGE
|
||||||
@@ -589,7 +589,7 @@ void OpenPage(dword _open_URL)
|
|||||||
|
|
||||||
if (!http.transfer) {
|
if (!http.transfer) {
|
||||||
history.add(#new_url);
|
history.add(#new_url);
|
||||||
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
|
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//LOCAL PAGE
|
//LOCAL PAGE
|
||||||
@@ -712,7 +712,7 @@ void EventSubmitOmnibox()
|
|||||||
|
|
||||||
void LoadInternalPage(dword _bufdata, _in_bufsize){
|
void LoadInternalPage(dword _bufdata, _in_bufsize){
|
||||||
if (!_bufdata) || (!_in_bufsize) {
|
if (!_bufdata) || (!_in_bufsize) {
|
||||||
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
|
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1);
|
||||||
} else {
|
} else {
|
||||||
WB1.list.first = 0; //scroll page to the top
|
WB1.list.first = 0; //scroll page to the top
|
||||||
DrawOmnibox();
|
DrawOmnibox();
|
||||||
|
@@ -112,4 +112,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
|
|||||||
|
|
||||||
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
||||||
|
|
||||||
char version[]="WebView 3.91";
|
char version[]="WebView 3.85";
|
@@ -1,7 +1,7 @@
|
|||||||
#ifdef LANG_RUS
|
#ifdef LANG_RUS
|
||||||
#define HISTORY_HEADER "<html><title><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title><body bgcolor=#fff><h3><3E><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD></h3><br>"
|
#define HISTORY_HEADER "<html><title><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title><body><b><3E><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD></b><br>"
|
||||||
#else
|
#else
|
||||||
#define HISTORY_HEADER "<html><title>History</title><body bgcolor=#fff><h3>Visited pages</h3><br>"
|
#define HISTORY_HEADER "<html><title>History</title><body><b>Visited pages</b><br>"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ ShowHistory()
|
|||||||
|
|
||||||
for (i=0; i<history.items.count-1; i++) //if (cache.type.get(i) == PAGE)
|
for (i=0; i<history.items.count-1; i++) //if (cache.type.get(i) == PAGE)
|
||||||
{
|
{
|
||||||
strcat(history_pointer, "<kosicon n=3><a href='");
|
strcat(history_pointer, "<a href='");
|
||||||
strcat(history_pointer, history.items.get(i));
|
strcat(history_pointer, history.items.get(i));
|
||||||
strcat(history_pointer, "'>");
|
strcat(history_pointer, "'>");
|
||||||
strcat(history_pointer, history.items.get(i));
|
strcat(history_pointer, history.items.get(i));
|
||||||
|
@@ -1,49 +1,17 @@
|
|||||||
<html><head><title>New tab</title></head>
|
<html>
|
||||||
<body bgcolor=#fff>
|
<head>
|
||||||
|
<title>Homepage</title>
|
||||||
|
</head>
|
||||||
|
<body><pre>Welcome to WebView a Text-Based Browser.
|
||||||
|
|
||||||
<table><tr><td width=20><td width=220><pre>
|
KolibriOS Bookmarks:
|
||||||
_____________________
|
1. <a href=//kolibrios.org>Homepage</a>
|
||||||
|# : : #|
|
2. <a href="//builds.kolibrios.org">Night-builds</a>
|
||||||
| : WebView : |
|
3. <a href="//ftp.kolibrios.org">FTP Server</a>
|
||||||
| : for : |
|
|
||||||
| : KolibriOS : |
|
|
||||||
| : : |
|
|
||||||
| :_______________: |
|
|
||||||
| ____________ |
|
|
||||||
| | __ | |
|
|
||||||
| || | | |
|
|
||||||
\_____||__|________|__|<font color=#DDD>lc</font>
|
|
||||||
|
|
||||||
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
|
<font bg=#F8F15B>By the way,</font>
|
||||||
<font bg=#3CE7FF> </font></font></font></font>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
</pre>
|
|
||||||
<kosicon n=58><a href=//kolibrios.org>Homepage</a>
|
|
||||||
<kosicon n=50><a href="//builds.kolibrios.org">Night-builds</a>
|
|
||||||
<kosicon n=50><a href="//ftp.kolibrios.org">FTP Server</a>
|
|
||||||
<pre>
|
|
||||||
|
|
||||||
By the way,
|
|
||||||
<font color="#555555">• You can check for browser updates from the main menu.
|
<font color="#555555">• You can check for browser updates from the main menu.
|
||||||
• To run a web search, type a text in the adress box and press Ctrl+Enter.
|
• To run a web search, type a text in the adress box and press Ctrl+Enter.
|
||||||
• Pressing F6 moves a text cursor to the omnibox.
|
• Pressing F6 moves a text cursor to the omnibox.
|
||||||
• You can manually change the encoding of a page by clicking on a label in the bottom right corner.
|
• Click on a label in the bottom right corner to change the encoding of a page.
|
||||||
|
</font>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
~+
|
|
||||||
|
|
||||||
* +
|
|
||||||
' |
|
|
||||||
() .-.,="``"=. - o -
|
|
||||||
'=/_ \ |
|
|
||||||
* | '=._ |
|
|
||||||
\ `=./`, '
|
|
||||||
. '=.__.=' `=' *
|
|
||||||
+ +
|
|
||||||
O * ' .<font color=#DDD>jgs</font>
|
|
||||||
|
@@ -1,49 +1,15 @@
|
|||||||
<html><head><title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title></head>
|
<html><head><meta charset="cp-866">
|
||||||
<body bgcolor=#fff>
|
<title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD></title></head>
|
||||||
|
<body><pre><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><><EFBFBD>㧥<EFBFBD> WebView!
|
||||||
|
|
||||||
<table><tr><td width=20><td width=220><pre>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KolibriOS:<ol>
|
||||||
_____________________
|
<li><a href=//kolibrios.org><EFBFBD><EFBFBD><EFBFBD>樠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠩ<></a>
|
||||||
|# : : #|
|
<li><a href="//builds.kolibrios.org"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᡮન</a>
|
||||||
| : WebView : |
|
<li><a href="//ftp.kolibrios.org">FTP <20><>ࢥ<EFBFBD></a></ol>
|
||||||
| : for : |
|
|
||||||
| : KolibriOS : |
|
|
||||||
| : : |
|
|
||||||
| :_______________: |
|
|
||||||
| ____________ |
|
|
||||||
| | __ | |
|
|
||||||
| || | | |
|
|
||||||
\_____||__|________|__|<font color=#DDD>lc</font>
|
|
||||||
|
|
||||||
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
|
<font bg=#F8F15B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,</font>
|
||||||
<font bg=#3CE7FF> </font></font></font></font>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
</pre>
|
|
||||||
<kosicon n=58><a href=//kolibrios.org><EFBFBD><EFBFBD><EFBFBD>樠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠩ<></a>
|
|
||||||
<kosicon n=50><a href="//builds.kolibrios.org"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᡮન</a>
|
|
||||||
<kosicon n=50><a href="//ftp.kolibrios.org">FTP <20><>ࢥ<EFBFBD></a>
|
|
||||||
<pre>
|
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
||||||
<font color="#555555">• <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<font color="#555555">• <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
• <20><><EFBFBD> <20><><EFBFBD>᪠ <20> Google <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>᭮<EFBFBD> <20><>ப<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+Enter
|
• <20><><EFBFBD> <20><><EFBFBD>᪠ <20> Google <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>᭮<EFBFBD> <20><>ப<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+Enter
|
||||||
• <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F6 <20><>६<EFBFBD>頥<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
• <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F6 <20><>६<EFBFBD>頥<EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
• <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㣫<> <20><><EFBFBD><EFBFBD>.
|
• <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><>࠭<EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㣫<> <20><><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
~+
|
|
||||||
|
|
||||||
* +
|
|
||||||
' |
|
|
||||||
() .-.,="``"=. - o -
|
|
||||||
'=/_ \ |
|
|
||||||
* | '=._ |
|
|
||||||
\ `=./`, '
|
|
||||||
. '=.__.=' `=' *
|
|
||||||
+ +
|
|
||||||
O * ' .<font color=#DDD>jgs</font>
|
|
@@ -5,19 +5,12 @@
|
|||||||
<title>Тест Acid 0.1</title>
|
<title>Тест Acid 0.1</title>
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
|
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
|
||||||
<h1 align=center>Тест Acid 0.1</h1>
|
<h1 align=center>Это тестовая страница для проверки WebViewer</h1>
|
||||||
<br>
|
<br />
|
||||||
<b>Это тестовая страница для проверки текстового браузера <s>HTML Viewer</s> WebView</b>
|
<p>WebViewer является текстовым браузером и поддерживает все популярные кодировки (cp1251, koi-8, cp866, unicode)
|
||||||
|
и некоторые теги. Поддержка таблииц (<table>), CSS, Javascript'a и Контактика пока не реализована :)
|
||||||
<p>Из кодировок поддерживаются: CP866(DOS), CP1251(Windows), CP1252(Latin legacy), KOI8, и конечно UTF8. CSS и Javascript пока не реализованы (ахахаха). Поддержка тега <table> крайне базовая, поддержки вложенных таблиц нет.
|
|
||||||
</p>
|
</p>
|
||||||
|
<br />
|
||||||
<h3>История</h3>
|
|
||||||
|
|
||||||
Ранее программа называлась <b >HTMLv (HTML Viewer)</b> и изначально задумывалась как <q>Центр справки и поддержки</q>. Чтобы не изобретать велосипед и одновременно исполнить мечту многих, форматом просматриваемых страниц был выбран html.
|
|
||||||
Первоначальный автор Veliant, затем разработка была подхвачена дизайнером Leency. Это была моя вторая программа после файлового менеджера Eolite.<br>
|
|
||||||
|
|
||||||
<span> <br />
|
|
||||||
|
|
||||||
<b>
|
<b>
|
||||||
<font color="#FF0000">K</font>
|
<font color="#FF0000">K</font>
|
||||||
@@ -40,8 +33,7 @@
|
|||||||
</b>
|
</b>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<table>
|
<p>
|
||||||
<td>
|
|
||||||
<bg bgcolor=#333>
|
<bg bgcolor=#333>
|
||||||
Небольшой список:<ol>
|
Небольшой список:<ol>
|
||||||
<li><q>Этот текст в кавычках</q></li>
|
<li><q>Этот текст в кавычках</q></li>
|
||||||
@@ -54,14 +46,17 @@
|
|||||||
</p>
|
</p>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
"Осень уже пришла!"-
|
||||||
|
Шепнул мне на ухо ветер,
|
||||||
|
Подкравшись к подушке моей.
|
||||||
|
|
||||||
|
Басе
|
||||||
|
</pre>
|
||||||
<!-- комментарий: этого текста здесь <нет> -->
|
<!-- комментарий: этого текста здесь <нет> -->
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<img alt="нет картинки, просто alt">
|
|
||||||
|
|
||||||
<img src = http://wiby.org/about/wibyplex.gif>
|
|
||||||
|
|
||||||
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br>
|
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@@ -70,25 +65,10 @@
|
|||||||
<a href='/sys/index.htm'>Незакрытый тег а - index.htm<br>
|
<a href='/sys/index.htm'>Незакрытый тег а - index.htm<br>
|
||||||
<a href="/sys/calc">/sys/calc</a><br>
|
<a href="/sys/calc">/sys/calc</a><br>
|
||||||
<a href="#2.1.4">#2.1.4</a><br>
|
<a href="#2.1.4">#2.1.4</a><br>
|
||||||
<a href="http://kolibrios.org">http://kolibrios.org</a><br>
|
<a href="http://bash.im">http://bash.im</a><br>
|
||||||
<a href="mailto:leency@mail.ru">Mail to Leency</a><br>
|
<a href="mailto:leency@mail.ru">Mail to Leency</a><br>
|
||||||
<br>
|
<br>
|
||||||
|
<br>
|
||||||
<h1><a href=#>Link H1</a> <u>Underline H1</u></h1>
|
|
||||||
<h2><a href=#>Link H2</a> <u>Underline H2</u></h2>
|
|
||||||
<h3><a href=#>Link H3</a> <u>Underline H2</u></h3>
|
|
||||||
<a href=#>Link</a> <u>Underline</u>
|
|
||||||
|
|
||||||
<td>
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
"Осень уже пришла!"-
|
|
||||||
Шепнул мне на ухо ветер,
|
|
||||||
Подкравшись к подушке моей.
|
|
||||||
|
|
||||||
Басе
|
|
||||||
|
|
||||||
</pre><br>
|
|
||||||
|
|
||||||
В этом тексте есть переход на следующую строку, но браузер
|
В этом тексте есть переход на следующую строку, но браузер
|
||||||
его должен проигнорировать. Еще много пробелов. А тут есть
|
его должен проигнорировать. Еще много пробелов. А тут есть
|
||||||
@@ -100,19 +80,8 @@
|
|||||||
корпус на территории НТУ «ХПИ»
|
корпус на территории НТУ «ХПИ»
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre><font color="#000">
|
|
||||||
<font bg=#FFED00 style="background-color:#FFED00"> Заметки </font>
|
|
||||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> </font>
|
|
||||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> Речка на Жукова </font>
|
|
||||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> Heroes 3 </font>
|
|
||||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> Рисостерон, куринабол </font>
|
|
||||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> </font>
|
|
||||||
</font></pre>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<hr color="#758999">
|
<hr color="#758999">
|
||||||
<center>Zhytomyr 2008-2025</center>
|
<center>Zhitomyr 2008-2015</center>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
@@ -1,2 +0,0 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
|
||||||
tup.rule("flag.asm", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "flag")
|
|
@@ -1,306 +0,0 @@
|
|||||||
; SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
; Flag - demo program shows a flag with the inscription 'KolibriOS'
|
|
||||||
; Copyright (C) 2025 KolibriOS team
|
|
||||||
|
|
||||||
use32
|
|
||||||
org 0
|
|
||||||
db 'MENUET01'
|
|
||||||
dd 1,start,i_end,mem,stacktop,0,cur_dir_path
|
|
||||||
|
|
||||||
include '../../proc32.inc'
|
|
||||||
include '../../macros.inc'
|
|
||||||
include '../../KOSfuncs.inc'
|
|
||||||
include '../../load_lib.mac'
|
|
||||||
include '../../dll.inc'
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/kosgl.inc'
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/examples/fps.inc'
|
|
||||||
|
|
||||||
@use_library
|
|
||||||
|
|
||||||
align 4
|
|
||||||
start:
|
|
||||||
load_library name_tgl, library_path, system_path, import_tinygl
|
|
||||||
cmp eax,SF_TERMINATE_PROCESS
|
|
||||||
jz button.exit
|
|
||||||
|
|
||||||
mcall SF_SET_EVENTS_MASK, 0x27
|
|
||||||
|
|
||||||
; *** init ***
|
|
||||||
stdcall [kosglMakeCurrent], 0,15,600,380,ctx1
|
|
||||||
|
|
||||||
stdcall [glMatrixMode], GL_MODELVIEW
|
|
||||||
call [glLoadIdentity]
|
|
||||||
|
|
||||||
stdcall [glClearColor], 0.549, 0.549, 0.588, 1.0
|
|
||||||
|
|
||||||
stdcall [glEnable], GL_LIGHTING
|
|
||||||
stdcall [glLightf], GL_LIGHT0, GL_SPOT_EXPONENT, 0.0
|
|
||||||
stdcall [glLightf], GL_LIGHT0, GL_SPOT_CUTOFF, 180.0
|
|
||||||
stdcall [glEnable], GL_LIGHT0
|
|
||||||
|
|
||||||
stdcall [glLightfv], GL_LIGHT0, GL_POSITION, lightpos
|
|
||||||
stdcall [glLightfv], GL_LIGHT0, GL_SPOT_DIRECTION, lightdirect
|
|
||||||
|
|
||||||
stdcall [glEnable], GL_COLOR_MATERIAL
|
|
||||||
|
|
||||||
glpush p3
|
|
||||||
stdcall [glClearDepth]
|
|
||||||
stdcall [glEnable], GL_CULL_FACE
|
|
||||||
stdcall [glEnable], GL_DEPTH_TEST
|
|
||||||
|
|
||||||
fninit
|
|
||||||
|
|
||||||
stdcall reshape, 600,380
|
|
||||||
; *** end init ***
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
red_win:
|
|
||||||
call draw_window
|
|
||||||
mcall SF_THREAD_INFO, procinfo,-1
|
|
||||||
mov eax,dword[procinfo.box.height]
|
|
||||||
cmp eax,120
|
|
||||||
jge @f
|
|
||||||
mov eax,120 ;min size
|
|
||||||
@@:
|
|
||||||
sub eax,43
|
|
||||||
mov ebx,dword[procinfo.box.width]
|
|
||||||
cmp ebx,200
|
|
||||||
jge @f
|
|
||||||
mov ebx,200
|
|
||||||
@@:
|
|
||||||
sub ebx,10
|
|
||||||
stdcall reshape, ebx,eax
|
|
||||||
|
|
||||||
align 16
|
|
||||||
still:
|
|
||||||
call draw_3d
|
|
||||||
cmp dword[stop],1
|
|
||||||
je @f
|
|
||||||
stdcall Fps, 365,4
|
|
||||||
|
|
||||||
mov dword[esp-4],eax
|
|
||||||
fild dword[esp-4]
|
|
||||||
fmul dword[delt_3]
|
|
||||||
fchs
|
|
||||||
fadd dword[dangle]
|
|
||||||
fstp dword[dangle] ;dangle -= 0.01*Fps(x,y)
|
|
||||||
|
|
||||||
mcall SF_WAIT_EVENT_TIMEOUT, 1
|
|
||||||
jmp .end0
|
|
||||||
align 4
|
|
||||||
@@:
|
|
||||||
mcall SF_WAIT_EVENT
|
|
||||||
.end0:
|
|
||||||
cmp al, EV_REDRAW
|
|
||||||
jz red_win
|
|
||||||
cmp al, EV_KEY
|
|
||||||
jz key
|
|
||||||
cmp al, EV_BUTTON
|
|
||||||
jz button
|
|
||||||
|
|
||||||
jmp still
|
|
||||||
|
|
||||||
|
|
||||||
; new window size or exposure
|
|
||||||
align 4
|
|
||||||
proc reshape, width:dword, height:dword
|
|
||||||
locals
|
|
||||||
dxy dq ?
|
|
||||||
endl
|
|
||||||
stdcall [glViewport], 0, 0, [width], [height]
|
|
||||||
stdcall [glMatrixMode], GL_PROJECTION
|
|
||||||
call [glLoadIdentity]
|
|
||||||
fild dword[width]
|
|
||||||
fidiv dword[height]
|
|
||||||
fstp qword[dxy] ;dxy = width/height
|
|
||||||
glpush p4
|
|
||||||
glpush p3
|
|
||||||
glpush dxy
|
|
||||||
glpush p1
|
|
||||||
call [gluPerspective] ;28.0, width/height, 1.0, 40.0
|
|
||||||
|
|
||||||
stdcall [glMatrixMode], GL_MODELVIEW
|
|
||||||
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
draw_window:
|
|
||||||
pushad
|
|
||||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
|
||||||
|
|
||||||
mcall SF_CREATE_WINDOW, (50 shl 16)+609,(30 shl 16)+425,0x33404040,,title1
|
|
||||||
call [kosglSwapBuffers]
|
|
||||||
|
|
||||||
;Title
|
|
||||||
mcall SF_DRAW_TEXT, (338 shl 16)+4, 0xc0c0c0, fps, fps.end-fps
|
|
||||||
mcall SF_DRAW_TEXT, (8 shl 16)+4, 0xc0c0c0, title2, title2.end-title2
|
|
||||||
|
|
||||||
mcall SF_REDRAW,SSF_END_DRAW
|
|
||||||
popad
|
|
||||||
ret
|
|
||||||
|
|
||||||
align 4
|
|
||||||
key:
|
|
||||||
mcall SF_GET_KEY
|
|
||||||
|
|
||||||
cmp ah,27 ;Esc
|
|
||||||
je button.exit
|
|
||||||
|
|
||||||
cmp ah,112 ;P
|
|
||||||
jne @f
|
|
||||||
xor dword[stop],1
|
|
||||||
jmp still
|
|
||||||
@@:
|
|
||||||
|
|
||||||
jmp still
|
|
||||||
|
|
||||||
align 4
|
|
||||||
button:
|
|
||||||
mcall SF_GET_BUTTON
|
|
||||||
cmp ah,1
|
|
||||||
jne still
|
|
||||||
.exit:
|
|
||||||
mcall SF_TERMINATE_PROCESS
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
title1: db 'TinyGL in KolibriOS'
|
|
||||||
.end: db 0
|
|
||||||
title2: db 'ESC - exit, P - pause'
|
|
||||||
.end: db 0
|
|
||||||
fps: db 'FPS:'
|
|
||||||
.end: db 0
|
|
||||||
|
|
||||||
align 16
|
|
||||||
proc draw_3d uses ebx ecx edx esi edi
|
|
||||||
locals
|
|
||||||
z dd ?
|
|
||||||
endl
|
|
||||||
call [glLoadIdentity]
|
|
||||||
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT
|
|
||||||
stdcall [glTranslatef], 0.0, 0.0, -2.0
|
|
||||||
stdcall [glRotatef], 10.0, 0.0, 0.0, 1.0
|
|
||||||
stdcall [glRotatef], 43.0, 0.0, 1.0, 0.0
|
|
||||||
stdcall [glTranslatef], -0.6, -0.2, -0.1
|
|
||||||
|
|
||||||
mov edi, logo+9*41 ;edi = logo[9][0]
|
|
||||||
mov esi, 41 ;esi = i
|
|
||||||
align 4
|
|
||||||
.cycle0: ;for(int i=0;i<41;i++)
|
|
||||||
stdcall [glTranslatef], 0.045, 0.0, 0.0
|
|
||||||
call [glPushMatrix]
|
|
||||||
fld dword[angle]
|
|
||||||
fsin
|
|
||||||
fmul dword[delt_1]
|
|
||||||
fstp dword[z] ;= 0.08*sin(angle)
|
|
||||||
|
|
||||||
fld dword[angle]
|
|
||||||
fadd dword[delt_2]
|
|
||||||
fstp dword[angle] ;angle += 0.2
|
|
||||||
|
|
||||||
mov ecx, 9
|
|
||||||
mov ebx, edi
|
|
||||||
|
|
||||||
; ecx = j
|
|
||||||
.cycle1: ;for(int j=9;j>=0;j--)
|
|
||||||
cmp byte[ebx],0 ;if(logo[j][i])
|
|
||||||
je @f
|
|
||||||
push 0.0 ;b
|
|
||||||
push 0.0 ;g
|
|
||||||
push 1.0 ;r
|
|
||||||
jmp .end_c2
|
|
||||||
@@:
|
|
||||||
push 0.945 ;b
|
|
||||||
push 0.855 ;g
|
|
||||||
push 0.859 ;r
|
|
||||||
.end_c2:
|
|
||||||
call [glColor3f]
|
|
||||||
stdcall [glTranslatef], 0.0, 0.045, 0.0
|
|
||||||
stdcall [glBegin], GL_QUADS
|
|
||||||
stdcall [glVertex3f], 0.0, -0.04,[z]
|
|
||||||
stdcall [glVertex3f], 0.04,-0.04,[z]
|
|
||||||
stdcall [glVertex3f], 0.04, 0.0, [z]
|
|
||||||
stdcall [glVertex3f], 0.0, 0.0, [z]
|
|
||||||
call [glEnd]
|
|
||||||
add ebx, -41
|
|
||||||
dec ecx
|
|
||||||
jnz .cycle1
|
|
||||||
|
|
||||||
call [glPopMatrix]
|
|
||||||
inc edi ;edi = logo[9][i]
|
|
||||||
dec esi
|
|
||||||
jnz .cycle0
|
|
||||||
|
|
||||||
mov edx,dword[dangle]
|
|
||||||
mov dword[angle],edx
|
|
||||||
call [kosglSwapBuffers]
|
|
||||||
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
align 4
|
|
||||||
p1 dq 28.0
|
|
||||||
p3 dq 1.0
|
|
||||||
p4 dq 40.0
|
|
||||||
|
|
||||||
delt_1 dd 0.08
|
|
||||||
delt_2 dd 0.2
|
|
||||||
delt_3 dd 0.01
|
|
||||||
|
|
||||||
lightpos dd 2.0, 0.0, -2.5, 1.0
|
|
||||||
lightdirect dd 0.0, 0.0, -0.7
|
|
||||||
angle dd 0.0
|
|
||||||
dangle dd 0.0
|
|
||||||
|
|
||||||
stop dd 0
|
|
||||||
|
|
||||||
;[10][41]
|
|
||||||
logo db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
db 0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,\
|
|
||||||
0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,\
|
|
||||||
0,0,1,0,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,1,0,0,0,0,\
|
|
||||||
0,0,1,1,1,0,0,0,1,0,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,\
|
|
||||||
0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,\
|
|
||||||
0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0
|
|
||||||
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
||||||
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
|
||||||
align 4
|
|
||||||
import_tinygl:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if defined sz_#n
|
|
||||||
n dd sz_#n
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if used n
|
|
||||||
sz_#n db `n,0
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
|
||||||
system_path db '/sys/lib/'
|
|
||||||
name_tgl db 'tinygl.obj',0
|
|
||||||
;--------------------------------------------------
|
|
||||||
|
|
||||||
align 16
|
|
||||||
i_end:
|
|
||||||
ctx1 TinyGLContext
|
|
||||||
procinfo process_information
|
|
||||||
cur_dir_path rb 4096
|
|
||||||
library_path rb 4096
|
|
||||||
rb 4096
|
|
||||||
stacktop:
|
|
||||||
mem:
|
|
7
programs/demos/magnify/trunk/Tupfile.lua
Normal file
7
programs/demos/magnify/trunk/Tupfile.lua
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||||
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
|
tup.rule({"magnify.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "magnify")
|
6
programs/demos/magnify/trunk/build_en.bat
Normal file
6
programs/demos/magnify/trunk/build_en.bat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@erase lang.inc
|
||||||
|
@echo lang fix en_US >lang.inc
|
||||||
|
@fasm magnify.asm magnify
|
||||||
|
@kpack magnify
|
||||||
|
@erase lang.inc
|
||||||
|
@pause
|
6
programs/demos/magnify/trunk/build_ru.bat
Normal file
6
programs/demos/magnify/trunk/build_ru.bat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@erase lang.inc
|
||||||
|
@echo lang fix ru_RU >lang.inc
|
||||||
|
@fasm magnify.asm magnify
|
||||||
|
@kpack magnify
|
||||||
|
@erase lang.inc
|
||||||
|
@pause
|
156
programs/demos/magnify/trunk/magnify.asm
Normal file
156
programs/demos/magnify/trunk/magnify.asm
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
;---------------------------------------------------------------------
|
||||||
|
; MAGNIFY SCREEN v1.0
|
||||||
|
;
|
||||||
|
; Version for KolibriOS 2005-2011
|
||||||
|
;
|
||||||
|
; Version for Menuet to 2005
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; last update: 08/18/2011
|
||||||
|
; changed by: Marat Zakiyanov aka Mario79, aka Mario
|
||||||
|
; changes: Checking for "rolled up" window
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
use32
|
||||||
|
org 0x0
|
||||||
|
db 'MENUET01' ; 8 byte id
|
||||||
|
dd 1 ; header version
|
||||||
|
dd START ; program start
|
||||||
|
dd I_END ; program image size
|
||||||
|
dd 0x1000 ; required amount of memory
|
||||||
|
dd 0x1000 ; esp
|
||||||
|
dd 0, 0 ; no parameters, no path
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||||
|
include '..\..\..\macros.inc'
|
||||||
|
delay equ 20
|
||||||
|
|
||||||
|
magnify_width = 40
|
||||||
|
magnify_height = 30
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
START: ; start of execution
|
||||||
|
redraw:
|
||||||
|
call draw_window
|
||||||
|
still:
|
||||||
|
call draw_magnify
|
||||||
|
wtevent:
|
||||||
|
mcall 23,delay ; wait here for event with timeout
|
||||||
|
dec eax
|
||||||
|
js still
|
||||||
|
jz redraw
|
||||||
|
dec eax
|
||||||
|
jnz button
|
||||||
|
; key in buffer
|
||||||
|
mov al, 2
|
||||||
|
mcall
|
||||||
|
jmp wtevent
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
button:
|
||||||
|
; we have only one button, close
|
||||||
|
or eax, -1
|
||||||
|
mcall
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
draw_window:
|
||||||
|
mcall 12,1
|
||||||
|
|
||||||
|
mov al, 48 ; function 48 : graphics parameters
|
||||||
|
mov bl, 4 ; subfunction 4 : get skin height
|
||||||
|
mcall
|
||||||
|
; DRAW WINDOW
|
||||||
|
mov ebx, 100*65536 + 8*magnify_width + 8
|
||||||
|
lea ecx, [eax + 100*65536 + 8*magnify_height + 3]
|
||||||
|
mov edx, 0x34000000 ; color of work area RRGGBB
|
||||||
|
mov edi, labelt ; header
|
||||||
|
xor eax, eax ; function 0 : define and draw window
|
||||||
|
mcall
|
||||||
|
|
||||||
|
mcall 12,2
|
||||||
|
ret
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
draw_magnify:
|
||||||
|
mcall 9,procinfo,-1
|
||||||
|
mov eax,[procinfo+70] ;status of window
|
||||||
|
test eax,100b
|
||||||
|
jne .end
|
||||||
|
|
||||||
|
mcall 14 ; get screen size
|
||||||
|
movzx ecx, ax
|
||||||
|
inc ecx
|
||||||
|
mov [size_y], ecx
|
||||||
|
shr eax, 16
|
||||||
|
inc eax
|
||||||
|
mov [size_x], eax
|
||||||
|
|
||||||
|
xor ebx, ebx
|
||||||
|
mcall 37 ; get mouse coordinates
|
||||||
|
mov ecx, eax
|
||||||
|
shr ecx, 16 ; ecx = x
|
||||||
|
movzx edx, ax ; edx = y
|
||||||
|
inc ecx
|
||||||
|
mov [m_xe], ecx
|
||||||
|
inc edx
|
||||||
|
mov [m_ye], edx
|
||||||
|
sub ecx, magnify_width
|
||||||
|
sub edx, magnify_height
|
||||||
|
mov [m_x], ecx
|
||||||
|
mov [m_y], edx
|
||||||
|
.loop_y:
|
||||||
|
.loop_x:
|
||||||
|
xor eax, eax ; assume black color for invalid pixels
|
||||||
|
test ecx, ecx
|
||||||
|
js .nopix
|
||||||
|
cmp ecx, [size_x]
|
||||||
|
jge .nopix
|
||||||
|
test edx, edx
|
||||||
|
js .nopix
|
||||||
|
cmp edx, [size_y]
|
||||||
|
jge .nopix
|
||||||
|
mov ebx, edx
|
||||||
|
imul ebx, [size_x]
|
||||||
|
add ebx, ecx
|
||||||
|
mcall 35 ; read pixel
|
||||||
|
.nopix:
|
||||||
|
push ecx edx
|
||||||
|
sub ecx, [m_x]
|
||||||
|
sub edx, [m_y]
|
||||||
|
mov ebx, ecx
|
||||||
|
shl ebx, 3+16
|
||||||
|
mov bl, 8
|
||||||
|
mov ecx, edx
|
||||||
|
shl ecx, 3+16
|
||||||
|
mov cl, 8
|
||||||
|
mov edx, eax
|
||||||
|
mcall 13
|
||||||
|
pop edx ecx
|
||||||
|
inc ecx
|
||||||
|
cmp ecx, [m_xe]
|
||||||
|
jnz .loop_x
|
||||||
|
mov ecx, [m_x]
|
||||||
|
inc edx
|
||||||
|
cmp edx, [m_ye]
|
||||||
|
jnz .loop_y
|
||||||
|
.end:
|
||||||
|
ret
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; DATA AREA
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
if lang eq ru_RU
|
||||||
|
labelt:
|
||||||
|
db 'Magnifier - <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20>㯠', 0
|
||||||
|
else ; Default to en_US
|
||||||
|
labelt:
|
||||||
|
db 'Magnifier', 0
|
||||||
|
end if
|
||||||
|
|
||||||
|
I_END:
|
||||||
|
align 4
|
||||||
|
m_x dd ?
|
||||||
|
m_y dd ?
|
||||||
|
m_xe dd ?
|
||||||
|
m_ye dd ?
|
||||||
|
size_x dd ?
|
||||||
|
size_y dd ?
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
procinfo:
|
||||||
|
rb 1024
|
||||||
|
;---------------------------------------------------------------------
|
@@ -1,329 +1,325 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
use32
|
||||||
;
|
org 0x0
|
||||||
|
db 'MENUET01'
|
||||||
|
dd 0x01,start,i_end,e_end,e_end,0,0
|
||||||
use32
|
|
||||||
org 0x0
|
include '../../../proc32.inc'
|
||||||
db 'MENUET01'
|
include '../../../macros.inc'
|
||||||
dd 0x01,start,i_end,e_end,e_end,0,0
|
|
||||||
|
BUTTON_SIDE = 28 ; button are squares
|
||||||
include '../../proc32.inc'
|
BUTTON_SPACE = 34 ; space between cols and rows
|
||||||
include '../../macros.inc'
|
BUTTON_ID_SHIFT = 2 ; button_id = character + BUTTON_ID_SHIFT
|
||||||
|
TABLE_BEGIN_X = 2
|
||||||
BUTTON_SIDE = 28 ; button are squares
|
TABLE_BEGIN_Y = 2
|
||||||
BUTTON_SPACE = 34 ; space between cols and rows
|
PANEL_Y = BUTTON_SPACE*8+TABLE_BEGIN_Y+TABLE_BEGIN_Y
|
||||||
BUTTON_ID_SHIFT = 2 ; button_id = character + BUTTON_ID_SHIFT
|
|
||||||
TABLE_BEGIN_X = 2
|
FOCUS_SQUARE_COLOR = 0x000080FF
|
||||||
TABLE_BEGIN_Y = 2
|
SWITCHER_BLINK_COLOR = 0x00808080
|
||||||
PANEL_Y = BUTTON_SPACE*8+TABLE_BEGIN_Y+TABLE_BEGIN_Y
|
|
||||||
|
FONT_SMALL = 0x01000000
|
||||||
FOCUS_SQUARE_COLOR = 0x000080FF
|
FONT_BIG = 0x10000000
|
||||||
SWITCHER_BLINK_COLOR = 0x00808080
|
|
||||||
|
|
||||||
FONT_SMALL = 0x01000000
|
start:
|
||||||
FONT_BIG = 0x10000000
|
still:
|
||||||
|
mcall 10
|
||||||
|
dec eax
|
||||||
start:
|
jz redraw
|
||||||
still:
|
dec eax
|
||||||
mcall 10
|
jz key
|
||||||
dec eax
|
|
||||||
jz redraw
|
button:
|
||||||
dec eax
|
mcall 17
|
||||||
jz key
|
shr eax, 8
|
||||||
|
|
||||||
button:
|
cmp eax, 1
|
||||||
mcall 17
|
je quit
|
||||||
shr eax, 8
|
cmp ax, 0xFFAA ; page switcher
|
||||||
|
je .switch_page ; any button with a character
|
||||||
cmp eax, 1
|
cmp ax, 0xEEBB ; page switcher
|
||||||
je quit
|
je .switch_font
|
||||||
cmp ax, 0xFFAA ; page switcher
|
.change_focus:
|
||||||
je .switch_page ; any button with a character
|
mov bl, [symbol_focused]
|
||||||
cmp ax, 0xEEBB ; page switcher
|
mov [symbol_unfocused], bl
|
||||||
je .switch_font
|
sub ax, BUTTON_ID_SHIFT ; get the corresponding character
|
||||||
.change_focus:
|
mov [symbol_focused], al
|
||||||
mov bl, [symbol_focused]
|
stdcall draw_table, 0
|
||||||
mov [symbol_unfocused], bl
|
call draw_codes
|
||||||
sub ax, BUTTON_ID_SHIFT ; get the corresponding character
|
jmp still
|
||||||
mov [symbol_focused], al
|
.switch_font:
|
||||||
stdcall draw_table, 0
|
cmp [font_type], FONT_SMALL
|
||||||
call draw_codes
|
jne @f
|
||||||
jmp still
|
mov [font_type], FONT_BIG
|
||||||
.switch_font:
|
jmp redraw
|
||||||
cmp [font_type], FONT_SMALL
|
@@: mov [font_type], FONT_SMALL
|
||||||
jne @f
|
jmp redraw
|
||||||
mov [font_type], FONT_BIG
|
.switch_page:
|
||||||
jmp redraw
|
movzx bx, [symbol_start]
|
||||||
@@: mov [font_type], FONT_SMALL
|
add bx, BUTTON_ID_SHIFT
|
||||||
jmp redraw
|
mov cx, 128 ; half of page
|
||||||
.switch_page:
|
mov edx, 0x80000000
|
||||||
movzx bx, [symbol_start]
|
mov dx, bx
|
||||||
add bx, BUTTON_ID_SHIFT
|
@@: mcall 8
|
||||||
mov cx, 128 ; half of page
|
inc edx
|
||||||
mov edx, 0x80000000
|
dec cx
|
||||||
mov dx, bx
|
jnz @b
|
||||||
@@: mcall 8
|
|
||||||
inc edx
|
@@: add [symbol_start], 128 ; change page
|
||||||
dec cx
|
add [symbol_focused], 128
|
||||||
jnz @b
|
stdcall draw_table, 1 ; 1 means redraw the whole table
|
||||||
|
call draw_codes
|
||||||
@@: add [symbol_start], 128 ; change page
|
stdcall draw_page_switcher, 1 ; 1 means dark color, for blinking
|
||||||
add [symbol_focused], 128
|
mcall 5, 10
|
||||||
stdcall draw_table, 1 ; 1 means redraw the whole table
|
stdcall draw_page_switcher, 0 ; 0 means usual light color
|
||||||
call draw_codes
|
jmp still
|
||||||
stdcall draw_page_switcher, 1 ; 1 means dark color, for blinking
|
|
||||||
mcall 5, 10
|
redraw:
|
||||||
stdcall draw_page_switcher, 0 ; 0 means usual light color
|
mcall 9, proc_info, -1
|
||||||
jmp still
|
|
||||||
|
mcall 12, 1
|
||||||
redraw:
|
|
||||||
mcall 9, proc_info, -1
|
mcall 48, 4 ; get skin height
|
||||||
|
mov ecx, 200*0x10000+PANEL_Y+33
|
||||||
mcall 12, 1
|
add ecx, eax
|
||||||
|
mov ebx, 200*0x10000+BUTTON_SPACE*16+TABLE_BEGIN_X+TABLE_BEGIN_X+9
|
||||||
mcall 48, 4 ; get skin height
|
mcall 0, , , 0x34AAAaaa, 0x80000000, window_title
|
||||||
mov ecx, 200*0x10000+PANEL_Y+33
|
test [proc_info.wnd_state], 0x04
|
||||||
add ecx, eax
|
jnz @f
|
||||||
mov ebx, 200*0x10000+BUTTON_SPACE*16+TABLE_BEGIN_X+TABLE_BEGIN_X+9
|
|
||||||
mcall 0, , , 0x34AAAaaa, 0x80000000, window_title
|
stdcall draw_table, 1
|
||||||
test [proc_info.wnd_state], 0x04
|
call draw_codes
|
||||||
jnz @f
|
stdcall draw_page_switcher, 0
|
||||||
|
stdcall draw_font_switcher
|
||||||
stdcall draw_table, 1
|
|
||||||
call draw_codes
|
@@:
|
||||||
stdcall draw_page_switcher, 0
|
mcall 12, 2
|
||||||
stdcall draw_font_switcher
|
jmp still
|
||||||
|
|
||||||
@@:
|
key:
|
||||||
mcall 12, 2
|
mcall 2
|
||||||
jmp still
|
cmp ah, 0x09 ; TAB key
|
||||||
|
je button.switch_page
|
||||||
key:
|
|
||||||
mcall 2
|
cmp ah, 0xB0 ; left
|
||||||
cmp ah, 0x09 ; TAB key
|
jne @f
|
||||||
je button.switch_page
|
mov bl, [symbol_focused]
|
||||||
|
mov [symbol_unfocused], bl
|
||||||
cmp ah, 0xB0 ; left
|
dec bl
|
||||||
jne @f
|
and bl, 0x0f
|
||||||
mov bl, [symbol_focused]
|
and [symbol_focused], 0xf0
|
||||||
mov [symbol_unfocused], bl
|
or [symbol_focused], bl
|
||||||
dec bl
|
stdcall draw_table, 0
|
||||||
and bl, 0x0f
|
call draw_codes
|
||||||
and [symbol_focused], 0xf0
|
jmp still
|
||||||
or [symbol_focused], bl
|
|
||||||
stdcall draw_table, 0
|
@@: cmp ah, 0xB1 ; down
|
||||||
call draw_codes
|
jne @f
|
||||||
jmp still
|
mov bl, [symbol_focused]
|
||||||
|
mov [symbol_unfocused], bl
|
||||||
@@: cmp ah, 0xB1 ; down
|
add bl, 16
|
||||||
jne @f
|
and bl, 0x70
|
||||||
mov bl, [symbol_focused]
|
and [symbol_focused], 0x8f
|
||||||
mov [symbol_unfocused], bl
|
or [symbol_focused], bl
|
||||||
add bl, 16
|
stdcall draw_table, 0
|
||||||
and bl, 0x70
|
call draw_codes
|
||||||
and [symbol_focused], 0x8f
|
jmp still
|
||||||
or [symbol_focused], bl
|
|
||||||
stdcall draw_table, 0
|
@@: cmp ah, 0xB2 ; up
|
||||||
call draw_codes
|
jne @f
|
||||||
jmp still
|
mov bl, [symbol_focused]
|
||||||
|
mov [symbol_unfocused], bl
|
||||||
@@: cmp ah, 0xB2 ; up
|
sub bl, 16
|
||||||
jne @f
|
and bl, 0x70
|
||||||
mov bl, [symbol_focused]
|
and [symbol_focused], 0x8f
|
||||||
mov [symbol_unfocused], bl
|
or [symbol_focused], bl
|
||||||
sub bl, 16
|
stdcall draw_table, 0
|
||||||
and bl, 0x70
|
call draw_codes
|
||||||
and [symbol_focused], 0x8f
|
jmp still
|
||||||
or [symbol_focused], bl
|
|
||||||
stdcall draw_table, 0
|
@@: cmp ah, 0xB3 ; righ
|
||||||
call draw_codes
|
jne @f
|
||||||
jmp still
|
mov bl, [symbol_focused]
|
||||||
|
mov [symbol_unfocused], bl
|
||||||
@@: cmp ah, 0xB3 ; righ
|
inc bl
|
||||||
jne @f
|
and bl, 0x0f
|
||||||
mov bl, [symbol_focused]
|
and [symbol_focused], 0xf0
|
||||||
mov [symbol_unfocused], bl
|
or [symbol_focused], bl
|
||||||
inc bl
|
stdcall draw_table, 0
|
||||||
and bl, 0x0f
|
call draw_codes
|
||||||
and [symbol_focused], 0xf0
|
jmp still
|
||||||
or [symbol_focused], bl
|
jne @f
|
||||||
stdcall draw_table, 0
|
|
||||||
call draw_codes
|
@@:
|
||||||
jmp still
|
jmp still
|
||||||
jne @f
|
|
||||||
|
|
||||||
@@:
|
|
||||||
jmp still
|
proc draw_table _full_redraw
|
||||||
|
|
||||||
|
mov al, [symbol_start]
|
||||||
|
mov [symbol_current], al
|
||||||
proc draw_table _full_redraw
|
|
||||||
|
.next_button:
|
||||||
mov al, [symbol_start]
|
|
||||||
mov [symbol_current], al
|
xor edi, edi ; character focus flag
|
||||||
|
mov al, [symbol_current]
|
||||||
.next_button:
|
cmp al, [symbol_focused]
|
||||||
|
jne @f
|
||||||
xor edi, edi ; character focus flag
|
inc edi
|
||||||
mov al, [symbol_current]
|
@@: cmp [_full_redraw], 1
|
||||||
cmp al, [symbol_focused]
|
je .draw
|
||||||
jne @f
|
cmp al, [symbol_focused]
|
||||||
inc edi
|
je .draw
|
||||||
@@: cmp [_full_redraw], 1
|
cmp al, [symbol_unfocused] ; previously focused, should redraw to clear focus
|
||||||
je .draw
|
je .draw
|
||||||
cmp al, [symbol_focused]
|
jmp .skip ; skip button if it isn't (un)focused
|
||||||
je .draw
|
|
||||||
cmp al, [symbol_unfocused] ; previously focused, should redraw to clear focus
|
.draw:
|
||||||
je .draw
|
call draw_button
|
||||||
jmp .skip ; skip button if it isn't (un)focused
|
.skip:
|
||||||
|
mov bl, [symbol_start]
|
||||||
.draw:
|
add bl, 127 ; end of current page
|
||||||
call draw_button
|
cmp [symbol_current], bl ; the last on page?
|
||||||
.skip:
|
jne @f
|
||||||
mov bl, [symbol_start]
|
mov [button_x], TABLE_BEGIN_X
|
||||||
add bl, 127 ; end of current page
|
mov [button_y], TABLE_BEGIN_Y
|
||||||
cmp [symbol_current], bl ; the last on page?
|
ret
|
||||||
jne @f
|
@@: inc [symbol_current]
|
||||||
mov [button_x], TABLE_BEGIN_X
|
add [button_x], BUTTON_SPACE
|
||||||
mov [button_y], TABLE_BEGIN_Y
|
cmp [button_x], BUTTON_SPACE*16+TABLE_BEGIN_X ; the last in row?
|
||||||
ret
|
jne .next_button
|
||||||
@@: inc [symbol_current]
|
add [button_y], BUTTON_SPACE ; next row
|
||||||
add [button_x], BUTTON_SPACE
|
mov [button_x], TABLE_BEGIN_X
|
||||||
cmp [button_x], BUTTON_SPACE*16+TABLE_BEGIN_X ; the last in row?
|
jmp .next_button
|
||||||
jne .next_button
|
ret
|
||||||
add [button_y], BUTTON_SPACE ; next row
|
endp
|
||||||
mov [button_x], TABLE_BEGIN_X
|
|
||||||
jmp .next_button
|
|
||||||
ret
|
proc draw_button
|
||||||
endp
|
mov edx, 0x80000000
|
||||||
|
mov dl, [symbol_current]
|
||||||
|
add edx, BUTTON_ID_SHIFT
|
||||||
proc draw_button
|
mov esi, 0xFFFfff
|
||||||
mov edx, 0x80000000
|
mcall 8, <[button_x],BUTTON_SIDE>, <[button_y],BUTTON_SIDE>
|
||||||
mov dl, [symbol_current]
|
and edx, 0x7FFFFFFF
|
||||||
add edx, BUTTON_ID_SHIFT
|
or edx, 0x20000000
|
||||||
mov esi, 0xFFFfff
|
mcall
|
||||||
mcall 8, <[button_x],BUTTON_SIDE>, <[button_y],BUTTON_SIDE>
|
|
||||||
and edx, 0x7FFFFFFF
|
test edi, edi ; is focused?
|
||||||
or edx, 0x20000000
|
jz .symbol ; draw only character, not selection square
|
||||||
mcall
|
.focus_frame: ; draw a blue square (selection), 8 segments
|
||||||
|
mov esi, [button_x]
|
||||||
test edi, edi ; is focused?
|
mov edi, [button_y]
|
||||||
jz .symbol ; draw only character, not selection square
|
|
||||||
.focus_frame: ; draw a blue square (selection), 8 segments
|
mov bx, si
|
||||||
mov esi, [button_x]
|
shl ebx, 16
|
||||||
mov edi, [button_y]
|
mov bx, si
|
||||||
|
add bx, BUTTON_SIDE
|
||||||
mov bx, si
|
mov cx, di
|
||||||
shl ebx, 16
|
shl ecx, 16
|
||||||
mov bx, si
|
mov cx, di
|
||||||
add bx, BUTTON_SIDE
|
mcall 38, , , FOCUS_SQUARE_COLOR
|
||||||
mov cx, di
|
add ecx, 0x00010001
|
||||||
shl ecx, 16
|
mcall
|
||||||
mov cx, di
|
add ecx, (BUTTON_SIDE-2)*0x10000+(BUTTON_SIDE-2)
|
||||||
mcall 38, , , FOCUS_SQUARE_COLOR
|
mcall
|
||||||
add ecx, 0x00010001
|
add ecx, 0x00010001
|
||||||
mcall
|
mcall
|
||||||
add ecx, (BUTTON_SIDE-2)*0x10000+(BUTTON_SIDE-2)
|
|
||||||
mcall
|
mov bx, si
|
||||||
add ecx, 0x00010001
|
shl ebx, 16
|
||||||
mcall
|
mov bx, si
|
||||||
|
mov cx, di
|
||||||
mov bx, si
|
shl ecx, 16
|
||||||
shl ebx, 16
|
mov cx, di
|
||||||
mov bx, si
|
add ecx, 2*0x10000+(BUTTON_SIDE-2)
|
||||||
mov cx, di
|
mcall 38, , ,
|
||||||
shl ecx, 16
|
add ebx, 0x00010001
|
||||||
mov cx, di
|
mcall
|
||||||
add ecx, 2*0x10000+(BUTTON_SIDE-2)
|
add ebx, (BUTTON_SIDE-2)*0x10000+(BUTTON_SIDE-2)
|
||||||
mcall 38, , ,
|
mcall
|
||||||
add ebx, 0x00010001
|
add ebx, 0x00010001
|
||||||
mcall
|
mcall
|
||||||
add ebx, (BUTTON_SIDE-2)*0x10000+(BUTTON_SIDE-2)
|
|
||||||
mcall
|
.symbol:
|
||||||
add ebx, 0x00010001
|
mov ebx, [button_x]
|
||||||
mcall
|
add ebx, 9
|
||||||
|
shl ebx, 16
|
||||||
.symbol:
|
add ebx, [button_y]
|
||||||
mov ebx, [button_x]
|
add ebx, 7
|
||||||
add ebx, 9
|
mov ecx, [font_type]
|
||||||
shl ebx, 16
|
mcall 4, , , symbol_current, 1
|
||||||
add ebx, [button_y]
|
|
||||||
add ebx, 7
|
ret
|
||||||
mov ecx, [font_type]
|
endp
|
||||||
mcall 4, , , symbol_current, 1
|
|
||||||
|
|
||||||
ret
|
proc draw_page_switcher _blinking
|
||||||
endp
|
|
||||||
|
mcall 8, , , 0x8000FFAA
|
||||||
|
mov esi, 0xCCCccc
|
||||||
proc draw_page_switcher _blinking
|
cmp [_blinking], 1 ; blinking?
|
||||||
|
jne @f
|
||||||
mcall 8, , , 0x8000FFAA
|
mov esi, SWITCHER_BLINK_COLOR
|
||||||
mov esi, 0xCCCccc
|
@@: mcall , <2,98>, <PANEL_Y+1,23>, 0x0000FFAA
|
||||||
cmp [_blinking], 1 ; blinking?
|
|
||||||
jne @f
|
mov ecx, 0x81000000
|
||||||
mov esi, SWITCHER_BLINK_COLOR
|
mov edx, string_000_127
|
||||||
@@: mcall , <2,98>, <PANEL_Y+1,23>, 0x0000FFAA
|
cmp [symbol_start], 0 ; first page?
|
||||||
|
je @f
|
||||||
mov ecx, 0x81000000
|
mov edx, string_128_255 ; ok, the second one
|
||||||
mov edx, string_000_127
|
@@: mcall 4, <10,PANEL_Y+6>,
|
||||||
cmp [symbol_start], 0 ; first page?
|
mcall , <278,PANEL_Y+6>, 0x81000000, string_ASCII_CODE
|
||||||
je @f
|
|
||||||
mov edx, string_128_255 ; ok, the second one
|
ret
|
||||||
@@: mcall 4, <10,PANEL_Y+6>,
|
endp
|
||||||
mcall , <278,PANEL_Y+6>, 0x81000000, string_ASCII_CODE
|
|
||||||
|
proc draw_font_switcher
|
||||||
ret
|
|
||||||
endp
|
mcall 8, <120,136>, <PANEL_Y+1,23>, 0x0000EEBB
|
||||||
|
|
||||||
proc draw_font_switcher
|
mov edx, string_font_small
|
||||||
|
cmp [font_type], FONT_SMALL
|
||||||
mcall 8, <120,136>, <PANEL_Y+1,23>, 0x0000EEBB
|
je @f
|
||||||
|
mov edx, string_font_big
|
||||||
mov edx, string_font_small
|
@@: mcall 4, <130,PANEL_Y+6>,,,10
|
||||||
cmp [font_type], FONT_SMALL
|
|
||||||
je @f
|
ret
|
||||||
mov edx, string_font_big
|
endp
|
||||||
@@: mcall 4, <130,PANEL_Y+6>,,,10
|
|
||||||
|
|
||||||
ret
|
proc draw_codes
|
||||||
endp
|
|
||||||
|
movzx ecx, [symbol_focused]
|
||||||
|
mcall 47, 0x00030000, , <339,PANEL_Y+6>, 0x41000000, 0xAAAaaa
|
||||||
proc draw_codes
|
mcall , 0x00020100, , <508,PANEL_Y+6>,
|
||||||
|
|
||||||
movzx ecx, [symbol_focused]
|
ret
|
||||||
mcall 47, 0x00030000, , <339,PANEL_Y+6>, 0x41000000, 0xAAAaaa
|
endp
|
||||||
mcall , 0x00020100, , <508,PANEL_Y+6>,
|
|
||||||
|
|
||||||
ret
|
quit:
|
||||||
endp
|
mcall -1
|
||||||
|
|
||||||
|
|
||||||
quit:
|
szZ window_title ,'ASCIIVju'
|
||||||
mcall -1
|
szZ string_000_127 ,'000-127'
|
||||||
|
szZ string_128_255 ,'128-255'
|
||||||
|
szZ string_font_small ,'Font1 6x9 '
|
||||||
szZ window_title ,'ASCIIVju'
|
szZ string_font_big ,'Font2 8x14'
|
||||||
szZ string_000_127 ,'000-127'
|
szZ string_ASCII_CODE ,'Code: Hex-Code:'
|
||||||
szZ string_128_255 ,'128-255'
|
|
||||||
szZ string_font_small ,'Font1 6x9 '
|
button_x dd 2
|
||||||
szZ string_font_big ,'Font2 8x14'
|
button_y dd 2
|
||||||
szZ string_ASCII_CODE ,'Code: Hex-Code:'
|
|
||||||
|
font_type dd FONT_SMALL
|
||||||
button_x dd 2
|
|
||||||
button_y dd 2
|
symbol_current db 0
|
||||||
|
symbol_start db 0
|
||||||
font_type dd FONT_SMALL
|
|
||||||
|
symbol_unfocused db 0
|
||||||
symbol_current db 0
|
symbol_focused db 0
|
||||||
symbol_start db 0
|
i_end:
|
||||||
|
proc_info process_information
|
||||||
symbol_unfocused db 0
|
rb 0x400 ;stack
|
||||||
symbol_focused db 0
|
e_end:
|
||||||
i_end:
|
|
||||||
proc_info process_information
|
|
||||||
rb 0x400 ;stack
|
|
||||||
e_end:
|
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
Binary file not shown.
@@ -28,7 +28,7 @@ IMPORT
|
|||||||
RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar;
|
RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar;
|
||||||
|
|
||||||
CONST
|
CONST
|
||||||
HEADER = "CEdit (30-apr-2025)";
|
HEADER = "CEdit (27-feb-2025)";
|
||||||
|
|
||||||
ShellFilter = "";
|
ShellFilter = "";
|
||||||
EditFilter = "sh|inc|txt|asm|ob07|c|cpp|h|pas|pp|lua|ini|json";
|
EditFilter = "sh|inc|txt|asm|ob07|c|cpp|h|pas|pp|lua|ini|json";
|
||||||
@@ -1320,7 +1320,7 @@ BEGIN
|
|||||||
|menuBoard:
|
|menuBoard:
|
||||||
K.Run("/sys/develop/board", "")
|
K.Run("/sys/develop/board", "")
|
||||||
|menuSysFunc:
|
|menuSysFunc:
|
||||||
K.Run("/sys/docpack", "e")
|
K.Run("/sys/docpack", "f")
|
||||||
|menuLineNumbers:
|
|menuLineNumbers:
|
||||||
T.toggleNumbers;
|
T.toggleNumbers;
|
||||||
Ini.setInt("settings", "line_numbers", ORD(T.lineNumbers))
|
Ini.setInt("settings", "line_numbers", ORD(T.lineNumbers))
|
||||||
|
@@ -1,4 +1,2 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
tup.rule("charsets.asm", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "charsets")
|
||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
|
||||||
tup.rule("charsets.asm", FASM .. " -dlang=" .. tup.getconfig("LANG") .. " %f %o" .. tup.getconfig("KPACK_CMD"), "%B")
|
|
||||||
|
@@ -31,19 +31,3 @@ Development history
|
|||||||
- Renamed to Charsets Viewer/Charsets
|
- Renamed to Charsets Viewer/Charsets
|
||||||
- Symbol highlight UI tweaks
|
- Symbol highlight UI tweaks
|
||||||
- Fixed rolled up bug
|
- Fixed rolled up bug
|
||||||
|
|
||||||
30.03.2025 - 0.4.0
|
|
||||||
- Localization for all system languages
|
|
||||||
- Display all character scales
|
|
||||||
- Abolity to copy character codes
|
|
||||||
- Block on charpage 00 for CP866
|
|
||||||
- New character code half markers
|
|
||||||
- Navigation using keys (see hotkeys.txt)
|
|
||||||
|
|
||||||
03.04.2025 - 0.4.1
|
|
||||||
- Fixed bug with codes color subscription
|
|
||||||
|
|
||||||
04.04.2025 - 0.4.2
|
|
||||||
- Fixed bug with resetting UTF charpage to zero on double charset swap to CP866
|
|
||||||
- Improved charpage blocking for CP866 UX
|
|
||||||
- Improved char codes copying UI
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,12 +0,0 @@
|
|||||||
Control hotkeys
|
|
||||||
|
|
||||||
- Navigate inside charpage:
|
|
||||||
- Arrows
|
|
||||||
- Num2/4/6/8
|
|
||||||
|
|
||||||
- Navigation between charpages:
|
|
||||||
- PgDN, PgUP - previous/next page
|
|
||||||
- Num0, Home - reset page to zero
|
|
||||||
|
|
||||||
- Change symbol scale:
|
|
||||||
- Num- and Num+
|
|
@@ -1,131 +1,125 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
;Ž¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â CheckBox (ˆáå®¤ë© ¢ ਠ⠮â Maxxxx32)
|
||||||
;
|
;Ž¯â¨¬¨§¨à®¢ ¢ë¢®¤ áâப¨, ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì ¯à¨ ¯à®¢¥àª¥ ¥ ;¯à®¨á室¨â ¯®¤áç¥â ª®«-¢ ᨬ¢®«®¢ ¢ áâப¥
|
||||||
|
;Ž¯â¨¬¨§ æ¨ï ª®¬ ¤.
|
||||||
; Text encoded with Code Page 866 - Cyrillic
|
;21.02.2007 ¬®¤¥à¨§ æ¨ï ¨ ¯®¤¤¥à¦ª ¤¢ãå à §ëå ¢ ਠ⮢ á ¨á¯®«ì§®¢ ¨¥¬ á¨á 梥⮢ ¨ áâ ன á奬®©
|
||||||
|
;19.02.2007 ®¡é¥¥ ã«ãç襨¥ ª®¤ , 㬥ì襨¥ à §¬¥à ¨ ¨á¯®«ì§®¢ ¨¥ á¨á⥬ëå æ¢¥â®¢ ¤«ï ®â®¡à ¦¥¨ï checkbox
|
||||||
|
;22.08.2006 ¯à®¨§¢¥¤¥ ®¯â¨¬¨§ æ¨ï ª®¬ ¤, ¯à¨ïâë ¢® ¢¨¬ ¨¥ § ¬¥ç ¨ï DIAMOND' .
|
||||||
;Ž¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â CheckBox (ˆáå®¤ë© ¢ ਠ⠮â Maxxxx32)
|
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
||||||
;Ž¯â¨¬¨§¨à®¢ ¢ë¢®¤ áâப¨, ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì ¯à¨ ¯à®¢¥àª¥ ¥ ;¯à®¨á室¨â ¯®¤áç¥â ª®«-¢ ᨬ¢®«®¢ ¢ áâப¥
|
|
||||||
;Ž¯â¨¬¨§ æ¨ï ª®¬ ¤.
|
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||||
;21.02.2007 ¬®¤¥à¨§ æ¨ï ¨ ¯®¤¤¥à¦ª ¤¢ãå à §ëå ¢ ਠ⮢ á ¨á¯®«ì§®¢ ¨¥¬ á¨á 梥⮢ ¨ áâ ன á奬®©
|
use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë
|
||||||
;19.02.2007 ®¡é¥¥ ã«ãç襨¥ ª®¤ , 㬥ì襨¥ à §¬¥à ¨ ¨á¯®«ì§®¢ ¨¥ á¨á⥬ëå æ¢¥â®¢ ¤«ï ®â®¡à ¦¥¨ï checkbox
|
org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0
|
||||||
;22.08.2006 ¯à®¨§¢¥¤¥ ®¯â¨¬¨§ æ¨ï ª®¬ ¤, ¯à¨ïâë ¢® ¢¨¬ ¨¥ § ¬¥ç ¨ï DIAMOND' .
|
db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â)
|
||||||
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©«
|
||||||
|
dd start ; ¤à¥á, ª®â®àë© á¨á⥬ ¯¥à¥¤ ñâ ã¯à ¢«¥¨¥
|
||||||
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì
|
||||||
use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë
|
dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï
|
||||||
org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0
|
dd i_end ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â
|
||||||
db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â)
|
dd i_end ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ‚¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥
|
||||||
dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©«
|
dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨.
|
||||||
dd start ; ¤à¥á, ª®â®àë© á¨á⥬ ¯¥à¥¤ ñâ ã¯à ¢«¥¨¥
|
; ¥á«¨ ¯®á«¥ § ¯ã᪠¥à ¢® ã«î, ¯à¨«®¦¥¨¥ ¡ë«®
|
||||||
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì
|
; § ¯ã饮 á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ¤®© áâப¨
|
||||||
dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï
|
|
||||||
dd i_end ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â
|
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì,
|
||||||
dd i_end ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ‚¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥
|
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥
|
||||||
dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨.
|
;------------------
|
||||||
; ¥á«¨ ¯®á«¥ § ¯ã᪠¥à ¢® ã«î, ¯à¨«®¦¥¨¥ ¡ë«®
|
include '..\..\..\..\macros.inc'
|
||||||
; § ¯ã饮 á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ¤®© áâப¨
|
include 'check.inc' ;¢ª«îç¨âì ä ©« check.inc
|
||||||
|
; version_ch ;¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î票ï "áâ ன" ¢¥àᨨ check_box
|
||||||
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì,
|
version_ch1 ;¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î票ï new ¢¥àᨨ check_box1
|
||||||
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥
|
;<3B>¥¤®¯ãá⨬® ¢ª«î票¥ ¤¢ãå ¬ ªà®á¢® version_ch1 ¨ version_ch - ®¨ ¢§ ¬®¨áª«îç îâ ¤àã£- ¤à£ã£ .
|
||||||
;------------------
|
use_check_box ;¨á¯®«ì§ãï ¬ ªà®áë ¢¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ¨ï 祪 ¡®ªá
|
||||||
include '..\..\..\macros.inc'
|
;Ž¡« áâì ª®¤
|
||||||
include 'check.inc' ;¢ª«îç¨âì ä ©« check.inc
|
align 4
|
||||||
; version_ch ;¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î票ï "áâ ன" ¢¥àᨨ check_box
|
start: ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||||
version_ch1 ;¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î票ï new ¢¥àᨨ check_box1
|
mov eax,48 ;¯®«ãç¨âì á¨áâ¥¬ë¥ æ¢¥â
|
||||||
;<3B>¥¤®¯ãá⨬® ¢ª«î票¥ ¤¢ãå ¬ ªà®á¢® version_ch1 ¨ version_ch - ®¨ ¢§ ¬®¨áª«îç îâ ¤àã£- ¤à£ã£ .
|
mov ebx,3
|
||||||
use_check_box ;¨á¯®«ì§ãï ¬ ªà®áë ¢¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ¨ï 祪 ¡®ªá
|
mov ecx,sc
|
||||||
;Ž¡« áâì ª®¤
|
mov edx,sizeof.system_colors
|
||||||
align 4
|
mcall
|
||||||
start: ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
|
||||||
mov eax,48 ;¯®«ãç¨âì á¨áâ¥¬ë¥ æ¢¥â
|
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
||||||
mov ebx,3
|
mov ebx,0x25 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨)
|
||||||
mov ecx,sc
|
mcall
|
||||||
mov edx,sizeof.system_colors
|
red_win:
|
||||||
mcall
|
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
||||||
|
still: ;®á®¢®© ®¡à ¡®â稪
|
||||||
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
mov eax,10 ;ަ¨¤ âì ᮡëâ¨ï
|
||||||
mov ebx,0x25 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨)
|
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤
|
||||||
mcall
|
|
||||||
red_win:
|
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª
|
||||||
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
jz red_win
|
||||||
still: ;®á®¢®© ®¡à ¡®â稪
|
cmp al,0x3 ;¥á«¨ ¦ â ª®¯ª â® ¯¥à¥©â¨
|
||||||
mov eax,10 ;ަ¨¤ âì ᮡëâ¨ï
|
jz button
|
||||||
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤
|
mouse_check_boxes check_boxes,check_boxes_end ;¯à®¢¥àª 祪 ¡®ªá
|
||||||
|
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
||||||
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª
|
button:
|
||||||
jz red_win
|
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨
|
||||||
cmp al,0x3 ;¥á«¨ ¦ â ª®¯ª â® ¯¥à¥©â¨
|
mcall ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë
|
||||||
jz button
|
|
||||||
mouse_check_boxes check_boxes,check_boxes_end ;¯à®¢¥àª 祪 ¡®ªá
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
button:
|
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
||||||
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨
|
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12
|
||||||
mcall ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë
|
mov ebx,1 ;¯à¨á¢®¨âì 1
|
||||||
|
mcall
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
xor eax,eax ;®¡ã«¨âì eax
|
||||||
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
mov ebx,50*65536+180 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
||||||
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12
|
mov ecx,30*65536+100 ;[ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||||||
mov ebx,1 ;¯à¨á¢®¨âì 1
|
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
|
||||||
mcall
|
or edx,0xb3000000
|
||||||
|
mov edi,hed
|
||||||
xor eax,eax ;®¡ã«¨âì eax
|
mcall ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï
|
||||||
mov ebx,50*65536+180 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
|
||||||
mov ecx,30*65536+100 ;[ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
draw_check_boxes check_boxes,check_boxes_end ;à¨á®¢ ¨¥ 祪¡®ªá®¢
|
||||||
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
|
|
||||||
or edx,0xb3000000
|
mov eax,12 ;”ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
||||||
mov edi,hed
|
mov ebx,2 ;<3B>®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
||||||
mcall ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï
|
mcall
|
||||||
|
ret
|
||||||
draw_check_boxes check_boxes,check_boxes_end ;à¨á®¢ ¨¥ 祪¡®ªá®¢
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
mov eax,12 ;”ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
;DATA ¤ ë¥
|
||||||
mov ebx,2 ;<3B>®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
;”®à¬ â ¤ ëå 祪 ¡®ªá :
|
||||||
mcall
|
;10 - ª®®à¤¨ â 祪 ¡®ªá ¯® å
|
||||||
ret
|
;30 - ª®®à¤¨ â 祪 ¡®ªá ¯® ã
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;0 - 梥⠧ «¨¢ª¨ ¢ãâਠ祪 ¡®ªá
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;0xfffffff - 梥â à ¬ª¨ 祪 ¡®ªá ¥á«¨ 㦮 â ª ¨á¯®«ì§ãîâáï á¨â¥¬ë¥ 梥â
|
||||||
;DATA ¤ ë¥
|
;0 - 梥â ⥪áâ ¤¯¨á¨ ¥á«¨ 㦮 â ª ¨á¯®«ì§ãîâáï á¨â¥¬ë¥ 梥â
|
||||||
;”®à¬ â ¤ ëå 祪 ¡®ªá :
|
;ch_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
||||||
;10 - ª®®à¤¨ â 祪 ¡®ªá ¯® å
|
;ch_text.e1-ch_text.1 - ¤«¨ áâப¨
|
||||||
;30 - ª®®à¤¨ â 祪 ¡®ªá ¯® ã
|
;
|
||||||
;0 - 梥⠧ «¨¢ª¨ ¢ãâਠ祪 ¡®ªá
|
align 4
|
||||||
;0xfffffff - 梥â à ¬ª¨ 祪 ¡®ªá ¥á«¨ 㦮 â ª ¨á¯®«ì§ãîâáï á¨â¥¬ë¥ 梥â
|
check_boxes:
|
||||||
;0 - 梥â ⥪áâ ¤¯¨á¨ ¥á«¨ 㦮 â ª ¨á¯®«ì§ãîâáï á¨â¥¬ë¥ 梥â
|
;ch1 check_box 10,15,0xffffff,0,0,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
|
||||||
;ch_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
;ch2 check_box 10,30,0xffffff,0,0,ch_text.2,ch_text.e2-ch_text.2
|
||||||
;ch_text.e1-ch_text.1 - ¤«¨ áâப¨
|
;ch3 check_box 10,45,0xffffff,0,0,ch_text.3,ch_text.e3-ch_text.3
|
||||||
;
|
|
||||||
align 4
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
check_boxes:
|
;DATA ¤ ë¥ ¤«ï check_box1 - ¨á¯®«ì§ã¥â á¨áâ¥¬ë¥ æ¢¥â
|
||||||
;ch1 check_box 10,15,0xffffff,0,0,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
|
;”®à¬ â ¤ ëå 祪 ¡®ªá :
|
||||||
;ch2 check_box 10,30,0xffffff,0,0,ch_text.2,ch_text.e2-ch_text.2
|
;10 - ª®®à¤¨ â 祪 ¡®ªá ¯® å
|
||||||
;ch3 check_box 10,45,0xffffff,0,0,ch_text.3,ch_text.e3-ch_text.3
|
;30 - ª®®à¤¨ â 祪 ¡®ªá ¯® ã
|
||||||
|
;ch_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;ch_text.e1-ch_text.1 - ¤«¨ áâப¨
|
||||||
;DATA ¤ ë¥ ¤«ï check_box1 - ¨á¯®«ì§ã¥â á¨áâ¥¬ë¥ æ¢¥â
|
|
||||||
;”®à¬ â ¤ ëå 祪 ¡®ªá :
|
;
|
||||||
;10 - ª®®à¤¨ â 祪 ¡®ªá ¯® å
|
ch1 check_box1 10,15,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
|
||||||
;30 - ª®®à¤¨ â 祪 ¡®ªá ¯® ã
|
ch2 check_box1 10,30,ch_text.2,ch_text.e2-ch_text.2
|
||||||
;ch_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
ch3 check_box1 10,45,ch_text.3,ch_text.e3-ch_text.3
|
||||||
;ch_text.e1-ch_text.1 - ¤«¨ áâப¨
|
check_boxes_end:
|
||||||
|
|
||||||
;
|
ch_text: ;ᮯ஢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
|
||||||
ch1 check_box1 10,15,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
|
.1 db 'Check_Box #1'
|
||||||
ch2 check_box1 10,30,ch_text.2,ch_text.e2-ch_text.2
|
.e1:
|
||||||
ch3 check_box1 10,45,ch_text.3,ch_text.e3-ch_text.3
|
.2 db 'Check_Box #2'
|
||||||
check_boxes_end:
|
.e2:
|
||||||
|
.3 db 'Check_Box #3'
|
||||||
ch_text: ;ᮯ஢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
|
.e3:
|
||||||
.1 db 'Check_Box #1'
|
|
||||||
.e1:
|
hed db 'Checkbox [21.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||||
.2 db 'Check_Box #2'
|
align 16
|
||||||
.e2:
|
sc system_colors
|
||||||
.3 db 'Check_Box #3'
|
rb 0x100
|
||||||
.e3:
|
i_end: ;ª®¥æ ª®¤
|
||||||
|
|
||||||
hed db 'Checkbox [21.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
|
||||||
align 16
|
|
||||||
sc system_colors
|
|
||||||
rb 0x100
|
|
||||||
i_end: ;ª®¥æ ª®¤
|
|
@@ -1,7 +1,3 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; SHAPED WINDOW - BASIC EXAMPLE
|
; SHAPED WINDOW - BASIC EXAMPLE
|
||||||
;
|
;
|
||||||
@@ -20,7 +16,7 @@ use32
|
|||||||
dd E_END ; esp
|
dd E_END ; esp
|
||||||
dd 0, 0 ; no params, no path
|
dd 0, 0 ; no params, no path
|
||||||
|
|
||||||
include '..\..\..\macros.inc'
|
include '..\..\..\..\macros.inc'
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,128 +1,126 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
;
|
||||||
;
|
; CPU SPEED INDICATIOR
|
||||||
|
;
|
||||||
;
|
; Compile with FASM
|
||||||
; CPU SPEED INDICATIOR
|
;
|
||||||
;
|
|
||||||
; Compile with FASM
|
use32
|
||||||
;
|
org 0x0
|
||||||
|
|
||||||
use32
|
db 'MENUET01' ; 8 byte id
|
||||||
org 0x0
|
dd 0x01 ; header version
|
||||||
|
dd START ; start of code
|
||||||
db 'MENUET01' ; 8 byte id
|
dd I_END ; size of image
|
||||||
dd 0x01 ; header version
|
dd 0x1000 ; memory for app
|
||||||
dd START ; start of code
|
dd 0x1000 ; esp
|
||||||
dd I_END ; size of image
|
dd 0x0,0x0 ; I_Param , I_Icon
|
||||||
dd 0x1000 ; memory for app
|
|
||||||
dd 0x1000 ; esp
|
include 'lang.inc'
|
||||||
dd 0x0,0x0 ; I_Param , I_Icon
|
include '..\..\..\..\macros.inc'
|
||||||
|
|
||||||
include 'lang.inc'
|
START: ; start of execution
|
||||||
include '..\..\..\macros.inc'
|
|
||||||
|
mov eax,18
|
||||||
START: ; start of execution
|
mov ebx,5
|
||||||
|
mcall
|
||||||
mov eax,18
|
|
||||||
mov ebx,5
|
xor edx,edx
|
||||||
mcall
|
mov ebx,1000000
|
||||||
|
div ebx
|
||||||
xor edx,edx
|
mov ebx,10
|
||||||
mov ebx,1000000
|
mov edi,text+19
|
||||||
div ebx
|
mov ecx,5
|
||||||
mov ebx,10
|
newnum:
|
||||||
mov edi,text+19
|
xor edx,edx
|
||||||
mov ecx,5
|
mov ebx,10
|
||||||
newnum:
|
div ebx
|
||||||
xor edx,edx
|
add dl,48
|
||||||
mov ebx,10
|
mov [edi],dl
|
||||||
div ebx
|
sub edi,1
|
||||||
add dl,48
|
loop newnum
|
||||||
mov [edi],dl
|
|
||||||
sub edi,1
|
mov eax,48
|
||||||
loop newnum
|
mov ebx,3
|
||||||
|
mov ecx,sc
|
||||||
mov eax,48
|
mov edx,sizeof.system_colors
|
||||||
mov ebx,3
|
mcall
|
||||||
mov ecx,sc
|
|
||||||
mov edx,sizeof.system_colors
|
red:
|
||||||
mcall
|
call draw_window ; at first, draw the window
|
||||||
|
|
||||||
red:
|
still:
|
||||||
call draw_window ; at first, draw the window
|
|
||||||
|
mov eax,10 ; wait here for event
|
||||||
still:
|
mcall
|
||||||
|
|
||||||
mov eax,10 ; wait here for event
|
cmp eax,1 ; redraw request ?
|
||||||
mcall
|
jz red
|
||||||
|
cmp eax,2 ; key in buffer ?
|
||||||
cmp eax,1 ; redraw request ?
|
jz key
|
||||||
jz red
|
cmp eax,3 ; button in buffer ?
|
||||||
cmp eax,2 ; key in buffer ?
|
jz button
|
||||||
jz key
|
|
||||||
cmp eax,3 ; button in buffer ?
|
jmp still
|
||||||
jz button
|
|
||||||
|
key: ; key
|
||||||
jmp still
|
mov eax,2 ; just read it and ignore
|
||||||
|
mcall
|
||||||
key: ; key
|
jmp still
|
||||||
mov eax,2 ; just read it and ignore
|
|
||||||
mcall
|
button: ; button
|
||||||
jmp still
|
mov eax,17 ; get id
|
||||||
|
mcall
|
||||||
button: ; button
|
|
||||||
mov eax,17 ; get id
|
cmp ah,1 ; button id=1 ?
|
||||||
mcall
|
jnz still
|
||||||
|
or eax,-1 ; close this program
|
||||||
cmp ah,1 ; button id=1 ?
|
mcall
|
||||||
jnz still
|
|
||||||
or eax,-1 ; close this program
|
|
||||||
mcall
|
; *********************************************
|
||||||
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
|
; *********************************************
|
||||||
; *********************************************
|
|
||||||
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
||||||
; *********************************************
|
draw_window:
|
||||||
|
|
||||||
|
mov eax,12 ; function 12:tell os about windowdraw
|
||||||
draw_window:
|
mov ebx,1 ; 1, start of draw
|
||||||
|
mcall
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
|
||||||
mov ebx,1 ; 1, start of draw
|
; DRAW WINDOW
|
||||||
mcall
|
mov eax,0 ; function 0 : define and draw window
|
||||||
|
mov ebx,100*65536+200 ; [x start] *65536 + [x size]
|
||||||
; DRAW WINDOW
|
mov ecx,100*65536+65 ; [y start] *65536 + [y size]
|
||||||
mov eax,0 ; function 0 : define and draw window
|
mov edx,[sc.work] ; color of work area RRGGBB,8->color glide
|
||||||
mov ebx,100*65536+200 ; [x start] *65536 + [x size]
|
or edx,0x33000000 ; color of grab bar RRGGBB,8->color
|
||||||
mov ecx,100*65536+65 ; [y start] *65536 + [y size]
|
mov edi,title ; WINDOW LABEL
|
||||||
mov edx,[sc.work] ; color of work area RRGGBB,8->color glide
|
mcall
|
||||||
or edx,0x33000000 ; color of grab bar RRGGBB,8->color
|
|
||||||
mov edi,title ; WINDOW LABEL
|
|
||||||
mcall
|
mov ebx,20*65536+14 ; draw info text with function 4
|
||||||
|
mov ecx,[sc.work_text]
|
||||||
|
mov edx,text
|
||||||
mov ebx,20*65536+14 ; draw info text with function 4
|
mov esi,24
|
||||||
mov ecx,[sc.work_text]
|
mov eax,4
|
||||||
mov edx,text
|
mcall
|
||||||
mov esi,24
|
|
||||||
mov eax,4
|
mov eax,12 ; function 12:tell os about windowdraw
|
||||||
mcall
|
mov ebx,2 ; 2, end of draw
|
||||||
|
mcall
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
|
||||||
mov ebx,2 ; 2, end of draw
|
ret
|
||||||
mcall
|
|
||||||
|
|
||||||
ret
|
; DATA AREA
|
||||||
|
|
||||||
|
|
||||||
; DATA AREA
|
text:
|
||||||
|
db 'CPU RUNNING AT MHZ'
|
||||||
|
|
||||||
text:
|
title db 'CPU SPEED',0
|
||||||
db 'CPU RUNNING AT MHZ'
|
|
||||||
|
I_END:
|
||||||
title db 'CPU SPEED',0
|
|
||||||
|
sc system_colors
|
||||||
I_END:
|
|
||||||
|
|
||||||
sc system_colors
|
|
@@ -1,74 +1,68 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
;<EFBFBD> á¯à®áâà ï¥âáï ¯® «¨æ¥§¨¨ GPL SEE YOU File FAQ.txt and HISTORY. Good Like!
|
||||||
;
|
;Ž¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â EditBox (ˆáå®¤ë© ¢ ਠ⠮â Maxxxx32)
|
||||||
|
;Ž¯â¨¬¨§ æ¨ï ª®¬ ¤.
|
||||||
; Text encoded with Code Page 866 - Cyrillic
|
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
||||||
|
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||||
|
include '..\..\..\..\macros.inc'
|
||||||
;<3B> á¯à®áâà ï¥âáï ¯® «¨æ¥§¨¨ GPL SEE YOU File FAQ.txt and HISTORY. Good Like!
|
include 'editbox.inc'
|
||||||
;Ž¯â¨¬¨§¨à®¢ ë© ª®¬¯®¥â EditBox (ˆáå®¤ë© ¢ ਠ⠮â Maxxxx32)
|
KOS_APP_START
|
||||||
;Ž¯â¨¬¨§ æ¨ï ª®¬ ¤.
|
align 4
|
||||||
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
use_edit_box
|
||||||
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
;Ž¡« áâì ª®¤
|
||||||
include '..\..\..\macros.inc'
|
code ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||||
include 'editbox.inc'
|
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
||||||
KOS_APP_START
|
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨
|
||||||
align 4
|
red_win:
|
||||||
use_edit_box
|
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
||||||
;Ž¡« áâì ª®¤
|
align 4
|
||||||
code ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
still: ;®á®¢®© ®¡à ¡®â稪
|
||||||
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
mcall 10 ;ަ¨¤ âì ᮡëâ¨ï
|
||||||
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨
|
dec eax
|
||||||
red_win:
|
jz red_win
|
||||||
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
dec eax
|
||||||
align 4
|
jz key
|
||||||
still: ;®á®¢®© ®¡à ¡®â稪
|
dec eax
|
||||||
mcall 10 ;ަ¨¤ âì ᮡëâ¨ï
|
jz button
|
||||||
dec eax
|
mouse_edit_boxes editboxes,editboxes_end
|
||||||
jz red_win
|
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
||||||
dec eax
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
jz key
|
button:
|
||||||
dec eax
|
mcall 17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨
|
||||||
jz button
|
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still
|
||||||
mouse_edit_boxes editboxes,editboxes_end
|
jz still
|
||||||
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
mcall -1
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
key:
|
||||||
button:
|
mcall 2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||||||
mcall 17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨
|
key_edit_boxes editboxes,editboxes_end
|
||||||
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still
|
jmp still
|
||||||
jz still
|
|
||||||
mcall -1
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
key:
|
align 4
|
||||||
mcall 2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨
|
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
||||||
key_edit_boxes editboxes,editboxes_end
|
mcall 12,1
|
||||||
jmp still
|
mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed
|
||||||
|
draw_edit_boxes editboxes,editboxes_end ;à¨á®¢ ¨¥ edit box'®¢
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
mcall 12,2
|
||||||
align 4
|
ret
|
||||||
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
mcall 12,1
|
;DATA ¤ ë¥
|
||||||
mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed
|
editboxes:
|
||||||
draw_edit_boxes editboxes,editboxes_end ;à¨á®¢ ¨¥ edit box'®¢
|
edit1 edit_box 168,5,10,0xffffff,0x6a9480,0,0,0,99,ed_buffer.2,ed_figure_only
|
||||||
mcall 12,2
|
edit2 edit_box 250,5,30,0xffffff,0x6a9480,0,0xAABBCC,0,308,hed,ed_focus,53,53
|
||||||
ret
|
edit3 edit_box 35,5,50,0xffffff,0x6a9480,0,0,0,9,ed_buffer.3,ed_figure_only
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only
|
||||||
;DATA ¤ ë¥
|
editboxes_end:
|
||||||
editboxes:
|
data_of_code dd 0
|
||||||
edit1 edit_box 168,5,10,0xffffff,0x6a9480,0,0,0,99,ed_buffer.2,ed_figure_only
|
mouse_flag dd 0x0
|
||||||
edit2 edit_box 250,5,30,0xffffff,0x6a9480,0,0xAABBCC,0,308,hed,ed_focus,53,53
|
hed db 'EDITBOX optimization and retype <Lrz> date 23.07.2008',0
|
||||||
edit3 edit_box 35,5,50,0xffffff,0x6a9480,0,0,0,9,ed_buffer.3,ed_figure_only
|
rb 256
|
||||||
edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only
|
ed_buffer:
|
||||||
editboxes_end:
|
;.1: rb 514;256
|
||||||
data_of_code dd 0
|
.2: rb 101
|
||||||
mouse_flag dd 0x0
|
.3: rb 11
|
||||||
hed db 'EDITBOX optimization and retype <Lrz> date 23.07.2008',0
|
.4: rb 3
|
||||||
rb 256
|
;¤¢ § ¯ áëå ¡ ©â ¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®æ¥ ¡ãä¥à 0
|
||||||
ed_buffer:
|
buffer_end:
|
||||||
;.1: rb 514;256
|
align 16
|
||||||
.2: rb 101
|
KOS_APP_END
|
||||||
.3: rb 11
|
udata
|
||||||
.4: rb 3
|
|
||||||
;¤¢ § ¯ áëå ¡ ©â ¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®æ¥ ¡ãä¥à 0
|
|
||||||
buffer_end:
|
|
||||||
align 16
|
|
||||||
KOS_APP_END
|
|
||||||
udata
|
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,7 +1,3 @@
|
|||||||
|
|
||||||
; SPDX-License-Identifier: NOASSERTION
|
|
||||||
;
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;
|
;
|
||||||
; MENU / DIALOG EXAMPLE
|
; MENU / DIALOG EXAMPLE
|
||||||
@@ -22,7 +18,7 @@ use32
|
|||||||
dd 0x0 , 0x0 ; I_Param , I_Icon
|
dd 0x0 , 0x0 ; I_Param , I_Icon
|
||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include '..\..\..\macros.inc'
|
include '..\..\..\..\macros.inc'
|
||||||
include 'dialogs1.inc'
|
include 'dialogs1.inc'
|
||||||
|
|
||||||
menu_history dd 0x0
|
menu_history dd 0x0
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,8 +1,3 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
|
||||||
;
|
|
||||||
|
|
||||||
; Text encoded with Code Page 866 - Cyrillic
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; MENU EXAMPLE
|
; MENU EXAMPLE
|
||||||
;
|
;
|
||||||
@@ -18,11 +13,11 @@
|
|||||||
dd mem, stacktop, file_name, sys_path
|
dd mem, stacktop, file_name, sys_path
|
||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include '../../../macros.inc'
|
include '../../../../macros.inc'
|
||||||
include '../../../proc32.inc'
|
include '../../../../proc32.inc'
|
||||||
include '../../../KOSfuncs.inc'
|
include '../../../../KOSfuncs.inc'
|
||||||
include '../../../load_lib.mac'
|
include '../../../../load_lib.mac'
|
||||||
include '../../../dll.inc'
|
include '../../../../dll.inc'
|
||||||
|
|
||||||
KMENUITEM_NORMAL equ 0
|
KMENUITEM_NORMAL equ 0
|
||||||
KMENUITEM_SUBMENU equ 1
|
KMENUITEM_SUBMENU equ 1
|
||||||
@@ -99,7 +94,7 @@ start: ; start of execution
|
|||||||
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_Help, [main_menu_Help]
|
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_Help, [main_menu_Help]
|
||||||
stdcall [ksubmenu_add], [main_menu], eax
|
stdcall [ksubmenu_add], [main_menu], eax
|
||||||
|
|
||||||
red:
|
red:
|
||||||
call draw_window ; draw window
|
call draw_window ; draw window
|
||||||
stdcall [kmainmenu_draw], [main_menu]
|
stdcall [kmainmenu_draw], [main_menu]
|
||||||
|
|
||||||
@@ -113,7 +108,7 @@ still:
|
|||||||
cmp eax,3
|
cmp eax,3
|
||||||
jz button
|
jz button
|
||||||
cmp eax,6
|
cmp eax,6
|
||||||
jne @f
|
jne @f
|
||||||
call mouse
|
call mouse
|
||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,7 +1,4 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
include "..\..\..\..\macros.inc"
|
||||||
;
|
|
||||||
|
|
||||||
include "..\..\..\macros.inc"
|
|
||||||
|
|
||||||
initipc:
|
initipc:
|
||||||
mov eax,9
|
mov eax,9
|
||||||
@@ -221,3 +218,4 @@ stripc: times 84 db 0
|
|||||||
fill_symbol db 0
|
fill_symbol db 0
|
||||||
|
|
||||||
prc: times 52 db 0
|
prc: times 52 db 0
|
||||||
|
|
@@ -1,9 +1,3 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
|
||||||
;
|
|
||||||
|
|
||||||
; Text encoded with Code Page 866 - Cyrillic
|
|
||||||
|
|
||||||
|
|
||||||
; Hello, World! - Programm example for CMD shell
|
; Hello, World! - Programm example for CMD shell
|
||||||
; Compile with FASM
|
; Compile with FASM
|
||||||
;
|
;
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,415 +1,412 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
;
|
||||||
;
|
; Example for Inter Process Communication
|
||||||
|
;
|
||||||
;
|
; Compile with FASM
|
||||||
; Example for Inter Process Communication
|
;
|
||||||
;
|
include 'lang.inc'
|
||||||
; Compile with FASM
|
include '..\..\..\..\macros.inc'
|
||||||
;
|
|
||||||
include 'lang.inc'
|
use32
|
||||||
include '..\..\..\macros.inc'
|
org 0x0
|
||||||
|
|
||||||
use32
|
db 'MENUET01' ; 8 byte id
|
||||||
org 0x0
|
dd 0x01 ; header version
|
||||||
|
dd START ; start of code
|
||||||
db 'MENUET01' ; 8 byte id
|
dd I_END ; size of image
|
||||||
dd 0x01 ; header version
|
dd 0x60000 ; memory for app
|
||||||
dd START ; start of code
|
dd 0x60000 ; esp
|
||||||
dd I_END ; size of image
|
dd 0x0 , 0x0 ; I_Param , I_Icon
|
||||||
dd 0x60000 ; memory for app
|
|
||||||
dd 0x60000 ; esp
|
START: ; start of execution
|
||||||
dd 0x0 , 0x0 ; I_Param , I_Icon
|
|
||||||
|
|
||||||
START: ; start of execution
|
mov eax,60 ; IPC
|
||||||
|
mov ebx,1 ; define receive area
|
||||||
|
mov ecx,received_messages ; pointer to start
|
||||||
mov eax,60 ; IPC
|
mov edx,1000 ; size of area
|
||||||
mov ebx,1 ; define receive area
|
mcall
|
||||||
mov ecx,received_messages ; pointer to start
|
|
||||||
mov edx,1000 ; size of area
|
mov eax,40 ; WANTED EVENTS
|
||||||
mcall
|
mov ebx,01000111b ; IPC 7 + defaults
|
||||||
|
mcall
|
||||||
mov eax,40 ; WANTED EVENTS
|
|
||||||
mov ebx,01000111b ; IPC 7 + defaults
|
mov [received_messages+8],dword 0*256+0
|
||||||
mcall
|
mov [received_messages+12],dword 0
|
||||||
|
|
||||||
mov [received_messages+8],dword 0*256+0
|
red:
|
||||||
mov [received_messages+12],dword 0
|
call draw_window ; at first, draw the window
|
||||||
|
|
||||||
red:
|
still:
|
||||||
call draw_window ; at first, draw the window
|
|
||||||
|
mov eax,23 ; wait here for event
|
||||||
still:
|
mov ebx,50
|
||||||
|
mcall
|
||||||
mov eax,23 ; wait here for event
|
|
||||||
mov ebx,50
|
cmp eax,1 ; redraw request ?
|
||||||
mcall
|
je red
|
||||||
|
cmp eax,2 ; key in buffer ?
|
||||||
cmp eax,1 ; redraw request ?
|
je key
|
||||||
je red
|
cmp eax,3 ; button in buffer ?
|
||||||
cmp eax,2 ; key in buffer ?
|
je button
|
||||||
je key
|
|
||||||
cmp eax,3 ; button in buffer ?
|
cmp eax,7 ; IPC ?
|
||||||
je button
|
jne no_ipc
|
||||||
|
call display_ipc_messages
|
||||||
cmp eax,7 ; IPC ?
|
jmp still
|
||||||
jne no_ipc
|
no_ipc:
|
||||||
call display_ipc_messages
|
|
||||||
jmp still
|
jmp still
|
||||||
no_ipc:
|
|
||||||
|
key: ; key
|
||||||
jmp still
|
mov eax,2 ; just read it and ignore
|
||||||
|
mcall
|
||||||
key: ; key
|
jmp still
|
||||||
mov eax,2 ; just read it and ignore
|
|
||||||
mcall
|
button: ; button
|
||||||
jmp still
|
mov eax,17 ; get id
|
||||||
|
mcall
|
||||||
button: ; button
|
|
||||||
mov eax,17 ; get id
|
cmp ah,1 ; button id=1 ?
|
||||||
mcall
|
jne noclose
|
||||||
|
mov eax,-1 ; close this program
|
||||||
cmp ah,1 ; button id=1 ?
|
mcall
|
||||||
jne noclose
|
noclose:
|
||||||
mov eax,-1 ; close this program
|
|
||||||
mcall
|
cmp ah,2
|
||||||
noclose:
|
jne no_read
|
||||||
|
call read_string
|
||||||
cmp ah,2
|
|
||||||
jne no_read
|
movzx eax,byte [message]
|
||||||
call read_string
|
sub eax,48
|
||||||
|
imul eax,10
|
||||||
movzx eax,byte [message]
|
movzx ebx,byte [message+1]
|
||||||
sub eax,48
|
add eax,ebx
|
||||||
imul eax,10
|
sub eax,48
|
||||||
movzx ebx,byte [message+1]
|
imul eax,10
|
||||||
add eax,ebx
|
movzx ebx,byte [message+2]
|
||||||
sub eax,48
|
add eax,ebx
|
||||||
imul eax,10
|
sub eax,48
|
||||||
movzx ebx,byte [message+2]
|
imul eax,10
|
||||||
add eax,ebx
|
movzx ebx,byte [message+3]
|
||||||
sub eax,48
|
add eax,ebx
|
||||||
imul eax,10
|
sub eax,48
|
||||||
movzx ebx,byte [message+3]
|
|
||||||
add eax,ebx
|
mov [PID],eax
|
||||||
sub eax,48
|
|
||||||
|
mov eax,60 ; IPC
|
||||||
mov [PID],eax
|
mov ebx,2 ; send message
|
||||||
|
mov ecx,[PID]
|
||||||
mov eax,60 ; IPC
|
mov edx,message+4
|
||||||
mov ebx,2 ; send message
|
mov esi,20;[message_size]
|
||||||
mov ecx,[PID]
|
mcall
|
||||||
mov edx,message+4
|
|
||||||
mov esi,20;[message_size]
|
jmp still
|
||||||
mcall
|
no_read:
|
||||||
|
|
||||||
jmp still
|
|
||||||
no_read:
|
cmp ah,3
|
||||||
|
jne no_messages_pop ; pop the first out
|
||||||
|
call ipc_message_pop
|
||||||
cmp ah,3
|
jmp still
|
||||||
jne no_messages_pop ; pop the first out
|
no_messages_pop:
|
||||||
call ipc_message_pop
|
|
||||||
jmp still
|
jmp still
|
||||||
no_messages_pop:
|
|
||||||
|
|
||||||
jmp still
|
ipc_message_pop:
|
||||||
|
|
||||||
|
pusha
|
||||||
ipc_message_pop:
|
|
||||||
|
cmp [received_messages+4],dword 8
|
||||||
pusha
|
je already_empty
|
||||||
|
|
||||||
cmp [received_messages+4],dword 8
|
mov [received_messages],byte 1 ; lock the area
|
||||||
je already_empty
|
|
||||||
|
push dword [received_messages+4]
|
||||||
mov [received_messages],byte 1 ; lock the area
|
|
||||||
|
mov ecx,[received_messages+12]
|
||||||
push dword [received_messages+4]
|
|
||||||
|
sub [received_messages+4],ecx
|
||||||
mov ecx,[received_messages+12]
|
sub [received_messages+4],dword 8
|
||||||
|
|
||||||
sub [received_messages+4],ecx
|
mov edi,received_messages+8
|
||||||
sub [received_messages+4],dword 8
|
mov esi,edi
|
||||||
|
add esi,ecx
|
||||||
mov edi,received_messages+8
|
add esi,8
|
||||||
mov esi,edi
|
|
||||||
add esi,ecx
|
pop ecx
|
||||||
add esi,8
|
|
||||||
|
cld
|
||||||
pop ecx
|
rep movsb
|
||||||
|
|
||||||
cld
|
call display_ipc_messages
|
||||||
rep movsb
|
|
||||||
|
mov [received_messages],byte 0 ; free the area
|
||||||
call display_ipc_messages
|
|
||||||
|
already_empty:
|
||||||
mov [received_messages],byte 0 ; free the area
|
|
||||||
|
popa
|
||||||
already_empty:
|
ret
|
||||||
|
|
||||||
popa
|
|
||||||
ret
|
|
||||||
|
display_ipc_messages:
|
||||||
|
|
||||||
|
pusha
|
||||||
display_ipc_messages:
|
|
||||||
|
mov eax,13
|
||||||
pusha
|
mov ebx,25*65536+245
|
||||||
|
mov ecx,105*65536+90
|
||||||
mov eax,13
|
mov edx,0xdddddd
|
||||||
mov ebx,25*65536+245
|
mcall
|
||||||
mov ecx,105*65536+90
|
|
||||||
mov edx,0xdddddd
|
cmp [received_messages+4],dword 8 ; empty list
|
||||||
mcall
|
je ipma1
|
||||||
|
|
||||||
cmp [received_messages+4],dword 8 ; empty list
|
mov ebx,25*65536+105 ; draw info text with function 4
|
||||||
je ipma1
|
mov ecx,0x224466
|
||||||
|
mov edx,received_messages+8
|
||||||
mov ebx,25*65536+105 ; draw info text with function 4
|
mov esi,40
|
||||||
mov ecx,0x224466
|
mov [counter],0
|
||||||
mov edx,received_messages+8
|
newline2:
|
||||||
mov esi,40
|
pusha
|
||||||
mov [counter],0
|
mov ecx,[edx]
|
||||||
newline2:
|
and ecx,0xfff
|
||||||
pusha
|
mov edx,ebx
|
||||||
mov ecx,[edx]
|
mov eax,47
|
||||||
and ecx,0xfff
|
mov ebx,4*65536
|
||||||
mov edx,ebx
|
mov esi,0xff0000
|
||||||
mov eax,47
|
mcall
|
||||||
mov ebx,4*65536
|
popa
|
||||||
mov esi,0xff0000
|
pusha
|
||||||
mcall
|
mov esi,20
|
||||||
popa
|
add edx,8
|
||||||
pusha
|
add ebx,30*65536
|
||||||
mov esi,20
|
mov eax,4
|
||||||
add edx,8
|
mcall
|
||||||
add ebx,30*65536
|
popa
|
||||||
mov eax,4
|
|
||||||
mcall
|
add ebx,10
|
||||||
popa
|
mov edi,[edx+4]
|
||||||
|
add edi,8
|
||||||
add ebx,10
|
and edi,0xfff
|
||||||
mov edi,[edx+4]
|
add edx,edi
|
||||||
add edi,8
|
|
||||||
and edi,0xfff
|
mov edi,[received_messages+4]
|
||||||
add edx,edi
|
add edi,received_messages
|
||||||
|
cmp edx,edi
|
||||||
mov edi,[received_messages+4]
|
jge ipma1
|
||||||
add edi,received_messages
|
|
||||||
cmp edx,edi
|
inc [counter]
|
||||||
jge ipma1
|
cmp [counter],8
|
||||||
|
jbe newline2
|
||||||
inc [counter]
|
|
||||||
cmp [counter],8
|
ipma1:
|
||||||
jbe newline2
|
|
||||||
|
popa
|
||||||
ipma1:
|
ret
|
||||||
|
|
||||||
popa
|
|
||||||
ret
|
counter dd 0x0
|
||||||
|
|
||||||
|
|
||||||
counter dd 0x0
|
; *********************************************
|
||||||
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
|
; *********************************************
|
||||||
; *********************************************
|
|
||||||
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
||||||
; *********************************************
|
draw_window:
|
||||||
|
|
||||||
|
mov eax,12 ; function 12:tell os about windowdraw
|
||||||
draw_window:
|
mov ebx,1 ; 1, start of draw
|
||||||
|
mcall
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
|
||||||
mov ebx,1 ; 1, start of draw
|
; DRAW WINDOW
|
||||||
mcall
|
mov eax,0 ; function 0 : define and draw window
|
||||||
|
mov ebx,100*65536+290 ; [x start] *65536 + [x size]
|
||||||
; DRAW WINDOW
|
mov ecx,100*65536+220 ; [y start] *65536 + [y size]
|
||||||
mov eax,0 ; function 0 : define and draw window
|
mov edx,0x14ffffff ; color of work area RRGGBB,8->color gl
|
||||||
mov ebx,100*65536+290 ; [x start] *65536 + [x size]
|
mov edi,title ; WINDOW LABEL
|
||||||
mov ecx,100*65536+220 ; [y start] *65536 + [y size]
|
mcall
|
||||||
mov edx,0x14ffffff ; color of work area RRGGBB,8->color gl
|
|
||||||
mov edi,title ; WINDOW LABEL
|
|
||||||
mcall
|
mov eax,9
|
||||||
|
mov ebx,process_info
|
||||||
|
mov ecx,-1
|
||||||
mov eax,9
|
mcall
|
||||||
mov ebx,process_info
|
|
||||||
mov ecx,-1
|
mov eax,47
|
||||||
mcall
|
mov ebx,4*65536
|
||||||
|
mov ecx,[process_info+30]
|
||||||
mov eax,47
|
mov edx,180*65536+35
|
||||||
mov ebx,4*65536
|
mov esi,0x000000
|
||||||
mov ecx,[process_info+30]
|
mcall
|
||||||
mov edx,180*65536+35
|
|
||||||
mov esi,0x000000
|
mov eax,8 ; MESSAGE
|
||||||
mcall
|
mov ebx,25*65536+87
|
||||||
|
mov ecx,50*65536+16
|
||||||
mov eax,8 ; MESSAGE
|
mov edx,2
|
||||||
mov ebx,25*65536+87
|
mov esi,0x5588dd
|
||||||
mov ecx,50*65536+16
|
mcall
|
||||||
mov edx,2
|
|
||||||
mov esi,0x5588dd
|
;mov eax,8 ; POP
|
||||||
mcall
|
mov ebx,216*65536+53
|
||||||
|
mov ecx,80*65536+16
|
||||||
;mov eax,8 ; POP
|
mov edx,3
|
||||||
mov ebx,216*65536+53
|
mcall
|
||||||
mov ecx,80*65536+16
|
|
||||||
mov edx,3
|
mov eax,4
|
||||||
mcall
|
mov ebx,25*65536+35 ; draw info text with function 4
|
||||||
|
mov ecx,0x224466
|
||||||
mov eax,4
|
mov edx,text
|
||||||
mov ebx,25*65536+35 ; draw info text with function 4
|
mov esi,40
|
||||||
mov ecx,0x224466
|
newline:
|
||||||
mov edx,text
|
mcall
|
||||||
mov esi,40
|
add ebx,10
|
||||||
newline:
|
add edx,40
|
||||||
mcall
|
cmp [edx],byte 'x'
|
||||||
add ebx,10
|
jne newline
|
||||||
add edx,40
|
|
||||||
cmp [edx],byte 'x'
|
call display_ipc_messages
|
||||||
jne newline
|
|
||||||
|
mov eax,12 ; function 12:tell os about windowdraw
|
||||||
call display_ipc_messages
|
mov ebx,2 ; 2, end of draw
|
||||||
|
mcall
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
|
||||||
mov ebx,2 ; 2, end of draw
|
ret
|
||||||
mcall
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
read_string:
|
||||||
|
|
||||||
|
pusha
|
||||||
read_string:
|
|
||||||
|
mov [addr],dword message
|
||||||
pusha
|
mov [ya],55
|
||||||
|
mov [xa],120
|
||||||
mov [addr],dword message
|
|
||||||
mov [ya],55
|
mov ecx,20
|
||||||
mov [xa],120
|
mov edi,[addr]
|
||||||
|
mov al,' '
|
||||||
mov ecx,20
|
cld
|
||||||
mov edi,[addr]
|
rep stosb
|
||||||
mov al,' '
|
|
||||||
cld
|
call print_text
|
||||||
rep stosb
|
|
||||||
|
mov edi,[addr]
|
||||||
call print_text
|
|
||||||
|
f11:
|
||||||
mov edi,[addr]
|
mov eax,10
|
||||||
|
mcall
|
||||||
f11:
|
cmp eax,2
|
||||||
mov eax,10
|
jz fbu
|
||||||
mcall
|
|
||||||
cmp eax,2
|
exit_readkey:
|
||||||
jz fbu
|
|
||||||
|
popa
|
||||||
exit_readkey:
|
ret
|
||||||
|
|
||||||
popa
|
fbu:
|
||||||
ret
|
mov eax,2
|
||||||
|
mcall ; get key
|
||||||
fbu:
|
shr eax,8
|
||||||
mov eax,2
|
|
||||||
mcall ; get key
|
cmp eax,13
|
||||||
shr eax,8
|
je exit_readkey
|
||||||
|
|
||||||
cmp eax,13
|
cmp eax,8
|
||||||
je exit_readkey
|
jnz nobs
|
||||||
|
cmp edi,[addr]
|
||||||
cmp eax,8
|
jz f11
|
||||||
jnz nobs
|
dec edi
|
||||||
cmp edi,[addr]
|
mov [edi],byte ' '
|
||||||
jz f11
|
call print_text
|
||||||
dec edi
|
jmp f11
|
||||||
mov [edi],byte ' '
|
nobs:
|
||||||
call print_text
|
|
||||||
jmp f11
|
cmp eax,31
|
||||||
nobs:
|
jbe f11
|
||||||
|
cmp eax,95
|
||||||
cmp eax,31
|
jb keyok
|
||||||
jbe f11
|
sub eax,32
|
||||||
cmp eax,95
|
keyok:
|
||||||
jb keyok
|
mov [edi],al
|
||||||
sub eax,32
|
|
||||||
keyok:
|
call print_text
|
||||||
mov [edi],al
|
|
||||||
|
inc edi
|
||||||
call print_text
|
mov esi,[addr]
|
||||||
|
add esi,20
|
||||||
inc edi
|
cmp esi,edi
|
||||||
mov esi,[addr]
|
jnz f11
|
||||||
add esi,20
|
|
||||||
cmp esi,edi
|
popa
|
||||||
jnz f11
|
ret
|
||||||
|
|
||||||
popa
|
|
||||||
ret
|
|
||||||
|
print_text:
|
||||||
|
|
||||||
|
mov eax,13
|
||||||
print_text:
|
mov ebx,[xa]
|
||||||
|
shl ebx,16
|
||||||
mov eax,13
|
add ebx,25*6
|
||||||
mov ebx,[xa]
|
mov ecx,[ya]
|
||||||
shl ebx,16
|
shl ecx,16
|
||||||
add ebx,25*6
|
mov cx,8
|
||||||
mov ecx,[ya]
|
mov edx,0xffffff
|
||||||
shl ecx,16
|
mcall
|
||||||
mov cx,8
|
|
||||||
mov edx,0xffffff
|
mov eax,4
|
||||||
mcall
|
mov ebx,[xa]
|
||||||
|
shl ebx,16
|
||||||
mov eax,4
|
add ebx,[ya]
|
||||||
mov ebx,[xa]
|
mov ecx,0x000000
|
||||||
shl ebx,16
|
mov edx,[addr]
|
||||||
add ebx,[ya]
|
mov esi,25
|
||||||
mov ecx,0x000000
|
mcall
|
||||||
mov edx,[addr]
|
|
||||||
mov esi,25
|
ret
|
||||||
mcall
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; DATA AREA
|
||||||
|
|
||||||
|
ya dd 0x0
|
||||||
; DATA AREA
|
xa dd 0x0
|
||||||
|
addr dd 0x0
|
||||||
ya dd 0x0
|
|
||||||
xa dd 0x0
|
text:
|
||||||
addr dd 0x0
|
db 'PROCESS ID FOR THIS APP : '
|
||||||
|
db ' '
|
||||||
text:
|
db ' PID:MESSAGE 0130 EXAMPLE MESSAGE '
|
||||||
db 'PROCESS ID FOR THIS APP : '
|
db ' '
|
||||||
db ' '
|
db ' '
|
||||||
db ' PID:MESSAGE 0130 EXAMPLE MESSAGE '
|
db 'RECEIVED: POP '
|
||||||
db ' '
|
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||||
db ' '
|
|
||||||
db 'RECEIVED: POP '
|
|
||||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
title db 'IPC - START AT LEAST 2',0
|
||||||
|
|
||||||
|
I_END:
|
||||||
title db 'IPC - START AT LEAST 2',0
|
|
||||||
|
PID: dd 0x0
|
||||||
I_END:
|
message_size: dd 20
|
||||||
|
|
||||||
PID: dd 0x0
|
received_messages:
|
||||||
message_size: dd 20
|
|
||||||
|
db 0 ; lock byte
|
||||||
received_messages:
|
db 0,0,0 ; reserved
|
||||||
|
dd 8 ; pointer to free msg position from received_messages
|
||||||
db 0 ; lock byte
|
|
||||||
db 0,0,0 ; reserved
|
; Sender PID
|
||||||
dd 8 ; pointer to free msg position from received_messages
|
; Msg length
|
||||||
|
; Msg data
|
||||||
; Sender PID
|
|
||||||
; Msg length
|
rb 0x1000
|
||||||
; Msg data
|
message: times 70 db ?
|
||||||
|
process_info: times 256 dd ?
|
||||||
rb 0x1000
|
|
||||||
message: times 70 db ?
|
|
||||||
process_info: times 256 dd ?
|
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,271 +1,268 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
;
|
||||||
;
|
; INFRARED
|
||||||
|
;
|
||||||
;
|
; Compile with FASM
|
||||||
; INFRARED
|
;
|
||||||
;
|
|
||||||
; Compile with FASM
|
use32
|
||||||
;
|
|
||||||
|
org 0x0
|
||||||
use32
|
|
||||||
|
db 'MENUET01' ; 8 byte id
|
||||||
org 0x0
|
dd 1 ; required os
|
||||||
|
dd START ; program start
|
||||||
db 'MENUET01' ; 8 byte id
|
dd I_END ; program image size
|
||||||
dd 1 ; required os
|
dd 0x1000 ; required amount of memory
|
||||||
dd START ; program start
|
dd 0x1000 ; esp = 0x7FFF0
|
||||||
dd I_END ; program image size
|
dd 0, 0
|
||||||
dd 0x1000 ; required amount of memory
|
|
||||||
dd 0x1000 ; esp = 0x7FFF0
|
|
||||||
dd 0, 0
|
include '..\..\..\..\macros.inc'
|
||||||
|
|
||||||
|
START: ; start of execution
|
||||||
include '..\..\..\macros.inc'
|
|
||||||
|
set_variables:
|
||||||
START: ; start of execution
|
|
||||||
|
mov eax,46 ; reserve ports 0x3f0 - 0x3ff
|
||||||
set_variables:
|
mov ebx,0
|
||||||
|
mov ecx,0x3f0
|
||||||
mov eax,46 ; reserve ports 0x3f0 - 0x3ff
|
mov edx,0x3ff
|
||||||
mov ebx,0
|
mcall
|
||||||
mov ecx,0x3f0
|
|
||||||
mov edx,0x3ff
|
mov eax,45 ; reserve irq 4
|
||||||
mcall
|
mov ebx,0
|
||||||
|
mov ecx,4
|
||||||
mov eax,45 ; reserve irq 4
|
mcall
|
||||||
mov ebx,0
|
|
||||||
mov ecx,4
|
mov eax,44 ; set read ports for irq 4
|
||||||
mcall
|
mov ebx,irqtable
|
||||||
|
; mov ecx,4
|
||||||
mov eax,44 ; set read ports for irq 4
|
mcall
|
||||||
mov ebx,irqtable
|
|
||||||
; mov ecx,4
|
mov dh, 3 ; all ports have number 3xx hex
|
||||||
mcall
|
|
||||||
|
mov dl, 0xf3+8
|
||||||
mov dh, 3 ; all ports have number 3xx hex
|
mov al, 0x80
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf3+8
|
|
||||||
mov al, 0x80
|
mov dl, 0xf1+8
|
||||||
out dx, al
|
mov al, 0
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf1+8
|
|
||||||
mov al, 0
|
mov dl, 0xf0+8
|
||||||
out dx, al
|
mov al, 0x30 / 4
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf0+8
|
|
||||||
mov al, 0x30 / 4
|
mov dl, 0xf3+8
|
||||||
out dx, al
|
mov al, 3
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf3+8
|
|
||||||
mov al, 3
|
mov dl, 0xf4+8
|
||||||
out dx, al
|
mov al, 0xB
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf4+8
|
|
||||||
mov al, 0xB
|
mov dl, 0xf1+8
|
||||||
out dx, al
|
mov al, 1
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf1+8
|
|
||||||
mov al, 1
|
mov eax,5
|
||||||
out dx, al
|
mov ebx,100
|
||||||
|
mcall
|
||||||
mov eax,5
|
|
||||||
mov ebx,100
|
mov dl, 0xf8
|
||||||
mcall
|
mov al, 'I'
|
||||||
|
out dx, al
|
||||||
mov dl, 0xf8
|
|
||||||
mov al, 'I'
|
mov eax,5
|
||||||
out dx, al
|
mov ebx,10
|
||||||
|
mcall
|
||||||
mov eax,5
|
|
||||||
mov ebx,10
|
mov al, 'R'
|
||||||
mcall
|
out dx, al
|
||||||
|
|
||||||
mov al, 'R'
|
mov eax,40 ; get com 1 data with irq 4
|
||||||
out dx, al
|
mov ebx,0000000000010000b shl 16 + 101b
|
||||||
|
mcall
|
||||||
mov eax,40 ; get com 1 data with irq 4
|
|
||||||
mov ebx,0000000000010000b shl 16 + 101b
|
red:
|
||||||
mcall
|
call draw_window
|
||||||
|
|
||||||
red:
|
still:
|
||||||
call draw_window
|
|
||||||
|
mov eax,10 ; wait here for event
|
||||||
still:
|
mcall
|
||||||
|
dec eax
|
||||||
mov eax,10 ; wait here for event
|
jz red
|
||||||
mcall
|
dec eax
|
||||||
dec eax
|
dec eax
|
||||||
jz red
|
jnz readir
|
||||||
dec eax
|
|
||||||
dec eax
|
button: ; button
|
||||||
jnz readir
|
mov al,17 ; get id
|
||||||
|
mcall
|
||||||
button: ; button
|
|
||||||
mov al,17 ; get id
|
; we have only one button, close
|
||||||
mcall
|
|
||||||
|
mov eax,45 ; free irq
|
||||||
; we have only one button, close
|
mov ebx,1
|
||||||
|
mov ecx,4
|
||||||
mov eax,45 ; free irq
|
mcall
|
||||||
mov ebx,1
|
|
||||||
mov ecx,4
|
mov eax,46 ; free ports 0x3f0-0x3ff
|
||||||
mcall
|
mov ebx,1
|
||||||
|
mov ecx,0x3f0
|
||||||
mov eax,46 ; free ports 0x3f0-0x3ff
|
mov edx,0x3ff
|
||||||
mov ebx,1
|
mcall
|
||||||
mov ecx,0x3f0
|
|
||||||
mov edx,0x3ff
|
or eax,-1 ; close this program
|
||||||
mcall
|
mcall
|
||||||
|
|
||||||
or eax,-1 ; close this program
|
pos dd 0x0
|
||||||
mcall
|
|
||||||
|
cdplayer:
|
||||||
pos dd 0x0
|
dd 7
|
||||||
|
dd 0
|
||||||
cdplayer:
|
dd 0
|
||||||
dd 7
|
dd 0
|
||||||
dd 0
|
dd 0
|
||||||
dd 0
|
db '/sys/CDP',0
|
||||||
dd 0
|
|
||||||
dd 0
|
readir:
|
||||||
db '/sys/CDP',0
|
mov eax,42
|
||||||
|
mov ebx,4
|
||||||
readir:
|
mcall
|
||||||
mov eax,42
|
|
||||||
mov ebx,4
|
cmp ebx,80
|
||||||
mcall
|
jne nocd
|
||||||
|
|
||||||
cmp ebx,80
|
mov eax,70
|
||||||
jne nocd
|
mov ebx,cdplayer
|
||||||
|
mcall
|
||||||
mov eax,70
|
|
||||||
mov ebx,cdplayer
|
|
||||||
mcall
|
nocd:
|
||||||
|
|
||||||
|
push ebx
|
||||||
nocd:
|
mov eax,[pos]
|
||||||
|
add eax,1
|
||||||
push ebx
|
cmp eax,10*20+1
|
||||||
mov eax,[pos]
|
jb noeaxz
|
||||||
add eax,1
|
mov esi,text+10*4
|
||||||
cmp eax,10*20+1
|
mov edi,text
|
||||||
jb noeaxz
|
mov ecx,10*21*4
|
||||||
mov esi,text+10*4
|
cld
|
||||||
mov edi,text
|
rep movsb
|
||||||
mov ecx,10*21*4
|
mov eax,13
|
||||||
cld
|
mov ebx,20*65536+260
|
||||||
rep movsb
|
mov ecx,22*65536+220
|
||||||
mov eax,13
|
mov edx,[wcolor]
|
||||||
mov ebx,20*65536+260
|
mcall
|
||||||
mov ecx,22*65536+220
|
mov eax,10*19+1
|
||||||
mov edx,[wcolor]
|
noeaxz:
|
||||||
mcall
|
mov [pos],eax
|
||||||
mov eax,10*19+1
|
pop ebx
|
||||||
noeaxz:
|
and ebx,0xff
|
||||||
mov [pos],eax
|
call draw_data
|
||||||
pop ebx
|
jmp still
|
||||||
and ebx,0xff
|
|
||||||
call draw_data
|
|
||||||
jmp still
|
|
||||||
|
|
||||||
|
draw_data:
|
||||||
|
|
||||||
|
pusha
|
||||||
draw_data:
|
|
||||||
|
xchg eax,ebx
|
||||||
pusha
|
|
||||||
|
mov ecx,10
|
||||||
xchg eax,ebx
|
shl ebx,2
|
||||||
|
mov esi,3
|
||||||
mov ecx,10
|
newnum:
|
||||||
shl ebx,2
|
xor edx,edx
|
||||||
mov esi,3
|
div ecx
|
||||||
newnum:
|
add edx,48
|
||||||
xor edx,edx
|
mov [ebx+text-1],dl
|
||||||
div ecx
|
dec ebx
|
||||||
add edx,48
|
dec esi
|
||||||
mov [ebx+text-1],dl
|
jnz newnum
|
||||||
dec ebx
|
|
||||||
dec esi
|
call draw_text
|
||||||
jnz newnum
|
|
||||||
|
popa
|
||||||
call draw_text
|
|
||||||
|
ret
|
||||||
popa
|
|
||||||
|
|
||||||
ret
|
irqtable:
|
||||||
|
|
||||||
|
dd 0x3f8+0x01000000 ; + 01 = read byte, 02 read word
|
||||||
irqtable:
|
dd 0
|
||||||
|
|
||||||
dd 0x3f8+0x01000000 ; + 01 = read byte, 02 read word
|
|
||||||
dd 0
|
|
||||||
|
; *********************************************
|
||||||
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
|
; *********************************************
|
||||||
; *********************************************
|
|
||||||
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
||||||
; *********************************************
|
draw_window:
|
||||||
|
|
||||||
|
mov eax,12 ; function 12:tell os about windowdraw
|
||||||
draw_window:
|
mov ebx,1 ; 1, start of draw
|
||||||
|
mcall
|
||||||
mov eax,12 ; function 12:tell os about windowdraw
|
|
||||||
mov ebx,1 ; 1, start of draw
|
; DRAW WINDOW
|
||||||
mcall
|
mov eax,0 ; function 0 : define and draw window
|
||||||
|
mov ebx,100*65536+300 ; [x start] *65536 + [x size]
|
||||||
; DRAW WINDOW
|
mov ecx,100*65536+250 ; [y start] *65536 + [y size]
|
||||||
mov eax,0 ; function 0 : define and draw window
|
mov edx,[wcolor] ; color of work area RRGGBB,8->color
|
||||||
mov ebx,100*65536+300 ; [x start] *65536 + [x size]
|
mov edi,labelt ; caption string
|
||||||
mov ecx,100*65536+250 ; [y start] *65536 + [y size]
|
mcall
|
||||||
mov edx,[wcolor] ; color of work area RRGGBB,8->color
|
|
||||||
mov edi,labelt ; caption string
|
; ; WINDOW LABEL
|
||||||
mcall
|
; mov eax,4 ; function 4 : write text to window
|
||||||
|
; mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
||||||
; ; WINDOW LABEL
|
; mov ecx,0x00ffffff ; color of text RRGGBB
|
||||||
; mov eax,4 ; function 4 : write text to window
|
; mov edx,labelt ; pointer to text beginning
|
||||||
; mov ebx,8*65536+8 ; [x start] *65536 + [y start]
|
; mov esi,labellen-labelt ; text length
|
||||||
; mov ecx,0x00ffffff ; color of text RRGGBB
|
; mcall
|
||||||
; mov edx,labelt ; pointer to text beginning
|
|
||||||
; mov esi,labellen-labelt ; text length
|
; CLOSE BUTTON
|
||||||
; mcall
|
; mov eax,8 ; function 8 : define and draw button
|
||||||
|
; mov ebx,(300-19)*65536+12 ; [x start] *65536 + [x size]
|
||||||
; CLOSE BUTTON
|
; mov ecx,5*65536+12 ; [y start] *65536 + [y size]
|
||||||
; mov eax,8 ; function 8 : define and draw button
|
; mov edx,1 ; button id
|
||||||
; mov ebx,(300-19)*65536+12 ; [x start] *65536 + [x size]
|
; mov esi,0x5599cc ; button color RRGGBB
|
||||||
; mov ecx,5*65536+12 ; [y start] *65536 + [y size]
|
; mcall
|
||||||
; mov edx,1 ; button id
|
|
||||||
; mov esi,0x5599cc ; button color RRGGBB
|
draw_text:
|
||||||
; mcall
|
|
||||||
|
mov ebx,25*65536+35 ; draw info text with function 4
|
||||||
draw_text:
|
mov ecx,0xffffff
|
||||||
|
mov edx,text
|
||||||
mov ebx,25*65536+35 ; draw info text with function 4
|
mov esi,40
|
||||||
mov ecx,0xffffff
|
mov edi,20
|
||||||
mov edx,text
|
newline:
|
||||||
mov esi,40
|
mov eax,4
|
||||||
mov edi,20
|
mcall
|
||||||
newline:
|
add ebx,10
|
||||||
mov eax,4
|
add edx,esi
|
||||||
mcall
|
dec edi
|
||||||
add ebx,10
|
jne newline
|
||||||
add edx,esi
|
|
||||||
dec edi
|
mov eax,12
|
||||||
jne newline
|
mov ebx,2
|
||||||
|
mcall
|
||||||
mov eax,12
|
|
||||||
mov ebx,2
|
ret
|
||||||
mcall
|
|
||||||
|
|
||||||
ret
|
; DATA AREA
|
||||||
|
|
||||||
|
wcolor dd 0x13000000
|
||||||
; DATA AREA
|
|
||||||
|
labelt db 'INFRARED RECEIVER FOR IRMAN IN COM 1',0
|
||||||
wcolor dd 0x13000000
|
|
||||||
|
text:
|
||||||
labelt db 'INFRARED RECEIVER FOR IRMAN IN COM 1',0
|
|
||||||
|
I_END:
|
||||||
text:
|
|
||||||
|
|
||||||
I_END:
|
|
@@ -1,56 +1,50 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
include '..\..\..\..\macros.inc'
|
||||||
;
|
use32
|
||||||
|
db 'MENUET01'
|
||||||
; Text encoded with Code Page Windows 1251 - Cyrillic
|
dd 1
|
||||||
|
dd start
|
||||||
|
dd i_end
|
||||||
include '..\..\..\macros.inc'
|
dd mem
|
||||||
use32
|
dd mem
|
||||||
db 'MENUET01'
|
dd 0
|
||||||
dd 1
|
dd 0
|
||||||
dd start
|
|
||||||
dd i_end
|
start:
|
||||||
dd mem
|
push 66
|
||||||
dd mem
|
pop eax
|
||||||
dd 0
|
push 4
|
||||||
dd 0
|
pop ebx
|
||||||
|
mov cl, 45h ; NumLock scancode
|
||||||
start:
|
xor edx, edx
|
||||||
push 66
|
mcall
|
||||||
pop eax
|
mov al, 40 ; старшие биты уже обнулены
|
||||||
push 4
|
mov bl, 2 ; старшие биты уже обнулены
|
||||||
pop ebx
|
mcall
|
||||||
mov cl, 45h ; NumLock scancode
|
event:
|
||||||
xor edx, edx
|
push 10
|
||||||
mcall
|
pop eax
|
||||||
mov al, 40 ; ñòàðøèå áèòû óæå îáíóëåíû
|
mcall
|
||||||
mov bl, 2 ; ñòàðøèå áèòû óæå îáíóëåíû
|
; у нас может быть только одно событие - нажата клавиша
|
||||||
mcall
|
mov al, 2
|
||||||
event:
|
mcall
|
||||||
push 10
|
cmp al, 2
|
||||||
pop eax
|
jnz event
|
||||||
mcall
|
; у нас есть только одна горячая клавиша
|
||||||
; ó íàñ ìîæåò áûòü òîëüêî îäíî ñîáûòèå - íàæàòà êëàâèøà
|
push 70
|
||||||
mov al, 2
|
pop eax
|
||||||
mcall
|
mov ebx, fileinfo
|
||||||
cmp al, 2
|
mcall
|
||||||
jnz event
|
jmp event
|
||||||
; ó íàñ åñòü òîëüêî îäíà ãîðÿ÷àÿ êëàâèøà
|
|
||||||
push 70
|
fileinfo:
|
||||||
pop eax
|
dd 7
|
||||||
mov ebx, fileinfo
|
dd 0
|
||||||
mcall
|
dd 0
|
||||||
jmp event
|
dd 0
|
||||||
|
dd 0
|
||||||
fileinfo:
|
db '/sys/calc',0
|
||||||
dd 7
|
|
||||||
dd 0
|
i_end:
|
||||||
dd 0
|
align 16
|
||||||
dd 0
|
rb 16
|
||||||
dd 0
|
mem:
|
||||||
db '/sys/calc',0
|
|
||||||
|
|
||||||
i_end:
|
|
||||||
align 16
|
|
||||||
rb 16
|
|
||||||
mem:
|
|
@@ -1,135 +1,130 @@
|
|||||||
; SPDX-License-Identifier: NOASSERTION
|
;ª®¬¯®¥â OptionBox (®á®¢ Checkbox)
|
||||||
;
|
;Ž£à®¬ ï ¡« £®¤ à®áâì Maxxxx32, Diamond, Heavyiron ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
|
||||||
|
;ª®â®àëå ï ¥ ᬮ£ ¡ë ¯¨á âì íâ®â ª®¬¯®¥â.
|
||||||
; Text encoded with Code Page 866 - Cyrillic
|
;21.02.2007 ¬®¤¥à¨§ æ¨ï ¨ ¯®¤¤¥à¦ª ¤¢ãå à §ëå ¢ ਠ⮢ á ¨á¯®«ì§®¢ ¨¥¬ á¨á 梥⮢ ¨ áâ ன á奬®©
|
||||||
|
;19.02.2007 ®¡é¥¥ ã«ãç襨¥ ª®¤ , 㬥ì襨¥ à §¬¥à ¨ ¨á¯®«ì§®¢ ¨¥ á¨á⥬ëå æ¢¥â®¢ ¤«ï ®â®¡à ¦¥¨ï optionkbox
|
||||||
;ª®¬¯®¥â OptionBox (®á®¢ Checkbox)
|
;16.02.2007 ¤ â á®§¤ ¨ï ª®¬¯®¥â
|
||||||
;Ž£à®¬ ï ¡« £®¤ à®áâì Maxxxx32, Diamond, Heavyiron ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
|
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
||||||
;ª®â®àëå ï ¥ ᬮ£ ¡ë ¯¨á âì íâ®â ª®¬¯®¥â.
|
|
||||||
;21.02.2007 ¬®¤¥à¨§ æ¨ï ¨ ¯®¤¤¥à¦ª ¤¢ãå à §ëå ¢ ਠ⮢ á ¨á¯®«ì§®¢ ¨¥¬ á¨á 梥⮢ ¨ áâ ன á奬®©
|
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||||
;19.02.2007 ®¡é¥¥ ã«ãç襨¥ ª®¤ , 㬥ì襨¥ à §¬¥à ¨ ¨á¯®«ì§®¢ ¨¥ á¨á⥬ëå æ¢¥â®¢ ¤«ï ®â®¡à ¦¥¨ï optionkbox
|
use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë
|
||||||
;16.02.2007 ¤ â á®§¤ ¨ï ª®¬¯®¥â
|
org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0
|
||||||
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â)
|
||||||
|
dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©«
|
||||||
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
dd start ; ¤à¥á, ª®â®àë© á¨á⥬ ¯¥à¥¤ ñâ ã¯à ¢«¥¨¥
|
||||||
use32 ; âà á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §àï¤ëå ª®¬ ¤ë
|
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì
|
||||||
org 0x0 ; ¡ §®¢ë© ¤à¥á ª®¤ , ¢á¥£¤ 0x0
|
dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï
|
||||||
db 'MENUET01' ; ¨¤¥â¨ä¨ª â®à ¨á¯®«ï¥¬®£® ä ©« (8 ¡ ©â)
|
dd (i_end+0x100) and not 3 ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â
|
||||||
dd 0x1 ; ¢¥àá¨ï ä®à¬ â § £®«®¢ª ¨á¯®«ï¥¬®£® ä ©«
|
dd (i_end+0x100) and not 3 ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ‚¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥
|
||||||
dd start ; ¤à¥á, ª®â®àë© á¨á⥬ ¯¥à¥¤ ñâ ã¯à ¢«¥¨¥
|
dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨.
|
||||||
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥¨ï ¢ ¯ ¬ïâì
|
; ¥á«¨ ¯®á«¥ § ¯ã᪠¥ à ¢® ã«î, ¯à¨«®¦¥¨¥ ¡ë«®
|
||||||
dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï
|
; § ¯ã饮 á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ¤®© áâப¨
|
||||||
dd (i_end+0x100) and not 3 ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪ ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢¨¬ £à¨æã 4 ¡ ©â
|
|
||||||
dd (i_end+0x100) and not 3 ; à ᯮ«®¦¨¬ ¯®§¨æ¨î á⥪ ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã § ⥫®¬ ¯à®£à ¬¬ë. ‚¥àè¨ á⥪ ¢ ¤¨ ¯ §®¥ ¯ ¬ïâ¨, 㪠§ ®¬ ¢ëè¥
|
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì,
|
||||||
dd 0x0,0x0 ; 㪠§ ⥫ì áâபã á ¯ à ¬¥âà ¬¨.
|
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥
|
||||||
; ¥á«¨ ¯®á«¥ § ¯ã᪠¥ à ¢® ã«î, ¯à¨«®¦¥¨¥ ¡ë«®
|
;------------------
|
||||||
; § ¯ã饮 á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ¤®© áâப¨
|
include '..\..\..\..\macros.inc'
|
||||||
|
include 'optionbox.inc' ;¢ª«îç¨âì ä ©« opeck.inc
|
||||||
; 㪠§ ⥫ì áâபã, ¢ ª®â®àãî § ¯¨á ¯ãâì,
|
|
||||||
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥
|
version_op ;¢ ਠâ, ¯à¨ ª®â®à®¬ ¨á¯®«ì§ãîâáï æ¢¥â , ª®â®àë¥ § ¤ ¥â ¯®«ì§®¢ ⥫ì
|
||||||
;------------------
|
; version_op1 ;梥⠡¥àãâáï ¨§ á¨á⥬ë
|
||||||
include '..\..\..\macros.inc'
|
use_option_box ;¨á¯®«ì§ãï ¬ ªà®áë,¢¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ¨ï optionbox
|
||||||
include 'optionbox.inc' ;¢ª«îç¨âì ä ©« opeck.inc
|
align 16
|
||||||
|
;Ž¡« áâì ª®¤
|
||||||
version_op ;¢ ਠâ, ¯à¨ ª®â®à®¬ ¨á¯®«ì§ãîâáï æ¢¥â , ª®â®àë¥ § ¤ ¥â ¯®«ì§®¢ ⥫ì
|
start: ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||||
; version_op1 ;梥⠡¥àãâáï ¨§ á¨á⥬ë
|
mov eax,48 ;¯®«ãç¨âì á¨áâ¥¬ë¥ æ¢¥â
|
||||||
use_option_box ;¨á¯®«ì§ãï ¬ ªà®áë,¢¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ¨ï optionbox
|
mov ebx,3
|
||||||
align 16
|
mov ecx,sc
|
||||||
;Ž¡« áâì ª®¤
|
mov edx,sizeof.system_colors
|
||||||
start: ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
mcall
|
||||||
mov eax,48 ;¯®«ãç¨âì á¨áâ¥¬ë¥ æ¢¥â
|
|
||||||
mov ebx,3
|
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
||||||
mov ecx,sc
|
mov ebx,0x25 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨)
|
||||||
mov edx,sizeof.system_colors
|
mcall
|
||||||
mcall
|
red_win:
|
||||||
|
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
||||||
mov eax,40 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
still: ;®á®¢®© ®¡à ¡®â稪
|
||||||
mov ebx,0x25 ;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨)
|
mov eax,10 ;ަ¨¤ âì ᮡëâ¨ï
|
||||||
mcall
|
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤
|
||||||
red_win:
|
|
||||||
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª
|
||||||
still: ;®á®¢®© ®¡à ¡®â稪
|
jz red_win
|
||||||
mov eax,10 ;ަ¨¤ âì ᮡëâ¨ï
|
cmp al,0x3 ;¥á«¨ ¦ â ª®¯ª â® ¯¥à¥©â¨
|
||||||
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥¨¥ 2 ¬¨««¨á¥ªã¤
|
jz button
|
||||||
|
mouse_option_boxes option_boxes,option_boxes_end ;¯à®¢¥àª 祪 ¡®ªá
|
||||||
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª
|
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
||||||
jz red_win
|
button:
|
||||||
cmp al,0x3 ;¥á«¨ ¦ â ª®¯ª â® ¯¥à¥©â¨
|
; mov eax,17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨
|
||||||
jz button
|
; mcall
|
||||||
mouse_option_boxes option_boxes,option_boxes_end ;¯à®¢¥àª 祪 ¡®ªá
|
; test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still
|
||||||
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
; jz still
|
||||||
button:
|
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨
|
||||||
; mov eax,17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨
|
mcall ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë
|
||||||
; mcall
|
|
||||||
; test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
; jz still
|
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
||||||
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã á ¦¥ ⮫쪮 3 ¢ë©â¨
|
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12
|
||||||
mcall ;¤ «¥¥ ¢ë¯®«ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë
|
mov ebx,1 ;¯à¨á¢®¨âì 1
|
||||||
|
mcall
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
||||||
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
xor eax,eax ;®¡ã«¨âì eax
|
||||||
mov eax,12 ;¢ ॣ¨áâà ¢¥á⨠§ 票¥ = 12
|
mov ebx,50*65536+180 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
||||||
mov ebx,1 ;¯à¨á¢®¨âì 1
|
mov ecx,30*65536+200 ;[ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||||||
mcall
|
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
|
||||||
|
or edx,0xb3000000
|
||||||
xor eax,eax ;®¡ã«¨âì eax
|
mov edi,hed
|
||||||
mov ebx,50*65536+180 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
mcall ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï
|
||||||
mov ecx,30*65536+200 ;[ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
|
||||||
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
|
draw_option_boxes option_boxes,option_boxes_end ;à¨á®¢ ¨¥ 祪¡®ªá®¢
|
||||||
or edx,0xb3000000
|
|
||||||
mov edi,hed
|
mov eax,12 ;”ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
||||||
mcall ; à¨á®¢ âì ®ª® ¯à¨«®¦¥¨ï
|
mov ebx,2 ;<3B>®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
||||||
|
mcall
|
||||||
draw_option_boxes option_boxes,option_boxes_end ;à¨á®¢ ¨¥ 祪¡®ªá®¢
|
ret
|
||||||
|
|
||||||
mov eax,12 ;”ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
mov ebx,2 ;<3B>®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª .
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
mcall
|
;DATA ¤ ë¥
|
||||||
ret
|
;”®à¬ â ¤ ëå 祪 ¡®ªá :
|
||||||
|
;10 - ª®®à¤¨ â 祪 ¡®ªá ¯® å
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;30 - ª®®à¤¨ â 祪 ¡®ªá ¯® ã
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;0
|
||||||
;DATA ¤ ë¥
|
;0 - 梥â à ¬ª¨ 祪 ¡®ªá
|
||||||
;”®à¬ â ¤ ëå 祪 ¡®ªá :
|
;0 - 梥â ⥪áâ ¤¯¨á¨
|
||||||
;10 - ª®®à¤¨ â 祪 ¡®ªá ¯® å
|
;op_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
||||||
;30 - ª®®à¤¨ â 祪 ¡®ªá ¯® ã
|
;option_group1 - íâ® ¯à¨§ ª £à㯯ë, â.¥. íâ®â ª®¤ ¬®¦¥â ®¡à ¡ âë¢ âì ¬®£® £à㯯 ¨§ optibox
|
||||||
;0
|
;op_text.e1-op_text.1 - ¤«¨ áâப¨
|
||||||
;0 - 梥â à ¬ª¨ 祪 ¡®ªá
|
;
|
||||||
;0 - 梥â ⥪áâ ¤¯¨á¨
|
align 16
|
||||||
;op_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
option_boxes:
|
||||||
;option_group1 - íâ® ¯à¨§ ª £à㯯ë, â.¥. íâ®â ª®¤ ¬®¦¥â ®¡à ¡ âë¢ âì ¬®£® £à㯯 ¨§ optibox
|
;op1 option_box1 option_group1,10,15,op_text.1,op_text.e1-op_text.1
|
||||||
;op_text.e1-op_text.1 - ¤«¨ áâப¨
|
;op2 option_box1 option_group1,10,30,op_text.2,op_text.e2-op_text.2
|
||||||
;
|
;op3 option_box1 option_group1,10,45,op_text.3,op_text.e3-op_text.3
|
||||||
align 16
|
;op11 option_box1 option_group2,10,80,op_text.1,op_text.e1-op_text.1
|
||||||
option_boxes:
|
;op12 option_box1 option_group2,10,95,op_text.2,op_text.e2-op_text.2
|
||||||
;op1 option_box1 option_group1,10,15,op_text.1,op_text.e1-op_text.1
|
;op13 option_box1 option_group2,10,110,op_text.3,op_text.e3-op_text.3
|
||||||
;op2 option_box1 option_group1,10,30,op_text.2,op_text.e2-op_text.2
|
;
|
||||||
;op3 option_box1 option_group1,10,45,op_text.3,op_text.e3-op_text.3
|
;struc option_box point_gr,left,top,color,border_color,text_color,text,text_length
|
||||||
;op11 option_box1 option_group2,10,80,op_text.1,op_text.e1-op_text.1
|
op1 option_box option_group1,10,15,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
|
||||||
;op12 option_box1 option_group2,10,95,op_text.2,op_text.e2-op_text.2
|
op2 option_box option_group1,10,30,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2
|
||||||
;op13 option_box1 option_group2,10,110,op_text.3,op_text.e3-op_text.3
|
op3 option_box option_group1,10,45,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
|
||||||
;
|
op11 option_box option_group2,10,80,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
|
||||||
;struc option_box point_gr,left,top,color,border_color,text_color,text,text_length
|
op12 option_box option_group2,10,95,0xffffff,0,0,op_text.2,op_text.e2-op_text.2
|
||||||
op1 option_box option_group1,10,15,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
|
op13 option_box option_group2,10,110,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
|
||||||
op2 option_box option_group1,10,30,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2
|
|
||||||
op3 option_box option_group1,10,45,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
|
option_boxes_end:
|
||||||
op11 option_box option_group2,10,80,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
|
|
||||||
op12 option_box option_group2,10,95,0xffffff,0,0,op_text.2,op_text.e2-op_text.2
|
op_text: ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
|
||||||
op13 option_box option_group2,10,110,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
|
.1 db 'Option_Box #1'
|
||||||
|
.e1:
|
||||||
option_boxes_end:
|
.2 db 'Option_Box #2'
|
||||||
|
.e2:
|
||||||
op_text: ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
|
.3 db 'Option_Box #3'
|
||||||
.1 db 'Option_Box #1'
|
.e3:
|
||||||
.e1:
|
|
||||||
.2 db 'Option_Box #2'
|
option_group1 dd op1 ;㪠§ ⥫¨, ®¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ¨î, ª®£¤ ¢ë¢®¤¨âáï
|
||||||
.e2:
|
option_group2 dd op11 ;¯à¨«®¦¥¨¥
|
||||||
.3 db 'Option_Box #3'
|
|
||||||
.e3:
|
hed db 'Optionbox [21.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||||
|
sc system_colors
|
||||||
option_group1 dd op1 ;㪠§ ⥫¨, ®¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ¨î, ª®£¤ ¢ë¢®¤¨âáï
|
i_end: ;ª®¥æ ª®¤
|
||||||
option_group2 dd op11 ;¯à¨«®¦¥¨¥
|
|
||||||
|
|
||||||
hed db 'Optionbox [21.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
|
||||||
sc system_colors
|
|
||||||
i_end: ;ª®¥æ ª®¤
|
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
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.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user