Subversion Repositories Kolibri OS

Rev

Rev 1608 | Rev 1702 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1608 Rev 1649
1
;
1
;
2
;   RDsave ¤«ï Kolibri (0.6.5.0 ¨ áâ àè¥)
2
;   RDsave ¤«ï Kolibri (0.6.5.0 ¨ áâ àè¥)
-
 
3
;   Save RAM disk to a hard or floppy drive
3
;
4
;
4
; version:	1.3
5
; version:	1.3
5
; last update:  08/09/2010
6
; last update:  08/09/2010
6
; written by:   Marat Zakiyanov aka Mario79, aka Mario
7
; written by:   Marat Zakiyanov aka Mario79, aka Mario
7
; changes:      select path with OpenDialog,
8
; changes:      select path with OpenDialog,
8
;               keys 1,2,3,4 for select options
9
;               keys 1,2,3,4 for select options
9
;---------------------------------------------------------------------
10
;---------------------------------------------------------------------
10
;   Mario79 2005
11
;   Mario79 2005
11
;   Heavyiron 12.02.2007
12
;   Heavyiron 12.02.2007
12
;        11.05.2009 - ¤«ï à ¡®âë ­ã¦­  á¨á⥬­ ï ¡¨¡«¨®â¥ª  box_lib.obj
13
;        11.05.2009 - ¤«ï à ¡®âë ­ã¦­  á¨á⥬­ ï ¡¨¡«¨®â¥ª  box_lib.obj
13
;   Š®¬¯¨«¨à®¢ âì FASM'®¬
14
;   Š®¬¯¨«¨à®¢ âì FASM'®¬
14
;
15
;
15
;---------------------------------------------------------------------
16
;---------------------------------------------------------------------
16
include 'lang.inc'
17
include 'lang.inc'
17
include '..\..\..\macros.inc'
18
include '..\..\..\macros.inc'
18
 
19
 
19
appname equ 'RDsave '
20
appname equ 'RDsave '
20
version equ '1.3'
21
version equ '1.3'
21
  
22
  
22
use32 	     ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
23
use32 	     ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
23
org	 0x0	     ;  ¤à¥á æ¨ï á ­ã«ï
24
org	 0x0	     ;  ¤à¥á æ¨ï á ­ã«ï
24
 
25
 
25
	db 'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
26
	db 'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
26
	dd 0x01	     ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
27
	dd 0x01	     ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
27
	dd START	     ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
28
	dd START	     ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
28
	dd IM_END	     ; à §¬¥à ¯à®£à ¬¬ë
29
	dd IM_END	     ; à §¬¥à ¯à®£à ¬¬ë
29
	dd I_END	     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
30
	dd I_END	     ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
30
	dd stacktop     ;  ¤à¥á ¢¥à設ë áâíª 
31
	dd stacktop     ;  ¤à¥á ¢¥à設ë áâíª 
31
	dd 0x0	     ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
32
	dd 0x0	     ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
32
	dd cur_dir_path
33
	dd cur_dir_path
33
 
34
 
34
;include '..\..\..\develop\examples\editbox\trunk\editbox.inc'
35
;include '..\..\..\develop\examples\editbox\trunk\editbox.inc'
35
include '../../../develop/libraries/box_lib/load_lib.mac'
36
include '../../../develop/libraries/box_lib/load_lib.mac'
36
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
37
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
37
	@use_library
38
	@use_library
38
 
39
 
39
;use_edit_box
40
;use_edit_box
40
;al equ eax      ; \ decrease kpack'ed size
41
;al equ eax      ; \ decrease kpack'ed size
41
;purge mov       ; /
42
;purge mov       ; /
42
 
43
 
43
;---------------------------------------------------------------------
44
;---------------------------------------------------------------------
44
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
45
;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
45
;---------------------------------------------------------------------
46
;---------------------------------------------------------------------
46
align 4
47
align 4
47
START:
48
START:
48
	mcall	68,11
49
	mcall	68,11
49
 
50
 
50
load_libraries l_libs_start,end_l_libs
51
load_libraries l_libs_start,end_l_libs
51
 
52
 
52
	cmp	eax,-1
53
	cmp	eax,-1
53
	jz	close
54
	jz	close
54
 
55
 
55
	mov	edi,filename_area
56
	mov	edi,filename_area
56
	mov	esi,start_temp_file_name
57
	mov	esi,start_temp_file_name
57
	xor	eax,eax
58
	xor	eax,eax
58
	cld
59
	cld
59
@@:
60
@@:
60
	lodsb
61
	lodsb
61
	stosb
62
	stosb
62
	test	eax,eax
63
	test	eax,eax
63
	jnz	@b
64
	jnz	@b
64
 
65
 
65
 
66
 
66
	mov	edi,fname_buf
67
	mov	edi,fname_buf
67
	mov	esi,path4
68
	mov	esi,path4
68
	xor	eax,eax
69
	xor	eax,eax
69
	cld
70
	cld
70
@@:
71
@@:
71
	lodsb
72
	lodsb
72
	stosb
73
	stosb
73
	test	eax,eax
74
	test	eax,eax
74
	jnz	@b
75
	jnz	@b
75
 
76
 
76
;OpenDialog	initialisation
77
;OpenDialog	initialisation
77
	push    dword OpenDialog_data
78
	push    dword OpenDialog_data
78
	call    [OpenDialog_Init]
79
	call    [OpenDialog_Init]
79
 
80
 
80
; prepare for PathShow
81
; prepare for PathShow
81
	push	dword PathShow_data_1
