100R

uxn

The Uxn ecosystem is a clean-slate personal computing stack, created to host small tools and games, programmable in its own unique assembly language, made of 32 instructions.

It was designed with an implementation-first mindset with a focus on creating portable graphical applications, the distribution of Uxn projects is akin to sharing game roms for any classic console emulator. To learn more, read about the uxn design, or see the technical documentation.

Desktop Versions

A screen of a Linux desktop with various open Uxn applications, like a calculator, a clock and Donsol

To run the programs on non-uxn computers, you'll need an emulator for your operating system. Below are links to download the latest versions of the Uxn emulators for major systems, bundled with a few roms. Alternatively, you can find emulators for more obscure systems here.

Linux Windows MacOS

The emulator comes bundled with a handful of tools, games and toys:

You can also download the emulators on their own, without roms, for Linux, Windows and MacOS. You can find the source code written in ANSI C, in the repository.

uxn guide

The same Uxn rom can be used on a variety of desktop computers, on tiny electronics, modern handhelds, and even in your, ugh, browser.

A screen of a Windows desktop with various open Uxn applications, like a calculator, a clock and a text editor

Our general cross-platform desktop emulator requires SDL2, alternatively, you could download the plain Win32 or X11 versions, but we will not cover these in this guide. If you don't have SDL2, here's how to get it:

sudo pacman -Sy sdl2             # Arch
sudo apt install libsdl2-dev     # Ubuntu
sudo xbps-install SDL2-devel     # Void Linux
brew install sdl2                # OSX
doas pkg_add sdl2                # openBSD

Startup

A screen of a Linux desktop with the Uxn emulator launcher opened, the launcher shows a list of Uxn roms

Double-click on uxnemu to launch it, on some Linux distribution, it might not be possible to do so, if for some reason uxnemu is not be clickable, navigate to the downloaded files in the terminal and launch it from there. To launch the ROM from the terminal, point the emulator to the target .rom file:

bin/uxnemu path/to/example.rom

The Uxn emulator can play rom files, which are small portable applications for the system. The Uxn package comes with basic applications, but there are many more to try, view the full list of available applications.

There are many ways to launch ROMs:

Emulator Controls

F1
toggle zoom
F2
toggle debugger
F3
take screenshot
F4
load launcher.rom

Buttons

L-Ctrl
A
L-Alt
B
L-Shift
Select
Home
Start

Other Systems

A photo of a pink Nintendo DS with the card game Donsol on the screen

Uxn can also run on classic consoles and on old electronics. Currently, there are ports(not all are complete) for GBA, Nintendo DS, Playdate, DOS, PS Vita, Raspberri Pi Pico, Teletype, ESP32, Amiga, iOS, STM32, STM32, IBM PC, and many more.

See the full list of emulators.

Need a hand?

The following resources are a good place to start:

You can also find us in #uxn on irc.esper.net.

a screenshot of Noodle, a sketching tool. On the canvas there is a pixelated image featuring Tima from the movie Metropolis