All Projects → XboxDev → Nxdk

XboxDev / Nxdk

The cross-platform, open-source SDK to develop for original Xbox: *new* xdk

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Nxdk

Compile To Web
Discover what languages can be compiled to Web Assembly
Stars: ✭ 164 (-18%)
Mutual labels:  compiler, llvm
Unity Dithered Transparency Shader
Unity material and shader for applying clipped, dithered transparency
Stars: ✭ 174 (-13%)
Mutual labels:  3d, shaders
Threejs Sandbox
Set of experiments and extensions to THREE.js.
Stars: ✭ 163 (-18.5%)
Mutual labels:  3d, shaders
Rhine
🔬 a C++ compiler middle-end, using an LLVM backend
Stars: ✭ 157 (-21.5%)
Mutual labels:  compiler, llvm
Llvm Guide Zh
User Guides For those new to the LLVM system.(LLVM系统的新用户指南,中文翻译版)
Stars: ✭ 180 (-10%)
Mutual labels:  compiler, llvm
Jitfromscratch
Example project from my talks in the LLVM Social Berlin and C++ User Group
Stars: ✭ 158 (-21%)
Mutual labels:  compiler, llvm
Tinykaboom
A brief computer graphics / rendering course
Stars: ✭ 2,077 (+938.5%)
Mutual labels:  3d, shaders
Homebrew
Development repository for the homebrew cookbook
Stars: ✭ 137 (-31.5%)
Mutual labels:  hacktoberfest, homebrew
Potigol
Linguagem Potigol - Linguagem de programação funcional moderna para iniciantes - A Functional Programming Language for Beginners
Stars: ✭ 179 (-10.5%)
Mutual labels:  hacktoberfest, compiler
Command Block Assembly
Compile high-level code into Minecraft commands
Stars: ✭ 175 (-12.5%)
Mutual labels:  hacktoberfest, compiler
Lowpolyshaders
Unity shaders optimized for Low Poly models.
Stars: ✭ 157 (-21.5%)
Mutual labels:  3d, shaders
Lhc
The LLVM LHC Haskell Optimization System
Stars: ✭ 188 (-6%)
Mutual labels:  compiler, llvm
Reshade
A generic post-processing injector for games and video software.
Stars: ✭ 2,285 (+1042.5%)
Mutual labels:  compiler, shaders
Gaiasky
Mirror of Gaia Sky repository hosted on Gitlab: https://gitlab.com/langurmonkey/gaiasky
Stars: ✭ 162 (-19%)
Mutual labels:  3d, shaders
Ispc
Intel SPMD Program Compiler
Stars: ✭ 1,924 (+862%)
Mutual labels:  compiler, llvm
Elm 3d Scene
A high-level 3D rendering engine for Elm, with support for lighting, shadows, and realistic materials.
Stars: ✭ 167 (-16.5%)
Mutual labels:  hacktoberfest, 3d
Nim
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Stars: ✭ 12,270 (+6035%)
Mutual labels:  hacktoberfest, compiler
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (-32.5%)
Mutual labels:  hacktoberfest, homebrew
Play with llvm
A book about LLVM & Clang(中文开源书:玩转 LLVM)
Stars: ✭ 175 (-12.5%)
Mutual labels:  compiler, llvm
Satin
A 3D Graphics Framework built on Apple's Metal
Stars: ✭ 182 (-9%)
Mutual labels:  3d, shaders

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:

  • Portable toolchain that works on modern versions of Windows, macOS and Linux.
  • No complicated cross-compiling or big library dependencies! Builds with make and just needs standard tools and llvm.
  • Modern C / C++ standards and compiler features.
  • Supports popular APIs like Windows API and BSD sockets.
  • SDL2 support for input, audio and 2D graphics.
  • Custom API for 3D graphics using NVIDIA-designed shader-languages (with additional Xbox extensions).
  • Open-Source drivers which can be modified to get the most out of the hardware.
  • Modifiable startup code, for as much system control as necessary.
  • Supported by an active community that can help with problems and responds to bug reports.

Build Status

CI Status for "Build Samples"

Status

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.

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.
  • 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].