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

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

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.