Dreamcast Widescreen Hacks

Discussion of topics related to licensed games, software hacking/modification, prototypes, and development kits belongs here. Includes topics related to emulating the Dreamcast console on your computer or on another gaming console. Discussion of Reicast should go in the Official Reicast Forum.
Post Reply
User avatar
|darc|
DCEmu Webmaster
DCEmu Webmaster
Posts: 16156
Joined: Wed Mar 14, 2001 6:00 pm
Location: New Orleans, LA
Has liked: 16 times
Been liked: 5 times
Contact:

Dreamcast Widescreen Hacks

Post by |darc| » Fri May 31, 2019 2:19 pm

The following content is being "imported" from the AssemblerGames Dreamcast message board due to the board going down at the end of June.
This content is thanks to Esppiral.

List of Dreamcast Widescreen codes -- https://segaretro.org/List_of_Dreamcast ... reen_codes

How to find Dreamcast Widescreen codes
Ok, I'll try to explain how I find the correct values/addresses for widescreen.

S4pph4rad originally found the way to make widescreen codes. I lack any knowledge on programming or assembly, everything has been done with just passion ^^'

So let's get started.
You'll need.

1.-Demul (any version) I recommend Demul v.0.5.7 (savestates works best in this version, and you will need savestates, believe me)
2.-Cheat engine. 6.5.1
3.-The game you want to hack (obviously), .cdi, .gdi or burned CD.
Once you have everything in place.

Step by step
1.-Start Demul
2.-Boot your game
Note.-Demul is prone to crash A LOT while you are looking for the correct address containing the Widescreen value, so I recommend you make a savestate as soon as a 3D scene appears on screen, before doing anything else.

Next step, open Cheat Engine.
1.-Open Process list.
2.-Attach it to Demul.
3.-Open Process.
RpLCh3Y.jpg

Looking for the correct address-Value
1.-Set Scan Range
START 2C000000
STOP 7FFFFFFF

2.-SCAN TYPE- EXACT VALUE
VALUE TYPE 4 BYTES.

3.-VALUE 43A00000 (more on this later)**

4.- First Scan.
RpLCh3Y.jpg
From the results list copy all selected items to the address list.

Now you can select and change those values to 43700000 here is where the savestates will come in handy, if things are changing on screen but none is the aspect ratio, reload your savegame and try different addresses.
I recommend you change the values in little groups, it will help to isolate the correct address easily and you may find the address responsible for widescreen.
RpLCh3Y.jpg
**Depending on the game the correct value may vary.
Most common values to look for are.
In 4 bytes hex

Code: Select all

43A00000
3F800000
3FAAAAAA
44200000
43F00000
To know what the Widescreen equivalent of those values are you need to multiply them by 0.75, so in the case of 44200000, its decimal representation is 640 so we multilply it by 0.75 resulting in 480, the hex equivalent for 480 is 43F00000, so that is the value we need in order to make the game widescreen.

So in the case of Dead or Alive limited edition
Original

Code: Select all

2C2FBBD0
43A00000
Widescreen

Code: Select all

2C2FBBD0
43700000
To convert it to a CB or AR compatible code to use on real console you just need to change the first 2C ot 02

Like this.

To use on demul

Code: Select all

2C2FBBD0
43700000
To use on Dreamcast (Code Breaker-Action Replay)

Code: Select all

022FBBD0
43700000
Note.
If any of those values find nothing, you can start searching float values, for instance anything from 0,6 to 2.0 can lead to find were the fov value is stored.

In this case, you may end dealing with thousand of addresses to look into, this method helped me finding the addresses for some games (Soul Reaver, Tomb Raider. etc)

Things can be a little bit ( a lot actually) more complicated, you may find that some games don't have and horizontal value modifier, but instead you will find a vertical and zoom modifiers, changing both you can achieve widescreen too.

Also there are games where the value is stored dinamically on different addresses , or can't be changed at all.

If you have any question, please ask, if you find a zoom or vertical modifiers keep looking or ask here for help, because it may lead to a WS hacks too.

Hope this helps.
Attachments
qjgYoEF.jpg
aKL8MWH.jpg
These users liked the author |darc| for the post:
Anthony817
It's thinking...
Seeker
DCEmu Newbie
DCEmu Newbie
Posts: 2
Joined: Sun Jun 02, 2019 11:33 pm
Has liked: 0
Been liked: 0

Re: Dreamcast Widescreen Hacks

Post by Seeker » Tue Jun 04, 2019 6:25 am

I've stumbled accross this thread at asseblergames a few weeks ago. Since I was not able to register there, I already started to to put my findings on my own homepage and ended up collecting everything there. Unfortunatelly neither the lists at segaretro.org nor at elotrolado.net are complete and up to date. Even worse, there were quite a few faulty codes floating around. I assume they come from early attempts using very specific CDI-Releases. I checked every code and corrected the faulty ones, so they work with TOSEC-Dumps. You can find the complete Code-List here: http://retro-magic.de/Dreamcast_WS_Codes_en.
Since all the findings at assemblers would go lost, I also collected every Hex-Patch and put it on my site: http://retro-magic.de/Dreamcast_Hex_Patches_en.
Please note: I did not include values for Ultra-Wide hacks yet. Everything else is there.

