Subversion Repositories Kolibri OS

Rev

Rev 109 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 109 Rev 142
Line 11... Line 11...
11
include 'macros.inc'
11
include 'macros.inc'
Line 12... Line 12...
12
 
12
 
13
meos_app_start
13
meos_app_start
Line 14... Line -...
14
code
-
 
15
 
-
 
16
  mov   [start_info.mode], 16
-
 
17
  mov   [start_info.params], 0
-
 
18
  mov   [start_info.workarea], work_area
14
code
19
 
15
 
20
  mov   eax,40       ; ãáâ ­®¢¨¬ ¬ áªã ᮡë⨩
16
  mov   eax,40       ; ãáâ ­®¢¨¬ ¬ áªã ᮡë⨩
Line 21... Line 17...
21
  mov   ebx,100000b  ; ­ á ¨­â¥à¥áã¥â ⮫쪮 ¬ëèì
17
  mov   ebx,100000b  ; ­ á ¨­â¥à¥áã¥â ⮫쪮 ¬ëèì
Line 22... Line 18...
22
  int   0x40
18
  int   0x40
23
 
19
 
Line 24... Line -...
24
still:               ; £« ¢­ë© 横« ®á­®¢­®£® ¯à®æ¥áá 
-
 
25
 
-
 
26
  mov   eax,10       ; ¦¤ñ¬ ᮡëâ¨ï
-
 
27
  int   0x40
20
still:               ; £« ¢­ë© 横« ®á­®¢­®£® ¯à®æ¥áá 
28
 
21
 
29
  cmp   eax,6        ; ¬ëèì?
22
  mov   eax,10       ; ¦¤ñ¬ ᮡëâ¨ï
Line 30... Line 23...
30
  jne   still
23
  int   0x40
Line 139... Line 132...
139
 
132
 
140
 
133
 
141
; §¤¥áì áâ àâã¥â ¯à®æ¥áá ¬¥­î
134
; §¤¥áì áâ àâã¥â ¯à®æ¥áá ¬¥­î
142
start_wnd:
-
 
143
  mov   [menu_opened],1
-
 
144
  call  draw_window
135
start_wnd:
145
 
136
  mov   [menu_opened],1
146
  mov   eax,40      ; ãáâ ­®¢¨¬ ¬ áªã ¦¥« ¥¬ëå ᮡë⨩ ¤«ï í⮣® ¯à®æ¥áá 
137
  mov   eax,40      ; ãáâ ­®¢¨¬ ¬ áªã ¦¥« ¥¬ëå ᮡë⨩ ¤«ï í⮣® ¯à®æ¥áá 
Line -... Line 138...
-
 
138
  mov   ebx,100101b ; ¬¥­î + ª­®¯ª¨ + ¯¥à¥à¨á®¢ª 
-
 
139
  int   0x40
-
 
140
 
147
  mov   ebx,100101b ; ¬¥­î + ª­®¯ª¨ + ¯¥à¥à¨á®¢ª 
141
red:
Line 148... Line 142...
148
  int   0x40
142
  call  draw_window
149
 
143
 
Line 170... Line 164...
170
  test  eax,eax   ; ­¨ª ª¨¥? - ⮣¤  ¯à¥ªà á­®! ¢¥à­ñ¬áï ¢ £« ­ë© 横«
164
  test  eax,eax   ; ­¨ª ª¨¥? - ⮣¤  ¯à¥ªà á­®! ¢¥à­ñ¬áï ¢ £« ­ë© 横«
171
  jz    still2
165
  jz    still2
172
  jmp   exit_menu ;   ¥á«¨ ¢áñ-â ª¨ ­ ¦ âë - § ªà®¥¬ ®ª­®
166
  jmp   exit_menu ;   ¥á«¨ ¢áñ-â ª¨ ­ ¦ âë - § ªà®¥¬ ®ª­®
Line 173... Line -...
173
 
-
 
174
 
-
 
175
; ……ˆ‘Ž‚€’œ ŽŠŽ
-
 
176
red:
-
 
177
  call  draw_window
-
 
178
  jmp   still2
-
 
179
 
167
 
180
 
168
 
