-
Notifications
You must be signed in to change notification settings - Fork 2
Apple II Text Mode
Apple II text mode is one in which all data in the text pages 1 and 2 are treated as character entries on a set of rows and columns. In 40-column text mode, only one page is used at a time; in 80-column text mode, both are used together.
The use of the term "text page" is unfortunately a confusing one, although it is consistent with documentation that Apple provided in the IIe Technical Reference. These pages are not traditional memory pages; each text page is 1 kilobyte, or 4 times larger than a traditional memory page would be. You can find the addresses in memory for the pages below.
| Page | Start | End |
|---|---|---|
| Page 1 | $0400 | $07FF |
| Page 2 | $0800 | $0BFF |
In 40-column text mode, only page 1 is generally used. In 80-column text mode, both pages are used together.
Some kind soul out there has produced TrueType fonts of the Apple 40-column and 80-column character sets. While that is awesome, those fonts would be difficult to use in an application that requires pixel-perfect accuracy. Because of that, we must use our own bitmapped font.
The Apple II uses essentially two character sets that emulate. The first is essentially Latin-1; the other is called, er, well, it's called MouseText.
You can find where the system font is built in the a2.SystemFont function. It defines glyphs for a gfx.Font (which is a bitmapped font type) for each ASCII code, each glyph being 7 dots wide and 8 dots high. The intention is generally to build the font at boot-time; when the glyphs need to be rendered on screen, they can be done so through the Blit frame buffer method.