Compare commits

...

29 Commits

Author SHA1 Message Date
1b8af624bc programs/demos: Post-SVN tidy
- Tidy `build_all.bat` build file; update paths; comment out absent programs.
2025-05-31 22:04:50 +01:00
a5d87e488a demos/free3d04: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:55:21 +01:00
9d0aee6c6d demos/zeroline: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-31 21:49:52 +01:00
7fe66081fa demos/web: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:47:07 +01:00
2d39f8cb03 demos/trantest: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:43:29 +01:00
0a44e14838 demos/transp: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:40:35 +01:00
e570d29f36 demos/tinyfrac: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:35:02 +01:00
47981cdb1e demos/timer: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:32:15 +01:00
6942542b67 demos/qjulia: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-31 21:21:30 +01:00
30ab1f2ace demos/life: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-29 00:33:45 +01:00
d34359f7c4 demos/kmatrix: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-29 00:30:21 +01:00
85e65fb968 demos/free3d: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-29 00:26:49 +01:00
c304ba66ac demos/flatwav: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-29 00:21:03 +01:00
88926e72b1 demos/fire2: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 23:27:02 +01:00
63c240976d demos/crownscr: Post-SVN tidy
- Fix build files.
2025-05-28 23:23:10 +01:00
d8d10137c0 demos/eyes: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 23:19:06 +01:00
18a96df908 demos/cubetext: Post-SVN tidy
- Move source code from `trunk` into root directory.
2025-05-28 23:15:40 +01:00
f6c3faa9bc demos/cubeline: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-28 23:13:29 +01:00
9f55f6aca0 demos/cslide: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 23:08:58 +01:00
9eca27ce58 demos/crownscr: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 22:59:05 +01:00
0bdce8b4af demos/colorref: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 22:53:53 +01:00
786938de43 demos/buddhabrot: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-28 22:47:42 +01:00
3900f7f29c demos/bcdclk: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-28 18:39:14 +01:00
257514f3cb demos/3dwav: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-27 01:28:06 +01:00
71b8383a04 demos/3dtcub10: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-27 01:24:23 +01:00
9da6be501a demos/3dspiral: Post-SVN tidy
- Move source code from `trunk` into root directory.
2025-05-27 01:13:41 +01:00
460dd985d3 demos/3dsheart: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-27 01:09:43 +01:00
86b1ee4c75 demos/3detx60b: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-27 01:02:41 +01:00
9a748b1dfe demos/3dcube2: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-27 00:11:58 +01:00
133 changed files with 7685 additions and 7618 deletions

View File

@@ -447,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"},
@@ -482,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"},
@@ -594,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"},
@@ -606,7 +606,7 @@ tup.append_table(extra_files, {
{"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/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"},
@@ -725,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/*"},
@@ -750,7 +750,7 @@ 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/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"},

View File

@@ -201,31 +201,31 @@ 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

View File

@@ -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())

View File

@@ -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())

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -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())

View File

@@ -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())

View File

@@ -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 ?

View File

@@ -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:

View File

@@ -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())

View File

@@ -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

View File

@@ -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())

View File

@@ -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 ?

View File

@@ -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())

View File

@@ -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:

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -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())

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
; ;
; EYES FOR MENUET ; EYES FOR MENUET
; ;
@@ -22,7 +25,7 @@ use32
dd 0x0 dd 0x0
dd 0x0 dd 0x0
include '..\..\..\macros.inc' include '..\..\macros.inc'
ENTRANCE: ; start of code ENTRANCE: ; start of code
; ==== main ==== ; ==== main ====

View File

@@ -1,4 +1,10 @@
include '..\..\..\macros.inc' ; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
include '..\..\macros.inc'
use32 use32
org 0x0 org 0x0
@@ -199,7 +205,7 @@ put_big_point:
;DATA ;DATA
align 4 align 4
count1 dd my_img count1 dd my_img
count2 dd 0 count2 dd 0
curtime dd 0 curtime dd 0

View File

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

@@ -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())

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
; ;
; Fisheye Raycasting Engine Etc. FREE3D for MENUETOS by Dieter Marfurt ; Fisheye Raycasting Engine Etc. FREE3D for MENUETOS by Dieter Marfurt
; Version 0.4 (requires some texture-files to compile (see Data Section)) ; Version 0.4 (requires some texture-files to compile (see Data Section))
@@ -36,7 +39,7 @@ use32
dd APP_MEM;0x100000 ; esp dd APP_MEM;0x100000 ; esp
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'
COLOR_ORDER equ OTHER COLOR_ORDER equ OTHER
include 'gif_lite.inc' include 'gif_lite.inc'
@@ -296,7 +299,7 @@ m_right: ; turn right
draw_window: draw_window:
mcall 12,1 mcall 12,1
mcall 48, 4 ;get skin width mcall 48, 4 ;get skin width
lea ecx, [50*65536+484+eax] ;[y start] *65536 + [y size] + [skin_height] lea ecx, [50*65536+484+eax] ;[y start] *65536 + [y size] + [skin_height]
mcall 0,<50,649>,,0x74ffffff,,title ;draw window mcall 0,<50,649>,,0x74ffffff,,title ;draw window

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,6 +1,6 @@
if tup.getconfig("NO_TCC") ~= "" then return end if tup.getconfig("NO_TCC") ~= "" 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_tcc.lua") tup.include(HELPERDIR .. "/use_tcc.lua")
link_tcc("main.c", "kmatrix"); link_tcc("main.c", "kmatrix");

Some files were not shown because too many files have changed in this diff Show More