mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
Added support for .lst files. Thanks to Art Yerkes.
svn path=/trunk/; revision=2788
This commit is contained in:
parent
29e7f88439
commit
fabd313f2a
4 changed files with 104 additions and 37 deletions
|
@ -1 +1 @@
|
||||||
loadros system32\ntoskrnl.exe system32\hal.dll system32\drivers\ide.sys system32\drivers\vfatfs.sys system32\config\system.hiv
|
loadros system32\ntoskrnl.exe system32\hal.dll bootc.lst
|
8
reactos/bootc.lst
Normal file
8
reactos/bootc.lst
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
system32\drivers\scsiport.sys
|
||||||
|
system32\drivers\atapi.sys
|
||||||
|
system32\drivers\class2.sys
|
||||||
|
system32\drivers\disk.sys
|
||||||
|
system32\drivers\cdrom.sys
|
||||||
|
system32\drivers\vfatfs.sys
|
||||||
|
system32\config\system.hiv
|
||||||
|
*
|
|
@ -18,6 +18,7 @@ md %ROS_INSTALL%\system32\drivers
|
||||||
md %ROS_INSTALL%\media
|
md %ROS_INSTALL%\media
|
||||||
md %ROS_INSTALL%\media\fonts
|
md %ROS_INSTALL%\media\fonts
|
||||||
copy boot.bat %ROS_INSTALL%
|
copy boot.bat %ROS_INSTALL%
|
||||||
|
copy bootc.lst %ROS_INSTALL%
|
||||||
copy aboot.bat %ROS_INSTALL%
|
copy aboot.bat %ROS_INSTALL%
|
||||||
copy system.hiv %ROS_INSTALL%\system32\config
|
copy system.hiv %ROS_INSTALL%\system32\config
|
||||||
copy loaders\dos\loadros.com %ROS_INSTALL%
|
copy loaders\dos\loadros.com %ROS_INSTALL%
|
||||||
|
|
|
@ -249,17 +249,72 @@ entry:
|
||||||
.checkForHive:
|
.checkForHive:
|
||||||
; Check if it is a symbol file
|
; Check if it is a symbol file
|
||||||
cmp byte [bx-5],'.'
|
cmp byte [bx-5],'.'
|
||||||
jne .pe_copy
|
jne .lst_copy
|
||||||
cmp byte [bx-4],'h'
|
cmp byte [bx-4],'h'
|
||||||
jne .pe_copy
|
jne .lst_copy
|
||||||
cmp byte [bx-3],'i'
|
cmp byte [bx-3],'i'
|
||||||
jne .pe_copy
|
jne .lst_copy
|
||||||
cmp byte [bx-2],'v'
|
cmp byte [bx-2],'v'
|
||||||
jne .pe_copy
|
jne .lst_copy
|
||||||
|
|
||||||
call sym_load_module
|
call sym_load_module
|
||||||
jmp .after_copy
|
jmp .after_copy
|
||||||
|
|
||||||
|
.lst_copy:
|
||||||
|
;; Check for a module list file
|
||||||
|
cmp byte [bx-5],'.'
|
||||||
|
jne .pe_copy
|
||||||
|
cmp byte [bx-4],'l'
|
||||||
|
jne .pe_copy
|
||||||
|
cmp byte [bx-3],'s'
|
||||||
|
jne .pe_copy
|
||||||
|
cmp byte [bx-2],'t'
|
||||||
|
jne .pe_copy
|
||||||
|
|
||||||
|
call sym_load_module
|
||||||
|
|
||||||
|
push es
|
||||||
|
mov bx,0x9000
|
||||||
|
push bx
|
||||||
|
pop es
|
||||||
|
xor edi,edi
|
||||||
|
|
||||||
|
.lst_copy_bytes:
|
||||||
|
mov bx,_lst_name_local
|
||||||
|
|
||||||
|
.lst_byte:
|
||||||
|
mov al,[es:di]
|
||||||
|
inc di
|
||||||
|
cmp al,' '
|
||||||
|
jg .lst_not_space
|
||||||
|
mov byte [bx],0
|
||||||
|
inc bx
|
||||||
|
.lst_space:
|
||||||
|
mov al,[es:di]
|
||||||
|
inc di
|
||||||
|
cmp al,' '
|
||||||
|
jle .lst_space
|
||||||
|
.lst_not_space:
|
||||||
|
cmp al,'*'
|
||||||
|
je .lst_end
|
||||||
|
mov [bx],al
|
||||||
|
inc bx
|
||||||
|
jmp .lst_byte
|
||||||
|
|
||||||
|
.lst_end:
|
||||||
|
;; We are here because the terminator was encountered
|
||||||
|
mov byte [bx],0 ; Zero terminate
|
||||||
|
inc bx
|
||||||
|
mov byte [bx],0
|
||||||
|
mov [end_cmd_line],bx ; Put in cmd_line_length
|
||||||
|
mov dx,_lst_name_local; Put this address in di
|
||||||
|
mov di,dx ; This, too, at the start of the
|
||||||
|
; string
|
||||||
|
|
||||||
|
pop es
|
||||||
|
|
||||||
|
jmp .start_loading
|
||||||
|
|
||||||
.pe_copy:
|
.pe_copy:
|
||||||
call pe_load_module
|
call pe_load_module
|
||||||
|
|
||||||
|
@ -291,7 +346,7 @@ entry:
|
||||||
mov dx, di
|
mov dx, di
|
||||||
jmp .start_loading
|
jmp .start_loading
|
||||||
|
|
||||||
.done_loading:
|
.done_loading
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Initialize the multiboot information
|
;; Initialize the multiboot information
|
||||||
|
@ -714,6 +769,9 @@ _current_size:
|
||||||
_current_file_size:
|
_current_file_size:
|
||||||
dd 0
|
dd 0
|
||||||
|
|
||||||
|
_lst_name_local:
|
||||||
|
times 2048 db 0
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Load a SYM file
|
;; Load a SYM file
|
||||||
;; DS:DX = Filename
|
;; DS:DX = Filename
|
||||||
|
|
Loading…
Reference in a new issue