82
	push	dword PathShow_data_1
82
	call	[PathShow_prepare]
83
	call	[PathShow_prepare]
83
 
84
 
84
	mcall	40,100111b
85
	mcall	40,100111b
85
red:			; ¯¥à¥à¨á®¢ âì ®ª­®
86
red:			; ¯¥à¥à¨á®¢ âì ®ª­®
86
	mcall	48,3,sc,sizeof.system_colors
87
	mcall	48,3,sc,sizeof.system_colors
87
 
88
 
88
	call	draw_window	; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
89
	call	draw_window	; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
89
;---------------------------------------------------------------------
90
;---------------------------------------------------------------------
90
;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
91
;---  –ˆŠ‹ Ž€Ž’Šˆ ‘Ž›’ˆ‰  ----------------------------------------
91
;---------------------------------------------------------------------
92
;---------------------------------------------------------------------
92
still:
93
still:
93
	mcall 10
94
	mcall 10
94
 
95
 
95
	dec	eax	 ; ¯¥à¥à¨á®¢ âì ®ª­®?
96
	dec	eax	 ; ¯¥à¥à¨á®¢ âì ®ª­®?
96
	jz	red	 ; ¥á«¨ ¤  - ­  ¬¥âªã red
97
	jz	red	 ; ¥á«¨ ¤  - ­  ¬¥âªã red
97
	dec	eax 
98
	dec	eax 
98
	jz	key
99
	jz	key
99
	dec	eax
100
	dec	eax
100
	jz	button
101
	jz	button
101
 
102
 
102
	jmp	still
103
	jmp	still
103
;---------------------------------------------------------------------
104
;---------------------------------------------------------------------
104
button:
105
button:
105
	mcall	17	; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
106
	mcall	17	; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
106
	cmp	ah,1		 ; ª­®¯ª  á id=1("§ ªàëâì")?
107
	cmp	ah,1		 ; ª­®¯ª  á id=1("§ ªàëâì")?
107
	jne	noclose
108
	jne	noclose
108
close:
109
close:
109
	or	 eax,-1 	 ; äã­ªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã
110
	or	 eax,-1 	 ; äã­ªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã
110
	mcall
111
	mcall
111
 
112
 
112
noclose:
113
noclose:
113
	push	eax
114
	push	eax
114
	call	clear_err
115
	call	clear_err
115
	pop	eax
116
	pop	eax
116
	push	16
117
	push	16
117
	xor	ebx,ebx
118
	xor	ebx,ebx
118
	inc	ebx	; 16.1 = save to /FD/1
119
	inc	ebx	; 16.1 = save to /FD/1
119
	cmp	ah,2
120
	cmp	ah,2
120
	je	doit
121
	je	doit
121
	inc	ebx	; 16.2 = save to /FD/2
122
	inc	ebx	; 16.2 = save to /FD/2
122
	cmp	ah,3
123
	cmp	ah,3
123
	je	doit
124
	je	doit
124
	pop	ebx
125
	pop	ebx
125
	push	18
126
	push	18
126
	mov	bl,6	; 18.6 = save to specified folder
127
	mov	bl,6	; 18.6 = save to specified folder
127
	mov	ecx, path3
128
	mov	ecx, path3
128
	cmp	ah,4
129
	cmp	ah,4
129
	je	doit
130
	je	doit
130
 
131
 
131
; invoke OpenDialog
132
; invoke OpenDialog
132
	push    dword OpenDialog_data
133
	push    dword OpenDialog_data
133
	call    [OpenDialog_Start]
134
	call    [OpenDialog_Start]
134
	cmp	[OpenDialog_data.status],1
135
	cmp	[OpenDialog_data.status],1
135
	jne	still
136
	jne	still
136
 
137
 
137
; prepare for PathShow
138
; prepare for PathShow
138
	push	dword PathShow_data_1
139
	push	dword PathShow_data_1
139
	call	[PathShow_prepare]
140
	call	[PathShow_prepare]
140
 
141
 
141
	call	draw_PathShow
142
	call	draw_PathShow
142
 
143
 
143
	mov	ecx,fname_buf ;path4
144
	mov	ecx,fname_buf ;path4
144
doit:
145
doit:
145
	pop	eax
146
	pop	eax
146
	mcall
147
	mcall
147
	call	check_for_error
148
	call	check_for_error
148
	jmp	still
149
	jmp	still
149
;---------------------------------------------------------------------
150
;---------------------------------------------------------------------
150
key:
151
key:
151
	mcall	2
152
	mcall	2
152
	cmp	ah,0x31
153
	cmp	ah,0x31
153
	jb	still
154
	jb	still
154
	cmp	ah,0x34
155
	cmp	ah,0x34
155
	ja	still
156
	ja	still
156
	sub	ah,0x30
157
	sub	ah,0x30
157
	inc	ah
158
	inc	ah
158
	jmp	noclose
159
	jmp	noclose
159
;---------------------------------------------------------------------
160
;---------------------------------------------------------------------
160
check_for_error:		      ;Ž¡à ¡®â稪 ®è¨¡®ª
161
check_for_error:		      ;Ž¡à ¡®â稪 ®è¨¡®ª
161
	mov	ecx,[sc.work_text]
162
	mov	ecx,[sc.work_text]
162
	mov	edx,ok
163
	mov	edx,ok
163
	test	eax,eax
164
	test	eax,eax
164
	jz	print
165
	jz	print
165
	mov	ecx,0xdd2222
