TIS-100 Hacker's Guide

Graphics Display

The "visualization module" or STREAM_IMAGE is an output stream that is interpreted as drawing commands. In puzzles the display is 30 pixels wide by 18 pixels tall. In the IMAGE CONSOLE SANDBOX the display is 36 pixels wide by 22 pixels tall. The display is indexed from 0, with 0,0 being the upper left corner and 29,17 being the bottom right for a puzzle display.

Pixels are not square; they are roughly 9 wide by 13 tall.

The display is capable of displaying 5 different colors:

ValueColor
0 Black#000000
1 Dark Grey#464646
2 Light Grey#9c9c9c
3 White#fafafa
4 Red#c00b0b

Output from the TIS-100 assembly must consist of:

  1. An X coordinate
  2. A Y coordinate
  3. Zero or more pixel colors, 0-4
  4. Any negative value as a terminator

The pixel colors will be drawn starting at the X,Y coordinate and moving right. If there are enough entries to exceed the maximum X value (29 or 35), the extra values are discarded. (This behavior is not guaranteed)

If the X or Y coordinates are larger than the maximum X and Y coordinates of the display, the following pixel colors are discarded.

Pixels are drawn as soon as the respective color arrives in the output stream. They do not wait until the terminator arrives.

Colors with values in excess of 4 are treated as "0". Negative color values are not possible, as that indicates the terminator.

A negative X or Y coordinate is treated as a terminator; nothing is drawn and the next digit is expected to be an X coordinate.