the form: COLOUR HIRES x ON y where x is the foreground colour and y is the background colour. (For example, COLOUR HIRES BLACK ON WHITE). Sprites Graphics BASIC also provides commands to manipulate the Commodore 64's eight sprites. These sprites are 24×21 pixels in size, drawn in either 2 colours (1 colour + background) or 4 colours (3 colours + background). Each sprite has one individual colour to its own. In 3-colour mode, the horizontal resolution is halved, and all 3-colour sprites share the same 2 extra colours. The compact syntax of the sprite commands has more in common with the command-line options of Unix programs than conventional programming languages. In essence, several sprite manipulations can be combined into one command, starting with the word SPRITE and the sprite's number, from 1 to 8. This is then followed by any number of keywords, and the parameters they need. As an example, SPRITE 1 ON AT 160,100 COLOUR BLUE XYSIZE 2,2 does a total of four things: set sprite 1 as visible, move it into the location (160, 100) on the screen, set its individual colour to blue, and double its physical size both horizontally and vertically. Graphics BASIC also supports automatic sprite movement (change in place), animation (change in shape), and collision detection. This is implemented in the language core itself by adding hooks into the Commodore 64's software interrupt routines. (The language does not support adding your own interrupt hooks.) Sprite shapes can be drawn by hand with a built-in sprite editor, accessed with the command EDIT. The editor, while simple to use, was somewhat rudimentary. Sprite shapes can be loaded or saved to disk with the SPRITE LOAD and SPRITE SAVE commands. Programmatically drawing new sprite shapes can be done by drawing the shapes on the normal hires or multicolor screen, then copying the shapes with the COPY HIRES TO SPRITE or COPY MULTI TO SPRITE command. Sound Graphics BASIC also provides various commands to control the Commodore 64's built-in audio synthesizer, allowing the selection of waveform type, tone (frequency), and amplitude envelopes. In addition, sequences of tones can be specified and played automatically in the background. Other commands In addition to graphics and sound commands, Graphics BASIC also provides various other useful commands such as DIR to list the file directory of a device, JOY to return the position of a joystick, KEY to program function