name mode size
..
816.uf1 100644 1.55kB
acorn8-italic.uf1 100644 2.3kB
acorn8-regular.uf1 100644 2.3kB
atari8.uf1 100644 2.3kB
bbcmicro8.uf1 100644 2.3kB
chicago12.uf2 100644 8.45kB
courier12.uf2 100644 8.45kB
cream.uf2 100644 8.45kB
diamond12.uf2 100644 8.45kB
diamond20.uf3 100644 18.69kB
geneva12.uf2 100644 8.45kB
geneva14.uf2 100644 8.45kB
geneva24.uf3 100644 18.69kB
helvetica12.uf2 100644 8.45kB
helvetica14.uf2 100644 8.45kB
helvetica24.uf3 100644 18.69kB
left8.uf1 100644 2.3kB
losangeles12.uf2 100644 8.45kB
monaco12.uf2 100644 8.45kB
msx816.uf2 100644 8.45kB
newyork12.uf2 100644 8.45kB
newyork14.uf2 100644 8.45kB
newyork24.uf3 100644 18.69kB
orca8.uf1 100644 2.3kB
palatino12.uf2 100644 8.45kB
palatino14.uf2 100644 8.45kB
palatino24.uf3 100644 18.69kB
sans10-bold.uf2 100644 8.45kB
sans10-regular.uf2 100644 8.45kB
sans12-bold.uf2 100644 8.45kB
sans12-regular.uf2 100644 8.45kB
sans14-bold.uf2 100644 8.45kB
sans14-regular.uf2 100644 8.45kB
sapphire14.uf2 100644 8.45kB
sapphire19.uf3 100644 18.69kB
specter8.uf1 100644 2.3kB
terminal12.uf2 100644 8.45kB
times12.uf2 100644 8.45kB
times15.uf2 100644 8.45kB
times24.uf3 100644 18.69kB
venice14.uf2 100644 8.45kB
README.md
# Uxn An assembler and emulator for the [Uxn stack-machine](https://wiki.xxiivv.com/site/uxn.html), written in ANSI C. ## Download binaries Binaries are available for 64-bit x86 computers running [Linux](https://drive.100r.co/uxn/uxn-essentials-lin64.tar.gz), [Windows](https://drive.100r.co/uxn/uxn-essentials-win64.zip) and [macOS](https://drive.100r.co/uxn/uxn-essentials-mac64.tar.gz). ## Build ### Linux/OS X To build the Uxn emulator, you must install [SDL2](https://wiki.libsdl.org/) for your distro. If you are using a package manager: ```sh sudo pacman -Sy sdl2 # Arch sudo apt install libsdl2-dev # Ubuntu sudo xbps-install SDL2-devel # Void Linux brew install sdl2 # OS X ``` Build the assembler and emulator by running the `build.sh` script. The assembler(`uxnasm`) and emulator(`uxnemu`) are created in the `./bin` folder. ```sh ./build.sh --debug # Add debug flags to compiler --format # Format source code --install # Copy to ~/bin ``` If you wish to build the emulator without graphics mode: ```sh cc src/devices/datetime.c src/devices/system.c src/devices/console.c src/devices/file.c src/uxn.c -DNDEBUG -Os -g0 -s src/uxncli.c -o bin/uxncli ``` ### Plan 9 To build and install the Uxn emulator on [9front](http://9front.org/), via [npe](https://git.sr.ht/~ft/npe): ```rc mk install ``` If the build fails on 9front because of missing headers or functions, try again after `rm -r /sys/include/npe`. ### Windows Uxn can be built on Windows with [MSYS2](https://www.msys2.org/). Install by downloading from their website or with Chocolatey with `choco install msys2`. In the MSYS shell, type: ```sh pacman -S git mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-SDL2 export PATH="${PATH}:/mingw64/bin" git clone https://git.sr.ht/~rabbits/uxn cd uxn ./build.sh ``` If you'd like to work with the Console device in `uxnemu.exe`, run `./build.sh --console` instead: this will bring up an extra window for console I/O unless you run `uxnemu.exe` in Command Prompt or PowerShell. ## Getting Started ### Emulator To launch a `.rom` in the emulator, point the emulator to the target rom file: ```sh bin/uxnemu bin/piano.rom ``` You can also use the emulator without graphics by using `uxncli`. You can find additional roms [here](https://sr.ht/~rabbits/uxn/sources), you can find prebuilt rom files [here](https://itch.io/c/248074/uxn-roms). ### Assembler The following command will create an Uxn-compatible rom from an [uxntal file](https://wiki.xxiivv.com/site/uxntal.html). Point the assembler to a `.tal` file, followed by and the rom name: ```sh bin/uxnasm projects/examples/demos/life.tal bin/life.rom ``` ### I/O You can send events from Uxn to another application, or another instance of uxn, with the Unix pipe. For a companion application that translates notes data into midi, see the [shim](https://git.sr.ht/~rabbits/shim). ```sh uxnemu orca.rom | shim ``` ## GUI Emulator Options - `-2x` Force medium scale - `-3x` Force large scale - `-f` Force fullscreen mode - `--` Force next argument to be read as ROM name. (This is useful if your ROM file is named `-v`, `-2x`, and so forth.) ## GUI Emulator Controls - `F1` toggle zoom - `F2` toggle debug - `F3` capture screen - `F4` reboot - `F5` soft reboot - `F11` toggle fullscreen - `F12` toggle decorations ### GUI Buttons - `LCTRL` A - `LALT` B - `LSHIFT` SEL - `HOME` START ## Need a hand? The following resources are a good place to start: * [XXIIVV — uxntal](https://wiki.xxiivv.com/site/uxntal.html) * [XXIIVV — uxntal reference](https://wiki.xxiivv.com/site/uxntal_reference.html) * [compudanzas — uxn tutorial](https://compudanzas.net/uxn_tutorial.html) * [Fediverse — #uxn tag](https://merveilles.town/tags/uxn) ## Contributing 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).