05-10-2026, 02:19 PM
The 101.20 build has one rendering fix. A space with bit 7 set (code A0), the Shell and SuperCalc's way of marking an inverse blank, now draws as a solid block instead of black.
The problem. In 80-column mode with the PCG font live, a character with bit 7 set is normally drawn from its PCG glyph. The renderer treats a glyph as "defined" only if some row is neither 00 nor FF. An inverse space is a solid FF glyph, so it counted as undefined. The renderer then fell back to the plain ROM font, which draws a normal black space. That left black gaps in SuperCalc's inverse headers, no bar for the cell cursor, and missing leading spaces on single-digit row labels.
A new flag. __fbi is declared next to __inv and defaults to false.
Setting the flag. It is set only in the branch that falls back to the ROM font, and only when the glyph is 0x20.
Using the flag. In the case that draws from the ROM font, if __fbi is set the bits are inverted (~bits & 255), so the space becomes a solid block.
I don't know if this breaks other software, but Supercalc now looks slick.
The problem. In 80-column mode with the PCG font live, a character with bit 7 set is normally drawn from its PCG glyph. The renderer treats a glyph as "defined" only if some row is neither 00 nor FF. An inverse space is a solid FF glyph, so it counted as undefined. The renderer then fell back to the plain ROM font, which draws a normal black space. That left black gaps in SuperCalc's inverse headers, no bar for the cell cursor, and missing leading spaces on single-digit row labels.
A new flag. __fbi is declared next to __inv and defaults to false.
Setting the flag. It is set only in the branch that falls back to the ROM font, and only when the glyph is 0x20.
Using the flag. In the case that draws from the ROM font, if __fbi is set the bits are inverted (~bits & 255), so the space becomes a solid block.
I don't know if this breaks other software, but Supercalc now looks slick.
