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.

Learning

Documentation

  • Uxntal - Uxntal language reference manual.
  • Varvara - Technical documentation of the Varvara computer and a list of all its devices.
  • Opcodes - List of Uxntal opcodes and their effects.
  • Uxntal Cheatsheet - Opcode Cheatsheet.
  • RosettaCode - Uxntal programming chrestomathy.

File Formats

Emulators

Desktop

  • Recommended for Linux: Uxn2 - Cross-platform emulator, written in C(SDL2).
  • Recommended for Windows: Uxn32 - Windows emulator, written in C.
  • Recommended for Mac: Raven - Cross-platform emulator, written in Rust.
  • Uxn38 - Emulator written in C with SDL1.
  • Nux - Emulator written in Go.
  • Uxn11 - Linux emulator, written in C.
  • uxn9 - Native emulator for 9front. (no audio support)
  • uxn5 - Javascript implementation.
  • buxn - Multi platform emulator, written in C.
  • 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.
  • UxnFb - Linux framebuffer emulator, written in C.
  • uxnfloppy - Bootable emulator for BIOS, written in 16bit x86 assembly. (no keyboard/gamepad/audio/file support)
  • UxnRPI - RaspberryPi framebuffer emulator, written in C. (no input support)
  • UxnJulia - Cross-platform emulator and assembler, written in Julia.
  • UxnLua - Cross-platform emulator, written in Lua(Love2d).
  • uxn-rs - Emulator written in Rust.

Other systems

Web

  • UxnWasm - WebAssembly implementation of the Uxn core.
  • Webuxn - Lightweight port of the Uxn virtual machine to the web via WebAssembly.

Misc/Cores

  • uxnbot - a REPL.
  • uxn.py - Python implementation of the VM.
  • Uxncli - System, console and file devices only.
  • Uxnmin - Console only.
  • auxn - Incomplete.
  • buxn-dbg - Uxntal step debugger.
  • uxnbot - IRC bot for assembling and running small Uxntal snippets.

Applications

Creative

  • Left - Graphical text-editor with Uxntal syntax highlight.
  • Nasu - Spritesheet editor.
  • Noodle - Drawing tool.
  • Turye - Font editor.
  • Orca - Livecoding IDE.
  • uxn-harp - Chordal musical toy.

Utilities

Games

  • Oquonie - Puzzle adventure game.
  • 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.
  • 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.
  • Polycat - Platformer game.

Operating systems/REPLs

  • UF - A traditional Forth system for Varvara.
  • PotatoOS - A little desktop environment.
  • CollapseOS - Forth-based operating system for Varvara.
  • Uxnfth - Uxn-native forth.
  • TalOS - A small Uxntal REPL and System Monitor/OS written in Uxntal.

Demos

  • Bad Apple!! - An arrangement of the Bad Apple!! music video.
  • tiles - A scrolling tile-map renderer.
  • svitlyna - A "full-color" image viewer.
  • Bunnymark - Render performance benchmark.

Libraries

  • math32 - Unsigned 32-bit integers
  • regex - Regex parsing and matching
  • fix16 - Signed 16-bit fixed point numbers (8.8)
  • alloc - Arena-based memory allocator
  • arg - Command-line argument parsing

Terminal / Command-line

  • femto - nano-like text editor
  • grep - minimal grep-like tool(uses regex.tal)
  • Xrxs - Experimental game server using the Plan 9 protocol 9p.

Development tools

Uxntal Assemblers

  • Recommended: Drifblim - Uxntal Assembler, written in Uxntal.
  • buxn-asm - Uxntal assembler with a type checker.
  • Uxnasm-js - Uxntal assembler written in JavaScript.
  • lunas - An Uxntal assembler written in Lua.
  • Yaku - An Uxntal assembler and interpreter.

Uxntal Disassemblers

Uxntal Formatters/Optimizers

  • Recommended: uxnfor - a formatter for tal files.
  • Uxnbruteforce - Tool for optimizing little pieces of Uxntal code.
  • Uxnlin - Linter for Uxntal.

Languages that target Uxn

  • Finwë - A high-level, stack-based language that compiles to Uxn bytecode.
  • Conch - Compiler for a C-like language with Lisp-like syntax to Uxn bytecode.
  • Dotal - A small language designed to compile to the Uxn virtual machine.
  • chibicc-uxn - A C compiler for Uxn, written in C.
  • nito - A compiler from Uxntal to C, written in Raku.
  • funktal - A small, statically typed, functional programming language that compiles to Uxntal.
  • Uxncle - Compiler for a small subset of C to Uxn bytecode.
  • B - Compiler for the B Programming Language implemented in Crust, has support for uxn target.
  • niënor - Optimizing compiler for a Lisp dialect.
  • SUPERFLY - Concatenative array language.
  • Callisto - Low level compiled programming language with a uxn backend.

Uxntal language support

Community

About

Awesome things from the community

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published