533,6 → 533,8 |
include 'detect/disks.inc' |
;!!!!!!!!!!!!!!!!!!!!!!!!!! |
|
call Parser_params |
|
; READ RAMDISK IMAGE FROM HD |
|
;!!!!!!!!!!!!!!!!!!!!!!! |
549,8 → 551,6 |
include 'vmodeld.inc' |
;!!!!!!!!!!!!!!!!!!!!!!! |
|
call Parser_params |
|
mov ax,[OS_BASE+0x10000+bx_from_load] |
cmp ax,'r1' ; åñëè ñðàì äèñê - òî íå ãðóçèòü áèáëèîòåêè |
je no_lib_load |
689,6 → 689,8 |
mov dword [SLOT_BASE+256+APPDATA.fd_obj], ebx |
mov dword [SLOT_BASE+256+APPDATA.bk_obj], ebx |
|
mov dword [SLOT_BASE+256+APPDATA.cur_dir], sysdir_path |
|
; task list |
mov [CURRENT_TASK],dword 1 |
mov [TASK_COUNT],dword 1 |
774,73 → 776,20 |
; LOAD FIRST APPLICATION |
cli |
|
if 0 |
cmp byte [BOOT_VAR+0x9030],1 |
jne no_load_vrr_m |
|
stdcall kernel_alloc, 0x100 |
push eax |
mov ebx,eax |
stdcall full_file_name,vrr_m,eax |
mov ebp, eax |
mov ebp, vrr_m |
call fs_execute_from_sysdir |
|
xor ebx, ebx |
xor edx, edx |
call fs_execute |
pop ebx |
push eax |
stdcall kernel_free, ebx |
pop eax |
|
cmp eax,2 ; if vrr_m app found (PID=2) |
je first_app_found |
|
no_load_vrr_m: |
|
stdcall kernel_alloc, 0x100 |
push eax |
mov ebx,eax |
stdcall full_file_name,firstapp,eax |
mov ebp, eax |
xor ebx, ebx |
xor edx, edx |
call fs_execute |
pop ebx |
push eax |
stdcall kernel_free, ebx |
pop eax |
cmp eax,2 ; continue if a process has been loaded |
je first_app_found |
mov eax, 0xDEADBEEF ; otherwise halt |
hlt |
mov ebp, firstapp |
call fs_execute_from_sysdir |
|
first_app_found: |
|
else |
sub esp, 0x100 |
|
cmp byte [BOOT_VAR+0x9030],1 |
jne no_load_vrr_m |
|
mov ebp, esp |
stdcall full_file_name,vrr_m,ebp |
|
xor ebx, ebx |
xor edx, edx |
call fs_execute |
|
cmp eax,2 ; if vrr_m app found (PID=2) |
je first_app_found |
|
no_load_vrr_m: |
|
mov ebp, esp |
stdcall full_file_name,firstapp,ebp |
|
xor ebx, ebx |
xor edx, edx |
call fs_execute |
|
cmp eax,2 ; continue if a process has been loaded |
je first_app_found |
|
849,9 → 798,6 |
|
first_app_found: |
|
add esp, 0x100 |
|
end if |
cli |
|
;mov [TASK_COUNT],dword 2 |
3462,7 → 3408,7 |
ret |
|
iglobal |
cpustring db '%sys%/CPU',0 |
cpustring db 'CPU',0 |
endg |
|
uglobal |
3477,22 → 3423,9 |
cmp [ctrl_alt_del], 1 |
jne nocpustart |
|
mov ebp, cpustring |
call fs_execute_from_sysdir |
|
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: |