git-svn-id: svn://kolibrios.org@424 a494cfbc-eb01-0410-851d-a64ba20cac60

This commit is contained in:
SPraid (simba) 2007-03-21 18:36:27 +00:00
parent ba0dd03fbe
commit 3a44857930
7 changed files with 96 additions and 24 deletions

View File

@ -301,6 +301,10 @@ start_of_code:
@@: @@:
; \end{diamond}[02.12.2005] ; \end{diamond}[02.12.2005]
mov word [cs:bx_from_load - 0x10000], bx ; {SPraid}[13.03.2007]
; set up stack ; set up stack
mov ax, 3000h mov ax, 3000h
mov ss, ax mov ss, ax

View File

@ -114,7 +114,7 @@ system_shutdown: ; shut down the system
jnz newsdt jnz newsdt
; 3) load & display rose.txt ; 3) load & display rose.txt
mov eax,rosef ; load rose.txt mov eax,rosef-std_application_base_address ; load rose.txt
xor ebx,ebx xor ebx,ebx
push 2 push 2
pop ecx pop ecx
@ -123,7 +123,12 @@ system_shutdown: ; shut down the system
push 12 push 12
pop esi pop esi
push edi ; may be destroyed push edi ; may be destroyed
call fileread
pushad
push eax
call file_system_lfn ; by SPraid fileread
pop eax
popad
pop edi pop edi
pop ecx pop ecx
@ -530,5 +535,6 @@ shutdowntext:
db '4) KERNEL NEU STARTEN ' db '4) KERNEL NEU STARTEN '
end if end if
rosef: rosef:
db 'ROSE TXT' dd 0,0,0,1024,0x90000-std_application_base_address
db '/rd/1/ROSE.TXT',0
endg endg

View File

@ -8,9 +8,35 @@ load_skin_file:
mov ebx,1 mov ebx,1
or ecx,-1 or ecx,-1
mov esi,12 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
ret
skin_to_load:
dd 0,0,0
dd 64*1024
.adr dd 0
db 0
.stradr dd 0
struct SKIN_HEADER struct SKIN_HEADER
.ident dd ? .ident dd ?
.version dd ? .version dd ?

View File

@ -3,7 +3,7 @@
; ;
iglobal iglobal
_skin_file_default db 'DEFAULT SKN',0 _skin_file_default db '/rd/1/DEFAULT.SKN',0
endg endg
struct SKIN_DATA struct SKIN_DATA

View File

@ -231,12 +231,26 @@ boot_log:
iglobal iglobal
firstapp db '/rd/1/LAUNCHER',0 firstapp db '/rd/1/LAUNCHER',0
char db 'FONTS/CHAR.MT',0 vrr_m db '/rd/1/VRR_M',0
char2 db 'FONTS/CHAR2.MT',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 ' bootpath db '/KOLIBRI '
bootpath2 db 0 bootpath2 db 0
vmode db 'drivers/VMODE.MDR',0 ; vmode db 'drivers/VMODE.MDR',0
vrr_m db '/rd/1/VRR_M',0 vmode dd 0,0,0
dd 0x8000
dd 0x760000 - std_application_base_address
db '/RD/1/drivers/VMODE.MDR',0
endg endg
@ -509,17 +523,26 @@ include 'vmodeld.inc'
mov [TASK_COUNT],dword 1 mov [TASK_COUNT],dword 1
mov [TASK_BASE],dword TASK_DATA mov [TASK_BASE],dword TASK_DATA
mov esi,char pushad
xor ebx,ebx push eax
mov ecx,2560;26000 mov eax,char - std_application_base_address
mov edx,FONT_I call file_system_lfn
call fs_RamdiskRead mov eax,char2 - std_application_base_address
call file_system_lfn
pop eax
popad
mov esi,char2 ; mov esi,char
xor ebx,ebx ; xor ebx,ebx
mov ecx,2560;26000 ; mov ecx,2560;26000
mov edx,FONT_II ; mov edx,FONT_I
call fs_RamdiskRead ; call fs_RamdiskRead
; mov esi,char2
; xor ebx,ebx
; mov ecx,2560;26000
; mov edx,FONT_II
; call fs_RamdiskRead
mov esi,boot_fonts mov esi,boot_fonts
call boot_log call boot_log

View File

@ -31,6 +31,12 @@ include "boot/et.inc" ; Estonian font
else else
include "boot/ru.inc" ; Russian font include "boot/ru.inc" ; Russian font
end if 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 org $-0x10000
include "boot/bootcode.inc" ; 16 bit system boot code include "boot/bootcode.inc" ; 16 bit system boot code

View File

@ -16,8 +16,15 @@
mov [OS_BASE+0x760000],eax ; mov [OS_BASE+0x760000],eax ;
mov [OS_BASE+0x760100],byte 0xC3 ; Instruction RETN - driver loop mov [OS_BASE+0x760100],byte 0xC3 ; Instruction RETN - driver loop
mov esi, vmode pushad
xor ebx, ebx push eax
mov ecx, 0x8000 ; size of memory area for driver mov eax, vmode - std_application_base_address
mov edx, OS_BASE+0x760000 ; Memory position of driver call file_system_lfn
call fs_RamdiskRead 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