nxdk-rs aims to provide a set of bindings and a build system to allow Rust programs to run on the Original Xbox, through the use of nxdk.
nxdk-sys consists of bindings generated by bindgen, as well as a build script that links against the nxdk. It is re-exported by nxdk-rs.
nxdk-rs requires that nxdk is installed somewhere on your system. If you don't already have it, then clone it along with this repo:
git clone --recursive https://github.com/XboxDev/nxdk
git clone https://github.com/antangelo/nxdk-rs
You'll also need Rust nightly installed:
rustup install nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
Ensure that you follow the nxdk installation instructions. In particular, you'll need to run the activation script:
./nxdk/bin/activate
At this point, you can build one of the nxdk-rs samples:
cd nxdk-rs/examples/helloworld
make
With any luck, you should see the bin.iso
and bin/default.xbe
output. FTP the xbe to a real Xbox, or run the iso from xemu directly:
xemu -dvd_path bin.iso
This project (bindings and examples) uses the MIT license.
Do note that licenses for any nxdk module(s) that are used are also applicable. Under the current build system, all nxdk libraries are statically linked, meaning that all associated licenses will apply to the final binary.