Subversion Repositories Kolibri OS

Rev

Rev 7786 | Rev 9531 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7786 Rev 9035
1
;   RDsave ¤«ï Kolibri (0.6.5.0 ¨ áâ àè¥)
1
;   RDsave ¤«ï Kolibri (0.6.5.0 ¨ áâ àè¥)
2
;   Save RAM-disk to hard or floppy drive
2
;   Save RAM-disk to hard or floppy drive
3
;---------------------------------------------------------------------
3
;---------------------------------------------------------------------
4
;   Mario79 2005
4
;   Mario79 2005
5
;   Heavyiron 12.02.2007
5
;   Heavyiron 12.02.2007
6
;        11.05.2009 - ¤«ï à ¡®âë ­ã¦­  á¨á⥬­ ï ¡¨¡«¨®â¥ª  box_lib.obj
6
;        11.05.2009 - ¤«ï à ¡®âë ­ã¦­  á¨á⥬­ ï ¡¨¡«¨®â¥ª  box_lib.obj
7
;   Mario79   08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options
7
;   Mario79   08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options
8
;   Heavyiron 01.12.2013 - new logic
8
;   Heavyiron 01.12.2013 - new logic
9
;---------------------------------------------------------------------
9
;---------------------------------------------------------------------
10
appname equ 'RDsave '
10
appname equ 'RDsave '
11
version equ '1.43'
11
version equ '1.43'
12
debug	equ no
12
debug	equ no
13
 
13
 
14
use32	     ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
14
use32	     ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
15
org 0x0      ;  ¤à¥á æ¨ï á ­ã«ï
15
org 0x0      ;  ¤à¥á æ¨ï á ­ã«ï
16
 
16
 
17
db 'MENUET01'	 ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
17
db 'MENUET01'	 ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
18
dd 0x01 	 ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
18
dd 0x01 	 ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
19
dd START	 ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
19
dd START	 ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
20
dd IM_END	 ; à §¬¥à ¯à®£à ¬¬ë
20
dd IM_END	 ; à §¬¥à ¯à®£à ¬¬ë
21
dd I_END	 ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
21
dd I_END	 ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
22
dd stacktop	 ;  ¤à¥á ¢¥à設ë á⥪ 
22
dd stacktop	 ;  ¤à¥á ¢¥à設ë á⥪ 
23
dd PARAMS	 ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢
23
dd PARAMS	 ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢
24
dd cur_dir_path
24
dd cur_dir_path
25
 
25
 
26
 
26
 
27
include 'lang.inc'
27
include 'lang.inc'
28
include '../../../macros.inc'
28
include '../../../macros.inc'
29
if debug eq yes
29
if debug eq yes
30
include '../../../debug.inc'
30
include '../../../debug.inc'
31
end if
31
end if
32
include '../../../proc32.inc'
32
include '../../../proc32.inc'
33
include '../../../dll.inc'
33
include '../../../dll.inc'
34
include '../../../develop/libraries/box_lib/load_lib.mac'
34
include '../../../develop/libraries/box_lib/load_lib.mac'
35
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
35
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
36
include 'str.inc'
36
include 'str.inc'
37
 
37
 
38
	@use_library
38
	@use_library
39
;---------------------------------------------------------------------
39
;---------------------------------------------------------------------
40
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
40
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
41
;---------------------------------------------------------------------
41
;---------------------------------------------------------------------
42
align 4
42
align 4
43
START:
43
START:
44
;---------------------------------------------------------------------
44
;---------------------------------------------------------------------
45
	mcall  68,11
45
	mcall  68,11
46
 
46
 
47
load_libraries l_libs_start,end_l_libs
47
load_libraries l_libs_start,end_l_libs
48
	inc	eax
48
	inc	eax
49
	test	eax,eax
49
	test	eax,eax
50
	jz	close
50
	jz	close
51
 
51
 
52
	stdcall dll.Init,[init_lib]
52
	stdcall dll.Init,[init_lib]
53
 
53
 
54
	invoke	ini_get_int,ini_file,asettings,aautoclose,0
54
	invoke	ini_get_int,ini_file,asettings,aautoclose,0
55
	mov	[autoclose],eax
55
	mov	[autoclose],eax
56
	invoke	ini_get_str,ini_file,apath,apath,fname_buf,4096,path
56
	invoke	ini_get_str,ini_file,apath,apath,fname_buf,4096,path
57
	stdcall _lstrcpy,ini_path,fname_buf
57
	stdcall _lstrcpy,ini_path,fname_buf
58
	stdcall _lstrcpy,filename_area,start_temp_file_name
58
	stdcall _lstrcpy,filename_area,start_temp_file_name
59
 
59
 
60
	mov   eax,PARAMS
60
	mov   eax,PARAMS
61
	cmp   byte[eax], 0
61
	cmp   byte[eax], 0
62
	je    no_params
62
	je    no_params
63
	cmp   byte[eax], 'h'
63
	cmp   byte[eax], 'h'
64
	je    @f
64
	je    @f
65
	cmp   byte[eax], 'H'
65
	cmp   byte[eax], 'H'
66
	jne   .no_h
66
	jne   .no_h
67
@@:
67
@@:
68
	mov   [hidden],1
68
	mov   [hidden],1
69
	jmp   no_params
69
	jmp   no_params
70
.no_h:
70
.no_h:
71
	mov   [param],1
71
	mov   [param],1
72
	stdcall _lstrcpy,fname_buf,eax
72
	stdcall _lstrcpy,fname_buf,eax
73
	mov   ah,2
73
	mov   ah,2
74
	jmp   noclose
74
	jmp   noclose
75
 
75
 
76
;---------------------------------------------------------------------
76
;---------------------------------------------------------------------
77
no_params:
77
no_params:
78
	stdcall _lstrcpy,check_dir,ini_path
78
	stdcall _lstrcpy,check_dir,ini_path
79
	call	check_path
79
	call	check_path
80
	test	eax,eax
80
	test	eax,eax
81
	jz	path_ok
81
	jz	path_ok
82
	cmp	eax,6
82
	cmp	eax,6
83
	je	path_ok
83
	je	path_ok
84
;---------------------------------------------------------------------
84
;---------------------------------------------------------------------
85
if debug eq yes
85
if debug eq yes
86
dps 'read_folder_error'
86
dps 'read_folder_error'
87
newline
87
newline
88
end if
88
end if
89
;---------------------------------------------------------------------
89
;---------------------------------------------------------------------
90
default_path:
90
default_path:
91
	stdcall _lstrcpy,fname_buf,communication_area_default_path