181
; €†€’€ ŠŽŠ€
169
; €†€’€ ŠŽŠ€
182
button:
170
button:
Line 183... Line 171...
183
  mov   eax,17        ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
171
  mov   eax,17        ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
184
  int   0x40
172
  int   0x40
Line 185... Line -...
185
 
-
 
186
  cmp   ah,10         ; áà ¢­¨¢ ¥¬ á 10
173
 
187
  jl    nofuncbtns    ; ¥á«¨ ¬¥­ìè¥ - § ªà뢠¥¬ ¬¥­î
174
  sub   ah,10         ; áà ¢­¨¢ ¥¬ á 10
188
 
175
  jl    nofuncbtns    ; ¥á«¨ ¬¥­ìè¥ - § ªà뢠¥¬ ¬¥­î
189
  add   ah,-10        ; ¢ëç⥬ ¨§ ¨¤¥­â¨ä¨ª â®à  ª­®¯ª¨ 10
-
 
190
  movzx ebx,ah        ; ¯®«ã稫¨ ­®¬¥à ¯à®£à ¬¬ë ¢ ᯨ᪥ ¢ ebx
176
 
191
  lea   esi, [startapps + ebx*4]
177
  movzx ebx,ah        ; ¯®«ã稫¨ ­®¬¥à ¯à®£à ¬¬ë ¢ ᯨ᪥ ¢ ebx
192
  lea   edi, [start_info.path]
178
  mov   esi, [startapps + ebx*4]
193
  mov   esi, [esi]
179
  mov   edi, start_info.path
194
  cld
180
  cld
195
 @@:
181
 @@:
196
  lodsb
182
  lodsb
Line 197... Line 183...
197
  stosb
183
  stosb
198
  test  al, al
184
  test  al, al
199
  jnz   @b
185
  jnz   @b
200
  mcall 58, start_info
186
  mcall 70, start_info
Line 277... Line 263...
277
  int   0x40
263
  int   0x40
Line 278... Line 264...
278
 
264
 
279
  mov   eax, 4             ; § £®«®¢®ª
265
  mov   eax, 4             ; § £®«®¢®ª
280
  mov   ebx, header_pos    ;  [x] shl 16 + [y]
266
  mov   ebx, header_pos    ;  [x] shl 16 + [y]
281
  mov   ecx, [sc.grab_text];  èà¨äâ ¨ 梥â (á¥àë©)
-
 
282
  add   ecx, -0x333333
267
  mov   ecx, [sc.grab_text];  èà¨äâ ¨ 梥â (á¥àë©)
-
 
268
  or    ecx, 0x10000000
-
 
269
;  add   ecx, -0x333333
-
 
270
  push  ecx
-
 
271
  push  ecx
-
 
272
  xor   edx,edx
-
 
273
.dec_color:
-
 
274
  sub   byte [esp+edx], 0x33
-
 
275
  jae   @f
-
 
276
  mov   byte [esp+edx], 0
-
 
277
@@:
-
 
278
  inc   edx
-
 
279
  jnp   .dec_color
283
  or    ecx, 0x10000000
280
  pop   ecx
284
  mov   edx, header        ;   ¤à¥á § £®«®¢ª 
281
  mov   edx, header        ;   ¤à¥á § £®«®¢ª 
285
  mov   esi, header.size   ;  ¤«¨­  § £®«®¢ª  ("M E N U")
282
  mov   esi, header.size   ;  ¤«¨­  § £®«®¢ª  ("M E N U")
286
  int   0x40
283
  int   0x40
287
  add   ecx, 0x333333      ;  梥⠡¥«ë©
284
  pop   ecx
288
  add   ebx, 1 shl 16      ;  ᤢ¨­¥¬ ¢¯à ¢® ­  1
285
  add   ebx, 1 shl 16      ;  ᤢ¨­¥¬ ¢¯à ¢® ­  1
Line 289... Line 286...
289
  int   0x40
286
  int   0x40
290
 
287
 
Line 346... Line 343...
346
    <"/RD/1/DESKTOP",0>  ,\
343
    <"/RD/1/DESKTOP",0>  ,\
347
    <"/RD/1/MV",0>       ,\
344
    <"/RD/1/MV",0>       ,\
