Go to file
Devine Lu Linvega 7d1c62b2cb Simplified threads implementation somewhat 2023-05-03 11:32:38 -07:00
etc Added device mask to uxncli for friend port 2023-05-02 10:25:19 -07:00
src Simplified threads implementation somewhat 2023-05-03 11:32:38 -07:00
.clang-format Added Fn keys controls 2022-04-05 20:06:42 -07:00
.gitignore Init 2022-03-26 17:23:52 -07:00
LICENSE Init 2022-03-26 17:23:52 -07:00
README.md Removed the old system mapping docs 2023-04-10 13:18:15 -07:00
build.sh Added multithreading port 2023-04-30 22:03:35 -07:00

README.md

Uxn11

An emulator for the Uxn stack-machine, written in ANSI C.

Building

Graphical

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

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/file.c src/devices/datetime.c src/uxncli.c -o bin/uxncli

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

Devices

The file device is sandboxed, meaning that it should not be able to read or write outside of the working directory.

  • 00 system
  • 10 console
  • 20 screen
  • 30 audio(missing)
  • 70 midi(missing)
  • 80 controller
  • 90 mouse
  • a0 file(sandboxed)
  • c0 datetime

Emulator Controls

  • F2 print non-empty stacks
  • F4 load boot.rom, or reload rom

Buttons

  • LCTRL A
  • LALT B
  • LSHIFT SEL
  • HOME 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.