uxn
The Uxn ecosystem is a little personal computing stack, created to host tools and games, programmable in its own unique assembly language.
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
To run Uxn programs, 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.
Linux Windows MacOSOnce you have the emulator, you can write your own programs for it, or pick among these handful of tools, games and toys. View the full list of available applications:
- calc, graphical calculator
- donsol, card game
- left, writing tool
- nasu, sprite editor
- noodle, sketch tool
- orca, livecoding tool
- turye, font editor
- catclock, desktop clock
- dexe, hex editor
- A Piano, piano toy
You can also download the emulators on their own, without roms, for Linux, Windows and MacOS. You can find the source code, 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.
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
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
There are many ways to launch ROMs:
- With the launcher program, see preview image above
- By dragging .rom files onto the emulator window
- Via the terminal
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
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, 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.