User Tools

Site Tools


blog:pushbx:2025:1130_late_november_work_on_the_pre-boot_loader

Late November work on the pre-boot loader

2025-11-30

The prior two weeks we drafted some interfaces and a rough implementation of the pre-boot loader that's based on the debugger. Because the loader is a stripped down build of the debugger, many of its features come for free (or almost so), including:

  • Chain loading of other kernels
  • Script file reading
  • Serial terminal I/O
  • Expression evaluator
  • Subset of the Extensions for lDebug infrastructure
  • Memory dump and edit commands
  • Dump interrupts command
  • Port I/O commands
  • Command line buffer related commands

lDOS boot (experimental)

lDebug / lDOS pre-boot loader

TBD

  • Add the SLEEP command to the loader. It was disabled by a simple conditional around sss.asm and the sss command, which includes both SLEEP and S (search).
  • New ELD relocations that allow to pick the first match of multiple symbols? This would allow an easier way to access either the unmovable or movable aux/code symbols.
  • Exclude more messages in msg.asm not needed by loader.
  • Prepare an allowlist or denylist of help pages to avoid lengthy build of them when not needed for this build.
  • Add current release builds for loader, using the makldr.sh script.
  • Add int 18h and 19h hooks for hidden loader, hook or unhook on MOVE.
  • Add better Q and G commands for loader.
  • Add some helpers for ELDs to aid installing resident extensions into a hidden block. (The loader must be placed at the bottom for this to work.) Move EBDA as needed.
  • Define a new image ident header for resident extensions (NEXT for "N extension" ?).
  • Verify which current ELDs can be loaded by loader, and which installable ELDs can be used even across movement of the loader.
You could leave a comment if you were logged in.
blog/pushbx/2025/1130_late_november_work_on_the_pre-boot_loader.txt · Last modified: 2025-11-30 17:01:24 +0100 Nov Sun by ecm