166
	mov	ecx,0xdd2222
166
	add	edx,error3 - ok
167
	add	edx,error3 - ok
167
	dec	eax
168
	dec	eax
168
	dec	eax
169
	dec	eax
169
	jz	print
170
	jz	print
170
	add	edx,error5 - error3
171
	add	edx,error5 - error3
171
	dec	eax
172
	dec	eax
172
	dec	eax
173
	dec	eax
173
	jz	print
174
	jz	print
174
	add	edx,error8 - error5
175
	add	edx,error8 - error5
175
	dec	eax
176
	dec	eax
176
	dec	eax
177
	dec	eax
177
	dec	eax
178
	dec	eax
178
	jz	print
179
	jz	print
179
	add	edx,error9 - error8
180
	add	edx,error9 - error8
180
	dec	eax
181
	dec	eax
181
	jz	print
182
	jz	print
182
	add	edx,error10 - error9
183
	add	edx,error10 - error9
183
	dec	eax
184
	dec	eax
184
	jz	print
185
	jz	print
185
	add	edx,error11 - error10
186
	add	edx,error11 - error10
186
	dec	eax
187
	dec	eax
187
	jz	print
188
	jz	print
188
	add	edx,aUnknownError - error11
189
	add	edx,aUnknownError - error11
189
print:
190
print:
190
	mov	eax,4				   ;­ ¤¯¨á¨
191
	mov	eax,4				   ;­ ¤¯¨á¨
191
	mov	ebx,20 shl 16 + 148
192
	mov	ebx,20 shl 16 + 148
192
	or	ecx,0x80000000
193
	or	ecx,0x80000000
193
	mcall
194
	mcall
194
	ret
195
	ret
195
;---------------------------------------------------------------------
196
;---------------------------------------------------------------------
196
clear_err:
197
clear_err:
197
	mov	eax,13
198
	mov	eax,13
198
	mov	ebx,15 shl 16 + 240
199
	mov	ebx,15 shl 16 + 240
199
	mov	ecx,145 shl 16 +15
200
	mov	ecx,145 shl 16 +15
200
	mov	edx,[sc.work]
201
	mov	edx,[sc.work]
201
	mcall
202
	mcall
202
	ret
203
	ret
203
;---------------------------------------------------------------------
204
;---------------------------------------------------------------------
204
draw_PathShow:
205
draw_PathShow:
205
	pusha
206
	pusha
206
	mcall	13,<8,172>,<110,15>,0xffffff
207
	mcall	13,<8,172>,<110,15>,0xffffff
207
; draw for PathShow
208
; draw for PathShow
208
	push	dword PathShow_data_1
209
	push	dword PathShow_data_1
209
	call	[PathShow_draw]
210
	call	[PathShow_draw]
210
	popa
211
	popa
211
	ret
212
	ret
212
;---------------------------------------------------------------------
213
;---------------------------------------------------------------------
213
;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
214
;---  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€  ----------------------------------
214
;---------------------------------------------------------------------
215
;---------------------------------------------------------------------
215
draw_window:
216
draw_window:
216
	mcall	12,1	; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
217
	mcall	12,1	; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
217
			; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
218
			; 1 - ­ ç¨­ ¥¬ à¨á®¢ âì
218
					 ; ‘Ž‡„€ðŒ ŽŠŽ
219
					 ; ‘Ž‡„€ðŒ ŽŠŽ
219
	xor	eax,eax			 ; äã­ªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª­®
220
	xor	eax,eax			 ; äã­ªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª­®
220
	mov	ebx,200 shl 16 + 300	 ; [x áâ àâ] *65536 + [x à §¬¥à]
221
	mov	ebx,200 shl 16 + 300	 ; [x áâ àâ] *65536 + [x à §¬¥à]
221
	mov	ecx,200 shl 16 + 190	 ; [y áâ àâ] *65536 + [y à §¬¥à]
222
	mov	ecx,200 shl 16 + 190	 ; [y áâ àâ] *65536 + [y à §¬¥à]
222
	mov	edx,[sc.work]		 ; 梥â à ¡®ç¥© ®¡« á⨠ RRGGBB,8->color gl
223
	mov	edx,[sc.work]		 ; 梥â à ¡®ç¥© ®¡« á⨠ RRGGBB,8->color gl
223
	or	edx,0x34000000
224
	or	edx,0x34000000
224
	mov	edi,title			; ‡€ƒŽ‹Ž‚ŽŠ ŽŠ€
225
	mov	edi,title			; ‡€ƒŽ‹Ž‚ŽŠ ŽŠ€
225
	mcall
226
	mcall
226
 
227
 
227
	call	draw_PathShow
228
	call	draw_PathShow
228
 
229
 
229
;®âà¨á®¢ª  ⥭¥© ª­®¯®ª
230
;®âà¨á®¢ª  ⥭¥© ª­®¯®ª
230
	mcall	13,<194,60>,<34,15>,0x444444
231
	mcall	13,<194,60>,<34,15>,0x444444
231
 
232
 
232
	add	ecx,20 shl 16
233
	add	ecx,20 shl 16
233
	mcall
234
	mcall
234
 
235
 
235
	add	ecx,20 shl 16
236
	add	ecx,20 shl 16
236
	mcall
237
	mcall
237
 
238
 
238
	add	ecx,40 shl 16
239
	add	ecx,40 shl 16
239
	mcall
240
	mcall
240
;®âà¨á®¢ª  ª­®¯®ª
241
;®âà¨á®¢ª  ª­®¯®ª
241
	sub	ebx,4 shl 16
242
	sub	ebx,4 shl 16
242
	sub	ecx,4 shl 16
243
	sub	ecx,4 shl 16
243
	mcall	8,,,5,[sc.work_button]	
244
	mcall	8,,,5,[sc.work_button]	
244
 
245
 
245
	sub	ecx,40 shl 16
246
	sub	ecx,40 shl 16
246
	dec	edx
247
	dec	edx
247
	mcall
248
	mcall
248
 
249
 
249
	sub	ecx,20 shl 16
250
	sub	ecx,20 shl 16
250
	dec	edx
251
	dec	edx
251
	mcall
252
	mcall
252
 
253
 
253
	sub	ecx,20 shl 16
254
	sub	ecx,20 shl 16
254
	dec	edx
255
	dec	edx
255
	mcall
256
	mcall
256
; ­ ¤¯¨á¨
257
; ­ ¤¯¨á¨
257
	mov	ecx,[sc.work_text]
258
	mov	ecx,[sc.work_text]
258
	or	ecx,0x80000000
259
	or	ecx,0x80000000
259
	mcall	4,<45,12>,,label1
260
	mcall	4,<45,12>,,label1
260
 
261
 
261
	mov	ebx,150 shl 16 + 35
262
	mov	ebx,150 shl 16 + 35
262
	mov	edx,path1
263
	mov	edx,path1
263
	mcall
264
	mcall
264
 
265
 
265
	add	ebx,20
266
	add	ebx,20
266
	mov	edx,path2
267
	mov	edx,path2
267
	mcall
268
	mcall
268
 
269
 
269
	mov	ebx,75 shl 16 + 75
270
	mov	ebx,75 shl 16 + 75
270
	mov	edx,path3
271
	mov	edx,path3
271
	mcall
272
	mcall
272
 
273
 
273
	mov	ebx,30 shl 16 + 97
274
	mov	ebx,30 shl 16 + 97
274
	mov	edx,label2
275
	mov	edx,label2
275
	mcall
276
	mcall
276
 
277
 
277
	mov	ebx,40 shl 16 + 135
278
	mov	ebx,40 shl 16 + 135
278
	mov	edx,label3
279
	mov	edx,label3
279
	mcall
280
	mcall
280
 
281
 
281
	mov	ecx,[sc.work_button_text]
282
	mov	ecx,[sc.work_button_text]
282
	or	ecx,0x80000000
283
	or	ecx,0x80000000
283
	mov	ebx,195 shl 16 + 35
284
	mov	ebx,195 shl 16 + 35
284
	mov	edx,save
285
	mov	edx,save
285
	mcall
286
	mcall
286
 
287
 
287
	push	edx
288
	push	edx
288
	mov	edx,key_help
289
	mov	edx,key_help
289
	call	key_help_correct
290
	call	key_help_correct
290
	pop	edx
291
	pop	edx
291
 
292
 
292
	add ebx,20
293
	add ebx,20
293
	mcall
294
	mcall
294
 
295
 
295
	push	edx
296
	push	edx
296
	mov	edx,key_help+2
297
	mov	edx,key_help+2
297
	call	key_help_correct
298
	call	key_help_correct
298
	pop	edx
299
	pop	edx
299
 
300
 
300
	add ebx,20
301
	add ebx,20
301
	mcall
302
	mcall
302
 
303
 
303
	push	edx
304
	push	edx
304
	mov	edx,key_help+4
305
	mov	edx,key_help+4
305
	call	key_help_correct
306
	call	key_help_correct
306
	pop	edx
307
	pop	edx
307
 
308
 
308
	mov	edx,select
309
	mov	edx,select
309
	add ebx,40
310
	add ebx,40
310
	mcall
311
	mcall
311
 
312
 
312
	mov	edx,key_help+6
313
	mov	edx,key_help+6
313
	call	key_help_correct
314
	call	key_help_correct
314
 
315
 
315
	mcall	12,2	; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
316
	mcall	12,2	; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª­ 
316
			; 2, § ª®­ç¨«¨ à¨á®¢ âì
317
			; 2, § ª®­ç¨«¨ à¨á®¢ âì
317
	ret		; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
318
	ret		; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
318
;---------------------------------------------------------------------
319
;---------------------------------------------------------------------
319
key_help_correct:
320
key_help_correct:
320
	push	ebx
321
	push	ebx
321
	ror	ebx,16
322
	ror	ebx,16
322
	mov	bx,270
323
	mov	bx,270
323
	rol	ebx,16
324
	rol	ebx,16
324
	pusha
325
	pusha
325
	mov	ecx,ebx
326
	mov	ecx,ebx
326
	sub	ebx,3 shl 16
327
	sub	ebx,3 shl 16
327
	mov	bx,13
328
	mov	bx,13
328
	sub	cx,3
329
	sub	cx,3
329
	shl	ecx,16
330
	shl	ecx,16
330
	mov	cx,13
331
	mov	cx,13
331
	mcall	13,,,0xffffff
332
	mcall	13,,,0xffffff
332
	popa
333
	popa
333
	mcall	
334
	mcall	
334
	pop	ebx
335
	pop	ebx
335
	ret
336
	ret
336
;---------------------------------------------------------------------
337
;---------------------------------------------------------------------
337
;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
338
;---  „€›… Žƒ€ŒŒ›  ----------------------------------------------
338
;---------------------------------------------------------------------
339
;---------------------------------------------------------------------
339
 
