Buffalo programs are created by manipulating values stored in a fixed size addressable memory buffer of 256 bytes (essentially a big array in memory).
All values are initalized to zero when a buffalo program is first executed.
A pointer is initialized at address 0 and tokens are then used to move this pointer left and right along the buffer, incrementing and decrementing the value it points to.
This is what the buffer looks like when a program is first executed:
0 1 2 3 4 5 ... 255 [...] ^
The numbers along the top display the address of the byte in memory. The numbers inside the braces display the value stored at that address. Below that is the pointer (^) that is initialized at address 0.