Xbox developing general questions

Discussion in 'Xbox (Original console)' started by DefectX11, Sep 10, 2012.

  1. DefectX11

    DefectX11 Familiar Face

    Joined:
    Mar 20, 2012
    Messages:
    1,237
    Likes Received:
    0
    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.
     
  2. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    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.
     
  3. DefectX11

    DefectX11 Familiar Face

    Joined:
    Mar 20, 2012
    Messages:
    1,237
    Likes Received:
    0
    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!)
     
  4. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    If there is ever one being sold within my reach, Ill probably be buying another one hah.
     
  5. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    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 :p
     
  6. CodeAsm

    CodeAsm ohci_write: Bad offset 30

    Joined:
    Dec 22, 2010
    Messages:
    1,500
    Likes Received:
    176
    @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-!
     
  7. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    I could of gotten a 240v DVT-4 for $220, but seller ended it in the last 2 hours. This is balls.
     
  8. Mystical

    Mystical Resolute Member

    Joined:
    May 3, 2011
    Messages:
    935
    Likes Received:
    35
    yep someone obviously sniped you, shit tactics but it happens all the time sadly
     
  9. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    Sniped? Weird cause the auction was ended by the seller... He didn't want to let it go for $200.
     
  10. Mystical

    Mystical Resolute Member

    Joined:
    May 3, 2011
    Messages:
    935
    Likes Received:
    35
    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.
     
  11. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    Makes sense.

    Well I've given the openXDK a go, but where do I write the code? I'm using notepadd ++ at the moment.
     
  12. Mystical

    Mystical Resolute Member

    Joined:
    May 3, 2011
    Messages:
    935
    Likes Received:
    35
    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[​IMG] (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 -d:pserver: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 -d:pserver:anonymous@openxdk.cvs.sourceforge.net:/cvsroot/openxdk
    export -r HEAD OpenXDK"
    Other interesting stuff to download (sdldoom requires a .wad in .xbe directory):
    "cvs -d:pserver:anonymous@openxdk.cvs.sourceforge.net:/cvsroot/openxdk
    export -r HEAD Doom"
    "cvs -d:pserver: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
     
    Last edited by a moderator: Sep 11, 2012
  13. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    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 :(
     
  14. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    Dont waste your time with OpenXDK
     
  15. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    Where can I start man? openXDK is making me pull my hair out anyway...
     
  16. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    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.
     
  17. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    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.
     
    Last edited: Sep 11, 2012
  18. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    It's pretty easy to get. I can help you out if you can't find it though.
     
  19. HEX1GON

    HEX1GON FREEZE! Scumbag

    Joined:
    May 4, 2011
    Messages:
    9,916
    Likes Received:
    837
    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.
     
  20. Borman

    Borman Digital Games Curator

    Joined:
    Mar 24, 2005
    Messages:
    9,543
    Likes Received:
    1,880
    Sure thing, send me a message later if I forget. At work right now.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page