340
 
340
title	db appname,version,0
341
title	db appname,version,0
341
 
342
 
342
;---------------------------------------------------------------------
343
;---------------------------------------------------------------------
343
PathShow_data_1:
344
PathShow_data_1:
344
.type			dd 0	;+0
345
.type			dd 0	;+0
345
.start_y		dw 113	;+4
346
.start_y		dw 113	;+4
346
.start_x		dw 10	;+6
347
.start_x		dw 10	;+6
347
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
348
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
348
.area_size_x		dw 170	;+10
349
.area_size_x		dw 170	;+10
349
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
350
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
350
.background_flag	dd 0	;+16
351
.background_flag	dd 0	;+16
351
.font_color		dd 0x0	;+20
352
.font_color		dd 0x0	;+20
352
.background_color	dd 0x0	;+24
353
.background_color	dd 0x0	;+24
353
.text_pointer		dd fname_buf	;+28
354
.text_pointer		dd fname_buf	;+28
354
.work_area_pointer	dd text_work_area	;+32
355
.work_area_pointer	dd text_work_area	;+32
355
.temp_text_length	dd 0	;+36
356
.temp_text_length	dd 0	;+36
356
;---------------------------------------------------------------------
357
;---------------------------------------------------------------------
357
if lang eq ru
358
if lang eq ru
358
save		db '‘®åà ­¨âì',0
359
save		db '‘®åà ­¨âì',0
359
select		db ' ‚ë¡à âì',0
360
select		db ' ‚ë¡à âì',0
360
label1		db '‚ë¡¥à¨â¥ ®¤¨­ ¨§ ¢ à¨ ­â®¢:',0
361
label1		db '‚ë¡¥à¨â¥ ®¤¨­ ¨§ ¢ à¨ ­â®¢:',0
361
label2		db 'ˆ«¨ ¢ë¡¥à¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
362
label2		db 'ˆ«¨ ¢ë¡¥à¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
362
label3		db '‚ᥠ¯ ¯ª¨ ¤®«¦­ë áãé¥á⢮¢ âì',0
363
label3		db '‚ᥠ¯ ¯ª¨ ¤®«¦­ë áãé¥á⢮¢ âì',0
363
ok		db 'RAM-¤¨áª á®åà ­¥­ ãᯥ譮',0
364
ok		db 'RAM-¤¨áª á®åà ­¥­ ãᯥ譮',0
364
error3		db '¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
365
error3		db '¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ',0
365
error5		db '¥áãé¥áâ¢ãî騩 ¯ãâì',0
366
error5		db '¥áãé¥áâ¢ãî騩 ¯ãâì',0
366
error8		db '¥â ¬¥áâ  ­  ¤¨áª¥',0
367
error8		db '¥â ¬¥áâ  ­  ¤¨áª¥',0
367
error9		db '’ ¡«¨æ  FAT à §àã襭 ',0
368
error9		db '’ ¡«¨æ  FAT à §àã襭 ',0
368
error10 	db '„®áâ㯠§ ¯à¥é¥­',0
369
error10 	db '„®áâ㯠§ ¯à¥é¥­',0
369
error11 	db 'Žè¨¡ª  ãáâனá⢠',0
370
error11 	db 'Žè¨¡ª  ãáâனá⢠',0
370
aUnknownError 	db '¥¨§¢¥áâ­ ï ®è¨¡ª ',0
371
aUnknownError 	db '¥¨§¢¥áâ­ ï ®è¨¡ª ',0
371
;---------------------------------------------------------------------
372
;---------------------------------------------------------------------
372
else if lang eq et
373
else if lang eq et
373
save		db 'Salvesta',0
374
save		db 'Salvesta',0
374
select		db ' Valige',0
375
select		db ' Valige',0
375
label1		db 'Vali üks variantidest:',0
376
label1		db 'Vali üks variantidest:',0
376
label2		db 'Või valige teekond failinimeni:',0
377
label2		db 'Või valige teekond failinimeni:',0
377
label3		db 'Kõik kataloogid peavad eksisteerima',0
378
label3		db 'Kõik kataloogid peavad eksisteerima',0
378
ok		db 'RAM-ketas salvestatud edukalt',0
379
ok		db 'RAM-ketas salvestatud edukalt',0
379
error3		db 'Tundmatu failisüsteem',0
380
error3		db 'Tundmatu failisüsteem',0
380
error5		db 'Vigane teekond',0
381
error5		db 'Vigane teekond',0
381
error8		db 'Ketas täis',0
382
error8		db 'Ketas täis',0
382
error9		db 'FAT tabel vigane',0
383
error9		db 'FAT tabel vigane',0
383
error10 	db 'Juurdepääs keelatud',0
384
error10 	db 'Juurdepääs keelatud',0
384
error11 	db 'Seadme viga',0
385
error11 	db 'Seadme viga',0
385
aUnknownError 	db 'Tundmatu viga',0
386
aUnknownError 	db 'Tundmatu viga',0
386
;---------------------------------------------------------------------
387
;---------------------------------------------------------------------
387
else
388
else
388
save		db '  Save',0
389
save		db '  Save',0
389
select		db ' Select',0
390
select		db ' Select',0
390
label1		db 'Select one of the variants:',0
391
label1		db 'Select one of the variants:',0
391
label2		db '  Or select full path to file:',0
392
label2		db '  Or select full path to file:',0
392
label3		db '    All folders must exist',0
393
label3		db '    All folders must exist',0
393
ok		db 'RAM-drive was saved successfully',0
394
ok		db 'RAM-drive was saved successfully',0
394
error3		db 'Unknown file system',0
395
error3		db 'Unknown file system',0
395
error5		db 'Incorrect path',0
396
error5		db 'Incorrect path',0
396
error8		db 'Disk is full',0
397
error8		db 'Disk is full',0
397
error9		db 'FAT table corrupted',0
398
error9		db 'FAT table corrupted',0
398
error10 	db 'Access denied',0
399
error10 	db 'Access denied',0
399
error11 	db 'Device error',0
400
error11 	db 'Device error',0
400
aUnknownError 	db 'Unknown error',0
401
aUnknownError 	db 'Unknown error',0
401
 
