So, I've realized how much I enjoy my Xbox system, and as I do with all the systems I like I want to know more about them. Everything, if possible. Some of the questions I've got on mind right now include, but are not limited to- -What is the development process like for the Xbox? I'd prefer the process on the Alpha tower, but if you know in depth info on the DVT-4 that's cool too. -(branching from above) is the process on either system easy? Relatively easy, that is. How plentiful are the Alpha towers? Would it be better to code on an Alpha or a DVT-4? That's it for now. Of course feel free to chip in on anything Xbox-dev related. I'd like to try my hand at it once I finish my coding courses.
There are very, very few alpha kits out there that actually work properly. I own one, and I know Old Engineer may have a couple, with possible another around somewhere. There are a few more out there that weren't working, but still, good luck finding someone willing to sell. Code on a retail-based system, especially if you want to actually be able to play it or share it with others. The Xbox was, supposedly, one of the easier systems to code for in the scheme of things. x86 processor, the whole Direct X upbringing, they made it a bit easier.
I thought so, regarding the whole "easy to code for" deal, with it being a PC and all... I'd LIKE to have an Alpha for the looks, but I suppose if you say a DVT-4 is better I might as well. (let me know if know if an Alpha is being sold!)
I'm so angry about the DVT 4 I was telling Borman about. But anyhow, I'd love to use the same approach. The XBOX is a fantastic system, recently been going mad for collecting
@HeXiGON Angry about? anyway, to start doing nice things http://www.xbdev.net/tuts/tuts.php there are some tools and you might find X-S telling how to setup a XDK on a retail. Get a SDK to find out the dev cycle from a Programmers view point and everywhere is some bits of info on how the XBox became what it is today. Alpha 1 and 2 are pre Xbox specifiek hardware, they are real pc hardware sometimes with engineering versions of firmware/bios. DVT3 and 4 are nice, they are real xbox hardware like and contain similar to exact components (I do some research on the mcpx) so they designed the dvt3 or maybe they also had a dvt1(not alpha?) anyway, I cant seem to find real evidence for the whole history, but at some point they builded motherboards that are almost like the retail but with other versions of the chips (Pre/debug maybe less funtcions or extra debug stuff) If i take a look at the schematic posibility of the alpha and compare it to retail and dvt3/4 its just PC x86. so only the board layout and specific functions are added/removed from the final. also: MCP X-mode 2 <<?>> MCP X2 >> MCPX X2>> MCPX X3 first 2 I dont know witch one came first or the same or same time diferent setup. last one is retail, and this is not found on the alpha1 or 2. some images i collected are here http://www.assemblergames.com/forum...-diference-between-the-MCPX-chips-BIG-Images-!
my experience is usually that someone has emailed them a better offer so they withdraw it, e.g. if their was an hour left on the auction then most people know the price tends to go up in the last hour / few minutes etc.
Makes sense. Well I've given the openXDK a go, but where do I write the code? I'm using notepadd ++ at the moment.
saw this guide: OpenXDK is getting more and more interesting (Friedgold added vbl synced double buffering support in SDL, and Carchiarus added pbKit compatibility). Time for a new and simpler tutorial! EDIT: Shortest procedure (warn me if it fails) : http://minilgos.perso.sfr.fr/openxdk.zip This is May 2007 version (1st version compatible with pbKit, natively). Unzip it to its proper place (use pathes stored in zip archive). Try to make hello.c (as described below) Now, the normal, longer procedure : Procedure for installing clean and legal development environment for XBOX (OpenXDK) on Windows : (successfully tested on October 1st 2006) (based on page http://www.openxdk.org/installing.html, but with some very important details missing there) EDIT: openxdk.org may be expired. Here is a mirror : http://openxdk.maturion.de/installing.html (Thx Maturion) EDIT: Maturion uploaded 2007 version and useful stuff at sourceforge.net! Thx! 1) Be sure to have last version of cygwin (a free and legal unix-like environment for Windows) Go on www.cygwin.com, click "install or update now!" in middle of page. The small setup program will offer you to download or update all components of cygwin (take them all). That can take all the day. Be patient. Repository in Belgium is very good. Will consume several gigabytes of disk space. Try to have 20Gb available for safety. Choose c:\cygwin and c:\cygwin_downloads, for example, when pathes are asked. Cygwin includes GNU compilers and all stuff you may need later in order to produce your own programs. 2) Download OpenXDK directly from CVS Start the cygwin icon to start a unix session and navigate : cd .. cd .. cd usr cd home You are now in /usr/home (c:\cygwin\usr\home for Windows) You may download last versions of file right here (that will overwrite old versions) but personally I rather like to create another directory and download changes there so I can compare files, make backups, etc... I had trouble to find what command is working with CVS client (included in cygwin), there is a serious lack of samples in CVS documentation... Here they are : "cvs -dserver:anonymous@openxdk.cvs.sourceforge.net:/cvsroot/openxdk login" I think you need to do this one only once in your life. It creates a .cvspass file in /home/~yourname that allows later calls to reuse the login parameter you just used now (anonymous connection) Each time you want to download source do this one : "cvs -dserver:anonymous@openxdk.cvs.sourceforge.net:/cvsroot/openxdk export -r HEAD OpenXDK" Other interesting stuff to download (sdldoom requires a .wad in .xbe directory): "cvs -dserver:anonymous@openxdk.cvs.sourceforge.net:/cvsroot/openxdk export -r HEAD Doom" "cvs -dserver:anonymous@openxdk.cvs.sourceforge.net:/cvsroot/openxdk export -r HEAD Samples" If you want just to browse them and see differences between file versions and comments, use this url: "http://openxdk.cvs.sourceforge.net/openxdk/" 3) Autogenerate makefiles and compile libraries As said in "installing" openxdk.org page, there are commands to do in order to produce OpenXDK libraries. cd /usr/home/openxdk ./autogen.sh ./configure --prefix=/usr/local/openxdk make all install That will create a new OpenXDK directory in /usr/local. That's the one you will use for your own compilations. OpenXDK libraries should be in /usr/local/openxdk/lib now (lib*.a files). Takes a few minutes I think. 4) Create a sample program Return home! (just close cygwin window and reopen one) For Windows that place is c:\cygwin\home\<yourname> - Create file "hello.c" (you can use windows explorer and click New->Text file in menu): CODE #include <hal/input.h> #include <hal/xbox.h> #include <openxdk/debug.h> #include "string.h" #include "stdio.h" #include <stdlib.h> void XBoxStartup(void) { int i,done=0; XInput_Init(); debugPrint("Hello world!\n"); debugPrint("Press B to stop program\n"); while(!done) { XInput_GetEvents(); for(i=0; i<4; i++) { if(g_Pads.PressedButtons.ucAnalogButtons[XPAD_B]) done=1; } }; debugPrint("Bye...\n"); XInput_Quit(); XSleep(5000); XReboot(); } - Create file "makefile" : EDIT: Once you copied/pasted this makefile, replace the <tab> with real tabulations. CODE # # update this variable to wherever you installed the OpenXDK libraries # PREFIX = /usr/local/openxdk CC = gcc CCAS = gcc CPP = cpp CXBE = $(PREFIX)/bin/cxbe SDLFLAGS = -DENABLE_XBOX -DDISABLE_CDROM CC_FLAGS = -c -g -std=gnu99 -ffreestanding -nostdlib -fno-builtin -fno-exceptions -mno-cygwin -march=i386 $(SDLFLAGS) CCAS_FLAGS = -g -O2 INCLUDE = -I$(PREFIX)/i386-pc-xbox/include -I$(PREFIX)/include -I$(PREFIX)/include/SDL CLINK = -nostdlib ALIGN = -Wl,--file-alignment,0x20 -Wl,--section-alignment,0x20 SHARED = -shared ENTRYPOINT = -Wl,--entry,_WinMainCRTStartup STRIP = -Wl,--strip-all LD_FLAGS = $(CLINK) $(ALIGN) $(SHARED) $(ENTRYPOINT) $(STRIP) LD_DIRS = -L$(PREFIX)/i386-pc-xbox/lib -L$(PREFIX)/lib LD_LIBS = $(LD_DIRS) -lSDL -lm -lopenxdk -lhal -lc -lusb -lc -lxboxkrnl -lc -lhal -lxboxkrnl -lhal -lopenxdk -lc #LD_LIBS = -lSDL_ttf -lfreetype2 -lSDL_image -lSDL -ljpeg -lpng -lz -lxml2 -lm -lhal -lusb -lopenxdk -lhal -lc -lxboxkrnl -lstdc++ -lgcc OBJS=hello.o all: default.exe .c.o: <tab>$(CC) -c $< $(CC_FLAGS) $(INCLUDE) .s.o: <tab>$(CCAS) -c $< $(CCAS_FLAGS) default.exe: $(OBJS) <tab>$(CC) -o $@ $(OBJS) $(LD_LIBS) $(LD_FLAGS) <tab>$(CXBE) -TITLE:"$@" -DUMPINFO:"default.cxbe" -OUT:"default.xbe" $@ > /dev/null send: all <tab>make <tab>./ftp2xbox.bat clean: <tab>rm -f *.o *.exe *.dll *.xbe *.cxbe 5) Compile your own program use these commands : "make clean" (delete all binaries) "make" (compile binaries) You obtain default.xbe, a little legal xbox program! (not compiled with libraries coming from official xdk) Of course you need a way to launch homebrew software on your xbox. Note that if cross references change again in OpenXDK, the order of libraries may need to be changed again (constant LD_LIBS) in case you get link errors not related to your own source (a library may need another one before itself in the list, because it calls it now and didn't call it before). Makefiles found in samples and sdlDoom may need some update too (especially the libraries order). Have fun -legally- with your XBOX! (finally!) PS: Explore pbKit changelog. Very nice demos (sources included) are available! http://minilgos.perso.sfr.fr/pbkit/changelog.txt (pbKit is a low level GPU driver, allowing hardware graphic acceleration) p.s. forgot to say Notepad++ should do you fine
Waaaaay too much trouble as the servers are down to get those packages. Which is causing me to jump every where in the tutorial losing my place
Aside from just starting with some general, non-Xbox programming, start with the samples that are included with the real XDK.Or tutorials for it.
Hm, I'd need to get ahold of it first, is it here some where being it's old generation? Got my debug being sent out this week though.
If you can that'd be great, it's hard googling for xbox related stuff as xbox 360 shit scrambles it's way into it.