Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:docs:kernel:doskrnl [2024/05/24 02:01] – prokushev | en:docs:kernel:doskrnl [2024/05/25 02:43] (current) – prokushev | ||
---|---|---|---|
Line 7: | Line 7: | ||
===== Initialization ===== | ===== Initialization ===== | ||
- | DOSKRNL loaded at address differ from standard DOS 0060:0000 address, but at 0070:0000. osFree DOSKRNL expects unknown load address, but in low address of conventional memory. Refer [[https:// | + | DOSKRNL loaded at address differ from standard DOS 0060:0000 address. On test environment it was loaded to 0280:00, but [[https:// |
On DOSKRNL startup registers are following: | On DOSKRNL startup registers are following: | ||
* CS:IP - starting point | * CS:IP - starting point | ||
- | * SS:BP - pointer to the DOSKRNL init structure (also refered | + | * SS:BP - pointer to the DOSKRNL init structure (also referenced |
* SS:SP - stack pointer (size around 800 bytes) | * SS:SP - stack pointer (size around 800 bytes) | ||
Line 31: | Line 31: | ||
| 26 | 1 | Current drive (1-A, 2-B, 3-C, ...)| | | 26 | 1 | Current drive (1-A, 2-B, 3-C, ...)| | ||
| 27 | 1 | Boot drive (1-A, 2-B, 3-C, ...) | | | 27 | 1 | Boot drive (1-A, 2-B, 3-C, ...) | | ||
- | | ???? | ??? | ???? | | + | | 28 | 1 | Last drive (1-A, 2-B, 3-C, ...) | |
+ | | ??? | ??? | ??? | | ||
DEVICES is ASCIIZ string with list of DOS devices to be loaded divided by 0AH | DEVICES is ASCIIZ string with list of DOS devices to be loaded divided by 0AH | ||
Line 37: | Line 38: | ||
SHELL is ASCIIZ string. | SHELL is ASCIIZ string. | ||
- | SHELL arguments is ASCIIZ string (first byte is as string length, string ends with 0dh) | + | SHELL arguments is ASCIIZ string (first byte is a string length, string ends with 0dh) |
VDD is linked list of structures: | VDD is linked list of structures: | ||
- | VDDs linked list in standard DOS Device drivers format. Entry can be placed in HMA, so need to be sure A20 enabled for such entries. | + | VDDs linked list in standard DOS Device drivers format. Entry can be placed in HMA, so need to be sure A20 enabled for such entries. |
^ offset ^ Size ^ Description ^ | ^ offset ^ Size ^ Description ^ | ||
Line 81: | Line 82: | ||
* DOS | * DOS | ||
* BREAK | * BREAK | ||
+ | * FCBS | ||
+ | * LASTDRIVE | ||
todo add more info here | todo add more info here |