socram8888 / tonyhax

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

Echo Night crashes when selecting "New Game" #152

Open GoronMegaZord opened 10 months ago

GoronMegaZord commented 10 months ago

Before opening this kind of issue, please ensure:

tonyhax version: 1.4.5 Installation method: Copied files onto a PS1 memory card using DexDrive Entry point game: CRASH BANDICOOT 2 - CORTEX STRIKES BACK (SCUS-94154) Console model: SCPH-101 Integrity check: Yes BIOS version: v4.5 05/25/00 A Target game: Echo Night (SLUS-00820)

Bug explanation: The game boots fine, but when I select "New Game" on the title screen, I am taken to a black screen. You can see it happen here. I've also just finished testing it again to be absolutely sure the issue is reproduceable.

socram8888 commented 10 months ago

Hello. I cannot reproduce your issue on an emulator. Which program did you use to burn the disc?

Redump lists this game as having EDC antipiracy checks, which are data sectors whose checksums are intentionally corrupted, and some burning tools fix automatically.

alex-free commented 10 months ago

Hello. I cannot reproduce your issue on an emulator. Which program did you use to burn the disc?

Redump lists this game as having EDC antipiracy checks, which are data sectors whose checksums are intentionally corrupted, and some burning tools fix automatically.

This might be a freepsxboot patch incompatibility (which are not reproducible in emulators).

I really don't trust the EDC listings in redump because I believe they used a tool that has a lot of false positives (since a ton of games have invalid EDC (in non fatal areas like zero filled sectors) due to the buggy Sony tools not generating the proper EDC/EEC for sectors). The only games I've actually come across with EDC protection are here: https://alex-free.github.io/tonyhax-international/anti-piracy-bypass.html#edc-protected-psx-games

GoronMegaZord commented 9 months ago

@socram8888 : I used ImgBurn to burn the CD. It's worked perfectly fine for many other PS1 games I've burned. (But I understand that different games may have different antipiracy checks.)

@alex-free: I did notice the message, "Installing patches: Generic antipiracy FreePsxBoot" at the bottom of the TonyHax loader thing. Are there any next steps I can do to help with looking into this?

====

Actually, I looked at the list of EDC protected games Alex-free linked to and saw that page also says that ImgBurn won't burn EDC protected games, but CloneCD will. So I will look into using CloneCD, despite Echo Night not being on the official list (yet).

Thanks!

socram8888 commented 9 months ago

This might be a freepsxboot patch incompatibility (which are not reproducible in emulators).

It should for the original tonyhax - I am unconditionally patching the memory card read process as long as it is a PS1.

alex-free commented 9 months ago

This might be a freepsxboot patch incompatibility (which are not reproducible in emulators).

It should for the original tonyhax - I am unconditionally patching the memory card read process as long as it is a PS1.

I think that this issue https://github.com/socram8888/tonyhax/issues/145 did not happen in emulators only on real hardware. I haven't yet had a chance to check this out though.

socram8888 commented 9 months ago

I don't remember if I tried that issue on an emulator using the 2.0 BIOS he was using. I test on emulators using the 4.4 version my retail PSone has, and there I could certainly reproduce other weird read contention issues. Unsure about this one in particular or the one from #145.

GoronMegaZord commented 9 months ago

I wasn't able to patch the ISO with EDCRE, even with the -z argument. I might need to track down an ISO with actual different tracks. The one I have might have had its contents consolidated into one bin, I'm thinking.

alex-free commented 9 months ago

I wasn't able to patch the ISO with EDCRE, even with the -z argument. I might need to track down an ISO with actual different tracks. The one I have might have had its contents consolidated into one bin, I'm thinking.

I don't think the problem is EDC so EDCRE won't help here

alex-free commented 9 months ago

Have you tried using International? It doesn't have the freepsxboot patch so that should work if that truly is the issue

GoronMegaZord commented 9 months ago

Is the international version of Echo Night just the Japanese version? I'm only seeing two releases here. https://www.giantbomb.com/echo-night/3030-34532/releases/

alex-free commented 9 months ago

Is the international version of Echo Night just the Japanese version? I'm only seeing two releases here.

https://www.giantbomb.com/echo-night/3030-34532/releases/

International is a fork of Tonyhax https://alex-free.github.io/tonyhax-international

GoronMegaZord commented 9 months ago

Wow, Tonyhax International worked! Thanks for the suggestion!

Here's a link of it in action: https://youtube.com/live/4VvhaF-wcCo

Weird thing I noticed: I did one test before this recording and the CD audio at the beginning of the game was skipping incessantly, but when I did this second test, everything sounded fine. I'm wondering if my PSone was being super picky about how the CD was seated. I place the disc in the tray the same way every time though. ¯_(ツ)_/¯

alex-free commented 9 months ago

Wow, Tonyhax International worked! Thanks for the suggestion!

Here's a link of it in action: https://youtube.com/live/4VvhaF-wcCo

Weird thing I noticed: I did one test before this recording and the CD audio at the beginning of the game was skipping incessantly, but when I did this second test, everything sounded fine. I'm wondering if my PSone was being super picky about how the CD was seated. I place the disc in the tray the same way every time though. ¯_(ツ)_/¯

Nice! Btw Ps1s are super picky about the CD-R media and the burner used to burn them. I have a webpage on that: https://alex-free.github.io/psx-cdr

Another thing that can be done is refurbish the cd drive itself: https://alex-free.github.io/unofficial-ps1-cd-drive-service-manual

@socram8888 my theory is this is because of either the fpsxboot patch, or maybe because I do SetMemSize(8) in the bios reinitialize function (I mentioned why I added that before).

GoronMegaZord commented 9 months ago

Very helpful information! I took a quick peruse and both the media and the drive I'm using aren't so hot. "Fake" Verbatims (the 80 minute ones) and a slim burner drive that came with my Lenovo desktop. (HL-DT-ST DVDRAM GUE0N)

Still, I found it encouraging that it ran fine with no audio skipping on the second try. "Better than nothing", I suppose.

I don't think it's the drive, since I got this PSone in pristine condition in 2021. (But I could be wrong.)

alex-free commented 9 months ago

Very helpful information! I took a quick peruse and both the media and the drive I'm using aren't so hot. "Fake" Verbatims (the 80 minute ones) and a slim burner drive that came with my Lenovo desktop. (HL-DT-ST DVDRAM GUE0N)

Still, I found it encouraging that it ran fine with no audio skipping on the second try. "Better than nothing", I suppose.

I don't think it's the drive, since I got this PSone in pristine condition in 2021. (But I could be wrong.)

Hey, if it works for you then great! If you ever encounter issues like skipping FMVs or CDDA though in the future there is somethings that can be done just wanted to let you know. It's also definitely possible that it was just placed a little weird on the spindle on that first go around.

alex-free commented 9 months ago

Forgot to mention socram8888 that the setmemsize thing is also not reproducible on emulation (at least with duckstation when I was debugging the gshax issue with ridge racer usa for my fork). My bet is kind of on that not being in your bios reintialize.

socram8888 commented 9 months ago

@alex-free could be. I am not sure if any of the functions I use do this step as an implicit operation. If I hadn't lost the damn BIOS disassembly I had done, I could check...

socram8888 commented 9 months ago

I've checked using the debugger and there's no access within my BIOS reinitialization function to the RAM size register, so I've fixed it in 9c127c96b041bb9048dcd05ed93a4a30a443813d.

alex-free commented 4 months ago

I've checked using the debugger and there's no access within my BIOS reinitialization function to the RAM size register, so I've fixed it in 9c127c96b041bb9048dcd05ed93a4a30a443813d.

Should be fixed as of latest commit?

socram8888 commented 4 months ago

Probably, but haven't checked so it's why I left the issue open.