(uxnasm) Fixed issue with makereference()
(file device)Add / suffix to folder names
(uxncli)Use System/halt as exit code
An emulator for the Uxn stack-machine, written in ANSI C.
This emulator's system device supports changing a stack's location to a page of memory. The default memory mapping is as follows:
0000-ffff, as RAM.10000-100ff, as working stack.10100-101ff, as return stack.To use the last page of ram(0xff00) to host the working stack:
#ff .System/wst DEO
The stack mapping is 254 bytes of data, a byte for the pointer and a byte for an error code.
All you need is X11.
gcc -Os -DNDEBUG -g0 -s src/uxn.c src/devices/system.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
If you wish to build the emulator without graphics mode:
gcc -Os -DNDEBUG -g0 -s src/uxn.c src/devices/system.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
The file device is sandboxed, meaning that it should not be able to read or write outside of the working directory.
00 system10 console20 screen30 audio(missing)70 midi(missing)80 controller90 mousea0 file(sandboxed)c0 datetimeF2 print non-empty stacksF4 load boot.rom, or reload romLCTRL ALALT BLSHIFT SELHOME STARTThe following resources are a good place to start:
Submit patches using git send-email to the ~rabbits/public-inbox mailing list.