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 | ; |
6 | ; |
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:315,36>215,75>134,75>30,20>300,75>125,70>68,20>198,70>200,130>200,400>32,16>15,280>96,10>5,380> |
715 | I_END:315,36>215,75>134,75>30,20>300,75>125,70>68,20>198,70>200,400>32,16>15,280>96,10>5,380> |