/kernel/trunk/core/dll.inc |
---|
516,6 → 516,7 |
file_size dd ? |
file dd ? |
file2 dd ? |
endl |
lea eax, [attr] |
531,7 → 532,21 |
stdcall read_file, [file_name], eax, dword 0, [file_size] |
cmp ebx, [file_size] |
jne .cleanup |
mov eax, [file] |
cmp dword [eax], 0x4B43504B |
jne .exit |
stdcall kernel_alloc, [eax+4] |
test eax, eax |
jz .cleanup |
mov [file2], eax |
stdcall unpack, [file], eax |
stdcall kernel_free, [file] |
mov eax, [file2] |
.exit: |
ret |
.cleanup: |
stdcall kernel_free, [file] |
/kernel/trunk/core/heap.inc |
---|
319,9 → 319,9 |
remove_from_list edi |
mov ecx, [block_ind] |
mov [mem_block_list+ecx*4], ebx |
mov [mem_block_list+ecx*4], edx |
test ebx, ebx |
test edx, edx |
jnz @f |
btr [mem_block_mask], ecx |
@@: |
/kernel/trunk/core/memory.inc |
---|
281,20 → 281,19 |
align 4 |
proc init_LFB |
cmp dword [LFBAddress], -1 |
jne @f |
mov [0x2f0000+0x901c],byte 2 |
stdcall kernel_alloc, 0x280000 |
mov [LFBAddress], eax |
ret |
@@: |
test [SCR_MODE],word 0100000000000000b |
jz @f |
jnz @f |
mov [0x2f0000+0x901c],byte 2 |
ret |
@@: |
call map_LFB |
@@: |
ret |
endp |
1073,6 → 1072,9 |
endl |
mov [cpu_type], 0 |
xor eax, eax |
mov [cpu_caps], eax |
mov [cpu_caps+4], eax |
pushfd |
pop eax |
1163,6 → 1165,9 |
cmp [0x2f0000+0x901c],byte 2 |
je .exit |
bt [cpu_caps], CAPS_MTRR |
jnc .exit |
mov eax, cr0 |
or eax, 0x60000000 ;disable caching |
mov cr0, eax |
/kernel/trunk/core/taskman.inc |
---|
605,7 → 605,7 |
cmd_line:dword, app_path:dword, flags:dword |
mov eax,[slot] |
bt [cpu_caps], CAPS_SSE |
bt [cpu_caps], CAPS_FXSR |
jnc .no_SSE |
shl eax, 8 |
mov ebx, eax |