cpustring fixed

conf_lib fixed

git-svn-id: svn://kolibrios.org@497 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
SPraid (simba) 2007-05-15 18:05:31 +00:00
parent f7e118aec3
commit 91e30473ed
2 changed files with 100 additions and 34 deletions

View File

@ -20,24 +20,32 @@ proc load_conf_file
endp
proc set_kentel_conf
proc set_kernel_conf
locals
par db 30 dup(?)
endl
pushad
;[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
invoke ini.get_str, ugui, ugui_mouse_speed, eax, ugui_mouse_speed_def
pop eax
stdcall strtoint,eax
push eax
pop edx
call _mouse_speed
popad
ret
;mouse_delay
mov eax,ebp
add eax,par-ebp
push eax
invoke ini.get_str, ugui, ugui_mouse_delay, eax, ugui_mouse_delay_def
pop eax
stdcall strtoint,eax
push eax
pop edx
@ -47,7 +55,9 @@ endl
;sb16
mov eax,ebp
add eax,par-ebp
push eax
invoke ini.get_str, udev, udev_sb16, eax, udev_sb16_def
pop eax
stdcall strtoint,eax
push eax
pop ecx
@ -56,7 +66,9 @@ endl
;sound_dma
mov eax,ebp
add eax,par-ebp
push eax
invoke ini.get_str, udev, udev_sound_dma, eax, udev_sound_dma_def
pop eax
stdcall strtoint,eax
push eax
pop ecx
@ -66,29 +78,34 @@ endl
;midibase
mov eax,ebp
add eax,par-ebp
push eax
invoke ini.get_str, udev, udev_midibase, eax, udev_midibase_def
pop eax
stdcall strtoint,eax
push eax
pop ecx
call _midibase
popad
ret
endp
ugui db 'gui',0
ugui_mouse_speed db 'mouse_speed',0
ugui_mouse_speed_def db '',0
ugui_mouse_speed_def db '2',0
ugui_mouse_delay db 'mouse_delay',0
ugui_mouse_delay_def db '',0
ugui_mouse_delay_def db '0x00A',0
udev db 'dev',0
udev_sb16 db 'sb16',0
udev_sb16_def db '',0
udev_sb16_def db '0x220',0
udev_sound_dma db 'sound_dma',0
udev_sound_dma_def db '',0
udev_sound_dma_def db '1',0
udev_midibase db 'midibase',0
udev_midibase_def db '',0
udev_midibase_def db '0x320',0
; ª®­¢¥à祭¨¥ áâப¨ ¢ DWord ¢ eax (¯® ¢â®à®¬ã ᨬ¢®«ã ®¯à¥¤¥«ï¥â á¨á⥬ã áç¨á«¥­¨ï)
proc strtoint stdcall,strs
pushad
@ -108,7 +125,7 @@ proc strtoint stdcall,strs
dec eax
stdcall strtoint_dec,eax
.exit:
mov [esi+28],eax
mov [esp+28],eax
popad
ret
endp
@ -116,26 +133,52 @@ endp
; ª®­¢¥à祭¨¥ áâப¨ ¢ DWord ¢ eax ¤«ï ¤¥áïâ¨ç­®£®
proc strtoint_dec stdcall,strs
pushad
xor edx,edx
; ¯®¨áª ª®­æ 
mov esi,[strs]
@@:
lodsb
or al,al
jnz @b
mov ebx,esi
mov esi,[strs]
dec ebx
sub ebx,esi
mov ecx,1
@@:
dec ebx
or ebx,ebx
jz @f
imul ecx,ecx,10 ; ¯®à冷ª
jmp @b
@@:
xchg ebx,ecx
xor ecx,ecx
mov ebx,1 ; ¯®à冷ª
mov esi,[strs]
@@:
xor eax,eax
lodsb
cmp al,0
je .end
je .eend
sub al,30h
imul ebx
add ecx,eax
imul ebx,ebx,10
push ecx
xchg eax,ebx
mov ecx,10
div ecx
xchg eax,ebx
pop ecx
jmp @b
.end:
mov [esi+28],ecx
.eend:
mov [esp+28],ecx
popad
ret
endp
@ -143,45 +186,56 @@ endp
; ª®­¢¥à祭¨¥ áâப¨ ¢ DWord ¢ eax ¤«ï è¥á­ ¤æ â¨à¨ç­®£®
proc strtoint_hex stdcall,strs
pushad
xor edx,edx
mov esi,[strs]
mov ebx,1
add esi,1
@@:
lodsb
or al,al
jz @f
shl ebx,4
jmp @b
@@:
xor ecx,ecx
mov ebx,1 ; ¯®à冷ª
mov esi,[strs]
@@:
xor eax,eax
lodsb
cmp al,0
je .end
je .eend
cmp al,'a'
jae .bm
cmp al,'A'
jae .bb
jmp .cc
.bm: ; 57h
.bm: ; 57h
sub al,57h
jmp .do
.bb: ; 37h
.bb: ; 37h
sub al,37h
jmp .do
.cc: ; 30h
.cc: ; 30h
sub al,30h
.do:
imul ebx
add ecx,eax
imul ebx,ebx,16
shr ebx,4
jmp @b
.end:
mov [esi+28],ecx
.eend:
mov [esp+28],ecx
popad
ret
endp
endp
; ãáâ ­®¢ª¨ ¨§ setup

View File

@ -542,7 +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
call set_kentel_conf ; configure devices and gui
no_lib_load:
; LOAD FONTS I and II
@ -3441,11 +3441,23 @@ checkmisc:
cmp [ctrl_alt_del], 1
jne nocpustart
mov ebp, cpustring
lea esi,[ebp+6]
xor ebx,ebx ; no parameters
xor edx,edx ; no flags
call fs_RamdiskExecute.flags
stdcall kernel_alloc, 0x100
push eax
mov ebx,eax
stdcall full_file_name,cpustring,eax
mov ebp, eax
xor ebx, ebx
xor edx, edx
call fs_execute
pop ebx
push eax
stdcall kernel_free, ebx
pop eax
mov [ctrl_alt_del], 0
nocpustart: