Reverse engineering Dreamcast games

Discussion in 'Sega Dreamcast Development and Research' started by Phinn, Jan 13, 2006.

  1. Phinn

    Phinn Gutsy Member

    Joined:
    Dec 19, 2005
    Messages:
    457
    Likes Received:
    0
    Is it possible to reverse engineer Dreamcast games from commerical discs? If so, what hardware/software would be required?

    TIA
     
  2. dhau

    dhau Spirited Member

    Joined:
    Oct 21, 2005
    Messages:
    130
    Likes Received:
    0
    Usual stuff: IDA Pro 3.7. I guess having Katana kit and codescape debugger can't hurt either.


    The most important tool is your brain. If you're not up to the task, no tools in the world will help you.
     
  3. Sally

    Sally Guest

    What is it you're looking to do with it exactly. You can always break down code into assembly language, but if you can't read that, it's useless. If you're talking about changing code, that's the only way. If you're looking to change maps around, that depends on the game. The easiest way would be just to download the iso off the net and crack it open with IDA.
     
  4. Phinn

    Phinn Gutsy Member

    Joined:
    Dec 19, 2005
    Messages:
    457
    Likes Received:
    0
    Specifically, I was thinking of swapping out the Japanese subtitles in 'Shenmue' for their English language counterparts to create a subtitled version. The English voice acting in Shenmue is just so horrifically bland. I have virtually no programming experience, but it sounds like it would be possible if I had the right kit/time/movitation?
     
  5. Mark30001

    Mark30001 Guest

    If you're thinking of swapping the voice, usually that would require to just swap the .AFS language file, for games like Sonic Adventure. However, the game might use a different sound extension/format.

    It might also be possible to switch the subtitles/text, but you have to first locate the file associated with it.
     
  6. FunKing

    FunKing Guest

    Hi, all!

    Anyone here have experience with IDA and DC? I'd like to exchange some ideas/techniques, IDC scripts and so on...

    I also had an idea that I still have to try to implement. To help debug (without a Katana kit), I thought I could add/change routines on 1ST_READ.BIN to dump info to the serial port. I wrote a few serial routines in ASM (based on the C code from KOS) that were tested and are working fine. BUT, from what I saw, some games seem to already have built in routines for something similar (maybe to be used with the Katana kit?).

    If only there were better DC emulators... :-(

    Any other ideas about how to get debugging info of a running game?

    []s!
     
  7. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,121
    Likes Received:
    48
    What about a loader who loads the game .bin, monitore the calls you want and dump them to the serial port?

    ps.: are you really from Brazil? Welcome to the board!

    PD
     
  8. FunKing

    FunKing Guest

    Great idea, similar to what I wanted to do... but I don't know how to implement it. Any tips?

    At first I thought about writing a small set of functions to dump info to the serial port, as a "debugging facility" (this step is done). Next, with the help of a full IDA disassemble and a couple of Perl scripts, I would automatically replace the beginning of most functions (or at least those that I want to monitor) with calls to my debugging functions (this is pratically done, too). I would only need to create a bootable disc of the game, replacing the game 1st_read.bin with the "DC Load" one, and send my hacked 1st_read.bin through the BBA.

    Yes, I am! Aliás, acho você é o primeiro brazuca que vejo num forum desse tipo... Thanks! :)
     
  9. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,121
    Likes Received:
    48
    I think the best way is to create a loader and send it to the Dreamcast using the BBA. This loader would ask you to insert the game disk, and then patch the functions of the 1st_read.bin redirecting their output to the serial port.
    Existem alguns Brasileiros no fórum! Fique a vontade de me enviar um PM caso queira conversar melhor ;-)


    []'s

    PD
     
  10. FunKing

    FunKing Guest

    I already tried to do that with DC Load, but it was hanging up the DC... gotta find some time to check out what was happening. The biggest problem now is to find time to invest on it - RealLife(tm) can really get a hold on you sometimes... ;-)

    BTW, do you own a BBA?

    []s!
     
  11. Morden

    Morden Robust Member

    Joined:
    Jun 22, 2006
    Messages:
    221
    Likes Received:
    1
    Why not the 5.0 Advanced? I'm well aware of the small mater of $875, but 5.0 is still better than 3.7, right?
     
  12. Mark30001

    Mark30001 Guest

    Sorry to sorta bump this old thread heres.

    I'm currently running Sonic Adventure off a harddrive of an HKT-01 Dev unit via GDWorkshop, and so far the program is logging what files are executed while running the game at certain addresses, etc.

    Link:
    http://forums.segakatana.com/viewtopic.php?t=89

    There are many different unofficial tools out there for "hacking" or reverse-engineering certain Dreamcast games. Not all Dreamcast games will use the same tools, such as Sonic Adventure, which uses a variety of tools for unpacking PVM/PVR files, ADX sound files, etc.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page