nxdk is a software development kit for the original Xbox. nxdk is a revitalization of OpenXDK. It is maintained by the XboxDev community.
Notable features:
make
and just needs standard tools and llvm.While nxdk still is in early stages of development, it can already be used in many projects. Take a look at the list of projects that are build on top of nxdk. Additionally, the provided samples show how to use common features.
You will need the following tools:
OS-specific instructions for installing these prerequisites can be found in the Wiki
git clone --recursive https://github.com/XboxDev/nxdk.git
Samples are easily built by running the activation script bin/activate
, which will spawn a shell that is fully set up to start using nxdk, and then running the Makefile in one of the sample directories. Details can be found in the Wiki. nxdk also supports automatic creation of ISO files.
Copy one of the sample directories to get started. You can copy it anywhere you like. Run nxdk's activation script bin/activate
, then, in the directory of your program, you can simply run make
.
lib/hal
- Barebones Hardware Abstraction Layer for the Xbox, from OpenXDK.lib/net
- Network stack for the Xbox based on lwIP.lib/pdclib
- Xbox port of PDCLib, a CC0-licensed C standard library.lib/pbkit
- A low level library for interfacing with the Xbox GPU.lib/sdl
- Xbox ports of SDL2 and SDL_ttf.lib/usb
- USB support from OpenXDK. Hacked together parts of an old Linux OHCI stack.lib/winapi
- Xbox specific implementations of common useful WinAPI-functions.lib/xboxkrnl
- Header and import library for interfacing with the Xbox kernel.lib/xboxrt
- Miscellaneous functionality for debugging etc.tools/cxbe
- Simple converter for PE executables to the Xbox executable format, from OpenXDK.tools/fp20compiler
- Translates register combiner descriptions to Xbox pushbuffer commands.tools/vp20compiler
- Translates vertex program assembly to Xbox microcode.tools/extract-xiso
- Generates and extracts ISO images compatible with the Xbox (and XQEMU).samples/
- Sample applications to get started.