91
	stdcall _lstrcpy,fname_buf,communication_area_default_path
92
	mov	[hidden],0
92
	mov	[hidden],0
93
 
93
 
94
;OpenDialog     initialisation
94
;OpenDialog     initialisation
95
	push	dword OpenDialog_data
95
	push	dword OpenDialog_data
96
	call	[OpenDialog_Init]
96
	call	[OpenDialog_Init]
97
 
97
 
98
; prepare for PathShow
98
; prepare for PathShow
99
	push	dword PathShow_data_1
99
	push	dword PathShow_data_1
100
	call	[PathShow_prepare]
100
	call	[PathShow_prepare]
101
 
101
 
102
	mcall	40,0x00000027
102
	mcall	40,0x00000027
103
 
103
 
104
	call	draw_window
104
	call	draw_window
105
	mov	ah,3
105
	mov	ah,3
106
	jmp	noclose
106
	jmp	noclose
107
;---------------------------------------------------------------------
107
;---------------------------------------------------------------------
108
path_ok:
108
path_ok:
109
;OpenDialog     initialisation
109
;OpenDialog     initialisation
110
	push	dword OpenDialog_data
110
	push	dword OpenDialog_data
111
	call	[OpenDialog_Init]
111
	call	[OpenDialog_Init]
112
 
112
 
113
; prepare for PathShow
113
; prepare for PathShow
114
	push	dword PathShow_data_1
114
	push	dword PathShow_data_1
115
	call	[PathShow_prepare]
115
	call	[PathShow_prepare]
116
 
116
 
117
	mcall	40,0x00000027
117
	mcall	40,0x00000027
118
 
118
 
119
	cmp	[hidden],1
119
	cmp	[hidden],1
120
	jne	red
120
	jne	red
121
	mov	ah,2
121
	mov	ah,2
122
	jmp	noclose
122
	jmp	noclose
123
red:
123
red:
124
	call	draw_window
124
	call	draw_window
125
;---------------------------------------------------------------------
125
;---------------------------------------------------------------------
126
still:
126
still:
127
	mcall 10
127
	mcall 10
128
 
128
 
129
	dec	eax	 ; ¯¥à¥à¨á®¢ âì ®ª­®?
129
	dec	eax	 ; ¯¥à¥à¨á®¢ âì ®ª­®?
130
	jz	red	 ; ¥á«¨ ¤  - ­  ¬¥âªã red
130
	jz	red	 ; ¥á«¨ ¤  - ­  ¬¥âªã red
131
	dec	eax
131
	dec	eax
132
	jz	key
132
	jz	key
133
	dec	eax
133
	dec	eax
134
	jz	button
134
	jz	button
135
	jmp	still
135
	jmp	still
136
;---------------------------------------------------------------------
136
;---------------------------------------------------------------------
137
button:
137
button:
138
	mcall	17	; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
138
	mcall	17	; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
139
	cmp	ah,1		 ; ª­®¯ª  á id=1("§ ªàëâì")?
139
	cmp	ah,1		 ; ª­®¯ª  á id=1("§ ªàëâì")?
140
	jne	noclose
140
	jne	noclose
141
close:
141
close:
142
	mcall	-1	    ; äã­ªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã
142
	mcall	-1	    ; äã­ªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã
143
 
143
 
144
;---------------------------------------------------------------------
144
;---------------------------------------------------------------------
145
key:
145
key:
146
	mcall	2
146
	mcall	2
147
	cmp	ah,0x1b
147
	cmp	ah,0x1b
148
	je	close
148
	je	close
149
	cmp	ah,0x0D
149
	cmp	ah,0x0D
150
	jne	@f
150
	jne	@f
151
	mov	ah,2
151
	mov	ah,2
152
	jmp	noclose
152
	jmp	noclose
153
@@:
153
@@:
154
	cmp	ah,9h
154
	cmp	ah,9h
155
	jne	still
155
	jne	still
156
;---------------------------------------------------------------------
156
;---------------------------------------------------------------------
157
noclose:
157
noclose:
158
	mov	ecx,fname_buf
158
	mov	ecx,fname_buf
159
	push  16
159
	push  16
160
	mov   ebx,1
160
	mov   ebx,1
161
	cmp   byte[ecx+1],'f'
161
	cmp   byte[ecx+1],'f'
162
	je    @f
162
	je    @f
163
	cmp   byte[ecx+1],'F'
163
	cmp   byte[ecx+1],'F'
164
	jne   not_fdd
164
	jne   not_fdd
165
@@:
165
@@:
166
	cmp   byte[ecx+4],'1'
166
	cmp   byte[ecx+4],'1'
167
	jne   @f
167
	jne   @f
168
	cmp   ah,2
168
	cmp   ah,2
169
	je    doit
169
	je    doit
170
@@:
170
@@:
171
	inc   ebx
171
	inc   ebx
172
	cmp   ah,2
172
	cmp   ah,2
173
	je    doit
173
	je    doit
174
not_fdd:
174
not_fdd:
175
	push  18
175
	push  18
176
	mov   ebx,6	; 18.6 = save to specified folder
176
	mov   ebx,6	; 18.6 = save to specified folder
177
	cmp   ah,2
177
	cmp   ah,2
178
	je    doit
178
	je    doit
179
 
179
 
180
; invoke OpenDialog
180
; invoke OpenDialog
181
	push	dword OpenDialog_data
181
	push	dword OpenDialog_data
182
	call	[OpenDialog_Start]
182
	call	[OpenDialog_Start]
183
	cmp	[OpenDialog_data.status],1
183
	cmp	[OpenDialog_data.status],1
184
	jne	still
184
	jne	still
185
 
185
 
186
; prepare for PathShow
186
; prepare for PathShow
187
	push	dword PathShow_data_1
187
	push	dword PathShow_data_1
188
	call	[PathShow_prepare]
188
	call	[PathShow_prepare]
189
	call	draw_window
189
	call	draw_window
190
	mov	ah,2
190
	mov	ah,2
191
	jmp	noclose
191
	jmp	noclose
192
 
192
 
193
doit:
193
doit:
194
	cmp	[param],0
194
	cmp	[param],0
195
	jne	 @f
195
	jne	 @f
196
	call	save_ini
196
	call	save_ini
197
@@:
197
@@:
198
	cmp	byte[ecx+1],'r'
198
	cmp	byte[ecx+1],'r'
199
	je	@f
