Skip to main content
GameDev.net gamedev.net
🔒 Locked

XBox DirectX?

Started by DevLiquidKnight May 15, 2003 at 3:26 PM 7 replies 2k views
Original Post
DevLiquidKnight
DevLiquidKnight
I have heard XBox runs on Direct X. If this is true does that mean it also supports DDRAW since its part of the DirectX components. If this is indeed true is it possible for me to take a game I made in directx using C++ with d3d or ddraw and put it on the xbox? Or must I do somthing else? Is there some format or what? Its in C++ -.- any info would be nice Id love to beable to show my "freinds" that I made my own xbox game if its d3d I can do that too so I just need to know is there anything special or anything else that you must do if so how? I can burn cds but im not sure ? How? Do they use tools to convert a PE file such as EXE's to there format if so can you download it somwhere? coder requires 0xf00d before continue().
Don't click me! Killer Eagle Software [edited by - DevLiquidKnight on May 15, 2003 4:47:40 PM]
outRider
outRider
Xbox uses a modified version of DirectX 8.

Theres D3D8, which has most of the same interface that PC D3D8 has, but a few methods have been added to certain interfaces, a few have been removed, and a few are just stubs that don't do anything but remain there to make porting easier, like the scenebegin and sceneend calls. Also, a lot of the memory management stuff is gone, so you can pass NULL when creating textures and VBs and such, since all memory is unified.

There's a small XB API used to perform functions only necessary on the XB, like texture swizzling and unswizzling, and so on.

There's no DPlay or DInput, no DShow for video, there are XB specific APIs to handle all that. I can't remember if there's DSound, but there is an XB API for sound streaming.

You do all your coding in Visual C++, since when you install the SDK it makes XBox Image and XBox Static Lib available as project types. From there it what you'd expect, and you end up with an XBox executable. (.xbe)

****
**Everything above refers to the offical Xbox XDK.
**Everything below refers to OpenXDK.
****

As for PE->XBE, look up OpenXDK, it's an open source SDK that creates an exe, then one of the tools provided does the conversion to xbe. OpenXDK is nowhere near complete as of yet however so it wont give you access to everything the hardware can do, but it's a nice place to start.

------------
- outRider -

[edited by - outRider on May 16, 2003 2:07:22 PM]
DevLiquidKnight
DevLiquidKnight
First off I never have done console programming but I would like to at leas try it; it seems like its really hard to find ANY info on this area and its hard to find any like open source sdks to use that are compliant without going commercial which I would perfer not to have to do; I just want to do it out of my house and just make a sample nothing huge .

So lets say I wanted to code a basic small lil game that had really no huge significant value just as a test type of thing to teach myself how to code console games how would you go about doing it?

Is there SDK for the XBox Console do you have to (have it/use it) be able to make and run a basic program/game type of thing on the XBox? If so is it open source and can anyone just use it or are there any that are good to start with that are open source. Or are you required to just code a PE file using directx and convert it?

Im trying to figure out how I could just make basically a simple game that runs on xbox it doesn't have to be big at all, it can be just a image lol; just to see if I can code in it, if that makes any sense. I basically wanna expand my knowledge though trial and error kinda.

Or possibly even code for any other consoles, I just would like to see if its possible for me to do it, and how I can go about doing it. Is there any consoles you would suggest? I mean like something I could try learning just to see if I like or if I am good at it.

I also wondered is there any difference in like the CD format? Do you need specific CD burning stuff or can you just burn as normal?

If you could offer some guideance id appricate it.

coder requires 0xf00d before continue().

Don't click me!
Killer Eagle Software

[edited by - DevLiquidKnight on May 16, 2003 2:01:36 PM]
outRider
outRider
Look back at my original post, I modified it to clear up the differences between the official XDK and the open source one.

The open source one doesn't use DirectX. The open source one in most cases directly modifies hardware registers and what not... it's really low level, and you probably wont get much out of it until you understand how consoles and embedded systems work on that level. Look at Jenova's post in the PS2 thread in this forum, look at his site, and look at the links he gives. All that homebrew coding and register poking is what you will deal with working on any console (including the GBA) without official libraries.

The XDK on the other hand is peaches to work with, it almost completely hides the console from you and is like working on the PC, whether that's good or bad. Of course you can't get the official XDK without some trouble.

www.xbox-scene.com and openxdk.sourceforge.net might help you out.

To get anything to run on a retail Xbox you need modchip. You can then just plug a network cable into your box and FTP your stuff to the harddrive and run it from there.

Here's some stuff I personally got running on the Xbox in a matter of days, using the the official XDK, before my regular comp decided to die. OpenXDK is nowhere near as complete and it would have taken me a lot longer. Also, since most of the memory map of the XB isn't known (i.e. what registers do what, and what their addresses are), a lot of features of the hardware can't be exposed without the toil of some dedicated people to try and figure things out.

------------
- outRider -

[edited by - outRider on May 16, 2003 2:13:45 PM]
DevLiquidKnight
DevLiquidKnight
So is there any consoles that may be more efficent for soemone who does not technically understand how to install mod chips and such ? Im really just looking to make a small thing on a console that works. Do you have any other links that may provide more guidance to anything ps2, gba, xbox, gamecube ect?

coder requires 0xf00d before continue().

Don''t click me!
Killer Eagle Software
outRider
outRider
www.devrs.com/gba

www.gbadev.org

Play around with the GBA and you can figure out how consoles work with regards to registers, interrupts, interrupt handlers, hardware accelerated features and all that other fun stuff at the low level.

------------
- outRider -
OrangyTang
OrangyTang
After just recently getting into GBA dev, i can say it''s pretty good for indie programmers - a free version of GCC which will compile C and C++ code, plus support for both flavors of assembly language. Several good sites with tutorials and info as well, plus no need for mod chips or anything that requires hacking the hardware to get it to run your own code.

Technically you don''t even need any hardware, since you can get by with a good emulator - but you can get a a flash cartridge to write your game onto via a pc, or the cheaper route of a multiboot cable (no cart, and a max of 256kb rom but a cheaper option to start with).

Good GBA info + tutorials:Pern project

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.