Awesome Uxn
Curated list of awesome Uxn projects from the community.
The Uxn ecosystem is a personal computing playground, created to host small tools and games, programmable in its own unique assembly language.
Documentation
Tutorials
Emulators
Desktop
- Uxn - Cross-platform emulator and assembler, written in C(SDL2).
- Uxn32 - Windows emulator, written in C.
- Uxn11 - Linux emulator, written in C.
- Raven - Cross-platform emulator, written in Rust.
- UxnFb - Linux framebuffer emulator, written in C.
- UxnRPI - RaspberryPi framebuffer emulator, written in C. (no input support)
- UxnAmiga - AmigaOS emulator, written in C. (no keyboard or joystick input, no audio support)
- UxnEssence - Essence emulator, written in C.
- UxnJulia - Cross-platform emulator and assembler, written in Julia.
- UxnLua - Cross-platform emulator, written in Lua(Love2d).
- Uxn38 - Emulator written in C with SDL1.
- Nux - Emulator written in Go.
- uxn-rs - Emulator written in Rust.
- ruxn - A Uxn library written in Rust, intended to make defining new Uxn-based systems easy.
- zuxn - A Uxn library, emulator and assembler written in Zig.
- uxnfloppy - Bootable emulator for BIOS, written in 16bit x86 assembly. (no keyboard/gamepad/audio/file support)
Other systems
Misc
- Libretro port - Libretro emulation layer.
- LearnUxn - Web assembler and emulator.
- Grid - Incomplete.
- Rockbox - Implemented: Core, Screen.
- Logisim - Incomplete.
- Adafruit PyBadge - Implemented: Core, Console, Screen, Controller.
- Webuxn - Lightweight port of the Uxn virtual machine to the web via WebAssembly.
- auxn - uxn running inside of an audio plugin (standalone mode included)
- UxnWasm - WebAssembly implementation of the Uxn core.
Simulators
- uxn.py - Python implementation of the VM.
- uxn.js - Javascript implementation of the VM.
Applications
Creative
- Left - Graphical plain-text editor with proportional fonts and Uxntal syntax highlight.
- Nasu - Spritesheet editor.
- Noodle - Drawing tool.
- Turye - Font editor.
- Orca - Livecoding IDE.
- uxn-harp - Chordal musical toy.
Utilities
- Dexe - Graphical hex editor.
- Calc - Graphical hexadecimal calculator.
- Clock - Graphical clock.
- Starling - Spreadsheet application.
- Beetbug - Step debugger.
Games
- Niju - Hiragana and katakana learning game.
- Donsol - Card game about exploring a dungeon made of a standard 54 poker card set.
- Flappy - Implementation of a Flappy Bird-like game.
- Pong - Recreation of the classic Pong game.
- Snake - Classic Snake game implementation.
- Cat Cubes - Puzzle game about matching and clearing tiles from a board.
- Minesweeper - Minesweeper port for Varvara.
- XO - TicTacToe for Varvara.
- Fourtette - Tetris for Varvara.
- Shanghai - Mahjong Solitaire for Varvara.
- Pinkie Run - Pony-themed Endless Runner for Varvara.
- oneko-uxn - A version of “Neko”, the classic desktop pet cat, with several characters.
- Lights Out - Puzzle game for Varvara.
- Worm - Dune themed snake game for Varvara.
- Kodiak - Klondike solitaire with music and bears.
- Tile Garden - Idle game where you place tiles to make plants.
Networking
- Xrxs - Experimental game server using the Plan 9 protocol 9p.
Operating systems/REPLs
Demos
- Bad-apple-uxn - Bad Apple!! video on a single Uxn ROM.
- tiles - A scrolling tile-map renderer.
- svitlyna - A "full-color" image viewer.
Libraries
- math32 - Unsigned 32-bit integers
- regex - Regex parsing and matching (repl)
- fix16 - Signed 16-bit fixed point numbers (8.8)
- alloc - Arena-based memory allocator
- arg - Command-line argument parsing (demo)
Terminal / Command-line
Development tools
IDEs
- Learn-uxn - A web-based development environment with a text editor and up-to-date versions of Uxnasm and Uxnemu.
Assemblers, compilers & disassemblers
- Uxnasm - The original implementation of the Uxntal assembler in about 400 lines of ANSI C.
- Asma - Uxntal assembler, written in Uxntal.
- Drifblim - Uxntal Assembler, written in Uxntal.
- Uxncle - Compiler for a small subset of C to Uxn bytecode.
- Pyuxncle - Python implementation of Uxncle.
- Conch - Compiler for a C-like language with Lisp-like syntax to Uxn bytecode.
- Uxnbruteforce - Tool for optimizing little pieces of Uxntal code.
- Uxnlin - Linter for Uxntal.
- Uxnbot - IRC bot for assembling and running small Uxntal snippets.
- Pyuxntaldisasm - Very basic disassembler for Uxn ROMs.
- Uxnasm-js - Uxntal assembler written in JavaScript.
- Uxn-disassembler - A rom disassembler writen in Uxntal
- Dotal - A small language designed to compile to the Uxn virtual machine.
- lunas - An Uxntal assembler written in Lua.
- chibicc-uxn - A C compiler for Uxn, written in C.
- nito - A compiler from Uxntal to C, written in Raku. See also the blog post.
- funktal - A small, statically typed, functional programming language that compiles to Uxntal. The compiler is written in Fortran. See also the blog post.
- Finwë - A high-level, stack-based language that compiles to Uxn bytecode.
Uxntal language support
Metadevelopment tools
Testing
- Reference test suite included in the
uxn-utils
repository: opctest.
- Reference rom to test the screen device compliance: screen.tal
- Others
Benchmarking
Community