199
	je	@f
200
	cmp	byte[ecx+1],'R'
200
	cmp	byte[ecx+1],'R'
201
	je	@f
201
	je	@f
202
        cmp     byte[ecx],'/'
202
        cmp     byte[ecx],'/'
203
	je	not_rd
203
	je	not_rd
204
@@:
204
@@:
205
	mov	edx,rdError
205
	mov	edx,rdError
206
	call	print_err
206
	call	print_err
207
	jmp	still
207
	jmp	still
208
not_rd:
208
not_rd:
209
	cmp	 [hidden],0
209
	cmp	 [hidden],0
210
	jne	 @f
210
	jne	 @f
211
	pusha
211
	pusha
212
	stdcall  _lstrcpy,msg,label2
212
	stdcall  _lstrcpy,msg,label2
213
	mov	 eax,[sc.work_text]
213
	mov	 eax,[sc.work_text]
214
	or	 eax,0xc0000088
214
	or	 eax,0xc0000088
215
	mov	 [color],eax
215
	mov	 [color],eax
216
	call	print_msg
216
	call	print_msg
217
	popa
217
	popa
218
@@:
218
@@:
219
	pop	eax
219
	pop	eax
220
	mcall
220
	mcall
221
	call	check_for_error
221
	call	check_for_error
222
	jmp	still
222
	jmp	still
223
 
223
 
224
;---------------------------------------------------------------------
224
;---------------------------------------------------------------------
225
check_for_error:		      ;Ž¡à ¡®â稪 ®è¨¡®ª
225
check_for_error:		      ;Ž¡à ¡®â稪 ®è¨¡®ª
226
	test	eax,eax
226
	test	eax,eax
227
	jz	print_ok
227
	jz	print_ok
228
	cmp	ebx,6
228
	cmp	ebx,6
229
	je	@f
229
	je	@f
230
	mov	edx,error11
230
	mov	edx,error11
231
	jmp	print_err
231
	jmp	print_err
232
@@:
232
@@:
233
	cmp	eax, 11
233
	cmp	eax, 11
234
	ja	.unknown
234
	ja	.unknown
235
	mov	edx, [errors+eax*4]
235
	mov	edx, [errors+eax*4]
236
	stdcall _lstrcpy,msg,error
236
	stdcall _lstrcpy,msg,error
237
	stdcall _lstrcat,msg,edx
237
	stdcall _lstrcat,msg,edx
238
	mov	edx,msg
238
	mov	edx,msg
239
	jmp	print_err
239
	jmp	print_err
240
.unknown:
240
.unknown:
241
	mov	edx, aUnknownError
241
	mov	edx, aUnknownError
242
 
242
 
243
print_err:
243
print_err:
244
	stdcall _lstrlen,ini_path
244
	stdcall _lstrlen,ini_path
245
	pusha
245
	pusha
246
	invoke	ini_set_str,ini_file,apath,apath,ini_path,eax
246
	invoke	ini_set_str,ini_file,apath,apath,ini_path,eax
247
	popa
247
	popa
248
	stdcall _lstrcpy,msg,edx
248
	stdcall _lstrcpy,msg,edx
249
	cmp	[hidden],1
249
	cmp	[hidden],1
250
	je	@f
250
	je	@f
251
	cmp	[param],1
251
	cmp	[param],1
252
	je	@f
252
	je	@f
253
	mov	 ecx,[sc.work_text]
253
	mov	 ecx,[sc.work_text]
254
	or	 ecx,0xc0880000
254
	or	 ecx,0xc0880000
255
	mov	 [color],ecx
255
	mov	 [color],ecx
256
	call	print_msg
256
	call	print_msg
257
	ret
257
	ret
258
@@:
258
@@:
259
	stdcall _lstrcpy, ntf_msg, ntf_start
259
	stdcall _lstrcpy, ntf_msg, ntf_start
260
	stdcall _lstrcat, ntf_msg, edx
260
	stdcall _lstrcat, ntf_msg, edx
261
	stdcall _lstrcat, ntf_msg, ntf_end_e
261
	stdcall _lstrcat, ntf_msg, ntf_end_e
262
	mov	dword [is_notify + 8], ntf_msg
262
	mov	dword [is_notify + 8], ntf_msg
263
	mcall	70, is_notify
263
	mcall	70, is_notify
264
	mov	[param],0
264
	mov	[param],0
265
	mov	[hidden],0
265
	mov	[hidden],0
266
	stdcall _lstrcpy,fname_buf,ini_path
266
	stdcall _lstrcpy,fname_buf,ini_path
267
	jmp	no_params
267
	jmp	no_params
268
 
268
 
269
print_ok:
269
print_ok:
270
	cmp	 [hidden],1
270
	cmp	 [hidden],1
271
	je	 @f
271
	je	 @f
272
	cmp	 [param],1
272
	cmp	 [param],1
273
	je	 @f
273
	je	 @f
274
	stdcall  _lstrcpy,msg,ok
274
	stdcall  _lstrcpy,msg,ok
275
	mov	 ecx,[sc.work_text]
275
	mov	 ecx,[sc.work_text]
276
	or	 ecx,0xc0008800
276
	or	 ecx,0xc0008800
277
	mov	 [color],ecx
277
	mov	 [color],ecx
278
	call	 print_msg
278
	call	 print_msg
279
	mcall	 5,100
279
	mcall	 5,100
280
	cmp	 [autoclose],1
280
	cmp	 [autoclose],1
281
	je	 close
281
	je	 close
282
	ret
282
	ret
283
@@:
283
@@:
284
	stdcall  _lstrcpy,msg,ok
284
	stdcall  _lstrcpy,msg,ok
285
	stdcall  _lstrcat,msg,fname_buf
285
	stdcall  _lstrcat,msg,fname_buf
286
	stdcall _lstrcpy, ntf_msg, ntf_start
286
	stdcall _lstrcpy, ntf_msg, ntf_start
287
	stdcall _lstrcat, ntf_msg, msg
287
	stdcall _lstrcat, ntf_msg, msg
288
	stdcall _lstrcat, ntf_msg, ntf_end_o
288
	stdcall _lstrcat, ntf_msg, ntf_end_o
289
	mov	 edx,ntf_msg
289
	mov	 edx,ntf_msg
290
	mov	 dword [is_notify + 8], edx
290
	mov	 dword [is_notify + 8], edx
291
	mcall	 70, is_notify
291
	mcall	 70, is_notify
292
	mcall	 5,100
