Code Monkey home page Code Monkey logo

nxdk's Introduction

nxdk - the new open source xdk

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:

  • 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

CI Status for "Build Samples"

Status

nxdk is currently in early stages of development.

Getting Started

Prerequisites

You will need the following tools:

OS-specific instructions for installing these prerequisites can be found in the Wiki

Download nxdk

git clone --recursive https://github.com/XboxDev/nxdk.git

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 you like, but make sure that the NXDK_DIR variable in the Makefile points to correct 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.

nxdk's People

Contributors

thrimbor avatar jayfoxrox avatar dracc avatar mborgerson avatar espes avatar teufelchen1 avatar gxtx avatar fisherman166 avatar sam-itt avatar kosmas12 avatar luca1991 avatar lukeusher avatar libbers avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.