robhagemans / hoard-of-bitfonts

turns out I like bitmap fonts
Other
1.34k stars 51 forks source link

add Apple IIgs system font #35

Closed xotmatrix closed 6 months ago

xotmatrix commented 6 months ago

This is the Apple IIgs system font. Because it is embedded within the Mega II ASIC, there is no ROM dump to reference. This file has been created by copying and modifying the existing Apple IIe Enhanced font from this repo (apple/ii/apple_ii_enhanced.draw). I have manually rendered the two "MouseText" characters that were changed for the Apple IIgs (0x46 and 0x47). The rest of the font is the same as the existing font, which I'm assuming is correct.

I was unable to locally clone this repo, perhaps because the |custom| directory name contains pipe characters.

robhagemans commented 6 months ago

Thanks! For my understanding, is this the system font used in ProDOS while Shaston 8 was used in the later GS/OS? As both are being referred to as the IIgs system font.

Thanks for flagging the issue with pipe characters, I hadn't realised they could cause an issue - they were fine on my Linux machine. I may have to use a more prosaic way to get the custom dir to sort last.

xotmatrix commented 6 months ago

The short answer is "yes". It's a little complicated.

The Apple IIgs was designed to be backward compatible with the legacy Apple II line of computers. When it is initially turned on, it's in an environment closely aligned with those older machines so that it can load and run legacy software just as the older machines did. This legacy environment was largely enabled by the Mega II ASIC which is almost an entire Apple IIe on a single chip (minus CPU, RAM, and kernel ROM). That environment includes legacy display modes that use a legacy-compatible font, which is what this is.

But the Apple IIgs also has the greatly expanded GS/OS firmware including the Shaston 8 font and the QuickDraw II Toolbox library routines used to draw it to the new bitmapped display modes. This is what new GS-only software will often use. Toolbox can also load other fonts into memory but Shaston 8 is the one in ROM.