292
	mcall	 5,100
293
	jmp	 close
293
	jmp	 close
294
;---------------------------------------------------------------------
294
;---------------------------------------------------------------------
295
print_msg:
295
print_msg:
296
	mcall	13,<5,380>,<96,10>,[sc.work]
296
	mcall	13,<5,380>,<96,10>,[sc.work]
297
	stdcall _lstrlen,msg
297
	stdcall _lstrlen,msg
298
	lea	eax,[eax+eax*2]
298
	lea	eax,[eax+eax*2]
299
	add	eax,eax
299
	add	eax,eax
300
	mov	ebx,390
300
	mov	ebx,390
301
	sub	ebx,eax
301
	sub	ebx,eax
302
	shl	ebx,15
302
	shl	ebx,15
303
	add	ebx,96
303
	add	ebx,96
304
	mcall	4, ,[color],msg, ,[sc.work]
304
	mcall	4, ,[color],msg, ,[sc.work]
305
	ret
305
	ret
306
;---------------------------------------------------------------------
306
;---------------------------------------------------------------------
307
draw_PathShow:
307
draw_PathShow:
308
	pusha
308
	pusha
309
	mcall	13,<15,280>,<32,16>,0xffffff
309
	mcall	13,<15,280>,<32,16>,0xffffff
310
	push	dword PathShow_data_1
310
	push	dword PathShow_data_1
311
	call	[PathShow_draw]
311
	call	[PathShow_draw]
312
	popa
312
	popa
313
	ret
313
	ret
314
;---------------------------------------------------------------------
314
;---------------------------------------------------------------------
315
save_ini:
315
save_ini:
316
	pusha
316
	pusha
317
	stdcall _lstrlen,fname_buf
317
	stdcall _lstrlen,fname_buf
318
	invoke	ini_set_str,ini_file,apath,apath,fname_buf,eax
318
	invoke	ini_set_str,ini_file,apath,apath,fname_buf,eax
319
	invoke	ini_set_int,ini_file,asettings,aautoclose,[autoclose]
319
	invoke	ini_set_int,ini_file,asettings,aautoclose,[autoclose]
320
	popa
320
	popa
321
	ret
321
	ret
322
;---------------------------------------------------------------------
322
;---------------------------------------------------------------------
323
check_path:
323
check_path:
324
stdcall _lstrlen,check_dir
324
stdcall _lstrlen,check_dir
325
	add	eax,check_dir
325
	add	eax,check_dir
326
@@:
326
@@:
327
	dec	eax
327
	dec	eax
328
	cmp	byte [eax],'/'
328
	cmp	byte [eax],'/'
329
	jne	@b
329
	jne	@b
330
	mov	byte [eax+1],0
330
	mov	byte [eax+1],0
331
 
331
 
332
	mcall	70,read_folder
332
	mcall	70,read_folder
333
	ret
333
	ret
334
;---------------------------------------------------------------------
334
;---------------------------------------------------------------------
335
;---  Draw window  ---------------------------------------------------
335
;---  Draw window  ---------------------------------------------------
336
;---------------------------------------------------------------------
336
;---------------------------------------------------------------------
337
draw_window:
337
draw_window:
338
	mcall  48,3,sc,sizeof.system_colors
338
	mcall  48,3,sc,sizeof.system_colors
339
	mcall	12,1
339
	mcall	12,1
-
 
340
 
-
 
341
	mcall  48,4
-
 
342
	mov ecx,200*65536+111
-
 
343
	add ecx,eax
340
 
344
 
341
	mov	edx,[sc.work]
345
	mov edx,[sc.work]
342
	or	edx,0x34000000
346
	or  edx,0x34000000
343
	mcall	0,<200,400>,<200,130>, , ,title
347
	mcall	0,<200,400>,, , ,title
344
 
348
 
345
;buttons
349
;buttons
346
	mcall	8,<198,70>,<68,20>,1,[sc.work_button]
350
	mcall	8,<198,70>,<68,20>,1,[sc.work_button]
347
	inc	edx
351
	inc	edx
348
	mcall	 ,<125,70>,
352
	mcall	 ,<125,70>,
349
	inc	edx
353
	inc	edx
350
	mcall	 ,<300,75>,<30,20>
354
	mcall	 ,<300,75>,<30,20>
351
 
355
 
352
;labels
356
;labels
353
	mov	ecx,[sc.work_button_text]
357
	mov	ecx,[sc.work_button_text]
354
	or	ecx,0x80000000
358
	or	ecx,0x80000000
355
	mcall	4,<134,75>, ,save
359
	mcall	4,<134,75>, ,save
356
	mcall	 ,<215,75>, ,cancel
360
	mcall	 ,<215,75>, ,cancel
357
	mcall	 ,<315,36>, ,select
361
	mcall	 ,<315,36>, ,select
358
 
362
 
359
	m2m	dword [frame_data.font_backgr_color],[sc.work]
363
	m2m	dword [frame_data.font_backgr_color],[sc.work]
360
	m2m dword [frame_data.font_color],[sc.work_text]
364
	m2m dword [frame_data.font_color],[sc.work_text]
361
	m2m dword [frame_data.ext_fr_col],[sc.work_graph]
365
	m2m dword [frame_data.ext_fr_col],[sc.work_graph]
362
	m2m dword [frame_data.int_fr_col],[sc.work_light]
366
	m2m dword [frame_data.int_fr_col],[sc.work_light]
363
	
367
	
364
	push	dword frame_data
368
	push	dword frame_data
365
	call	[Frame_draw]
369
	call	[Frame_draw]
366
 
370
 
367
	call	draw_PathShow
371
	call	draw_PathShow
368
	call	print_msg
372
	call	print_msg
369
 
373
 
370
	mcall	12,2
374
	mcall	12,2
371
	ret
375
	ret
372
 
376
 
