2026-05-10
Recently I returned to lDOS's memory allocation code that handles LMCBs and UMCBs. I'd intended to determine the amount of changes needed in order to make the allocation more compatible to MS-DOS v5, as in coalescing all free blocks in (only) the area being scanned. In particular, with COMPAT=NOCOLLECTALLMCBS, lDOS would end the scan early if a first fit match was found. MS-DOS would scan to the end of the area even for first fit. (For dual areas, the first scan only addresses the first area and no second scan is done if a sufficiently sized free block has been found.)
I found that the required changes were small. But I was confronted with the following: There were three success cases for the various strategies, and three failure cases as well.
2026-05-03
2026-04-26