Skip to content

sarchar/libdragon-rs

Repository files navigation

Rust bindings for libdragon (libdragon-rs)

Components

The core of libdragon-rs consists of:

Obtaining and building

  1. Clone this repository:
git clone --recurse-submodules https://github.com/sarchar/libdragon-rs
  1. Install Rust

  2. Install just

cargo install just
  1. Install dependencies:
apt-get install clang build-essential
  1. Build
just build

Or, for release builds,

just build-release

DISCLAIMER The build process will fetch the prebuilt toolchain at https://github.com/sarchar/libdragon/releases/tag/toolchain-continuous-prerelease. These are pre-compiled binaries. If you want to compile the toolchain yourself, use just build-toolchain. It will take a long, long time.

In the end, example ROMs should be present as ./target/mips-nintendo64-none/{debug,release}/*.z64

Status

Complete modules (with documentation): * audio, backtrace, console, cop0, cop1, debug, dir (as part of dfs), display, dfs, dlfcn, dma, eeprom, eepromfs, exception, graphics, interrupt, joybus, joybus_accessory (as part of joybus), joypad, mempak, mixer, model64, mpeg2, n64sys, rdp, rdpq, rsp, rspq, rtc, samplebuffer, sprite, surface, timer, throttle, usb, wav64, xm64, ym64, yuv

Modules without an interface (TODO): * ay8910 * tpak * fmath - implement traits on f32, etc * pixelfx * system - newlib hooks, etc * n64types - test unaligned data accesses. can be done through core::ptr::read_unaligned.

About

Rust bindings to libdragon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages