Table of Contents

Early August work on LBAcache & bugs

2026-08-09

Most of the work this week was on converting Eric Auer's LBAcache to provide and use an Alternate Multiplex Interrupt Specification (AMIS) multiplexer. (The use is in uncache, the transient part that works with previously installed instances rather than installing a new one.) The advantages are as follows:

The disadvantages are:

I found that testing LBAcache works best with buffers=1 in ldos.ini, or by adding append buffers=1 to the kernel command line. That way, DOS cannot buffer as much as it would usually, hence more reads go to LBAcache's handler.

patchini

The patldos.asm assembly language program's matching of progress type keywords was severely broken. The changeset message states:

patldos.asm: fix match of PRO mode keywords

Selecting "app" would indicate an error stating that "pp" was an invalid progress mode. The cause of this error was the stray mov dx,si (si is CHG after the call to comparecaps).

Next, the description would be matched unintentionally. This was due to not incrementing past it for the first .loopinnerpro iteration. Solved by moving inc di twice to that label.

Subsequent mode keywords wouldn't be matched because the code at .nextouterpro popped di once rather than twice.

Finally, .gotpro doesn't use the stacked di pointers any longer so discard them off the stack.

lDOS kernel

Bugtracker

Add new bugs recently found:

wwwecm scripts

LBAcache

ETA:

ETA:

Highlights

Eric's bugs

The veritable bugs in the old revision of Eric's LBAcache, mostly copying the entries from above that list the fixes:

ecm's bugs

Bugs that I introduced and later fixed during my work on LBAcache:

Optimisations