forked from KolibriOS/kolibrios
@Panel: do not kill self and icon
Kernel: stage one of use dev config git-svn-id: svn://kolibrios.org@494 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ed1742523e
commit
ba74e7f00f
@ -17,4 +17,204 @@ proc load_conf_file
|
||||
popad
|
||||
ret
|
||||
.fname db '%sys%/sys.conf',0
|
||||
endp
|
||||
endp
|
||||
|
||||
|
||||
proc set_kentel_conf
|
||||
locals
|
||||
par db 30 dup(?)
|
||||
endl
|
||||
;[gui]
|
||||
;mouse_speed
|
||||
mov eax,ebp
|
||||
add eax,par-ebp
|
||||
invoke ini.get_str, ugui, ugui_mouse_speed, eax, ugui_mouse_speed_def
|
||||
stdcall strtoint,eax
|
||||
push eax
|
||||
pop edx
|
||||
call _mouse_speed
|
||||
|
||||
;mouse_delay
|
||||
mov eax,ebp
|
||||
add eax,par-ebp
|
||||
invoke ini.get_str, ugui, ugui_mouse_delay, eax, ugui_mouse_delay_def
|
||||
stdcall strtoint,eax
|
||||
push eax
|
||||
pop edx
|
||||
call _mouse_delay
|
||||
|
||||
;[dev]
|
||||
;sb16
|
||||
mov eax,ebp
|
||||
add eax,par-ebp
|
||||
invoke ini.get_str, udev, udev_sb16, eax, udev_sb16_def
|
||||
stdcall strtoint,eax
|
||||
push eax
|
||||
pop ecx
|
||||
call _sb16
|
||||
|
||||
;sound_dma
|
||||
mov eax,ebp
|
||||
add eax,par-ebp
|
||||
invoke ini.get_str, udev, udev_sound_dma, eax, udev_sound_dma_def
|
||||
stdcall strtoint,eax
|
||||
push eax
|
||||
pop ecx
|
||||
call _sound_dma
|
||||
|
||||
|
||||
;midibase
|
||||
mov eax,ebp
|
||||
add eax,par-ebp
|
||||
invoke ini.get_str, udev, udev_midibase, eax, udev_midibase_def
|
||||
stdcall strtoint,eax
|
||||
push eax
|
||||
pop ecx
|
||||
call _midibase
|
||||
|
||||
endp
|
||||
|
||||
ugui db 'gui',0
|
||||
ugui_mouse_speed db 'mouse_speed',0
|
||||
ugui_mouse_speed_def db '',0
|
||||
ugui_mouse_delay db 'mouse_delay',0
|
||||
ugui_mouse_delay_def db '',0
|
||||
|
||||
udev db 'dev',0
|
||||
udev_sb16 db 'sb16',0
|
||||
udev_sb16_def db '',0
|
||||
udev_sound_dma db 'sound_dma',0
|
||||
udev_sound_dma_def db '',0
|
||||
udev_midibase db 'midibase',0
|
||||
udev_midibase_def db '',0
|
||||
|
||||
; ª®¢¥à票¥ áâப¨ ¢ DWord ¢ eax (¯® ¢â®à®¬ã ᨬ¢®«ã ®¯à¥¤¥«ï¥â á¨á⥬ã áç¨á«¥¨ï)
|
||||
proc strtoint stdcall,strs
|
||||
pushad
|
||||
|
||||
mov eax,[strs]
|
||||
inc eax
|
||||
mov bl,[eax]
|
||||
cmp bl,'x'
|
||||
je .hex
|
||||
cmp bl,'X'
|
||||
je .hex
|
||||
jmp .dec
|
||||
.hex:
|
||||
inc eax
|
||||
stdcall strtoint_hex,eax
|
||||
jmp .exit
|
||||
.dec:
|
||||
dec eax
|
||||
stdcall strtoint_dec,eax
|
||||
.exit:
|
||||
mov [esi+28],eax
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
; ª®¢¥à票¥ áâப¨ ¢ DWord ¢ eax ¤«ï ¤¥áïâ¨ç®£®
|
||||
proc strtoint_dec stdcall,strs
|
||||
pushad
|
||||
|
||||
xor ecx,ecx
|
||||
mov ebx,1 ; ¯®à冷ª
|
||||
mov esi,[strs]
|
||||
|
||||
@@:
|
||||
xor eax,eax
|
||||
lodsb
|
||||
cmp al,0
|
||||
je .end
|
||||
|
||||
sub al,30h
|
||||
imul ebx
|
||||
add ecx,eax
|
||||
imul ebx,ebx,10
|
||||
|
||||
jmp @b
|
||||
|
||||
.end:
|
||||
mov [esi+28],ecx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
; ª®¢¥à票¥ áâப¨ ¢ DWord ¢ eax ¤«ï è¥á ¤æ â¨à¨ç®£®
|
||||
proc strtoint_hex stdcall,strs
|
||||
pushad
|
||||
|
||||
xor ecx,ecx
|
||||
mov ebx,1 ; ¯®à冷ª
|
||||
mov esi,[strs]
|
||||
|
||||
@@:
|
||||
xor eax,eax
|
||||
lodsb
|
||||
cmp al,0
|
||||
je .end
|
||||
|
||||
cmp al,'a'
|
||||
jae .bm
|
||||
cmp al,'A'
|
||||
jae .bb
|
||||
jmp .cc
|
||||
.bm: ; 57h
|
||||
sub al,57h
|
||||
jmp .do
|
||||
|
||||
.bb: ; 37h
|
||||
sub al,37h
|
||||
jmp .do
|
||||
|
||||
.cc: ; 30h
|
||||
sub al,30h
|
||||
|
||||
.do:
|
||||
imul ebx
|
||||
add ecx,eax
|
||||
imul ebx,ebx,16
|
||||
|
||||
jmp @b
|
||||
|
||||
.end:
|
||||
mov [esi+28],ecx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
; ãáâ ®¢ª¨ ¨§ setup
|
||||
|
||||
_mouse_speed:
|
||||
mov eax,18
|
||||
mov ebx,19
|
||||
mov ecx,1
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
_mouse_delay:
|
||||
mov eax,18
|
||||
mov ebx,19
|
||||
mov ecx,3
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
_sb16:
|
||||
mov eax,21
|
||||
mov ebx,4
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
_sound_dma:
|
||||
mov eax,21
|
||||
mov ebx,10
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
|
||||
_midibase:
|
||||
mov eax,21
|
||||
mov ebx,1
|
||||
int 0x40
|
||||
ret
|
@ -542,6 +542,7 @@ include 'vmodeld.inc'
|
||||
; LOADING LIBRARES
|
||||
stdcall dll.Load,@IMPORT ; SPraid - çàãðóçêà ôóíêöèîíàëà (ïîêà ÷òî èíè ôàéë)
|
||||
call load_conf_file ; prepare configuration file
|
||||
;call set_kentel_conf ; configure devices and gui
|
||||
no_lib_load:
|
||||
|
||||
; LOAD FONTS I and II
|
||||
|
@ -1,2 +1,14 @@
|
||||
[path]
|
||||
/rd/1=%sys%
|
||||
%sys%/dll=%sys%/lib
|
||||
|
||||
[gui]
|
||||
mouse_speed=2
|
||||
mouse_delay=0x00A
|
||||
|
||||
[dev]
|
||||
sb16=0x220
|
||||
sound_dma=1
|
||||
midibase=0x320
|
||||
|
||||
[end]
|
@ -93,10 +93,33 @@ begin_1:
|
||||
kill_active_application:
|
||||
mcall 18, 7
|
||||
mov ecx,eax
|
||||
; mcall 9, area9
|
||||
; mov eax,area9
|
||||
; mov ecx,[eax+4]
|
||||
|
||||
;//{SPraid.simba do not kill panel and icon
|
||||
push eax
|
||||
mov eax,9
|
||||
mov ebx, process_info_buffer
|
||||
int 0x40
|
||||
mov eax,process_info_buffer
|
||||
add eax,10
|
||||
mov ebx,[eax]
|
||||
cmp ebx,'ICON'
|
||||
je no_kill
|
||||
cmp ebx,'@PAN'
|
||||
jne kill_app
|
||||
add eax,4
|
||||
mov ebx,[eax]
|
||||
and ebx,0x0000FFFF
|
||||
cmp ebx,'EL'
|
||||
je no_kill
|
||||
kill_app:
|
||||
pop ecx
|
||||
mcall 18, 2
|
||||
jmp if_kill
|
||||
no_kill:
|
||||
pop eax
|
||||
if_kill:
|
||||
;// }SPraid.simba
|
||||
|
||||
jmp begin_1.ret
|
||||
|
||||
start_menu_application:
|
||||
@ -2079,11 +2102,11 @@ screen_size:
|
||||
.height dw ?
|
||||
.width dw ?
|
||||
|
||||
area9 rb 100
|
||||
system_colours rd 10
|
||||
app_list rd 50
|
||||
alt_tab_list rd 256*2
|
||||
alt_tab_list_size dd ?
|
||||
process_info_buffer rb 1024
|
||||
tictable:
|
||||
rd 256
|
||||
image:
|
||||
|
Loading…
Reference in New Issue
Block a user