Skip to content

hundredrabbits/awesome-uxn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Awesome Uxn Awesome

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