During the last weeks I've also converted all Codebreaker-Codes to Retroarch Cheat-Files. I find this very comfortable when you playing on an emulator, because all you have to do is set cheats to auto-load and just boot up your game. (As long as the file names are correct.) You can download the archive with all Retroarch/Reicast-Cheat Files here: http://retro-magic.de/sites/default/dow ... ast_v1.zip
Instructions on how to use are included, as well as templates to convert your own cheat files if necessary.

I really hope Esppiral, megavolt and the others will come to this thread, because I would really like to thank them for their hard work, as well as ask them for help according to a few things.

New codes that I found:

These are codes for games, that haven't been posted yet somewhere.


Nanatsu no Hikan - Senritsu no Bishou (aka Seven Mansions) (JP)

Widescreen:

0243BDA4
43700000
0243BDD8
3F9AF5C2

FMV + Title Screen Aspect Ratio Fix:


024319E8
42200000
02431A08
42200000
02431A28
438C0000
02431A48
438C0000

Spoiler!
ImageImage

Spoiler!
ImageImage


These Codes work with the original Japanese game as well as the English Translation, which has been released recently. The FMV-Fix corrects the aspect ratio of the 4:3 Videos, so you have black bars left and right, but the image is not stretched to the sides. All this game still needs is a VGA Patch. @japanese_cake?


90 Minutes - Sega Championship Football (PAL)(M5)

20104A34
3F52CCCD

Spoiler!
ImageImage



SGGG – Segagaga (JP)

02AF57DC
43F00000
02AF580C
3F400000
022122A0
3F400000

Spoiler!
ImageImage



Iron Aces (PAL)

0218C15C
43F00000
0218C18C
3F400000

Spoiler!
ImageImage



Seventh Cross Evolution (US)

0277A178
3F400000

Spoiler!
ImageImage



Sorcerian - Shichisei Mahou no Shito (JP)


0225c714
43F00000
2C25C744
3F400000

Spoiler!
ImageImage


Psychic Force 2012 (PAL)

027DA39C
3F400000

Spoiler!
ImageImage


Red Dog (PAL)

023511A0
3FC58577

Spoiler!
ImageImage



Snow Surfers (PAL)


021A50EC
43F00000
021A511C
3F400000


Wetrix+ (PAL)

0275281C
3F400000

Spoiler!
ImageImage



Plasma Sword (US)

027D463C
3F400000

Spoiler!
ImageImage




Tee Off (PAL)

023A9458
3F400000

Spoiler!
ImageImage



Gundam Side Story (US)

0288E780
3F400000

Spoiler!
ImageImage


Bomber Hehhe! (JP)

02286E2C
43F00000
02286E5C
3F400000

Spoiler!
ImageImage



The Lost Golem (JP)

02282604
43F00000
02282634
3F400000

Spoiler!
ImageImage



Tetris 4D (JP)

021AAC80
43F00000
021AaCB0
3F400000

Spoiler!
ImageImage



Langrisser Millenium (JP)


0224A878
43F00000
0224A8A8
3F400000

Spoiler!
ImageImage



World Series Baseball 2K2 (US)


02014E90
43700000


Black Bars Removal during FMV
When set for widescreen for the gameplay, your TV of course will also stretch the videos to wide. I found this very annoying and was looking to remove those black bars to get the original aspect ratio back.

Resident Evil - Code Veronica (US)

Widescreen:
02329E40 (by Esppiral)
3F400000

Black Bars in FMV removed:

023838D8
43F00000
023838F8
00000000
02383918
43F00000
02383938
00000000
ImageImage

This removes the black bars in the FMV and makes them fullscreen instead of squeezed when TV is set to widescreen.

Resident Evil - Code Veronica (G) + (Fr)

Widescreen:
0232A380
3F400000

Black Bars in FMV removed:

02383E18
43F00000
02383E38
00000000
02383E58
43F00000
02383E78
00000000

These codes work for the German and French PAL-Version.


Grandia II (PAL)

FMV-Fix:


0225068C
39F00000
022506AC
39F00000
022506CC
43F00000
022506EC
43F00000

This removes the Black Bars from the Intro Movie. Though there remains a thin line at the bottom, that I couldn‘t find a fix for yet. You can use it without problems on the Hex-patched image.


Star Wars Episode 1 Racer

Black Bars:

0229A96C
42900000
0229A98C
42900000
0229A9AC
43CE0000
0229A9CC
43CE0000


Faulty codes I corrected

Max Steel – Covert Missions (US)

02551B80
3F400000

The Code posted in the other thread and elsewhereseems to be wrong. This one works.

Cosmic Smash (JP)
02240FAC
3F400000