402
 
402
end if
403
end if
403
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
404
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
404
;DATA ¤ ­­ë¥
405
;DATA ¤ ­­ë¥
405
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
406
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
406
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
407
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
407
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
408
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
408
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
409
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
409
 
410
 
410
head_f_i:
411
head_f_i:
411
head_f_l	db 'System error',0
412
head_f_l	db 'System error',0
412
 
413
 
413
err_message_found_lib1	db 'box_lib.obj - Not found!',0
414
err_message_found_lib1	db 'box_lib.obj - Not found!',0
414
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
415
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
415
 
416
 
416
err_message_import1	db 'box_lib.obj - Wrong import!',0
417
err_message_import1	db 'box_lib.obj - Wrong import!',0
417
err_message_import2	db 'proc_lib.obj - Wrong import!',0
418
err_message_import2	db 'proc_lib.obj - Wrong import!',0
418
 
419
 
419
;---------------------------------------------------------------------
420
;---------------------------------------------------------------------
420
l_libs_start:
421
l_libs_start:
421
 
422
 
422
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
423
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
423
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
424
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
424
 
425
 
425
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
426
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
426
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
427
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
427
 
428
 
428
end_l_libs:
429
end_l_libs:
429
;---------------------------------------------------------------------
430
;---------------------------------------------------------------------
430
OpenDialog_data:
431
OpenDialog_data:
431
.type			dd 1	; Save
432
.type			dd 1	; Save
432
.procinfo		dd procinfo	;+4
433
.procinfo		dd procinfo	;+4
433
.com_area_name		dd communication_area_name	;+8
434
.com_area_name		dd communication_area_name	;+8
434
.com_area		dd 0	;+12
435
.com_area		dd 0	;+12
435
.opendir_pach		dd temp_dir_pach	;+16
436
.opendir_pach		dd temp_dir_pach	;+16
436
.dir_default_pach	dd communication_area_default_pach	;+20
437
.dir_default_pach	dd communication_area_default_pach	;+20
437
.start_path		dd open_dialog_path	;+24
438
.start_path		dd open_dialog_path	;+24
438
.draw_window		dd draw_window	;+28
439
.draw_window		dd draw_window	;+28
439
.status			dd 0	;+32
440
.status			dd 0	;+32
440
.openfile_pach 		dd fname_buf	;+36
441
.openfile_pach 		dd fname_buf	;+36
441
.filename_area		dd filename_area	;+40
442
.filename_area		dd filename_area	;+40
442
.filter_area		dd Filter
443
.filter_area		dd Filter
443
.x:
444
.x:
444
.x_size			dw 420 ;+48 ; Window X size
445
.x_size			dw 420 ;+48 ; Window X size
445
.x_start		dw 10 ;+50 ; Window X position
446
.x_start		dw 10 ;+50 ; Window X position
446
.y:
447
.y:
447
.y_size			dw 320 ;+52 ; Window y size
448
.y_size			dw 320 ;+52 ; Window y size
448
.y_start		dw 10 ;+54 ; Window Y position
449
.y_start		dw 10 ;+54 ; Window Y position
449
 
450
 
450
communication_area_name:
451
communication_area_name:
451
	db 'FFFFFFFF_open_dialog',0
452
	db 'FFFFFFFF_open_dialog',0
452
open_dialog_path:
453
open_dialog_path:
453
	db '/sys/File Managers/opendial',0
454
	db '/sys/File Managers/opendial',0
454
communication_area_default_pach:
455
communication_area_default_pach:
455
	db '/hd0/1/kolibri',0
456
	db '/hd0/1/kolibri',0
456
 
457
 
457
Filter:
458
Filter:
458
dd	Filter.end - Filter
459
dd	Filter.end - Filter
459
.1:
460
.1:
460
db	'IMG',0
461
db	'IMG',0
461
db	'IMA',0
462
db	'IMA',0
462
.end:
463
.end:
463
db	0
464
db	0
464
 
465
 
465
start_temp_file_name:	db 'kolibri.img',0
466
start_temp_file_name:	db 'kolibri.img',0
466
 
467
 
467
;---------------------------------------------------------------------
468
;---------------------------------------------------------------------
468
align 4
469
align 4
469
ProcLib_import:
470
ProcLib_import:
470
OpenDialog_Init		dd aOpenDialog_Init
471
OpenDialog_Init		dd aOpenDialog_Init
471
OpenDialog_Start	dd aOpenDialog_Start
472
OpenDialog_Start	dd aOpenDialog_Start
472
;OpenDialog__Version	dd aOpenDialog_Version
473
;OpenDialog__Version	dd aOpenDialog_Version
473
        dd      0
474
        dd      0
474
        dd      0
475
        dd      0
