icono de compudanzas

uxn tutorial

a beginner's guide for programming the varvara computer based on the {uxn} core, and a slow-paced companion to the official documentation.

uxn technical documentation

the tutorial is divided in 8 days (or sections), as it can be followed along with a workshop.

(as of today, this is a work in progress)

there's a collaborative translation to spanish also in progress: {tutorial de uxn}

day 1

in this first section of the tutorial we talk about the basics of the uxn computer called varvara, its programming paradigm in a language called uxntal, its architecture, and why you would want to learn to program it.

we also jump right in into our first simple programs to demonstrate fundamental concepts that we will develop further in the following days.

{uxn tutorial day 1}

day 2

in this section we start exploring the visual aspects of the varvara computer: we talk about the fundamentals of the screen device so that we can start drawing on it!

we also discuss working with shorts (2-bytes) besides single bytes in uxntal.

{uxn tutorial day 2}

day 3

here we introduce the use of the controller device in the varvara computer: this allows us to add interactivity to our programs, and to start implementing control flow in uxntal.

we also talk about logic and stack manipulation instructions in uxntal.

{uxn tutorial day 3}

day 4

coming soon!

draft outline

this outline is here and now as a reference of the overall structure of the tutorial.

changes are expected to happen.

day 1: the basics

new instructions: LIT, DEO, ADD, SUB

uxn repo

day 2: the screen

new instructions: DEI, MUL, DIV, SWP, OVR, ROT, DUP, POP

new mode: short mode


day 3: interactivity with the keyboard

new instructions: EQU, NEQ, JCN, JMP, AND, ORA, EOR, SFT

day 4: loops and animation

new instructions: LTH, GTH, STZ, STR, STA, LDZ, LDR, LDA

day 5: interactivity with mouse

new instructions: STH, JSR

new mode: return mode

day 6: audio

day 7: keep mode and other devices

new mode: keep mode

day 8: demo time


if you found this tutorial to be helpful, consider sharing it and giving it your {support} :)

incoming links

{uxn tutorial day 3}

{uxn tutorial day 1}

{uxn tutorial day 2}