373
;---------------------------------------------------------------------
377
;---------------------------------------------------------------------
374
;---  Data  ----------------------------------------------------------
378
;---  Data  ----------------------------------------------------------
375
;---------------------------------------------------------------------
379
;---------------------------------------------------------------------
376
if lang eq ru
380
if lang eq ru
377
save		db '‘®åà ­¨âì',0
381
save		db '‘®åà ­¨âì',0
378
cancel		db 'Žâ¬¥­ ',0
382
cancel		db 'Žâ¬¥­ ',0
379
select		db 'ˆ§¬¥­¨âì',0
383
select		db 'ˆ§¬¥­¨âì',0
380
label1		db ' Ž¡à § ¡ã¤¥â á®åà ­¥­ ¢: ',0
384
label1		db ' Ž¡à § ¡ã¤¥â á®åà ­¥­ ¢: ',0
381
label2		db '‘®åà ­¥­¨¥ ®¡à § ...',0
385
label2		db '‘®åà ­¥­¨¥ ®¡à § ...',0
382
ok		db 'RAM-¤¨áª á®åà ­¥­ ãᯥ譮 ',0
386
ok		db 'RAM-¤¨áª á®åà ­¥­ ãᯥ譮 ',0
383
error1		db '­¥ ®¯à¥¤¥«¥­  ¡ §  ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0
387
error1		db '­¥ ®¯à¥¤¥«¥­  ¡ §  ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª ',0
384
error2		db 'äã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ­­®© ä ©«®¢®© á¨á⥬ë',0
388
error2		db 'äã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ­­®© ä ©«®¢®© á¨á⥬ë',0
385
error3		db '­¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
389
error3		db '­¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
386
error4		db 'áâà ­­®... Žè¨¡ª  4',0
390
error4		db 'áâà ­­®... Žè¨¡ª  4',0
387
error5		db '­¥áãé¥áâ¢ãî騩 ¯ãâì',0
391
error5		db '­¥áãé¥áâ¢ãî騩 ¯ãâì',0
388
error6		db 'ä ©« § ª®­ç¨«áï',0
392
error6		db 'ä ©« § ª®­ç¨«áï',0
389
error7		db '㪠§ â¥«ì ¢­¥ ¯ ¬ï⨠¯à¨«®¦¥­¨ï',0
393
error7		db '㪠§ â¥«ì ¢­¥ ¯ ¬ï⨠¯à¨«®¦¥­¨ï',0
390
error8		db '¤¨áª § ¯®«­¥­',0
394
error8		db '¤¨áª § ¯®«­¥­',0
391
error9		db 'ä ©«®¢ ï áâàãªâãà  à §àã襭 ',0
395
error9		db 'ä ©«®¢ ï áâàãªâãà  à §àã襭 ',0
392
error10 	db '¤®áâ㯠§ ¯à¥éñ­',0
396
error10 	db '¤®áâ㯠§ ¯à¥éñ­',0
393
error11 	db 'Žè¨¡ª  ãáâனá⢠',0
397
error11 	db 'Žè¨¡ª  ãáâனá⢠',0
394
aUnknownError	db '¥¨§¢¥áâ­ ï ®è¨¡ª ',0
398
aUnknownError	db '¥¨§¢¥áâ­ ï ®è¨¡ª ',0
395
rdError 	db '¥«ì§ï á®åà ­ïâì ®¡à § ¢ á ¬®£® ᥡï',0
399
rdError 	db '¥«ì§ï á®åà ­ïâì ®¡à § ¢ á ¬®£® ᥡï',0
396
error		db 'Žè¨¡ª : ',0
400
error		db 'Žè¨¡ª : ',0
397
;---------------------------------------------------------------------
401
;---------------------------------------------------------------------
398
else if lang eq et
402
else if lang eq et
399
save		db 'Salvesta',0
403
save		db 'Salvesta',0
400
cancel		db 'Cancel',0
404
cancel		db 'Cancel',0
401
select		db ' Valige',0
405
select		db ' Valige',0
402
label1		db ' RAM-drive will be saved as: ',0
406
label1		db ' RAM-drive will be saved as: ',0
403
label2		db 'Saving in progress...',0
407
label2		db 'Saving in progress...',0
404
ok		db 'RAM-ketas salvestatud edukalt ',0
408
ok		db 'RAM-ketas salvestatud edukalt ',0
405
error1		db 'hard disk base and/or partition not defined',0
409
error1		db 'hard disk base and/or partition not defined',0
406
error2		db 'the file system does not support this function',0
410
error2		db 'the file system does not support this function',0
407
error3		db 'tundmatu failisüsteem',0
411
error3		db 'tundmatu failisüsteem',0
408
error4		db 'strange... Error 4',0
412
error4		db 'strange... Error 4',0
409
error5		db 'vigane teekond',0
413
error5		db 'vigane teekond',0
410
error6		db 'end of file',0
414
error6		db 'end of file',0
411
error7		db 'pointer is outside of application memory',0
415
error7		db 'pointer is outside of application memory',0
412
error8		db 'ketas täis',0
416
error8		db 'ketas täis',0
413
error9		db 'FAT tabel vigane',0
417
error9		db 'FAT tabel vigane',0
414
error10 	db 'juurdepääs keelatud',0
418
error10 	db 'juurdepääs keelatud',0
415
error11 	db 'Seadme viga',0
419
error11 	db 'Seadme viga',0
416
aUnknownError	db 'Tundmatu viga',0
420
aUnknownError	db 'Tundmatu viga',0
417
rdError 	db "You can't save image on itself",0
421
rdError 	db "You can't save image on itself",0
418
error		db 'Viga: ',0
422
error		db 'Viga: ',0
419
;---------------------------------------------------------------------
423
;---------------------------------------------------------------------
420
else if lang eq it
424
else if lang eq it
421
save		db '  Salva',0
425
save		db '  Salva',0
422
cancel		db 'Cancel',0
426
cancel		db 'Cancel',0
423
select		db 'Seleziona',0
427
select		db 'Seleziona',0
424
label1		db ' RAM-drive will be saved as: ',0
428
label1		db ' RAM-drive will be saved as: ',0
425
label2		db 'Saving in progress...',0
429
label2		db 'Saving in progress...',0
426
ok		db 'Il RAM-drivet e stato salvato ',0
430
ok		db 'Il RAM-drivet e stato salvato ',0
427
error1		db 'hard disk base and/or partition not defined',0
431
error1		db 'hard disk base and/or partition not defined',0
428
error2		db 'the file system does not support this function',0
432
error2		db 'the file system does not support this function',0
429
error3		db 'filesystem sconosciuto',0
433
error3		db 'filesystem sconosciuto',0
430
error4		db 'strange... Error 4',0
434
error4		db 'strange... Error 4',0
431
error5		db 'percorso non valido',0
435
error5		db 'percorso non valido',0
432
error6		db 'end of file',0
436
error6		db 'end of file',0
433
error7		db 'pointer is outside of application memory',0
437
error7		db 'pointer is outside of application memory',0
434
error8		db 'disco pieno',0
438
error8		db 'disco pieno',0
435
error9		db 'tabella FAT corrotta',0
439
error9		db 'tabella FAT corrotta',0
436
error10 	db 'accesso negato',0
440
error10 	db 'accesso negato',0
437
error11 	db 'Errore di device',0
441
error11 	db 'Errore di device',0
438
aUnknownError	db 'Errore sconosciuto',0
442
aUnknownError	db 'Errore sconosciuto',0
439
rdError 	db "You can't save image on itself",0
443
rdError 	db "You can't save image on itself",0
440
error		db 'Errore: ',0
444
error		db 'Errore: ',0
441
;---------------------------------------------------------------------
445
;---------------------------------------------------------------------
442
else
446
else
443
save		db '  Save',0
447
save		db '  Save',0
444
cancel		db 'Cancel',0
448
cancel		db 'Cancel',0
445
select		db ' Select',0
449
select		db ' Select',0
446
label1		db ' RAM-drive will be saved as: ',0
450
label1		db ' RAM-drive will be saved as: ',0
447
label2		db 'Saving in progress...',0
451
label2		db 'Saving in progress...',0
448
ok		db 'RAM-drive was saved successfully ',0
452
ok		db 'RAM-drive was saved successfully ',0
449
error1		db 'hard disk base and/or partition not defined',0
453
error1		db 'hard disk base and/or partition not defined',0
450
error2		db 'the file system does not support this function',0
454
error2		db 'the file system does not support this function',0
451
error3		db 'unknown file system',0
455
error3		db 'unknown file system',0
452
error4		db 'strange... Error 4',0
456
error4		db 'strange... Error 4',0
453
error5		db 'incorrect path',0
457
error5		db 'incorrect path',0
454
error6		db 'end of file',0
458
error6		db 'end of file',0
455
error7		db 'pointer is outside of application memory',0
459
error7		db 'pointer is outside of application memory',0
456
error8		db 'disk is full',0
460
error8		db 'disk is full',0
457
error9		db 'file structure is destroyed',0
461
error9		db 'file structure is destroyed',0
458
error10 	db 'access denied',0
462
error10 	db 'access denied',0
459
error11 	db 'Device error',0
463
error11 	db 'Device error',0
460
aUnknownError	db 'Unknown error',0
464
aUnknownError	db 'Unknown error',0
461
rdError 	db "You can't save image on itself",0
465
rdError 	db "You can't save image on itself",0
462
error		db 'Error: ',0
466
error		db 'Error: ',0
463
end if
467
end if
464
;---------------------------------------------------------------------
468
;---------------------------------------------------------------------
465
ntf_start	db '"RDSave\n', 0
469
ntf_start	db '"RDSave\n', 0
466
ntf_end_o	db '" -tO', 0
470
ntf_end_o	db '" -tO', 0
467
ntf_end_e	db '" -tE', 0
471
ntf_end_e	db '" -tE', 0
468
;---------------------------------------------------------------------
472
;---------------------------------------------------------------------
469
errors:
473
errors:
470
	dd	ok
