socram8888 / tonyhax

PS1 savegame exploit
Do What The F*ck You Want To Public License
438 stars 24 forks source link

DDR 3rd and 4th mix stuck at now loading screen #133

Closed datboi2008 closed 1 year ago

datboi2008 commented 2 years ago

Before opening this kind of issue, please ensure:

tonyhax version: Which version are you running? Please ensure you are running the latest stable, or a newer beta. Installation method: How did you get tonyhax on the memory card? Entry point game: Which game are you using to launch tonyhax? Console model: Console product code, written on the bottom of the unit, such as "SCPH-7502" Integrity check: If it boots, does the built-in integrity check succeed? BIOS version: If you can get to boot, which version of the BIOS does it report? Target game: If the bug happens when launching a game, what's its name and game code? Example: "Spyro 3 (SCES-02835)"

Bug explanation: Details: Dance Dance Revolution 3rd MIX , Playstation version - YouTube and 2 more pages - Personal - Microsoft​ Edge 7_22_2022 10_27_52 PM

Tonyhax version: 1.4.3 Ps1 version: SCPH-7501 (NTSC-U/C) Ps1 Bios version: v1.4 Game used to run tonyhax: THPS3 (SLUS-01419) I got Tony Hax onto my memory card using a ps2 with UlaunchElf I followed this guide: https://www.youtube.com/watch?v=01gVgTQLP9U Games with Problems: DDR 3rd mix (have not tried 3rd mix plus or 4th mix but same engine so im guessing same issue)

alex-free commented 2 years ago

Bumping this, as it seems to be the exact same issue as https://github.com/alex-free/tonyhax/issues/10 . DDR Best Hits Japan is getting stuck at the same exact loading screen in the same way. Reproduced by me with a stock SCPH-1001. Reproduced by @M4x1mumReZ with a stock SCPH-7502.

socram8888 commented 2 years ago

Have you tried on an emulator? I am working so cannot at the moment.

alex-free commented 2 years ago

Have you tried on an emulator? I am working so cannot at the moment.

Unreproducible on emulation using DuckStation+ Boot CD, only on real hardware.

m4x10187 commented 2 years ago

The same can also be said for my stock SCPH-1002, so this must be an anti-piracy issue I suppose.

m4x10187 commented 2 years ago

The only way you could defeat it is to maybe eliminate the routine altogether.

alex-free commented 2 years ago

The same can also be said for my stock SCPH-1002, so this must be an anti-piracy issue I suppose.

I dont think this is anti-piracy related. With either patching method (my bypass methods or socram8888's different bypass method) this still occurs. With no anti-piracy patching this seems to also occur (evident by your PAL stock console in the original issue).

socram8888 commented 2 years ago

How are you booting into tonyhax?

m4x10187 commented 2 years ago

I've booted into Tonyhax International via both cheat cartridge and boot CD with swap trick.

m4x10187 commented 2 years ago

Used two models for this: SCPH-1002 and SCPH-7502.

alex-free commented 2 years ago

I've booted into Tonyhax International via both cheat cartridge and boot CD with swap trick.

I have confirmed this same issue is present in Tonyhax v1.4.4 AND Tonyhax International. I used the Tonyhax v1.4.4 Boot CD via CD Player Swap Trick on my SCPH-1001.

socram8888 commented 1 year ago

This is probably related to https://github.com/socram8888/tonyhax/issues/121#issuecomment-1341365357

alex-free commented 1 year ago

This is probably related to #121 (comment)

Will test this soon to let you know if this can also be closed.

Probably a good idea to update the website to explain this.

socram8888 commented 1 year ago

Yup, will certainly do.

alex-free commented 1 year ago

Yup, will certainly do.

I created a fork of CDRDAO that forces byte-swapping CD audio files (which is required for CDRDAO to burn any kind of CD containing CD audio correctly on every system I've tested, from Mac back in the day to Linux right now) in every write mode. This means that I can burn with the generic-mmc-raw driver and the CD audio will also work.

The actual official CDRDAO is not capable of burning in raw mode AND byteswapping the CD audio files resulting in broken CD audio. The --swap argument or even explicitly specifiying '--driver generic-mmc-raw:0x20000' is completely ignored by the official CDRDAO. You can only use the swap options (and have them applied to the disc burned) if you use the generic-mmc driver.

I went ahead and hacked on cdrdao's source code a bit. I got it to force byte-swapping of the CD audio samples in my own fork, so finally everything works. Keep in mind that if you don't have CDRDAO treat the audio as byteswapped, you get insanely loud static/white noise instead of the intended CDDA music. See my original dilemma?

Well finally everything works and I can proceed to test out this game as well. I can finally make a proper DDR 2nd Remix burn from Linux using just open source software for example.

Here's my fork by the way: https://github.com/alex-free/cdrdao

Here's my 'hacks on cdrdao' to get this working: https://github.com/alex-free/cdrdao/commit/6e544d25de0c61b294e2733ae012f4b3ebf3e0fe

The website should mention this, so people don't get confused why CD audio doesn't work if they try to use the official CDRDAO with the generic-mmc-raw driver.

alex-free commented 1 year ago

I have confirmed that by using my cdrdao fork with the generic-mmc-raw driver to burn each CD-R, all of the below games now work as expected on my stock SCPH-1001 using the Tonyhax v1.4.4 Boot CD via CD Player Swap Trick:

Proving the EDC check is what causes this (just like https://github.com/socram8888/tonyhax/issues/121#issuecomment-1341365357) , and that it can be bypassed with known burning methods.

socram8888 commented 1 year ago

Perfect, thanks for testing! I'll update the page to link to your cdrdao fork too

krystalgamer commented 1 year ago

great work @alex-free do you have any plans in upstreaming your patches?

alex-free commented 1 year ago

great work @alex-free do you have any plans in upstreaming your patches?

Hey, didn't you do the tekken 3 exploit stuff? I got Tekken 2 and Tekken 3 exploits into tonyhax international because of your previous work. https://alex-free.github.io/tonyhax-international#save-game-exploit . Thanks for that.

Alot more work probably would need to happen for upstream to accept the changes to make it more 'correct'.

krystalgamer commented 1 year ago

glad someone used it :D

anyways it's great to start for a better CDDA on cdrdao

m4x10187 commented 1 year ago

I might come up with some exploitable saves in the near future, I'm busy right now.

m4x10187 commented 1 year ago

You know, it wouldn't be that hard to simply see if the EDC is invalid in each sector, and then report which sector has invalid EDC data indicating an EDC check. I'll make a program which can detect this (using proper clean game rips as input) soon, maybe I'll integrate such functionallity into https://alex-free.github.io/aprip .

Sounds good to me.

m4x10187 commented 1 year ago

I need help building your CDRDAO fork to work with Linux. Currently, I'm using Linux Mint.

m4x10187 commented 1 year ago

I need help building your CDRDAO fork to work with Linux. Currently, I'm using Linux Mint.

What issue are you having?

Compiling the fork under Linux.