Table of Contents
Late May work
2024-05-26
instsect
Fix: A nonblank after a blank was accepted if it occurred in the last byte of a field (base name or extension).
I noticed this while checking that instsect and lDebug both can cope with DR-DOS corrupting DI on int 25h/26h, which I previously had to fix in FreeDOS SYS. (They can.)
lDebug
- Reserve only 256 Bytes (or 512 Bytes with command line) of stack below the BPB, to allow loading a full 29 KiB file to 00700h with DRDOS protocol
- Add load setting DRDOS, same as IBMDOS but
maxpara=-1 - Add ELD datetime stamp to ELDs and XLDs optionally, for eldcomp to check they were built in the same minute
In detail: ELD datetime stamps
The clean way to add an ELD datetime stamp would have been to extend the extended ELD header with a field pointing into the header area, holding a string. However, it is difficult to get at the header for an ELD to load from the eldcomp ELD which injects commands into the debugger. In the worst case this would have required modification of the ELD loader in the debugger proper. A slightly less bad solution would be to recreate the relevant parts of the ELD loader in eldcomp.
To avoid these headaches, the string proper moved into the data area of the ELD. To be precise, it must occur as the very first data in the data area. eldcomp uses a heuristic to detect the string. This can either turn up a valid minute-granular time or the empty string. If the result of the heuristic doesn't match for the ELD and XLD, eldcomp will emit a message noting the conflict three times.
The header extension was still added anyway, but it takes into account the data start now, much like the help string and unlike the description line. The string proper is an ASCIZ string followed by another NUL byte, for future extension.
The stamp is not included by default. It can be enabled in the eld/ovr.sh file or by passing a variable to eld/makone.sh
The stamp uses NASM's UTC date and time stamps.
lDOS boot
- Add define _LOAD_STACK to allow lowering the stack size to 256 Bytes (for DR-DOS), down from 512 Bytes
- Pick instsect change to testpl
The DR-DOS and check maximum size options for boot.asm require to disable several options as usual. For boot32.asm some options need to be disabled, but none of those useful for DR-DOS load. The size check occurs when FSIBOOT4 calls into the first stage to allow it to copy the directory entry if it so desires. That is a misuse of the FSIBOOT4 protocol but it works just fine.