474
	dd	ok
471
	dd	error1
475
	dd	error1
472
	dd	error2
476
	dd	error2
473
	dd	error3
477
	dd	error3
474
	dd	error4
478
	dd	error4
475
	dd	error5
479
	dd	error5
476
	dd	error6
480
	dd	error6
477
	dd	error7
481
	dd	error7
478
	dd	error8
482
	dd	error8
479
	dd	error9
483
	dd	error9
480
	dd	error10
484
	dd	error10
481
	dd	error11
485
	dd	error11
482
;---------------------------------------------------------------------
486
;---------------------------------------------------------------------
483
 
487
 
484
title	db appname,version,0
488
title	db appname,version,0
485
 
489
 
486
;Lib_DATA
490
;Lib_DATA
487
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
491
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
488
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
492
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
489
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
493
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
490
system_dir_libini	db '/sys/lib/libini.obj',0
494
system_dir_libini	db '/sys/lib/libini.obj',0
491
;---------------------------------------------------------------------
495
;---------------------------------------------------------------------
492
head_f_i:
496
head_f_i:
493
head_f_l	db 'System error',0
497
head_f_l	db 'System error',0
494
 
498
 
495
err_message_found_lib1	db 'box_lib.obj - Not found!',0
499
err_message_found_lib1	db 'box_lib.obj - Not found!',0
496
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
500
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
497
err_message_found_lib3	db 'libini.obj - Not found!',0
501
err_message_found_lib3	db 'libini.obj - Not found!',0
498
 
502
 
499
err_message_import1	db 'box_lib.obj - Wrong import!',0
503
err_message_import1	db 'box_lib.obj - Wrong import!',0
500
err_message_import2	db 'proc_lib.obj - Wrong import!',0
504
err_message_import2	db 'proc_lib.obj - Wrong import!',0
501
err_message_import3	db 'libini.obj - Wrong import!',0
505
err_message_import3	db 'libini.obj - Wrong import!',0
502
;---------------------------------------------------------------------
506
;---------------------------------------------------------------------
503
l_libs_start:
507
l_libs_start:
504
 
508
 
505
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
509
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
506
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
510
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
507
 
511
 
508
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
512
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
509
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
513
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
510
 
514
 
511
library03  l_libs system_dir_libini+9, cur_dir_path, library_path, system_dir_libini, \
515
library03  l_libs system_dir_libini+9, cur_dir_path, library_path, system_dir_libini, \
512
err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i
516
err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i
513
 
517
 
514
end_l_libs:
518
end_l_libs:
515
;---------------------------------------------------------------------
519
;---------------------------------------------------------------------
516
OpenDialog_data:
520
OpenDialog_data:
517
.type			dd 1	; Save
521
.type			dd 1	; Save
518
.procinfo		dd procinfo	;+4
522
.procinfo		dd procinfo	;+4
519
.com_area_name		dd communication_area_name	;+8
523
.com_area_name		dd communication_area_name	;+8
520
.com_area		dd 0	;+12
524
.com_area		dd 0	;+12
521
.opendir_path		dd temp_dir_path	;+16
525
.opendir_path		dd temp_dir_path	;+16
522
.dir_default_path	dd communication_area_default_path	;+20
526
.dir_default_path	dd communication_area_default_path	;+20
523
.start_path		dd open_dialog_path	;+24
527
.start_path		dd open_dialog_path	;+24
524
.draw_window		dd draw_window	;+28
528
.draw_window		dd draw_window	;+28
525
.status 		dd 0	;+32
529
.status 		dd 0	;+32
526
.openfile_pach		dd fname_buf	;+36
530
.openfile_pach		dd fname_buf	;+36
527
.filename_area		dd filename_area	;+40
531
.filename_area		dd filename_area	;+40
528
.filter_area		dd Filter
532
.filter_area		dd Filter
529
.x:
533
.x:
530
.x_size 		dw 420 ;+48 ; Window X size
534
.x_size 		dw 420 ;+48 ; Window X size
531
.x_start		dw 200 ;+50 ; Window X position
535
.x_start		dw 200 ;+50 ; Window X position
532
.y:
536
.y:
533
.y_size 		dw 320 ;+52 ; Window y size
537
.y_size 		dw 320 ;+52 ; Window y size
534
.y_start		dw 120 ;+54 ; Window Y position
538
.y_start		dw 120 ;+54 ; Window Y position
535
 
