programs/fs: Post-SVN tidy #250
@@ -154,7 +154,7 @@ extra_files = {
|
||||
{"kolibrios/3D/info3ds/INFO3DS.INI", SRC_PROGS .. "/develop/info3ds/info3ds.ini"},
|
||||
{"kolibrios/3D/info3ds/OBJECTS.PNG", SRC_PROGS .. "/develop/info3ds/objects.png"},
|
||||
{"kolibrios/3D/info3ds/TOOLBAR.PNG", SRC_PROGS .. "/develop/info3ds/toolbar.png"},
|
||||
{"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
||||
{"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/font8x9.bmp"},
|
||||
{"kolibrios/3D/blocks/blocks.kex", "../programs/bcc32/games/blocks/bin/blocks.kex"},
|
||||
{"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"},
|
||||
{"kolibrios/3D/md2view/", "common/3d/md2view/*"},
|
||||
@@ -164,7 +164,7 @@ extra_files = {
|
||||
{"kolibrios/3D/voxel_editor/HOUSE2.VOX", SRC_PROGS .. "/media/voxel_editor/trunk/house2.vox"},
|
||||
{"kolibrios/3D/voxel_editor/SQUIRREL.VOX", SRC_PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
|
||||
{"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , SRC_PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
|
||||
{"kolibrios/3D/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
||||
{"kolibrios/3D/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/font8x9.bmp"},
|
||||
{"kolibrios/3D/TOOLB_1.PNG", SRC_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
|
||||
{"kolibrios/3D/TEST_GLU1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu1"},
|
||||
{"kolibrios/3D/TEST_GLU2", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/test_glu2"},
|
||||
@@ -294,8 +294,8 @@ extra_files = {
|
||||
{"kolibrios/utils/cnc_editor/cnc_editor", VAR_PROGS .. "/other/cnc_editor/cnc_editor"},
|
||||
{"kolibrios/utils/cnc_editor/kolibri.NC", SRC_PROGS .. "/other/cnc_editor/kolibri.NC"},
|
||||
{"kolibrios/utils/kfm/kfm.ini", "common/File Managers/kfm.ini"},
|
||||
{"kolibrios/utils/kfm/kfm_keys_eng.txt", SRC_PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
|
||||
{"kolibrios/utils/kfm/kfm_keys_rus.txt", SRC_PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
|
||||
{"kolibrios/utils/kfm/kfm_keys_eng.txt", SRC_PROGS .. "/fs/kfm/docs/english/kfm_keys.txt"},
|
||||
{"kolibrios/utils/kfm/kfm_keys_rus.txt", SRC_PROGS .. "/fs/kfm/docs/russian/dos_kolibri/kfm_keys.txt"},
|
||||
{"kolibrios/utils/fNav/", "common/File Managers/fNav/*"},
|
||||
{"kolibrios/utils/NDN/", "common/File Managers/ndn/*"},
|
||||
{"kolibrios/utils/NDN/COLORS/", "common/File Managers/ndn/COLORS/*"},
|
||||
@@ -486,7 +486,7 @@ tup.append_table(img_files, {
|
||||
{"DEVELOP/EXAMPLES/CONGET", VAR_PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
|
||||
{"DEVELOP/EXAMPLES/CSLIDE", VAR_PROGS .. "/demos/cslide/trunk/cslide"},
|
||||
{"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/kfar"},
|
||||
{"File Managers/OPENDIAL", VAR_PROGS .. "/fs/opendial/opendial"},
|
||||
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
|
||||
{"GAMES/15", VAR_PROGS .. "/games/15/15"},
|
||||
@@ -505,7 +505,7 @@ tup.append_table(img_files, {
|
||||
{"GAMES/TANKS", VAR_PROGS .. "/games/tanks/tanks"},
|
||||
{"GAMES/TETRIS", VAR_PROGS .. "/games/tetris/tetris"},
|
||||
{"GAMES/C4", VAR_PROGS .. "/games/c4/c4"},
|
||||
{"LIB/ARCHIVER.OBJ", VAR_PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
|
||||
{"LIB/ARCHIVER.OBJ", VAR_PROGS .. "/fs/kfar/kfar_arc/kfar_arc.obj"},
|
||||
{"LIB/BOX_LIB.OBJ", VAR_PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
|
||||
{"LIB/BUF2D.OBJ", VAR_PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
|
||||
{"LIB/CONSOLE.OBJ", VAR_PROGS .. "/develop/libraries/console_coff/console.obj"},
|
||||
@@ -628,7 +628,7 @@ tup.append_table(extra_files, {
|
||||
{"kolibrios/media/zsea/plugins/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
|
||||
{"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
|
||||
{"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"},
|
||||
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
|
||||
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/kfm"},
|
||||
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
|
||||
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
|
||||
})
|
||||
|
@@ -111,11 +111,11 @@ fasm develop\libraries\libs-dev\libio\libio.asm %BIN%\lib\libio.obj
|
||||
echo *
|
||||
echo Building fs
|
||||
echo *
|
||||
fasm fs\copy2\trunk\copy2.asm %BIN%\copy2
|
||||
fasm fs\copyr\trunk\copyr.asm %BIN%\copyr
|
||||
fasm fs\kfar\trunk\kfar.asm %BIN%\kfar
|
||||
rem fasm fs\copy2\trunk\copy2.asm %BIN%\copy2
|
||||
fasm fs\copyr\copyr.asm %BIN%\copyr
|
||||
fasm fs\kfar\kfar.asm %BIN%\kfar
|
||||
rem fasm fs\mfar\trunk\mfar.asm %BIN%\mfar
|
||||
fasm fs\sysxtree\trunk\sysxtree.asm %BIN%\sysxtree
|
||||
rem fasm fs\sysxtree\trunk\sysxtree.asm %BIN%\sysxtree
|
||||
|
||||
echo *
|
||||
echo Building network
|
||||
|
@@ -4,7 +4,7 @@ if not exist bin mkdir bin
|
||||
@copy objects.png bin\objects.png
|
||||
if not exist bin\info3ds.ini @copy info3ds.ini bin\info3ds.ini
|
||||
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
|
||||
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\font8x9.bmp bin\font8x9.bmp
|
||||
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
|
||||
@kpack bin\info3ds.kex
|
||||
@fasm.exe -m 16384 info3ds_u.asm bin\info3ds_u.kex
|
||||
|
@@ -4,7 +4,7 @@ if not exist bin mkdir bin
|
||||
@copy objects.png bin\objects.png
|
||||
if not exist bin\info3ds.ini @copy info3ds.ini bin\info3ds.ini
|
||||
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
|
||||
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\font8x9.bmp bin\font8x9.bmp
|
||||
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
|
||||
@kpack bin\info3ds.kex
|
||||
@fasm.exe -m 16384 info3ds_u.asm bin\info3ds_u.kex
|
||||
|
@@ -8,8 +8,8 @@ if not exist bin\icon.bmp @copy icon.bmp bin\icon.bmp
|
||||
if not exist bin\base.bmp @copy base.bmp bin\base.bmp
|
||||
if not exist bin\left.bmp @copy left.bmp bin\left.bmp
|
||||
if not exist bin\oper.bmp @copy oper.bmp bin\oper.bmp
|
||||
if not exist bin\font6x9.bmp @copy ..\..\fs\kfar\trunk\font6x9.bmp bin\font6x9.bmp
|
||||
if not exist bin\font6x9.bmp @copy ..\..\fs\kfar\font6x9.bmp bin\font6x9.bmp
|
||||
if not exist bin\asm.syn @copy ..\..\other\t_edit\info\asm.syn bin\asm.syn
|
||||
|
||||
copy *.ced bin\*.ced
|
||||
pause
|
||||
pause
|
||||
|
@@ -1,6 +1,6 @@
|
||||
if not exist bin mkdir bin
|
||||
@copy *.png bin\*.png
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\..\fs\kfar\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\tinygl.obj @fasm.exe -m 16384 ..\tinygl.asm bin\tinygl.obj
|
||||
|
||||
@fasm.exe -m 16384 test0.asm bin\test0.kex
|
||||
@@ -38,4 +38,4 @@ if not exist bin\tinygl.obj @fasm.exe -m 16384 ..\tinygl.asm bin\tinygl.obj
|
||||
@kpack bin\textures1.kex
|
||||
@kpack bin\textures2.kex
|
||||
|
||||
pause
|
||||
pause
|
||||
|
@@ -1,6 +1,6 @@
|
||||
if not exist bin mkdir bin
|
||||
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\..\fs\kfar\font8x9.bmp bin\font8x9.bmp
|
||||
@copy foto.jpg bin\foto.jpg
|
||||
@copy img0.png bin\img0.png
|
||||
@copy img1.png bin\img1.png
|
||||
@@ -25,4 +25,4 @@ if not exist bin\vaz2106.vox @copy ..\..\..\..\..\media\voxel_editor\trunk\vaz21
|
||||
@kpack bin\e6_vox_1g.kex
|
||||
@kpack bin\e7_vox_3g.kex
|
||||
@kpack bin\e8_filters.kex
|
||||
pause
|
||||
pause
|
||||
|
@@ -2,7 +2,7 @@ if not exist bin mkdir bin
|
||||
@fasm.exe -m 16384 crypt_files.asm bin\crypt_files.kex
|
||||
@kpack bin\crypt_files.kex
|
||||
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\fs\kfar\font8x9.bmp bin\font8x9.bmp
|
||||
@fasm.exe -m 16384 ..\trunk\crypt_des.asm bin\crypt_des.obj
|
||||
@kpack bin\crypt_des.obj
|
||||
pause
|
||||
pause
|
||||
|
@@ -2,7 +2,7 @@ if not exist bin mkdir bin
|
||||
@fasm.exe -m 16384 viev_exif.asm bin\viev_exif.kex
|
||||
@kpack bin\viev_exif.kex
|
||||
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||
if not exist bin\font8x9.bmp @copy ..\..\..\..\fs\kfar\font8x9.bmp bin\font8x9.bmp
|
||||
@fasm.exe -m 16384 ..\trunk\exif.asm bin\exif.obj
|
||||
@kpack bin\exif.obj
|
||||
pause
|
||||
pause
|
||||
|
@@ -1,4 +1,3 @@
|
||||
|
||||
; png.asm - location for general purpose libpng functions
|
||||
|
||||
; Last changed in libpng 1.6.25 [September 1, 2016]
|
||||
@@ -13,7 +12,7 @@
|
||||
DEBUG equ 0
|
||||
|
||||
include '../../../../../../KOSfuncs.inc'
|
||||
include '../../../../../../fs/kfar/trunk/zlib/deflate.inc'
|
||||
include '../../../../../../fs/kfar/zlib/deflate.inc'
|
||||
include 'pngtokos.inc' ;integrate png to kos
|
||||
|
||||
;files from libpng
|
||||
|
@@ -21,7 +21,7 @@
|
||||
; in this structure and is required for decompressing the LZ compressed
|
||||
; data in PNG files.
|
||||
|
||||
include '../../../../../../fs/kfar/trunk/zlib/zlib.inc'
|
||||
include '../../../../../../fs/kfar/zlib/zlib.inc'
|
||||
|
||||
; zlib.inc declares a magic type 'uInt' that limits the amount of data that zlib
|
||||
; can handle at once. This type need be no larger than 16 bits (so maximum of
|
||||
@@ -74,7 +74,7 @@ ends
|
||||
; from chromaticities the sum of the Y values is assumed to be 1.0
|
||||
|
||||
struct png_XYZ
|
||||
red_X dd ? ;png_fixed_point
|
||||
red_X dd ? ;png_fixed_point
|
||||
red_Y dd ?
|
||||
red_Z dd ?
|
||||
green_X dd ?
|
||||
|
@@ -1,5 +1,5 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||
add_include(tup.getvariantdir())
|
||||
|
@@ -1,3 +1,9 @@
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
; Text encoded with Code Page 866 - Cyrillic
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; ;
|
||||
; FILE COPY - system module for copy ;
|
||||
@@ -24,7 +30,7 @@
|
||||
dd param_area , 0x0 ; I_Param , I_Icon
|
||||
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include '..\..\..\macros.inc' ; very useful stuff for MeOS
|
||||
include '..\..\macros.inc' ; very useful stuff for MeOS
|
||||
include 'ascl.inc'
|
||||
|
||||
START: ; start of execution
|
@@ -1,5 +1,5 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||
add_include(tup.getvariantdir())
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -1,3 +1,9 @@
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
; Text encoded with Code Page 866 - Cyrillic
|
||||
|
||||
|
||||
use32
|
||||
db 'MENUET01'
|
||||
dd 1
|
||||
@@ -15,8 +21,8 @@ max_width = 255
|
||||
min_height = 8
|
||||
max_height = 255
|
||||
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../KOSfuncs.inc'
|
||||
include '../../macros.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include 'font.inc'
|
||||
include 'sort.inc'
|
@@ -1,5 +1,5 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../../.." or tup.getconfig("HELPERDIR")
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||
add_include(tup.getvariantdir())
|
||||
|
@@ -1,170 +1,171 @@
|
||||
|
||||
include '../../../../proc32.inc'
|
||||
include '../../../../macros.inc'
|
||||
include '../../../../KOSfuncs.inc'
|
||||
|
||||
FASTEST equ 0
|
||||
GEN_TREES_H equ 0
|
||||
DEBUG equ 0
|
||||
DYNAMIC_CRC_TABLE equ 1
|
||||
Z_SOLO equ 0
|
||||
|
||||
; define NO_GZIP when compiling if you want to disable gzip header and
|
||||
; trailer creation by deflate(). NO_GZIP would be used to avoid linking in
|
||||
; the crc code when it is not needed. For shared libraries, gzip encoding
|
||||
; should be left enabled.
|
||||
GZIP equ 1
|
||||
|
||||
macro zlib_debug fmt,p1
|
||||
{
|
||||
if DEBUG eq 1
|
||||
zlib_assert fmt,p1
|
||||
end if
|
||||
}
|
||||
|
||||
macro zlib_assert fmt,p1
|
||||
{
|
||||
local .end_t
|
||||
local .m_fmt
|
||||
pushf
|
||||
jmp .end_t
|
||||
.m_fmt db fmt,13,10,0
|
||||
align 4
|
||||
.end_t:
|
||||
if p1 eq
|
||||
stdcall dbg_print,0,.m_fmt
|
||||
else
|
||||
stdcall str_format_dbg, buf_param,.m_fmt,p1
|
||||
end if
|
||||
popf
|
||||
}
|
||||
|
||||
include 'zlib.inc'
|
||||
include 'deflate.inc'
|
||||
include 'zutil.asm'
|
||||
;include '../kfar_arc/crc.inc'
|
||||
include 'crc32.asm'
|
||||
include 'adler32.asm'
|
||||
include 'trees.asm'
|
||||
include 'deflate.asm'
|
||||
|
||||
align 4
|
||||
buf_param rb 80
|
||||
|
||||
align 4
|
||||
proc dbg_print, fun:dword, mes:dword
|
||||
pushad
|
||||
mov eax,SF_BOARD
|
||||
mov ebx,SSF_DEBUG_WRITE
|
||||
|
||||
mov esi,[fun]
|
||||
cmp esi,0
|
||||
je .end0
|
||||
@@:
|
||||
mov cl,byte[esi]
|
||||
int 0x40
|
||||
inc esi
|
||||
cmp byte[esi],0
|
||||
jne @b
|
||||
mov cl,':'
|
||||
int 0x40
|
||||
mov cl,' '
|
||||
int 0x40
|
||||
.end0:
|
||||
mov esi,[mes]
|
||||
cmp esi,0
|
||||
je .end_f
|
||||
@@:
|
||||
mov cl,byte[esi]
|
||||
cmp cl,0
|
||||
je .end_f
|
||||
int 0x40
|
||||
inc esi
|
||||
jmp @b
|
||||
.end_f:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc str_format_dbg, buf:dword, fmt:dword, p1:dword
|
||||
pushad
|
||||
mov esi,[fmt]
|
||||
mov edi,[buf]
|
||||
mov ecx,80-1
|
||||
.cycle0:
|
||||
lodsb
|
||||
cmp al,'%'
|
||||
jne .no_param
|
||||
lodsb
|
||||
dec ecx
|
||||
cmp al,0
|
||||
je .cycle0end
|
||||
cmp al,'d'
|
||||
je @f
|
||||
cmp al,'u'
|
||||
je @f
|
||||
cmp al,'l'
|
||||
je .end1
|
||||
jmp .end0
|
||||
.end1: ;%lu %lx
|
||||
lodsb
|
||||
dec ecx
|
||||
cmp al,'u'
|
||||
jne .end0
|
||||
@@:
|
||||
mov eax,[p1]
|
||||
stdcall convert_int_to_str,ecx
|
||||
xor al,al
|
||||
repne scasb
|
||||
dec edi
|
||||
.end0:
|
||||
loop .cycle0
|
||||
.no_param:
|
||||
stosb
|
||||
cmp al,0
|
||||
je .cycle0end
|
||||
loop .cycle0
|
||||
.cycle0end:
|
||||
xor al,al
|
||||
stosb
|
||||
stdcall dbg_print,0,[buf]
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; eax - число
|
||||
; edi - буфер для строки
|
||||
; len - длинна буфера
|
||||
;output:
|
||||
align 4
|
||||
proc convert_int_to_str, len:dword
|
||||
pushad
|
||||
mov esi,[len]
|
||||
add esi,edi
|
||||
dec esi
|
||||
call .str
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
.str:
|
||||
mov ecx,0x0a
|
||||
cmp eax,ecx
|
||||
jb @f
|
||||
xor edx,edx
|
||||
div ecx
|
||||
push edx
|
||||
call .str
|
||||
pop eax
|
||||
@@:
|
||||
cmp edi,esi
|
||||
jge @f
|
||||
or al,0x30
|
||||
stosb
|
||||
mov byte[edi],0
|
||||
@@:
|
||||
ret
|
||||
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
|
||||
FASTEST equ 0
|
||||
GEN_TREES_H equ 0
|
||||
DEBUG equ 0
|
||||
DYNAMIC_CRC_TABLE equ 1
|
||||
Z_SOLO equ 0
|
||||
|
||||
; define NO_GZIP when compiling if you want to disable gzip header and
|
||||
; trailer creation by deflate(). NO_GZIP would be used to avoid linking in
|
||||
; the crc code when it is not needed. For shared libraries, gzip encoding
|
||||
; should be left enabled.
|
||||
GZIP equ 1
|
||||
|
||||
macro zlib_debug fmt,p1
|
||||
{
|
||||
if DEBUG eq 1
|
||||
zlib_assert fmt,p1
|
||||
end if
|
||||
}
|
||||
|
||||
macro zlib_assert fmt,p1
|
||||
{
|
||||
local .end_t
|
||||
local .m_fmt
|
||||
pushf
|
||||
jmp .end_t
|
||||
.m_fmt db fmt,13,10,0
|
||||
align 4
|
||||
.end_t:
|
||||
if p1 eq
|
||||
stdcall dbg_print,0,.m_fmt
|
||||
else
|
||||
stdcall str_format_dbg, buf_param,.m_fmt,p1
|
||||
end if
|
||||
popf
|
||||
}
|
||||
|
||||
include 'zlib.inc'
|
||||
include 'deflate.inc'
|
||||
include 'zutil.asm'
|
||||
;include '../kfar_arc/crc.inc'
|
||||
include 'crc32.asm'
|
||||
include 'adler32.asm'
|
||||
include 'trees.asm'
|
||||
include 'deflate.asm'
|
||||
|
||||
align 4
|
||||
buf_param rb 80
|
||||
|
||||
align 4
|
||||
proc dbg_print, fun:dword, mes:dword
|
||||
pushad
|
||||
mov eax,SF_BOARD
|
||||
mov ebx,SSF_DEBUG_WRITE
|
||||
|
||||
mov esi,[fun]
|
||||
cmp esi,0
|
||||
je .end0
|
||||
@@:
|
||||
mov cl,byte[esi]
|
||||
int 0x40
|
||||
inc esi
|
||||
cmp byte[esi],0
|
||||
jne @b
|
||||
mov cl,':'
|
||||
int 0x40
|
||||
mov cl,' '
|
||||
int 0x40
|
||||
.end0:
|
||||
mov esi,[mes]
|
||||
cmp esi,0
|
||||
je .end_f
|
||||
@@:
|
||||
mov cl,byte[esi]
|
||||
cmp cl,0
|
||||
je .end_f
|
||||
int 0x40
|
||||
inc esi
|
||||
jmp @b
|
||||
.end_f:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc str_format_dbg, buf:dword, fmt:dword, p1:dword
|
||||
pushad
|
||||
mov esi,[fmt]
|
||||
mov edi,[buf]
|
||||
mov ecx,80-1
|
||||
.cycle0:
|
||||
lodsb
|
||||
cmp al,'%'
|
||||
jne .no_param
|
||||
lodsb
|
||||
dec ecx
|
||||
cmp al,0
|
||||
je .cycle0end
|
||||
cmp al,'d'
|
||||
je @f
|
||||
cmp al,'u'
|
||||
je @f
|
||||
cmp al,'l'
|
||||
je .end1
|
||||
jmp .end0
|
||||
.end1: ;%lu %lx
|
||||
lodsb
|
||||
dec ecx
|
||||
cmp al,'u'
|
||||
jne .end0
|
||||
@@:
|
||||
mov eax,[p1]
|
||||
stdcall convert_int_to_str,ecx
|
||||
xor al,al
|
||||
repne scasb
|
||||
dec edi
|
||||
.end0:
|
||||
loop .cycle0
|
||||
.no_param:
|
||||
stosb
|
||||
cmp al,0
|
||||
je .cycle0end
|
||||
loop .cycle0
|
||||
.cycle0end:
|
||||
xor al,al
|
||||
stosb
|
||||
stdcall dbg_print,0,[buf]
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; eax - число
|
||||
; edi - буфер для строки
|
||||
; len - длинна буфера
|
||||
;output:
|
||||
align 4
|
||||
proc convert_int_to_str, len:dword
|
||||
pushad
|
||||
mov esi,[len]
|
||||
add esi,edi
|
||||
dec esi
|
||||
call .str
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
.str:
|
||||
mov ecx,0x0a
|
||||
cmp eax,ecx
|
||||
jb @f
|
||||
xor edx,edx
|
||||
div ecx
|
||||
push edx
|
||||
call .str
|
||||
pop eax
|
||||
@@:
|
||||
cmp edi,esi
|
||||
jge @f
|
||||
or al,0x30
|
||||
stosb
|
||||
mov byte[edi],0
|
||||
@@:
|
||||
ret
|
@@ -1,5 +1,5 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||
add_include(tup.getvariantdir())
|
||||
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
@@ -1,399 +1,402 @@
|
||||
;*****************************************************************************
|
||||
; KFM - Kolibri File Manager
|
||||
; Copyright (c) 2006 - 2014, Marat Zakiyanov aka Mario79, aka Mario
|
||||
; All rights reserved.
|
||||
;
|
||||
; Redistribution and use in source and binary forms, with or without
|
||||
; modification, are permitted provided that the following conditions are met:
|
||||
; * Redistributions of source code must retain the above copyright
|
||||
; notice, this list of conditions and the following disclaimer.
|
||||
; * Redistributions in binary form must reproduce the above copyright
|
||||
; notice, this list of conditions and the following disclaimer in the
|
||||
; documentation and/or other materials provided with the distribution.
|
||||
; * Neither the name of the <organization> nor the
|
||||
; names of its contributors may be used to endorse or promote products
|
||||
; derived from this software without specific prior written permission.
|
||||
;
|
||||
; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY
|
||||
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
|
||||
; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
;*****************************************************************************
|
||||
; KFM v0.48d 23/12/2021
|
||||
;---------------------------------------------------------------------
|
||||
use32
|
||||
org 0x0
|
||||
|
||||
db 'MENUET01'
|
||||
dd 0x01
|
||||
dd START
|
||||
dd I_END
|
||||
dd mem
|
||||
dd stacktop
|
||||
dd 0x0
|
||||
dd path
|
||||
|
||||
;include 'lang.inc'
|
||||
;include 'kglobals.inc'
|
||||
;include 'macros.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../config.inc' ;for nightbuild
|
||||
;include '../../../debug.inc' ;for nightbuild
|
||||
|
||||
;define __DEBUG__ 1
|
||||
;define __DEBUG_LEVEL__ 1
|
||||
;include '../../../debug-fdo.inc'
|
||||
|
||||
include 'editbox.inc'
|
||||
;use_edit_box
|
||||
use_edit_box procinfo
|
||||
;include 'ASCGL.INC'
|
||||
;---------------------------------------------------------------------
|
||||
include 'files.inc'
|
||||
;---------------------------------------------------------------------
|
||||
STRLEN = 1024
|
||||
;---------------------------------------------------------------------
|
||||
START:
|
||||
mcall 9,procinfo,-1
|
||||
mov ecx,[ebx+30] ; PID
|
||||
mcall 18,21
|
||||
mov [active_process],eax ; WINDOW SLOT
|
||||
mov [appl_memory],mem
|
||||
mov ax,[select_disk_char]
|
||||
mov [read_folder_name],ax
|
||||
mov [read_folder_1_name],ax
|
||||
call load_initiation_file
|
||||
call add_memory_for_folders
|
||||
call device_detect_f70
|
||||
call select_starting_directories
|
||||
mcall 66, 1, 1
|
||||
mov eax,1
|
||||
mov [left_sort_flag],eax
|
||||
mov [right_sort_flag],eax
|
||||
|
||||
call proc_read_left_folder
|
||||
test eax,eax
|
||||
jz @f
|
||||
|
||||
cmp eax,6
|
||||
jne read_folder_error
|
||||
@@:
|
||||
call proc_read_right_folder
|
||||
test eax,eax
|
||||
jz @f
|
||||
|
||||
cmp eax,6
|
||||
je @f
|
||||
; if /hd read error for start then use /rd
|
||||
mov esi,retrieved_devices_table+1
|
||||
call copy_folder_name_1
|
||||
call proc_read_right_folder
|
||||
test eax,eax
|
||||
jz @f
|
||||
|
||||
cmp eax,6
|
||||
jne read_folder_1_error
|
||||
@@:
|
||||
mcall 40, 0x27
|
||||
jmp red_1
|
||||
;---------------------------------------------------------------------
|
||||
red:
|
||||
call get_window_param
|
||||
test [window_status],10b
|
||||
jnz red_1 ;still
|
||||
test [window_status],100b
|
||||
jnz red_1
|
||||
cmp [window_high],180
|
||||
ja @f
|
||||
mov esi,180
|
||||
mcall 67,-1,ebx,ebx
|
||||
@@:
|
||||
cmp [window_width],495
|
||||
ja red_1
|
||||
mov edx,495
|
||||
mcall 67,-1,ebx, ,ebx
|
||||
red_1:
|
||||
call draw_window
|
||||
;---------------------------------------------------------------------
|
||||
still:
|
||||
mcall 10
|
||||
|
||||
call check_active_process_for_clear_all_flags
|
||||
|
||||
cmp eax,1
|
||||
je red
|
||||
cmp eax,2
|
||||
je key
|
||||
cmp eax,3
|
||||
je button
|
||||
cmp eax,6
|
||||
je mouse
|
||||
jmp still
|
||||
;---------------------------------------------------------------------
|
||||
check_active_process_for_clear_all_flags:
|
||||
push eax
|
||||
mcall 18,7
|
||||
cmp [active_process],eax
|
||||
je .exit
|
||||
|
||||
xor eax,eax
|
||||
cmp [shift_flag],al
|
||||
jne .clear_all_flags
|
||||
|
||||
cmp [ctrl_flag],al
|
||||
jne .clear_all_flags
|
||||
|
||||
cmp [ctrl_flag],al
|
||||
je .exit
|
||||
;--------------------------------------
|
||||
.clear_all_flags:
|
||||
mov [shift_flag],al
|
||||
mov [ctrl_flag],al
|
||||
mov [alt_flag],al
|
||||
call erase_fbutton
|
||||
call draw_fbutton
|
||||
;--------------------------------------
|
||||
.exit:
|
||||
pop eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
get_window_param:
|
||||
mcall 9, procinfo, -1
|
||||
mov eax,[ebx+46]
|
||||
mov [window_high],eax
|
||||
mov eax,[ebx+42]
|
||||
mov [window_width],eax
|
||||
mov eax,[ebx+70]
|
||||
mov [window_status],eax
|
||||
mcall 48,4
|
||||
mov [skin_high],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
draw_window:
|
||||
mcall 12, 1
|
||||
xor esi,esi
|
||||
mcall 0, <20,728>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0
|
||||
call get_window_param
|
||||
|
||||
mcall 71, 1, header_text
|
||||
|
||||
test [window_status],100b ; window is rolled up
|
||||
jnz .exit
|
||||
|
||||
test [window_status],10b ; window is minimized to panel
|
||||
jnz .exit
|
||||
|
||||
; create_dir_name
|
||||
; start_parameter
|
||||
; file_name
|
||||
; [temp_edi]
|
||||
; header
|
||||
; delete_file_data.name
|
||||
; start_file_data.name
|
||||
; start_parameter
|
||||
; start_file_data.name
|
||||
; read_icon_file.name
|
||||
; read_file_features.name ;path ;header
|
||||
|
||||
cmp [window_high],180
|
||||
jb .exit
|
||||
cmp [window_width],495
|
||||
jb .exit
|
||||
|
||||
call draw_fbutton
|
||||
call draw_left_panel
|
||||
call draw_right_panel
|
||||
call draw_device_button
|
||||
call draw_left_select_disk_button
|
||||
call draw_left_sort_button
|
||||
call draw_right_select_disk_button
|
||||
call draw_right_sort_button
|
||||
call draw_menu_bar
|
||||
call draw_buttons_panel
|
||||
.exit:
|
||||
mcall 12, 2
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
prepare_load_data:
|
||||
mov esi,path
|
||||
mov edi,file_name
|
||||
call copy_path
|
||||
call get_file_size
|
||||
test eax,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
prepare_load_data_1:
|
||||
mov [read_file.return],eax
|
||||
mov ebp,eax
|
||||
prepare_load_data_4:
|
||||
call load_file
|
||||
test eax,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
prepare_load_data_2:
|
||||
call add_application_memory
|
||||
prepare_load_data_3:
|
||||
call add_application_memory
|
||||
mov eax,[file_features_temp_area+32]
|
||||
mov [read_file.size],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
load_initiation_file:
|
||||
mov ebx,ini_file_name
|
||||
call prepare_load_data
|
||||
jnz initiation_error
|
||||
call prepare_load_data_3
|
||||
mov eax,[appl_memory]
|
||||
mov [left_folder_data],eax
|
||||
sub eax,[read_file.size]
|
||||
mov [read_file.return],eax
|
||||
mov [ini_file_start],eax
|
||||
call load_file
|
||||
test eax,eax
|
||||
jnz initiation_error
|
||||
mov ebp,icons_associations
|
||||
call search_star_and_end_tags
|
||||
mov eax,[end_tag]
|
||||
mov [icons_end_tag],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
add_memory_for_folders:
|
||||
mov ecx,[appl_memory]
|
||||
add ecx,304*32+32
|
||||
mov [right_folder_data],ecx
|
||||
add ecx,304*32+32
|
||||
mov [appl_memory],ecx
|
||||
mcall 64,1
|
||||
|
||||
mov eax,[left_folder_data]
|
||||
mov [read_folder.return],eax
|
||||
mov eax,[right_folder_data]
|
||||
mov [read_folder_1.return],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
copy_path:
|
||||
xor eax,eax
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
mov esi,edi
|
||||
@@:
|
||||
std
|
||||
lodsb
|
||||
cmp al,'/'
|
||||
jnz @b
|
||||
mov edi,esi
|
||||
add edi,2
|
||||
mov esi,ebx
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
copy_path_1:
|
||||
xor eax,eax
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
mov esi,ebx
|
||||
mov [edi-1],byte '/'
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
add_application_memory:
|
||||
mov ecx,[file_features_temp_area+32]
|
||||
.1:
|
||||
add ecx,[appl_memory]
|
||||
mov [appl_memory],ecx
|
||||
mcall 64,1
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
sub_application_memory:
|
||||
mov ecx,[appl_memory]
|
||||
sub ecx,[file_features_temp_area+32]
|
||||
.1:
|
||||
mov [appl_memory],ecx
|
||||
mcall 64,1
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
exit_apl:
|
||||
mov [confirmation_type],exit_type
|
||||
call confirmation_action
|
||||
cmp [work_confirmation_yes],1
|
||||
jne red
|
||||
mcall -1
|
||||
;---------------------------------------------------------------------
|
||||
include 'key.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'markfile.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'button.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'mouse.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'openfile.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'draw.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'drw_dbut.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'menu_bar.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'menu_drv.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'delete.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'copy.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'creatdir.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'creatfile.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'confirm.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'err_wind.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'detect.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'tran_ini.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'help.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'convchar.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'sort.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'progrbar.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'scroll.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'file_inf.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'text.inc'
|
||||
;---------------------------------------------------------------------
|
||||
;include_debug_strings
|
||||
I_END:
|
||||
;---------------------------------------------------------------------
|
||||
include 'data.inc'
|
||||
;---------------------------------------------------------------------
|
||||
mem:
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
;*****************************************************************************
|
||||
; KFM - Kolibri File Manager
|
||||
; Copyright (c) 2006 - 2014, Marat Zakiyanov aka Mario79, aka Mario
|
||||
; All rights reserved.
|
||||
;
|
||||
; Redistribution and use in source and binary forms, with or without
|
||||
; modification, are permitted provided that the following conditions are met:
|
||||
; * Redistributions of source code must retain the above copyright
|
||||
; notice, this list of conditions and the following disclaimer.
|
||||
; * Redistributions in binary form must reproduce the above copyright
|
||||
; notice, this list of conditions and the following disclaimer in the
|
||||
; documentation and/or other materials provided with the distribution.
|
||||
; * Neither the name of the <organization> nor the
|
||||
; names of its contributors may be used to endorse or promote products
|
||||
; derived from this software without specific prior written permission.
|
||||
;
|
||||
; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY
|
||||
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
|
||||
; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
;*****************************************************************************
|
||||
; KFM v0.48d 23/12/2021
|
||||
;---------------------------------------------------------------------
|
||||
use32
|
||||
org 0x0
|
||||
|
||||
db 'MENUET01'
|
||||
dd 0x01
|
||||
dd START
|
||||
dd I_END
|
||||
dd mem
|
||||
dd stacktop
|
||||
dd 0x0
|
||||
dd path
|
||||
|
||||
;include 'lang.inc'
|
||||
;include 'kglobals.inc'
|
||||
;include 'macros.inc'
|
||||
include '../../macros.inc'
|
||||
include '../../config.inc' ;for nightbuild
|
||||
;include '../../debug.inc' ;for nightbuild
|
||||
|
||||
;define __DEBUG__ 1
|
||||
;define __DEBUG_LEVEL__ 1
|
||||
;include '../../debug-fdo.inc'
|
||||
|
||||
include 'editbox.inc'
|
||||
;use_edit_box
|
||||
use_edit_box procinfo
|
||||
;include 'ASCGL.INC'
|
||||
;---------------------------------------------------------------------
|
||||
include 'files.inc'
|
||||
;---------------------------------------------------------------------
|
||||
STRLEN = 1024
|
||||
;---------------------------------------------------------------------
|
||||
START:
|
||||
mcall 9,procinfo,-1
|
||||
mov ecx,[ebx+30] ; PID
|
||||
mcall 18,21
|
||||
mov [active_process],eax ; WINDOW SLOT
|
||||
mov [appl_memory],mem
|
||||
mov ax,[select_disk_char]
|
||||
mov [read_folder_name],ax
|
||||
mov [read_folder_1_name],ax
|
||||
call load_initiation_file
|
||||
call add_memory_for_folders
|
||||
call device_detect_f70
|
||||
call select_starting_directories
|
||||
mcall 66, 1, 1
|
||||
mov eax,1
|
||||
mov [left_sort_flag],eax
|
||||
mov [right_sort_flag],eax
|
||||
|
||||
call proc_read_left_folder
|
||||
test eax,eax
|
||||
jz @f
|
||||
|
||||
cmp eax,6
|
||||
jne read_folder_error
|
||||
@@:
|
||||
call proc_read_right_folder
|
||||
test eax,eax
|
||||
jz @f
|
||||
|
||||
cmp eax,6
|
||||
je @f
|
||||
; if /hd read error for start then use /rd
|
||||
mov esi,retrieved_devices_table+1
|
||||
call copy_folder_name_1
|
||||
call proc_read_right_folder
|
||||
test eax,eax
|
||||
jz @f
|
||||
|
||||
cmp eax,6
|
||||
jne read_folder_1_error
|
||||
@@:
|
||||
mcall 40, 0x27
|
||||
jmp red_1
|
||||
;---------------------------------------------------------------------
|
||||
red:
|
||||
call get_window_param
|
||||
test [window_status],10b
|
||||
jnz red_1 ;still
|
||||
test [window_status],100b
|
||||
jnz red_1
|
||||
cmp [window_high],180
|
||||
ja @f
|
||||
mov esi,180
|
||||
mcall 67,-1,ebx,ebx
|
||||
@@:
|
||||
cmp [window_width],495
|
||||
ja red_1
|
||||
mov edx,495
|
||||
mcall 67,-1,ebx, ,ebx
|
||||
red_1:
|
||||
call draw_window
|
||||
;---------------------------------------------------------------------
|
||||
still:
|
||||
mcall 10
|
||||
|
||||
call check_active_process_for_clear_all_flags
|
||||
|
||||
cmp eax,1
|
||||
je red
|
||||
cmp eax,2
|
||||
je key
|
||||
cmp eax,3
|
||||
je button
|
||||
cmp eax,6
|
||||
je mouse
|
||||
jmp still
|
||||
;---------------------------------------------------------------------
|
||||
check_active_process_for_clear_all_flags:
|
||||
push eax
|
||||
mcall 18,7
|
||||
cmp [active_process],eax
|
||||
je .exit
|
||||
|
||||
xor eax,eax
|
||||
cmp [shift_flag],al
|
||||
jne .clear_all_flags
|
||||
|
||||
cmp [ctrl_flag],al
|
||||
jne .clear_all_flags
|
||||
|
||||
cmp [ctrl_flag],al
|
||||
je .exit
|
||||
;--------------------------------------
|
||||
.clear_all_flags:
|
||||
mov [shift_flag],al
|
||||
mov [ctrl_flag],al
|
||||
mov [alt_flag],al
|
||||
call erase_fbutton
|
||||
call draw_fbutton
|
||||
;--------------------------------------
|
||||
.exit:
|
||||
pop eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
get_window_param:
|
||||
mcall 9, procinfo, -1
|
||||
mov eax,[ebx+46]
|
||||
mov [window_high],eax
|
||||
mov eax,[ebx+42]
|
||||
mov [window_width],eax
|
||||
mov eax,[ebx+70]
|
||||
mov [window_status],eax
|
||||
mcall 48,4
|
||||
mov [skin_high],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
draw_window:
|
||||
mcall 12, 1
|
||||
xor esi,esi
|
||||
mcall 0, <20,728>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0
|
||||
call get_window_param
|
||||
|
||||
mcall 71, 1, header_text
|
||||
|
||||
test [window_status],100b ; window is rolled up
|
||||
jnz .exit
|
||||
|
||||
test [window_status],10b ; window is minimized to panel
|
||||
jnz .exit
|
||||
|
||||
; create_dir_name
|
||||
; start_parameter
|
||||
; file_name
|
||||
; [temp_edi]
|
||||
; header
|
||||
; delete_file_data.name
|
||||
; start_file_data.name
|
||||
; start_parameter
|
||||
; start_file_data.name
|
||||
; read_icon_file.name
|
||||
; read_file_features.name ;path ;header
|
||||
|
||||
cmp [window_high],180
|
||||
jb .exit
|
||||
cmp [window_width],495
|
||||
jb .exit
|
||||
|
||||
call draw_fbutton
|
||||
call draw_left_panel
|
||||
call draw_right_panel
|
||||
call draw_device_button
|
||||
call draw_left_select_disk_button
|
||||
call draw_left_sort_button
|
||||
call draw_right_select_disk_button
|
||||
call draw_right_sort_button
|
||||
call draw_menu_bar
|
||||
call draw_buttons_panel
|
||||
.exit:
|
||||
mcall 12, 2
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
prepare_load_data:
|
||||
mov esi,path
|
||||
mov edi,file_name
|
||||
call copy_path
|
||||
call get_file_size
|
||||
test eax,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
prepare_load_data_1:
|
||||
mov [read_file.return],eax
|
||||
mov ebp,eax
|
||||
prepare_load_data_4:
|
||||
call load_file
|
||||
test eax,eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
prepare_load_data_2:
|
||||
call add_application_memory
|
||||
prepare_load_data_3:
|
||||
call add_application_memory
|
||||
mov eax,[file_features_temp_area+32]
|
||||
mov [read_file.size],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
load_initiation_file:
|
||||
mov ebx,ini_file_name
|
||||
call prepare_load_data
|
||||
jnz initiation_error
|
||||
call prepare_load_data_3
|
||||
mov eax,[appl_memory]
|
||||
mov [left_folder_data],eax
|
||||
sub eax,[read_file.size]
|
||||
mov [read_file.return],eax
|
||||
mov [ini_file_start],eax
|
||||
call load_file
|
||||
test eax,eax
|
||||
jnz initiation_error
|
||||
mov ebp,icons_associations
|
||||
call search_star_and_end_tags
|
||||
mov eax,[end_tag]
|
||||
mov [icons_end_tag],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
add_memory_for_folders:
|
||||
mov ecx,[appl_memory]
|
||||
add ecx,304*32+32
|
||||
mov [right_folder_data],ecx
|
||||
add ecx,304*32+32
|
||||
mov [appl_memory],ecx
|
||||
mcall 64,1
|
||||
|
||||
mov eax,[left_folder_data]
|
||||
mov [read_folder.return],eax
|
||||
mov eax,[right_folder_data]
|
||||
mov [read_folder_1.return],eax
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
copy_path:
|
||||
xor eax,eax
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
mov esi,edi
|
||||
@@:
|
||||
std
|
||||
lodsb
|
||||
cmp al,'/'
|
||||
jnz @b
|
||||
mov edi,esi
|
||||
add edi,2
|
||||
mov esi,ebx
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
copy_path_1:
|
||||
xor eax,eax
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
mov esi,ebx
|
||||
mov [edi-1],byte '/'
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
add_application_memory:
|
||||
mov ecx,[file_features_temp_area+32]
|
||||
.1:
|
||||
add ecx,[appl_memory]
|
||||
mov [appl_memory],ecx
|
||||
mcall 64,1
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
sub_application_memory:
|
||||
mov ecx,[appl_memory]
|
||||
sub ecx,[file_features_temp_area+32]
|
||||
.1:
|
||||
mov [appl_memory],ecx
|
||||
mcall 64,1
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
exit_apl:
|
||||
mov [confirmation_type],exit_type
|
||||
call confirmation_action
|
||||
cmp [work_confirmation_yes],1
|
||||
jne red
|
||||
mcall -1
|
||||
;---------------------------------------------------------------------
|
||||
include 'key.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'markfile.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'button.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'mouse.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'openfile.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'draw.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'drw_dbut.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'menu_bar.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'menu_drv.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'delete.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'copy.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'creatdir.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'creatfile.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'confirm.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'err_wind.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'detect.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'tran_ini.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'help.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'convchar.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'sort.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'progrbar.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'scroll.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'file_inf.inc'
|
||||
;---------------------------------------------------------------------
|
||||
include 'text.inc'
|
||||
;---------------------------------------------------------------------
|
||||
;include_debug_strings
|
||||
I_END:
|
||||
;---------------------------------------------------------------------
|
||||
include 'data.inc'
|
||||
;---------------------------------------------------------------------
|
||||
mem:
|