2006-11-02 17:18:23 +03:00
|
|
|
|
;
|
2007-02-12 08:14:58 +03:00
|
|
|
|
; RDsave <20><><EFBFBD> Kolibri (0.6.5.0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
2010-10-08 00:00:31 +04:00
|
|
|
|
; Save RAM disk to a hard or floppy drive
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;
|
|
|
|
|
; version: 1.3
|
|
|
|
|
; last update: 08/09/2010
|
|
|
|
|
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
|
|
|
|
; changes: select path with OpenDialog,
|
|
|
|
|
; keys 1,2,3,4 for select options
|
|
|
|
|
;---------------------------------------------------------------------
|
2006-11-02 17:18:23 +03:00
|
|
|
|
; Mario79 2005
|
2007-02-12 08:14:58 +03:00
|
|
|
|
; Heavyiron 12.02.2007
|
2009-05-11 05:57:18 +04:00
|
|
|
|
; <Lrz> 11.05.2009 - <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> box_lib.obj
|
2007-02-12 08:14:58 +03:00
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> FASM'<27><>
|
|
|
|
|
;
|
|
|
|
|
;---------------------------------------------------------------------
|
2006-11-02 17:18:23 +03:00
|
|
|
|
include 'lang.inc'
|
2010-11-15 21:47:23 +03:00
|
|
|
|
include '../../../config.inc' ;for nightbuild
|
2007-05-10 17:48:35 +04:00
|
|
|
|
include '..\..\..\macros.inc'
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
|
|
|
|
appname equ 'RDsave '
|
2010-09-08 00:43:41 +04:00
|
|
|
|
version equ '1.3'
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
use32 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6> <20><>ᥬ<EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
org 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
db 'MENUET01' ; 8-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> MenuetOS
|
|
|
|
|
dd 0x01 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>ᥣ<EFBFBD><E1A5A3> 1)
|
|
|
|
|
dd START ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ࢮ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dd IM_END ; ࠧ<><E0A0A7><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
|
|
|
|
dd I_END ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dd stacktop ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>設<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dd 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC> (<28><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
dd cur_dir_path
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
|
|
|
|
;include '..\..\..\develop\examples\editbox\trunk\editbox.inc'
|
2009-06-06 22:34:36 +04:00
|
|
|
|
include '../../../develop/libraries/box_lib/load_lib.mac'
|
2010-01-10 01:01:26 +03:00
|
|
|
|
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
2009-05-11 05:57:18 +04:00
|
|
|
|
@use_library
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2009-05-11 05:57:18 +04:00
|
|
|
|
;use_edit_box
|
2009-10-23 18:36:21 +04:00
|
|
|
|
;al equ eax ; \ decrease kpack'ed size
|
|
|
|
|
;purge mov ; /
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------------
|
|
|
|
|
;---------------------------------------------------------------------
|
2009-05-11 05:57:18 +04:00
|
|
|
|
align 4
|
2007-02-12 08:14:58 +03:00
|
|
|
|
START:
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mcall 68,11
|
|
|
|
|
|
|
|
|
|
load_libraries l_libs_start,end_l_libs
|
|
|
|
|
|
2010-01-10 01:01:26 +03:00
|
|
|
|
cmp eax,-1
|
|
|
|
|
jz close
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov edi,filename_area
|
|
|
|
|
mov esi,start_temp_file_name
|
|
|
|
|
xor eax,eax
|
|
|
|
|
cld
|
|
|
|
|
@@:
|
|
|
|
|
lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test eax,eax
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov edi,fname_buf
|
|
|
|
|
mov esi,path4
|
|
|
|
|
xor eax,eax
|
|
|
|
|
cld
|
|
|
|
|
@@:
|
|
|
|
|
lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test eax,eax
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
;OpenDialog initialisation
|
|
|
|
|
push dword OpenDialog_data
|
|
|
|
|
call [OpenDialog_Init]
|
|
|
|
|
|
|
|
|
|
; prepare for PathShow
|
|
|
|
|
push dword PathShow_data_1
|
|
|
|
|
call [PathShow_prepare]
|
|
|
|
|
|
|
|
|
|
mcall 40,100111b
|
2010-01-10 01:01:26 +03:00
|
|
|
|
red: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mcall 48,3,sc,sizeof.system_colors
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
call draw_window ; <20><><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>
|
2007-02-12 08:14:58 +03:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
;--- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
still:
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mcall 10
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
dec eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD>?
|
|
|
|
|
jz red ; <20> <20><> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> red
|
|
|
|
|
dec eax
|
|
|
|
|
jz key
|
|
|
|
|
dec eax
|
|
|
|
|
jz button
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
2010-01-10 01:01:26 +03:00
|
|
|
|
jmp still
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;---------------------------------------------------------------------
|
2007-02-12 08:14:58 +03:00
|
|
|
|
button:
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mcall 17 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp ah,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> id=1("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")?
|
|
|
|
|
jne noclose
|
2009-05-11 05:57:18 +04:00
|
|
|
|
close:
|
2010-09-08 00:43:41 +04:00
|
|
|
|
or eax,-1 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> -1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2007-02-12 08:14:58 +03:00
|
|
|
|
noclose:
|
2010-01-10 01:01:26 +03:00
|
|
|
|
push eax
|
|
|
|
|
call clear_err
|
|
|
|
|
pop eax
|
|
|
|
|
push 16
|
2010-09-08 00:43:41 +04:00
|
|
|
|
xor ebx,ebx
|
2010-01-10 01:01:26 +03:00
|
|
|
|
inc ebx ; 16.1 = save to /FD/1
|
2010-09-08 00:43:41 +04:00
|
|
|
|
cmp ah,2
|
2010-01-10 01:01:26 +03:00
|
|
|
|
je doit
|
|
|
|
|
inc ebx ; 16.2 = save to /FD/2
|
2010-09-08 00:43:41 +04:00
|
|
|
|
cmp ah,3
|
2010-01-10 01:01:26 +03:00
|
|
|
|
je doit
|
|
|
|
|
pop ebx
|
|
|
|
|
push 18
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov bl,6 ; 18.6 = save to specified folder
|
2010-01-10 01:01:26 +03:00
|
|
|
|
mov ecx, path3
|
2010-09-08 00:43:41 +04:00
|
|
|
|
cmp ah,4
|
2010-01-10 01:01:26 +03:00
|
|
|
|
je doit
|
2010-09-08 00:43:41 +04:00
|
|
|
|
|
|
|
|
|
; invoke OpenDialog
|
|
|
|
|
push dword OpenDialog_data
|
|
|
|
|
call [OpenDialog_Start]
|
|
|
|
|
cmp [OpenDialog_data.status],1
|
|
|
|
|
jne still
|
|
|
|
|
|
|
|
|
|
; prepare for PathShow
|
|
|
|
|
push dword PathShow_data_1
|
|
|
|
|
call [PathShow_prepare]
|
|
|
|
|
|
|
|
|
|
call draw_PathShow
|
|
|
|
|
|
|
|
|
|
mov ecx,fname_buf ;path4
|
2007-06-04 13:21:07 +04:00
|
|
|
|
doit:
|
2010-01-10 01:01:26 +03:00
|
|
|
|
pop eax
|
|
|
|
|
mcall
|
|
|
|
|
call check_for_error
|
|
|
|
|
jmp still
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
key:
|
|
|
|
|
mcall 2
|
|
|
|
|
cmp ah,0x31
|
|
|
|
|
jb still
|
|
|
|
|
cmp ah,0x34
|
|
|
|
|
ja still
|
|
|
|
|
sub ah,0x30
|
|
|
|
|
inc ah
|
|
|
|
|
jmp noclose
|
|
|
|
|
;---------------------------------------------------------------------
|
2010-01-10 01:01:26 +03:00
|
|
|
|
check_for_error: ;<3B><>ࠡ<EFBFBD><E0A0A1>稪 <20>訡<EFBFBD><E8A8A1>
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ecx,[sc.work_text]
|
|
|
|
|
mov edx,ok
|
|
|
|
|
test eax,eax
|
2010-01-10 01:01:26 +03:00
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ecx,0xdd2222
|
|
|
|
|
add edx,error3 - ok
|
2010-01-10 01:01:26 +03:00
|
|
|
|
dec eax
|
|
|
|
|
dec eax
|
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add edx,error5 - error3
|
2010-01-10 01:01:26 +03:00
|
|
|
|
dec eax
|
|
|
|
|
dec eax
|
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add edx,error8 - error5
|
2010-01-10 01:01:26 +03:00
|
|
|
|
dec eax
|
|
|
|
|
dec eax
|
|
|
|
|
dec eax
|
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add edx,error9 - error8
|
2010-01-10 01:01:26 +03:00
|
|
|
|
dec eax
|
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add edx,error10 - error9
|
2010-01-10 01:01:26 +03:00
|
|
|
|
dec eax
|
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add edx,error11 - error10
|
2010-01-10 01:01:26 +03:00
|
|
|
|
dec eax
|
|
|
|
|
jz print
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add edx,aUnknownError - error11
|
|
|
|
|
print:
|
|
|
|
|
mov eax,4 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mov ebx,20 shl 16 + 148
|
|
|
|
|
or ecx,0x80000000
|
|
|
|
|
mcall
|
|
|
|
|
ret
|
|
|
|
|
;---------------------------------------------------------------------
|
2007-02-12 08:14:58 +03:00
|
|
|
|
clear_err:
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov eax,13
|
|
|
|
|
mov ebx,15 shl 16 + 240
|
|
|
|
|
mov ecx,145 shl 16 +15
|
|
|
|
|
mov edx,[sc.work]
|
|
|
|
|
mcall
|
|
|
|
|
ret
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
draw_PathShow:
|
|
|
|
|
pusha
|
|
|
|
|
mcall 13,<8,172>,<110,15>,0xffffff
|
|
|
|
|
; draw for PathShow
|
|
|
|
|
push dword PathShow_data_1
|
|
|
|
|
call [PathShow_draw]
|
|
|
|
|
popa
|
|
|
|
|
ret
|
2007-02-12 08:14:58 +03:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ----------------------------------
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
draw_window:
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mcall 12,1 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 12: ᮮ<><E1AEAE><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
; 1 - <20><>稭<EFBFBD><E7A8AD><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD>
|
2010-01-10 01:01:26 +03:00
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
2010-09-08 00:43:41 +04:00
|
|
|
|
xor eax,eax ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 0 : <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
mov ebx,200 shl 16 + 300 ; [x <20><><EFBFBD><EFBFBD><EFBFBD>] *65536 + [x ࠧ<><E0A0A7><EFBFBD>]
|
|
|
|
|
mov ecx,200 shl 16 + 190 ; [y <20><><EFBFBD><EFBFBD><EFBFBD>] *65536 + [y ࠧ<><E0A0A7><EFBFBD>]
|
|
|
|
|
mov edx,[sc.work] ; 梥<> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RRGGBB,8->color gl
|
|
|
|
|
or edx,0x34000000
|
|
|
|
|
mov edi,title ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
call draw_PathShow
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> ⥭<><E2A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mcall 13,<194,60>,<34,15>,0x444444
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add ecx,20 shl 16
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add ecx,20 shl 16
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add ecx,40 shl 16
|
|
|
|
|
mcall
|
|
|
|
|
;<3B><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
sub ebx,4 shl 16
|
|
|
|
|
sub ecx,4 shl 16
|
|
|
|
|
mcall 8,,,5,[sc.work_button]
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
sub ecx,40 shl 16
|
|
|
|
|
dec edx
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
sub ecx,20 shl 16
|
|
|
|
|
dec edx
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
sub ecx,20 shl 16
|
|
|
|
|
dec edx
|
|
|
|
|
mcall
|
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mov ecx,[sc.work_text]
|
|
|
|
|
or ecx,0x80000000
|
|
|
|
|
mcall 4,<45,12>,,label1
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ebx,150 shl 16 + 35
|
|
|
|
|
mov edx,path1
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add ebx,20
|
|
|
|
|
mov edx,path2
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ebx,75 shl 16 + 75
|
|
|
|
|
mov edx,path3
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ebx,30 shl 16 + 97
|
|
|
|
|
mov edx,label2
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ebx,40 shl 16 + 135
|
|
|
|
|
mov edx,label3
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov ecx,[sc.work_button_text]
|
|
|
|
|
or ecx,0x80000000
|
|
|
|
|
mov ebx,195 shl 16 + 35
|
|
|
|
|
mov edx,save
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
push edx
|
|
|
|
|
mov edx,key_help
|
|
|
|
|
call key_help_correct
|
|
|
|
|
pop edx
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add ebx,20
|
|
|
|
|
mcall
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
push edx
|
|
|
|
|
mov edx,key_help+2
|
|
|
|
|
call key_help_correct
|
|
|
|
|
pop edx
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
add ebx,20
|
|
|
|
|
mcall
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
push edx
|
|
|
|
|
mov edx,key_help+4
|
|
|
|
|
call key_help_correct
|
|
|
|
|
pop edx
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov edx,select
|
|
|
|
|
add ebx,40
|
|
|
|
|
mcall
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mov edx,key_help+6
|
|
|
|
|
call key_help_correct
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
mcall 12,2 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 12: ᮮ<><E1AEAE><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
; 2, <20><><EFBFBD><EFBFBD><EFBFBD>稫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD>
|
|
|
|
|
ret ; <20><>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
key_help_correct:
|
|
|
|
|
push ebx
|
|
|
|
|
ror ebx,16
|
|
|
|
|
mov bx,270
|
|
|
|
|
rol ebx,16
|
|
|
|
|
pusha
|
|
|
|
|
mov ecx,ebx
|
|
|
|
|
sub ebx,3 shl 16
|
|
|
|
|
mov bx,13
|
|
|
|
|
sub cx,3
|
|
|
|
|
shl ecx,16
|
|
|
|
|
mov cx,13
|
|
|
|
|
mcall 13,,,0xffffff
|
|
|
|
|
popa
|
|
|
|
|
mcall
|
|
|
|
|
pop ebx
|
|
|
|
|
ret
|
2007-02-12 08:14:58 +03:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------------
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
title db appname,version,0
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
PathShow_data_1:
|
|
|
|
|
.type dd 0 ;+0
|
|
|
|
|
.start_y dw 113 ;+4
|
|
|
|
|
.start_x dw 10 ;+6
|
|
|
|
|
.font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1
|
|
|
|
|
.area_size_x dw 170 ;+10
|
|
|
|
|
.font_number dd 0 ;+12 ; 0 - monospace, 1 - variable
|
|
|
|
|
.background_flag dd 0 ;+16
|
|
|
|
|
.font_color dd 0x0 ;+20
|
|
|
|
|
.background_color dd 0x0 ;+24
|
|
|
|
|
.text_pointer dd fname_buf ;+28
|
|
|
|
|
.work_area_pointer dd text_work_area ;+32
|
|
|
|
|
.temp_text_length dd 0 ;+36
|
|
|
|
|
;---------------------------------------------------------------------
|
2007-02-12 08:14:58 +03:00
|
|
|
|
if lang eq ru
|
2010-09-08 00:43:41 +04:00
|
|
|
|
save db '<27><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD>',0
|
|
|
|
|
select db ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
label1 db '<27>롥<EFBFBD><EBA1A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>ਠ<EFBFBD>⮢:',0
|
|
|
|
|
label2 db '<27><><EFBFBD> <20>롥<EFBFBD><EBA1A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>:',0
|
|
|
|
|
label3 db '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD>',0
|
|
|
|
|
ok db 'RAM-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD> <20>ᯥ譮',0
|
|
|
|
|
error3 db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭠<EFBFBD> 䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>',0
|
|
|
|
|
error5 db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 <20><><EFBFBD><EFBFBD>',0
|
|
|
|
|
error8 db '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>᪥',0
|
|
|
|
|
error9 db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FAT ࠧ<><E0A0A7>襭<EFBFBD>',0
|
|
|
|
|
error10 db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>饭',0
|
|
|
|
|
error11 db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD>ன<EFBFBD>⢠',0
|
|
|
|
|
aUnknownError db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭠<EFBFBD> <20>訡<EFBFBD><E8A8A1>',0
|
|
|
|
|
;---------------------------------------------------------------------
|
2007-08-08 00:42:45 +04:00
|
|
|
|
else if lang eq et
|
2010-09-08 00:43:41 +04:00
|
|
|
|
save db 'Salvesta',0
|
|
|
|
|
select db ' Valige',0
|
|
|
|
|
label1 db 'Vali <20>ks variantidest:',0
|
|
|
|
|
label2 db 'V<>i valige teekond failinimeni:',0
|
|
|
|
|
label3 db 'K<>ik kataloogid peavad eksisteerima',0
|
|
|
|
|
ok db 'RAM-ketas salvestatud edukalt',0
|
|
|
|
|
error3 db 'Tundmatu failis<69>steem',0
|
|
|
|
|
error5 db 'Vigane teekond',0
|
|
|
|
|
error8 db 'Ketas t<>is',0
|
|
|
|
|
error9 db 'FAT tabel vigane',0
|
|
|
|
|
error10 db 'Juurdep<65><70>s keelatud',0
|
|
|
|
|
error11 db 'Seadme viga',0
|
|
|
|
|
aUnknownError db 'Tundmatu viga',0
|
|
|
|
|
;---------------------------------------------------------------------
|
2007-02-12 08:14:58 +03:00
|
|
|
|
else
|
2010-09-08 00:43:41 +04:00
|
|
|
|
save db ' Save',0
|
|
|
|
|
select db ' Select',0
|
|
|
|
|
label1 db 'Select one of the variants:',0
|
|
|
|
|
label2 db ' Or select full path to file:',0
|
|
|
|
|
label3 db ' All folders must exist',0
|
|
|
|
|
ok db 'RAM-drive was saved successfully',0
|
|
|
|
|
error3 db 'Unknown file system',0
|
|
|
|
|
error5 db 'Incorrect path',0
|
|
|
|
|
error8 db 'Disk is full',0
|
|
|
|
|
error9 db 'FAT table corrupted',0
|
|
|
|
|
error10 db 'Access denied',0
|
|
|
|
|
error11 db 'Device error',0
|
|
|
|
|
aUnknownError db 'Unknown error',0
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
|
|
|
|
end if
|
2009-05-11 05:57:18 +04:00
|
|
|
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
|
|
;DATA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
;<3B>ᥣ<EFBFBD><E1A5A3> ᮡ<><EFBFBD><EEA4A0> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD>⥫쭮<E2A5AB><ECADAE><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
2010-09-08 00:43:41 +04:00
|
|
|
|
system_dir_Boxlib db '/sys/lib/box_lib.obj',0
|
|
|
|
|
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0
|
2009-05-11 05:57:18 +04:00
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
head_f_i:
|
2010-01-10 01:01:26 +03:00
|
|
|
|
head_f_l db 'System error',0
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
err_message_found_lib1 db 'box_lib.obj - Not found!',0
|
|
|
|
|
err_message_found_lib2 db 'proc_lib.obj - Not found!',0
|
|
|
|
|
|
|
|
|
|
err_message_import1 db 'box_lib.obj - Wrong import!',0
|
|
|
|
|
err_message_import2 db 'proc_lib.obj - Wrong import!',0
|
|
|
|
|
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
l_libs_start:
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
|
|
|
|
|
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
|
|
|
|
|
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
|
2009-05-11 05:57:18 +04:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
end_l_libs:
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
OpenDialog_data:
|
|
|
|
|
.type dd 1 ; Save
|
|
|
|
|
.procinfo dd procinfo ;+4
|
|
|
|
|
.com_area_name dd communication_area_name ;+8
|
|
|
|
|
.com_area dd 0 ;+12
|
|
|
|
|
.opendir_pach dd temp_dir_pach ;+16
|
|
|
|
|
.dir_default_pach dd communication_area_default_pach ;+20
|
|
|
|
|
.start_path dd open_dialog_path ;+24
|
|
|
|
|
.draw_window dd draw_window ;+28
|
|
|
|
|
.status dd 0 ;+32
|
|
|
|
|
.openfile_pach dd fname_buf ;+36
|
|
|
|
|
.filename_area dd filename_area ;+40
|
|
|
|
|
.filter_area dd Filter
|
|
|
|
|
.x:
|
|
|
|
|
.x_size dw 420 ;+48 ; Window X size
|
|
|
|
|
.x_start dw 10 ;+50 ; Window X position
|
|
|
|
|
.y:
|
|
|
|
|
.y_size dw 320 ;+52 ; Window y size
|
|
|
|
|
.y_start dw 10 ;+54 ; Window Y position
|
|
|
|
|
|
|
|
|
|
communication_area_name:
|
|
|
|
|
db 'FFFFFFFF_open_dialog',0
|
|
|
|
|
open_dialog_path:
|
2010-11-15 21:47:23 +03:00
|
|
|
|
if __nightbuild eq yes
|
|
|
|
|
db '/sys/MANAGERS/opendial',0
|
|
|
|
|
else
|
|
|
|
|
db '/sys/File Managers/opendial',0
|
|
|
|
|
end if
|
2010-09-08 00:43:41 +04:00
|
|
|
|
communication_area_default_pach:
|
|
|
|
|
db '/hd0/1/kolibri',0
|
|
|
|
|
|
|
|
|
|
Filter:
|
2010-09-08 15:39:41 +04:00
|
|
|
|
dd Filter.end - Filter
|
2010-09-08 00:43:41 +04:00
|
|
|
|
.1:
|
|
|
|
|
db 'IMG',0
|
|
|
|
|
db 'IMA',0
|
|
|
|
|
.end:
|
|
|
|
|
db 0
|
|
|
|
|
|
|
|
|
|
start_temp_file_name: db 'kolibri.img',0
|
2006-11-02 17:18:23 +03:00
|
|
|
|
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
ProcLib_import:
|
|
|
|
|
OpenDialog_Init dd aOpenDialog_Init
|
|
|
|
|
OpenDialog_Start dd aOpenDialog_Start
|
|
|
|
|
;OpenDialog__Version dd aOpenDialog_Version
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
aOpenDialog_Init db 'OpenDialog_init',0
|
|
|
|
|
aOpenDialog_Start db 'OpenDialog_start',0
|
|
|
|
|
;aOpenDialog_Version db 'Version_OpenDialog',0
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
Box_lib_import:
|
|
|
|
|
;init_lib dd a_init
|
|
|
|
|
;version_lib dd a_version
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;edit_box_draw dd aEdit_box_draw
|
|
|
|
|
;edit_box_key dd aEdit_box_key
|
|
|
|
|
;edit_box_mouse dd aEdit_box_mouse
|
|
|
|
|
;version_ed dd aVersion_ed
|
|
|
|
|
|
|
|
|
|
;check_box_draw dd aCheck_box_draw
|
|
|
|
|
;check_box_mouse dd aCheck_box_mouse
|
|
|
|
|
;version_ch dd aVersion_ch
|
|
|
|
|
|
|
|
|
|
;option_box_draw dd aOption_box_draw
|
|
|
|
|
;option_box_mouse dd aOption_box_mouse
|
|
|
|
|
;version_op dd aVersion_op
|
|
|
|
|
|
|
|
|
|
;scrollbar_ver_draw dd aScrollbar_ver_draw
|
|
|
|
|
;scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
|
|
|
|
;scrollbar_hor_draw dd aScrollbar_hor_draw
|
|
|
|
|
;scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
|
|
|
|
;version_scrollbar dd aVersion_scrollbar
|
|
|
|
|
|
|
|
|
|
;dinamic_button_draw dd aDbutton_draw
|
|
|
|
|
;dinamic_button_mouse dd aDbutton_mouse
|
|
|
|
|
;version_dbutton dd aVersion_dbutton
|
|
|
|
|
|
|
|
|
|
;menu_bar_draw dd aMenu_bar_draw
|
|
|
|
|
;menu_bar_mouse dd aMenu_bar_mouse
|
|
|
|
|
;menu_bar_activate dd aMenu_bar_activate
|
|
|
|
|
;version_menu_bar dd aVersion_menu_bar
|
|
|
|
|
|
|
|
|
|
;FileBrowser_draw dd aFileBrowser_draw
|
|
|
|
|
;FileBrowser_mouse dd aFileBrowser_mouse
|
|
|
|
|
;FileBrowser_key dd aFileBrowser_key
|
|
|
|
|
;Version_FileBrowser dd aVersion_FileBrowser
|
|
|
|
|
|
|
|
|
|
PathShow_prepare dd sz_PathShow_prepare
|
|
|
|
|
PathShow_draw dd sz_PathShow_draw
|
|
|
|
|
;Version_path_show dd szVersion_path_show
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
|
|
|
|
|
;a_init db 'lib_init',0
|
|
|
|
|
;a_version db 'version',0
|
|
|
|
|
|
|
|
|
|
;aEdit_box_draw db 'edit_box',0
|
|
|
|
|
;aEdit_box_key db 'edit_box_key',0
|
|
|
|
|
;aEdit_box_mouse db 'edit_box_mouse',0
|
|
|
|
|
;aVersion_ed db 'version_ed',0
|
|
|
|
|
|
|
|
|
|
;aCheck_box_draw db 'check_box_draw',0
|
|
|
|
|
;aCheck_box_mouse db 'check_box_mouse',0
|
|
|
|
|
;aVersion_ch db 'version_ch',0
|
|
|
|
|
|
|
|
|
|
;aOption_box_draw db 'option_box_draw',0
|
|
|
|
|
;aOption_box_mouse db 'option_box_mouse',0
|
|
|
|
|
;aVersion_op db 'version_op',0
|
|
|
|
|
|
|
|
|
|
;aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
|
|
|
|
;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
|
|
|
|
;aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
|
|
|
|
;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
|
|
|
|
;aVersion_scrollbar db 'version_scrollbar',0
|
|
|
|
|
|
|
|
|
|
;aDbutton_draw db 'dbutton_draw',0
|
|
|
|
|
;aDbutton_mouse db 'dbutton_mouse',0
|
|
|
|
|
;aVersion_dbutton db 'version_dbutton',0
|
|
|
|
|
|
|
|
|
|
;aMenu_bar_draw db 'menu_bar_draw',0
|
|
|
|
|
;aMenu_bar_mouse db 'menu_bar_mouse',0
|
|
|
|
|
;aMenu_bar_activate db 'menu_bar_activate',0
|
|
|
|
|
;aVersion_menu_bar db 'version_menu_bar',0
|
|
|
|
|
|
|
|
|
|
;aFileBrowser_draw db 'FileBrowser_draw',0
|
|
|
|
|
;aFileBrowser_mouse db 'FileBrowser_mouse',0
|
|
|
|
|
;aFileBrowser_key db 'FileBrowser_key',0
|
|
|
|
|
;aVersion_FileBrowser db 'version_FileBrowser',0
|
|
|
|
|
|
|
|
|
|
sz_PathShow_prepare db 'PathShow_prepare',0
|
|
|
|
|
sz_PathShow_draw db 'PathShow_draw',0
|
|
|
|
|
;szVersion_path_show db 'version_PathShow',0
|
|
|
|
|
;---------------------------------------------------------------------
|
2007-02-12 08:14:58 +03:00
|
|
|
|
|
2010-01-10 01:01:26 +03:00
|
|
|
|
path1 db '/fd/1/',0
|
|
|
|
|
path2 db '/fd/2/',0
|
|
|
|
|
path3 db '/hd0/1/kolibri.img',0
|
|
|
|
|
path4 db '/hd0/1/kolibri/kolibri.img',0 ;<3B><><EFBFBD> १<>ࢭ<EFBFBD><E0A2AD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD>
|
2007-05-10 17:48:35 +04:00
|
|
|
|
;---------------------------------------------------------------------
|
2010-09-08 00:43:41 +04:00
|
|
|
|
key_help:
|
|
|
|
|
db '1',0
|
|
|
|
|
db '2',0
|
|
|
|
|
db '3',0
|
|
|
|
|
db '4',0
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
IM_END:
|
|
|
|
|
;---------------------------------------------------------------------
|
2007-02-12 08:14:58 +03:00
|
|
|
|
sc system_colors
|
2009-10-13 22:29:41 +04:00
|
|
|
|
mouse_dd rd 1
|
2010-09-08 00:43:41 +04:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
cur_dir_path:
|
|
|
|
|
rb 4096
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
library_path:
|
|
|
|
|
rb 4096
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
temp_dir_pach:
|
|
|
|
|
rb 4096
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
fname_buf:
|
|
|
|
|
rb 4096
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
procinfo:
|
|
|
|
|
rb 1024
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
filename_area:
|
|
|
|
|
rb 256
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
text_work_area:
|
|
|
|
|
rb 1024
|
|
|
|
|
;---------------------------------------------------------------------
|
2008-07-24 10:26:36 +04:00
|
|
|
|
align 4
|
2010-09-08 00:43:41 +04:00
|
|
|
|
rb 4096
|
|
|
|
|
stacktop:
|
|
|
|
|
I_END: ; <20><>⪠ <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|