uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

README.md (14883B)


      1 # Uxn
      2 
      3 ## Learning
      4 
      5 - [Learn Uxntal in Y minutes](https://learnxinyminutes.com/docs/uxntal/) - Language overview for when you're in a hurry.
      6 - [Uxn Guide by Compudanzas](https://compudanzas.net/uxn_tutorial.html) - Tutorial guide which covers the basics of Uxn programming.
      7 - [Uxn Video by Compudanzas](https://www.youtube.com/watch?v=LrNuq_JgaOA) - Video workshop which covers the basics of Uxn programming.
      8 - [macOS installation](https://eli.li/how-to-install-uxn-on-macos)
      9 - [Windows installation](https://itch.io/t/1605965/a-quick-guide-to-running-this-software)
     10 - [Android installation](https://llllllll.co/t/uxn-virtual-computer/46103/253) - Through Termux.
     11 - [HaikuOS installation](https://discuss.haiku-os.org/t/uxn-ecosystem-on-haiku/12209) - Forum thread for the Haiku operating system.
     12 - [Learn-uxn](https://metasyn.srht.site/learn-uxn/) - A web-based learning environment with a text editor and graphics.
     13 - [UxnREPL](https://wiki.xxiivv.com/etc/uxnrepl/) - A web-based learning with examples.
     14 
     15 ## Documentation
     16 
     17 - [Uxntal](https://wiki.xxiivv.com/site/uxntal.html) - Uxntal language reference manual.
     18 - [Varvara](https://wiki.xxiivv.com/site/varvara.html) - Technical documentation of the Varvara computer and a list of all its devices.
     19 - [Opcodes](https://wiki.xxiivv.com/site/uxntal_reference.html) - List of Uxntal opcodes and their effects.
     20 - [Uxntal Cheatsheet](https://github.com/weeble/uxn-cheatsheet) - Opcode Cheatsheet.
     21 - [RosettaCode](https://rosettacode.org/wiki/Category:Uxntal) - Uxntal programming chrestomathy.
     22 
     23 ## File Formats
     24 
     25 - [Sprite format](https://wiki.xxiivv.com/site/chr_format.html) - `.chr` file format description.
     26 - [Font format](https://wiki.xxiivv.com/site/ufx_format.html) - `.ufx` file format description.
     27 - [Compression format](https://wiki.xxiivv.com/site/ulz_format.html) - `.ulz` file format description.
     28 
     29 ## Emulators
     30 
     31 ### Desktop
     32 
     33 - **Recommended for Linux/Mac**: [Uxn2](https://git.sr.ht/~rabbits/uxn2) - Cross-platform emulator, written in C(SDL2).
     34 - **Recommended for Windows**: [Uxn32](https://github.com/randrew/uxn32) - Windows emulator, written in C.
     35 - **Recommended for Linux(no desktop)**: [uxn-lfb](https://git.phial.org/d6/uxn-lfb) - Graphical emulator, written in C.
     36 - [Uxn38](http://zzo38computer.org/fossil/uxn.ui) - Emulator written in C with SDL1.
     37 - [Nux](https://github.com/nf/nux) - Emulator written in Go.
     38 - [Uxn11](https://git.sr.ht/~rabbits/uxn11) - Linux emulator, written in C.
     39 - [uxn9](https://github.com/krzysckh/uxn9) - Native emulator for 9front. (no audio support)
     40 - [uxn5](https://git.sr.ht/~rabbits/uxn5) - Javascript implementation.
     41 - [buxn](https://github.com/bullno1/buxn) - Multi platform emulator, written in C.
     42 - [ruxn](https://codeberg.org/mra/ruxn) - A Uxn library written in Rust, intended to make defining new Uxn-based systems easy.
     43 - [zuxn](https://github.com/chmod222/zuxn) - A Uxn library, emulator and assembler written in Zig.
     44 - [UxnFb](https://git.badd10de.dev/uxnfb) - Linux framebuffer emulator, written in C.
     45 - [uxnfloppy](https://git.sr.ht/~gustav/uxnfloppy) - Bootable emulator for BIOS, written in 16bit x86 assembly. (no keyboard/gamepad/audio/file support)
     46 - [UxnRPI](https://git.badd10de.dev/uxnrpi) - RaspberryPi framebuffer emulator, written in C. (no input support)
     47 - [UxnJulia](https://github.com/Ismael-VC/Varvara.jl) - Cross-platform emulator and assembler, written in Julia.
     48 - [UxnLua](https://codeberg.org/tbsp/uxnlua/) - Emulator written in Lua.
     49 - [uxn-rs](https://github.com/Liorst4/uxn-rs) - Emulator written in Rust.
     50 - [uxnk](https://github.com/makohn/uxnk) - Emulator written in Kotlin.
     51 - [Kestrel](https://git.rhzm.org/lobo/kestrel) - Emulator written in OCaml. (System, Console, File, DateTime)
     52 
     53 ### Other systems
     54 
     55 - [Game Boy Advance](https://git.badd10de.dev/uxngba) - Complete.
     56 - [Nintendo 64](https://git.badd10de.dev/uxn64) - Complete.
     57 - [Nintendo DS](https://github.com/asiekierka/uxnds) - Complete.
     58 - [Playdate](https://git.sr.ht/~rabbits/uxn-playdate) - Complete.
     59 - [Nook eReader](https://git.badd10de.dev/uxnnst/) - Complete.
     60 - [Android](https://github.com/bullno1/buxn) - Complete.
     61 - [m5Stick](https://git.sr.ht/~rabbits/uxn-m5stickc) - Complete.
     62 - [Wonderswan Color](https://codeberg.org/asie/uxnws) - Partial.
     63 - [FPGA](https://github.com/tsalvo/openfpga-varvara) - Partial.
     64 - [RPi](https://github.com/ar-nelson/uxnpi) - Partial.
     65 - [AgonLight2/eZ80](https://git.phial.org/d6/uxn-agon) - Cli.
     66 - [Game Boy](https://github.com/tbsp/uxngb) - Incomplete.
     67 - [DOS](https://git.sr.ht/~rabbits/uxn-vga) - Incomplete.
     68 - [Teletype](https://github.com/csboling/teluxn) - Incomplete.
     69 - [ESP32](https://github.com/max22-/uxn-esp32) - Incomplete.
     70 - [iOS](https://github.com/paiv/uxn-ios) - Incomplete.
     71 - [iOS](https://github.com/kylestew/UxniOS) - Incomplete.
     72 - [STM32duino](https://github.com/cassvs/arduxno-demo) - Incomplete.
     73 - [IBM PC](https://github.com/cr1901/pcuxn) - Incomplete.
     74 - [PlayStation Vita](https://github.com/ivodopiviz/uxnvita) - Incomplete.
     75 - [PlayStation Portable](https://codeberg.org/tbsp/VarvaraPSP) - Incomplete.
     76 - [Atari ST](https://framagit.org/Bartitsu59/stuxn) - Incomplete.
     77 - [Pebble OS](https://git.sr.ht/~angelwood/uxn-pebble) - Incomplete.
     78 - [Adafruit PyBadge](https://git.sr.ht/~poyu/uxn-pybadge) - Incomplete.
     79 - [Logisim](https://github.com/DeltaF1/uxn-logisim) - Incomplete.
     80 - [Palm](https://codeberg.org/tbsp/uxnpalm) - Incomplete.
     81 
     82 ### Web
     83 
     84 - [UxnWasm](https://github.com/remko/uxn.wasm) - WebAssembly implementation of the Uxn core.
     85 - [Webuxn](https://github.com/aduros/webuxn) - Lightweight port of the Uxn virtual machine to the web via WebAssembly.
     86 
     87 ### Misc/Cores
     88 
     89 - [uxnbot](https://git.sr.ht/~rabbits/uxnbot) - a REPL.
     90 - [uxn.py](https://github.com/max22-/uxnemu.py) - Python implementation of the VM.
     91 - [Uxncli](https://git.sr.ht/~rabbits/uxncli) - System, console and file devices only.
     92 - [auxn](https://github.com/saucesaft/auxn) - Incomplete.
     93 - [buxn-dbg](https://github.com/bullno1/buxn-dbg) - Uxntal step debugger.
     94 - [uxnbot](https://git.sr.ht/~alderwick/uxnbot) - IRC bot for assembling and running small Uxntal snippets.
     95 
     96 ### Uxnmin
     97 
     98 Implementations of the core and console.
     99 
    100 - [C89](https://git.sr.ht/~rabbits/uxnmin) - Console only.
    101 - [OCaml](https://wiki.xxiivv.com/etc/uxnmin.ml.txt) - Console only.
    102 - [Tal](http://wiki.xxiivv.com/etc/uxnmin.tal.txt) - Console only.
    103 
    104 ## Applications
    105 
    106 ### Creative
    107 
    108 - [Left](https://wiki.xxiivv.com/site/left.html) - Graphical text-editor with Uxntal syntax highlight.
    109 - [Nasu](https://wiki.xxiivv.com/site/nasu.html) - Spritesheet editor.
    110 - [Noodle](https://wiki.xxiivv.com/site/noodle.html) - Drawing tool.
    111 - [Turye](https://wiki.xxiivv.com/site/turye.html) - Font editor.
    112 - [Orca](https://wiki.xxiivv.com/site/orca.html) - Livecoding IDE.
    113 - [uxn-harp](https://github.com/lynn/uxn-harp) - Chordal musical toy.
    114 - [accordeon.fucker](https://git.lunabee.space/accordion.fucker/) - Uxntal accordion softsynth.
    115 
    116 ### Utilities
    117 
    118 - [Notepad](https://wiki.xxiivv.com/site/notepad.html) - Notepad.
    119 - [Calendar](https://wiki.xxiivv.com/site/calendar.html) - Calendar.
    120 - [Theme](https://wiki.xxiivv.com/site/theme.html) - Theme editor.
    121 - [Dexe](https://wiki.xxiivv.com/site/dexe.html) - Graphical hex editor.
    122 - [CCCC](https://wiki.xxiivv.com/site/cccc.html) - Graphical calculator.
    123 - [Nebu](https://wiki.xxiivv.com/site/nebu.html) - Spreadsheet calculator.
    124 - [Starling](https://git.sr.ht/~cabrendan/starling) - Spreadsheet application.
    125 - [Beetbug](https://git.sr.ht/~rabbits/beetbug) - Step debugger.
    126 - [Varaboy](https://github.com/tbsp/varaboy) - Gameboy Emulator.
    127 
    128 ### Games
    129 
    130 - [Oquonie](https://hundredrabbits.itch.io/oquonie) - Puzzle adventure game.
    131 - [Niju](https://hundredrabbits.itch.io/niju) - Hiragana and katakana learning game.
    132 - [Donsol](https://hundredrabbits.itch.io/donsol) - Card game about exploring a dungeon made of a standard 54 poker card set.
    133 - [Flappy](https://github.com/keijiro/uxn-sketches/blob/main/flappy.tal) - Implementation of a Flappy Bird-like game.
    134 - [Pong](https://compudanzas.net/uxn_tutorial_day_6.html) - Recreation of the classic Pong game.
    135 - [Cat Cubes](https://pup.town/catcubes.html) - Puzzle game about matching and clearing tiles from a board.
    136 - [Minesweeper](https://codeberg.org/yorshex/minesweeper-uxn) - Minesweeper port for Varvara.
    137 - [XO](https://garden.bouncepaw.com/hypha/xo.tal) - TicTacToe for Varvara.
    138 - [Fourtette](https://github.com/nf/fourtette) - Tetris for Varvara.
    139 - [Shanghai](https://github.com/lynn/shanghai) - Mahjong Solitaire for Varvara.
    140 - [Pinkie Run](https://github.com/Jaezmien/pinkie-run) - Pony-themed Endless Runner for Varvara.
    141 - [oneko-uxn](https://github.com/hikari-no-yume/oneko-uxn) - A version of “Neko”, the classic desktop pet cat, with several characters.
    142 - [Lights Out](https://github.com/origedit/lights-out) - Puzzle game for Varvara.
    143 - [Worm](https://github.com/origedit/worm) - Dune themed snake game for Varvara.
    144 - [Kodiak](https://git.phial.org/d6/kodiak) - Klondike solitaire with music and bears.
    145 - [Tile Garden](https://kylep.itch.io/tile-garden) - Idle game where you place tiles to make plants.
    146 - [Polycat](https://hundredrabbits.itch.io/polycat) - Platformer game.
    147 - [Kamiokande dreams](https://codeberg.org/neuschaefer/dreams#readme) - A surreal comic series.
    148 
    149 ### Operating systems/REPLs
    150 
    151 - [UF](http://www.call-with-current-continuation.org/uf/uf.html) - A traditional Forth system for Varvara.
    152 - [PotatoOS](http://wiki.xxiivv.com/site/potato.html) - A little desktop environment.
    153 - [CollapseOS](https://github.com/schierlm/collapseos-uxn) - Forth-based [operating system](http://collapseos.org/) for Varvara.
    154 - [Uxnfth](https://git.sr.ht/~binarycat/uxnfth) - Uxn-native forth.
    155 - [TalOS](https://github.com/UxnTalOS/talos) - A small Uxntal REPL and System Monitor/OS written in Uxntal.
    156 
    157 ### Demos
    158 
    159 - [Bad Apple!!](https://167.235.19.20/bad-apple-uxn/) - An arrangement of the Bad Apple!! music video.
    160 - [tiles](https://codeberg.org/kira/uxn-demos/src/branch/master/tiles.tal) - A scrolling tile-map renderer.
    161 - [svitlyna](https://github.com/gardenappl/svitlyna) - A "full-color" image viewer.
    162 - [Bunnymark](https://git.sr.ht/~rabbits/uxn-games/tree/main/item/bunnymark/src/bunnymark.tal) - Render performance benchmark.
    163 
    164 ### Libraries
    165 
    166 - [math32](https://git.phial.org/d6/nxu/raw/branch/main/math32.tal) - Unsigned 32-bit integers
    167 - [regex](https://git.phial.org/d6/nxu/raw/branch/main/regex.tal) - Regex parsing and matching
    168 - [fix16](https://git.phial.org/d6/nxu/raw/branch/main/fix16.tal) - Signed 16-bit fixed point numbers (8.8)
    169 - [alloc](https://git.phial.org/d6/nxu/raw/branch/main/alloc.tal) - Arena-based memory allocator
    170 - [arg](https://git.phial.org/d6/nxu/raw/branch/main/arg.tal) - Command-line argument parsing
    171 
    172 ### Terminal / Command-line
    173 
    174 - [femto](https://git.phial.org/d6/nxu/raw/branch/main/femto.tal) - nano-like text editor
    175 - [grep](https://git.phial.org/d6/nxu/raw/branch/main/grep.tal) - minimal grep-like tool(uses regex.tal)
    176 - [Xrxs](https://nilfm.cc/git/xrxs/about/) - Experimental game server using the Plan 9 protocol 9p.
    177 
    178 ## Development tools
    179 
    180 ### Uxntal Assemblers
    181 
    182 - **Recommended**: [Drifblim](https://wiki.xxiivv.com/site/drifblim.html) - Uxntal Assembler, written in Uxntal.
    183 - [buxn-asm](https://github.com/bullno1/buxn) - Uxntal assembler with a type checker.
    184 - [Uxnasm-js](https://github.com/rafapaezbas/uxnasm-js) - Uxntal assembler written in JavaScript.
    185 - [lunas](https://github.com/ThaCuber/lunas) - An Uxntal assembler written in Lua.
    186 - [Yaku](https://codeberg.org/wimvanderbauwhede/yaku) - An Uxntal assembler and interpreter.
    187 
    188 ### Uxntal Disassemblers
    189 
    190 - **Recommended**: [uxndis](https://git.sr.ht/~rabbits/uxndis) - Disassembler for rom and sym files.
    191 - [Pyuxntaldisasm](https://github.com/DeltaF1/pyuxntaldisasm) - Very basic disassembler for Uxn ROMs.
    192 - [Uxn-disassembler](https://github.com/Liorst4/uxn-disassembler) - Disassembler writen in Uxntal 
    193 
    194 ### Uxntal Formatters/Optimizers
    195 
    196 - **Recommended**: [uxnfor](https://git.sr.ht/~rabbits/uxnfor) - a formatter for tal files.
    197 - [Uxnbruteforce](https://github.com/max22-/uxnbruteforce) - Tool for optimizing little pieces of Uxntal code.
    198 - [Uxnlin](https://git.sr.ht/~rabbits/uxnlin) - Linter for Uxntal.
    199 
    200 ### Uxntal language support
    201 
    202 - [Atom language package](https://atom.io/packages/language-uxntal)
    203 - [Emacs mode](https://github.com/non/uxntal-mode) ([alt 1](https://github.com/xaderfos/uxntal-mode) [alt 2](https://github.com/rafapaezbas/uxntal-mode))
    204 - [Kakoune plugin](https://git.sr.ht/~athorp96/uxntal.kak)
    205 - [Lite XL plugin](https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/language_tal.lua)
    206 - [Vim plugin](https://167.235.19.20/uxntal.vim/)
    207 - [Visual Studio Code extension](https://167.235.19.20/uxntal-vscode/)
    208 - [Language server](https://github.com/bullno1/buxn-ls)
    209 - [Kate syntax](https://github.com/pfych/uxntal-kate-syntax)
    210 - [Sublime syntax](https://git.sr.ht/~rabbits/uxn-utils/tree/main/item/etc/tal.sublime-syntax)
    211 - [Micro syntax](https://hacklab.nilfm.cc/dotfiles/blob/main/micro/syntax/uxn.yaml)
    212 - [Nano syntax](https://git.phial.org/d6/nxu/src/branch/main/tal.nanorc) ([1](https://codeberg.org/sejo/uxntal.nanorc) [2](https://git.sr.ht/~cassvs/uxntal-nano) [3](https://git.sr.ht/~rabbits/uxn-utils/tree/main/item/etc/tal.nanorc))
    213 
    214 ### Languages that target Uxn
    215 
    216 - [Finwë](https://github.com/kiedtl/finwe) - A high-level, stack-based language that compiles to Uxn bytecode.
    217 - [Conch](https://github.com/Armael/conch) - Compiler for a C-like language with Lisp-like syntax to Uxn bytecode.
    218 - [Dotal](https://github.com/HParker/dotal) - A small language designed to compile to the Uxn virtual machine.
    219 - [chibicc-uxn](https://github.com/lynn/chibicc) - A C compiler for Uxn, written in C.
    220 - [nito](https://codeberg.org/wimvanderbauwhede/nito) - A compiler from Uxntal to C, written in Raku. 
    221 - [funktal](https://codeberg.org/wimvanderbauwhede/funktal) - A small, statically typed, functional programming language that compiles to Uxntal.
    222 - [Uxncle](https://github.com/CPunch/Uxncle) - Compiler for a small subset of C to Uxn bytecode.
    223 - [B](https://github.com/tsoding/b) - Compiler for the B Programming Language implemented in Crust, has support for uxn target.
    224 - [niënor](https://github.com/krzysckh/nienor) - Optimizing compiler for a Lisp dialect.
    225 - [SUPERFLY](https://codeberg.org/Bunny351/superfly) - Concatenative array language.
    226 - [Callisto](https://github.com/callisto-lang/compiler) - Low level compiled programming language with a uxn backend.
    227 
    228 ## Community
    229 
    230 - [Forum](https://llllllll.co/t/uxn-virtual-computer/46103)
    231 - [#uxn on irc.libera.net](https://web.libera.chat/gamja/?channels=%23uxn)
    232 - [#uxn on Merveilles](https://merveilles.town/tags/uxn)
    233 
    234 ## Contributing
    235 
    236 Submit patches using [`git send-email`](https://git-send-email.io/) to the [~rabbits/public-inbox mailing list](https://lists.sr.ht/~rabbits/public-inbox).