Shape Table

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 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.

Famous quotes containing the words shape and/or table:

    To know oneself, one should assert oneself. Psychology is action, not thinking about oneself. We continue to shape our personality all our life. If we knew ourselves perfectly, we should die.
    Albert Camus (1913–1960)

    “A sigh for every so many breath,
    And for every so many sigh a death.
    That’s what I always tell my wife
    Is the multiplication table of life.”
    Robert Frost (1874–1963)