1574e5dcce
When compiled under the MSYS2 environment, the executible that is produced expects the SDL2 library to be available at runtime. When running outside MSYS2, that may not be the case, and the emulator may crash on startup with a message about missing SDL2.dll, or sometimes without a message at all. This patch adds some guidance for this scenario by guiding the reader to download the precompiled SDL binaries for Windows and make them available for the emulator's use. |
||
---|---|---|
etc | ||
projects | ||
src | ||
.build.yml | ||
.clang-format | ||
.gitignore | ||
LICENSE | ||
README.md | ||
build.sh | ||
mkfile |
README.md
Uxn
An assembler and emulator for the Uxn stack-machine, written in ANSI C.
Download binaries
Binaries are available for 64-bit x86 computers running Linux, Windows and macOS.
Build
Linux/OS X
To build the Uxn emulator, you must install SDL2 for your distro. If you are using a package manager:
sudo pacman -Sy sdl2 # Arch
sudo apt install libsdl2-dev # Ubuntu
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.
./build.sh
--debug # Add debug flags to compiler
--format # Format source code
If you wish to build the emulator without graphics mode:
cc src/uxn.c -DNDEBUG -Os -g0 -s src/uxncli.c -o bin/uxncli
Plan 9
To build the Uxn emulator on 9front, via npe:
mk
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. Install by downloading from their website or with Chocolatey with choco install msys2
. In the MSYS shell, type:
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
To run the emulator outside of the MSYS2 environment, download the SDL runtime binary for Windows and place the SDL2.dll
file in the same directory as the emulator (bin/
).
Getting Started
Emulator
To launch a .rom
in the emulator, point the emulator to the target rom file:
bin/uxnemu bin/piano.rom
You can also use the emulator without graphics by using uxncli
. You can find additional roms here, you can find prebuilt rom files here.
Assembler
The following command will create an Uxn-compatible rom from an uxntal file. Point the assembler to a .tal
file, followed by and the rom name:
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.
uxnemu orca.rom | shim
Emulator Options
-s 1
,-s 2
or-s 3
set zoom (default 1)
Emulator Controls
F1
toggle zoomF2
toggle debugF3
capture screenF4
load boot.rom
Need a hand?
Find us in #uxn
, on irc.esper.net