mirror of
https://github.com/reactos/reactos.git
synced 2024-12-26 17:14:41 +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\fonts
|
||||
copy boot.bat %ROS_INSTALL%
|
||||
copy bootc.lst %ROS_INSTALL%
|
||||
copy aboot.bat %ROS_INSTALL%
|
||||
copy system.hiv %ROS_INSTALL%\system32\config
|
||||
copy loaders\dos\loadros.com %ROS_INSTALL%
|
||||
|
|
|
@ -249,17 +249,72 @@ entry:
|
|||
.checkForHive:
|
||||
; Check if it is a symbol file
|
||||
cmp byte [bx-5],'.'
|
||||
jne .pe_copy
|
||||
jne .lst_copy
|
||||
cmp byte [bx-4],'h'
|
||||
jne .pe_copy
|
||||
jne .lst_copy
|
||||
cmp byte [bx-3],'i'
|
||||
jne .pe_copy
|
||||
jne .lst_copy
|
||||
cmp byte [bx-2],'v'
|
||||
jne .pe_copy
|
||||
jne .lst_copy
|
||||
|
||||
call sym_load_module
|
||||
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:
|
||||
call pe_load_module
|
||||
|
||||
|
@ -291,7 +346,7 @@ entry:
|
|||
mov dx, di
|
||||
jmp .start_loading
|
||||
|
||||
.done_loading:
|
||||
.done_loading
|
||||
|
||||
;;
|
||||
;; Initialize the multiboot information
|
||||
|
@ -714,6 +769,9 @@ _current_size:
|
|||
_current_file_size:
|
||||
dd 0
|
||||
|
||||
_lst_name_local:
|
||||
times 2048 db 0
|
||||
|
||||
;;
|
||||
;; Load a SYM file
|
||||
;; DS:DX = Filename
|
||||
|
|
Loading…
Reference in a new issue