fs/kfar: Post-SVN tidy (#429)
- Move source code from `trunk` into program root directory. - Update build files and ASM include paths. Add SPDX license header where appropriate. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden. (Work towards [#75](#75), point 3) Reviewed-on: #429 Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com> Reviewed-by: Burer <burer@kolibrios.org> Co-authored-by: Andrew <dent.ace@gmail.com> Co-committed-by: Andrew <dent.ace@gmail.com>
@@ -160,7 +160,7 @@ extra_files = {
|
||||
{"kolibrios/3D/voxel_editor/HOUSE2.VOX", SRC_PROGS .. "/media/voxel_editor/house2.vox"},
|
||||
{"kolibrios/3D/voxel_editor/SQUIRREL.VOX", SRC_PROGS .. "/media/voxel_editor/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"},
|
||||
@@ -488,7 +488,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/cslide"},
|
||||
{"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/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"},
|
||||
@@ -507,7 +507,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"},
|
||||
|
||||
@@ -113,7 +113,7 @@ echo Building fs
|
||||
echo *
|
||||
rem fasm fs\copy2\trunk\copy2.asm %BIN%\copy2
|
||||
fasm fs\copyr\copyr.asm %BIN%\copyr
|
||||
fasm fs\kfar\trunk\kfar.asm %BIN%\kfar
|
||||
fasm fs\kfar\kfar.asm %BIN%\kfar
|
||||
rem fasm fs\mfar\trunk\mfar.asm %BIN%\mfar
|
||||
rem fasm fs\sysxtree\trunk\sysxtree.asm %BIN%\sysxtree
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
; Info3ds - is a program for viewing the structure of *.3ds files
|
||||
; Copyright (C) 2011-2025 KolibriOS team
|
||||
|
||||
; Text encoded with Code Page 866 - Cyrillic
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
@@ -154,7 +156,7 @@ start:
|
||||
|
||||
stdcall [buf2d_create], buf_0 ;создание буфера
|
||||
|
||||
include_image_file '../../fs/kfar/trunk/font8x9.bmp', image_data_toolbar
|
||||
include_image_file '../../fs/kfar/font8x9.bmp', image_data_toolbar
|
||||
stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер
|
||||
stdcall mem.Free,[image_data_toolbar] ;освобождаем память
|
||||
stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
; Info3ds_u - is a program for viewing the structure of *.3ds files
|
||||
; Copyright (C) 2015-2025 KolibriOS team
|
||||
|
||||
; Text encoded with Code Page 866 - Cyrillic
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01' ;идентиф. исполняемого файла всегда 8 байт
|
||||
@@ -149,7 +151,7 @@ start:
|
||||
mov eax,dword[icon_toolbar]
|
||||
mov dword[tree1.data_img],eax
|
||||
|
||||
include_image_file '../../fs/kfar/trunk/font8x9.bmp', image_data_toolbar
|
||||
include_image_file '../../fs/kfar/font8x9.bmp', image_data_toolbar
|
||||
stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер
|
||||
stdcall mem.Free,[image_data_toolbar] ;освобождаем память
|
||||
stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
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,280 +1,285 @@
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,START,I_END,MEM,STACKTOP,0,cur_dir_path
|
||||
|
||||
include '../../../../proc32.inc'
|
||||
include '../../../../macros.inc'
|
||||
include '../../../../KOSfuncs.inc'
|
||||
include '../../../../load_lib.mac'
|
||||
|
||||
include 'deflate.inc'
|
||||
include 'debug.inc'
|
||||
include 'zlib.inc'
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
m0size dd 90 ;размер данных для упаковки
|
||||
m1size dd 1024 ;размер буфера данных для упаковки
|
||||
m2size dd 0 ;размер распакованных данных
|
||||
|
||||
align 4
|
||||
m0: ;данные для упаковки
|
||||
file 'zlib.txt'
|
||||
|
||||
align 4
|
||||
m1 rb 1024 ;буфер для упакованных данных
|
||||
m2 dd 0 ;указатель на распакованные данные
|
||||
|
||||
buf rb 1024 ;буфер для вывода сжатых данных в окно
|
||||
strategy dd Z_DEFAULT_STRATEGY ;стратегия сжатия
|
||||
|
||||
align 4
|
||||
START:
|
||||
load_libraries l_libs_start,load_lib_end
|
||||
mov ebp,lib0
|
||||
.test_lib_open:
|
||||
cmp dword [ebp+ll_struc_size-4],0
|
||||
jz @f
|
||||
mcall SF_TERMINATE_PROCESS ;exit not correct
|
||||
@@:
|
||||
add ebp,ll_struc_size
|
||||
cmp ebp,load_lib_end
|
||||
jl .test_lib_open
|
||||
|
||||
; mcall SF_SYS_MISC, SSF_HEAP_INIT
|
||||
|
||||
call test_code
|
||||
|
||||
align 4
|
||||
red: ; перерисовать окно
|
||||
call draw_window ; вызываем процедуру отрисовки окна
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
cmp eax,1 ; перерисовать окно ?
|
||||
je red
|
||||
cmp eax,2 ; нажата клавиша ?
|
||||
je key
|
||||
cmp eax,3 ; нажата кнопка ?
|
||||
je button
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
key:
|
||||
mcall SF_GET_KEY
|
||||
|
||||
cmp ah,178 ;Up
|
||||
jne @f
|
||||
cmp dword[strategy],0
|
||||
jle @f
|
||||
dec dword[strategy]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
cmp ah,177 ;Down
|
||||
jne @f
|
||||
cmp dword[strategy],4
|
||||
jge @f
|
||||
inc dword[strategy]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
cmp ah,176 ;Left
|
||||
jne @f
|
||||
cmp dword[m0size],8
|
||||
jl @f
|
||||
dec dword[m0size]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
cmp ah,179 ;Right
|
||||
jne @f
|
||||
inc dword[m0size]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
jmp still ; вернуться к началу цикла
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
button:
|
||||
mcall SF_GET_BUTTON
|
||||
|
||||
cmp ah,1
|
||||
jne still
|
||||
|
||||
.exit: ; конец программы
|
||||
mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
|
||||
align 4
|
||||
draw_window:
|
||||
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
||||
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc,sizeof.system_colors
|
||||
mov edx, [sc.work] ; цвет фона
|
||||
or edx, 0x33000000 ; и тип окна 3
|
||||
mcall SF_CREATE_WINDOW, <50,600>, <50,180>, , ,title
|
||||
|
||||
cStr edx,'Strategy:'
|
||||
mcall SF_DRAW_TEXT, <10,10>,0x40f0,,9
|
||||
cStr edx,'Input size:'
|
||||
mcall , <10,20>,,,11
|
||||
cStr edx,'Compr. size:'
|
||||
mcall , <10,30>,,,12
|
||||
cStr edx,'Outp. size:'
|
||||
mcall , <10,120>,,,11
|
||||
|
||||
mov edx,[strategy]
|
||||
imul edx,12
|
||||
add edx,capt_strateg
|
||||
mcall , <90,10>,0,,12
|
||||
|
||||
mcall SF_DRAW_NUMBER, (5 shl 16)+1, m0size, <90,20>
|
||||
mcall , (5 shl 16)+1, m1size, <90,30>
|
||||
mcall , (5 shl 16)+1, m2size, <90,120>
|
||||
;mov ecx,(1 shl 31)
|
||||
mov esi,[m2size]
|
||||
cmp esi,95
|
||||
jle @f
|
||||
mov esi,95
|
||||
@@:
|
||||
mcall SF_DRAW_TEXT, <10,130>, 0, [m2]
|
||||
|
||||
mov esi,7
|
||||
mov ebx,(10 shl 16)+45 ;(x shl 16)+y
|
||||
mov edx,buf
|
||||
.cycle1: ;rows
|
||||
mcall SF_DRAW_TEXT,, (1 shl 31)
|
||||
add ebx,10
|
||||
add edx,32*3
|
||||
dec esi
|
||||
jnz .cycle1
|
||||
|
||||
mcall SF_REDRAW, SSF_END_DRAW
|
||||
ret
|
||||
|
||||
align 4
|
||||
test_code:
|
||||
stdcall [deflateInit2], my_strm,\
|
||||
-1, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, [strategy]
|
||||
;Стратегия:
|
||||
; Z_DEFAULT_STRATEGY, Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED
|
||||
|
||||
mov eax,my_strm
|
||||
mov [eax+z_stream.next_in],m0 ;устанавливаем память для сжатия
|
||||
mov ecx,[m0size]
|
||||
mov [eax+z_stream.avail_in],ecx ;размер сжимаемыж данных
|
||||
mov [eax+z_stream.next_out],m1 ;устанавливаем буфер для сжатия
|
||||
mov dword[eax+z_stream.avail_out],1024 ;размер буфера для сжатия (максимум 16 Кб)
|
||||
|
||||
stdcall [deflate], my_strm, Z_FINISH
|
||||
|
||||
;размер сжатых данных: 1024-[my_strm.avail_out]
|
||||
mov ecx,1024
|
||||
sub ecx,[my_strm.avail_out]
|
||||
mov [m1size],ecx
|
||||
|
||||
;assert(ret != Z_STREAM_ERROR)
|
||||
;while (strm.avail_out == 0)
|
||||
|
||||
;формирование текста для отображения сжатых данных
|
||||
;в 16-ричном виде, нужно только для примера
|
||||
mov ebx,[m1size]
|
||||
mov esi,m1
|
||||
mov edi,buf
|
||||
mov edx,7
|
||||
align 4
|
||||
.cycle1: ;rows
|
||||
mov ecx,32
|
||||
align 4
|
||||
.cycle0: ;cols
|
||||
stdcall hex_in_str, edi,[esi],2
|
||||
add edi,2
|
||||
inc esi
|
||||
mov byte[edi],' ' ;format space
|
||||
dec ebx
|
||||
jz .cycle1end ;if end file
|
||||
inc edi
|
||||
loop .cycle0
|
||||
mov byte[edi-1],0
|
||||
dec edx
|
||||
jnz .cycle1
|
||||
.cycle1end:
|
||||
mov byte[edi],0
|
||||
|
||||
;удаление буфера с ранее распакованными данными
|
||||
mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
|
||||
|
||||
mov eax,[m1size]
|
||||
sub eax,2 ;;; 2? or 6?
|
||||
mov [m2size],eax
|
||||
mov eax,m1
|
||||
add eax,2
|
||||
stdcall [deflate_unpack],eax,m2size
|
||||
mov [m2],eax ;запись новых распакованных данных
|
||||
mov ecx,[m0size] ;;; ???
|
||||
mov [m2size],ecx
|
||||
ret
|
||||
|
||||
align 4
|
||||
proc print_z_struct uses eax ebx
|
||||
mov eax,my_strm
|
||||
mov ebx,[eax+z_stream.state]
|
||||
stdcall debug_fields,eax,sv_2
|
||||
stdcall debug_fields,ebx,sv_3
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
sc system_colors
|
||||
align 4
|
||||
title db 'Zlib test, press on [Up], [Down], [Left], [Right]',0
|
||||
|
||||
align 4
|
||||
capt_strateg db '0) Default ',0
|
||||
db '1) Filtered',0
|
||||
db '2) Huffman ',0
|
||||
db '3) Rle ',0
|
||||
db '4) Fixed ',0
|
||||
|
||||
align 4
|
||||
import_archiver:
|
||||
deflate_unpack dd sz_deflate_unpack
|
||||
deflateInit dd sz_deflateInit
|
||||
deflateInit2 dd sz_deflateInit2
|
||||
deflateReset dd sz_deflateReset
|
||||
deflate dd sz_deflate
|
||||
deflateEnd dd sz_deflateEnd
|
||||
calc_crc32 dd sz_calc_crc32
|
||||
dd 0,0
|
||||
sz_deflate_unpack db 'deflate_unpack',0
|
||||
sz_deflateInit db 'deflateInit',0
|
||||
sz_deflateInit2 db 'deflateInit2',0
|
||||
sz_deflateReset db 'deflateReset',0
|
||||
sz_deflate db 'deflate',0
|
||||
sz_deflateEnd db 'deflateEnd',0
|
||||
sz_calc_crc32 db 'calc_crc32',0
|
||||
|
||||
;--------------------------------------------------
|
||||
system_dir_0 db '/sys/lib/'
|
||||
lib_name_0 db 'archiver.obj',0
|
||||
|
||||
l_libs_start:
|
||||
lib0 l_libs lib_name_0, library_path, system_dir_0, import_archiver
|
||||
load_lib_end:
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
align 16
|
||||
I_END:
|
||||
my_strm z_stream
|
||||
rd 4096
|
||||
align 16
|
||||
STACKTOP:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
MEM:
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
; Text encoded with Code Page 866 - Cyrillic
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,START,I_END,MEM,STACKTOP,0,cur_dir_path
|
||||
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
|
||||
include 'deflate.inc'
|
||||
include 'debug.inc'
|
||||
include 'zlib.inc'
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
m0size dd 90 ;размер данных для упаковки
|
||||
m1size dd 1024 ;размер буфера данных для упаковки
|
||||
m2size dd 0 ;размер распакованных данных
|
||||
|
||||
align 4
|
||||
m0: ;данные для упаковки
|
||||
file 'zlib.txt'
|
||||
|
||||
align 4
|
||||
m1 rb 1024 ;буфер для упакованных данных
|
||||
m2 dd 0 ;указатель на распакованные данные
|
||||
|
||||
buf rb 1024 ;буфер для вывода сжатых данных в окно
|
||||
strategy dd Z_DEFAULT_STRATEGY ;стратегия сжатия
|
||||
|
||||
align 4
|
||||
START:
|
||||
load_libraries l_libs_start,load_lib_end
|
||||
mov ebp,lib0
|
||||
.test_lib_open:
|
||||
cmp dword [ebp+ll_struc_size-4],0
|
||||
jz @f
|
||||
mcall SF_TERMINATE_PROCESS ;exit not correct
|
||||
@@:
|
||||
add ebp,ll_struc_size
|
||||
cmp ebp,load_lib_end
|
||||
jl .test_lib_open
|
||||
|
||||
; mcall SF_SYS_MISC, SSF_HEAP_INIT
|
||||
|
||||
call test_code
|
||||
|
||||
align 4
|
||||
red: ; перерисовать окно
|
||||
call draw_window ; вызываем процедуру отрисовки окна
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
cmp eax,1 ; перерисовать окно ?
|
||||
je red
|
||||
cmp eax,2 ; нажата клавиша ?
|
||||
je key
|
||||
cmp eax,3 ; нажата кнопка ?
|
||||
je button
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
key:
|
||||
mcall SF_GET_KEY
|
||||
|
||||
cmp ah,178 ;Up
|
||||
jne @f
|
||||
cmp dword[strategy],0
|
||||
jle @f
|
||||
dec dword[strategy]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
cmp ah,177 ;Down
|
||||
jne @f
|
||||
cmp dword[strategy],4
|
||||
jge @f
|
||||
inc dword[strategy]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
cmp ah,176 ;Left
|
||||
jne @f
|
||||
cmp dword[m0size],8
|
||||
jl @f
|
||||
dec dword[m0size]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
cmp ah,179 ;Right
|
||||
jne @f
|
||||
inc dword[m0size]
|
||||
call test_code
|
||||
call draw_window
|
||||
@@:
|
||||
jmp still ; вернуться к началу цикла
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
button:
|
||||
mcall SF_GET_BUTTON
|
||||
|
||||
cmp ah,1
|
||||
jne still
|
||||
|
||||
.exit: ; конец программы
|
||||
mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
|
||||
align 4
|
||||
draw_window:
|
||||
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
||||
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc,sizeof.system_colors
|
||||
mov edx, [sc.work] ; цвет фона
|
||||
or edx, 0x33000000 ; и тип окна 3
|
||||
mcall SF_CREATE_WINDOW, <50,600>, <50,180>, , ,title
|
||||
|
||||
cStr edx,'Strategy:'
|
||||
mcall SF_DRAW_TEXT, <10,10>,0x40f0,,9
|
||||
cStr edx,'Input size:'
|
||||
mcall , <10,20>,,,11
|
||||
cStr edx,'Compr. size:'
|
||||
mcall , <10,30>,,,12
|
||||
cStr edx,'Outp. size:'
|
||||
mcall , <10,120>,,,11
|
||||
|
||||
mov edx,[strategy]
|
||||
imul edx,12
|
||||
add edx,capt_strateg
|
||||
mcall , <90,10>,0,,12
|
||||
|
||||
mcall SF_DRAW_NUMBER, (5 shl 16)+1, m0size, <90,20>
|
||||
mcall , (5 shl 16)+1, m1size, <90,30>
|
||||
mcall , (5 shl 16)+1, m2size, <90,120>
|
||||
;mov ecx,(1 shl 31)
|
||||
mov esi,[m2size]
|
||||
cmp esi,95
|
||||
jle @f
|
||||
mov esi,95
|
||||
@@:
|
||||
mcall SF_DRAW_TEXT, <10,130>, 0, [m2]
|
||||
|
||||
mov esi,7
|
||||
mov ebx,(10 shl 16)+45 ;(x shl 16)+y
|
||||
mov edx,buf
|
||||
.cycle1: ;rows
|
||||
mcall SF_DRAW_TEXT,, (1 shl 31)
|
||||
add ebx,10
|
||||
add edx,32*3
|
||||
dec esi
|
||||
jnz .cycle1
|
||||
|
||||
mcall SF_REDRAW, SSF_END_DRAW
|
||||
ret
|
||||
|
||||
align 4
|
||||
test_code:
|
||||
stdcall [deflateInit2], my_strm,\
|
||||
-1, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, [strategy]
|
||||
;Стратегия:
|
||||
; Z_DEFAULT_STRATEGY, Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED
|
||||
|
||||
mov eax,my_strm
|
||||
mov [eax+z_stream.next_in],m0 ;устанавливаем память для сжатия
|
||||
mov ecx,[m0size]
|
||||
mov [eax+z_stream.avail_in],ecx ;размер сжимаемыж данных
|
||||
mov [eax+z_stream.next_out],m1 ;устанавливаем буфер для сжатия
|
||||
mov dword[eax+z_stream.avail_out],1024 ;размер буфера для сжатия (максимум 16 Кб)
|
||||
|
||||
stdcall [deflate], my_strm, Z_FINISH
|
||||
|
||||
;размер сжатых данных: 1024-[my_strm.avail_out]
|
||||
mov ecx,1024
|
||||
sub ecx,[my_strm.avail_out]
|
||||
mov [m1size],ecx
|
||||
|
||||
;assert(ret != Z_STREAM_ERROR)
|
||||
;while (strm.avail_out == 0)
|
||||
|
||||
;формирование текста для отображения сжатых данных
|
||||
;в 16-ричном виде, нужно только для примера
|
||||
mov ebx,[m1size]
|
||||
mov esi,m1
|
||||
mov edi,buf
|
||||
mov edx,7
|
||||
align 4
|
||||
.cycle1: ;rows
|
||||
mov ecx,32
|
||||
align 4
|
||||
.cycle0: ;cols
|
||||
stdcall hex_in_str, edi,[esi],2
|
||||
add edi,2
|
||||
inc esi
|
||||
mov byte[edi],' ' ;format space
|
||||
dec ebx
|
||||
jz .cycle1end ;if end file
|
||||
inc edi
|
||||
loop .cycle0
|
||||
mov byte[edi-1],0
|
||||
dec edx
|
||||
jnz .cycle1
|
||||
.cycle1end:
|
||||
mov byte[edi],0
|
||||
|
||||
;удаление буфера с ранее распакованными данными
|
||||
mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
|
||||
|
||||
mov eax,[m1size]
|
||||
sub eax,2 ;;; 2? or 6?
|
||||
mov [m2size],eax
|
||||
mov eax,m1
|
||||
add eax,2
|
||||
stdcall [deflate_unpack],eax,m2size
|
||||
mov [m2],eax ;запись новых распакованных данных
|
||||
mov ecx,[m0size] ;;; ???
|
||||
mov [m2size],ecx
|
||||
ret
|
||||
|
||||
align 4
|
||||
proc print_z_struct uses eax ebx
|
||||
mov eax,my_strm
|
||||
mov ebx,[eax+z_stream.state]
|
||||
stdcall debug_fields,eax,sv_2
|
||||
stdcall debug_fields,ebx,sv_3
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
sc system_colors
|
||||
align 4
|
||||
title db 'Zlib test, press on [Up], [Down], [Left], [Right]',0
|
||||
|
||||
align 4
|
||||
capt_strateg db '0) Default ',0
|
||||
db '1) Filtered',0
|
||||
db '2) Huffman ',0
|
||||
db '3) Rle ',0
|
||||
db '4) Fixed ',0
|
||||
|
||||
align 4
|
||||
import_archiver:
|
||||
deflate_unpack dd sz_deflate_unpack
|
||||
deflateInit dd sz_deflateInit
|
||||
deflateInit2 dd sz_deflateInit2
|
||||
deflateReset dd sz_deflateReset
|
||||
deflate dd sz_deflate
|
||||
deflateEnd dd sz_deflateEnd
|
||||
calc_crc32 dd sz_calc_crc32
|
||||
dd 0,0
|
||||
sz_deflate_unpack db 'deflate_unpack',0
|
||||
sz_deflateInit db 'deflateInit',0
|
||||
sz_deflateInit2 db 'deflateInit2',0
|
||||
sz_deflateReset db 'deflateReset',0
|
||||
sz_deflate db 'deflate',0
|
||||
sz_deflateEnd db 'deflateEnd',0
|
||||
sz_calc_crc32 db 'calc_crc32',0
|
||||
|
||||
;--------------------------------------------------
|
||||
system_dir_0 db '/sys/lib/'
|
||||
lib_name_0 db 'archiver.obj',0
|
||||
|
||||
l_libs_start:
|
||||
lib0 l_libs lib_name_0, library_path, system_dir_0, import_archiver
|
||||
load_lib_end:
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
align 16
|
||||
I_END:
|
||||
my_strm z_stream
|
||||
rd 4096
|
||||
align 16
|
||||
STACKTOP:
|
||||
cur_dir_path:
|
||||
rb 4096
|
||||
library_path:
|
||||
rb 4096
|
||||
MEM:
|
||||
@@ -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,7 +1,7 @@
|
||||
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 *.png bin\*.png
|
||||
@copy *.ini bin\*.ini
|
||||
@fasm.exe -m 16384 nu_pogod.asm bin\nu_pogod.kex
|
||||
@kpack bin\nu_pogod.kex
|
||||
pause
|
||||
pause
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
; ImgTransform - utility for creating textures from images
|
||||
; Copyright (C) 2020-2025 KolibriOS team
|
||||
|
||||
; Text encoded with Code Page 866 - Cyrillic
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
@@ -54,7 +56,7 @@ start:
|
||||
|
||||
stdcall [buf2d_create], buf_0 ;создание буфера
|
||||
|
||||
include_image_file '../../../programs/fs/kfar/trunk/font6x9.bmp', image_data_toolbar, buf_font.w,buf_font.h
|
||||
include_image_file '../../../programs/fs/kfar/font6x9.bmp', image_data_toolbar, buf_font.w,buf_font.h
|
||||
stdcall [buf2d_create_f_img], buf_font,[image_data_toolbar] ;создаем буфер
|
||||
stdcall mem.Free,[image_data_toolbar] ;освобождаем память
|
||||
stdcall [buf2d_conv_24_to_8], buf_font,1 ;делаем буфер прозрачности 8 бит
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
if not exist bin mkdir bin
|
||||
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
|
||||
@copy *.png bin\*.png
|
||||
@copy *.txt bin\*.txt
|
||||
@fasm.exe -m 16384 log_el.asm bin\log_el.kex
|
||||
|
||||