641170c4cb | ||
---|---|---|
doc/man | ||
etc | ||
src | ||
.build.yml | ||
.clang-format | ||
.gitignore | ||
LICENSE | ||
README.md | ||
boot.rom | ||
makefile |
README.md
Uxn11
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.
Building
Makefile
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
Graphical
All you need is X11.
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/uxn11.c -o bin/uxn11 -lX11
Terminal
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 uxn11.
Usage
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
Manual
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
.
Devices
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
Emulator Controls
F1
toggle zoomF2
toggle debuggerF3
quitF4
rebootF5
reboot(soft)
Buttons
LCTRL
ALALT
BLSHIFT
SELHOME
START
Need a hand?
The following resources are a good place to start:
Contributing
Submit patches using git send-email
to the ~rabbits/public-inbox mailing list.