The two codes posted so far didn‘t work for me. This one works with the TOSEC-Dump of the game.

Death Crimson OX (US)
028BD5B4
43F00000
028BD5E4
3F400000

Death Crimson 2 (JP)

02819F44
43F00000
02819F74
3F400000

The Codes posted by yzb37859365 only zoom in. These ones give the correct aspact ratio.

Surf Rocket Racers (PAL)
0245CED4
3F400000

The code posted in the other thread didn‘t work for me. This one does.

Work in Progress:

Here I really hope for some input from people. Maybe somebody could be so nice to give Esppiral or megavolt a hint to look here. Their Hex-Knowledge is really required on these ones.

KISS Psycho Circus – The Nightmare Child (US)

0253F580 <--- vertical modifier (stretches the image up)
C4200000
02EFB748 <--- changes position of objects
43A00000
02EFB750 <--- changes size of objects
43200000

Spoiler!
ImageImage


As you can see, it basically works, but the picture is zoomed in/cropped. Also, since this is a WinCE game it won't run on Reicast yet. Which means a Hex-Patch will be required to play it on Demul without Cheat-Engine.

Slave Zero (PAL)
0217EF68
43F00010

Spoiler!
ImageImage


Same problem as above. Couldn't find a way to zoom out the picture yet. But it's still very playable.

Dino Crisis (US)
ImageImage

Zoom is located at 2C31660C
I also found a vertical modifier, but it gets loaded to a differt area in RAM everytime I boot the game. So a Hex-Patch will be necessary. Unfortunately it also just stretches the picture up. This can be corrected by re-adjusting the camera and works great during gameplay. But then the camera is mis-aligned during cut-scenes. The value in question is 43E00000 in the US-Version (43F00000 in PAL) and usually located around address 10000000. It's one of the first hits when you do a search for 44200000 from 00000000 on an then to be found right next to it...
User avatar
|darc|
DCEmu Webmaster
DCEmu Webmaster
Posts: 16156
Joined: Wed Mar 14, 2001 6:00 pm
Location: New Orleans, LA
Has liked: 16 times
Been liked: 5 times
Contact:

Re: Dreamcast Widescreen Hacks

Post by |darc| » Wed Jun 05, 2019 4:05 pm

Thank you so much Seeker! I posted this message at Assembler so that they may see what you wrote.
It's thinking...
Seeker
DCEmu Newbie
DCEmu Newbie
Posts: 2
Joined: Sun Jun 02, 2019 11:33 pm
Has liked: 0
Been liked: 0

Re: Dreamcast Widescreen Hacks

Post by Seeker » Fri Jun 07, 2019 7:42 am

I have to thank you for your help :)

Hope some of the others will look here and maybe can help to get more of the remaining games working. I just don't have the knowledge on how to create Hex-patches, which will be required for some titles. Such as the following, I'm stuck with. One of my favourite games:

San Francisco Rush 2049

Same problem as with Dino Crisis. Value of vertical modifier changes every boot. Also just stretches the picture down. In theory it would work:

ImageImage

Value in question is 43EB0000 (USA-Version) in changing position.

Zoom is located at 2C177A00. Any help highly appreciated.

Update

I spent some more time on Kiss - Psycho Circus and found some better values:

This one has the correct widescreen-format, but unfortunately has clipping:
0254E94C
3EC00000
02EFB748
43700000

This one is a bit zoomed in, but works great so far:
0254E954
3F300000
02EFB748
43A00000
Lisko
DCEmu Newbie
DCEmu Newbie
Posts: 1
Joined: Tue Aug 27, 2019 5:46 am
Has liked: 0
Been liked: 0

Re: Dreamcast Widescreen Hacks

Post by Lisko » Tue Aug 27, 2019 6:15 am

Seeker wrote:
Fri Jun 07, 2019 7:42 am
I have to thank you for your help :)

Hope some of the others will look here and maybe can help to get more of the remaining games working. I just don't have the knowledge on how to create Hex-patches, which will be required for some titles. Such as the following, I'm stuck with. One of my favourite games:

San Francisco Rush 2049

Same problem as with Dino Crisis. Value of vertical modifier changes every boot. Also just stretches the picture down. In theory it would work:

ImageImage

Value in question is 43EB0000 (USA-Version) in changing position.

Zoom is located at 2C177A00. Any help highly appreciated.

Update

I spent some more time on Kiss - Psycho Circus and found some better values:

This one has the correct widescreen-format, but unfortunately has clipping:
0254E94C
3EC00000
02EFB748
43700000

This one is a bit zoomed in, but works great so far:
0254E954
3F300000
02EFB748
43A00000
Hi seeker could you please give a look at Soldier of fortune hex patch? The game goes in widescreen but the crosshair is disappeared. Playing this game without is very difficult if not impossible. Unfortunately I can't get an account at AG so I'm asking here. Maybe one of you signed in both forums could forward my request to the original author if seeker is not able to fix it alone. Thank you very much, playing sof in ws on dreamcast would be great
Post Reply