Chipgrid / Documentation / Reference

All operators

The 49 operators and the symbols, one line each.

Every character on the grid is a value, an operator or a symbol. Uppercase letters are operators, lowercase letters and digits are values (except v, the arrow going south). Follow a name to its full entry.

Timing and logic

NameWhat it does
CclockCounts ticks and writes the count below.
DbeatWrites a bang * below every N ticks.
SsequencePicks the step chosen by its index (left) and writes it below.
RrandomWrites a random number below, every tick.
AaddWrites a + b below.
JjumpCopies the cell above to the cell below.
WwaveWrites a smooth wave (a sine) below: 0 → max → 0, one cycle every rate×4 ticks.
YsendSends the value on its left to the cell dx right, dy down.
IlistenListens to a chip channel: writes its volume (0–f) below.
!tempoSets the tempo from the three digits on its right: !150 = 150 BPM.
?gateGate: the operator on its right runs only when a bang touches the gate. Red = it can do nothing there.
@sendSends its left value, or a bang, over a named link. Uppercase = shared with the room.
&receiveReceives from a named link and writes it below.
;swellJumps to its peak on a bang, then falls back: wire it in and things pulse.
,eyeLooks at one block of the picture and writes its colour, or a bang, below.

Movers and routes

NameWhat it does
EemitterLaunches a > to its right every N ticks.
>eastMoves east each tick; becomes a bang when blocked.
<westMoves west each tick; becomes a bang when blocked.
^northMoves north each tick; becomes a bang when blocked.
vsouthMoves south each tick; becomes a bang when blocked.
:switchSends a mover that reaches it another way: :^ up, :v down, :< left, :> right.
)turn rightTurns a mover right, from any side, and bangs what touches it. Four of them make a loop.
(turn leftTurns a mover left, from any side, and bangs what touches it.

Sound chip

NameWhat it does
PpulsePulse voice: plays when a bang touches its left, top or bottom.
GarpeggioArpeggio: a chord on one pulse voice, when banged.
BtriangleTriangle voice (bass, kick), when banged.
NnoiseNoise voice (hats, snare), when banged.
-silenceSilences all sound: -14 = 1 beat of silence every 4 beats.

Screen and drawing

NameWhat it does
VscreenSets the palette and background, every tick.
FflashFlashes the screen when banged.
~fieldPaints the whole back layer with a moving pattern: plasma, stripes, rings…
XpixelDraws a 5×5 block at x, y every tick.
HbarDraws a horizontal bar every tick.
OspriteDraws a mirrored 8×8 creature every tick.
LlineDraws a line between two points every tick.
QringDraws a ring (circle) every tick.
UglitterSprinkles random pixels every tick.
"textDraws text every tick: x, y, colour, letters.
$stampDraws your own sprite every tick, from the cells below it.
[layerThe drawing below it goes on this layer: 0 back, 1 middle, 2 front.
]sizeThe sprites and text below it are this many times bigger.
TdissolveDissolves random pixels of the drawing every tick, or with a 1 after the amount, fades through the palette.
MscrollScrolls the whole drawing every tick.
ZmirrorMirrors the drawing every tick: 0 left→right, 1 top→bottom, 2 both.
KwipeWipes the drawing when banged.
+zoomZooms the whole drawing every tick. A bang gives it a kick.
=rippleSlides the rows sideways along a wave. A bang jumps the wave ahead.
%coloursShifts every drawn pixel along the palette. Each bang shifts one more.
/glitchThrows random bands sideways every tick. A bang gives a burst.

Symbols

NameWhat it does
*bangA bang: lives one tick and triggers what it touches.
#commentA comment, up to the next # on the line.
_rail
``rail
Esc