An emulator for the Uxn stack-machine, written in ANSI C. The emulator contains a few linux specific utilities in the Console device to allow for it to interface with the unix systems.
For your convenience a Makefile is provided. You can run make install
to build and install the files.
By default, files are installed into ~/.local
but this can be overridden using PREFIX
:
# installs files into ~/.local/bin and ~/.local/share
$ make install
# installs files into /opt/uxn/bin and /opt/uxn/share
$ make PREFIX=/opt/uxn install
All you need is a tty or pts terminal.
gcc -Os -DNDEBUG -g0 -s src/uxn.c src/devices/system.c src/devices/console.c src/devices/screen.c src/devices/controller.c src/devices/mouse.c src/devices/file.c src/devices/datetime.c src/uxntui.c -o bin/uxntui -lX11
If you wish to build the emulator without graphics mode:
gcc -Os -DNDEBUG -g0 -s src/uxn.c src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c src/uxncli.c -o bin/uxncli
If do not wish to build it yourself, you can download linux binaries for uxnasm, uxncli and uxntui.
The first parameter is the rom file, the subsequent arguments will be accessible to the rom, via the Console vector.
bin/uxntui bin/polycat.rom arg1 arg2
A manual page is provided documenting the Uxntal language:
man ./doc/man/uxntal.7
After running make install
the man page should be found by man uxntal
.
The file device is sandboxed, meaning that it should not be able to read or write outside of the working directory.
00
system10
console(+)20
screen80
controller90
mousea0
filec0
datetime
F1
toggle zoomF2
toggle debuggerF3
quitF4
rebootF5
reboot(soft)
LCTRL
ALALT
BLSHIFT
SELHOME
START
The following resources are a good place to start:
Submit patches using git send-email
to the ~rabbits/public-inbox mailing list.