After initializing the screen for "high-resolution" (320 × 200 monochrome pixels) or multicolor (160 wide × 200 pixels in four colors) graphics with the GRAPHIC command, one could draw lines, circles, ellipses, arcs, boxes and more using the DRAW, CIRCLE, and BOX commands. PAINT would "flood-fill" an area enclosed by lines, e.g. the interior of a CIRCLE or BOX. A CHAR command was used to "print" characters from the
character generator ROM onto the
bitmap graphics screen. SSHAPE and GSHAPE would store the contents of a rectangular area of the high-res graphics into a
string variable, and GSHAPE would "stamp" it back onto the screen at arbitrary locations. Such "graphics-in-a-string" could also be used to transfer something drawn on the hi-res screen into one of the eight sprite patterns.
Sprites Besides a range of commands to initialize, position and move sprites (or Movable Object Blocks as Commodore called them; hardware-supported graphic elements that could move freely on the screen independently of other graphics and text on the screen), Super Expander had a built in tool to edit the pattern of 8 sprites (called upon with the SPRDEF command), either in high-res (24 × 21 pixels) or multicolor (12 wide × 21 pixels) mode. There was even a way of implementing "interrupts" in the BASIC program if two sprites collided, if a sprite collided with other graphics and/or text on the screen, or if an attached light pen was activated. A COLINT command set up the interrupt, pointing to the beginning BASIC line number of the "
interrupt handler", which had to end in a RETURN statement (part of standard, unexpanded BASIC) in order to transfer control back to the interrupted, "mainline" part of the program. ==Sound==