475
aOpenDialog_Init	db 'OpenDialog_init',0
476
aOpenDialog_Init	db 'OpenDialog_init',0
476
aOpenDialog_Start	db 'OpenDialog_start',0
477
aOpenDialog_Start	db 'OpenDialog_start',0
477
;aOpenDialog_Version	db 'Version_OpenDialog',0
478
;aOpenDialog_Version	db 'Version_OpenDialog',0
478
;---------------------------------------------------------------------
479
;---------------------------------------------------------------------
479
align 4
480
align 4
480
Box_lib_import:	
481
Box_lib_import:	
481
;init_lib		dd a_init
482
;init_lib		dd a_init
482
;version_lib		dd a_version
483
;version_lib		dd a_version
483
 
484
 
484
 
485
 
485
;edit_box_draw		dd aEdit_box_draw
486
;edit_box_draw		dd aEdit_box_draw
486
;edit_box_key		dd aEdit_box_key
487
;edit_box_key		dd aEdit_box_key
487
;edit_box_mouse		dd aEdit_box_mouse
488
;edit_box_mouse		dd aEdit_box_mouse
488
;version_ed		dd aVersion_ed
489
;version_ed		dd aVersion_ed
489
 
490
 
490
;check_box_draw		dd aCheck_box_draw
491
;check_box_draw		dd aCheck_box_draw
491
;check_box_mouse	dd aCheck_box_mouse
492
;check_box_mouse	dd aCheck_box_mouse
492
;version_ch		dd aVersion_ch
493
;version_ch		dd aVersion_ch
493
 
494
 
494
;option_box_draw	dd aOption_box_draw
495
;option_box_draw	dd aOption_box_draw
495
;option_box_mouse	dd aOption_box_mouse
496
;option_box_mouse	dd aOption_box_mouse
496
;version_op		dd aVersion_op
497
;version_op		dd aVersion_op
497
 
498
 
498
;scrollbar_ver_draw	dd aScrollbar_ver_draw
499
;scrollbar_ver_draw	dd aScrollbar_ver_draw
499
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
500
;scrollbar_ver_mouse	dd aScrollbar_ver_mouse
500
;scrollbar_hor_draw	dd aScrollbar_hor_draw
501
;scrollbar_hor_draw	dd aScrollbar_hor_draw
501
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
502
;scrollbar_hor_mouse	dd aScrollbar_hor_mouse
502
;version_scrollbar	dd aVersion_scrollbar
503
;version_scrollbar	dd aVersion_scrollbar
503
 
504
 
504
;dinamic_button_draw	dd aDbutton_draw
505
;dinamic_button_draw	dd aDbutton_draw
505
;dinamic_button_mouse	dd aDbutton_mouse
506
;dinamic_button_mouse	dd aDbutton_mouse
506
;version_dbutton	dd aVersion_dbutton
507
;version_dbutton	dd aVersion_dbutton
507
 
508
 
508
;menu_bar_draw		dd aMenu_bar_draw
509
;menu_bar_draw		dd aMenu_bar_draw
509
;menu_bar_mouse		dd aMenu_bar_mouse
510
;menu_bar_mouse		dd aMenu_bar_mouse
510
;menu_bar_activate	dd aMenu_bar_activate
511
;menu_bar_activate	dd aMenu_bar_activate
511
;version_menu_bar	dd aVersion_menu_bar
512
;version_menu_bar	dd aVersion_menu_bar
512
 
513
 
513
;FileBrowser_draw	dd aFileBrowser_draw
514
;FileBrowser_draw	dd aFileBrowser_draw
514
;FileBrowser_mouse	dd aFileBrowser_mouse
515
;FileBrowser_mouse	dd aFileBrowser_mouse
515
;FileBrowser_key	dd aFileBrowser_key
516
;FileBrowser_key	dd aFileBrowser_key
516
;Version_FileBrowser	dd aVersion_FileBrowser
517
;Version_FileBrowser	dd aVersion_FileBrowser
517
 
518
 
518
PathShow_prepare	dd sz_PathShow_prepare
519
PathShow_prepare	dd sz_PathShow_prepare
519
PathShow_draw		dd sz_PathShow_draw
520
PathShow_draw		dd sz_PathShow_draw
520
;Version_path_show	dd szVersion_path_show
521
;Version_path_show	dd szVersion_path_show
521
			dd 0
522
			dd 0
522
			dd 0
523
			dd 0
523
 
524
 
524
;a_init			db 'lib_init',0
525
;a_init			db 'lib_init',0
525
;a_version		db 'version',0
526
;a_version		db 'version',0
526
 
527
 
527
;aEdit_box_draw		db 'edit_box',0
528
;aEdit_box_draw		db 'edit_box',0
528
;aEdit_box_key		db 'edit_box_key',0
529
;aEdit_box_key		db 'edit_box_key',0
529
;aEdit_box_mouse	db 'edit_box_mouse',0
530
;aEdit_box_mouse	db 'edit_box_mouse',0
530
;aVersion_ed		db 'version_ed',0
531
;aVersion_ed		db 'version_ed',0
531
 
532
 
532
;aCheck_box_draw	db 'check_box_draw',0
533
;aCheck_box_draw	db 'check_box_draw',0
533
;aCheck_box_mouse	db 'check_box_mouse',0
534
;aCheck_box_mouse	db 'check_box_mouse',0
534
;aVersion_ch		db 'version_ch',0
535
;aVersion_ch		db 'version_ch',0
535
 
536
 
