1
0
Fork 0
mirror of https://git.sr.ht/~rabbits/uxn synced 2025-12-30 13:47:14 +00:00
No description
Find a file
Devine Lu Linvega 5e8c5ad73e Cleanup
2025-12-29 14:18:19 -08:00
archive Archived uxnasm 2025-12-28 16:56:51 -08:00
assets Archived uxnasm 2025-12-28 16:56:51 -08:00
fonts Archived uxnasm 2025-12-28 16:56:51 -08:00
pictures Archived uxnasm 2025-12-28 16:56:51 -08:00
sounds Archived uxnasm 2025-12-28 16:56:51 -08:00
LICENSE init 2021-01-29 11:17:59 -08:00
README.md Cleanup 2025-12-29 14:18:19 -08:00

Uxn

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

Contributing

Submit patches using git send-email to the ~rabbits/public-inbox mailing list.