XXIIVV
Uxn Sticker
Uxn Sticker

Uxn is a virtual stack-machine.

This one-page computer is capable of hosting small applications, programmable in Uxntal. It was designed with an implementation-first mindset and a focus on creating portable graphical tools and games.

This wiki and most of the audio-visual works documented on it were created with Uxn-powered tools.

Memory

Uxn has 64kb of addressable memory, no registers, and programs are self-modifiable. It can tunnel through 127 subroutines and find its way back. Up to 16 devices can interface with the CPU at once; devices are peripherals such as screens, controllers, or even other uxns. The stacks and devices memory live outside of the main memory.

MemoryRAMData64kb
StacksWorking StackData255 bytes
Pointer1 byte
Return StackData255 bytes
Pointer1 byte
IODevicesData256 bytes

Design

Because Uxn was explicitly created to be hosted on pre-existing hardware, the design was advised primarily by relative software complexity; generating novel electronics is at odds with the project. Features were weighted against the relative difficulty they would add for programmers implementing their own emulators.

Stack-machines are ideal candidates for this scale of personal computing. Not only do they limit the complexity of the assembler, the resulting programs are quite succinct and do not require to be immediately abstracted to compiled languages.

— fizzbuzz.rom, 99 bytes

With only 64kb of memory, it will never run Chrome, TensorFlow or a blockchain. It sucks at doing most modern computing activities. It's more about finding novel things could be made in such a small system.

While this project aspires to act as a target that may last, it is in its infancy, the design could still change and break compatibility.

The VM can be implemented in about 100 lines of C, it lives at the core of the Varvara computer. Uxn is to Varvara, what the 6502 is to the Classic Nintendo.

Original illustrations created by Rekka Bellum.

Rostiger's Uxn Zine
Rostiger's Uxn Zine
The Sound Of Plumpkins
varvara — The Sound Of Plumpkins

Incoming: dexe tools ufx format markl assembly forth varvara drifblim drifblim macintosh playdate devlog hundred rabbits