/kernel/trunk/boot/bootcode.inc |
---|
301,6 → 301,10 |
@@: |
; \end{diamond}[02.12.2005] |
mov word [cs:bx_from_load - 0x10000], bx ; {SPraid}[13.03.2007] |
; set up stack |
mov ax, 3000h |
mov ss, ax |
/kernel/trunk/boot/shutdown.inc |
---|
114,7 → 114,7 |
jnz newsdt |
; 3) load & display rose.txt |
mov eax,rosef ; load rose.txt |
mov eax,rosef-std_application_base_address ; load rose.txt |
xor ebx,ebx |
push 2 |
pop ecx |
123,7 → 123,12 |
push 12 |
pop esi |
push edi ; may be destroyed |
call fileread |
pushad |
push eax |
call file_system_lfn ; by SPraid fileread |
pop eax |
popad |
pop edi |
pop ecx |
530,5 → 535,6 |
db '4) KERNEL NEU STARTEN ' |
end if |
rosef: |
db 'ROSE TXT' |
dd 0,0,0,1024,0x90000-std_application_base_address |
db '/rd/1/ROSE.TXT',0 |
endg |
/kernel/trunk/gui/skincode.inc |
---|
8,9 → 8,35 |
mov ebx,1 |
or ecx,-1 |
mov esi,12 |
call fileread |
; call fileread |
pushad |
push eax |
sub edx,std_application_base_address |
mov [skin_to_load.adr],edx |
;sub eax,std_application_base_address |
;mov [skin_to_load.stradr],eax |
mov [skin_to_load.stradr],_skin_file_default - std_application_base_address |
mov eax,skin_to_load - std_application_base_address |
call file_system_lfn |
;call fileread |
pop eax |
popad |
ret |
ret |
skin_to_load: |
dd 0,0,0 |
dd 64*1024 |
.adr dd 0 |
db 0 |
.stradr dd 0 |
struct SKIN_HEADER |
.ident dd ? |
.version dd ? |
/kernel/trunk/gui/skindata.inc |
---|
3,7 → 3,7 |
; |
iglobal |
_skin_file_default db 'DEFAULT SKN',0 |
_skin_file_default db '/rd/1/DEFAULT.SKN',0 |
endg |
struct SKIN_DATA |
/kernel/trunk/kernel.asm |
---|
231,12 → 231,26 |
iglobal |
firstapp db '/rd/1/LAUNCHER',0 |
char db 'FONTS/CHAR.MT',0 |
char2 db 'FONTS/CHAR2.MT',0 |
vrr_m db '/rd/1/VRR_M',0 |
char dd 0,0,0 |
dd 2560 |
dd 0x3F600 - std_application_base_address |
db '/RD/1/FONTS/CHAR.MT',0 |
char2 dd 0,0,0 |
dd 2560 |
dd 0x3EC00 - std_application_base_address |
db '/RD/1/FONTS/CHAR2.MT',0 |
;char db 'FONTS/CHAR.MT',0 |
;char2 db 'FONTS/CHAR2.MT',0 |
bootpath db '/KOLIBRI ' |
bootpath2 db 0 |
vmode db 'drivers/VMODE.MDR',0 |
vrr_m db '/rd/1/VRR_M',0 |
; vmode db 'drivers/VMODE.MDR',0 |
vmode dd 0,0,0 |
dd 0x8000 |
dd 0x760000 - std_application_base_address |
db '/RD/1/drivers/VMODE.MDR',0 |
endg |
509,18 → 523,27 |
mov [TASK_COUNT],dword 1 |
mov [TASK_BASE],dword TASK_DATA |
mov esi,char |
xor ebx,ebx |
mov ecx,2560;26000 |
mov edx,FONT_I |
call fs_RamdiskRead |
pushad |
push eax |
mov eax,char - std_application_base_address |
call file_system_lfn |
mov eax,char2 - std_application_base_address |
call file_system_lfn |
pop eax |
popad |
mov esi,char2 |
xor ebx,ebx |
mov ecx,2560;26000 |
mov edx,FONT_II |
call fs_RamdiskRead |
; mov esi,char |
; xor ebx,ebx |
; mov ecx,2560;26000 |
; mov edx,FONT_I |
; call fs_RamdiskRead |
; mov esi,char2 |
; xor ebx,ebx |
; mov ecx,2560;26000 |
; mov edx,FONT_II |
; call fs_RamdiskRead |
mov esi,boot_fonts |
call boot_log |
/kernel/trunk/kernel16.inc |
---|
31,6 → 31,12 |
else |
include "boot/ru.inc" ; Russian font |
end if |
; ñþäà äàííûå çàïèñûâàþòñÿ â 16 ðàçðÿäíîì ðåæèìå, ÷èòàþòñÿ â 32 ðàçðÿäíîì |
bx_from_load: ; ñòðóêòóðà äëÿ õðàíåíèÿ ïàðàìåòðîâ- îòêóäà ãàøðóçèëèñü, áåðåòñÿ íèæå èç bx ; {SPraid}[13.03.2007] |
.from_disc db 0 ; a,b,c,d - âèí÷åñòåðû, r - ðàì äèñê |
.from_part db 0,0 ; # äèñêà... ñèìâîë, à íå áàéò. '1', à íå 1 |
org $-0x10000 |
include "boot/bootcode.inc" ; 16 bit system boot code |
/kernel/trunk/vmodeld.inc |
---|
16,8 → 16,15 |
mov [OS_BASE+0x760000],eax ; |
mov [OS_BASE+0x760100],byte 0xC3 ; Instruction RETN - driver loop |
mov esi, vmode |
xor ebx, ebx |
mov ecx, 0x8000 ; size of memory area for driver |
mov edx, OS_BASE+0x760000 ; Memory position of driver |
call fs_RamdiskRead |
pushad |
push eax |
mov eax, vmode - std_application_base_address |
call file_system_lfn |
pop eax |
popad |
; mov esi, vmode |
; xor ebx, ebx |
; mov ecx, 0x8000 ; size of memory area for driver |
; mov edx, OS_BASE+0x760000 ; Memory position of driver |
; call fs_RamdiskRead |