Subversion Repositories Kolibri OS

Rev

Rev 9531 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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