sega dev running games

Discussion in 'Sega Dreamcast Development and Research' started by raylyd, Feb 19, 2009.

  1. Evangelion

    Evangelion Spirited Member

    Joined:
    Jul 20, 2008
    Messages:
    108
    Likes Received:
    2
    I can package the files you have sended to me.

    My R10 SDK can run this game I will try to make a Ready To Use pack :)

    I'm making a "How to" video to show my good way.

    My way is particular, in order to avoid "Warning MAIN: Failed to prepare emulation" message.

    http://www.megaupload.com/?d=9XBC4H34

    NOTE : My Katana HDD is FAT32 formatted.
     
    Last edited: Mar 3, 2009
  2. raylyd

    raylyd Guest

    hi i clicked on my video enjoy but said page not found
     
  3. Evangelion

    Evangelion Spirited Member

    Joined:
    Jul 20, 2008
    Messages:
    108
    Likes Received:
    2
  4. raylyd

    raylyd Guest

    hi thanks and now works thanks to you
     
  5. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    The reason these games do not run on a dev box has absolutely nothing to do with hardware at all, it is because these games look on the flash for the console region strings (to know what video mode they must enforce themselves to) (for instance when they see 211Dreamcast they are going to be set to 50hz (and usually display some choice between 50 and 60hz because the DC region video setting is on PAL50) on the other end, if it is set to 010Dreamcast then it is going to go straight to 60hz because the video output is set to NTSC60

    The problem with that is that unlike the retail consoles, the region and video modes are enforced on the bios itself (the code from 0x120 to 0x16C is the one that does the trick) because of that, the devkit flash does not have any region string (it is filled with 0xFF). Thanks to that, the games that look for the video mode settings in the flash to know what video output they must be set to, do not find any proper value and that is precisely what makes them crash.

    If you have any doubts you can test it yourselves, just set the region string on the flash to 0xFF (it would be best if you patch the bios first so it wont perform the region checks, otherwise the disc will fail to boot(because the region string will be corrupted)) (to do this go to 0x51E and set the value to 08A0)

    I hope this solves yet another mystery.

    P.S. this also means that writting an actual region string to the flash (despite that the dev bios does not use it) will allow you to run all those unworking games on your dev box. (assuming the flash on the devkit is fully writeable)
     
    Last edited: Mar 6, 2009
  6. Evangelion

    Evangelion Spirited Member

    Joined:
    Jul 20, 2008
    Messages:
    108
    Likes Received:
    2
    So, if we can modify the katana flash (not bios) we can run shenmue and other games ?

    How can we disable this feature on the 1ST_READ.BIN to avoid reading flash and force VGA or Video mode ?
     
    Last edited: Mar 6, 2009
  7. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Yes you just have to modify the flash however make sure you DO NOT set the 0x0001A000 bit to 30 (the first 0 of the 00XYZDreamcast ASCII string) or you are going to brick your dev box (the bios refuses to boot if this value is set) You can set the other values fine though (so you just have to write 0XYZDreamcast instead)

    As for disabeling the feature in 1st_read.bin I have no idea since I never looked into it before.
     
  8. raylyd

    raylyd Guest

    if you get this working let me know or pm me please
     
  9. Evangelion

    Evangelion Spirited Member

    Joined:
    Jul 20, 2008
    Messages:
    108
    Likes Received:
    2
    I don't know how to rewrite flash memory on the dev box
     
  10. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Probably the same way as on retail, through software (I doubt you actually have to solder the R512 on +12v like on retail, beside if you did I am not sure it is worthed to start soldering on a dev box motherboard for such a purpose, but my guess is the entire flash content is probably writeable through software on those already. Too bad the region changer isn't open source :/
     
  11. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,033
    Likes Received:
    891
    Couldn't you acutally use your modified bios and flash on NullDC then use the "backup flash" option of region changer to dump the entire flash onto a virtual VMU, then put that file on a real vmu and used the Region changer on a retail DC (with RC mod done) to replace the retail flash witht he DEV one and remove the RC mod, then replace the bios with a chip ?

    Just an idea ...

    FG
     
  12. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Or you could just patch the bios before replacing it, then no need to even touch the flash. I thought we were talking of dev boxes here though :p
     
  13. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,033
    Likes Received:
    891
    Well, the devkit BIOS can be easily flashed using a software that come with it.

    Any chance you release your hacked bios?

    FG
     
  14. Quzar

    Quzar Spirited Member

    Joined:
    Dec 10, 2006
    Messages:
    167
    Likes Received:
    1
    Are you sure of this? It seems the only way to verify this would be to modify the RO area of the DCs flash. I suppose this could be done on an emulator, so have you tested it?

    Better yet run it with debugger on devkit and monitor the flash to see when it's read/written to.

    It just seems odd to me that the region check function of such games would not take into account the possibility of them being run on a devkit.
     
  15. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Yes I have tested it on an emulator and it confirms it, the games (sega games such as shenmue 1 & 2, crazy taxi etc etc) wont run (even on retail bioses) when the region information is missing from the flash, when it is there they run fine even with hkt-0120 bios.
     
  16. Quzar

    Quzar Spirited Member

    Joined:
    Dec 10, 2006
    Messages:
    167
    Likes Received:
    1
    Ok, cool. Btw, I didn't mean to attack your conclusions, just wondered if they were speculation of proven ;).

    It's quite possible from your method though that the games check if it's a devkit (which SEGA perscribed to be done through a register, not by reading the bios) and regardless of the bios enabled, the emulator will tell the game it's a retail DC.

    The official libs had a number of checks for hardware revision to enable workarounds when necessary, so this doesn't seem to far fetched.


    anyways... assuming you're right and they don't do any sort of check for devkit-ness (other than looking at the bios).

    Since we know what flashrom block holds region info, and the workings of the syscall that gets flashrom info, it should be relatively easy (but non-trivial) to have that syscall read from a pre-made block when called on the RO block. AFAIK it's not possible to write to the RO area even on a devkit (though I've not tested).
     
    Last edited: Mar 18, 2009
  17. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    well it can be done on a retail with a simple soldering, the dev box is probably the same, it might even be writeable directly, since I do not own a katana, I could never try to write the setting myself.
     
  18. Jackhead

    Jackhead Site Soldier

    Joined:
    Apr 2, 2008
    Messages:
    2,433
    Likes Received:
    610
    Thanks alot for the avi! Explain a lot what to do :clap:
     
  19. VitAmen

    VitAmen Guest

    woohoo, i got halflife running on my katana, i'll check if loading times are better that on a standard dc... :)
     
  20. VitAmen

    VitAmen Guest

    hmmm...no visible improvement...
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page