The Xbox Development Kit (XDK) is a software development kit created by Microsoft used to write software for the Xbox gaming system. The XDK includes libraries, a compiler, and various tools used to create software for the Xbox. The XDK has the option to integrate itself into Microsoft Visual Studio 2002 or 2003. This is needed if one wants to develop applications or games for the Xbox. The XDK also includes a tool to record in-game footage, which has been widely used to create high-quality screenshots and trailers. Purpose The XDK allows software creators to create, run and distribute applications on the Xbox platform. Xbox 360 XDKs were based on all three generations of the Xbox 360 Design ("Phat", "Slim" and "E"). XNA Kits (Were used at some expos and given to game studios), Stress Kits (Used to test the power of the Xbox 360 and various conditions such as undervolting and overvolting and issued to Microsoft developers only), and Demo kits (Used to demo games). Some, but not all, XDKs include a sidecar which was used to emulate the DVD drive and act as a hard drive and on older XDKs with older recoveries, used for PIX Debugging. Bundled with XDKs is the Xbox 360 SDK used to connect to the console, enable memory editing, file management, and integrate to Visual Studio 2010 for Xbox 360 game development. Xbox development environment The Xbox BIOS is based on the NT 5.0 kernel, but does not have all of the resources or capabilities of the Windows 2000 operating system, (for example: neither DirectShow, registry, or DLL are natively supported on the Xbox). Because of the constraints on the hardware and environment of the Xbox, all software development for the Xbox (and all video game consoles systems in general) are focused on reserving the limited resources that exist, the main limitation of which is the amount of available RAM. Compiling games and applications for the Xbox The Xbox Software Development Kit (SDK) (with libraries) is required to compile video games and applications for the Xbox. Also required to compile (and program in) is Microsoft Visual Studio .NET. Xbox embedded operating system The Xbox does not have an operating system per se, instead it only has a simple BIOS. Everything else must go into the main executable and its (XDK and own-made) libraries. Only a single process (executable program) can run at a