Raven is an independent re-implementation of the Uxn CPU and Varvara Ordinator.
For details, see the project writeup.
The raven-uxn
crate includes two implementations of the Uxn CPU:
- The safe interpreter is a
#[no_std]
crate written in 100% safe Rust, with a single dependency (zerocopy
). It is 10-20% faster than the reference implementation for CPU-heavy workloads (e.g.fib.tal
, andmandelbrot.tal
- The unsafe ("native") interpreter is written in
aarch64
assembly (with Rust shims on either side), and runs 40-50% faster than the reference implementation
The Varvara implementation (raven-varvara
) includes all peripherals, and has
been tested on many of the
flagship applications
(Left, Orca, Noodle, Potato).
The repository includes two applications built on these libraries:
raven-cli
is a command-line application to run console-based ROMsraven-gui
is a full-fledged GUI, which runs both as a native application and on the web
© 2024 Matthew Keeter
Released under the Mozilla Public License 2.0
The repository includes ROMs compiled from the uxnemu
reference
implementation, which are © Devine Lu Linvega and released under the MIT
license; see the roms/
subfolder for details.