Merge remote-tracking branch 'forked/main'
Fixed issue with File/state
Clarify number representations
An emulator for the Uxn stack-machine, written in ANSI C. This is a fork of Uxn11 for OpenBSD support.
For your convenience a Makefile is provided. You can run make install
to build and install the files.
By default, files are installed into /usr/local
but this can be overridden using PREFIX
:
# installs files into /usr/local/bin and /usr/local/share
$ make install
# installs files into /opt/uxn/bin and /opt/uxn/share
$ make PREFIX=/opt/uxn install
All you need is X11.
gcc -Os -DNDEBUG -g0 -s -I/usr/X11R6/include 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/uxn11.c -o bin/uxn11 -L/usr/X11R6/lib -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
The first parameter is the rom file, the subsequent arguments will be accessible to the rom, via the Console vector.
bin/uxnemu 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
datetimeF1
toggle zoomF2
toggle debuggerF3
quitF4
rebootF5
reboot(soft)LCTRL
ALALT
BLSHIFT
SELHOME
STARTThe following resources are a good place to start:
If your patches are concerned with the OpenBSD functionality of this fork, you can submit them to the ~coyotes/public-inbox mailing list using git send-email
, otherwise they should be submitted to the ~rabbits/public-inbox mailing list against the original repository.