Compare commits
47 Commits
add-licens
...
PR-TidySVN
Author | SHA1 | Date | |
---|---|---|---|
1b8af624bc | |||
a5d87e488a | |||
9d0aee6c6d | |||
7fe66081fa | |||
2d39f8cb03 | |||
0a44e14838 | |||
e570d29f36 | |||
47981cdb1e | |||
6942542b67 | |||
30ab1f2ace | |||
d34359f7c4 | |||
85e65fb968 | |||
c304ba66ac | |||
88926e72b1 | |||
63c240976d | |||
d8d10137c0 | |||
18a96df908 | |||
f6c3faa9bc | |||
9f55f6aca0 | |||
9eca27ce58 | |||
0bdce8b4af | |||
786938de43 | |||
3900f7f29c | |||
257514f3cb | |||
71b8383a04 | |||
9da6be501a | |||
460dd985d3 | |||
86b1ee4c75 | |||
9a748b1dfe | |||
2dfb3ddff3
|
|||
7e63294b5e | |||
c148987224 | |||
4550e15838 | |||
cc867a0bb8 | |||
16a0ef9543 | |||
51b150c9aa | |||
c18da5afae | |||
cd1c2ce969 | |||
d7795a8961 | |||
b948491fb3 | |||
03cfdeb50f | |||
e4cd8a4d74 | |||
75b6663ce0 | |||
df0c5d8f48 | |||
fcb9f49785 | |||
d6c44c6570 | |||
b8a1487bab |
@@ -49,8 +49,6 @@ 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"},
|
||||||
@@ -197,8 +195,8 @@ extra_files = {
|
|||||||
{"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/trunk/readme.txt"},
|
{"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/readme.txt"},
|
||||||
{"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/trunk/keyboard.png"},
|
{"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/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"},
|
||||||
@@ -286,7 +284,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/trunk/games/*"},
|
{"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/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"},
|
||||||
@@ -411,7 +409,8 @@ 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/trunk/calc"},
|
{"CALC", VAR_PROGS .. "/other/calc/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"},
|
||||||
@@ -429,14 +428,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 .. "/demos/magnify/trunk/magnify"},
|
{"MAGNIFY", VAR_PROGS .. "/system/magnify/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/trunk/rtfread"},
|
{"RTFREAD", VAR_PROGS .. "/other/rtfread/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"},
|
||||||
@@ -448,26 +447,26 @@ tup.append_table(img_files, {
|
|||||||
{"TIMER", VAR_PROGS .. "/other/Timer/Timer"},
|
{"TIMER", VAR_PROGS .. "/other/Timer/Timer"},
|
||||||
{"UNZ", VAR_PROGS .. "/fs/unz/unz"},
|
{"UNZ", VAR_PROGS .. "/fs/unz/unz"},
|
||||||
{"ZKEY", VAR_PROGS .. "/system/zkey/trunk/ZKEY"},
|
{"ZKEY", VAR_PROGS .. "/system/zkey/trunk/ZKEY"},
|
||||||
{"3D/3DWAV", VAR_PROGS .. "/demos/3dwav/trunk/3dwav"},
|
{"3D/3DWAV", VAR_PROGS .. "/demos/3dwav/3dwav"},
|
||||||
{"3D/CROWNSCR", VAR_PROGS .. "/demos/crownscr/trunk/crownscr"},
|
{"3D/CROWNSCR", VAR_PROGS .. "/demos/crownscr/crownscr"},
|
||||||
{"3D/3DCUBE2", VAR_PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
|
{"3D/3DCUBE2", VAR_PROGS .. "/demos/3dcube2/3DCUBE2"},
|
||||||
{"3D/FREE3D04", VAR_PROGS .. "/demos/free3d04/trunk/free3d04"},
|
{"3D/FREE3D04", VAR_PROGS .. "/demos/free3d04/free3d04"},
|
||||||
{"3D/GEARS", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
|
{"3D/GEARS", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
|
||||||
{"3D/RAY", VAR_PROGS .. "/demos/ray/ray"},
|
{"3D/RAY", VAR_PROGS .. "/demos/ray/ray"},
|
||||||
{"3D/VIEW3DS", VAR_PROGS .. "/demos/view3ds/view3ds"},
|
{"3D/VIEW3DS", VAR_PROGS .. "/demos/view3ds/view3ds"},
|
||||||
{"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/trunk/bcdclk"},
|
{"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/bcdclk"},
|
||||||
{"DEMOS/BUDHBROT", VAR_PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
|
{"DEMOS/BUDHBROT", VAR_PROGS .. "/demos/buddhabrot/buddhabrot"},
|
||||||
{"DEMOS/EYES", VAR_PROGS .. "/demos/eyes/trunk/eyes"},
|
{"DEMOS/EYES", VAR_PROGS .. "/demos/eyes/eyes"},
|
||||||
{"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/firework"},
|
{"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/firework"},
|
||||||
{"DEMOS/MOVBACK", VAR_PROGS .. "/demos/movback/movback"},
|
{"DEMOS/MOVBACK", VAR_PROGS .. "/demos/movback/movback"},
|
||||||
{"DEMOS/PLASMA", VAR_PROGS .. "/demos/plasma/plasma"},
|
{"DEMOS/PLASMA", VAR_PROGS .. "/demos/plasma/plasma"},
|
||||||
{"DEMOS/SPIRAL", VAR_PROGS .. "/demos/spiral/spiral"},
|
{"DEMOS/SPIRAL", VAR_PROGS .. "/demos/spiral/spiral"},
|
||||||
{"DEMOS/TINYFRAC", VAR_PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
|
{"DEMOS/TINYFRAC", VAR_PROGS .. "/demos/tinyfrac/tinyfrac"},
|
||||||
{"DEMOS/TRANTEST", VAR_PROGS .. "/demos/trantest/trunk/trantest"},
|
{"DEMOS/TRANTEST", VAR_PROGS .. "/demos/trantest/trantest"},
|
||||||
{"DEMOS/TUBE", VAR_PROGS .. "/demos/tube/tube"},
|
{"DEMOS/TUBE", VAR_PROGS .. "/demos/tube/tube"},
|
||||||
{"DEMOS/UNVWATER", VAR_PROGS .. "/demos/unvwater/unvwater"},
|
{"DEMOS/UNVWATER", VAR_PROGS .. "/demos/unvwater/unvwater"},
|
||||||
{"DEMOS/WEB", VAR_PROGS .. "/demos/web/trunk/web"},
|
{"DEMOS/WEB", VAR_PROGS .. "/demos/web/web"},
|
||||||
{"DEMOS/ZEROLINE", VAR_PROGS .. "/demos/zeroline/trunk/zeroline"},
|
{"DEMOS/ZEROLINE", VAR_PROGS .. "/demos/zeroline/zeroline"},
|
||||||
{"DEVELOP/BOARD", VAR_PROGS .. "/system/board/trunk/board"},
|
{"DEVELOP/BOARD", VAR_PROGS .. "/system/board/trunk/board"},
|
||||||
{"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"},
|
||||||
@@ -483,9 +482,9 @@ tup.append_table(img_files, {
|
|||||||
{"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/trunk/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/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/cslide"},
|
||||||
{"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/trunk/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"},
|
||||||
@@ -524,10 +523,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/trunk/animage"},
|
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/animage"},
|
||||||
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
||||||
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"},
|
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/kiv"},
|
||||||
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"},
|
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/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"},
|
||||||
@@ -595,8 +594,8 @@ tup.append_table(extra_files, {
|
|||||||
{"HD_Load/USB_Boot/", VAR_PROGS .. "/hd_load/usb_boot/setmbr.exe"},
|
{"HD_Load/USB_Boot/", VAR_PROGS .. "/hd_load/usb_boot/setmbr.exe"},
|
||||||
{"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
|
{"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
|
||||||
{"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/enable.exe"},
|
{"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/enable.exe"},
|
||||||
{"kolibrios/3D/3dsheart", VAR_PROGS .. "/demos/3dsheart/trunk/3dsheart"},
|
{"kolibrios/3D/3dsheart", VAR_PROGS .. "/demos/3dsheart/3dsheart"},
|
||||||
{"kolibrios/3D/flatwav", VAR_PROGS .. "/demos/flatwav/trunk/flatwav"},
|
{"kolibrios/3D/flatwav", VAR_PROGS .. "/demos/flatwav/flatwav"},
|
||||||
{"kolibrios/3D/mos3de", VAR_PROGS .. "/demos/mos3de/mos3de"},
|
{"kolibrios/3D/mos3de", VAR_PROGS .. "/demos/mos3de/mos3de"},
|
||||||
{"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"},
|
{"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"},
|
||||||
{"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
|
{"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
|
||||||
@@ -605,8 +604,9 @@ 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/qjulia"},
|
||||||
{"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
|
{"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
|
||||||
{"kolibrios/games/Almaz", VAR_PROGS .. "/games/almaz/almaz"},
|
{"kolibrios/games/Almaz", VAR_PROGS .. "/games/almaz/almaz"},
|
||||||
{"kolibrios/games/arcanii", VAR_PROGS .. "/games/arcanii/arcanii"},
|
{"kolibrios/games/arcanii", VAR_PROGS .. "/games/arcanii/arcanii"},
|
||||||
@@ -628,7 +628,6 @@ 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"}
|
||||||
@@ -642,7 +641,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/trunk/period"},
|
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/period"},
|
||||||
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
|
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
|
||||||
}) end
|
}) end
|
||||||
|
|
||||||
@@ -726,7 +725,7 @@ tup.append_table(img_files, {
|
|||||||
})
|
})
|
||||||
tup.append_table(extra_files, {
|
tup.append_table(extra_files, {
|
||||||
{"kolibrios/utils/thashview", VAR_PROGS .. "/other/TinyHashView/thashview"},
|
{"kolibrios/utils/thashview", VAR_PROGS .. "/other/TinyHashView/thashview"},
|
||||||
{"kolibrios/demos/kmatrix", VAR_PROGS .. "/demos/kmatrix/trunk/kmatrix"},
|
{"kolibrios/demos/kmatrix", VAR_PROGS .. "/demos/kmatrix/kmatrix"},
|
||||||
{"kolibrios/utils/graph", VAR_PROGS .. "/other/graph/branches/tcc_current/graph"},
|
{"kolibrios/utils/graph", VAR_PROGS .. "/other/graph/branches/tcc_current/graph"},
|
||||||
{"kolibrios/develop/TinyBasic/TinyBasic", VAR_PROGS .. "/develop/tinybasic-1.0.4/tinybasic"},
|
{"kolibrios/develop/TinyBasic/TinyBasic", VAR_PROGS .. "/develop/tinybasic-1.0.4/tinybasic"},
|
||||||
{"kolibrios/develop/TinyBasic/bas/", SRC_PROGS .. "/develop/tinybasic-1.0.4/bas/*"},
|
{"kolibrios/develop/TinyBasic/bas/", SRC_PROGS .. "/develop/tinybasic-1.0.4/bas/*"},
|
||||||
@@ -751,9 +750,9 @@ tup.append_table(img_files, {
|
|||||||
-- {"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/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/trunk/e80"},
|
{"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/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"},
|
||||||
|
@@ -29,7 +29,6 @@ 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=CALC
|
path=CALCPLUS
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -92,6 +92,7 @@
|
|||||||
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=CALC
|
path=CALCPLUS
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -96,6 +96,7 @@
|
|||||||
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=CALC
|
path=CALCPLUS
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -80,6 +80,7 @@
|
|||||||
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=CALC
|
path=CALCPLUS
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -79,6 +79,7 @@
|
|||||||
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=CALC
|
path=CALCPLUS
|
||||||
param=
|
param=
|
||||||
ico=4
|
ico=4
|
||||||
x=204
|
x=204
|
||||||
|
@@ -90,6 +90,7 @@
|
|||||||
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
|
||||||
@@ -119,7 +120,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> |period
|
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |/kolibrios/utils/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,3 +1,5 @@
|
|||||||
|
SERIAL_COMPATIBLE_API_VER = 0 ; increments in case of breaking changes
|
||||||
|
|
||||||
SERIAL_API_GET_VERSION = 0
|
SERIAL_API_GET_VERSION = 0
|
||||||
SERIAL_API_SRV_ADD_PORT = 1
|
SERIAL_API_SRV_ADD_PORT = 1
|
||||||
SERIAL_API_SRV_REMOVE_PORT = 2
|
SERIAL_API_SRV_REMOVE_PORT = 2
|
||||||
@@ -21,14 +23,18 @@ SERIAL_CONF_PARITY_ODD = 2
|
|||||||
SERIAL_CONF_PARITY_MARK = 3
|
SERIAL_CONF_PARITY_MARK = 3
|
||||||
SERIAL_CONF_PARITY_SPACE = 4
|
SERIAL_CONF_PARITY_SPACE = 4
|
||||||
|
|
||||||
|
SERIAL_CONF_STOP_BITS_1 = 0
|
||||||
|
SERIAL_CONF_STOP_BITS_1_5 = 1
|
||||||
|
SERIAL_CONF_STOP_BITS_2 = 2
|
||||||
|
|
||||||
SERIAL_CONF_FLOW_CTRL_NONE = 0
|
SERIAL_CONF_FLOW_CTRL_NONE = 0
|
||||||
|
|
||||||
struct SP_DRIVER
|
struct SP_DRIVER
|
||||||
size dd ? ; size of this struct
|
size dd ? ; size of this struct
|
||||||
startup dd ? ; void __stdcall (*startup)(void *drv_data, const struct serial_conf *conf);
|
startup dd ? ; int __stdcall (*startup)(void *drv_data, const struct serial_conf *conf);
|
||||||
shutdown dd ? ; void __stdcall (*shutdown)(void *drv_data);
|
shutdown dd ? ; int __stdcall (*shutdown)(void *drv_data);
|
||||||
reconf dd ? ; void __stdcall (*reconf)(void *drv_data, const struct serial_conf *conf);
|
reconf dd ? ; int __stdcall (*reconf)(void *drv_data, const struct serial_conf *conf);
|
||||||
tx dd ? ; void __stdcall (*tx)(void *drv_data);
|
tx dd ? ; int __stdcall (*tx)(void *drv_data);
|
||||||
ends
|
ends
|
||||||
|
|
||||||
struct SP_CONF
|
struct SP_CONF
|
||||||
@@ -123,6 +129,30 @@ proc serial_port_init
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
proc serial_port_get_version stdcall, version:dword
|
||||||
|
locals
|
||||||
|
.handler dd ?
|
||||||
|
.io_code dd ?
|
||||||
|
.input dd ?
|
||||||
|
.inp_size dd ?
|
||||||
|
.output dd ?
|
||||||
|
.out_size dd ?
|
||||||
|
endl
|
||||||
|
mov eax, [serial_drv_handle]
|
||||||
|
mov [.handler], eax
|
||||||
|
mov dword [.io_code], SERIAL_API_GET_VERSION
|
||||||
|
mov [.input], 0
|
||||||
|
mov dword [.inp_size], 0
|
||||||
|
mov eax, [version]
|
||||||
|
mov [.output], eax
|
||||||
|
mov dword [.out_size], 4
|
||||||
|
|
||||||
|
lea ecx, [.handler]
|
||||||
|
mcall SF_SYS_MISC, SSF_CONTROL_DRIVER
|
||||||
|
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
proc serial_port_open stdcall uses ebx, port_id:dword, conf:dword, handle:dword
|
proc serial_port_open stdcall uses ebx, port_id:dword, conf:dword, handle:dword
|
||||||
locals
|
locals
|
||||||
.handler dd ?
|
.handler dd ?
|
||||||
|
@@ -9,8 +9,6 @@ __DEBUG_LEVEL__ = L_DBG
|
|||||||
|
|
||||||
SERIAL_RING_BUF_SIZE = 32768
|
SERIAL_RING_BUF_SIZE = 32768
|
||||||
|
|
||||||
API_VERSION = 1
|
|
||||||
|
|
||||||
section '.flat' readable writable executable
|
section '.flat' readable writable executable
|
||||||
|
|
||||||
include '../struct.inc'
|
include '../struct.inc'
|
||||||
@@ -23,6 +21,9 @@ include 'common.inc'
|
|||||||
include 'ring_buf.inc'
|
include 'ring_buf.inc'
|
||||||
include 'uart16550.inc'
|
include 'uart16550.inc'
|
||||||
|
|
||||||
|
CURRENT_API = 0x0001
|
||||||
|
API_VERSION = (SERIAL_COMPATIBLE_API_VER shl 16) + CURRENT_API
|
||||||
|
|
||||||
struct SERIAL_OBJ
|
struct SERIAL_OBJ
|
||||||
magic dd ?
|
magic dd ?
|
||||||
destroy dd ?
|
destroy dd ?
|
||||||
@@ -45,7 +46,7 @@ struct SERIAL_PORT
|
|||||||
conf SP_CONF
|
conf SP_CONF
|
||||||
ends
|
ends
|
||||||
|
|
||||||
proc START c, reason:dword
|
proc START c, reason:dword, cmdline:dword
|
||||||
cmp [reason], DRV_ENTRY
|
cmp [reason], DRV_ENTRY
|
||||||
jne .fail
|
jne .fail
|
||||||
|
|
||||||
@@ -347,15 +348,12 @@ proc sp_validate_conf
|
|||||||
mov eax, [ecx + SP_CONF.baudrate]
|
mov eax, [ecx + SP_CONF.baudrate]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .fail
|
jz .fail
|
||||||
mov al, [ecx + SP_CONF.word_size]
|
|
||||||
cmp al, 8
|
|
||||||
jne .fail ; TODO implement different word size
|
|
||||||
mov al, [ecx + SP_CONF.stop_bits]
|
mov al, [ecx + SP_CONF.stop_bits]
|
||||||
cmp al, 1
|
cmp al, SERIAL_CONF_STOP_BITS_2
|
||||||
jne .fail ; TODO implement different stop bits count
|
ja .fail
|
||||||
mov al, [ecx + SP_CONF.parity]
|
mov al, [ecx + SP_CONF.parity]
|
||||||
cmp al, SERIAL_CONF_PARITY_NONE
|
cmp al, SERIAL_CONF_PARITY_SPACE
|
||||||
jne .fail ; TODO implement parity
|
ja .fail
|
||||||
mov al, [ecx + SP_CONF.flow_ctrl]
|
mov al, [ecx + SP_CONF.flow_ctrl]
|
||||||
cmp al, SERIAL_CONF_FLOW_CTRL_NONE
|
cmp al, SERIAL_CONF_FLOW_CTRL_NONE
|
||||||
jne .fail ; TODO implement flow control
|
jne .fail ; TODO implement flow control
|
||||||
@@ -550,7 +548,6 @@ proc sp_setup
|
|||||||
mov eax, [edi + SERIAL_PORT.drv]
|
mov eax, [edi + SERIAL_PORT.drv]
|
||||||
mov ecx, [edi + SERIAL_PORT.drv_data]
|
mov ecx, [edi + SERIAL_PORT.drv_data]
|
||||||
stdcall dword [eax + SP_DRIVER.reconf], ecx, esi
|
stdcall dword [eax + SP_DRIVER.reconf], ecx, esi
|
||||||
xor eax, eax
|
|
||||||
push eax
|
push eax
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jnz @f
|
jnz @f
|
||||||
|
@@ -350,10 +350,10 @@ endl
|
|||||||
; calc stop bits
|
; calc stop bits
|
||||||
mov bx, LCR_STOP_1
|
mov bx, LCR_STOP_1
|
||||||
mov al, [esi + SP_CONF.stop_bits]
|
mov al, [esi + SP_CONF.stop_bits]
|
||||||
cmp al, 1
|
cmp al, SERIAL_CONF_STOP_BITS_1
|
||||||
je .stop_bits_ok
|
je .stop_bits_ok
|
||||||
or bx, LCR_STOP_2
|
or bx, LCR_STOP_2
|
||||||
cmp al, 2
|
cmp al, SERIAL_CONF_STOP_BITS_2
|
||||||
jne .fail
|
jne .fail
|
||||||
.stop_bits_ok:
|
.stop_bits_ok:
|
||||||
or [lcr], bx
|
or [lcr], bx
|
||||||
|
@@ -1123,11 +1123,53 @@ proc uart_shutdown stdcall uses ebx, data:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
proc uart_reconf stdcall uses ebx esi, dev:dword, conf:dword
|
proc uart_reconf stdcall uses esi, dev:dword, conf:dword
|
||||||
mov ebx, [dev]
|
locals
|
||||||
|
ConfPacket rb 8
|
||||||
|
endl
|
||||||
mov esi, [conf]
|
mov esi, [conf]
|
||||||
stdcall ftdi_set_baudrate, ebx, [esi + SP_CONF.baudrate]
|
xor edx, edx
|
||||||
; TODO set word_size, parity, etc.
|
mov al, [esi + SP_CONF.word_size]
|
||||||
|
cmp al, 7
|
||||||
|
jb .invalid
|
||||||
|
cmp al, 8
|
||||||
|
ja .invalid
|
||||||
|
mov dl, al
|
||||||
|
; odd and even parities are different from serial api
|
||||||
|
; serial api: even=1 odd=2
|
||||||
|
; ft232x api: odd=1 even=2
|
||||||
|
movzx eax, [esi + SP_CONF.parity]
|
||||||
|
cmp al, SERIAL_CONF_PARITY_SPACE
|
||||||
|
ja .invalid
|
||||||
|
cmp al, SERIAL_CONF_PARITY_ODD
|
||||||
|
ja .parity_ok
|
||||||
|
cmp al, SERIAL_CONF_PARITY_EVEN
|
||||||
|
jb .parity_ok
|
||||||
|
; swap bits
|
||||||
|
xor al, 0x3
|
||||||
|
.parity_ok:
|
||||||
|
shl eax, 8 ; parity offset
|
||||||
|
or edx, eax
|
||||||
|
movzx eax, [esi + SP_CONF.stop_bits]
|
||||||
|
cmp al, SERIAL_CONF_STOP_BITS_2
|
||||||
|
ja .invalid
|
||||||
|
shl eax, 11 ; stop bits offset
|
||||||
|
or edx, eax
|
||||||
|
mov word [ConfPacket], (FTDI_DEVICE_OUT_REQTYPE) \
|
||||||
|
+ (SIO_SET_DATA shl 8)
|
||||||
|
mov word [ConfPacket + 2], dx
|
||||||
|
mov word [ConfPacket + 4], 0
|
||||||
|
mov word [ConfPacket + 6], 0
|
||||||
|
lea edx, [ConfPacket]
|
||||||
|
stdcall ftdi_blocking_ctrl_tranfser, [dev], edx
|
||||||
|
test eax, eax
|
||||||
|
jnz .exit
|
||||||
|
stdcall ftdi_set_baudrate, [dev], [esi + SP_CONF.baudrate]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.invalid:
|
||||||
|
or eax, -1
|
||||||
|
.exit:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
@@ -1204,17 +1246,10 @@ proc uart_rx stdcall uses ebx esi, data:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
proc ftdi_set_baudrate stdcall uses ebx esi edi, dev:dword, baud:dword
|
proc ftdi_set_baudrate stdcall uses ebx, dev:dword, baud:dword
|
||||||
locals
|
locals
|
||||||
ConfPacket rb 10
|
ConfPacket rb 8
|
||||||
EventData rd 3
|
|
||||||
endl
|
endl
|
||||||
xor esi, esi
|
|
||||||
xor ecx, ecx
|
|
||||||
invoke CreateEvent
|
|
||||||
mov [EventData], eax
|
|
||||||
mov [EventData + 4], edx
|
|
||||||
|
|
||||||
mov ebx, [dev]
|
mov ebx, [dev]
|
||||||
cmp [ebx + ftdi_context.chipType], TYPE_2232H
|
cmp [ebx + ftdi_context.chipType], TYPE_2232H
|
||||||
jl .c_clk
|
jl .c_clk
|
||||||
@@ -1257,7 +1292,7 @@ endl
|
|||||||
jmp .calcend
|
jmp .calcend
|
||||||
|
|
||||||
.c_nextbaud2:
|
.c_nextbaud2:
|
||||||
cmp dword [edi + 8], C_CLK / (2 * 16)
|
cmp dword [baud], C_CLK / (2 * 16)
|
||||||
jl .c_nextbaud3
|
jl .c_nextbaud3
|
||||||
mov edx, 2
|
mov edx, 2
|
||||||
mov ecx, C_CLK / (2 * 16)
|
mov ecx, C_CLK / (2 * 16)
|
||||||
@@ -1348,23 +1383,51 @@ endl
|
|||||||
mov word [ConfPacket + 4], cx
|
mov word [ConfPacket + 4], cx
|
||||||
mov word [ConfPacket + 6], 0
|
mov word [ConfPacket + 6], 0
|
||||||
|
|
||||||
lea esi, [ConfPacket]
|
lea ebx, [ConfPacket]
|
||||||
|
stdcall ftdi_blocking_ctrl_tranfser, [dev], ebx
|
||||||
|
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
proc ftdi_blocking_ctrl_tranfser stdcall uses ebx esi edi, dev:dword, conf:dword
|
||||||
|
; conf is a pointer to values: bmRequestType, bRequest, wValue, wIndex, wLength
|
||||||
|
locals
|
||||||
|
EventData rd 3
|
||||||
|
endl
|
||||||
|
xor esi, esi
|
||||||
|
xor ecx, ecx
|
||||||
|
invoke CreateEvent
|
||||||
|
test eax, eax
|
||||||
|
jz .exit
|
||||||
|
mov [EventData], eax
|
||||||
|
mov [EventData + 4], edx
|
||||||
|
|
||||||
|
mov eax, [dev]
|
||||||
|
mov esi, [conf]
|
||||||
lea edi, [EventData]
|
lea edi, [EventData]
|
||||||
invoke USBControlTransferAsync, [ebx + ftdi_context.nullP], esi, 0,\
|
invoke USBControlTransferAsync, [eax + ftdi_context.nullP], esi, 0,\
|
||||||
0, control_callback, edi, 0
|
0, control_callback, edi, 0
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .error
|
jz .error
|
||||||
|
|
||||||
mov eax, [EventData]
|
mov eax, [EventData]
|
||||||
mov ebx, [EventData + 4]
|
mov ebx, [EventData + 4]
|
||||||
invoke WaitEvent
|
invoke WaitEvent
|
||||||
|
|
||||||
|
cmp [EventData + 8], 0 ; USB_STATUS_OK
|
||||||
|
jne .error
|
||||||
|
|
||||||
mov eax, [EventData]
|
mov eax, [EventData]
|
||||||
mov ebx, [EventData + 4]
|
mov ebx, [EventData + 4]
|
||||||
invoke DestroyEvent
|
invoke DestroyEvent
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.error:
|
.error:
|
||||||
|
mov eax, [EventData]
|
||||||
|
mov ebx, [EventData + 4]
|
||||||
|
invoke DestroyEvent
|
||||||
|
.exit:
|
||||||
or eax, -1
|
or eax, -1
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
@@ -668,6 +668,8 @@ 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
|
||||||
@@ -696,6 +698,24 @@ 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
|
||||||
@@ -711,16 +731,19 @@ 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,6 +692,15 @@ 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
|
||||||
//
|
//
|
||||||
@@ -748,7 +757,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)(...) = (void (__stdcall*)(...))&"glMultMatrixf";
|
void (__stdcall* glMultMatrixf)(const GLfloat *m) = (void (__stdcall*)(const GLfloat*))&"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";
|
||||||
@@ -763,7 +772,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)(...) = (void (__stdcall*)(...))&"glClearDepth";
|
void (__stdcall* glClearDepth)(double depth) = (void (__stdcall*)(double))&"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";
|
||||||
@@ -799,18 +808,22 @@ 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)(...) = (void (__stdcall*)(...))&"glOrtho";
|
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* 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)(...) = (void (__stdcall*)(...))&"gluPerspective";
|
void (__stdcall* gluPerspective)(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) = (void (__stdcall*)(GLdouble, GLdouble, GLdouble, GLdouble))&"gluPerspective";
|
||||||
//void (__stdcall* gluNewQuadric)(...) = (void (__stdcall*)(...))&"gluNewQuadric";
|
GLUquadricObj* (__stdcall* gluNewQuadric)() = (GLUquadricObj* (__stdcall*)())&"gluNewQuadric";
|
||||||
//void (__stdcall* gluDeleteQuadric)(...) = (void (__stdcall*)(...))&"gluDeleteQuadric";
|
void (__stdcall* gluDeleteQuadric)(GLUquadricObj *state) = (void (__stdcall*)(GLUquadricObj*))&"gluDeleteQuadric";
|
||||||
//void (__stdcall* gluQuadricDrawStyle)(...) = (void (__stdcall*)(...))&"gluQuadricDrawStyle";
|
void (__stdcall* gluQuadricDrawStyle)(GLUquadricObj *quadObject, GLenum drawStyle) = (void (__stdcall*)(GLUquadricObj*, GLenum))&"gluQuadricDrawStyle";
|
||||||
//void (__stdcall* gluQuadricOrientation)(...) = (void (__stdcall*)(...))&"gluQuadricOrientation";
|
void (__stdcall* gluQuadricOrientation)(GLUquadricObj *quadObject, GLenum orientation) = (void (__stdcall*)(GLUquadricObj*, GLenum))&"gluQuadricOrientation";
|
||||||
//void (__stdcall* gluQuadricTexture)(...) = (void (__stdcall*)(...))&"gluQuadricTexture";
|
void (__stdcall* gluQuadricTexture)(GLUquadricObj *quadObject, GLboolean textureCoords) = (void (__stdcall*)(GLUquadricObj*, GLboolean))&"gluQuadricTexture";
|
||||||
//void (__stdcall* gluCylinder)(...) = (void (__stdcall*)(...))&"gluCylinder";
|
void (__stdcall* gluCylinder)(GLUquadricObj *qobj,
|
||||||
//void (__stdcall* gluSphere)(...) = (void (__stdcall*)(...))&"gluSphere";
|
GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLdouble, GLdouble, GLint, GLint))&"gluCylinder";
|
||||||
|
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
|
||||||
@@ -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\trunk\calc.asm %BIN%\calc
|
fasm other\calc\calc.asm %BIN%\calc
|
||||||
fasm other\mhc\trunk\mhc.asm %BIN%\mhc
|
fasm other\mhc\trunk\mhc.asm %BIN%\mhc
|
||||||
fasm other\period\trunk\period.asm %BIN%\period
|
fasm other\period\period.asm %BIN%\period
|
||||||
fasm other\rtfread\trunk\rtfread.asm %BIN%\rtfread
|
fasm other\rtfread\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\trunk\animage.asm %BIN%\animage
|
fasm media\animage\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
|
||||||
@@ -201,39 +201,39 @@ rem fasm games\hunter\trunk\hunter.asm %BIN%\games\hunter
|
|||||||
echo *
|
echo *
|
||||||
echo Building demos
|
echo Building demos
|
||||||
echo *
|
echo *
|
||||||
fasm demos\3dcube2\trunk\3dcube2.asm %BIN%\3d\3dcube2
|
fasm demos\3dcube2\3dcube2.asm %BIN%\3d\3dcube2
|
||||||
rem fasm demos\3detx60b\trunk\3detx60b.asm %BIN%\3d\3detx60b
|
rem fasm demos\3detx60b\3detx60b.asm %BIN%\3d\3detx60b
|
||||||
fasm demos\3dtcub10\trunk\3dtcub10.asm %BIN%\3d\3dtcub10
|
fasm demos\3dtcub10\3dtcub10.asm %BIN%\3d\3dtcub10
|
||||||
cd demos\aclock\trunk\
|
cd demos\aclock\trunk\
|
||||||
nasmw -t -f bin -o ..\..\..\%BIN%\demos\aclock aclock.asm
|
nasmw -t -f bin -o ..\..\..\%BIN%\demos\aclock aclock.asm
|
||||||
cd ..\..\..
|
cd ..\..\..
|
||||||
fasm demos\bcdclk\trunk\bcdclk.asm %BIN%\demos\bcdclk
|
fasm demos\bcdclk\bcdclk.asm %BIN%\demos\bcdclk
|
||||||
fasm demos\bgitest\trunk\bgitest.asm %BIN%\fonts\bgitest
|
rem fasm demos\bgitest\trunk\bgitest.asm %BIN%\fonts\bgitest
|
||||||
fasm demos\colorref\trunk\colorref.asm %BIN%\demos\colorref
|
fasm demos\colorref\colorref.asm %BIN%\demos\colorref
|
||||||
fasm demos\crownscr\trunk\crownscr.asm %BIN%\3d\crownscr
|
fasm demos\crownscr\crownscr.asm %BIN%\3d\crownscr
|
||||||
fasm demos\cslide\trunk\cslide.asm %BIN%\demos\cslide
|
fasm demos\cslide\cslide.asm %BIN%\demos\cslide
|
||||||
fasm demos\eyes\trunk\eyes.asm %BIN%\demos\eyes
|
fasm demos\eyes\eyes.asm %BIN%\demos\eyes
|
||||||
fasm demos\fire\trunk\fire.asm %BIN%\demos\fire
|
fasm demos\fire\fire.asm %BIN%\demos\fire
|
||||||
fasm demos\fire2\trunk\fire2.asm %BIN%\demos\fire2
|
fasm demos\fire2\fire2.asm %BIN%\demos\fire2
|
||||||
fasm demos\firework\trunk\firework.asm %BIN%\demos\firework
|
fasm demos\firework\firework.asm %BIN%\demos\firework
|
||||||
fasm demos\free3d04\trunk\free3d04.asm %BIN%\3d\free3d04
|
fasm demos\free3d04\free3d04.asm %BIN%\3d\free3d04
|
||||||
fasm demos\magnify\trunk\magnify.asm %BIN%\magnify
|
rem fasm demos\magnify\trunk\magnify.asm %BIN%\magnify
|
||||||
fasm demos\movback\trunk\movback.asm %BIN%\demos\movback
|
fasm demos\movback\movback.asm %BIN%\demos\movback
|
||||||
fasm demos\plasma\trunk\plasma.asm %BIN%\demos\plasma
|
fasm demos\plasma\plasma.asm %BIN%\demos\plasma
|
||||||
fasm demos\timer\trunk\timer.asm %BIN%\demos\timer
|
fasm demos\timer\timer.asm %BIN%\demos\timer
|
||||||
fasm demos\tinyfrac\trunk\tinyfrac.asm %BIN%\demos\tinyfrac
|
fasm demos\tinyfrac\tinyfrac.asm %BIN%\demos\tinyfrac
|
||||||
fasm demos\transp\trunk\transp.asm %BIN%\demos\transp
|
fasm demos\transp\transp.asm %BIN%\demos\transp
|
||||||
fasm demos\trantest\trunk\trantest.asm %BIN%\demos\trantest
|
fasm demos\trantest\trantest.asm %BIN%\demos\trantest
|
||||||
fasm demos\tube\trunk\tube.asm %BIN%\demos\tube
|
fasm demos\tube\tube.asm %BIN%\demos\tube
|
||||||
fasm demos\unvwater\trunk\unvwater.asm %BIN%\demos\unvwater
|
fasm demos\unvwater\unvwater.asm %BIN%\demos\unvwater
|
||||||
|
|
||||||
echo *
|
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\trunk\kiv.asm %BIN%\nightbuild\kiv
|
fasm media\kiv\kiv.asm %BIN%\nightbuild\kiv
|
||||||
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
|
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
|
||||||
fasm media\animage\trunk\animage.asm %BIN%\nightbuild\animage
|
fasm media\animage\animage.asm %BIN%\nightbuild\animage
|
||||||
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
|
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
|
||||||
fasm develop\heed\trunk\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
|
||||||
@@ -242,27 +242,27 @@ fasm system\hdd_info\trunk\hdd_info.asm %BIN%\nightbuild\hdd_info
|
|||||||
fasm system\mgb\trunk\mgb.asm %BIN%\nightbuild\mgb
|
fasm system\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\trunk\rtfread.asm %BIN%\nightbuild\rtfread
|
fasm other\rtfread\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,6 +85,7 @@ 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"
|
||||||
@@ -94,16 +95,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));
|
canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count)+200);
|
||||||
canvas.Fill(0, bg_colors.get(0));
|
canvas.Fill(0, bg_colors.get(0));
|
||||||
}
|
}
|
||||||
bg_colors.drop();
|
bg_colors.drop();
|
||||||
@@ -114,7 +115,6 @@ 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, list.font_type, pc, _line, NULL);
|
canvas.WriteText(draw_x, 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.b) canvas.WriteText(draw_x+1, draw_y+1, 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, list.item_h - zoom - zoom + draw_y, pw, zoom, pc);
|
if (style.u) canvas.DrawBar(draw_x, draw_y + list.font_h, 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.item_h - calc(zoom*2)-1, pw, zoom, link_color_default);
|
canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, link_color_default);
|
||||||
links.add_text(draw_x, draw_y + list.y, pw, list.item_h - calc(zoom*2)-1, zoom);
|
links.add_text(draw_x, draw_y + list.y, pw, list.font_h, zoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_SKIP_DRAW:
|
_SKIP_DRAW:
|
||||||
|
@@ -208,9 +208,20 @@ void TWebBrowser::tag_li()
|
|||||||
void TWebBrowser::tag_hr()
|
void TWebBrowser::tag_hr()
|
||||||
{
|
{
|
||||||
dword hrcol = 0x00777777;
|
dword hrcol = 0x00777777;
|
||||||
if (tag.get_value_of("color")) hrcol = GetColor(tag.value);
|
dword hr_width = draw_w-BODY_MARGIN-BODY_MARGIN;
|
||||||
|
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(5+left_gap, style.cur_line_h / 2 + draw_y - 1, draw_w-10, 1, hrcol);
|
if (secondrun) canvas.DrawBar(left_gap, style.cur_line_h / 2 + draw_y - 1, hr_width, hr_size, hrcol);
|
||||||
|
draw_y += hr_size - 3;
|
||||||
draw_x++;
|
draw_x++;
|
||||||
NewLine();
|
NewLine();
|
||||||
return;
|
return;
|
||||||
@@ -235,6 +246,12 @@ 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') {
|
||||||
@@ -250,19 +267,18 @@ void TWebBrowser::tag_h1234_caption()
|
|||||||
NewLine();
|
NewLine();
|
||||||
}
|
}
|
||||||
if (tag.is("h1")) {
|
if (tag.is("h1")) {
|
||||||
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b);
|
list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
|
||||||
style.b = true;
|
style.b = true;
|
||||||
} else if (tag.is("h2")) {
|
} else if (tag.is("h2")) {
|
||||||
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b);
|
list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
|
||||||
} else {
|
} else {
|
||||||
list.SetFont(6*2, 9+7, 10001001b);
|
list.SetFont(6*2, 9+8, 10001001b);
|
||||||
}
|
}
|
||||||
style.cur_line_h = list.item_h = list.font_h + 2;
|
style.cur_line_h = list.item_h = list.font_h + 3;
|
||||||
} else {
|
} else {
|
||||||
if (tag.is("h1")) style.b = false;
|
if (tag.is("h1")) style.b = false;
|
||||||
NewLine();
|
NewLine();
|
||||||
list.SetFont(BASIC_CHAR_W, 14, 10011000b);
|
reset_font_style();
|
||||||
style.cur_line_h = list.item_h = BASIC_LINE_H;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -270,11 +286,15 @@ 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 (draw_x + 18 > canvas.bufw) NewLine();
|
if (tag.number < maxicon) {
|
||||||
canvas.DrawImage(draw_x, draw_y-2, 18, 18, 18*18*4*tag.number+shared_i18);
|
if (draw_x + 18 > canvas.bufw) NewLine();
|
||||||
draw_x += 22;
|
canvas.DrawImage(draw_x, draw_y-1, 18, 18, 18*18*4*tag.number+shared_i18);
|
||||||
|
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)-1);
|
if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home));
|
||||||
else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test)-1);
|
else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test));
|
||||||
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)-1);
|
else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
|
||||||
|
|
||||||
} 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)-1);
|
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
|
||||||
}
|
}
|
||||||
} 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)-1);
|
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
|
||||||
} 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.85";
|
char version[]="WebView 3.91";
|
@@ -1,7 +1,7 @@
|
|||||||
#ifdef LANG_RUS
|
#ifdef LANG_RUS
|
||||||
#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>"
|
#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>"
|
||||||
#else
|
#else
|
||||||
#define HISTORY_HEADER "<html><title>History</title><body><b>Visited pages</b><br>"
|
#define HISTORY_HEADER "<html><title>History</title><body bgcolor=#fff><h3>Visited pages</h3><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, "<a href='");
|
strcat(history_pointer, "<kosicon n=3><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,17 +1,49 @@
|
|||||||
<html>
|
<html><head><title>New tab</title></head>
|
||||||
<head>
|
<body bgcolor=#fff>
|
||||||
<title>Homepage</title>
|
|
||||||
</head>
|
|
||||||
<body><pre>Welcome to WebView a Text-Based Browser.
|
|
||||||
|
|
||||||
KolibriOS Bookmarks:
|
<table><tr><td width=20><td width=220><pre>
|
||||||
1. <a href=//kolibrios.org>Homepage</a>
|
_____________________
|
||||||
2. <a href="//builds.kolibrios.org">Night-builds</a>
|
|# : : #|
|
||||||
3. <a href="//ftp.kolibrios.org">FTP Server</a>
|
| : WebView : |
|
||||||
|
| : for : |
|
||||||
|
| : KolibriOS : |
|
||||||
|
| : : |
|
||||||
|
| :_______________: |
|
||||||
|
| ____________ |
|
||||||
|
| | __ | |
|
||||||
|
| || | | |
|
||||||
|
\_____||__|________|__|<font color=#DDD>lc</font>
|
||||||
|
|
||||||
<font bg=#F8F15B>By the way,</font>
|
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
|
||||||
|
<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.
|
||||||
• Click on a label in the bottom right corner to change the encoding of a page.
|
• You can manually change the encoding of a page by clicking on a label in the bottom right corner.
|
||||||
</font>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
~+
|
||||||
|
|
||||||
|
* +
|
||||||
|
' |
|
||||||
|
() .-.,="``"=. - o -
|
||||||
|
'=/_ \ |
|
||||||
|
* | '=._ |
|
||||||
|
\ `=./`, '
|
||||||
|
. '=.__.=' `=' *
|
||||||
|
+ +
|
||||||
|
O * ' .<font color=#DDD>jgs</font>
|
@@ -1,15 +1,49 @@
|
|||||||
<html><head><meta charset="cp-866">
|
<html><head><title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title></head>
|
||||||
<title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD></title></head>
|
<body bgcolor=#fff>
|
||||||
<body><pre><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<>⮢<EFBFBD><E2AEA2> <20><><EFBFBD>㧥<EFBFBD> WebView!
|
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KolibriOS:<ol>
|
<table><tr><td width=20><td width=220><pre>
|
||||||
<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>
|
|# : : #|
|
||||||
<li><a href="//ftp.kolibrios.org">FTP <20><>ࢥ<EFBFBD></a></ol>
|
| : WebView : |
|
||||||
|
| : for : |
|
||||||
|
| : KolibriOS : |
|
||||||
|
| : : |
|
||||||
|
| :_______________: |
|
||||||
|
| ____________ |
|
||||||
|
| | __ | |
|
||||||
|
| || | | |
|
||||||
|
\_____||__|________|__|<font color=#DDD>lc</font>
|
||||||
|
|
||||||
<font bg=#F8F15B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,</font>
|
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
|
||||||
|
<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,12 +5,19 @@
|
|||||||
<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>Это тестовая страница для проверки WebViewer</h1>
|
<h1 align=center>Тест Acid 0.1</h1>
|
||||||
<br />
|
<br>
|
||||||
<p>WebViewer является текстовым браузером и поддерживает все популярные кодировки (cp1251, koi-8, cp866, unicode)
|
<b>Это тестовая страница для проверки текстового браузера <s>HTML Viewer</s> WebView</b>
|
||||||
и некоторые теги. Поддержка таблииц (<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>
|
||||||
@@ -33,7 +40,8 @@
|
|||||||
</b>
|
</b>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<p>
|
<table>
|
||||||
|
<td>
|
||||||
<bg bgcolor=#333>
|
<bg bgcolor=#333>
|
||||||
Небольшой список:<ol>
|
Небольшой список:<ol>
|
||||||
<li><q>Этот текст в кавычках</q></li>
|
<li><q>Этот текст в кавычках</q></li>
|
||||||
@@ -46,17 +54,14 @@
|
|||||||
</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>
|
||||||
@@ -65,10 +70,25 @@
|
|||||||
<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://bash.im">http://bash.im</a><br>
|
<a href="http://kolibrios.org">http://kolibrios.org</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>
|
||||||
|
|
||||||
В этом тексте есть переход на следующую строку, но браузер
|
В этом тексте есть переход на следующую строку, но браузер
|
||||||
его должен проигнорировать. Еще много пробелов. А тут есть
|
его должен проигнорировать. Еще много пробелов. А тут есть
|
||||||
@@ -80,8 +100,19 @@
|
|||||||
корпус на территории НТУ «ХПИ»
|
корпус на территории НТУ «ХПИ»
|
||||||
</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>Zhitomyr 2008-2015</center>
|
<center>Zhytomyr 2008-2025</center>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
@@ -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,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())
|
||||||
|
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
@@ -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,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,150 +1,153 @@
|
|||||||
;
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
; BCD CLOCK
|
;
|
||||||
;
|
|
||||||
; Compile with FASM for Menuet
|
;
|
||||||
;
|
; BCD CLOCK
|
||||||
;
|
;
|
||||||
|
; Compile with FASM for Menuet
|
||||||
use32
|
;
|
||||||
|
;
|
||||||
org 0x0
|
|
||||||
|
use32
|
||||||
db 'MENUET01'
|
|
||||||
dd 0x01
|
org 0x0
|
||||||
dd START
|
|
||||||
dd I_END
|
db 'MENUET01'
|
||||||
dd 0x1000
|
dd 0x01
|
||||||
dd 0x1000
|
dd START
|
||||||
dd 0x0 , 0x0
|
dd I_END
|
||||||
|
dd 0x1000
|
||||||
include 'lang.inc'
|
dd 0x1000
|
||||||
include '../../../macros.inc'
|
dd 0x0 , 0x0
|
||||||
|
|
||||||
|
include 'lang.inc'
|
||||||
START:
|
include '../../macros.inc'
|
||||||
red:
|
|
||||||
call drawwindow
|
|
||||||
|
START:
|
||||||
still:
|
red:
|
||||||
|
call drawwindow
|
||||||
|
|
||||||
mov eax,23 ; wait for timeout
|
still:
|
||||||
mov ebx,50
|
|
||||||
mcall
|
|
||||||
|
mov eax,23 ; wait for timeout
|
||||||
cmp eax,1 ; redraw ?
|
mov ebx,50
|
||||||
je red
|
mcall
|
||||||
|
|
||||||
cmp eax, 2 ; key
|
cmp eax,1 ; redraw ?
|
||||||
je key
|
je red
|
||||||
|
|
||||||
cmp eax,3 ; button in buffer ?
|
cmp eax, 2 ; key
|
||||||
je button
|
je key
|
||||||
|
|
||||||
call drawclock
|
cmp eax,3 ; button in buffer ?
|
||||||
|
je button
|
||||||
jmp still
|
|
||||||
|
call drawclock
|
||||||
key:
|
|
||||||
mov eax, 2
|
jmp still
|
||||||
int 0x40
|
|
||||||
jmp still
|
key:
|
||||||
|
mov eax, 2
|
||||||
button:
|
int 0x40
|
||||||
mov al,17 ; get id
|
jmp still
|
||||||
mcall
|
|
||||||
|
button:
|
||||||
cmp ah,1 ; button id=1 ?
|
mov al,17 ; get id
|
||||||
jne noclose
|
mcall
|
||||||
or eax,-1 ; close this program
|
|
||||||
mcall
|
cmp ah,1 ; button id=1 ?
|
||||||
noclose:
|
jne noclose
|
||||||
|
or eax,-1 ; close this program
|
||||||
jmp still
|
mcall
|
||||||
|
noclose:
|
||||||
drawclock:
|
|
||||||
|
jmp still
|
||||||
mov eax,3 ; get time
|
|
||||||
mcall
|
drawclock:
|
||||||
bswap eax
|
|
||||||
shr eax,8
|
mov eax,3 ; get time
|
||||||
mov edi,dg1
|
mcall
|
||||||
mov ecx,6
|
bswap eax
|
||||||
dgtomem:
|
shr eax,8
|
||||||
push eax
|
mov edi,dg1
|
||||||
and al,0x0f
|
mov ecx,6
|
||||||
mov [edi],al
|
dgtomem:
|
||||||
inc edi
|
push eax
|
||||||
pop eax
|
and al,0x0f
|
||||||
shr eax,4
|
mov [edi],al
|
||||||
loop dgtomem
|
inc edi
|
||||||
mov ebx,79*65536+11
|
pop eax
|
||||||
mov edi,dg1
|
shr eax,4
|
||||||
digitlp:
|
loop dgtomem
|
||||||
mov ecx,10*65536+11
|
mov ebx,79*65536+11
|
||||||
xor esi,esi
|
mov edi,dg1
|
||||||
plotlp:
|
digitlp:
|
||||||
xor edx,edx
|
mov ecx,10*65536+11
|
||||||
test byte[edi],8
|
xor esi,esi
|
||||||
je nobit
|
plotlp:
|
||||||
mov edx,0x00ff0000
|
xor edx,edx
|
||||||
nobit:
|
test byte[edi],8
|
||||||
mov eax,13 ; plot 8,4,2,1
|
je nobit
|
||||||
mcall
|
mov edx,0x00ff0000
|
||||||
add ecx,13*65536
|
nobit:
|
||||||
shl byte[edi],1
|
mov eax,13 ; plot 8,4,2,1
|
||||||
inc esi
|
mcall
|
||||||
cmp esi,4
|
add ecx,13*65536
|
||||||
jne plotlp
|
shl byte[edi],1
|
||||||
shr byte[edi],4
|
inc esi
|
||||||
mov edx,0x00880040
|
cmp esi,4
|
||||||
mov eax,13 ; draw digit box
|
jne plotlp
|
||||||
mcall
|
shr byte[edi],4
|
||||||
pusha
|
mov edx,0x00880040
|
||||||
mov edx,ebx
|
mov eax,13 ; draw digit box
|
||||||
and edx,0xffff0000
|
mcall
|
||||||
shr ecx,16
|
pusha
|
||||||
or edx,ecx
|
mov edx,ebx
|
||||||
add edx,3*65536+2
|
and edx,0xffff0000
|
||||||
mov ebx,0x00010100
|
shr ecx,16
|
||||||
mov ecx,[edi]
|
or edx,ecx
|
||||||
mov esi,0x00ffffff
|
add edx,3*65536+2
|
||||||
mov eax,47 ; display decimal
|
mov ebx,0x00010100
|
||||||
mcall
|
mov ecx,[edi]
|
||||||
popa
|
mov esi,0x00ffffff
|
||||||
sub ebx,13*65536
|
mov eax,47 ; display decimal
|
||||||
inc edi
|
mcall
|
||||||
cmp edi,dg1+6
|
popa
|
||||||
jne digitlp
|
sub ebx,13*65536
|
||||||
ret
|
inc edi
|
||||||
|
cmp edi,dg1+6
|
||||||
|
jne digitlp
|
||||||
drawwindow:
|
ret
|
||||||
|
|
||||||
|
|
||||||
mov eax,12
|
drawwindow:
|
||||||
mov ebx,1 ; start redraw
|
|
||||||
mcall
|
|
||||||
|
mov eax,12
|
||||||
mov eax, 48
|
mov ebx,1 ; start redraw
|
||||||
mov ebx, 4
|
mcall
|
||||||
mcall
|
|
||||||
mov ecx, eax
|
mov eax, 48
|
||||||
xor eax,eax ; window
|
mov ebx, 4
|
||||||
mov ebx,100*65536+113
|
mcall
|
||||||
add ecx,100*65536+87
|
mov ecx, eax
|
||||||
mov edx,0x34400088
|
xor eax,eax ; window
|
||||||
mov edi,title
|
mov ebx,100*65536+113
|
||||||
mcall
|
add ecx,100*65536+87
|
||||||
|
mov edx,0x34400088
|
||||||
call drawclock
|
mov edi,title
|
||||||
|
mcall
|
||||||
mov eax,12
|
|
||||||
mov ebx,2 ; end redraw
|
call drawclock
|
||||||
mcall
|
|
||||||
|
mov eax,12
|
||||||
ret
|
mov ebx,2 ; end redraw
|
||||||
|
mcall
|
||||||
title db 'BCD Clock',0
|
|
||||||
I_END:
|
ret
|
||||||
dg1: db ?
|
|
||||||
|
title db 'BCD Clock',0
|
||||||
|
I_END:
|
||||||
|
dg1: db ?
|
@@ -1,357 +1,360 @@
|
|||||||
; App written by randall ported to Kolibri and MenuetOS64 by macgub (www.macgub.hekko.pl).
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
; Now it use static memory, it is mixed 32bit code and SSE instructions.
|
;
|
||||||
|
|
||||||
include '../../../macros.inc'
|
; App written by randall ported to Kolibri and MenuetOS64 by macgub (www.macgub.hekko.pl).
|
||||||
include '../../../KOSfuncs.inc'
|
; Now it use static memory, it is mixed 32bit code and SSE instructions.
|
||||||
|
|
||||||
use32
|
include '../../macros.inc'
|
||||||
org 0x0
|
include '../../KOSfuncs.inc'
|
||||||
|
|
||||||
db 'MENUET01' ; 8 byte id
|
use32
|
||||||
dd 0x01 ; header version
|
org 0x0
|
||||||
dd START ; start of code
|
|
||||||
dd IMG_END ; size of image
|
db 'MENUET01' ; 8 byte id
|
||||||
dd I_END ;0x100000 ; memory for app
|
dd 0x01 ; header version
|
||||||
dd I_END ;0xbffff ; esp
|
dd START ; start of code
|
||||||
dd 0x0 , 0x0 ; I_Param , I_Icon
|
dd IMG_END ; size of image
|
||||||
|
dd I_END ;0x100000 ; memory for app
|
||||||
; start of execution
|
dd I_END ;0xbffff ; esp
|
||||||
START:
|
dd 0x0 , 0x0 ; I_Param , I_Icon
|
||||||
|
|
||||||
call draw_window
|
; start of execution
|
||||||
call draw_from_buffer
|
START:
|
||||||
call Main
|
|
||||||
call draw_from_buffer
|
call draw_window
|
||||||
|
call draw_from_buffer
|
||||||
mcall SF_SET_CAPTION,1,wintitle2
|
call Main
|
||||||
|
call draw_from_buffer
|
||||||
still:
|
|
||||||
|
mcall SF_SET_CAPTION,1,wintitle2
|
||||||
mcall SF_WAIT_EVENT
|
|
||||||
|
still:
|
||||||
cmp eax,EV_REDRAW
|
|
||||||
je .redraw
|
mcall SF_WAIT_EVENT
|
||||||
cmp eax,EV_KEY
|
|
||||||
je .key
|
cmp eax,EV_REDRAW
|
||||||
cmp eax,EV_BUTTON
|
je .redraw
|
||||||
je .button
|
cmp eax,EV_KEY
|
||||||
jmp still
|
je .key
|
||||||
|
cmp eax,EV_BUTTON
|
||||||
.redraw:
|
je .button
|
||||||
call draw_window
|
jmp still
|
||||||
call draw_from_buffer
|
|
||||||
jmp still
|
.redraw:
|
||||||
|
call draw_window
|
||||||
.key:
|
call draw_from_buffer
|
||||||
mcall SF_GET_KEY
|
jmp still
|
||||||
shr eax,16 ; get scancode in 'al'
|
|
||||||
cmp al,1
|
.key:
|
||||||
je .exit
|
mcall SF_GET_KEY
|
||||||
cmp al,66
|
shr eax,16 ; get scancode in 'al'
|
||||||
je set_as_wallpaper
|
cmp al,1
|
||||||
jmp still
|
je .exit
|
||||||
|
cmp al,66
|
||||||
.button:
|
je set_as_wallpaper
|
||||||
mcall SF_GET_BUTTON
|
jmp still
|
||||||
cmp ah,1 ; button id=1 ?
|
|
||||||
jne still
|
.button:
|
||||||
|
mcall SF_GET_BUTTON
|
||||||
.exit:
|
cmp ah,1 ; button id=1 ?
|
||||||
mcall SF_TERMINATE_PROCESS
|
jne still
|
||||||
|
|
||||||
|
.exit:
|
||||||
set_as_wallpaper:
|
mcall SF_TERMINATE_PROCESS
|
||||||
mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
|
|
||||||
mcall SF_BACKGROUND_SET,SSF_SIZE_BG,IMG_SIZE,IMG_SIZE
|
|
||||||
mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,screen,0,3*IMG_SIZE*IMG_SIZE
|
set_as_wallpaper:
|
||||||
mcall SF_BACKGROUND_SET,SSF_REDRAW_BG
|
mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
|
||||||
jmp still
|
mcall SF_BACKGROUND_SET,SSF_SIZE_BG,IMG_SIZE,IMG_SIZE
|
||||||
|
mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,screen,0,3*IMG_SIZE*IMG_SIZE
|
||||||
draw_from_buffer:
|
mcall SF_BACKGROUND_SET,SSF_REDRAW_BG
|
||||||
pusha
|
jmp still
|
||||||
mcall SF_PUT_IMAGE,screen,IMG_SIZE*65536+IMG_SIZE,0
|
|
||||||
popa
|
draw_from_buffer:
|
||||||
ret
|
pusha
|
||||||
|
mcall SF_PUT_IMAGE,screen,IMG_SIZE*65536+IMG_SIZE,0
|
||||||
;-------------------------------------------------------------------------------
|
popa
|
||||||
; NAME: XORWOW
|
ret
|
||||||
; DESC: Pseudo random number generator.
|
|
||||||
; OUT: eax [0;2^32-1]
|
;-------------------------------------------------------------------------------
|
||||||
;-------------------------------------------------------------------------------
|
; NAME: XORWOW
|
||||||
macro XORWOW {
|
; DESC: Pseudo random number generator.
|
||||||
mov edx,[g_xorwow_x] ; edx = x
|
; OUT: eax [0;2^32-1]
|
||||||
shr edx,2 ; edx = x >> 2
|
;-------------------------------------------------------------------------------
|
||||||
xor edx,[g_xorwow_x] ; t = x ^ (x >> 2)
|
macro XORWOW {
|
||||||
mov eax,[g_xorwow_y] ; eax = y
|
mov edx,[g_xorwow_x] ; edx = x
|
||||||
mov [g_xorwow_x],eax ; x = y
|
shr edx,2 ; edx = x >> 2
|
||||||
mov eax,[g_xorwow_z] ; eax = z
|
xor edx,[g_xorwow_x] ; t = x ^ (x >> 2)
|
||||||
mov [g_xorwow_y],eax ; y = z
|
mov eax,[g_xorwow_y] ; eax = y
|
||||||
mov eax,[g_xorwow_w] ; eax = w
|
mov [g_xorwow_x],eax ; x = y
|
||||||
mov [g_xorwow_z],eax ; z = w
|
mov eax,[g_xorwow_z] ; eax = z
|
||||||
mov eax,[g_xorwow_v] ; eax = v
|
mov [g_xorwow_y],eax ; y = z
|
||||||
mov [g_xorwow_w],eax ; w = v
|
mov eax,[g_xorwow_w] ; eax = w
|
||||||
mov edi,eax ; edi = v
|
mov [g_xorwow_z],eax ; z = w
|
||||||
shl edi,4 ; edi = v << 4
|
mov eax,[g_xorwow_v] ; eax = v
|
||||||
xor edi,eax ; edi = (v ^ (v << 4))
|
mov [g_xorwow_w],eax ; w = v
|
||||||
mov eax,edx ; eax = t
|
mov edi,eax ; edi = v
|
||||||
shl eax,1 ; eax = t << 1
|
shl edi,4 ; edi = v << 4
|
||||||
xor eax,edx ; eax = (t ^ (t << 1))
|
xor edi,eax ; edi = (v ^ (v << 4))
|
||||||
xor eax,edi ; eax = (v ^ (v << 4)) ^ (t ^ (t << 1))
|
mov eax,edx ; eax = t
|
||||||
mov [g_xorwow_v],eax ; v = eax
|
shl eax,1 ; eax = t << 1
|
||||||
add [g_xorwow_d],362437 ; d += 362437
|
xor eax,edx ; eax = (t ^ (t << 1))
|
||||||
mov eax,[g_xorwow_d] ; eax = d
|
xor eax,edi ; eax = (v ^ (v << 4)) ^ (t ^ (t << 1))
|
||||||
add eax,[g_xorwow_v] ; eax = d + v
|
mov [g_xorwow_v],eax ; v = eax
|
||||||
}
|
add [g_xorwow_d],362437 ; d += 362437
|
||||||
;-------------------------------------------------------------------------------
|
mov eax,[g_xorwow_d] ; eax = d
|
||||||
; NAME: RANDOM
|
add eax,[g_xorwow_v] ; eax = d + v
|
||||||
; DESC: Returns pseudo random number in the range [-0.5;0.5).
|
}
|
||||||
; OUT: xmm0.x [-0.5;0.5)
|
;-------------------------------------------------------------------------------
|
||||||
;-------------------------------------------------------------------------------
|
; NAME: RANDOM
|
||||||
macro RANDOM {
|
; DESC: Returns pseudo random number in the range [-0.5;0.5).
|
||||||
XORWOW
|
; OUT: xmm0.x [-0.5;0.5)
|
||||||
cvtsi2ss xmm0,eax
|
;-------------------------------------------------------------------------------
|
||||||
mulss xmm0,[g_rand_scale]
|
macro RANDOM {
|
||||||
}
|
XORWOW
|
||||||
;-------------------------------------------------------------------------------
|
cvtsi2ss xmm0,eax
|
||||||
|
mulss xmm0,[g_rand_scale]
|
||||||
;-------------------------------------------------------------------------------
|
}
|
||||||
; NAME: GenerateSequence
|
;-------------------------------------------------------------------------------
|
||||||
; IN: xmm0.x re (c0.x)
|
|
||||||
; IN: xmm1.x im (c0.y)
|
;-------------------------------------------------------------------------------
|
||||||
; IN: edi array size
|
; NAME: GenerateSequence
|
||||||
; IN/OUT: esi pointer to the allocated array
|
; IN: xmm0.x re (c0.x)
|
||||||
; OUT: eax generated sequence size
|
; IN: xmm1.x im (c0.y)
|
||||||
;-------------------------------------------------------------------------------
|
; IN: edi array size
|
||||||
align 16
|
; IN/OUT: esi pointer to the allocated array
|
||||||
GenerateSequence:
|
; OUT: eax generated sequence size
|
||||||
xor eax,eax ; eax is index loop
|
;-------------------------------------------------------------------------------
|
||||||
xorps xmm4,xmm4 ; xmm4 is c.x
|
align 16
|
||||||
xorps xmm5,xmm5 ; xmm5 is c.y
|
GenerateSequence:
|
||||||
.Loop:
|
xor eax,eax ; eax is index loop
|
||||||
; cn.x = c.x * c.x - c.y * c.y + c0.x
|
xorps xmm4,xmm4 ; xmm4 is c.x
|
||||||
movaps xmm2,xmm4
|
xorps xmm5,xmm5 ; xmm5 is c.y
|
||||||
movaps xmm3,xmm5
|
.Loop:
|
||||||
mulss xmm2,xmm4
|
; cn.x = c.x * c.x - c.y * c.y + c0.x
|
||||||
mulss xmm3,xmm5
|
movaps xmm2,xmm4
|
||||||
subss xmm2,xmm3
|
movaps xmm3,xmm5
|
||||||
addss xmm2,xmm0
|
mulss xmm2,xmm4
|
||||||
movaps xmm6,xmm2 ; xmm6 is cn.x
|
mulss xmm3,xmm5
|
||||||
; cn.y = 2.0 * c.x * c.y + c0.y
|
subss xmm2,xmm3
|
||||||
movaps xmm7,xmm4
|
addss xmm2,xmm0
|
||||||
mulss xmm7,xmm5
|
movaps xmm6,xmm2 ; xmm6 is cn.x
|
||||||
addss xmm7,xmm7
|
; cn.y = 2.0 * c.x * c.y + c0.y
|
||||||
addss xmm7,xmm1 ; xmm7 is cn.y
|
movaps xmm7,xmm4
|
||||||
; store cn
|
mulss xmm7,xmm5
|
||||||
movd dword [esi+eax*8],xmm6
|
addss xmm7,xmm7
|
||||||
movd dword [esi+eax*8+4],xmm7
|
addss xmm7,xmm1 ; xmm7 is cn.y
|
||||||
; if (cn.x * cn.x + cn.y * cn.y > 10.0) return eax;
|
; store cn
|
||||||
movaps xmm2,xmm6
|
movd dword [esi+eax*8],xmm6
|
||||||
movaps xmm3,xmm7
|
movd dword [esi+eax*8+4],xmm7
|
||||||
mulss xmm2,xmm6
|
; if (cn.x * cn.x + cn.y * cn.y > 10.0) return eax;
|
||||||
mulss xmm3,xmm7
|
movaps xmm2,xmm6
|
||||||
addss xmm2,xmm3
|
movaps xmm3,xmm7
|
||||||
ucomiss xmm2,[g_max_dist]
|
mulss xmm2,xmm6
|
||||||
ja .EndLoop
|
mulss xmm3,xmm7
|
||||||
movaps xmm4,xmm6 ; c.x = cn.x
|
addss xmm2,xmm3
|
||||||
movaps xmm5,xmm7 ; c.y = cn.y
|
ucomiss xmm2,[g_max_dist]
|
||||||
; continue loop
|
ja .EndLoop
|
||||||
inc eax
|
movaps xmm4,xmm6 ; c.x = cn.x
|
||||||
cmp eax,edi
|
movaps xmm5,xmm7 ; c.y = cn.y
|
||||||
jb .Loop
|
; continue loop
|
||||||
; return 0
|
inc eax
|
||||||
xor eax,eax
|
cmp eax,edi
|
||||||
.EndLoop:
|
jb .Loop
|
||||||
ret
|
; return 0
|
||||||
;-------------------------------------------------------------------------------
|
xor eax,eax
|
||||||
; NAME: main
|
.EndLoop:
|
||||||
; DESC: Program main function.
|
ret
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
align 16
|
; NAME: main
|
||||||
Main:
|
; DESC: Program main function.
|
||||||
img_ptr equ ebp-8
|
;-------------------------------------------------------------------------------
|
||||||
seq_ptr equ ebp-16
|
align 16
|
||||||
pixel equ ebp-24
|
Main:
|
||||||
r13dd equ ebp-64
|
img_ptr equ ebp-8
|
||||||
r12dd equ ebp-68
|
seq_ptr equ ebp-16
|
||||||
r15dd equ ebp-72
|
pixel equ ebp-24
|
||||||
|
r13dd equ ebp-64
|
||||||
push ebp
|
r12dd equ ebp-68
|
||||||
mov ebp,esp
|
r15dd equ ebp-72
|
||||||
sub esp,128
|
|
||||||
; mem for the sequence
|
push ebp
|
||||||
lea eax,[sequence]
|
mov ebp,esp
|
||||||
mov [seq_ptr],eax
|
sub esp,128
|
||||||
; mem for the image
|
; mem for the sequence
|
||||||
lea eax,[screen]
|
lea eax,[sequence]
|
||||||
mov [img_ptr],eax
|
mov [seq_ptr],eax
|
||||||
; begin loops
|
; mem for the image
|
||||||
mov dword[r13dd],0 ; .LoopIterations counter
|
lea eax,[screen]
|
||||||
.LoopIterations:
|
mov [img_ptr],eax
|
||||||
mov dword[r12dd],0 ; .LoopOneMillion counter
|
; begin loops
|
||||||
.LoopOneMillion:
|
mov dword[r13dd],0 ; .LoopIterations counter
|
||||||
RANDOM
|
.LoopIterations:
|
||||||
mulss xmm0,[g_range]
|
mov dword[r12dd],0 ; .LoopOneMillion counter
|
||||||
movaps xmm1,xmm0
|
.LoopOneMillion:
|
||||||
RANDOM
|
RANDOM
|
||||||
mulss xmm0,[g_range]
|
mulss xmm0,[g_range]
|
||||||
mov edi,SEQ_SIZE
|
movaps xmm1,xmm0
|
||||||
mov esi,[seq_ptr]
|
RANDOM
|
||||||
call GenerateSequence ; eax = n sequence size
|
mulss xmm0,[g_range]
|
||||||
test eax,eax
|
mov edi,SEQ_SIZE
|
||||||
jz .LoopSequenceEnd
|
mov esi,[seq_ptr]
|
||||||
xor ecx,ecx ; ecx = i = 0 loop counter
|
call GenerateSequence ; eax = n sequence size
|
||||||
; mov r9dd,[seq_ptr] ; r9 = sequence base address
|
test eax,eax
|
||||||
; mov r8dd,[img_ptr] ; r8 = image base address
|
jz .LoopSequenceEnd
|
||||||
movss xmm2,[g_img_size]
|
xor ecx,ecx ; ecx = i = 0 loop counter
|
||||||
movaps xmm3,xmm2
|
; mov r9dd,[seq_ptr] ; r9 = sequence base address
|
||||||
mulss xmm3,[g_0_5] ; xmm3 = (g_img_size)/2
|
; mov r8dd,[img_ptr] ; r8 = image base address
|
||||||
movss xmm4,[g_zoom]
|
movss xmm2,[g_img_size]
|
||||||
mulss xmm4,xmm2 ; xmm4 = g_zoom * g_img_size
|
movaps xmm3,xmm2
|
||||||
movss xmm5,[g_offsetx] ; xmm5 = g_offsetx
|
mulss xmm3,[g_0_5] ; xmm3 = (g_img_size)/2
|
||||||
movss xmm6,[g_offsety] ; xmm6 = g_offsety
|
movss xmm4,[g_zoom]
|
||||||
.LoopSequence:
|
mulss xmm4,xmm2 ; xmm4 = g_zoom * g_img_size
|
||||||
cmp ecx,eax ; i < n
|
movss xmm5,[g_offsetx] ; xmm5 = g_offsetx
|
||||||
je .LoopSequenceEnd
|
movss xmm6,[g_offsety] ; xmm6 = g_offsety
|
||||||
movd xmm0,[sequence+ecx*8] ; load re
|
.LoopSequence:
|
||||||
movd xmm1,[sequence+ecx*8+4] ; load im
|
cmp ecx,eax ; i < n
|
||||||
addss xmm0,xmm5 ; xmm0 = re+g_offsetx
|
je .LoopSequenceEnd
|
||||||
addss xmm1,xmm6 ; xmm1 = im+g_offsety
|
movd xmm0,[sequence+ecx*8] ; load re
|
||||||
mulss xmm0,xmm4 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom
|
movd xmm1,[sequence+ecx*8+4] ; load im
|
||||||
mulss xmm1,xmm4 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom
|
addss xmm0,xmm5 ; xmm0 = re+g_offsetx
|
||||||
addss xmm0,xmm3 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom+g_img_size/2
|
addss xmm1,xmm6 ; xmm1 = im+g_offsety
|
||||||
addss xmm1,xmm3 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom+g_img_size/2
|
mulss xmm0,xmm4 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom
|
||||||
cvtss2si edi,xmm0 ; edi = x = int(xmm0.x)
|
mulss xmm1,xmm4 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom
|
||||||
cvtss2si esi,xmm1 ; esi = y = int(xmm1.x)
|
addss xmm0,xmm3 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom+g_img_size/2
|
||||||
cmp edi,0
|
addss xmm1,xmm3 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom+g_img_size/2
|
||||||
jl @f
|
cvtss2si edi,xmm0 ; edi = x = int(xmm0.x)
|
||||||
cmp edi,IMG_SIZE
|
cvtss2si esi,xmm1 ; esi = y = int(xmm1.x)
|
||||||
jge @f
|
cmp edi,0
|
||||||
cmp esi,0
|
jl @f
|
||||||
jl @f
|
cmp edi,IMG_SIZE
|
||||||
cmp esi,IMG_SIZE
|
jge @f
|
||||||
jge @f
|
cmp esi,0
|
||||||
imul esi,esi,IMG_SIZE
|
jl @f
|
||||||
add esi,edi
|
cmp esi,IMG_SIZE
|
||||||
add dword [screen+esi*4],1
|
jge @f
|
||||||
@@:
|
imul esi,esi,IMG_SIZE
|
||||||
inc ecx
|
add esi,edi
|
||||||
jmp .LoopSequence
|
add dword [screen+esi*4],1
|
||||||
.LoopSequenceEnd:
|
@@:
|
||||||
; continue .LoopOneMillion
|
inc ecx
|
||||||
add dword[r12dd],1
|
jmp .LoopSequence
|
||||||
cmp dword[r12dd],1000000
|
.LoopSequenceEnd:
|
||||||
jb .LoopOneMillion
|
; continue .LoopOneMillion
|
||||||
; continue .LoopIterations
|
add dword[r12dd],1
|
||||||
add dword[r13dd],1
|
cmp dword[r12dd],1000000
|
||||||
cmp dword[r13dd],ITERATIONS
|
jb .LoopOneMillion
|
||||||
jb .LoopIterations
|
; continue .LoopIterations
|
||||||
; find max value
|
add dword[r13dd],1
|
||||||
mov dword[r12dd],0
|
cmp dword[r13dd],ITERATIONS
|
||||||
xor eax,eax ; eax = i = loop counter
|
jb .LoopIterations
|
||||||
.LoopMax:
|
; find max value
|
||||||
push ecx
|
mov dword[r12dd],0
|
||||||
mov ecx,[r12dd]
|
xor eax,eax ; eax = i = loop counter
|
||||||
cmp dword [screen+eax*4],ecx
|
.LoopMax:
|
||||||
cmova ecx,dword [screen+eax*4]
|
push ecx
|
||||||
mov [r12dd],ecx
|
mov ecx,[r12dd]
|
||||||
pop ecx
|
cmp dword [screen+eax*4],ecx
|
||||||
inc eax
|
cmova ecx,dword [screen+eax*4]
|
||||||
cmp eax,IMG_SIZE*IMG_SIZE
|
mov [r12dd],ecx
|
||||||
jb .LoopMax
|
pop ecx
|
||||||
; find min value
|
inc eax
|
||||||
; mov r13d,r12d ; r13d = min_val = max_val
|
cmp eax,IMG_SIZE*IMG_SIZE
|
||||||
push dword[r12dd]
|
jb .LoopMax
|
||||||
pop dword[r13dd]
|
; find min value
|
||||||
xor eax,eax ; eax = i = loop counter
|
; mov r13d,r12d ; r13d = min_val = max_val
|
||||||
.LoopMin:
|
push dword[r12dd]
|
||||||
push ecx
|
pop dword[r13dd]
|
||||||
mov ecx,[r13dd]
|
xor eax,eax ; eax = i = loop counter
|
||||||
cmp dword [screen+eax*4],ecx
|
.LoopMin:
|
||||||
|
push ecx
|
||||||
cmovb ecx,dword [screen+eax*4]
|
mov ecx,[r13dd]
|
||||||
mov [r13dd],ecx
|
cmp dword [screen+eax*4],ecx
|
||||||
pop ecx
|
|
||||||
inc eax
|
cmovb ecx,dword [screen+eax*4]
|
||||||
cmp eax,IMG_SIZE*IMG_SIZE
|
mov [r13dd],ecx
|
||||||
jb .LoopMin
|
pop ecx
|
||||||
; write image pixels
|
inc eax
|
||||||
mov byte [pixel+3],255
|
cmp eax,IMG_SIZE*IMG_SIZE
|
||||||
; mov r14,[img_ptr] ; r14 = image base address
|
jb .LoopMin
|
||||||
; xor r15d,r15d ; r15d = i = loop counter
|
; write image pixels
|
||||||
mov dword[r15dd],0
|
mov byte [pixel+3],255
|
||||||
cvtsi2ss xmm0,[r12dd] ; load max_value
|
; mov r14,[img_ptr] ; r14 = image base address
|
||||||
cvtsi2ss xmm1,[r13dd] ; load min_value
|
; xor r15d,r15d ; r15d = i = loop counter
|
||||||
movaps xmm2,xmm0
|
mov dword[r15dd],0
|
||||||
subss xmm2,xmm1 ; xmm2 = r = max_value - min_value
|
cvtsi2ss xmm0,[r12dd] ; load max_value
|
||||||
xor ecx,ecx
|
cvtsi2ss xmm1,[r13dd] ; load min_value
|
||||||
.LoopWrite:
|
movaps xmm2,xmm0
|
||||||
mov eax,[screen+ecx*4] ; eax = image_value
|
subss xmm2,xmm1 ; xmm2 = r = max_value - min_value
|
||||||
sub eax,[r13dd] ; eax = image_value - min_value
|
xor ecx,ecx
|
||||||
cvtsi2ss xmm0,eax ; xmm0 = float(image_value - min_value)
|
.LoopWrite:
|
||||||
addss xmm0,xmm0 ; xmm0 = 2.0f * float(image_value - min_value)
|
mov eax,[screen+ecx*4] ; eax = image_value
|
||||||
divss xmm0,xmm2 ; xmm0 = 2.0f * float(image_value - min_value) / r
|
sub eax,[r13dd] ; eax = image_value - min_value
|
||||||
minss xmm0,[g_1_0] ; clamp to 1.0
|
cvtsi2ss xmm0,eax ; xmm0 = float(image_value - min_value)
|
||||||
maxss xmm0,[g_0_0] ; clamp to 0.0
|
addss xmm0,xmm0 ; xmm0 = 2.0f * float(image_value - min_value)
|
||||||
mulss xmm0,[g_255_0] ; convert to 0 - 255
|
divss xmm0,xmm2 ; xmm0 = 2.0f * float(image_value - min_value) / r
|
||||||
cvtss2si eax,xmm0
|
minss xmm0,[g_1_0] ; clamp to 1.0
|
||||||
; write pixel data
|
maxss xmm0,[g_0_0] ; clamp to 0.0
|
||||||
mov [screen+ecx*3],eax
|
mulss xmm0,[g_255_0] ; convert to 0 - 255
|
||||||
inc ecx
|
cvtss2si eax,xmm0
|
||||||
cmp ecx,IMG_SIZE*IMG_SIZE
|
; write pixel data
|
||||||
jb .LoopWrite
|
mov [screen+ecx*3],eax
|
||||||
mov esp,ebp
|
inc ecx
|
||||||
pop ebp
|
cmp ecx,IMG_SIZE*IMG_SIZE
|
||||||
ret
|
jb .LoopWrite
|
||||||
; restore img_ptr,seq_ptr,pixel
|
mov esp,ebp
|
||||||
;-------------------------------------------------------------------------------
|
pop ebp
|
||||||
; *********************************************
|
ret
|
||||||
; ******* WINDOW DEFINITIONS AND DRAW ********
|
; restore img_ptr,seq_ptr,pixel
|
||||||
; *********************************************
|
;-------------------------------------------------------------------------------
|
||||||
draw_window:
|
; *********************************************
|
||||||
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
; *********************************************
|
||||||
|
draw_window:
|
||||||
mcall SF_STYLE_SETTINGS, SSF_GET_SKIN_HEIGHT
|
|
||||||
lea ecx, [50*65536+IMG_SIZE+4+eax] ; [y start] *65536 + [y size] + [skin_height]
|
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
||||||
mcall SF_CREATE_WINDOW,<50,IMG_SIZE+9>,,0x74000000,,wintitle1
|
|
||||||
|
mcall SF_STYLE_SETTINGS, SSF_GET_SKIN_HEIGHT
|
||||||
mcall SF_REDRAW, SSF_END_DRAW
|
lea ecx, [50*65536+IMG_SIZE+4+eax] ; [y start] *65536 + [y size] + [skin_height]
|
||||||
ret
|
mcall SF_CREATE_WINDOW,<50,IMG_SIZE+9>,,0x74000000,,wintitle1
|
||||||
|
|
||||||
|
mcall SF_REDRAW, SSF_END_DRAW
|
||||||
;-------------------------------------------------------------------------------
|
ret
|
||||||
align 1
|
|
||||||
wintitle1 db 'Buddhabrot - Calculating, please wait...',0
|
|
||||||
wintitle2 db 'Buddhabrot - Press F8 to set image as wallpaper',0
|
;-------------------------------------------------------------------------------
|
||||||
|
align 1
|
||||||
align 4
|
wintitle1 db 'Buddhabrot - Calculating, please wait...',0
|
||||||
g_xorwow_x dd 123456789
|
wintitle2 db 'Buddhabrot - Press F8 to set image as wallpaper',0
|
||||||
g_xorwow_y dd 362436069
|
|
||||||
g_xorwow_z dd 521288629
|
align 4
|
||||||
g_xorwow_w dd 88675123
|
g_xorwow_x dd 123456789
|
||||||
g_xorwow_v dd 5783321
|
g_xorwow_y dd 362436069
|
||||||
g_xorwow_d dd 6615241
|
g_xorwow_z dd 521288629
|
||||||
g_rand_scale dd 2.3283064e-10 ; 1.0 / 2^32
|
g_xorwow_w dd 88675123
|
||||||
|
g_xorwow_v dd 5783321
|
||||||
IMG_SIZE = 600
|
g_xorwow_d dd 6615241
|
||||||
SEQ_SIZE = 50
|
g_rand_scale dd 2.3283064e-10 ; 1.0 / 2^32
|
||||||
ITERATIONS = 100
|
|
||||||
|
IMG_SIZE = 600
|
||||||
g_img_size dd 600.0
|
SEQ_SIZE = 50
|
||||||
g_offsetx dd 0.5
|
ITERATIONS = 100
|
||||||
g_offsety dd 0.0
|
|
||||||
g_zoom dd 0.4
|
g_img_size dd 600.0
|
||||||
|
g_offsetx dd 0.5
|
||||||
g_max_dist dd 10.0
|
g_offsety dd 0.0
|
||||||
g_range dd 4.2
|
g_zoom dd 0.4
|
||||||
g_0_5 dd 0.5
|
|
||||||
g_0_0 dd 0.0
|
g_max_dist dd 10.0
|
||||||
g_1_0 dd 1.0
|
g_range dd 4.2
|
||||||
g_255_0 dd 255.0
|
g_0_5 dd 0.5
|
||||||
|
g_0_0 dd 0.0
|
||||||
IMG_END:
|
g_1_0 dd 1.0
|
||||||
;--------------------
|
g_255_0 dd 255.0
|
||||||
sequence: rb SEQ_SIZE*8
|
|
||||||
screen: rb IMG_SIZE*IMG_SIZE*4
|
IMG_END:
|
||||||
memStack: rd 1024
|
;--------------------
|
||||||
I_END:
|
sequence: rb SEQ_SIZE*8
|
||||||
|
screen: rb IMG_SIZE*IMG_SIZE*4
|
||||||
|
memStack: rd 1024
|
||||||
|
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())
|
||||||
|
|
@@ -1,3 +1,6 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
; COLORREF.ASM - COLOR REFERENCE
|
; COLORREF.ASM - COLOR REFERENCE
|
||||||
;
|
;
|
||||||
; Compile with FASM for Menuet
|
; Compile with FASM for Menuet
|
||||||
@@ -15,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'
|
||||||
wide: dd 0 ; screen pixels width
|
wide: dd 0 ; screen pixels width
|
||||||
mouse: dd 0 ; 1=right,2=left [mouse click]
|
mouse: dd 0 ; 1=right,2=left [mouse click]
|
||||||
|
|
||||||
@@ -148,7 +151,7 @@ draw_window:
|
|||||||
mov edx,0x14000000 ; work area color (type II)
|
mov edx,0x14000000 ; work area color (type II)
|
||||||
mov edi,title ; frame color
|
mov edi,title ; frame color
|
||||||
mcall
|
mcall
|
||||||
|
|
||||||
call palette ; display color palette
|
call palette ; display color palette
|
||||||
|
|
||||||
mcall 12, 2
|
mcall 12, 2
|
||||||
@@ -267,7 +270,7 @@ help:
|
|||||||
add ecx, 236
|
add ecx, 236
|
||||||
sub ecx, eax
|
sub ecx, eax
|
||||||
|
|
||||||
|
|
||||||
mov ebx,5*65536+190 ; x and width
|
mov ebx,5*65536+190 ; x and width
|
||||||
mov edx,0x465e8f ; dark denim color
|
mov edx,0x465e8f ; dark denim color
|
||||||
mov eax,13 ; write text funx
|
mov eax,13 ; write text funx
|
||||||
@@ -294,7 +297,7 @@ h1: push ecx
|
|||||||
jne h2 ; nope
|
jne h2 ; nope
|
||||||
mov eax,2 ; yep, burn it
|
mov eax,2 ; yep, burn it
|
||||||
mcall
|
mcall
|
||||||
h2:
|
h2:
|
||||||
call draw_window
|
call draw_window
|
||||||
|
|
||||||
ret
|
ret
|
@@ -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,3 +1,6 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
; Crown_s Soft Screensaver v1.13m
|
; Crown_s Soft Screensaver v1.13m
|
||||||
; WWW: http://www.crown-s-soft.com
|
; WWW: http://www.crown-s-soft.com
|
||||||
@@ -34,8 +37,8 @@ copyrightlen:
|
|||||||
|
|
||||||
include "lang.inc"
|
include "lang.inc"
|
||||||
include "figuresi.inc"
|
include "figuresi.inc"
|
||||||
include "..\..\..\macros.inc"
|
include "..\..\macros.inc"
|
||||||
include "..\..\..\KOSfuncs.inc"
|
include "..\..\KOSfuncs.inc"
|
||||||
start:
|
start:
|
||||||
cmp dword[params], '@ss'
|
cmp dword[params], '@ss'
|
||||||
setz [screensaver]
|
setz [screensaver]
|
||||||
@@ -96,7 +99,7 @@ red:
|
|||||||
|
|
||||||
still:
|
still:
|
||||||
mcall SF_WAIT_EVENT_TIMEOUT, delay ; wait here for event
|
mcall SF_WAIT_EVENT_TIMEOUT, delay ; wait here for event
|
||||||
|
|
||||||
cmp eax,1 ; redraw request ?
|
cmp eax,1 ; redraw request ?
|
||||||
je red
|
je red
|
||||||
cmp eax,2 ; key in buffer ?
|
cmp eax,2 ; key in buffer ?
|
||||||
@@ -117,7 +120,7 @@ jmp still
|
|||||||
key:
|
key:
|
||||||
cmp [screensaver], 0
|
cmp [screensaver], 0
|
||||||
jnz close
|
jnz close
|
||||||
|
|
||||||
mcall SF_GET_KEY
|
mcall SF_GET_KEY
|
||||||
|
|
||||||
cmp al,1 ; is key in buffer ?
|
cmp al,1 ; is key in buffer ?
|
@@ -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,3 +1,6 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; ;
|
; ;
|
||||||
; Color Slider Control Demonstration ;
|
; Color Slider Control Demonstration ;
|
||||||
@@ -20,8 +23,8 @@ 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 '..\..\..\KOSfuncs.inc'
|
include '..\..\KOSfuncs.inc'
|
||||||
START: ; start of execution
|
START: ; start of execution
|
||||||
|
|
||||||
call draw_window ; at first, draw the window
|
call draw_window ; at first, draw the window
|
||||||
@@ -50,7 +53,7 @@ still:
|
|||||||
|
|
||||||
button: ; button
|
button: ; button
|
||||||
mcall SF_GET_BUTTON ; get id
|
mcall SF_GET_BUTTON ; get id
|
||||||
|
|
||||||
shr eax,8
|
shr eax,8
|
||||||
|
|
||||||
cmp eax,1 ; button id=1 ?
|
cmp eax,1 ; button id=1 ?
|
||||||
@@ -72,7 +75,7 @@ draw_window:
|
|||||||
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
||||||
mcall SF_CREATE_WINDOW, <100,200>, <100,200>, 0x14ffffff, , title
|
mcall SF_CREATE_WINDOW, <100,200>, <100,200>, 0x14ffffff, , title
|
||||||
mcall SF_REDRAW, SSF_END_DRAW
|
mcall SF_REDRAW, SSF_END_DRAW
|
||||||
|
|
||||||
call draw_slider_info
|
call draw_slider_info
|
||||||
|
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
@@ -151,7 +154,7 @@ ret
|
|||||||
|
|
||||||
draw_slider_info:
|
draw_slider_info:
|
||||||
;Repaint value background
|
;Repaint value background
|
||||||
mcall SF_DRAW_RECT, 144*65536+36, 72*65536+9, 0x00ffffff
|
mcall SF_DRAW_RECT, 144*65536+36, 72*65536+9, 0x00ffffff
|
||||||
;Draw Color Box
|
;Draw Color Box
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
movzx ecx,word [slider_1+12]
|
movzx ecx,word [slider_1+12]
|
||||||
@@ -164,7 +167,7 @@ draw_slider_info:
|
|||||||
mov ebx, 0x00860035
|
mov ebx, 0x00860035
|
||||||
mov ecx, 0x00590040
|
mov ecx, 0x00590040
|
||||||
mov eax, SF_DRAW_RECT
|
mov eax, SF_DRAW_RECT
|
||||||
mcall
|
mcall
|
||||||
;draw current value of slider
|
;draw current value of slider
|
||||||
mov ecx, edx
|
mov ecx, edx
|
||||||
mov eax, SF_DRAW_NUMBER
|
mov eax, SF_DRAW_NUMBER
|
||||||
@@ -340,4 +343,4 @@ ret
|
|||||||
|
|
||||||
; DATA AREA
|
; DATA AREA
|
||||||
title db 'Color Slider',0
|
title db 'Color Slider',0
|
||||||
I_END:
|
I_END:
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
@@ -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())
|
||||||
|
|