{"id":13518280,"url":"https://github.com/hundredrabbits/awesome-uxn","last_synced_at":"2025-03-31T09:31:22.581Z","repository":{"id":37250245,"uuid":"408632652","full_name":"hundredrabbits/awesome-uxn","owner":"hundredrabbits","description":"Awesome things from the community","archived":false,"fork":false,"pushed_at":"2024-04-08T14:53:11.000Z","size":139,"stargazers_count":611,"open_issues_count":3,"forks_count":29,"subscribers_count":23,"default_branch":"main","last_synced_at":"2024-04-14T09:51:39.113Z","etag":null,"topics":["awesome-list","uxn"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hundredrabbits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-09-20T23:42:24.000Z","updated_at":"2024-04-18T20:37:29.041Z","dependencies_parsed_at":"2023-02-04T16:31:57.971Z","dependency_job_id":"278ac16b-ab1c-4c30-86ff-29226255d8b3","html_url":"https://github.com/hundredrabbits/awesome-uxn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hundredrabbits%2Fawesome-uxn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hundredrabbits%2Fawesome-uxn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hundredrabbits%2Fawesome-uxn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hundredrabbits%2Fawesome-uxn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hundredrabbits","download_url":"https://codeload.github.com/hundredrabbits/awesome-uxn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246350950,"owners_count":20763230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome-list","uxn"],"created_at":"2024-08-01T05:01:43.191Z","updated_at":"2025-03-31T09:31:22.571Z","avatar_url":"https://github.com/hundredrabbits.png","language":null,"funding_links":[],"categories":["Technical","Other Lists","🎮 Gaming \u0026 Graphics","Others"],"sub_categories":["awesome-*","TeX Lists","🏆 Top 25"],"readme":"# Awesome Uxn [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\nCurated list of awesome Uxn projects from the community.\n\nThe [Uxn](https://100r.co/site/uxn.html) ecosystem is a personal computing playground, created to host small tools and games, programmable in its own unique assembly language.\n\n- [Awesome Uxn](https://github.com/hundredrabbits/awesome-uxn#awesome-uxn-)\n  - [Documentation](https://github.com/hundredrabbits/awesome-uxn#documentation)\n  - [Tutorials](https://github.com/hundredrabbits/awesome-uxn#tutorials)\n  - [Emulators](https://github.com/hundredrabbits/awesome-uxn#emulators)\n    - [Desktop](https://github.com/hundredrabbits/awesome-uxn#desktop)\n    - [Other Systems](https://github.com/hundredrabbits/awesome-uxn#other-systems)\n    - [Misc](https://github.com/hundredrabbits/awesome-uxn#misc)\n    - [Simulator](https://github.com/hundredrabbits/awesome-uxn#simulators)\n  - [Applications](https://github.com/hundredrabbits/awesome-uxn#applications)\n    - [Creative](https://github.com/hundredrabbits/awesome-uxn#creative)\n    - [Utilities](https://github.com/hundredrabbits/awesome-uxn#utilities)\n    - [Games](https://github.com/hundredrabbits/awesome-uxn#games)\n    - [Networking](https://github.com/hundredrabbits/awesome-uxn#networking)\n    - [Operating Systems / REPLs](https://github.com/hundredrabbits/awesome-uxn#operating--systemsrepls)\n    - [Demos](https://github.com/hundredrabbits/awesome-uxn#demos)\n    - [Libraries](https://github.com/hundredrabbits/awesome-uxn#libraries)\n    - [Terminal / Command-Line](https://github.com/hundredrabbits/awesome-uxn#terminal--command-line)\n  - [Development Tools](https://github.com/hundredrabbits/awesome-uxn#development-tools)\n    - [IDEs](https://github.com/hundredrabbits/awesome-uxn#ides)\n    - [Assemblers, Compilers \u0026 Disassemblers](https://github.com/hundredrabbits/awesome-uxn#assemblers-compilers--disassemblers)\n    - [Uxntal Language Support](https://github.com/hundredrabbits/awesome-uxn#uxntal-language-support)\n  - [Metadevelopment Tools](https://github.com/hundredrabbits/awesome-uxn#metadevelopment-tools)\n    - [Testing](https://github.com/hundredrabbits/awesome-uxn#testing)\n    - [Benchmarking](https://github.com/hundredrabbits/awesome-uxn#benchmarking)\n  - [Community](https://github.com/hundredrabbits/awesome-uxn#community) \n\n## Documentation\n\n- [Varvara](https://wiki.xxiivv.com/site/varvara.html) - Technical documentation of the Varvara computer and a list of all its devices.\n- [Uxntal](https://wiki.xxiivv.com/site/uxntal.html) - Uxntal language reference manual.\n- [Uxntal opcode manual](https://wiki.xxiivv.com/site/uxntal_reference.html) - List of Uxntal opcodes and their effects.\n- [Sprite format](https://wiki.xxiivv.com/site/chr_format.html) - `.chr` file format description.\n- [Font format](https://wiki.xxiivv.com/site/ufx_format.html) - `.ufx` file format description.\n- [Uxntal Cheatsheet](https://github.com/weeble/uxn-cheatsheet) - Opcode Cheatsheet.\n\n## Tutorials\n\n- [Uxn Tutorial by Compudanzas](https://compudanzas.net/uxn_tutorial.html) - Beginner-friendly tutorial guide which covers the basics of Uxn programming.\n- [Uxn Tutorial by Compudanzas(video)](https://www.youtube.com/watch?v=LrNuq_JgaOA) - Beginner-friendly video workshop which covers the basics of Uxn programming.\n- [Learn Uxntal in Y minutes](https://learnxinyminutes.com/docs/uxntal/) - Quick Uxntal guide.\n- [Uxn implementation guide](https://github.com/DeltaF1/uxn-impl-guide) - Notes on how to implement the Uxn/Varvara virtual machine specification.\n- [macOS installation](https://eli.li/2021/09/27/how-to-install-uxn-on-macos)\n- [Windows installation](https://itch.io/t/1605965/a-quick-guide-to-running-this-software)\n- [Android installation](https://llllllll.co/t/uxn-virtual-computer/46103/253) - Guide for running Uxn on the Android operating system through Termux.\n- [HaikuOS](https://discuss.haiku-os.org/t/uxn-ecosystem-on-haiku/12209) - Forum thread for the Haiku operating system.\n\n## Emulators\n\n### Desktop\n\n  - [Uxn](https://git.sr.ht/~rabbits/uxn) - Cross-platform emulator and assembler, written in C(SDL2).\n  - [Uxn32](https://github.com/randrew/uxn32) - Windows emulator, written in C.\n  - [Uxn11](https://git.sr.ht/~rabbits/uxn11) - Linux emulator, written in C.\n  - [Raven](https://github.com/mkeeter/raven) - Cross-platform emulator, written in Rust.\n  - [UxnFb](https://git.badd10de.dev/uxnfb) - Linux framebuffer emulator, written in C.\n  - [UxnRPI](https://git.badd10de.dev/uxnrpi) - RaspberryPi framebuffer emulator, written in C. (no input support)\n  - [UxnAmiga](https://code.mathr.co.uk/uxn-amiga) - AmigaOS emulator, written in C. (no keyboard or joystick input, no audio support)\n  - [UxnEssence](https://gitlab.com/nakst/essence/-/tree/master/ports/uxn) - [Essence](https://gitlab.com/nakst/essence) emulator, written in C.\n  - [UxnJulia](https://github.com/Ismael-VC/Varvara.jl) - Cross-platform emulator and assembler, written in Julia.\n  - [UxnLua](https://github.com/DeltaF1/uxn-lua) - Cross-platform emulator, written in Lua(Love2d).\n  - [Uxn38](http://zzo38computer.org/fossil/uxn.ui) - Emulator written in C with SDL1.\n  - [Nux](https://github.com/nf/nux) - Emulator written in Go.\n  - [uxn-rs](https://github.com/Liorst4/uxn-rs) - Emulator written in Rust.\n  - [ruxn](https://github.com/CrashAndSideburns/ruxn) - A Uxn library written in Rust, intended to make defining new Uxn-based systems easy.\n  - [zuxn](https://github.com/chmod222/zuxn) - A Uxn library, emulator and assembler written in Zig.\n  - [uxnfloppy](https://git.sr.ht/~gustav/uxnfloppy) - Bootable emulator for BIOS, written in 16bit x86 assembly. (no keyboard/gamepad/audio/file support)\n\n### Other systems\n\n  - [FPGA](https://github.com/tsalvo/uxn-fpga) - Nearly Complete.\n  - [RPi](https://github.com/ar-nelson/uxnpi) - Nearly Complete.\n  - [Game Boy Advance](https://git.badd10de.dev/uxngba) - Complete.\n  - [Nintendo 64](https://git.badd10de.dev/uxn64) - Complete.\n  - [Nintendo DS](https://github.com/asiekierka/uxnds) - Complete.\n  - [Playdate](https://git.sr.ht/~rabbits/uxn-playdate) - Complete.\n  - [Nook eReader](https://git.badd10de.dev/uxnnst/) - Complete.\n  - [Nokia N900](https://git.sr.ht/~foura/uxn900) - Partial.\n  - [Game Boy](https://github.com/tbsp/uxngb) - Experimental.\n  - [DOS](https://git.sr.ht/~rabbits/uxn-vga) - Implemented: Core, Screen, Mouse, Controller.\n  - [Teletype](https://github.com/csboling/teluxn) - Incomplete.\n  - [ESP32](https://github.com/max22-/uxn-esp32) - Incomplete.\n  - [iOS](https://github.com/paiv/uxn-ios) - Nearly Complete (missing midi and controller).\n  - [iOS](https://github.com/kylestew/UxniOS) - Incomplete.\n  - [STM32](https://github.com/kylestew/armuxn) - Incomplete.\n  - [STM32duino](https://github.com/cassvs/arduxno-demo) - Incomplete.\n  - [IBM PC](https://github.com/cr1901/pcuxn) - Incomplete.\n  - [PlayStation Vita](https://github.com/ivodopiviz/uxnvita) - Incomplete.\n  - [PlayStation Portable](https://codeberg.org/tbsp/VarvaraPSP) - Nearly Complete (missing keyboard).\n  - [Atari ST](https://framagit.org/Bartitsu59/stuxn) - Incomplete.\n\n### Misc\n\n  - [Libretro port](https://github.com/kivutar/uxn) - [Libretro](https://www.libretro.com/) emulation layer.\n  - [LearnUxn](https://git.sr.ht/~metasyn/learn-uxn/) - Web assembler and emulator.\n  - [Grid](https://tildegit.org/nihilazo/grid-uxn) - Incomplete.\n  - [Rockbox](https://tilde.town/~nihilazo/varvara_rockbox.html) - Implemented: Core, Screen.\n  - [Logisim](https://github.com/DeltaF1/uxn-logisim) - Incomplete.\n  - [Adafruit PyBadge](https://git.sr.ht/~poyu/uxn-pybadge) - Implemented: Core, Console, Screen, Controller.\n  - [Webuxn](https://github.com/aduros/webuxn) - Lightweight port of the Uxn virtual machine to the web via WebAssembly.\n  - [auxn](https://github.com/saucesaft/auxn) - uxn running inside of an audio plugin (standalone mode included)\n  - [UxnWasm](https://github.com/remko/uxn.wasm) - WebAssembly implementation of the Uxn core.\n\n### Simulators\n\n  - [uxn.py](https://github.com/max22-/uxnemu.py) - Python implementation of the VM.\n  - [uxn.js](https://git.sr.ht/~rabbits/uxn5) - Javascript implementation of the VM.\n\n## Applications\n\n### Creative\n\n  - [Left](https://wiki.xxiivv.com/site/left.html) - Graphical plain-text editor with proportional fonts and Uxntal syntax highlight.\n  - [Nasu](https://wiki.xxiivv.com/site/nasu.html) - Spritesheet editor.\n  - [Noodle](https://wiki.xxiivv.com/site/noodle.html) - Drawing tool.\n  - [Turye](https://wiki.xxiivv.com/site/turye.html) - Font editor.\n  - [Orca](https://wiki.xxiivv.com/site/orca.html) - Livecoding IDE.\n  - [uxn-harp](https://github.com/lynn/uxn-harp) - Chordal musical toy.\n\n### Utilities\n\n  - [Dexe](https://wiki.xxiivv.com/site/dexe.html) - Graphical hex editor.\n  - [Calc](https://git.sr.ht/~rabbits/uxn/tree/main/item/projects/software/calc.tal) - Graphical hexadecimal calculator.\n  - [Clock](https://git.sr.ht/~rabbits/uxn/tree/main/item/projects/examples/devices/datetime.tal) - Graphical clock.\n  - [Starling](https://git.sr.ht/~cabrendan/starling) - Spreadsheet application.\n  - [Beetbug](https://git.sr.ht/~rabbits/beetbug) - Step debugger.\n\n### Games\n\n  - [Niju](https://hundredrabbits.itch.io/niju) - Hiragana and katakana learning game.\n  - [Donsol](https://hundredrabbits.itch.io/donsol) - Card game about exploring a dungeon made of a standard 54 poker card set.\n  - [Flappy](https://github.com/keijiro/uxn-sketches/blob/main/flappy.tal) - Implementation of a Flappy Bird-like game.\n  - [Pong](https://compudanzas.net/uxn_tutorial_day_6.html) - Recreation of the classic Pong game.\n  - [Snake](https://git.sr.ht/~rabbits/uxn/tree/main/item/projects/examples/demos/snake.tal) - Classic Snake game implementation.\n  - [Cat Cubes](https://pup.town/catcubes.html) - Puzzle game about matching and clearing tiles from a board.\n  - [Minesweeper](https://git.sr.ht/~rabbits/minesweeper) - Minesweeper port for Varvara.\n  - [XO](https://garden.bouncepaw.com/hypha/xo.tal) - TicTacToe for Varvara.\n  - [Fourtette](https://github.com/nf/fourtette) - Tetris for Varvara.\n  - [Shanghai](https://github.com/lynn/shanghai) - Mahjong Solitaire for Varvara.\n  - [Pinkie Run](https://github.com/Jaezmien/pinkie-run) - Pony-themed Endless Runner for Varvara.\n  - [oneko-uxn](https://github.com/hikari-no-yume/oneko-uxn) - A version of “Neko”, the classic desktop pet cat, with several characters.\n  - [Lights Out](https://github.com/origedit/lights-out) - Puzzle game for Varvara.\n  - [Worm](https://github.com/origedit/worm) - Dune themed snake game for Varvara.\n  - [Kodiak](https://git.phial.org/d6/kodiak) - Klondike solitaire with music and bears.\n  - [Tile Garden](https://kylep.itch.io/tile-garden) - Idle game where you place tiles to make plants.\n\n### Networking\n\n  - [Xrxs](https://nilfm.cc/git/xrxs/about/) - Experimental game server using the Plan 9 protocol 9p.\n\n### Operating systems/REPLs\n\n  - [UF](http://www.call-with-current-continuation.org/uf/uf.html) - A traditional Forth system for Varvara.\n  - [CollapseOS](https://github.com/schierlm/collapseos-uxn) - Forth-based [operating system](http://collapseos.org/) for Varvara.\n  - [Uxnfth](https://git.sr.ht/~binarycat/uxnfth) - Uxn-native forth.\n  - [PotatoOS](http://wiki.xxiivv.com/site/potato.html) - A little desktop environment.\n  - [Varaboy](https://github.com/tbsp/varaboy) - Gameboy Emulator.\n\n### Demos\n\n  - [Bad-apple-uxn](https://github.com/karolbelina/bad-apple-uxn) - Bad Apple!! video on a single Uxn ROM.\n  - [tiles](https://codeberg.org/kira/uxn-demos/src/branch/master/tiles.tal) - A scrolling tile-map renderer.\n  - [svitlyna](https://github.com/gardenappl/svitlyna) - A \"full-color\" image viewer.\n\n### Libraries\n\n  - [math32](https://git.phial.org/d6/nxu/raw/branch/main/math32.tal) - Unsigned 32-bit integers\n  - [regex](https://git.phial.org/d6/nxu/raw/branch/main/regex.tal) - Regex parsing and matching ([repl](https://git.phial.org/d6/nxu/raw/branch/main/repl-regex.tal))\n  - [fix16](https://git.phial.org/d6/nxu/raw/branch/main/fix16.tal) - Signed 16-bit fixed point numbers (8.8)\n  - [alloc](https://git.phial.org/d6/nxu/raw/branch/main/alloc.tal) - Arena-based memory allocator\n  - [arg](https://git.phial.org/d6/nxu/raw/branch/main/arg.tal) - Command-line argument parsing ([demo](https://git.phial.org/d6/nxu/raw/branch/main/arg-demo.tal))\n\n### Terminal / Command-line\n\n  - [femto](https://git.phial.org/d6/nxu/raw/branch/main/femto.tal) - nano-like text editor ([about](https://git.phial.org/d6/nxu/raw/branch/main/femto.txt) / [launcher](https://git.phial.org/d6/nxu/raw/branch/main/femto) / [rom](http://plastic-idolatry.com/erik/nxu/femto.rom))\n  - [grep](https://git.phial.org/d6/nxu/raw/branch/main/grep.tal) - minimal grep-like tool (uses regex.tal)\n\n## Development tools\n\n### IDEs\n\n  - [Learn-uxn](https://metasyn.srht.site/learn-uxn/) - A web-based development environment with a text editor and up-to-date versions of Uxnasm and Uxnemu.\n\n### Assemblers, compilers \u0026 disassemblers\n\n  - [Uxnasm](https://git.sr.ht/~rabbits/uxn/tree/main/item/src/uxnasm.c) - The original implementation of the Uxntal assembler in about 400 lines of ANSI C.\n  - [Asma](https://git.sr.ht/~rabbits/uxn/tree/main/item/projects/software/asma.tal) - Uxntal assembler, written in Uxntal.\n  - [Drifblim](https://wiki.xxiivv.com/site/drifblim.html) - Uxntal Assembler, written in Uxntal.\n  - [Uxncle](https://github.com/CPunch/Uxncle) - Compiler for a small subset of C to Uxn bytecode.\n  - [Pyuxncle](https://github.com/CPunch/Pyuxncle) - Python implementation of Uxncle.\n  - [Conch](https://github.com/Armael/conch) - Compiler for a C-like language with Lisp-like syntax to Uxn bytecode.\n  - [Uxnbruteforce](https://github.com/max22-/uxnbruteforce) - Tool for optimizing little pieces of Uxntal code.\n  - [Uxnlin](https://git.sr.ht/~rabbits/uxnlin) - Linter for Uxntal.\n  - [Uxnbot](https://git.sr.ht/~alderwick/uxnbot) - IRC bot for assembling and running small Uxntal snippets.\n  - [Pyuxntaldisasm](https://github.com/DeltaF1/pyuxntaldisasm) - Very basic disassembler for Uxn ROMs.\n  - [Uxnasm-js](https://github.com/rafapaezbas/uxnasm-js) - Uxntal assembler written in JavaScript.\n  - [Uxn-disassembler](https://github.com/Liorst4/uxn-disassembler) - A rom disassembler writen in Uxntal \n  - [Dotal](https://github.com/HParker/dotal) - A small language designed to compile to the Uxn virtual machine.\n  - [lunas](https://github.com/ThaCuber/lunas) - An Uxntal assembler written in Lua.\n  - [chibicc-uxn](https://github.com/lynn/chibicc) - A C compiler for Uxn, written in C.\n  - [nito](https://codeberg.org/wimvanderbauwhede/nito) - A compiler from Uxntal to C, written in Raku. See also the [blog post](https://limited.systems/articles/uxntal-to-C/).\n  - [funktal](https://codeberg.org/wimvanderbauwhede/funktal) - A small, statically typed, functional programming language that compiles to Uxntal. The compiler is written in Fortran. See also the [blog post](https://limited.systems/articles/funktal).\n  - [Finwë](https://github.com/kiedtl/finwe) - A high-level, stack-based language that compiles to Uxn bytecode.\n\n### Uxntal language support\n\n  - [Atom language package](https://atom.io/packages/language-uxntal)\n  - [Emacs mode](https://github.com/non/uxntal-mode) ([alt 1](https://github.com/xaderfos/uxntal-mode) [alt 2](https://github.com/rafapaezbas/uxntal-mode))\n  - [Kate syntax](https://github.com/pfych/uxntal-kate-syntax)\n  - [Kakoune plugin](https://git.sr.ht/~athorp96/uxntal.kak)\n  - [Lite XL plugin](https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/language_tal.lua)\n  - [Micro syntax](https://hacklab.nilfm.cc/dotfiles/blob/main/micro/syntax/uxn.yaml)\n  - [Nano syntax](https://git.phial.org/d6/nxu/src/branch/main/tal.nanorc) ([alt 1](https://codeberg.org/sejo/uxntal.nanorc) [alt 2](https://git.sr.ht/~cassvs/uxntal-nano))\n  - [Sublime syntax](https://git.sr.ht/~rabbits/uxn/tree/main/item/etc/syntax-highlight/tal.sublime-syntax)\n  - [Vim plugin](https://github.com/karolbelina/uxntal.vim)\n  - [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=karolbelina.uxntal)\n\n## Metadevelopment tools\n\n### Testing\n  - Reference test suite included in the `uxn-utils` repository: [opctest](https://git.sr.ht/~rabbits/uxn-utils/blob/main/cli/opctest/opctest.tal).\n  - Reference rom to test the screen device compliance: [screen.tal](https://git.sr.ht/~rabbits/uxn/blob/main/projects/examples/devices/screen.tal)\n  - Others\n    * [Uxn-instruction-tests](https://github.com/DeltaF1/uxn-instruction-tests) - Test suite for the Uxn CPU instruction set.\n\n### Benchmarking\n\n  - [Bunnymark](https://codeberg.org/kira/uxn-demos/src/branch/master/bunnymark.tal) - Render performance benchmark.\n\n## Community\n\n- [Lines](https://llllllll.co/t/uxn-virtual-computer/46103)\n- [#uxn on irc.libera.net](https://web.libera.chat/gamja/?channels=%23uxn)\n- [#uxn on Merveilles](https://merveilles.town/tags/uxn)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhundredrabbits%2Fawesome-uxn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhundredrabbits%2Fawesome-uxn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhundredrabbits%2Fawesome-uxn/lists"}