Devkit Boot-Intro for Retail-Dreamcast?

Discussion in 'Sega Dreamcast Development and Research' started by chocomarker1, Nov 12, 2008.

  1. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    I have toyed with the bios a bit and managed to patch it so it runs mil-cd and is region free (which makes it even work with the blue swirl hack)
    If flashed into a retail dreamcast this should normally allow it to:

    1. Have the devkit nice intro logo
    2. Be entirely region Free (meaning even discs without the JUE string (any letter at all) would boot)
    3. Run GD-Rs
    4. Run Mil-Cds (and any kind of selfbootable cd)

    There is still an issue though, the hkt-0120 bios as-is does not like the retail flash, the reason is because it looks in the flash at 0x0001A000 and if the bit is set to 30 (which creates the first 0 of the 00XYZDreamcast ASCII string (for the region)) then it refuses to boot.

    There are 2 ways of getting rid of this limitation. The first (the easiest one) would be to overwrite 0001A000 on the flash to anything but 30 (the best would be 0xFF since this is what it is originally set to), this does not change any behaviour on the retail bios, only the devkit one seems to check this value.

    The other way (the best one) would simply be to nop the check from the hacked hkt0120 bios file, unfortunately I have had no time to work on that lately but if someone wants to help he is welcome to.

    Then someone could just flash the patched bios to a rom and solder it onto a retail dreamcast (unfortunately I lack of chip programming skills)

    If an admin here think I can provide the bioses on this forum safely (knowning that those are mostly abandonware by now) I will be glad to do so.

    If they don't it is quite understandable considering the copyrighted nature of the bioses.
     
    Last edited: Mar 4, 2009
  2. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    Well done :icon_bigg

    I have been doing the exact same thing as you since I last posted in this thread!

    Not to belittle your achievements in any way, but I have also made a modified HKT-0120 bios that does all the same things you mentioned (Well, I cant actually test if the GD-R support still works) However, I have also removed the need for the HKT-0120 flash - it will now also run using a retail flash aswell, and runs great in emulators.

    I have even flashed a SOP44 flash chip and soldered it into a Dreamcast but it didnt work :-( Either I didnt solder it in right, or the bios still wont work on a retail system at present

    I didnt really want to announce anything until I had managed to get it working.

    What I really need is a PSOP44 socket so that I can easily remove the chip for re-flashing, but so far I have had great trouble locating one for a cheap enough price.

    P.S. Another interesting thing is that the Pace/Dreamcast combination cable box used a modified HKT-0120 bios aswell.
    Article:-
    http://uk.gamespot.com/news/2681885.html

    Pics:-
    http://image.com.com/gamespot/images/screenshots/vgnews/020201/dcbox/dcbox_screen002.jpg
    (Notice the opening sequence in this picture is the same as the HKT-0120, but set to the European blue swirl)
    http://image.com.com/gamespot/images/screenshots/vgnews/020201/dcbox/dcbox_screen001.jpg
    (Notice the GD-Rom connector to 'IDE cable' adaptor used)

    It even loaded games from a 40GB hard drive which somehow interfaced to the GD-Rom drive connector using what almost looks like an IDE cable (Although it probably isnt) Perhaps one of those rare IDE cables used in older laptops that use 50 pins instead of 40, with the 10 extra for power etc?
    If only somebody had one of these prototypes and could make us a dump of the bios :pray: or even show us how the hard drive was connected - if it needed any customs PCB's etc.
     
    Last edited: Mar 4, 2009
  3. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Nice to know someone here shares the same goals as me :)

    Yes I have my doubts about the devkit bios running on the actual retail hardware due to minor differences between both, I especially doubt things such as the EXT port actually work with it since the devkit has none (to my knowledge)
    The only way to know for sure if it works is to solder it though(let's hope you did it wrong xD). Also, if you don't mind, could you tell us what modification you performed to disable the flash check from the devkit bios ?

    At worse we can always patch the retail bios to be region free and possibly (although I have no clue on how yet) read GD-Rs

    Cheers :)
     
  4. Blai

    Blai Enthusiastic Member

    Joined:
    Apr 2, 2007
    Messages:
    575
    Likes Received:
    39
    Great work what you are doing guys.
     
  5. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    Well, I have to say to be honest my method of modifiying the bios was alot different - I am no bios expert! Your bios mathieulh is probably even better than mine as you know what you are doing ;-)

    I didnt actually know exactly what each section of the bios did, but what I decided to do was compare the standard retail bios (MPR21931) and the HKT-0120 bios using a hex editor. I used Hex Workshop to work out which sections were different, which were the same, and which were just blank in one or the other.

    By doing this you start to notice patterns, and by copying and pasting entire sections of code and then testing each time in an emulator you often notice what each section of code does.

    For instance, the very last section of both bioses has a section of 50,000 bits or more (I think from memory) that is different. By copying the HKT-0120 bios section into into the retail bios I was able to work out that it contained the HKT-0120 bios intro music :icon_bigg ...but not the opening sequence intro video :banghead:anyway it was quite a weird combination!

    Then I worked out which part contained the HKT-0120 opening intro sequence - the only problem being that it isnt the exact same bit size as the opening sequence used in the retail bios, meaning I had to work out a way to make it fit ;-)

    So my bios is a mish-mash of both bioses, most of the lines of code that were blank in one or the other bios I tried to keep, as I believe one section will contain the GD-R booting code.

    One thing I hadnt realised which could be they key reason it didnt boot when I soldered it in, is that although I had removed the 'hash check' that appears at the start of the HKT-0120 bios:-
    http://dcemulation.org/phpBB/viewtopic.php?f=31&t=89863&start=40
    (Third post from bottom of page - posted by mathieulh himself no less!)

    I had not realised that there could be another hash check at the start of the second 1MB 'bank', if that makes sense. I have now removed this second hash check (I think, but I guess there could even be more hash checks?) but I dont feel like desoldering the bios chip again and resoldering a new flash chip in (it wasnt easy the first time!) If I had a PSOP44 socket though I would definitely try it again :nod:

    I was able to make the bios region free by following l_oliveira's info from this thread:-
    http://nfggames.com/forum2/index.php?topic=3163.0.msg21038#msg21038

    Anyway, as you can probably tell my bios was alot of trial and error. If your interested in a copy though mathieulh drop me a PM with your email and I will gladly send you it with a retail flash - although please dont give it out to anyone just yet as I dont want a half finished attempt scattered around the internet! Maybe you can even spot anything I have obviously done wrong? :shrug:

    Also, if you feel confident your bios should work mathieulh I would gladly flash a chip and send it to you if you would like to solder it into a Dreamcast?
     
    Last edited: Mar 4, 2009
  6. _SD_

    _SD_ Resolute Member

    Joined:
    Oct 11, 2008
    Messages:
    947
    Likes Received:
    1
    This is a really cool project guys. Amazing work :thumbsup: I'd never seen the Katana boot sequence before, it's certainly much better than retail.

    If you do get a bug-free BIOS that's region free and has the cool intro, I'll be firing up the soldering iron and eeprom writer for sure.

    Would it be possible to add options to the Dreamcast's 'dashboard' to force VGA or RGB mode in all games? Or even just build forced VGA/RGB compatibility into the BIOS, to save messing around with the DC-X disc.
     
  7. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    SUCCESS!

    Hi all,

    Well I have some great news! :icon_bigg Me and mathieulh have been discussing this new bios by email, and have been exchanging files. This was interesting as both of had come at the same problem from a different angle - I started with a retail bios (MPR21931) and tried adding in portions of code from the HKT-0120 bios, whereas mathieulh started with a HKT-0120 bios and added code from the retail bios.

    Mathieulh managed to make his bios work with a retail flash aswell, and decided to send all our work to l_oliveira from the gamesx forums for testing, as he has already replaced his bios before with a region free version, and my previous attempt had been unsuccessful. l_olivera tested all our files but unfortunately mathielh bioses didnt work. However, mine was tested and found to boot! :rambo:

    Heres some videos of it running on a retail Dreamcast VA0 motherboard:-
    http://www.youtube.com/watch?v=YWFhMi-lDmw
    http://www.youtube.com/watch?v=5jpv_6xtbOA
    (Many thanks to l_oliveira for the videos)

    This bios has the HKT-0120 intro, is region free, can boot Mil-CD's, and looks for the region and video information in the flash (eg. orange or blue swirl as the bios is already region free, and the video mode can be either NTSC/PAL etc. You can set the flash on retail hardware using a small mod and DC-SWAT's 'region changer' software) The Dreamcast ext. port was also found to still work :nod:

    Unfortunately we have not been able to test if this bios can run GD-R's yet as l_oliveira does not own a GD-R. However thanks to user 'consolefun' previously in this thread I already have a burnt GD-R for testing (For which I am very grateful) but currently I havent got anymore flash chips or sockets. I have ordered some more flash chips though and hopefully in the next few weeks they will arrive and I can test GD-R support aswell :icon_bigg

    Please dont get your hopes up too high on GD-R support though - if it doesnt work first time it will be a very time consuming process trying to get it to work, as all testing will have to be done on actual hardware (A PSOP44 socket will be essential) and it could be that you'll have to choose between a bios that either has Mil-CD support or GD-R support (as they both might use the same lines of code in the bios) if this is the case I think I know what most people will choose ;-)

    Now what you may all be asking - where can I get this new bios?
    Well at present I dont know if assemblergames would be happy for me to post it here (or even to link to a file sharing site) so for now if you PM me I can send you a link to download it, or if you give me your email address I will gladly send you a copy directly. If an admin thinks this is unacceptable please let me know. I have put the bios with a retail flash in a rar file with a small notepad document with an MD5 hash, and some notes thanking the people who have helped make this a reality.

    PLEASE NOTE! - Although quite alot of testing has been done with this new bios, not everything has been checked - it has currently only been installed in one Dreamcast motherboard revision - VA0. It is also unknown what effect this new bios could have on a HKT-0120 (expecially with regards to the different flash format used) I certainly wont be held responsible should you attempt it and it bricks one! In other words I cant/wont be held responsible for any damage caused to you, or anything/anyone else should you attempt to modify your system (i.e. all the usual disclaimers apply!)

    I am really pleased about this - and I hope other people will enjoy this too! If you have any questions please ask them in this thread and I will do my best to answer them (if I can!)

    I also want to say big thanks to the following users:-
    ConsoleFun
    mathieulh
    l_oliveira
    ...and everyone else who has given me help and advice over the past few years :icon_bigg

    Sorry for such a long post, and thanks for reading :)

    Some other little tidbits:-
    -Mathieulh and me discussed the possibility of having a 'force VGA mode' option, but think that it may be fully controlled by the software, and whilst it may be technically possible for the bios to force the VGA mode it would require deep reverse engineering and bios knowledge (which I dont have!)
    -l_oliveira and me have discussed the possibilty of a mod that would allow you to flash the new bios 'in system' - this could make future bios developments ALOT easier! If this does work I hope that me or somebody else is able to make a guide on how to do this.
     
    Last edited: Mar 8, 2009
  8. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    Wow, Good job on that one!

    I don't think it'd be a problem to upload a modified bios here since the original one can be found I think. If you don,t publicly release it I'll be glad if you could send me the link via PM.

    Also could you tell us what is needed to flash our bios with that one ? (socket, PIC burner or whatever).

    TWO Thumbs UP! :thumbsup::thumbsup:

    FG
     
    Last edited: Mar 8, 2009
  9. Evangelion

    Evangelion Spirited Member

    Joined:
    Jul 20, 2008
    Messages:
    108
    Likes Received:
    2
    I have tested the l_oliveira region free modification on my devox and it's 100% working : My devbox is set to JAP mode (0) and now can boot PAL games. But, unfortunaly, Shenmue or Crazy Taxi can not boot.

    i hope you will make this bios available as soon as possible ;)

    Like FamilyGuy, you can send me a PM about your bios.
     
    Last edited: Mar 8, 2009
  10. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    Hi,
    I have PM'd both of you so hopefully you will have the bios now too :icon_bigg

    To put this on a retail Dreamcast you would need a programmed 2MB flash chip. The original Dreamcast bios uses a PSOP44 chip, but you can use other flash chips as long as you use the appropriate adaptor (l_oliveira used a TSOP48 2MB flash chip and used a small PCB PSOP44 adaptor to fit it in the console)

    You will need a programmer to flash the chip of course, and unfortunately this is not cheap :-( I am currently using a GQ-4X USB programmer with a PSOP44 adaptor, although I know there are much better (and more expensive!) programmers available. Its also a very fiddly mod for those inexperienced in soldering (im hardly the best myself)

    This bios should allow Crazy Taxi and Shenmue to work on a devkit assuming it even boots at all! The reason these games dont usually boot on a devkit is explained by mathieulh here:-
    http://assemblergames.com/forums/showthread.php?t=21743&page=2#25

    I cant stress enough that this bios has not been tested on a HKT-0120 and I dont want anybody not prepared for the possible risks to try it - I dont want to be responsible for a valuable dev unit becoming a brick!

    This bios could possibly also be useful for people who have corrupted their flash on a retail Dreamcast and have a black swirl which wont boot anything (This happens when you leave the 'region changer' mod wire connected and the flash is accidentally corrupted by software/games) as l_oliveira has said that this bios still booted even with the flash chip totally disabled!

    Oh, and if anyone has a picture of the HKT-0120's motherboard (How I miss SegaKatana.com) I would be very interested to know what model bios flash chip Sega themselves used, just for curiousities sake.

    Thats all for now :nod:
     
    Last edited: Mar 8, 2009
  11. wombat

    wombat SEGA!

    Joined:
    Mar 14, 2004
    Messages:
    2,671
    Likes Received:
    319
    Great works guys! This is a good thing for Dreamcast-users all over the world!
     
  12. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Any idea if it runs gd-r fine ?
     
  13. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    Correct me if im wrong, but I think when Evangelion said "l_oliveira region free modification" he meant he only modified the two bytes necessary for region free play on an original HKT-0120 bios. With just that changed I imagine it would still boot GD-Rs, but not CD-R's, right?
     
    Last edited: Mar 8, 2009
  14. mathieulh

    mathieulh Problem Solver

    Joined:
    Jan 26, 2006
    Messages:
    558
    Likes Received:
    182
    Nevermind, I thought he tested the new patched bios. Indeed if the GD loading code has not been touched GD-R will run finevon a dev box
     
  15. Evangelion

    Evangelion Spirited Member

    Joined:
    Jul 20, 2008
    Messages:
    108
    Likes Received:
    2
    GD-R works fine, not CD-R, i have just modified the two bytes. These bits are also on the original dc-bios mpr...something and can be patched.

    can we erase PSOP44 to flash it ? need some knowledge in soldering i think.
     
  16. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    Isn't the bios on a HKT-0120 already flashable 'in system'?

    If you mean the retail Dreamcast PSOP44 bios chip (MPRXXXXX) im afraid it is not flashable - you have to use a replacement flash chip to put the bios in a retail Dreamcast.
     
    Last edited: Mar 8, 2009
  17. PSPdemon

    PSPdemon Peppy Member

    Joined:
    Dec 9, 2007
    Messages:
    308
    Likes Received:
    4
    mmm..... bios sure do work :D

    using NullDC PSP right now ( im on linux and i have a crappy comp...so using the pc end would be really bad -_- )

    would you mind telling me link83 who your suppliers are for the chips and the programmer? ive found a few but they seem kinda pricy :/

    anyway heres a screenshot of the intro boot :)

    http://i64.photobucket.com/albums/h171/PSPdemon/screenshot_825133437_234.png

    Awesome job you all did...and hopefully ill be able to apply this to one of my spare dc's soon.

    Thanks for Everything,
    PSPdemon
     
    Last edited: Mar 8, 2009
  18. _SD_

    _SD_ Resolute Member

    Joined:
    Oct 11, 2008
    Messages:
    947
    Likes Received:
    1
    I have an Easy Pro 80B programmer randomly kicking around. If that'll work with a PSOP 44 adapter I just need that and a TSOP48 chip.

    Again, great work guys. :pray:
     
  19. link83

    link83 Enthusiastic Member

    Joined:
    Mar 22, 2008
    Messages:
    526
    Likes Received:
    8
    Just to clarify, l_oliveira only used a TSOP48 chip with PSOP44 PCB adaptor because that is what he had available, theres are two pictures from l_oliveira showing this method at the bottom of this message:-
    http://nfggames.com/forum2/index.php?topic=3163.0msg21029#msg21029
    (That was the post that inspired me to do all this!)

    It would in fact be much easier for most people to use a standard PSOP44 2MB flash chip as then it would be a direct replacement for the bios chip already used in a retail system (with the same pin configuration/shape etc) A TSOP48 chip would be almost impossibly hard to solder without the correct SMT equipment (which l_oliveira has) and youd still need the small PCB adaptor anyway - I only mentioned this method as an example.

    In my previous attempt I used an AM29LV160BT-80SC (2MB PSOP44 flash chip) but I didnt manage to get it to boot - but this is likely due to my lack of experience in soldering a 44 pin surface mounted chip - I had never done anything like it before! I dont have a SMT rework station so had to lift every leg by hand with a small pin, which is not an easy process :noooo: In fact this bios was finished in December last year, but as I didnt get it to boot first time I gave up on the project. If it wasnt for mathieulh bringing up this thread last week I might not have even attempted it again! (Or at least not for quite a while)

    The next lot of chips I have ordered are AM29LV160DT-70SC which is a slightly improved version of the previous one I tried to use (it was actually cheaper aswell) but please bare in mind that I still havent personally got this bios running on a Dreamcast yet - that was all down to l_oliviera ;-)

    As soon as I get these new chips (hopefully in the next few weeks) I will be testing it for myself, and depending on if GD-R's work or not I will hopefully try and a get a PSOP44 socket aswell for easier testing.

    There isnt really a cheap option to get all the necessary equipment to do this - you will need a programmer that has support for whatever flash chip you are going to use, a PSOP44 to DIP32(?) socket adaptor so you can flash the chip in the programmer (All the programmers I have seen have a ZIF DIP socket as standard, so you have to buy an adaptor for whatever chip type you are going to program/flash, in this case PSOP44) and a 2MB PSOP44 flash chip - I hope that all makes sense!

    Then you will need some skill/experience to remove the old bios chip and solder the new chip into your system. You could also 'piggyback' the old bios chip and then have a switch to swap between the old and new bios. I am hoping to try this piggyback method myself and l_oliveira has been helping me with the switching method.

    I may have a few chips left over as I ordered a small amount - in which case I may be able to sell some pre-flashed if anyone is really keen to try this (Although I am not trying to do this for money! The bios file is freely available and anyone with the equipment could flash a chip for themselves) I will update this thread once I have fully tested it for myself and then let you all know if there are any chips left spare :nod: (so please dont ask to buy one until then!)

    Sorry for so many long posts!
     
    Last edited: Mar 8, 2009
  20. Blai

    Blai Enthusiastic Member

    Joined:
    Apr 2, 2007
    Messages:
    575
    Likes Received:
    39
    So does it boot GD-ROMs, GD-Rs and CD-Rs now?
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page