536
;aOption_box_draw	db 'option_box_draw',0
537
;aOption_box_draw	db 'option_box_draw',0
537
;aOption_box_mouse	db 'option_box_mouse',0
538
;aOption_box_mouse	db 'option_box_mouse',0
538
;aVersion_op		db 'version_op',0
539
;aVersion_op		db 'version_op',0
539
 
540
 
540
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
541
;aScrollbar_ver_draw	db 'scrollbar_v_draw',0
541
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
542
;aScrollbar_ver_mouse	db 'scrollbar_v_mouse',0
542
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
543
;aScrollbar_hor_draw	db 'scrollbar_h_draw',0
543
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
544
;aScrollbar_hor_mouse	db 'scrollbar_h_mouse',0
544
;aVersion_scrollbar	db 'version_scrollbar',0
545
;aVersion_scrollbar	db 'version_scrollbar',0
545
 
546
 
546
;aDbutton_draw		db 'dbutton_draw',0
547
;aDbutton_draw		db 'dbutton_draw',0
547
;aDbutton_mouse		db 'dbutton_mouse',0
548
;aDbutton_mouse		db 'dbutton_mouse',0
548
;aVersion_dbutton	db 'version_dbutton',0
549
;aVersion_dbutton	db 'version_dbutton',0
549
 
550
 
550
;aMenu_bar_draw		db 'menu_bar_draw',0
551
;aMenu_bar_draw		db 'menu_bar_draw',0
551
;aMenu_bar_mouse		db 'menu_bar_mouse',0
552
;aMenu_bar_mouse		db 'menu_bar_mouse',0
552
;aMenu_bar_activate	db 'menu_bar_activate',0
553
;aMenu_bar_activate	db 'menu_bar_activate',0
553
;aVersion_menu_bar	db 'version_menu_bar',0
554
;aVersion_menu_bar	db 'version_menu_bar',0
554
 
555
 
555
;aFileBrowser_draw	db 'FileBrowser_draw',0
556
;aFileBrowser_draw	db 'FileBrowser_draw',0
556
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
557
;aFileBrowser_mouse	db 'FileBrowser_mouse',0
557
;aFileBrowser_key	db 'FileBrowser_key',0
558
;aFileBrowser_key	db 'FileBrowser_key',0
558
;aVersion_FileBrowser	db 'version_FileBrowser',0
559
;aVersion_FileBrowser	db 'version_FileBrowser',0
559
 
560
 
560
sz_PathShow_prepare	db 'PathShow_prepare',0
561
sz_PathShow_prepare	db 'PathShow_prepare',0
561
sz_PathShow_draw	db 'PathShow_draw',0
562
sz_PathShow_draw	db 'PathShow_draw',0
562
;szVersion_path_show	db 'version_PathShow',0
563
;szVersion_path_show	db 'version_PathShow',0
563
;---------------------------------------------------------------------
564
;---------------------------------------------------------------------
564
 
565
 
565
path1	db '/fd/1/',0
566
path1	db '/fd/1/',0
566
path2	db '/fd/2/',0
567
path2	db '/fd/2/',0
567
path3	db '/hd0/1/kolibri.img',0
568
path3	db '/hd0/1/kolibri.img',0
568
path4	db '/hd0/1/kolibri/kolibri.img',0  ;¤«ï १¥à¢­®£® á®åà ­¥­¨ï
569
path4	db '/hd0/1/kolibri/kolibri.img',0  ;¤«ï १¥à¢­®£® á®åà ­¥­¨ï
569
;---------------------------------------------------------------------
570
;---------------------------------------------------------------------
570
key_help:
571
key_help:
571
	db '1',0
572
	db '1',0
572
	db '2',0
573
	db '2',0
573
	db '3',0
574
	db '3',0
574
	db '4',0
575
	db '4',0
575
;---------------------------------------------------------------------
576
;---------------------------------------------------------------------
576
IM_END:
577
IM_END:
577
;---------------------------------------------------------------------
578
;---------------------------------------------------------------------
578
sc     system_colors
579
sc     system_colors
579
mouse_dd	rd 1
580
mouse_dd	rd 1
580
;---------------------------------------------------------------------
581
;---------------------------------------------------------------------
581
cur_dir_path:
582
cur_dir_path:
582
	rb 4096
583
	rb 4096
583
;---------------------------------------------------------------------
584
;---------------------------------------------------------------------
584
library_path:
585
library_path:
585
	rb 4096
586
	rb 4096
586
;---------------------------------------------------------------------
587
;---------------------------------------------------------------------
587
temp_dir_pach:
588
temp_dir_pach:
588
	rb 4096
589
	rb 4096
589
;---------------------------------------------------------------------
590
;---------------------------------------------------------------------
590
fname_buf:
591
fname_buf:
591
	rb 4096
592
	rb 4096
592
;---------------------------------------------------------------------
593
;---------------------------------------------------------------------
593
procinfo:
594
procinfo:
594
	rb 1024
595
	rb 1024
595
;---------------------------------------------------------------------
596
;---------------------------------------------------------------------
596
filename_area:
597
filename_area:
597
	rb 256
598
	rb 256
598
;---------------------------------------------------------------------
599
;---------------------------------------------------------------------
599
text_work_area:
600
text_work_area:
600
	rb 1024
601
	rb 1024
601
;---------------------------------------------------------------------
602
;---------------------------------------------------------------------
602
align 4
603
align 4
603
	rb 4096
604
	rb 4096
604
stacktop:
605
stacktop:
605
I_END:	; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
606
I_END:	; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë