Rev 7473 | Rev 7483 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7473 | Rev 7476 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; Formatting Disk Utility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; Formatting Disk Utility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4 | ; Compile with FASM |
4 | ; Compile with FASM |
5 | ; FORMAT ver. Oct 17, 2018 |
5 | ; FORMAT ver. Oct 18, 2018 |
Line 6... | Line 6... | ||
6 | 6 | ||
7 | ; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
7 | ; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
8 | ; All rights reserved. |
8 | ; All rights reserved. |
9 | ; Redistribution and use in source and binary forms, with or without modification, |
9 | ; Redistribution and use in source and binary forms, with or without modification, |
Line 43... | Line 43... | ||
43 | 43 | ||
44 | include 'lang.inc' |
44 | include 'lang.inc' |
45 | include '../../macros.inc' |
45 | include '../../macros.inc' |
46 | include '../../proc32.inc' |
46 | include '../../proc32.inc' |
47 | include '../../dll.inc' |
47 | include '../../dll.inc' |
48 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' ;êîìïîíåíòû checkBox è editBox |
48 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' ;for uses checkBox and editBox |
49 | include '../../develop/libraries/box_lib/load_lib.mac' ;ìàêðîñ äëÿ çàãðóçêè áèáëèîòåê |
49 | include '../../develop/libraries/box_lib/load_lib.mac' |
Line 50... | Line 50... | ||
50 | @use_library |
50 | @use_library |
51 | 51 | ||
Line 52... | Line 52... | ||
52 | START: |
52 | START: |
53 | mcall 48,3,sc,sizeof.system_colors ;ïîëó÷èòü ñèñòåìíûå öâåòà |
53 | mcall 48,3,sc,sizeof.system_colors ;get system colors |
54 | 54 | ||
Line 55... | Line 55... | ||
55 | stdcall dll.Load, @IMPORT |
55 | stdcall dll.Load, @IMPORT |
56 | or eax, eax |
56 | or eax, eax |
Line 57... | Line -... | ||
57 | jnz exit |
- | |
58 | 57 | jnz exit |
|
59 | load_libraries l_libs_start,load_lib_end ;çàãðóçêà áèáëèîòåê(è) |
58 | |
- | 59 | load_libraries l_libs_start,load_lib_end |
|
Line 60... | Line 60... | ||
60 | stdcall [OpenDialog_Init],OpenDialog_data ;ïîäãîòîâêà äèàëîãà |
60 | stdcall [OpenDialog_Init],OpenDialog_data |
61 | 61 | ||
62 | mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé |
62 | ;set mask for events: |
- | 63 | ;ñîîáùåíèå î ïåðåðèñîâêå,íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè) |
|
63 | mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå,íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè) |
64 | mcall 40, 0x27 |
- | 65 | ||
64 | mcall |
66 | mov ecx,[sc.work_text] |
65 | - | ||
66 | mov ecx,[sc.work_text] |
67 | and ecx, 0x9FFFFFFF |
67 | and ecx, 0x9FFFFFFF |
- | |
68 | or ecx,0x90000000 |
68 | or ecx,0x90000000 |
Line 69... | Line 69... | ||
69 | ;mov ecx, 0x90000000 |
69 | |
70 | mov dword[editLU.text_color], ecx |
70 | call initBuf |
Line 71... | Line 71... | ||
71 | ;mov dword[editLD.text_color], ecx |
71 | |
72 | mov dword[editRU.text_color], ecx |
- | |
73 | mov dword[editRD.text_color], ecx |
72 | mov dword[editLU.text_color], ecx |
74 | mov dword[editMBR.text_color], ecx |
73 | mov dword[editRU.text_color], ecx |
Line -... | Line 74... | ||
- | 74 | mov dword[editMBR.text_color], ecx |
|
- | 75 | ||
75 | 76 | invoke init_checkbox, ch1 |
|
76 | invoke init_checkbox, ch1 |
77 | invoke init_checkbox, ch2 |
77 | invoke init_checkbox, ch2 |
78 | |
78 | 79 | stdcall [kmenu_init], sc |
|
79 | stdcall [kmenu_init], sc ;kmenu initialisation |
80 | stdcall [ksubmenu_new] |
80 | 81 | mov [kmFS], eax |
|
81 | stdcall [ksubmenu_new] |
82 | |
82 | mov [kmFS], eax |
83 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmNone, 110 |
83 | - | ||
84 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmFat16, 111 |
- | |
85 | stdcall [ksubmenu_add], [kmFS], eax |
- | |
86 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmFat32, 112 |
84 | stdcall [ksubmenu_add], [kmFS], eax |
Line 87... | Line 85... | ||
87 | stdcall [ksubmenu_add], [kmFS], eax |
85 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmFat16, 111 |
Line -... | Line 86... | ||
- | 86 | stdcall [ksubmenu_add], [kmFS], eax |
|
- | 87 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmFat32, 112 |
|
- | 88 | stdcall [ksubmenu_add], [kmFS], eax |
|
- | 89 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmNTFS, 113 |
|
- | 90 | stdcall [ksubmenu_add], [kmFS], eax |
|
88 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmNTFS, 113 |
91 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmExt2, 114 |
- | 92 | stdcall [ksubmenu_add], [kmFS], eax |
|
- | 93 | mov byte[kmID], 0 |
|
- | 94 | ||
- | 95 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, kmFat16, [kmFS] |
|
- | 96 | ||
- | 97 | ||
- | 98 | stdcall [ksubmenu_new] |
|
- | 99 | mov [kmUnit], eax |
|
- | 100 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.0, 120 |
|
- | 101 | stdcall [ksubmenu_add], [kmUnit], eax |
|
- | 102 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.1, 121 |
|
- | 103 | stdcall [ksubmenu_add], [kmUnit], eax |
|
- | 104 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.2, 122 |
|
- | 105 | stdcall [ksubmenu_add], [kmUnit], eax |
|
- | 106 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.3, 123 |
|
- | 107 | stdcall [ksubmenu_add], [kmUnit], eax |
|
- | 108 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.4, 124 |
|
Line 89... | Line 109... | ||
89 | stdcall [ksubmenu_add], [kmFS], eax |
109 | stdcall [ksubmenu_add], [kmUnit], eax |
90 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmExt2, 114 |
- | |
91 | stdcall [ksubmenu_add], [kmFS], eax |
110 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.5, 125 |
Line 92... | Line 111... | ||
92 | ;stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0 |
111 | stdcall [ksubmenu_add], [kmUnit], eax |
93 | ;stdcall [ksubmenu_add], [kmFS], eax |
112 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.6, 126 |
94 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, kmNone, 110 |
- | |
Line 95... | Line 113... | ||
95 | stdcall [ksubmenu_add], [kmFS], eax |
113 | stdcall [ksubmenu_add], [kmUnit], eax |
96 | 114 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, unittext.7, 127 |
|
97 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, kmFat16, [kmFS] ;çàãîëîâîê |
- | |
Line 98... | Line 115... | ||
98 | 115 | stdcall [ksubmenu_add], [kmUnit], eax |
|
99 | call draw_window ; draw the window |
- | |
100 | - | ||
101 | event_wait: |
- | |
102 | mov eax, 10 ; function 10 : wait until event |
- | |
103 | mcall ; event type is returned in eax |
- | |
104 | - | ||
105 | cmp eax, 1 ; Event redraw request ? |
- | |
106 | je red ; Expl.: there has been activity on screen and |
- | |
107 | ; parts of the applications has to be redrawn. |
- | |
108 | - | ||
109 | cmp eax, 2 ; Event key in buffer ? |
116 | mov byte[kmUnitID], 0 |
110 | je key ; Expl.: User has pressed a key while the |
- | |
Line 111... | Line 117... | ||
111 | ; app is at the top of the window stack. |
117 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, unittext.0, [kmUnit] |
- | 118 | ||
Line 112... | Line 119... | ||
112 | 119 | call draw_window |
|
Line 113... | Line 120... | ||
113 | cmp eax, 3 ; Event button in buffer ? |
120 | |
114 | je button ; Expl.: User has pressed one of the |
121 | event_wait: |
115 | ; applications buttons. |
122 | mcall 10 |
Line 116... | Line 123... | ||
116 | 123 | ||
117 | 124 | cmp eax, 1 ; Event redraw |
|
118 | invoke check_box_mouse, ch1 ;ïðîâåðêà ÷åê áîêñà |
125 | je redraw |
119 | invoke check_box_mouse, ch2 |
- | |
120 | 126 | ||
121 | invoke edit_box_mouse, editLU ;ïðîâåðêà ñîáûòèé ìûøè äëÿ editBox'îâ |
- | |
122 | ;invoke edit_box_mouse, editLD |
127 | cmp eax, 2 ; Event key in buffer ? |
123 | invoke edit_box_mouse, editRU |
128 | je key |
Line 124... | Line 129... | ||
124 | invoke edit_box_mouse, editRD |
129 | |
125 | invoke edit_box_mouse, editMBR |
130 | cmp eax, 3 ; Event button in buffer ? |
Line 126... | Line 131... | ||
126 | 131 | je button |
|
127 | stdcall [kmainmenu_dispatch_cursorevent], [kmFS] |
132 | |
128 | 133 | cmp eax, 6 ; Event mouse in buffer ? |
|
129 | jmp event_wait |
134 | je mouse |
130 | 135 | ||
131 | 136 | jmp event_wait |
|
132 | red: ; Redraw event handler |
137 | |
133 | call draw_window ; We call the window_draw function and |
138 | |
134 | jmp event_wait ; jump back to event_wait |
139 | redraw: |
135 | 140 | call draw_window |
|
136 | key: |
141 | jmp event_wait |
137 | mcall 2 |
142 | |
138 | invoke edit_box_key, editLU |
143 | key: |
139 | ;invoke edit_box_key, editLD |
144 | mcall 2 |
140 | invoke edit_box_key, editRU |
145 | invoke edit_box_key, editLU |
141 | invoke edit_box_key, editRD |
146 | invoke edit_box_key, editRU |
142 | invoke edit_box_key, editMBR |
147 | invoke edit_box_key, editMBR |
143 | jmp event_wait ; Just read the key, ignore it and jump to event_wait. |
148 | jmp event_wait |
144 | 149 | ||
145 | button: |
150 | button: |
- | 151 | mcall 17 |
|
- | 152 | ||
- | 153 | cmp ah, 1 ;Close button |
|
- | 154 | jne @f |
|
- | 155 | exit: |
|
146 | mcall 17 |
156 | mcall -1 |
147 | 157 | @@: |
|
148 | cmp ah,1 ; button id=1 ? |
158 | cmp ah, 2 ;Format button |
149 | jne noclose |
159 | jne @f |
150 | exit: |
160 | call butFormat |
151 | mcall -1 |
161 | jmp event_wait |
152 | noclose: |
162 | @@: |
- | 163 | cmp ah, 3 ;Brouse button |
|
- | 164 | jne @f |
|
- | 165 | call butBrouse |
|
- | 166 | jmp event_wait |
|
- | 167 | @@: |
|
- | 168 | cmp ah, 4 ;Select FS button |
|
- | 169 | jne @f |
|
- | 170 | call butSelectFS |
|
153 | cmp ah, 2 ;Format button |
171 | jmp event_wait |
154 | jne no_format |
172 | @@: |
Line -... | Line 173... | ||
- | 173 | cmp ah, 5 ;Select unit size button |
|
- | 174 | jne @f |
|
- | 175 | call butUnit |
|
- | 176 | jmp event_wait |
|
- | 177 | @@: |
|
- | 178 | cmp ah, 110 ;kmenu list FS |
|
- | 179 | jb @f |
|
- | 180 | cmp ah, 114 |
|
- | 181 | ja @f |
|
- | 182 | sub ah, 110 |
|
Line 155... | Line 183... | ||
155 | call butFormat |
183 | mov byte[kmID], ah |
156 | jmp event_wait |
184 | jmp redraw |
157 | no_format: |
185 | @@: |
Line 197... | Line 225... | ||
197 | 225 | ||
198 | stdcall [ksubmenu_draw], [kmFS], coord |
226 | stdcall [ksubmenu_draw], [kmFS], coord |
199 | pop ecx ebx eax |
227 | pop ecx ebx eax |
Line -... | Line 228... | ||
- | 228 | ret |
|
- | 229 | ||
- | 230 | butUnit: |
|
Line -... | Line 231... | ||
- | 231 | push eax ebx ecx |
|
- | 232 | mcall 9, pi, -1 |
|
- | 233 | ||
- | 234 | mov eax, dword[pi+34] |
|
- | 235 | add eax, Otstup+80+30+delta |
|
- | 236 | mov word[coordUnit.x], ax |
|
- | 237 | ||
- | 238 | mov eax, dword[pi+38] |
|
- | 239 | add eax, 129 |
|
- | 240 | mov word[coordUnit.y], ax |
|
- | 241 | ||
Line 200... | Line 242... | ||
200 | ret |
242 | stdcall [ksubmenu_draw], [kmUnit], coordUnit |
201 | 243 | pop ecx ebx eax |
|
202 | 244 | ret |
|
203 | 245 | ||
204 | delta = 50 |
- | |
205 | dy = 15 + 40 |
- | |
206 | warning_title: db 'Warning!',0 |
- | |
207 | draw_warningWindow: |
- | |
208 | mcall 12, 1 |
- | |
209 | - | ||
210 | mov ebx, 100 * 65536 + (200) ; [x start] *65536 + [x size] |
- | |
211 | mov ecx, 100 * 65536 + (90) ; [y start] *65536 + [y size] |
- | |
212 | mov edx, 0x14ffffff ; color of work area RRGGBB |
- | |
213 | ; 0x02000000 = window type 4 (fixed size, skinned window) |
- | |
214 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
- | |
215 | ; 0x80000000 = color glide |
- | |
216 | mov edi, warning_title |
246 | delta = 50 |
Line 217... | Line 247... | ||
217 | mcall 0 |
247 | dy = 15 + 40 |
218 | 248 | warning_title: db 'Warning!',0 |
|
Line 219... | Line -... | ||
219 | mcall 12, 2 |
- | |
220 | ret |
- | |
221 | - | ||
222 | draw_window: |
- | |
223 | mcall 12, 1 |
- | |
224 | - | ||
225 | ;óäàëÿåì êíîïêè, åñëè åñòü |
- | |
226 | mov edx, 0x80000002 |
- | |
227 | mcall 8 |
249 | draw_warningWindow: |
228 | mov edx, 0x80000003 |
250 | ret |
229 | mcall 8 |
251 | |
- | 252 | draw_window: |
|
230 | mov edx, 0x80000004 |
253 | mcall 12, 1 |
231 | mcall 8 |
254 | |
232 | 255 | mov eax, 0 ; function 0 : define and draw window |
|
233 | mov eax, 0 ; function 0 : define and draw window |
256 | mov ebx, 100 * 65536 + (290+delta) ; [x start] *65536 + [x size] |
234 | mov ebx, 100 * 65536 + (290+delta) ; [x start] *65536 + [x size] |
257 | mov ecx, 100 * 65536 + (310+dy) ; [y start] *65536 + [y size] |
235 | mov ecx, 100 * 65536 + (310+dy) ; [y start] *65536 + [y size] |
258 | mov edx,[sc.work] ;0x14FFFFFF |
Line 236... | Line 259... | ||
236 | mov edx, 0x14ffffff ; color of work area RRGGBB |
259 | add edx, 0x14000000 ; color of work area RRGGBB |
237 | ; 0x02000000 = window type 4 (fixed size, skinned window) |
260 | ; 0x02000000 = window type 4 (fixed size, skinned window) |
238 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
261 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
239 | ; 0x80000000 = color glide |
262 | ; 0x80000000 = color glide |
240 | mov edi, title |
263 | mov edi, title |
Line 241... | Line 264... | ||
241 | mcall |
264 | mcall |
242 | 265 | ||
243 | 266 | ||
244 | mov ebx, (290+delta-Otstup-130)*65536+130 |
267 | mov ebx, (290+delta-Otstup-130)*65536+130 |
245 | mov ecx, (270+dy)*65536+(20+3) |
268 | mov ecx, (270+dy)*65536+(20+3) |
Line 246... | Line 269... | ||
246 | mov edx, 0x00000002 ;2 |
269 | mov edx, 0x00000002 |
247 | mov esi, 0xAABBCC ;4466AA |
270 | mov esi, 0xAABBCC |
248 | mcall 8 |
271 | mcall 8 |
249 | 272 | ||
250 | mov ebx, (290+delta-Otstup-50-2)*65536+(50+2) |
273 | mov ebx, (290+delta-Otstup-50-2)*65536+(50+2) |
- | 274 | mov ecx, (210+dy)*65536+21 ;14 |
|
- | 275 | mov edx, 0x00000003 |
|
- | 276 | mov esi, 0xAABBCC |
|
- | 277 | mcall 8 |
|
- | 278 | ||
- | 279 | ;button select FS |
|
- | 280 | mov ebx, Otstup*65536+120 |
|
251 | mov ecx, (210+dy)*65536+21 ;14 |
281 | mov ecx, (110)*65536+(21) |
Line 252... | Line 282... | ||
252 | mov edx, 0x00000003 ;3 |
282 | mov edx, 0x00000004 |
253 | mov esi, 0xAABBCC ;D7D7D7 ;4466AA |
283 | mov esi, 0xFFFFFF |
Line 254... | Line 284... | ||
254 | mcall 8 |
284 | mcall 8 |
255 | 285 | ||
256 | ;button select FS |
- | |
257 | mov ebx, Otstup*65536+120 |
286 | ;button select unit size |
258 | mov ecx, (110)*65536+(21) |
- | |
Line 259... | Line 287... | ||
259 | mov edx, 0x00000004 |
287 | mov ebx, (Otstup+80+30+delta)*65536+120 |
Line -... | Line 288... | ||
- | 288 | mov ecx, (110)*65536+(21) |
|
- | 289 | mov edx, 0x00000005 |
|
- | 290 | mov esi, 0xFFFFFF |
|
- | 291 | mcall 8 |
|
- | 292 | ||
- | 293 | invoke check_box_draw, ch1 ;ðèñîâàíèå ÷åêáîêñîâ |
|
- | 294 | invoke check_box_draw, ch2 |
|
- | 295 | ||
- | 296 | invoke edit_box_draw, editMBR ;ðèñîâàíèå edit box'îâ |
|
- | 297 | invoke edit_box_draw, editLU |
|
- | 298 | invoke edit_box_draw, editRU |
|
260 | mov esi, 0xFFFFFF ;AABBCC |
299 | |
261 | mcall 8 |
300 | call draw_super_text |
Line 283... | Line 322... | ||
283 | ch2 check_box2 Otstup shl 16 + 12, (190+dy) shl 16 + 12, 6, 0xFFFFFFFF, 0xAABBCC, 0, ch_text.2, 100b |
322 | ch2 check_box2 Otstup shl 16 + 12, (190+dy) shl 16 + 12, 6, 0xFFFFFFFF, 0xAABBCC, 0, ch_text.2, 100b |
Line 284... | Line 323... | ||
284 | 323 | ||
Line 285... | Line 324... | ||
285 | 324 | ||
Line 286... | Line 325... | ||
286 | browse db '...', 0 |
325 | browse db '...', 0 |
Line 287... | Line 326... | ||
287 | 326 | ||
288 | if lang eq ru ;åñëè ÿçûê ñáîðêè ðóññêèé |
327 | if lang eq ru ;RU language |
289 | 328 | ||
Line 290... | Line 329... | ||
290 | title db "Formatting Disk Utility", 0 |
329 | title db "Formatting Disk Utility", 0 |
291 | 330 | ||
292 | ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ |
331 | ch_text: ;text for CheckBoxs |
293 | .1 db '®«®¥ ¨ ¤®«£®¥ ä®à¬ â¨à®¢ ¨¥',0 |
332 | .1 db '®«®¥ ¨ ¤®«£®¥ ä®à¬ â¨à®¢ ¨¥',0 |
294 | .2 db '®§¤ âì § £à㧮çë© ¤¨áª, § ¯¨áì MBR:',0 |
333 | .2 db '®§¤ âì § £à㧮çë© ¤¨áª, § ¯¨áì MBR:',0 |
295 | 334 | ||
296 | text: |
335 | text: |
297 | .volume db '¥âª ⮬ :', 0 |
- | |
Line 298... | Line 336... | ||
298 | .fs db ' ©«®¢ ï á¨á⥬ :', 0 |
336 | .volume db '¥âª ⮬ :', 0 |
299 | .disk db ' ¬ª®áâì:', 0 |
337 | .fs db ' ©«®¢ ï á¨á⥬ :', 0 |
300 | .unit db ' §¬¥à ª« áâ¥à :', 0 |
338 | .disk db ' ª®¯¨â¥«ì:', 0 ;' ¬ª®áâì:', 0 |
301 | .option db ' à ¬¥âàë:', 0 |
339 | .unit db ' §¬¥à ª« áâ¥à :', 0 |
302 | .format db '®à¬ â¨à®¢ âì', 0 |
340 | .option db ' à ¬¥âàë:', 0 |
303 | ; .browse db '¡§®à', 0 |
341 | .format db '®à¬ â¨à®¢ âì', 0 |
Line 304... | Line 342... | ||
304 | 342 | ||
Line 305... | Line 343... | ||
305 | head_f_i: |
343 | head_f_i: |
Line 306... | Line 344... | ||
306 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
344 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
307 | err_message_found_lib0 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'proc_lib.obj',39,0 |
345 | err_message_found_lib0 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'proc_lib.obj',39,0 |
308 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0 |
346 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0 |
Line 309... | Line 347... | ||
309 | err_message_found_lib1 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
347 | err_message_found_lib1 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
310 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
348 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
311 | 349 | ||
312 | else ;èíà÷å àíãëèéñêèé òåêñò |
350 | else ;EN language |
313 | 351 | ||
314 | title db "Formatting Disk Utility", 0 |
352 | title db "Formatting Disk Utility", 0 |
315 | 353 | ||
316 | ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ |
- | |
Line 317... | Line 354... | ||
317 | .1 db 'Full and long disk formatting',0 |
354 | ch_text: |
318 | .2 db 'Create startup disk, write MBR:',0 |
355 | .1 db 'Full and long disk formatting',0 |
319 | 356 | .2 db 'Create startup disk, write MBR:',0 |
|
320 | text: |
357 | |
Line 358... | Line 395... | ||
358 | mov ebx, (Otstup+80+30+delta) * 65536 + 49-6 |
395 | mov ebx, (Otstup+80+30+delta) * 65536 + 49-6 |
359 | mov edx, text.disk |
396 | mov edx, text.disk |
360 | mov esi, 9 |
397 | mov esi, 9 |
361 | mcall 4 |
398 | mcall 4 |
Line 362... | Line 399... | ||
362 | 399 | ||
363 | mov ebx, Otstup * 65536 + (151-6+dy) |
400 | ; mov ebx, Otstup * 65536 + (151-6+dy) |
364 | mov edx, text.option |
401 | ; mov edx, text.option |
- | 402 | ; mov esi, 8 |
|
- | 403 | ; mcall 4 |
|
- | 404 | ||
- | 405 | mov ebx, (Otstup+80+30+delta +5) * 65536 + (110+3) |
|
- | 406 | mov dl, byte[kmUnitID] |
|
- | 407 | cmp dl, 0 |
|
- | 408 | jne @f |
|
- | 409 | mov edx, unittext.0 |
|
- | 410 | jmp .printUnit |
|
- | 411 | @@: |
|
- | 412 | cmp dl, 1 |
|
- | 413 | jne @f |
|
- | 414 | mov edx, unittext.1 |
|
- | 415 | jmp .printUnit |
|
- | 416 | @@: |
|
- | 417 | cmp dl, 2 |
|
- | 418 | jne @f |
|
- | 419 | mov edx, unittext.2 |
|
- | 420 | jmp .printUnit |
|
- | 421 | @@: |
|
- | 422 | cmp dl, 3 |
|
- | 423 | jne @f |
|
- | 424 | mov edx, unittext.3 |
|
- | 425 | jmp .printUnit |
|
- | 426 | @@: |
|
- | 427 | cmp dl, 4 |
|
- | 428 | jne @f |
|
- | 429 | mov edx, unittext.4 |
|
- | 430 | jmp .printUnit |
|
- | 431 | @@: |
|
- | 432 | cmp dl, 5 |
|
- | 433 | jne @f |
|
- | 434 | mov edx, unittext.5 |
|
- | 435 | jmp .printUnit |
|
- | 436 | @@: |
|
- | 437 | cmp dl, 6 |
|
- | 438 | jne @f |
|
- | 439 | mov edx, unittext.6 |
|
- | 440 | jmp .printUnit |
|
- | 441 | @@: |
|
- | 442 | cmp dl, 7 |
|
- | 443 | jne @f |
|
- | 444 | mov edx, unittext.7 |
|
- | 445 | jmp .printUnit |
|
- | 446 | @@: |
|
- | 447 | mov byte[kmUnitID], 0 |
|
- | 448 | mov edx, unittext.0 |
|
365 | mov esi, 8 |
449 | .printUnit: |
Line 366... | Line 450... | ||
366 | mcall 4 |
450 | mcall 4 |
367 | 451 | ||
368 | mov ebx, (Otstup+5) * 65536 + (110+3) |
452 | mov ebx, (Otstup+5) * 65536 + (110+3) |
Line 414... | Line 498... | ||
414 | mcall 4 |
498 | mcall 4 |
Line 415... | Line 499... | ||
415 | 499 | ||
416 | pop esi edi edx ecx ebx eax |
500 | pop esi edi edx ecx ebx eax |
Line -... | Line 501... | ||
- | 501 | ret |
|
- | 502 | ||
- | 503 | unittext: |
|
- | 504 | .0 db '512 bytes', 0 |
|
- | 505 | .1 db '1024 bytes', 0 |
|
- | 506 | .2 db '2048 bytes', 0 |
|
- | 507 | .3 db '4096 bytes', 0 |
|
- | 508 | .4 db '8192 bytes', 0 |
|
- | 509 | .5 db '16 Kb', 0 |
|
- | 510 | .6 db '32 Kb', 0 |
|
417 | ret |
511 | .7 db '64 Kb', 0 |
418 | 512 | ||
419 | Buf: |
513 | Buf: |
420 | .1 db 'NONAME18',0,0 |
514 | .1 db 'NONAME18',0,0 |
421 | .2 db 'FAT',0,0 ;100 dup(0) |
515 | ;.2 db 'FAT',0,0 ;100 dup(0) |
422 | .3 db 'hd0 [FAT32: 4Gb]',0,0 ;100 dup(0) |
516 | .3 db 'hd0 [FAT32: 4Gb]',0,0 ;100 dup(0) |
423 | .4 db '4096',0,0 ;100 dup(0) |
- | |
424 | .5 db '/rd/1/format/fat32mbr.bin', 0, 0 |
- | |
Line -... | Line 517... | ||
- | 517 | ;.4 db '4096',0,0 ;100 dup(0) |
|
- | 518 | .5 rb 512 ;db '/rd/1/format/fat32mbr.bin', 0, 0 |
|
- | 519 | ||
- | 520 | initBuf: |
|
- | 521 | push eax ecx |
|
- | 522 | ;buf.1 - label |
|
- | 523 | mov dword[Buf.1], 'NONA' |
|
- | 524 | mov dword[Buf.1+4], 'ME18' |
|
- | 525 | mov word[Buf.1+8], 0 |
|
- | 526 | ||
- | 527 | ;buf.5 - full name for file mbr |
|
- | 528 | mov eax, Buf.5 |
|
- | 529 | mov ecx, 512/4 |
|
- | 530 | @@: |
|
- | 531 | mov dword[eax], 4 |
|
- | 532 | add eax, 4 |
|
- | 533 | dec ecx |
|
- | 534 | cmp ecx, 0 |
|
Line 425... | Line 535... | ||
425 | rb 256 |
535 | je @f |
426 | 536 | jmp @b |
|
Line 427... | Line -... | ||
427 | - | ||
Line 428... | Line -... | ||
428 | - | ||
429 | align 16 |
- | |
430 | @IMPORT: |
- | |
431 | - | ||
432 | library box_lib, 'box_lib.obj' |
- | |
433 | - | ||
434 | import box_lib,\ |
- | |
435 | edit_box_draw, 'edit_box',\ |
- | |
436 | edit_box_key, 'edit_box_key',\ |
- | |
Line 437... | Line 537... | ||
437 | edit_box_mouse, 'edit_box_mouse',\ |
537 | @@: |
438 | init_checkbox, 'init_checkbox2',\ |
538 | |
439 | check_box_draw, 'check_box_draw2',\ |
539 | pop ecx eax |
440 | check_box_mouse, 'check_box_mouse2',\ |
540 | ret |
441 | option_box_draw, 'option_box_draw',\ |
541 | |
442 | option_box_mouse, 'option_box_mouse' |
542 | |
443 | 543 | ||
444 | copyPath: |
544 | copyPath: |
Line 455... | Line 555... | ||
455 | inc ebx |
555 | inc ebx |
456 | inc ecx |
556 | inc ecx |
457 | jmp @b |
557 | jmp @b |
458 | @@: |
558 | @@: |
459 | mov byte[ebx], 0 |
559 | mov byte[ebx], 0 |
460 | ;mov dword[Buf.size5], ecx |
- | |
461 | mov dword[editMBR.size], ecx |
560 | mov dword[editMBR.size], ecx |
462 | mov dword[editMBR.pos], ecx |
561 | mov dword[editMBR.pos], ecx |
463 | pop edx ecx ebx eax |
562 | pop edx ecx ebx eax |
464 | ret |
563 | ret |
Line 517... | Line 616... | ||
517 | ;db 'BIN',0 |
616 | ;db 'BIN',0 |
518 | .end: |
617 | .end: |
519 | db 0 |
618 | db 0 |
Line -... | Line 619... | ||
- | 619 | ||
- | 620 | ||
- | 621 | align 16 |
|
- | 622 | @IMPORT: |
|
- | 623 | library box_lib, 'box_lib.obj' |
|
- | 624 | ||
- | 625 | import box_lib,\ |
|
- | 626 | edit_box_draw, 'edit_box',\ |
|
- | 627 | edit_box_key, 'edit_box_key',\ |
|
- | 628 | edit_box_mouse, 'edit_box_mouse',\ |
|
- | 629 | init_checkbox, 'init_checkbox2',\ |
|
520 | 630 | check_box_draw, 'check_box_draw2',\ |
|
- | 631 | check_box_mouse, 'check_box_mouse2',\ |
|
- | 632 | option_box_draw, 'option_box_draw',\ |
|
- | 633 | option_box_mouse, 'option_box_mouse',\ |
|
521 | 634 | frame_draw, 'frame_draw' |
|
522 | ;îïèñàíèå ýêñïîðòèðóåìûõ ôóíêöèé |
635 | |
523 | align 4 |
636 | align 4 |
524 | import_libkmenu: |
637 | import_libkmenu: |
525 | kmenu_init dd akmenu_init |
638 | kmenu_init dd akmenu_init |
Line 554... | Line 667... | ||
554 | 667 | ||
555 | system_dir0 db '/sys/lib/' |
668 | system_dir0 db '/sys/lib/' |
556 | lib0_name db 'proc_lib.obj',0 |
669 | lib0_name db 'proc_lib.obj',0 |
Line -... | Line 670... | ||
- | 670 | lib1_name db 'kmenu.obj',0 |
|
- | 671 | ||
- | 672 | ||
- | 673 | frame_data: |
|
- | 674 | .type dd 0 ;+0 |
|
- | 675 | .x: |
|
- | 676 | .x_size dw 290+delta-2*(Otstup-10) ;+4 |
|
- | 677 | .x_start dw Otstup-10 ;+6 |
|
- | 678 | .y: |
|
- | 679 | .y_size dw 80+20 ;+8 |
|
- | 680 | .y_start dw 151-6+dy ;+10 |
|
- | 681 | .ext_fr_col dd 0x888888 ;+12 |
|
- | 682 | .int_fr_col dd 0xffffff ;+16 |
|
- | 683 | .draw_text_flag dd 1 ;+20 |
|
- | 684 | .text_pointer dd text.option ;+24 |
|
- | 685 | .text_position dd 0 ;+28 |
|
- | 686 | .font_number dd 1;0 ;+32 |
|
- | 687 | .font_size_y dd 9 ;+36 |
|
- | 688 | .font_color dd 0x000000 ;+40 |
|
- | 689 | .font_backgr_color dd 0xFFFFFF ;dddddd ;+44 |
|
- | 690 | ||
- | 691 | frame_data2: |
|
- | 692 | .type dd 0 |
|
- | 693 | .x: |
|
- | 694 | .x_size dw 290+delta-2*(Otstup-10) |
|
- | 695 | .x_start dw Otstup-10 |
|
- | 696 | .y: |
|
- | 697 | .y_size dw 110 |
|
- | 698 | .y_start dw Otstup+5 |
|
- | 699 | .ext_fr_col dd 0x888888 |
|
- | 700 | .int_fr_col dd 0xffffff |
|
- | 701 | .draw_text_flag dd 0;1 |
|
- | 702 | .text_pointer dd 0 ;text.option |
|
- | 703 | .text_position dd 0 |
|
- | 704 | .font_number dd 0 |
|
- | 705 | .font_size_y dd 9 |
|
- | 706 | .font_color dd 0x0 |
|
557 | lib1_name db 'kmenu.obj',0 |
707 | .font_backgr_color dd 0xdddddd |
Line 558... | Line 708... | ||
558 | 708 | ||
559 | ;symbolDownArrow db 25,0 |
709 | ;symbolDownArrow db 25,0 |
560 | 710 | ||
Line 574... | Line 724... | ||
574 | lib1 l_libs lib1_name, sys_path, file_name, system_dir0, err_message_found_lib1, head_f_l, import_libkmenu,err_message_import1,head_f_i |
724 | lib1 l_libs lib1_name, sys_path, file_name, system_dir0, err_message_found_lib1, head_f_l, import_libkmenu,err_message_import1,head_f_i |
575 | load_lib_end: |
725 | load_lib_end: |
Line 576... | Line 726... | ||
576 | 726 | ||
577 | ;ðàçìåðû: 80 è 120 |
727 | ;ðàçìåðû: 80 è 120 |
578 | editLU edit_box 120,Otstup,60,0xffffff,0x6a9480,0,0xAABBCC,0,8,Buf.1, mouse_dd, 0,8,8 |
- | |
579 | ;editLD edit_box 120,Otstup,110,0xffffff,0x6a9480,0,0xAABBCC,0,3,Buf.2, mouse_dd, 0,3,3 |
728 | editLU edit_box 120,Otstup,60,0xffffff,0x6a9480,0,0xAABBCC,0,8,Buf.1, mouse_dd, 0,8,8 |
580 | editRU edit_box 120,Otstup+80+30+delta,60,0xffffff,0x6a9480,0,0xAABBCC,0,16,Buf.3, mouse_dd, 0,16,16 |
- | |
581 | editRD edit_box 120,Otstup+80+30+delta,110,0xffffff,0x6a9480,0,0xAABBCC,0,4,Buf.4, mouse_dd, 0,4,4 |
729 | editRU edit_box 120,Otstup+80+30+delta,60,0xffffff,0x6a9480,0,0xAABBCC,0,16,Buf.3, mouse_dd, 0,16,16 |
Line 582... | Line 730... | ||
582 | editMBR edit_box 290+delta-Otstup-52-Otstup-20,Otstup+20,210+dy,0xffffff,0x6a9480,0,0xAABBCC,0,255,Buf.5, mouse_dd, 0,25,25 |
730 | editMBR edit_box 290+delta-Otstup-52-Otstup-20,Otstup+20,210+dy,0xffffff,0x6a9480,0,0xAABBCC,0,255,Buf.5, mouse_dd, 0,0,0 ;25,25 |
Line 583... | Line 731... | ||
583 | 731 | ||
584 | data_of_code dd 0 |
732 | data_of_code dd 0 |
Line 585... | Line 733... | ||
585 | 733 | ||
586 | sc system_colors |
734 | sc system_colors |
587 | mouse_dd rd 1 |
735 | mouse_dd rd 1 |
Line -... | Line 736... | ||
- | 736 | ||
- | 737 | coord: |
|
- | 738 | .x: rw 1 |
|
- | 739 | .y: rw 1 |
|
- | 740 | ||
- | 741 | coordUnit: |
|
- | 742 | .x: rw 1 |
|
588 | 743 | .y: rw 1 |
|
589 | coord: |
744 | |
590 | .x: rw 1 |
745 | kmUnitID: rd 1 |
Line 591... | Line 746... | ||
591 | .y: rw 1 |
746 | kmUnit: rd 1 |
Line 602... | Line 757... | ||
602 | rb 1024 |
757 | rb 1024 |
603 | procinfo process_information |
758 | procinfo process_information |
604 | pi rb 1024 |
759 | pi rb 1024 |
Line 605... | Line 760... | ||
605 | 760 | ||
606 | I_END: |
761 | I_END: |
- | 762 | rb 256 |
|
607 | rb 256 ;4096 |
763 | align 4 |
608 | STACKTOP: |
764 | STACKTOP: |