User Tools

Site Tools


blog:pushbx:2025:1103_late_october_comments_on_ldos_boot_iniload

Late October: Comments on lDOS boot iniload

2025-11-01

lDOS boot experimental

Musings on a new program

I'm considering a new kernel program that would allow to install resident programs at the top of the Low Memory Area, to then chain to a different kernel. This could re-use parts of the "FreeDOS" (actually any kernel) loader in lDebug, and maybe even the line I/O of lDebug. Importantly, it would run at the bottom of the LMA, perhaps at segment 60h. To load a kernel it could relocate its code to stay within the top 20 KiB of the available LMA (after any resident programs installed), within the LMA top reservation.

This could make use of the incoming FAT buffer from iniload. (This would require clear semantics for passing the FAT buffer and its contents.) Before the final load, relocate the FAT buffer down to lower than the top reservation to pass it to the chained kernel.

A new executable format could be loaded by this program, with memory above a certain segment all available.

A remaining question is how much of the debugger to include, such as script file reading, serial I/O, the expression evaluator, or even Extensions for lDebug (either a subset or more fully).

Perhaps the debugger itself could be loaded by this program?

Some more possible use cases:

  • Program which depicts int 13h unit 01h (drive B:) as present and not ready. For ETHFLOP.
  • Program that retries int 13h read accesses (function 02h or 42h) to make FreeDOS boot loaders succeed where they would otherwise fail.
You could leave a comment if you were logged in.
blog/pushbx/2025/1103_late_october_comments_on_ldos_boot_iniload.txt · Last modified: 2025-11-03 15:39:18 +0100 Nov Mon by ecm