opened again

Finally, more than seven years after the last OpenXDK release, this blog was opened. It contains all posts, articles and tutorials previously made on this project’s official website, dating back to 2002.

This site is mainly meant to be an archive, so don’t expect to see new content in the future. (If you’re looking for some nostalgia, the old version of this website is still online, too.)

If you are interested in contributing or contacting the project developers, please use our SourceForge page.

Oh, and by the way: You might also check out nxdk, which is a revitalization of OpenXDK. You can browse their Github repository over at

pbKit is bringing graphic hardware acceleration to OpenXDK

Already in December 2006, openxdkman has released pbKit, a project aimed at bringing graphic hardware acceleration to OpenXDK. This is indeed great news. Check out this topic over at Xbox-Scene.

Here’s his changelog:

Currently improving Cg pixel shader support (learning fog, phong, bumpmap, complex lighting)

In progress : Demo 03 - ? (Dunno yet. Large choice... Plenty of colors this time, I promise!)
Released    : Demo 02 - AntiAliased Pong (PS, VS, Full screen AntiAliasing, Texture mapping)
Released    : Demo 01 - Hardware accelerated Pong (Push buffer DMA engine + rectangle fill)

20070203 Pixel shader support improved. DMA BitBlt support added (see 2nd demo update).
20070129 Demo 02 - "AntiAliased Pong" released! pbKit fully supports Cg vertex shaders!
20070127 pbKit and "nouveau" project are now officialy connected (shared nv20 constants).
(see archivelog for older changes)

(not in charge of openxdk library, just an openxdk library user)

We have since added pbKit and some demos to our SourceForge download repository:

Release 0.07

OpenXDK 0.07 has just been released! There are a number of key improvements in this release:

  • The xecuter issue has been resolved. OpenXDK should now execute using this and any other BIOS/dashboards.
  • The USB input layer has been completely reimplemented and now should support 1.0 – 1.6 XBOXs.
  • New library support: freetype (ttf fonts), jpeg, libpng, zlib
  • SDL support: SDL_ttf, SDL_image, SDL_mixer (in progress)
  • Keyboard, mouse, usb, and controller support
  • debugPrint now contains scrolling
  • Multiple video modes (640×480, 720×480, PAL/NTSC)
  • Flicker filter and soften functionality
  • Numerous little bug fixes

While many people contributed to this release, in particular, I would like single out Carcharius for his work on the controller/usb implementation and for resolving the xecuter problem, and also d0wnlab for his ttf and image work. Thanks very much guys!!

With this functionality, though, a dashboard is very feasible. I have had various reports of this version of OpenXDK being able to compile wolf3d, quake, tetris, several emulators (NES, sega master), and a handful of other miscellaneous apps.

Still to come…

  • Networking (yes, I know it has been a long time coming)
  • C++ support



Release 0.06

A new version (0.06) of the OpenXDK has just been released.

The key features in this release are as follows:

  • Support for compiling on both Linux and Windows though migration to automake/autoconf based builds
  • Enhanced directory handling. For example, the notion of current directory is now supported, as well as being able to list and navigate through files and directories
  • Increased audio support. SDLAudio will now auto-convert the various sample rates and frequencies
  • Lastly, hopefully a start at supporting the Xecuter (and other debug-based) BIOSes. Please let me know if you still have troubles with OpenXDK applications on these BIOSes

A special thanks to Tom and Ender for their initial feedback and testing of the Linux builds. Likewise, to xphile for his tireless work converting the build process to automake.

This will be the last update for a few months as I leave very shortly to embark on a 3 month holiday. However, when I return, I will be concentrating on:

  • SDL support for JPG, GIF, and PNG
  • MP3 support
  • Networking
  • Building a simple demo dashboard – if it hasn’t already been done by the time I get back 🙂

Release 0.05

A new version (0.05) of the OpenXDK has just been released.

The feature that is of most interest is audio support. Currently, only 16-bit stereo 44kHz samples are supported, but auto-conversion for other types will be supported soon. The SDL_Audio layer will attempt to convert to something playable, but the conversion is still experimental.

In addition to this, OpenXDK also supports SDL_File, SDL_Timer, SDL_Thread, SDL_Mutex and SDL_Semaphore.

This release also contains a couple of minor bugfixes to the newlib/libc layer.

A huge thank you to Andy Green (for writing the original Cromwell sound layer and answering my ridiculously naive audio questions) and also to the guys on the comp.lib.sdl newsgroup for their patience and advice.

Release 0.04.1

Well, I inadvertantly checked in some of the automake/autoconf files that contained some hardcoded paths to my local workspace. Sorry! Please update to the latest build.

I also have added a binary package that contains just the cygwin-precompiled OpenXDK libraries and header files. Unzip it into /usr/local and you should be able to compile your own programs.

Lastly, I added the ability to launch XBE files using either XLaunchXBE() or execve()) APIs. This gets us much closer to being able to write a dashboard of some sort. What is still outstanding is how to get a list of files. I am investigating using the POSIX opendir/readdir/etc API to do so (I might also provide an API that looks more like the Microsoft FindFirstFile… we’ll see!).