forked from KolibriOS/kolibrios
git-svn-id: svn://kolibrios.org@424 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ba0dd03fbe
commit
3a44857930
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 ?
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user