Subversion Repositories Kolibri OS

Rev

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: