Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
en:docs:kernel:doskrnl [2023/12/18 06:24] – prokushev | en:docs:kernel:doskrnl [2024/05/24 02:01] – prokushev | ||
---|---|---|---|
Line 3: | Line 3: | ||
====== DOSKRNL ====== | ====== DOSKRNL ====== | ||
- | DOSKRNL is a specialized FreeDOS kernel changed to support DOS in MVM. Mostly all FAT code removed as well as CONFIG.SYS parser. So it smaller in compare with original FreeDOS kernel. Also image format changed because different load logic. | + | DOSKRNL is a specialized FreeDOS kernel changed to support DOS in MVM. Mostly all FAT code removed as well as CONFIG.SYS parser. So it smaller in compare with original FreeDOS kernel. Also image format changed |
===== Initialization ===== | ===== Initialization ===== | ||
- | DOSKRNL loaded at address differ from standard DOS 0060:0000 address. osFree DOSKRNL | + | DOSKRNL loaded at address differ from standard DOS 0060:0000 address, but at 0070:0000. osFree DOSKRNL |
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 | + | * SS:BP - pointer to the DOSKRNL init structure |
* SS:SP - stack pointer (size around 800 bytes) | * SS:SP - stack pointer (size around 800 bytes) | ||
+ | |||
+ | Interrupts disabled. | ||
DOSKRNL init structure: | DOSKRNL init structure: |