Early mid December work on the MCP
lDOS boot (experimental)
MCP
-
-
-
-
-
-
Use MCP build of lDebug instead of the plain lCDebugX build. In particular this allows to use a specific startup script name, LDOSMCP.SLD, instead of the one shared by traditional lCDebug.
-
-
lDOS kernel
Add _MCP option to comloader. This allows to run the debugger by specifying no command line or the comloader command DEBUG. It is expected that the debugger image lives behind the PSP already, is entered at PSP:256 + 64, and will want the comloader's original stack preserved.
-
ETA:
lDebug
-
-
extname.asm:
-
In eldapend.c,
align the ELD payload to a paragraph boundary. (This incorrectly states that it aligns the ELDTAIL header. As ELDs usually are 16-byte aligned in their size, the ELDTAIL header will happen to be aligned too, but this is incidental.)
-
-
-
enamelib.asm:
New Extension for lDebug to set the extname.eld library from load file. This is for the MCP which wants to search its own executable for ELDs not found otherwise. At this point there was a problem: Loading the two ELDs (extname and enamelib) to set the library string to the executable pathname requires already knowing where to find the two ELDs, ie knowing the executable pathname already. But if it is known then the enamelib.eld is of no use!
-
-
-
Add the ::EXECUTABLE:: keyword. Unlike ::CONFIG:: and ::SCRIPTS:: this doesn't specify a prefix to a subsequent filename, rather it reads the entire pathname from the init_executable_pathname variable and treats anything after the keyword as a command line tail. Adds init code to find the executable pathname from enamelib.eld.
-
ETA:
-
-
-
-
-
Add InDOS checks to enamelib.eld, although it cannot occur because the ELD is transient only (requiring InDOS to load).
-
-
-
-
-
Update news-r10 with the rcref manual section, RC reassignment patches, and yy ::EXECUTABLE:: keyword.
-
-
-
-
MCP scripting
The MCP startup script may now use the following commands:
IF EXISTS Y ::EXECUTABLE:: THEN
EXT ::EXECUTABLE:: EXTNAME.ELD INSTALL
EXTNAME LIB SET ldp/ldosmcp.com (as a fallback if no name was detected)
EXTNAME WARNEXT OFF
EXT ::EXECUTABLE:: ENAMELIB.ELD RUN
EXTNAME WARNEXT ON
After running this script, a simple EXT command such as EXT X will be able to load from the MCP executable's embedded ELD library if no x.eld or x.xld is found.