Compare commits
29 Commits
main
...
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 |
@@ -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"},
|
||||||
|
@@ -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
|
||||||
|
@@ -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())
|
||||||
|
|
@@ -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 ====
|
@@ -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
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 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,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
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@@ -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");
|