2025-10-26
This week we celebrated the anniversary of the first lDebug revision in the hg (Mercurial) repo. Also, the hgweb server now requires anonymous sign in to access.
Add a news item and a blurb in the links list that the hgweb server at hg.pushbx.org now requires signing in. The password can be any nonempty string, while the user must be "anonymous".
_PADDING.The current interface between iniload and its payload is clearly not satisfying. The test writer expects both a valid buffer address in lsvFATSeg and, for FAT12, that the entire FAT be loaded already into that buffer, either 6 KiB worth of data or the entire FAT as specified in bpbSectorsPerFAT (whichever is smaller).
Now for the test writer, walking a cluster chain is actually only needed for a FAT32 file system so that allows disabling the FAT12 path in clust_next entirely. However, other users may want a better interface.
I'm considering reusing 1 or 2 bits of the ldHasLBA flag. It's an octet, but only the lowest bit is defined yet in the passthrough protocol. The second lowest bit is used by the multi-sector loader but cleared unconditionally before passing control flow to the payload. So that leaves 6 bits to easily re-use.
The flags I want are:
For now the implied protocol is that fat seg and sector seg are always allocated, fat sector is -1 on FAT16/FAT32 if nothing is loaded, and FAT12 is always fully loaded.
But recently I added a mode where the FAT12 isn't loaded, which is communicated by zeroing the fat seg. But that's not super helpful if the next stage wants to re-use the fat seg without re-allocating it, even if the FAT12 isn't loaded yet.