348
    <"/RD/1/JPEGVIEW",0> ,\
345
    <"/RD/1/JPEGVIEW",0> ,\
349
    <"/RD/1/CPU",0>      ,\
346
    <"/RD/1/CPU",0>      ,\
350
    <"/RD/1/SPANEL",0>   ,\
347
    <"/RD/1/SPANEL",0>   ,\
351
    <"/RD/1/ICONMNGR",0> ,\
348
    <"/RD/1/ICON2",0> ,\
352
    <"/RD/1/VRR",0>
349
    <"/RD/1/VRR",0>
Line 353... Line 350...
353
 
350
 
354
;  header:            ; § £®«®¢®ª
351
;  header:            ; § £®«®¢®ª
355
;    db 'M E N U'
352
;    db 'M E N U'
Line 361... Line 358...
361
;    db 'MeView      '
358
;    db 'MeView      '
362
;    db 'Processes   '
359
;    db 'Processes   '
363
;    db 'Panel setup '
360
;    db 'Panel setup '
364
;    db 'Icon manager'
361
;    db 'Icon manager'
Line 365... Line 362...
365
 
362
 
Line 366... Line 363...
366
  sz header, "MenuetOS"
363
  sz header, "KolibriOS"
367
 
364
 
368
  lsz text,\
365
  lsz text,\
369
    en, 'Background  ',\
366
    en, 'Background  ',\
Line 382... Line 379...
382
    ru, 'à®æ¥ááë            ',\
379
    ru, 'à®æ¥ááë            ',\
383
    ru, ' áâனª  ¯ ­¥«¨    ',\
380
    ru, ' áâனª  ¯ ­¥«¨    ',\
384
    ru, '“¯à ¢«¥­¨¥ ¨ª®­ª ¬¨ ',\
381
    ru, '“¯à ¢«¥­¨¥ ¨ª®­ª ¬¨ ',\
385
    ru, ' áâனª  ¬®­¨â®à   '
382
    ru, ' áâனª  ¬®­¨â®à   '
Line 386... Line 383...
386
 
383
 
-
 
384
start_info:
-
 
385
        .mode   dd      7
-
 
386
                dd      0
-
 
387
        .params dd      0
-
 
388
                dd      0
-
 
389
                dd      0
-
 
390
                db      0
Line 387... Line 391...
387
 
391
                dd      start_info.path
388
 
392
 
389
; …ˆˆ–ˆ€‹ˆ‡ˆŽ‚€›… „€›…
393
; …ˆˆ–ˆ€‹ˆ‡ˆŽ‚€›… „€›…
390
UDATA
394
UDATA
Line 394... Line 398...
394
  curx        dd ?              ; ª®®à¤¨­ âë ®ª­  ¬¥­î
398
  curx        dd ?              ; ª®®à¤¨­ âë ®ª­  ¬¥­î
395
  cury        dd ?
399
  cury        dd ?
Line 396... Line 400...
396
 
400
 
Line 397... Line 401...
397
  menu_opened db ?              ; ®âªàëâ® ¬¥­î ¨«¨ ­¥â? (1-¤ , 0-­¥â)
401
  menu_opened db ?              ; ®âªàëâ® ¬¥­î ¨«¨ ­¥â? (1-¤ , 0-­¥â)
398
 
402
 
399
  align 32
-
 
400
  start_info:
-
 
401
    .mode        dd ?
-
 
402
                 dd ?
-
 
403
    .params      dd ?
-
 
404
                 dd ?
-
 
405
    .workarea    dd ?
-
 
406
    .path:
-
 
Line 407... Line 403...
407
      rb 256
403
align 4
408
 
404
start_info.path rb 256
Line 409... Line -...
409
 
-
 
410
  sc       system_colors        ; á¨á⥬­ë¥ 梥â 
-
 
411
  procinfo process_information  ; ¨­ä®à¬ æ¨ï ® ¯à®æ¥áá¥
-
 
412
 
405
 
413
  work_area:
406
  sc       system_colors        ; á¨á⥬­ë¥ 梥â 
414
    rb 0x1000
407
  procinfo process_information  ; ¨­ä®à¬ æ¨ï ® ¯à®æ¥áá¥