539
 
536
communication_area_name:
540
communication_area_name:
537
	db 'FFFFFFFF_open_dialog',0
541
	db 'FFFFFFFF_open_dialog',0
538
open_dialog_path:
542
open_dialog_path:
539
if __nightbuild eq yes
543
if __nightbuild eq yes
540
    db '/sys/MANAGERS/opendial',0
544
    db '/sys/MANAGERS/opendial',0
541
else
545
else
542
    db '/sys/File Managers/opendial',0
546
    db '/sys/File Managers/opendial',0
543
end if
547
end if
544
communication_area_default_path:
548
communication_area_default_path:
545
	db '/',0
549
	db '/',0
546
 
550
 
547
Filter:
551
Filter:
548
dd	Filter.end - Filter
552
dd	Filter.end - Filter
549
.1:
553
.1:
550
db	'IMG',0
554
db	'IMG',0
551
db	'IMA',0
555
db	'IMA',0
552
.end:
556
.end:
553
db	0
557
db	0
554
 
558
 
555
start_temp_file_name:	db 'kolibri.img',0
559
start_temp_file_name:	db 'kolibri.img',0
556
 
560
 
557
;---------------------------------------------------------------------
561
;---------------------------------------------------------------------
558
align 4
562
align 4
559
ProcLib_import:
563
ProcLib_import:
560
OpenDialog_Init 	dd aOpenDialog_Init
564
OpenDialog_Init 	dd aOpenDialog_Init
561
OpenDialog_Start	dd aOpenDialog_Start
565
OpenDialog_Start	dd aOpenDialog_Start
562
	dd	0
566
	dd	0
563
	dd	0
567
	dd	0
564
aOpenDialog_Init	db 'OpenDialog_init',0
568
aOpenDialog_Init	db 'OpenDialog_init',0
565
aOpenDialog_Start	db 'OpenDialog_start',0
569
aOpenDialog_Start	db 'OpenDialog_start',0
566
;---------------------------------------------------------------------
570
;---------------------------------------------------------------------
567
PathShow_data_1:
571
PathShow_data_1:
568
.type			dd 0	;+0
572
.type			dd 0	;+0
569
.start_y		dw 36	;+4
573
.start_y		dw 36	;+4
570
.start_x		dw 20	;+6
574
.start_x		dw 20	;+6
571
.font_size_x		dw 6	;+8     ; 6 - for font 0, 8 - for font 1
575
.font_size_x		dw 6	;+8     ; 6 - for font 0, 8 - for font 1
572
.area_size_x		dw 270	;+10
576
.area_size_x		dw 270	;+10
573
.font_number		dd 0	;+12    ; 0 - monospace, 1 - variable
577
.font_number		dd 0	;+12    ; 0 - monospace, 1 - variable
574
.background_flag	dd 0	;+16
578
.background_flag	dd 0	;+16
575
.font_color		dd 0	;+20
579
.font_color		dd 0	;+20
576
.background_color	dd 0	;+24
580
.background_color	dd 0	;+24
577
.text_pointer		dd fname_buf	;+28
581
.text_pointer		dd fname_buf	;+28
578
.work_area_pointer	dd text_work_area	;+32
582
.work_area_pointer	dd text_work_area	;+32
579
.temp_text_length	dd 0	;+36
583
.temp_text_length	dd 0	;+36
580
;---------------------------------------------------------------------
584
;---------------------------------------------------------------------
581
align 4
585
align 4
582
Box_lib_import:
586
Box_lib_import:
583
;edit_box_draw           dd aEdit_box_draw
587
;edit_box_draw           dd aEdit_box_draw
584
;edit_box_key            dd aEdit_box_key
588
;edit_box_key            dd aEdit_box_key
585
;edit_box_mouse          dd aEdit_box_mouse
589
;edit_box_mouse          dd aEdit_box_mouse
586
;version_ed              dd aVersion_ed
590
;version_ed              dd aVersion_ed
587
 
591
 
588
PathShow_prepare	dd sz_PathShow_prepare
592
PathShow_prepare	dd sz_PathShow_prepare
589
PathShow_draw		dd sz_PathShow_draw
593
PathShow_draw		dd sz_PathShow_draw
590
Frame_draw		dd sz_Frame_draw
594
Frame_draw		dd sz_Frame_draw
591
			dd 0
595
			dd 0
592
			dd 0
596
			dd 0
593
 
597
 
594
;aEdit_box_draw          db 'edit_box',0
598
;aEdit_box_draw          db 'edit_box',0
595
;aEdit_box_key           db 'edit_box_key',0
599
;aEdit_box_key           db 'edit_box_key',0
596
;aEdit_box_mouse         db 'edit_box_mouse',0
600
;aEdit_box_mouse         db 'edit_box_mouse',0
597
;aVersion_ed             db 'version_ed',0
601
;aVersion_ed             db 'version_ed',0
598
 
602
 
599
sz_PathShow_prepare	db 'PathShow_prepare',0
603
sz_PathShow_prepare	db 'PathShow_prepare',0
600
sz_PathShow_draw	db 'PathShow_draw',0
604
sz_PathShow_draw	db 'PathShow_draw',0
601
 
605
 
