|This article needs additional or better citations for verification. (April 2015) (Learn how and when to remove this template message)|
Shape tables were a powerful yet little-used feature of the early Apple II ROMs, allowing for simple graphic manipulation on Apple II series computers, using the "hi-res" (HGR/HGR2) graphics mode. Shape tables were available from the BASIC interpreter in Applesoft BASIC and from machine code in the "Programmer's Aid" package that was bundled with the original Integer BASIC ROMs for that computer.
The vectors of a two-dimensional graphic, each encoding a direction from the previous pixel along with a flag indicating whether the new pixel should be illuminated or not, were encoded up to three in a byte. These were stored in a table via the Monitor or the
POKE command. From there, the graphic could be referenced by number (a table could contain up to 255 shapes), and built-in Applesoft routines permitted scaling, rotating, and drawing or erasing the shape. An XOR mode was also available to allow the shape to be visible on any color background; this had the advantage, also, of allowing the shape to be easily erased by redrawing it.
Apple did not provide any utilities for creating shape tables; they had to be created by hand, usually by plotting on graph paper, then calculating the hexadecimal values and entering them into the computer. Beagle Bros created a shape table editing program, which eliminated the "number crunching", called Apple Mechanic, and a related program, Font Mechanic.
Applesoft's high-resolution graphics routines were not optimized for speed, so shape tables were not typically used for performance-critical software such as games, which were typically written in assembly language and used pre-shifted bitmap shapes. Shape tables were used primarily for static shapes and sometimes for fancy text; Beagle Bros offered a number of fonts in Font Mechanic as Applesoft shape tables.
- Simoni, Richard T. Jr. (August 1983). "A New Shape Subroutine for the Apple". BYTE. p. 292. Retrieved 9 February 2015.
- Atariarchives.org example, detailed instructions on assembling shape tables by hand