Custom BIOS goes to version 1.031!

Hi there,

I have been working quite a long time on that version. And not necessarily on the features that may sound hard. Changing from white to black the fade-in color when booting a GD-ROM took me a couple of hours. I was looking for something that does not exist in the code so that kinda explains why :) That version is intermediate in the sense that I needed to be sure that backups can boot without a system-reset before going any further in my research. Now that I know it is possible, many things are worth considering in the next versions. The first things that come to my mind are the extra region protections  games can have (RGB/PAL protection, system broadcast check, etc.) then a in-game-reset that is working in all games. Finally, I am considering working on the bleemcast issue. As far as I know, it's the only game that does not like my bios....
Oh, yeah, speaking of that, I really need support. All my GD-ROM drives are broken and I need to get a new one. I would also appreciate if someone could make me an offer for a black Dreamcast, with its box. I am looking for an almost-new one (scratch-free). The US Sport Edition would even be better :) Well, it's time to let you download the "stuff" and enjoy it!

New features (for a long description, see the readme file):

  • SEGA License screen skip

  • MIL-CD/backup direct boot

  • Black fade-in color while booting from menu

  • No VMU copy-protected file check

And for those that don't really what I am talking about, I made a short video:

Update #1: someone gently reported that once a GDRom has been detected by the console, no MIL-CD/backup can boot up. GDEmu and UGC are fine though since they do not emulate the drive lock protection.I did not know that, so for now, until I'm able to test and either fix or disable the direct-boot feature, I remove the download links. Thank you.

Update #2: The next version V1.032 is almost ready. I'll put a release note about the MIL-CD issue you can experience. In the meanwhile, as some people asked, I put back the link to download the v1.031 release.

Next Dreamcast custom BIOS: W.I.P

Vacantions are almost over so it is time for me to get back to work. So many things to do!

A new version a GDRom Explorer should be released soon and as some people ask me for that feature, yes it will support a new format for Naomi users. That version will also fix a bug some users reported (thanks!) when extracting data. Basically, files with a specific size get corrupted after extraction. My program is unit tested but somehow I missed something. So I promise, the next version is going to be the right one ;) Regarding the version number, you will notice some changes. I should have used 1.7 instead of 1.6.2 for my last release. Thus I will jump directly to version 1.8 to stay consistent with my versionning policy.

Before my summer vacations, I published pictures of the next custom BIOS. It should have been able to display the disc name on the main screen but since I am facing issues I can't investigate right now, I've decided to postpone that feature. However, the next version will do the following:

  • skip the SEGA license screen (ready)

  • bypass the VMU file copy protection (ready)

  • allow MIL-CD/backup to boot directly without system reset (still working on that though)

  • maybe something else, don't know yet.

Enjoy a first teaser of the next custom BIOS!

In the meanwhile...

As many of you have asked for VGA/60hz patch for all the other language specific versions of Resident Evil: Code Veronica, here they come! Yesterday I decided to work on that but I spent most of my time writing makefiles so that one make command creates all the bin, ppf and nfo files for each language (english, french, dutch and spanish). To be honest, I hate makefiles, specially on the Windows platform (I'm using the official SEGA SDK to compile my patches... Don't ask me why :). I'm used to have all the linux tools handy so when I work on Windows it is frustuating; no sed, no grep, no simple way to manipulate strings, etc. Anyway, I eventually made it out.

Starting from now, I expect some people to start speed-running that game on Dreamcast! As far as I'm concerned, I don't go beyong the "press start button" screen, those survival-horror games scare me to death :)

Download links:
UPDATE: I remove the links for now since I've found something wrong: the game actually initializes the gfx stack another time, later in the game (at least one more time). It happens when you reach the room where you get the two golden Lugers. I will fix that a bit later. Thank you.

UPDATE #2: problem fixed :)

Snow Surfers EURO - 60Hz/VGA Patch

As I said in my previous post, I don't have much time to work on game patches or the next version of my custom bios. That though does not necessarily mean I can't quickly talk about what I worked on few weeks ago! I have a couple of game patches ready or almost ready and today I'm releasing an easy one. As usual, it is a 60Hz/VGA patch that you need to apply to the boot file (1ST_READ.BIN). Snow Surfers is one of those games that which have a specific name for each region: Snow Surfers in Europe, Rippin' Riders Snowboarding in the US and Cool Boarders Burrrn! in Japan. Not particularly helpful but funny though. It was one of the Dreamcast launch titles, at least in Europe. It is a pretty good game and playable up to 4 players.


Next and last point: custom bios. In addition to small patches that ease the Dreamcast's use, the next version of my custom bios will also embed two new features. One can easily be guessed from the pic below. For the other one, I let you imagine or wait, depending on your mood. I know that it looks a bit shitty but I need really more time to understand how I can re-use the internal graphics. (Time that of course I don't have...)

DC custom BIOS with devkit intro

First of all, thanks to Link83 who made that possible by releasing his regionfree+devkit intro BIOS a while ago.
So today, you know what I am talking about, I release my custom bootROM, with the same features as the one released previously, except that that one has the devkit intro. And of course, it works on the real hardware :)

Download: (it's exactly the same BIOS file, just the Readme file has been slightly updated)

To make sure you get what I release, here are the sha1 hashes:

  • jc-bootROM-retail-v1.030.bin: 1F385633B2438BAA1984C1194021DCA967B8D095

  • jc-bootROM-devkit-v1.030.bin: 96A4B580E26B1DC696004757F588647B8172961A

About note about my VGA/60hz patches: soon, I may not have enough time to work on that until this summer. I've made progress with some 240p games (like Bangai-o, KOF, etc.) but not enough to consider them as "patchable". I thought first that it would something to do with the graphic library that was too old to stretch the game to fit he VGA resolution, but my guess now is that I have to play with the frame buffer and double the pixels and the lines. Don't know whether it is going to have impacts on the performances though. Let's wait and see!

Another day, another patch: WWF Attitude (PAL/EURO) 60hz and VGA patch

Today, I release another patch someone asked for. I don't know whether I will have enough time to patch them all, specially when developpers decide to do weird stuff (ugly code?)... I noticed that in the first screens with the intro movies the VGA mode is enabled but not anymore once you reach the press start button screen. Well, if you read the code, everything makes sense then. The game initializes 3 times the graphic libraries. And yes I use the plural form of library here because it uses two libraries: one for playing the intro movies and another one for the game itself. I'm pretty sure that if one day I meet a former employee from Acclaim, he would tell me that they ran out of time when the product guy asked them to put intro movies in the game. Anyway, I can't and won't blame anyone here, specially when it is a nice game to play. Thanks Acclaim!


DC custom BIOS

Hi there,

There is something I wanted to share before going any further in the bootROM/BIOS hacking for the Dreamcast. It is a modified BIOS base on the version 1.01d of the retail one.
Copy/paste of the readme:

  • Region free: boot GD/CD from any regions. The J/U/E flags as well as the area protection slots that reside in the AIP (A.K.A. IP.BIN) are now simply ignored.

  • No VGA flag check: no matter if the game supports the VGA output, the lets it boot. There are games that supports the VGA cable but for some reason the VGA flag in the AIP is not set. The use of a boot CD thus was needed. Now, you will never get the annoying "This game doesn't support the AV cable that is currently connected to the main console" anymore.

  • Bootfile extent check: allow a game to boot even if its bootfile, more commonly called 1ST_READ.BIN, is not located on the outer part of the disc. I don't know whether it can be of any use for people using discs. However, for the lucky owners of ODDE for Dreamcast, you can re-build games' track 3 without any padding. For instance, with "Dreamkey 3.0 v1.001 (2001)(Sega)(PAL)(M8)[!]", the track03.bin is ~1.10GB. Re-building the track (track03.iso) using the following command: mkisofs -C 0,45000 -V DREAMKEY3 -G IP.BIN -l -o track03.iso data will made the track03.iso way smaller (only ~93MB). Homebrews can also be rebuilt to GDI so that the 0GDTEXT.PVR texture shows up in the audio player :)

  • Display bootROM version: the current version of the bootROM appears in the up-right corner of the screen.

Download: (get it from here)

I hope it will make the VGA freaks happy: no more boot disc required! (Except for some games but no worries, I'm going tackles them down soon :)

Skies of Arcadia EURO - 60Hz/VGA Patch

Here is a patch for the european version of Skies of Arcadia. This patch makes the game run in 60Hz, as oppose to the original euro version that is stuck to 50Hz. Moreover, the patch adds the VGA support to the game. I've only tested the VGA mode on real hardware, so if someone could test it on a TV, using, I don't know, a SCART cable, that would be great.
In the archive, you will find a ppf file that must be applied to the 1ST_READ.BIN file that you get from a TOSEC GDI dump. If you don"t know how to use patch files, no worries, I've also included the patched version of the 1ST_READ.BIN. Skies of Arcadia uses 2 discs but the 1ST_READ.BIN is strictly the same on both. Now you just have to rebuild the game image and try it out. For those that were waiting for a ready-to-use solution, since there are at least two releases (TOSEC GDI dump and Echelon) and 2 discs per release, it is simpler for me to provide a patch just for the main binary and not for an disc image. I'm pretty sure some people will do some hex-compare, patch, re-built and eventually release a CDI image or even a patched GD dump so that you just have to burn it or copy it on your gdemu/usb-gdrom board.

Download: (New version - same thing but I cleaned one little thing up :)

More to come soon.

Update: works fine on my TV in 60hz using the scart cable so I guess we can say that patch is working correctly :)

All DC games can do it!

After spending hours or even days disassembling and reading the Dreamcast BIOS, I could point out some entry points and modify small parts of it. First of all, special thanks to those guys that made the emulation possible. Without them, my work would have been nearly impossible! Anyway, my only hard drive that had a copy of my work died so I'll get back to that, for sure, but later this year... Well I know I should have put it online or whatever. Sometimes you are in the rush and you can't handle everything. That is what happened to me those past weeks and I delegated the survival of my data to a Toshiba hard drive. How stupid I was! It's over now and I'm going to invest into SSD drives.

I had to move to a new place recently and there is no TV. That is a good thing because I save my brain from being roasted by those stupid commercials and I've also started working on the VGA compatibility for some games like Skies of Arcadia. I remember that I played a lot that game and today I wanted to play few minutes. I got frustuated because back in the day I was using the PAL version and as you all know, the VGA output is not supported.

Why not? I decided to have a quick look (2 hours not more) and I saw something interesting: the video mode is hard coded!!! No matter what cable you plug, you get a PAL NI signal. From that observation, I started to modify the binary and it worked. I need to do a test on a TV to check how the game behaves because I'm pretty sure the game will only be playable with a VGA box though.

So maybe later I will work on the other naughty PAL games that refuse to be compliant with VGA standard. Bad boys...

There is no internet connection where I am so please don't ask me where you can get that patch. I know what needs to be done ;)

UPDATE: I also have Resident Evil: Code Veronica working perfectly through the VGA output. Now I'm trying to enable/fix VGA support for Bangai-o PAL. The 50/60Hz screen is skipped so you can see the game menus, start a game but there are some gfx glitches...

UPDATE 2: Got Snow Surfer working as well. No progress on Bangai-o. I'm starting to think that those 240p games cannot be patched to work correctly with a VGA box even if the video ouput is forced to VGA. The game does not fit the screen and stays in the up right corner.

UPDATE 3: MTV Skateboarding featuring Andy something is playable on VGA. One new thing: the game is locked to run only for a specific region. At least it was! The game is shitty though, I guess the MTV license cost too much :)