Skip to content
This repository has been archived by the owner on Jun 8, 2019. It is now read-only.

Commit

Permalink
Change DRVS file requirements
Browse files Browse the repository at this point in the history
A DRVS file isn't necessarily needed for operation of the machine, so I
changed it to where the kernel can continue to operate without said
file.
  • Loading branch information
devfonks committed Oct 15, 2016
1 parent f6ecf0a commit c914574
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
4 changes: 4 additions & 0 deletions int21.asm
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,10 @@ find_files_loop:
mov ah, byte ptr es:bx
cmp ah, 80h
je found_field
; If there is a null here, then we are in empty spce of the FSB.
; Exit just in case.
cmp ah, 00h
je disk_error
inc bx
jmp find_files_loop
disk_error:
Expand Down
9 changes: 8 additions & 1 deletion kernel.asm
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,8 @@ c1:
mov bx, 0000h
int 21h
;; First check for an error, and if so handle it appropriately
jc disk_error
;; IF there is no DRVS file, simply skip over this bit
jc drv_nofile
;; Now we need to parse the data. Formatting is as shown:
;; 0x55FF00AA #<filename1>* #<filename2>* ... 0x0D
;; This is all in one big string, the CR is the EOF mark (spaces not in file).
Expand Down Expand Up @@ -922,5 +923,11 @@ a20_ns:
int 10h
jmp halt_forever

drv_nofile:
mov ah, 01h
mov dx, missing_drvs
int 21h
; Skip past driver processing
jmp command_prompt
; At current test build, we have 1429 bytes.
times 1536-($-$$) db 00h

0 comments on commit c914574

Please sign in to comment.