Idea to port debug mode from Shenmue Dreamcast beta to 1 and 2 HD release on PC

Joined
Jul 27, 2018
So I got to thinking how underused the awesome debug mode is from the beta at least when it comes to other versions of the game. I got to thinking about how nice it would be to have the menu at least for Shenmue 1 on PC. I am sure it wouldn't work on Shenmue 2, or it would just have to be modified and new values found out for scenes and locations in that game. Another worry was that it might not even be feasible due to the change over to Shenmue 2 Xbox engine as Shenmue 1 is now obviously going to be running on it as well and using same controls as Xbox version.

Obviously, since this version of the game uses Denuvo DRM protection, it still remains to be seen how extensively we will even be able to mod it, but I just would like to get a discussion started around how possible this might be to do.
 
Last edited:
As far as I was able to figure out the important bits that activate the Debug menu might be somewhere in the 1st_read.bin.
I tried to mess around with it and activate it in the retail versions but I got nowhere. Not even sure if it really is somewhere in there. :unsure:
 
It's a completely different CPU architecture. There's not really anything to port, you'd just be stuck re-writing it from sratch. It would be much easier for someone to re-create the debug functionality from scratch than to 'port' it.

As far as the finals go, the only one I've looked at is Shenmue 2 on Dreamcast which still has some debug functionality present. You can see the text strings for what's left just by scrolling through 1ST_READ.BIN in a hex editor. It's mostly the in-game stuff, with no remains of the title screen menu. The functions that output that text for the in-game stuff that is still present are in the final build, such as the Max: 0x%x Rel: 0x%x Min: 0x%x stuff that would appear in the lower left of the screen. But enabling it isn't that simple, because when I tried to trace it nothing calls those functions. That's where I stopped that last time I looked at it, I wanted to find a place to try calling the leftover logic from but wasn't sure yet where to go.

The nice thing about older compilers used in the Dreamcast days was that they didn't do much in the way of code analysis. They didn't look to see what was used and what wasn't, so any functions they forgot to physically remove from the code still get included even if they remembered to omit the code calling them. So they could have either commented out debug stuff or #ifdef'd it away, but they didn't do it for everything.

A lot of the stuff you can do with debug on the Dreamcast version (time control, scene switching) can probably be accomplished externally with Cheat Engine tables. The debug features to change stuff are ultimately just setting and displaying values in memory, so once people find those values you could manipulate the game that way. Denuvo only exists to ruin a game's performance and protect against piracy, it does not prevent you from using Cheat Engine to peek and poke at game memory. There are a bunch of mod tools and hacks for Sonic Mania that work with Denuvo intact, so unless Sega explicitly has anti-cheat in there too something like Cheat Engine should work to at least poke at things in memory.
 
Damn thanks for the super detailed reply. I guess yeah ultimately Cheat Engine hacks would be the way to go then.

Touching again on Denuvo, I suppose it means that it shouldn't prevent us from doing HD texture mods, or adding back in the Timex and Coca-Cola textures from the Japanese versions? That was really my only biggest fear. Adding in stuff like Shenmue Passport models would be way more advanced and then there is still the problem with facial animations.
 
Touching again on Denuvo, I suppose it means that it shouldn't prevent us from doing HD texture mods, or adding back in the Timex and Coca-Cola textures from the Japanese versions? That was really my only biggest fear.
We honestly can't know for sure until the game is out. But Denuvo's primary purpose is to protect the game EXE itself, it doesn't verify the other game files or integrity of memory. Anything beyond that they'd actually have to prevent intentionally, and Sega is pretty supportive when it comes to people modding their games. Remember that d3t also worked on the Steam Sega Genesis/MegaDrive classics portal, which has official support for ROM hacks via Steam Workshop. I don't see any reason why they would want to prevent people from modding the game.
 
Yeah good point. I have their Genesis/Megadrive classics and that was one of the coolest things they let us do is uploading mods to the workshop. Also, Sega never said anything about me posting the Shenmue 2 Xbox English Speech mod for Dreamcast thread with full links to the modded iso's. I am sure they saw it as the old forums were pretty popular.
 
If we're lucky Sega might allow Workshop mods. Although it wont be long until someone cracks Denuvo anyways.
 
No-one has posted in a while , I read that Denuvo has been removed, as long as we can repack extracted tac/tad archives modding shouldnt be a problem
 
Back
Top