602
sz_Frame_draw		db 'frame_draw',0
606
sz_Frame_draw		db 'frame_draw',0
603
;szVersion_frame        db 'version_frame',0
607
;szVersion_frame        db 'version_frame',0
604
;---------------------------------------------------------------------
608
;---------------------------------------------------------------------
605
frame_data:
609
frame_data:
606
.type			dd 0 ;+0
610
.type			dd 0 ;+0
607
.x:
611
.x:
608
.x_size 		dw 374 ;+4
612
.x_size 		dw 374 ;+4
609
.x_start		dw 8 ;+6
613
.x_start		dw 8 ;+6
610
.y:
614
.y:
611
.y_size 		dw 45 ;+8
615
.y_size 		dw 45 ;+8
612
.y_start		dw 17 ;+10
616
.y_start		dw 17 ;+10
613
.ext_fr_col		dd 0x888888 ;+12
617
.ext_fr_col		dd 0x888888 ;+12
614
.int_fr_col		dd 0xffffff ;+16
618
.int_fr_col		dd 0xffffff ;+16
615
.draw_text_flag 	dd 1 ;+20
619
.draw_text_flag 	dd 1 ;+20
616
.text_pointer		dd label1 ;+24
620
.text_pointer		dd label1 ;+24
617
.text_position		dd 0 ;+28
621
.text_position		dd 0 ;+28
618
.font_number		dd 0 ;+32
622
.font_number		dd 0 ;+32
619
.font_size_y		dd 9 ;+36
623
.font_size_y		dd 9 ;+36
620
.font_color		dd 0x0 ;+40
624
.font_color		dd 0x0 ;+40
621
.font_backgr_color	dd 0xdddddd ;+44
625
.font_backgr_color	dd 0xdddddd ;+44
622
;---------------------------------------------------------------------
626
;---------------------------------------------------------------------
623
align 4
627
align 4
624
libini_import:
628
libini_import:
625
init_lib     dd a_init
629
init_lib     dd a_init
626
ini_get_str  dd aini_get_str
630
ini_get_str  dd aini_get_str
627
ini_get_int  dd aini_get_int
631
ini_get_int  dd aini_get_int
628
ini_set_str  dd aini_set_str
632
ini_set_str  dd aini_set_str
629
ini_set_int  dd aini_set_int
633
ini_set_int  dd aini_set_int
630
	     dd 0
634
	     dd 0
631
	     dd 0
635
	     dd 0
632
a_init	     db 'lib_init',0
636
a_init	     db 'lib_init',0
633
aini_get_str db 'ini_get_str',0
637
aini_get_str db 'ini_get_str',0
634
aini_get_int db 'ini_get_int',0
638
aini_get_int db 'ini_get_int',0
635
aini_set_str db 'ini_set_str',0
639
aini_set_str db 'ini_set_str',0
636
aini_set_int db 'ini_set_int',0
640
aini_set_int db 'ini_set_int',0
637
;---------------------------------------------------------------------
641
;---------------------------------------------------------------------
638
 
642
 
639
apath db 'path',0
643
apath db 'path',0
640
asettings db 'settings',0
644
asettings db 'settings',0
641
aautoclose db 'autoclose',0
645
aautoclose db 'autoclose',0
642
path	db '/hd2/1/kolibri.img',0
646
path	db '/hd2/1/kolibri.img',0
643
ini_file db  '/sys/settings/rdsave.ini',0
647
ini_file db  '/sys/settings/rdsave.ini',0
644
;ini_file db  '/sys/rdsave.ini',0
648
;ini_file db  '/sys/rdsave.ini',0
645
;---------------------------------------------------------------------
649
;---------------------------------------------------------------------
646
is_notify:
650
is_notify:
647
    dd	  7, 0, ok, 0, 0
651
    dd	  7, 0, ok, 0, 0
648
    db	  "/rd/1/@notify", 0
652
    db	  "/rd/1/@notify", 0
649
 
653
 
650
read_folder:
654
read_folder:
651
.subfunction	dd 1
655
.subfunction	dd 1
652
.start		dd 0
656
.start		dd 0
653
.flags		dd 0
657
.flags		dd 0
654
.size		dd 1
658
.size		dd 1
655
.return 	dd folder_data
659
.return 	dd folder_data
656
		db 0
660
		db 0
657
.name:		dd check_dir
661
.name:		dd check_dir
658
 
662
 
659
param dd 0
663
param dd 0
660
hidden dd 0
664
hidden dd 0
661
;---------------------------------------------------------------------
665
;---------------------------------------------------------------------
662
IM_END:
666
IM_END:
663
;---------------------------------------------------------------------
667
;---------------------------------------------------------------------
664
align 4
668
align 4
665
PARAMS:
669
PARAMS:
666
       rb 256
670
       rb 256
667
ini_path:
671
ini_path:
668
	rb 4096
672
	rb 4096
669
check_dir:
673
check_dir:
670
	rb 4096
674
	rb 4096
671
 
675
 
672
sc     system_colors
676
sc     system_colors
673
 
677
 
674
autoclose rd 1
678
autoclose rd 1
675
 
679
 
676
color	rd 1
680
color	rd 1
677
 
681
 
678
msg:
682
msg:
679
	rb 1024
683
	rb 1024
680
 
684
 
681
ntf_msg:
685
ntf_msg:
682
	rb 1024
686
	rb 1024
683
 
687
 
684
folder_data:
688
folder_data:
685
	rb 304*32+32 ; 9 Kb
689
	rb 304*32+32 ; 9 Kb
686
;---------------------------------------------------------------------
690
;---------------------------------------------------------------------
687
cur_dir_path:
691
cur_dir_path:
688
	rb 4096
692
	rb 4096
689
;---------------------------------------------------------------------
693
;---------------------------------------------------------------------
690
library_path:
694
library_path:
691
	rb 4096
695
	rb 4096
692
;---------------------------------------------------------------------
696
;---------------------------------------------------------------------
693
temp_dir_path:
697
temp_dir_path:
694
	rb 4096
698
	rb 4096
695
;---------------------------------------------------------------------
699
;---------------------------------------------------------------------
696
fname_buf:
700
fname_buf:
697
	rb 4096
701
	rb 4096
698
;---------------------------------------------------------------------
702
;---------------------------------------------------------------------
699
procinfo:
703
procinfo:
700
	rb 1024
704
	rb 1024
701
;---------------------------------------------------------------------
705
;---------------------------------------------------------------------
702
filename_area:
706
filename_area:
703
	rb 256
707
	rb 256
704
;---------------------------------------------------------------------
708
;---------------------------------------------------------------------
705
text_work_area:
709
text_work_area:
706
	rb 1024
710
	rb 1024
707
;---------------------------------------------------------------------
711
;---------------------------------------------------------------------
708
align 32
712
align 32
709
	rb 4096
713
	rb 4096
710
stacktop:
714
stacktop:
711
I_END:
715
I_END: