nxdk is a software development kit for the original Xbox. nxdk is a revitalization of OpenXDK.
Notable features:
Oct 02, 2018 Xbox Live Features - profile, social, presence, leaderboards, achievements, multiplayer, matchmaking, title storage Platforms - Windows UWP on Xbox One consoles and Windows 10 PCs, Xbox One XDK Support for Visual Studio 2017, and 2015 NuGet packages containing binaries for. The Chrome Web Store welcomed a new arrival today, and it goes by the name of appMobi XDK. While the addition is targeted squarely at developers, it's entirely free and packs quite a doozy.
- No complicated cross-compiling or big library dependencies! Builds with
make
and just needs standard tools and llvm. - 3D graphics! nxdk includes and expands on pbkit, a library for interfacing with the Xbox GPU.
Build Status
Status
nxdk is currently in early stages of development.
Getting Started
Prerequisites
You will need the following tools:
- GNU make
- GNU bison and flex
OS-specific instructions for installing these prerequisites can be found in the Wiki
Download nxdk
Build Samples
Samples are easily built by running the Makefile in one of the sample directories. Details can be found in the Wiki. nxdk also supports automatic creation of ISO files.
Next Steps
Copy one of the sample directories to get started. You can copy it anywhere youlike, but make sure that the
NXDK_DIR
variable in the Makefile points tocorrect place. Then, in the directory, you can simply run make
.Credits
- OpenXDK is the inspiration for nxdk, and large parts of it have been reused. (License: GPLv2)
- Large parts of pbkit, by openxdkman, are included, with modifications. (License: LGPL)
- A network stack is included based on lwIP (License: Modified BSD)
- A libc is included based on PDCLib (License: CC0)
- Large parts of the runtime library are derived from LLVM's compiler-rt library (License: MIT)
- vp20compiler is based on nvvertparse.c from Mesa (License: MIT)
- fp20compiler is based on nvparse from the NVIDIA SDK 9.52.
- The NVIDIA Cg compiler is bundled.
- extract-xiso developed by in et al. (License: BSD)
Code Overview
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.lib/xlibc-rt
- Implementations of supportive functions required at runtime.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.
To configure your development console:
- Get your Partner Center IDs.
- Activate the console as a dev kit.
- Set your sandbox on your development kit.
- Sign in with a development account.
These steps are detailed below.
Get your Partner Center IDs
To enable sandboxes and Xbox Live services, you will need to obtain several IDs to configure your development kit and your title.See the section 'Get your IDs' in Xbox Live service configuration.
Activate the console as a dev kit
Activate Dev Mode on the retail Xbox One console.To do this, download the Dev Mode Activation app from the Xbox One store.See Xbox One Developer Mode activation ⬀.
Set your sandbox on your development kit
To boot your development kit, you must set your Sandbox ID.To do this, you can use the 'Xbox One Manager' that's installed on your PC by the XDK, or you can open an XDK command window and use the Configuration (xbconfig.exe) command, as follows:
- Check your current sandbox.To do this, type
xbconfig sandboxid
at the command prompt. - If the ID is not what you expect, change your sandbox ID.To do this, type the following at the command prompt:
xbconfig sandboxid=<your sandbox id>
- Reboot your console using Reboot (xbreboot.exe) at the command prompt.
- Verify that your sandbox has been correctly reset.To do this, type
xbconfig sandboxid
at the command prompt.
Sign in with a development account
You can create development accounts used to sign-in on Partner Center.