Skip to content

Latest commit

 

History

History
238 lines (192 loc) · 16.5 KB

README.md

File metadata and controls

238 lines (192 loc) · 16.5 KB

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