Tinbox is a stack based VM heavily inspired (if not based on) Uxn.

Tinbox's main gimicks are modularity and communication. Every device is it's own process, and shares 0x100 bytes and 0x100 bits with the VM and other devices via IPC for communication and I/O. Communication comes in the form of a stream of bytes, the reception of each byte confirmed via a control bit.

Table of contents

Componenets

Tinbox is made of several parts.

RAM - 0x10000 bytes - ram.

WST - 0x100 bytes - working stack.

RST - 0x100 bytes - return stack.

HUB - 0x100 bytes - communication hub.

CTL - 0x10 bytes - hub control bits.

pipotam - 1 bit -

RAM

all 0x10000 bytes are addressable, and programs are usually loaded at 0x100 (to maintain data between programs).

WST/RST

Both stacks work the same, with a bit in each instruction determining the stack operated on.

HUB/CTL

The hub is made of 0x10 docks, each one containing 0x10 slips (bytes). Typically a device "docks" itself in a dock, and uses it's slips for different actions/data. For every slip there is a corresponding control bit, which is used to tell weather it's byte was read;