Legacy of Kain - Soul Reaver: Debug patch

Hi there,

Here is just one of the many small things I want to share. I have many 90% done projects and it has become quite difficult to find time to finish them. So here is my first attempt since a long time to release something new!

Some months ago I was digging in that game binary, almost out of curiosity. I remember reading somewhere online that the PSX and PC versions had debug menus. With no surprises, I found out that the debug strings where also present in the Dreamcast retail version, meaning there is a change to re-activate the debug features. I think the debug menu is interesting on this game. Many features are like cheats but some others make the game funny to play with: you can start a new game and right away equip Raziel with the Soul Reaver sword or enable Raziel capabilities like passing through barriers, etc. :-)

Note that this patch is for the PAL-UK version of Soul Reaver on Dreamcast. If you want a patch for the other versions (like PAL-FR, PAL-ES, or even NTSC), send me a link to a gdi dump.

Download link: jc-sreaver-debug.zip


Space issue! what logo should be removed?

  • Sat, 12:52: I have many ideas for new bios features... Unfortunately space is the bios is a luxury. Poll coming about what I would like to remove.

  • Sat, 12:55: The bios embeds 2 Dreamcast logo: one w/ orange swirl, one w/o. How about using only the latter (2nd pic)? https://t.co/jYA4uYUDIs

  • Sat, 14:32: If I need space in the bios, what would you like my to do with the dreamcast logos? (See previous tweets) Thank you

Remember boys, no points for second place!

16 years ago, Sega stopped the production of its Dreamcast. Following this unfortunate decision, many game studios decided to cancel their projects on that platform. I suppose they made the choice of stopping the bleeding rather than taking any more risks and releasing their Dreamcast games. I remember I was really disappointed to see all those promising games being canned. I think that brutal stop is probably one of the aspects that make this system so fascinating. More than 15 years after this tragic end of Sega as hardware and console maker, the Dreamcast community remains strong, fans keep faith and share theirs gems: Propeller Arena, Half-life and Geist Force to name but a few.

Last week, I received a message from Kuririn84 who is an enthousiastic owner of a Katana devkit. On the hard drive, he found files of an unreleased game, Millenium Racer: Y2K Fighters. I think only few people knew about this game and even fewer knew about its portage to the Dreamcast. I took those files and worked on giving this game a second chance. After digging a bit in code to see why it was failing to boot and doing few file manipulations, the game started to show its guts and to be honest, it rocks! It is not a demo or an alpha version that would be just frustrating, it is a complete version! Cool, right? Another brand new game! The WiiU is far from being that good :p

To distribute the game, I built a GDI image, region-free with VGA support (was already there) and forced PAL-60hz mode for PAL console. For the sake of digital preservation, I kept original files datetime, ISO9660 volume name, date, etc. as if a real GDR existed. I hope you will like it and again thank you Kuririn84 for sharing your findings ;)

Download: Millenium Racer - Y2K Fighters v1.000 (2001)(Creat Studio)(Region Free)(devkit).zip

And sorry if I haven't replied yet to some of you. I will next week!

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!