Shape table

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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,[1] 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.

See also[edit]

References[edit]

  1. ^ Simoni, Richard T. Jr. (August 1983). "A New Shape Subroutine for the Apple". BYTE. p. 292. Retrieved 9 February 2015. 

External links[edit]