fs/kfm: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 27s
Build system / Build (pull_request) Successful in 4m22s

- Move source code from `trunk` into program root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
2025-05-21 21:26:21 +01:00
parent 0d2ac7d185
commit 05fd3512a1
46 changed files with 406 additions and 403 deletions

View File

@@ -294,8 +294,8 @@ extra_files = {
{"kolibrios/utils/cnc_editor/cnc_editor", VAR_PROGS .. "/other/cnc_editor/cnc_editor"}, {"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/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.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_eng.txt", SRC_PROGS .. "/fs/kfm/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_rus.txt", SRC_PROGS .. "/fs/kfm/docs/russian/dos_kolibri/kfm_keys.txt"},
{"kolibrios/utils/fNav/", "common/File Managers/fNav/*"}, {"kolibrios/utils/fNav/", "common/File Managers/fNav/*"},
{"kolibrios/utils/NDN/", "common/File Managers/ndn/*"}, {"kolibrios/utils/NDN/", "common/File Managers/ndn/*"},
{"kolibrios/utils/NDN/COLORS/", "common/File Managers/ndn/COLORS/*"}, {"kolibrios/utils/NDN/COLORS/", "common/File Managers/ndn/COLORS/*"},
@@ -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/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
{"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"}, {"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
{"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"}, {"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"},
{"kolibrios/utils/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/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"} {"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
}) })

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,399 +1,402 @@
;***************************************************************************** ; SPDX-License-Identifier: NOASSERTION
; KFM - Kolibri File Manager ;
; Copyright (c) 2006 - 2014, Marat Zakiyanov aka Mario79, aka Mario
; All rights reserved. ;*****************************************************************************
; ; KFM - Kolibri File Manager
; Redistribution and use in source and binary forms, with or without ; Copyright (c) 2006 - 2014, Marat Zakiyanov aka Mario79, aka Mario
; modification, are permitted provided that the following conditions are met: ; All rights reserved.
; * Redistributions of source code must retain the above copyright ;
; notice, this list of conditions and the following disclaimer. ; Redistribution and use in source and binary forms, with or without
; * Redistributions in binary form must reproduce the above copyright ; modification, are permitted provided that the following conditions are met:
; notice, this list of conditions and the following disclaimer in the ; * Redistributions of source code must retain the above copyright
; documentation and/or other materials provided with the distribution. ; notice, this list of conditions and the following disclaimer.
; * Neither the name of the <organization> nor the ; * Redistributions in binary form must reproduce the above copyright
; names of its contributors may be used to endorse or promote products ; notice, this list of conditions and the following disclaimer in the
; derived from this software without specific prior written permission. ; documentation and/or other materials provided with the distribution.
; ; * Neither the name of the <organization> nor the
; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY ; names of its contributors may be used to endorse or promote products
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ; derived from this software without specific prior written permission.
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ;
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY ; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY
; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
;***************************************************************************** ; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
; KFM v0.48d 23/12/2021 ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;--------------------------------------------------------------------- ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
use32 ;*****************************************************************************
org 0x0 ; KFM v0.48d 23/12/2021
;---------------------------------------------------------------------
db 'MENUET01' use32
dd 0x01 org 0x0
dd START
dd I_END db 'MENUET01'
dd mem dd 0x01
dd stacktop dd START
dd 0x0 dd I_END
dd path dd mem
dd stacktop
;include 'lang.inc' dd 0x0
;include 'kglobals.inc' dd path
;include 'macros.inc'
include '../../../macros.inc' ;include 'lang.inc'
include '../../../config.inc' ;for nightbuild ;include 'kglobals.inc'
;include '../../../debug.inc' ;for nightbuild ;include 'macros.inc'
include '../../macros.inc'
;define __DEBUG__ 1 include '../../config.inc' ;for nightbuild
;define __DEBUG_LEVEL__ 1 ;include '../../debug.inc' ;for nightbuild
;include '../../../debug-fdo.inc'
;define __DEBUG__ 1
include 'editbox.inc' ;define __DEBUG_LEVEL__ 1
;use_edit_box ;include '../../debug-fdo.inc'
use_edit_box procinfo
;include 'ASCGL.INC' include 'editbox.inc'
;--------------------------------------------------------------------- ;use_edit_box
include 'files.inc' use_edit_box procinfo
;--------------------------------------------------------------------- ;include 'ASCGL.INC'
STRLEN = 1024 ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'files.inc'
START: ;---------------------------------------------------------------------
mcall 9,procinfo,-1 STRLEN = 1024
mov ecx,[ebx+30] ; PID ;---------------------------------------------------------------------
mcall 18,21 START:
mov [active_process],eax ; WINDOW SLOT mcall 9,procinfo,-1
mov [appl_memory],mem mov ecx,[ebx+30] ; PID
mov ax,[select_disk_char] mcall 18,21
mov [read_folder_name],ax mov [active_process],eax ; WINDOW SLOT
mov [read_folder_1_name],ax mov [appl_memory],mem
call load_initiation_file mov ax,[select_disk_char]
call add_memory_for_folders mov [read_folder_name],ax
call device_detect_f70 mov [read_folder_1_name],ax
call select_starting_directories call load_initiation_file
mcall 66, 1, 1 call add_memory_for_folders
mov eax,1 call device_detect_f70
mov [left_sort_flag],eax call select_starting_directories
mov [right_sort_flag],eax mcall 66, 1, 1
mov eax,1
call proc_read_left_folder mov [left_sort_flag],eax
test eax,eax mov [right_sort_flag],eax
jz @f
call proc_read_left_folder
cmp eax,6 test eax,eax
jne read_folder_error jz @f
@@:
call proc_read_right_folder cmp eax,6
test eax,eax jne read_folder_error
jz @f @@:
call proc_read_right_folder
cmp eax,6 test eax,eax
je @f jz @f
; if /hd read error for start then use /rd
mov esi,retrieved_devices_table+1 cmp eax,6
call copy_folder_name_1 je @f
call proc_read_right_folder ; if /hd read error for start then use /rd
test eax,eax mov esi,retrieved_devices_table+1
jz @f call copy_folder_name_1
call proc_read_right_folder
cmp eax,6 test eax,eax
jne read_folder_1_error jz @f
@@:
mcall 40, 0x27 cmp eax,6
jmp red_1 jne read_folder_1_error
;--------------------------------------------------------------------- @@:
red: mcall 40, 0x27
call get_window_param jmp red_1
test [window_status],10b ;---------------------------------------------------------------------
jnz red_1 ;still red:
test [window_status],100b call get_window_param
jnz red_1 test [window_status],10b
cmp [window_high],180 jnz red_1 ;still
ja @f test [window_status],100b
mov esi,180 jnz red_1
mcall 67,-1,ebx,ebx cmp [window_high],180
@@: ja @f
cmp [window_width],495 mov esi,180
ja red_1 mcall 67,-1,ebx,ebx
mov edx,495 @@:
mcall 67,-1,ebx, ,ebx cmp [window_width],495
red_1: ja red_1
call draw_window mov edx,495
;--------------------------------------------------------------------- mcall 67,-1,ebx, ,ebx
still: red_1:
mcall 10 call draw_window
;---------------------------------------------------------------------
call check_active_process_for_clear_all_flags still:
mcall 10
cmp eax,1
je red call check_active_process_for_clear_all_flags
cmp eax,2
je key cmp eax,1
cmp eax,3 je red
je button cmp eax,2
cmp eax,6 je key
je mouse cmp eax,3
jmp still je button
;--------------------------------------------------------------------- cmp eax,6
check_active_process_for_clear_all_flags: je mouse
push eax jmp still
mcall 18,7 ;---------------------------------------------------------------------
cmp [active_process],eax check_active_process_for_clear_all_flags:
je .exit push eax
mcall 18,7
xor eax,eax cmp [active_process],eax
cmp [shift_flag],al je .exit
jne .clear_all_flags
xor eax,eax
cmp [ctrl_flag],al cmp [shift_flag],al
jne .clear_all_flags jne .clear_all_flags
cmp [ctrl_flag],al cmp [ctrl_flag],al
je .exit jne .clear_all_flags
;--------------------------------------
.clear_all_flags: cmp [ctrl_flag],al
mov [shift_flag],al je .exit
mov [ctrl_flag],al ;--------------------------------------
mov [alt_flag],al .clear_all_flags:
call erase_fbutton mov [shift_flag],al
call draw_fbutton mov [ctrl_flag],al
;-------------------------------------- mov [alt_flag],al
.exit: call erase_fbutton
pop eax call draw_fbutton
ret ;--------------------------------------
;--------------------------------------------------------------------- .exit:
get_window_param: pop eax
mcall 9, procinfo, -1 ret
mov eax,[ebx+46] ;---------------------------------------------------------------------
mov [window_high],eax get_window_param:
mov eax,[ebx+42] mcall 9, procinfo, -1
mov [window_width],eax mov eax,[ebx+46]
mov eax,[ebx+70] mov [window_high],eax
mov [window_status],eax mov eax,[ebx+42]
mcall 48,4 mov [window_width],eax
mov [skin_high],eax mov eax,[ebx+70]
ret mov [window_status],eax
;--------------------------------------------------------------------- mcall 48,4
draw_window: mov [skin_high],eax
mcall 12, 1 ret
xor esi,esi ;---------------------------------------------------------------------
mcall 0, <20,728>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0 draw_window:
call get_window_param mcall 12, 1
xor esi,esi
mcall 71, 1, header_text mcall 0, <20,728>, <20,460>, 0x43cccccc ; 0x805080D0, 0x005080D0
call get_window_param
test [window_status],100b ; window is rolled up
jnz .exit mcall 71, 1, header_text
test [window_status],10b ; window is minimized to panel test [window_status],100b ; window is rolled up
jnz .exit jnz .exit
; create_dir_name test [window_status],10b ; window is minimized to panel
; start_parameter jnz .exit
; file_name
; [temp_edi] ; create_dir_name
; header ; start_parameter
; delete_file_data.name ; file_name
; start_file_data.name ; [temp_edi]
; start_parameter ; header
; start_file_data.name ; delete_file_data.name
; read_icon_file.name ; start_file_data.name
; read_file_features.name ;path ;header ; start_parameter
; start_file_data.name
cmp [window_high],180 ; read_icon_file.name
jb .exit ; read_file_features.name ;path ;header
cmp [window_width],495
jb .exit cmp [window_high],180
jb .exit
call draw_fbutton cmp [window_width],495
call draw_left_panel jb .exit
call draw_right_panel
call draw_device_button call draw_fbutton
call draw_left_select_disk_button call draw_left_panel
call draw_left_sort_button call draw_right_panel
call draw_right_select_disk_button call draw_device_button
call draw_right_sort_button call draw_left_select_disk_button
call draw_menu_bar call draw_left_sort_button
call draw_buttons_panel call draw_right_select_disk_button
.exit: call draw_right_sort_button
mcall 12, 2 call draw_menu_bar
ret call draw_buttons_panel
;--------------------------------------------------------------------- .exit:
prepare_load_data: mcall 12, 2
mov esi,path ret
mov edi,file_name ;---------------------------------------------------------------------
call copy_path prepare_load_data:
call get_file_size mov esi,path
test eax,eax mov edi,file_name
ret call copy_path
;--------------------------------------------------------------------- call get_file_size
prepare_load_data_1: test eax,eax
mov [read_file.return],eax ret
mov ebp,eax ;---------------------------------------------------------------------
prepare_load_data_4: prepare_load_data_1:
call load_file mov [read_file.return],eax
test eax,eax mov ebp,eax
ret prepare_load_data_4:
;--------------------------------------------------------------------- call load_file
prepare_load_data_2: test eax,eax
call add_application_memory ret
prepare_load_data_3: ;---------------------------------------------------------------------
call add_application_memory prepare_load_data_2:
mov eax,[file_features_temp_area+32] call add_application_memory
mov [read_file.size],eax prepare_load_data_3:
ret call add_application_memory
;--------------------------------------------------------------------- mov eax,[file_features_temp_area+32]
load_initiation_file: mov [read_file.size],eax
mov ebx,ini_file_name ret
call prepare_load_data ;---------------------------------------------------------------------
jnz initiation_error load_initiation_file:
call prepare_load_data_3 mov ebx,ini_file_name
mov eax,[appl_memory] call prepare_load_data
mov [left_folder_data],eax jnz initiation_error
sub eax,[read_file.size] call prepare_load_data_3
mov [read_file.return],eax mov eax,[appl_memory]
mov [ini_file_start],eax mov [left_folder_data],eax
call load_file sub eax,[read_file.size]
test eax,eax mov [read_file.return],eax
jnz initiation_error mov [ini_file_start],eax
mov ebp,icons_associations call load_file
call search_star_and_end_tags test eax,eax
mov eax,[end_tag] jnz initiation_error
mov [icons_end_tag],eax mov ebp,icons_associations
ret call search_star_and_end_tags
;--------------------------------------------------------------------- mov eax,[end_tag]
add_memory_for_folders: mov [icons_end_tag],eax
mov ecx,[appl_memory] ret
add ecx,304*32+32 ;---------------------------------------------------------------------
mov [right_folder_data],ecx add_memory_for_folders:
add ecx,304*32+32 mov ecx,[appl_memory]
mov [appl_memory],ecx add ecx,304*32+32
mcall 64,1 mov [right_folder_data],ecx
add ecx,304*32+32
mov eax,[left_folder_data] mov [appl_memory],ecx
mov [read_folder.return],eax mcall 64,1
mov eax,[right_folder_data]
mov [read_folder_1.return],eax mov eax,[left_folder_data]
ret mov [read_folder.return],eax
;--------------------------------------------------------------------- mov eax,[right_folder_data]
copy_path: mov [read_folder_1.return],eax
xor eax,eax ret
@@: ;---------------------------------------------------------------------
cld copy_path:
lodsb xor eax,eax
stosb @@:
test eax,eax cld
jnz @b lodsb
mov esi,edi stosb
@@: test eax,eax
std jnz @b
lodsb mov esi,edi
cmp al,'/' @@:
jnz @b std
mov edi,esi lodsb
add edi,2 cmp al,'/'
mov esi,ebx jnz @b
@@: mov edi,esi
cld add edi,2
lodsb mov esi,ebx
stosb @@:
test eax,eax cld
jnz @b lodsb
ret stosb
;--------------------------------------------------------------------- test eax,eax
copy_path_1: jnz @b
xor eax,eax ret
@@: ;---------------------------------------------------------------------
cld copy_path_1:
lodsb xor eax,eax
stosb @@:
test eax,eax cld
jnz @b lodsb
mov esi,ebx stosb
mov [edi-1],byte '/' test eax,eax
@@: jnz @b
cld mov esi,ebx
lodsb mov [edi-1],byte '/'
stosb @@:
test eax,eax cld
jnz @b lodsb
ret stosb
;--------------------------------------------------------------------- test eax,eax
add_application_memory: jnz @b
mov ecx,[file_features_temp_area+32] ret
.1: ;---------------------------------------------------------------------
add ecx,[appl_memory] add_application_memory:
mov [appl_memory],ecx mov ecx,[file_features_temp_area+32]
mcall 64,1 .1:
ret add ecx,[appl_memory]
;--------------------------------------------------------------------- mov [appl_memory],ecx
sub_application_memory: mcall 64,1
mov ecx,[appl_memory] ret
sub ecx,[file_features_temp_area+32] ;---------------------------------------------------------------------
.1: sub_application_memory:
mov [appl_memory],ecx mov ecx,[appl_memory]
mcall 64,1 sub ecx,[file_features_temp_area+32]
ret .1:
;--------------------------------------------------------------------- mov [appl_memory],ecx
exit_apl: mcall 64,1
mov [confirmation_type],exit_type ret
call confirmation_action ;---------------------------------------------------------------------
cmp [work_confirmation_yes],1 exit_apl:
jne red mov [confirmation_type],exit_type
mcall -1 call confirmation_action
;--------------------------------------------------------------------- cmp [work_confirmation_yes],1
include 'key.inc' jne red
;--------------------------------------------------------------------- mcall -1
include 'markfile.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'key.inc'
include 'button.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'markfile.inc'
include 'mouse.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'button.inc'
include 'openfile.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'mouse.inc'
include 'draw.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'openfile.inc'
include 'drw_dbut.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'draw.inc'
include 'menu_bar.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'drw_dbut.inc'
include 'menu_drv.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'menu_bar.inc'
include 'delete.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'menu_drv.inc'
include 'copy.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'delete.inc'
include 'creatdir.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'copy.inc'
include 'creatfile.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'creatdir.inc'
include 'confirm.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'creatfile.inc'
include 'err_wind.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'confirm.inc'
include 'detect.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'err_wind.inc'
include 'tran_ini.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'detect.inc'
include 'help.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'tran_ini.inc'
include 'convchar.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'help.inc'
include 'sort.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'convchar.inc'
include 'progrbar.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'sort.inc'
include 'scroll.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'progrbar.inc'
include 'file_inf.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'scroll.inc'
include 'text.inc' ;---------------------------------------------------------------------
;--------------------------------------------------------------------- include 'file_inf.inc'
;include_debug_strings ;---------------------------------------------------------------------
I_END: include 'text.inc'
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
include 'data.inc' ;include_debug_strings
;--------------------------------------------------------------------- I_END:
mem: ;---------------------------------------------------------------------
include 'data.inc'
;---------------------------------------------------------------------
mem: