Dear Capcom, I think I've finished your work! What? No money?

If you don't care about the details, just scroll down, you will find the links you are looking for.

To summarize my work, I decided to create this time some gif-like images, I find it more entertaining. I hope it will help understanding the different steps I have been through. I only kept the most relevant ones, mostly because I do not remember all the stages.

Whereas in some games modifying few bytes is enough to enable VGA output, here it was a different story.

Not to mention that the game has been released in 5 versions just for the EURO region, the structure of the code gave me a hard time. Sometimes my patch was working correctly in the emulator but not on the real hardware. I also tried to fix delay with the subtitles when it was only due to emulation/computing power limitations. The last epic patching issue is even worse. Because I was tired of seeing the game splash screens again and again, I hacked to game so that I reach directly the main screen. But it was a dirty hack, so dirty that it was messing with a specific part of the game: the ending splash screens. As all the rest was working flawlessly, I though that I first had to patch it, like I did with the credits screen. I don't know how many hours I wasted before I realized that those ending splash screen were just fine the way they were!

So ok, fixing the FMVs was kind of easy. But the subtitles... Arrrgh, I hate them! I remember that after reading the code that generate them, I clearly saw how I could fix them. Every attempt was a step forward. I was getting close to have them displayed correctly (see below).
Everytime I was understanding more about the way the subtitles are generated, I though I was on the right track. Only the "little" glitches you can see below were left to be fixed.
jc-dinoce-ntsc-vga-subtitle1-glitch.png jc-dinoce-ntsc-vga-subtitle2-glitch.png
Unfortunately, no matter what I was changing in the code, I did not see any improvement. It's often difficult to accept that you took the wrong path. After spending so much time in my "super-mega-subtitle-upscaler" hack, I decided to throw it away, take a step back and see if I could fix the subtitles differently. Then I found what I was looking for: the code that sticks the texture on the surface.

jc-dinoce-ntsc-vga-compare-test1-final.png jc-dinoce-ntsc-vga-compare-test2-final.png
You can notice that the rendering on CRT and VGA displays is not 100% the same but as far as I have tested it, it is either not noticable or slightly better (the text looks more centered). Anyway, I folded my last card to fix the subtitles and I believe the outcome is more than acceptable.

I am glad to see this game working well over VGA and thank to it I have learned new things. I am confident that now I can fix my previous patches for RE:CV and maybe other games like Psychic Force 2012 or MakenX.



Downloads (and please mirror):Kudos to bomb78 who helpt me out with the testing and to Assembler Games which fellow members (--I don't know yet whether they would like to be mentioned here--) helpt me gathering all the GDI dumps for this game (specially the German and the Spanish ones). Thank you all!

Note to Capcom (who will never read this): You stopped the VGA support half-way and did not even support the analog stick! You little lazy boy!

Denver is not the last one!

As promised, with a little delay, I am glad to release Dino Crisis with VGA support. Capcom, who developed the game, were probably in the rush when they decided to release the game. The VGA support was nearly done! What a shame and a waste of time (at least for me). I don't think it would have taken them more than 2 hours to implement and test a full VGA support...

The FMVs are not playing in VGA? Yes but this is not the only issue. When switching from NTSC or PAL to VGA, the resolution gets doubled (320x240 to 640x480). This should not be a problem because the GFX libraries handle those resolutions, you just need to initialize them with the right parameters. The problem comes when you display elements on the screen: to position elements you assign them coordinates, relative to the upper-left corner of the screen. When you switch to a higher resolution, you have to multiply the coordinates of all elements by two. So this means you have to find out where those coordinates are located in the code: basically it's like looking for a needle in hay stack! In Dino Crisis, we have such problem.

no title
The credits screen when playing with a scart cable
no title
The credits screen when playing with a VGA box (assuming the FMV playback is fixed for VGA)

So yes this game is a little bit of a pain to patch. I am not a big fan of this game and even if I were, when it’s the nth time you start the game, load a save, play few seconds, watch the ending FMV (that of course you cannot skip), you really get bored! On top of that, when you notice that some screens do not behave the same way compare to the rest of the game, it’s hard to be 100% sure that the game is fully patched. That's the case with the credits screen. To avoid killing myself, I had no other choice than hacking the game logic to trigger the end of the game after starting a new game...

no title
Here is final result, the credits screen patched with a VGA box

The work seems to be done for this version. PAL-FR, PAL-IT, PAL-DE and PAL-ES ones will come later. As they have subtitles that need to be stretched up, it’s a little bit harder to fix. I will talk about it later.

Now it’s time to try it out and make sure everything is working correctly :)

Special thanks to bomb78, who helpt me a lot with the testing!


Forced vacation!

In ideal world, or simply in the world we were living in until a couple of years ago, goods were still made to last. How many of you are still using their old consoles or computers? Today's consumption model has been forcing us to renew our electronic appliances, phones, computers with no warranty that the new models we buy are as efficient as the ones we throw away. Once again, I have my laptop playing with my nerves and I have no other choice than sending it back to aftersale services. Hopefully here in Europe, any computer hardware brands have to provide a two years warranty to their consumers, even if you have not spent a dime on an extended warranty like Apple Care or whatever.

All of this to say that I postpone the Dino Crisis release by at least a week. But no worries, it's almost ready. I have also read that my RE:CV patches are just partialy working. As I said, I don't play those games so this is probably why I did not notice that the game was switching back to 50hz while/after playing FMVs. Now that I have enough experience in patching Capcom games (thank you Dino Crisis :), I see what is left to be done. Anyway, I will fix this and also provide some support to have the RE:CV X patched as well.

I will also release a CDI version of SoA, based on Echelon release. I still don't know if I will keep the trainer though. Let me know whether you want it or not ;)


GDIs to share

I have been hesitating a long time whether I should release this or not. But, after all, I don't see much differences between releasing part of a game or the entire game image. So here we have a shared folder that contains patched GDI images I made. At the moment, I only have games to which I've added the VGA support. Basically the boot file has been replaced by the patched one and the boot sector's (IP.BIN) VGA flag has been set so that the game can boot with the VGA cable plugged in. Regarding the tracks format, I kept the original raw/binary (mode1, 2352 bytes/sector) file format but as I modified part of it, I fixed the ecd and ecc vectors so that any software sees the image as legit.

Among the games there are in the folder, there is a one I haven't released anything about so far: it's "MTV Sports - Skaeboarding Featuring Andy Macdonald v1.002 (2000)(THQ)(PAL)[!]". You can also find its patch in my patch repo: jc-dc-patches.

I don't know for how long I will keep the sharing open, so I encourage you to make copies.


Note: The version of SoA is in the GDI format so unless you split the game in three of four discs or use compression technics (like for instance echelon's release) you won't be able to burn a copy. However, I have a patch for Echelon's release. Once I am done with Dino Crisis I will certainly release it.

You have mail!

Back from my vacations, I was contacted about a potential patch for the PAL versions of Dino Crisis. As with Resident Evil: Code Veronica, there are several PAL versions (UK, French, Spanish, Italian and German) and except for the UK one they are all localized with subtitles during the game and the FMV playback.

Unfortunately, the game has no VGA support. The game can boot in VGA mode with the disc swap trick (or one of my custom bioses) but the FMV playback does not work on VGA display. Furthermore, if you force the game to NTSC-60hz, the subtitles are not in sync anymore.

This is what you would get with a "simple" VGA patch:


But DC is a bit special: it uses the Sofdec middleware stack to display FMV. Let's patch it for VGA then!

FMV Fullscreen but subtitles squeezed!

I've found it really challenging to patch this game. While the game itself plays flawlessly in VGA, the FMVs change significally the complexity of the patch, at least the way it is coded. Basically it's like opening a can of worms. And if you add the subtitle thingy on top of that, it's a nightmare! But after spending some (read many) hours on dissassembling the game, I think I nailed down the way the subtitles are generated.

Below some footages to illustrate the different stages of fixing the subtitle texture.

Fix subtitle texture sizeTrying to fix subtitle texture creation
Subtitle creation algo partially fixedSubtitle creation fixed!

Now remains fixing the subtitle delay (50-->60hz). I know where to patch but I need more time to implement a way to remove the delay all at once.

So yes the game can be played on VGA and yes a patch will come to light :)

UPDATE: Yes I still am working on the patch. I will post more details next week. Everything is patched and works correctly (even/especially on real hardware). There is one glitch I am struggling with though... hope I can overcome this soon :)

Release: Custom BootROM v1.032

Hi there,

A couple of months ago, I thought I was ready to release my new bios. Unfortunately for me, at that time, I was really busy and my bios mod started to show weaknesses. As I don't have the right soldering equipment, I had to work with my Dreamcast and all its little faulty contacts. I worked hard to get the reset exception working correctly... actually way more than I should have! The reason? On my Dreamcast, the faulty contacts I mentioned were crashing the Dreamcast upon reset! I took me quite some time to figure this out :/

That was quite unfortunate for me but at least it gave me the opportunity to have a glance at other things. I explored a bit how the region protections games like San Franciso RUSH 2049 have and came up with a solution that fake the system region. Later I decided to force the video signal to output a 60hz refresh rate (more details in the readme file) and so on and so forth. So now the bios I'm releasing today is way more advance than I planned initially.

With the holidays coming, I don't want to hold it any longer. However I prefer to warn you beforehand: even if I tested most of the features, I can not guarantee that everything is 100% working (and constructive feedback is welcome). I am sorry for this but no worries, the bios does not contain some kind of bad-ass code that could destroy your Dreamcast ;)

I tried my best to add new features, improve compatibility with some naughty retail games. But it comes with some drawbacks: no cheat disc until I release one compatible with my bios, some independent games like Pier Solar do not work anymore (again, more details in the readme file). I will address those problems later. For those using GD-Emu, you are probably also using the GD-Menu app Neuroacid created. Well here again it doesn't work anymore, but soon a compatible will come to light! By the way, kudos to neuroacid who saved me time and helped me a lot for the testing!

Ok, that's enough talking for now, let's check the features out:

bootROM v1.032 Retail & DevKit Changelog:

  • In BIOS menu to update the following bootROM settings (Boot animation color, SEGA license screen skip, MIL-CD/backup direct-boot, Dreamcast main menu scenery perspective and color)

  • Skip the "set date/time" screen

  • BIOS video mode forced to 60hz

  • Auto region patching for GD-ROMs

  • Internal changes for future updates

Please read the readme file to see the complete list of features.

Download link (contains retail & devkit boot anim):

  • jc-bootROM-retail-v1.032.bin SHA1: ec42875983f33cefafe8616eb9152cf0172136ae

  • jc-bootROM-devkit-v1.032.bin SHA1: b5b00b3a34d6556abb34450d0fb9d37a57d7dd05

See you soon!

Beta bootstrap + reset: Mission complete

I feel like some people like to claim that it is impossible when they fail to overcome problems. Fortunately, their vision has a limited influence. If I listened to all the negative comments about my projects, I would probably end up being like their authors, spreading my frustration over the Internet.

Anyway, that is not the point I want to talk about. Today, I am happy to report my progress. Let's start with the bad news. In its current state, my next bios version cannot boot cheat discs like Action Replay/Gameshark/Code breaker and GDMenu. I know why and there are solutions to this. The good point is even though some people state that it is not possible, the beta-bootstrap I slightly modified works flawlessly with MIL-CD/backup, including the system reset. I can even add that I knew it would pass the holly protection before testing it on the real hardware. Pretty cool isn't it? But to be honest, my moves are limited but I hope that in a near future I will be more free.

In short, I could release my bios right now, and release the "patched" cheat disc later. But I am not sure yet that this would be the best solution to introduce the custom cheat-disc for my bios, specially as there is a chance that I will overcome this issue. Booting custom bios is already a difficult task for users and I don't want to bother them with a "special version" of games/applications. Anyway, whatever solution I come up with, the compatibility is not going to be impacted.

Stay tuned!

GDROM-Explorer: better late than never

Hi there,

Pending the next BIOS release, I decided to update GDROM-Explorer. I received feedback some several people saying that some files were corrupted after extraction. Well that was a really silly bug, a piece of code I forgot about when I was doing some code refactoring a while ago :( Thanks to tormod who saved me a lot of time comparing files, I could easily nail down the problem. I am sorry for those who wasted time on this. The good news is that, even I took me more than a year to update my program, you finally have now a fixed version!!!


I have also been asked to add a new feature, a new file format to support (Thanks again tormod). This will come in another release (v1.7) planned for later this year.

Enjoy and see you soon!

The wait is almost over!

Hi everyone,

A couple of weeks ago, I was feeling comfortable enough to release my next custom bios before 2016. Then I postponed the release date to February. Right now I cannot commit on a release before March. I am sorry about this but you have to understand that it is also frustrated for me! I have been working hard in the next version despite a busy schedule and substantial personal changes.

The good point is that the version 1.032 is "feature complete" and is working properly. I introduced new features and cool customization options. I have only one thing that stops me from releasing my custom bios: the holly check.

As you may know, at boot time the bios is copied from the chip to the RAM and the Holly controler performs some sort of a checksum to determine whether the bios is legit or not. If it is not, the GD-ROM drive is locked and ypu cannot play any game. So far I have been using code (bootstrap) from a beta naomi bios (a beta version The House of the dead 2) in which only a small part of the bios is checked, leaving the rest up for modifications (Thank dknute for the intel and MetalliC for the first implementation!) That is the way I validate my code on real hardware. Then I inject my patches in the retail bios and more or less bruteforce the Holly check. Right now I have to make the bios pass this check, this is the final step. You may ask "why not releasing the bios with the beta bootstrap?". Well, here is the heck: this "beta" bios does not support the manual reset (read soft-reset) so you are not able to boot milcd and play with boot discs. I patched the beta bootstrap to handle the sof-reset but as It modifies to the data used by the Holly controller to unlock the drive (more precisely the G1 bus) I face the same issue again: the modified beta code has to be altered to pass the Holly validation. So here I am, trying to get lucky! It takes some times (that I will have next week) but I feel confident. I know that it is not because you change kb of data that this step is harder. I was already able to pass the check with a bios that had more 32kb of data different from the original bios. If by chance I can make the beta bootstrap code with the reset pass the Holly check, I will not have to bruteforce any other custom bios. It is definitely worth trying!

In brief, cross your fingers and wait!

The legend will never die


Our favorite console is definitely not dead and not even dying! Every year I am so surprised to see how many games, mods, prototypes, tools and accessories get released. I really like that system. I do not own any of the last generation consoles and I think it is better that way. I am so furstrated to see that when you buy a game for new systems, the first thing you have to do is to download a small 1 or 2 GB update, because of course the game is still in a sort of non-official "beta" version. So you basically pay video-game editors to help them debug their games... Well I prefer to live in the past, where games were made by passionate people, carrying values other than profitability.

With Christmas coming, I really wanted to release a new version of my custom BIOS but there is a lot happening in both my personal and professional life. Even if I may have differently, I am not going to release the BIOS before January. First, I have technical issues: my modded Dreamcast seems to have a loose electrical connections somewhere and I do not have an iron at my place to fix this. Second, there is something that is not working correctly with my new BIOS and this problem cannot be neglected. Finally, the release is made up of two elements: the BIOS itself and its configuration tool for the customization and I am late in the development of the latter.

Pending the next release, I have created a youtube playlist with two new videos. I hope you will like them.

Also I would like to thank the people who donated. I will probably spend that money on a new iron ^^ Thank you!!!

Merry Christmas everybody,

See you in January!