Table of Contents
Mid to late October work
I didn't get around to writing a blog post last week, so this one covers two weeks' worth of work.
2024-10-27
Instruction set reference
Fixed insSTOSB stating that it "sets the flags accordingly". Also add to other string instructions that flags are not modified (ins, lods, movs, outs).
lDOS boot
- Add section on FSIBOOT to the documentation
- Add sections on ROM-BIOS and MBR to sector to the docs
- Fix newly added hyperlinks in docs
- In iniload lDOS entry check for lsvLoadSeg underflow
- Update attribution year of iniload.asm
- Update iniload.asm comments listing known lDOS signatures
- List lDXX (unset) signature in iniload.asm and documentation
lDebug
Update dbitmap Extension for lDebug to add STR mode. This allows to display a string using the embedded font.
The STR mode patch includes the \M escape code which causes the next byte to be mirrored.
In a separate revision the \H escape code is added which takes an alphanumeric byte and displays a blank of the corresponding width, mainly for \H4 to display a half-width space.
(Backslashes to be displayed must be escaped as double backslashes.)
Here's a fun script to try with the updated ELD, logo.sld:
@?version @ext printf.eld "\r\n" @ext dbitmap.eld run set1 '#' end set0 ' ' end str "\MLDebug" @ext printf.eld "\t Presented by BTTR Software\r\n"
(The reverse capital L is an acceptable way of rendering the first letter of "lDebug" or "lDOS".)
Enhanced DR-DOS
Pick two changes from SvarDOS:
- Prefer discarded buffer when searching a buffer for new data (performance optimisation)
Further, the lDOS version string got updated to 2024 October.
fixmem
- replace %out directives by %warning
- add support for I_AM and I_NEED macros used by MS-DOS v4 kernel sources
- detect comment that indicates NASM original macros to skip remainder of a file
- nasm.mac: insert NASM original macros comment
- allow SIZE operator to specify differently-capitalised name of a structure
- switch ENDS to define a _struc_size suffixed label rather than _size, as _size sometimes clashed
