Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 141 → Rev 142

/programs/system/launcher/trunk/launcher.asm
28,7 → 28,7
 
mcall 18,15
 
mov eax, 58 ; load AUTORUN.DAT
mov eax, 70 ; load AUTORUN.DAT
mov ebx, autorun_dat_info
int 0x40
 
59,7 → 59,7
 
run_program: ; time to delay in eax
push eax
mcall 58, start_info
mcall 70, start_info
pop ebx
 
mov eax, 5
77,7 → 77,6
 
mov ecx, 60
mov edi, parameters
xor al, al
rep stosb
 
popad
112,13 → 111,11
xor ebx, ebx
.start:
lodsb
cmp al, '0'
jb .finish
cmp al, '9'
sub al, '0'
cmp al, 9
ja .finish
sub al, '0'
imul ebx, 10
add ebx, eax
lea ebx,[ebx*4+ebx]
lea ebx,[ebx*2+eax]
inc [position]
jmp .start
.finish:
180,17 → 177,17
autorun_dat_info: ; AUTORUN.DAT
.mode dd 0 ; read file
.start_block dd 0 ; block to read
.blocks dd 0x10 ; 16*512 bytes max
dd 0
.blocks dd 16*512 ; 16*512 bytes max
.address dd file_data
.workarea dd work_area
db "/RD/1/AUTORUN.DAT",0
 
start_info:
.mode dd 16
.mode dd 7
dd 0
.params dd parameters
dd 0
.workarea dd work_area
dd 0
.path: ;      
 
I_END:
200,5 → 197,4
 
number_of_files dd ?
 
work_area rb 0x4000
file_data rb 16*512
/programs/system/rb/trunk/@RB.ASM
13,10 → 13,6
meos_app_start
code
 
mov [start_info.mode], 16
mov [start_info.params], 0
mov [start_info.workarea], work_area
 
mov eax,40 ; ãáâ ­®¢¨¬ ¬ áªã ᮡë⨩
mov ebx,100000b ; ­ á ¨­â¥à¥áã¥â ⮫쪮 ¬ëèì
int 0x40
26,9 → 22,6
mov eax,10 ; ¦¤ñ¬ ᮡëâ¨ï
int 0x40
 
cmp eax,6 ; ¬ëèì?
jne still
 
mov eax,37 ; ª ª¨¥ ­ ¦ âë ª¯®¯ª¨?
mov ebx,2
int 0x40
141,12 → 134,13
; §¤¥áì áâ àâã¥â ¯à®æ¥áá ¬¥­î
start_wnd:
mov [menu_opened],1
call draw_window
 
mov eax,40 ; ãáâ ­®¢¨¬ ¬ áªã ¦¥« ¥¬ëå ᮡë⨩ ¤«ï í⮣® ¯à®æ¥áá 
mov ebx,100101b ; ¬¥­î + ª­®¯ª¨ + ¯¥à¥à¨á®¢ª 
int 0x40
 
red:
call draw_window
 
still2: ; £« ¢­ë© 横« ¯à®æ¥áá  ¬¥­î
 
mov eax,10 ; ¦¤ñ¬ ᮡëâ¨ï
172,25 → 166,17
jmp exit_menu ;   ¥á«¨ ¢áñ-â ª¨ ­ ¦ âë - § ªà®¥¬ ®ª­®
 
 
; ……ˆ‘Ž‚€’œ ŽŠŽ
red:
call draw_window
jmp still2
 
 
; €†€’€ ŠŽŠ€
button:
mov eax,17 ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
int 0x40
 
cmp ah,10 ; áà ¢­¨¢ ¥¬ á 10
sub ah,10 ; áà ¢­¨¢ ¥¬ á 10
jl nofuncbtns ; ¥á«¨ ¬¥­ìè¥ - § ªà뢠¥¬ ¬¥­î
 
add ah,-10 ; ¢ëç⥬ ¨§ ¨¤¥­â¨ä¨ª â®à  ª­®¯ª¨ 10
movzx ebx,ah ; ¯®«ã稫¨ ­®¬¥à ¯à®£à ¬¬ë ¢ ᯨ᪥ ¢ ebx
lea esi, [startapps + ebx*4]
lea edi, [start_info.path]
mov esi, [esi]
mov esi, [startapps + ebx*4]
mov edi, start_info.path
cld
@@:
lodsb
197,7 → 183,7
stosb
test al, al
jnz @b
mcall 58, start_info
mcall 70, start_info
 
; mov eax,5 ; ¯®¤®¦¤ñ¬, ¯®ª  ¯à®£à ¬¬  § ¯ãáâ¨âìáï
; mov ebx,1 ;   â® ¥ñ ®ª­® ­¥ ¡ã¤¥â ®âà¨á®¢ ­® (¡ £ ¢ ï¤à¥???)
279,12 → 265,23
mov eax, 4 ; § £®«®¢®ª
mov ebx, header_pos ; [x] shl 16 + [y]
mov ecx, [sc.grab_text]; èà¨äâ ¨ 梥â (á¥àë©)
add ecx, -0x333333
or ecx, 0x10000000
; add ecx, -0x333333
push ecx
push ecx
xor edx,edx
.dec_color:
sub byte [esp+edx], 0x33
jae @f
mov byte [esp+edx], 0
@@:
inc edx
jnp .dec_color
pop ecx
mov edx, header ;  ¤à¥á § £®«®¢ª 
mov esi, header.size ; ¤«¨­  § £®«®¢ª  ("M E N U")
int 0x40
add ecx, 0x333333 ; 梥⠡¥«ë©
pop ecx
add ebx, 1 shl 16 ; ᤢ¨­¥¬ ¢¯à ¢® ­  1
int 0x40
 
348,7 → 345,7
<"/RD/1/JPEGVIEW",0> ,\
<"/RD/1/CPU",0> ,\
<"/RD/1/SPANEL",0> ,\
<"/RD/1/ICONMNGR",0> ,\
<"/RD/1/ICON2",0> ,\
<"/RD/1/VRR",0>
 
; header: ; § £®«®¢®ª
363,7 → 360,7
; db 'Panel setup '
; db 'Icon manager'
 
sz header, "MenuetOS"
sz header, "KolibriOS"
 
lsz text,\
en, 'Background ',\
384,8 → 381,15
ru, '“¯à ¢«¥­¨¥ ¨ª®­ª ¬¨ ',\
ru, ' áâனª  ¬®­¨â®à  '
 
start_info:
.mode dd 7
dd 0
.params dd 0
dd 0
dd 0
db 0
dd start_info.path
 
 
; …ˆˆ–ˆ€‹ˆ‡ˆŽ‚€›… „€›…
UDATA
processes dd ? ; ª®«¨ç¥á⢮ ¯à®æ¥áᮢ ¢ á¨á⥬¥
396,23 → 400,12
 
menu_opened db ? ; ®âªàëâ® ¬¥­î ¨«¨ ­¥â? (1-¤ , 0-­¥â)
 
align 32
start_info:
.mode dd ?
dd ?
.params dd ?
dd ?
.workarea dd ?
.path:
rb 256
align 4
start_info.path rb 256
 
 
sc system_colors ; á¨á⥬­ë¥ 梥â 
procinfo process_information ; ¨­ä®à¬ æ¨ï ® ¯à®æ¥áá¥
 
work_area:
rb 0x1000
 
rb 1024 ; áâíª ¤«ï ®ª­  ¬¥­î - 墠â¨â ¨ 1 Š¡
align 32
stack_wnd: