socram8888 / tonyhax

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

tonyhax does not behave correctly in real hardware if launched via Sports Bike #22

Closed Higgy69 closed 3 years ago

Higgy69 commented 3 years ago

Hi. There is a good chance I have missed something, but I can't get past the 'Swap CD now'. This is on PAL unit and games. Using v1.2 and v1.2.1 I am using 'Sports Superbike' and a memory card with more than just Tony Hax and Sports Superbike saves on it (Sports Superbike is streaming a sound track still while at tonyhax menu, if that is important). I get the payload to run but when I swap the disc and close the lid nothing more happens. My PS1 7502 is standard my 9002 has a mod chip. I was using the mod chipped PS1 also as I know it is ok with the CD-Rs I use to rule that out. I have tried Destruction Derby, Doom, Micro Machines and Tempest X3. Thanks.

socram8888 commented 3 years ago

Getting stuck at swap CD now means the exploit can't detect the tray is getting opened. Please check if the disc continues to spin when the tray is open using a legal copy.

Higgy69 commented 3 years ago

I think you are asking when playing a normal retail game, does opening the cover stop the disc (to check the operation of switch) yes it does. I also have had the exploit freeze at 'Drive region: European'

BIOS is v4.1 12/16/97 E

socram8888 commented 3 years ago

imagen Works fine on an emulator which is all I can test without having a SCPH-7502.

Do those games work on that machine using the swap trick? Could you also try using tonyhax on the chipped machine that do reads CD-R? I've not received any other report, so I wanna rule out that's not just a weak laser lens.

Higgy69 commented 3 years ago

I have used tonyhax on the chipped PS1 and get the same :( But it can read the CD-R and boot so the laser is good on the chipped PS1 I have another 7xxx or 9xxx somewhere I can try. I also have Sports Superbike 2 on delivery. I will format a memory card and start from scratch. I am using a PS2 and FreeMcBoot to copy files over to PS1 mem card. Thanks

Higgy69 commented 3 years ago

Hi. I just dug out my other non chipped 9002. On my first attempt all I got was the very top line: Tonyhax v1.2 orca.net

Second attempt it froze after: Drive region: European

(Note I can still hear 'Sports Superbike' music streaming so PS1 not completely crashed)

I guess the hack is small so if you see the top line should that mean the hack is loaded and there is a big or is there a read error off the memory card?

socram8888 commented 3 years ago

v1.2.1 has an integrity check on boot. Does it pass?

Higgy69 commented 3 years ago

I have just updated to v1.2.1 and I am using a SONY mem card with just tonyhax plus Super Sportsbike 1 and 2 saves on it, and it has frozen after: Unlocking CD drive.

Second attempt hangs on: BIOS v4.1 12/16/97 E

(I am powering off console between tests)

I seem to be getting same sort of errors on 7502 and 2x 9002. I have used different PS1s, different mem cards, tonyhax v1.2 and v1.2.1 Always using mem slot 1. Analogue controller SCPH-1200. Only common thing is the retail game 'Super Sportsbike'. But the hack is loading.

socram8888 commented 3 years ago

That's super strange. Admittedly that game didn't see too much testing, but so late in the boot the game that was used shouldn't make any difference.

The weirdest thing is that between logging the BIOS version and logging the "Unlocking CD" there is nothing in between. Nothing is accessed that could cause a lock.

Could you please record a quick video or something?

Higgy69 commented 3 years ago

Thanks for putting up with me! :)

I got out my spare PS2 a 35004. I tried it 3 times. Twice it hung on different lines of tonyhax. Once it got to 'Swap CD Now' but then did nothing. Do the other retail games stream audio off the CD while booting tonyhax? Sports Superbikes is playing audio off the CD while running tonyhax. The only thing I can think of is that retail game is not compatible.

Higgy69 commented 3 years ago

Oh and there are 3 'paste' commands in uLaunchELF. Which one are you using?

socram8888 commented 3 years ago

The CD controller, according to the documentation, gets reset when the tray is opened, so audio playing shouldn't be the issue. Regarding uLaunchElf, I am using the normal paste, not the xxPaste commands.

Higgy69 commented 3 years ago

Hi me again ;) I think I am getting somewhere now!

I burned Tony Hawks 2 US and using my chipped PS1 got it to run tonyhax 1.2.2 fine. Tested twice.

I also got 'Sports Superbike 2' today and that is freezing. I also had it freeze on the 'green' screen after the blue. (This also happened with Sports Superbike on v1.2 or/and v1.2.1 so nothing to do with v1.2.2).

So it must be something to do with those Superbike games.

socram8888 commented 3 years ago

Could you please try with the attached MCS file for Superbike 1 PAL? This one is the same I use for the Brunswick games, where I reinitialize the memory cards before loading to ensure nothing trashes the RAM contents.

If this doesn't work I'm out of ideas.

tonyhax-full-superbike1.zip

Higgy69 commented 3 years ago

Sorry. I get freezing again.

Once the UK shops open again I can hunt for some of the other listed games.

XeCuTioNR commented 3 years ago

Im getting the same issue, but instead with Castrol Honda Superbikes (SLUS-00882), says Swap CD, but never Initializes CD. My copy of Tony Hawk Pro Skater 2 doesnt hang at the Swap CD and works normally.

SCPH-7501

socram8888 commented 3 years ago

Sorry. I get freezing again.

Once the UK shops open again I can hunt for some of the other listed games.

Where did it freeze this time?

Getting stuck a the green screen is something that should never, ever happen. It essentially means the main executable couldn't be loaded properly and the first stage just started executing garbage. This might happen, for instance, if another thread on the game uses that memory space while we are loading it.

That save I sent you disables interrupts so the load executes totally alone, without the possibility of the game to execute any other thread that could trash the data.

Higgy69 commented 3 years ago

Hi. It was freezing like before, at the tonyhax screen. Sometimes it would get past a line of text, other times it would freeze showing all the text getting to 'Swap CD now'. The green screen freeze has happened about 2-3 times.

@XeCuTioNR looks to be having the same problem on non-Tony Hawks 2. So I don't know if it is to do with the different PS1 versions or there is something to do with using those different games? Is there confirmed reports of Super Sportsbike 1/2 and Castrol Honda working with Tony Hax, or have they been tested via emulation? I could look through my retail copies and see if there is a game with 'user create option'? to potentially create another tonyhax game option?

socram8888 commented 3 years ago

Those games were only tested via emulation since I don't have any of them.

gamer4maker commented 3 years ago

Hi,

I just wanted to chime in and mention that I am having this exact same problem with Sports Superbike 1 and 2 using a PAL PS1 (SCPH-7002) running the v4.1 12/16/97 E BIOS. I've tested with both tonyhax v1.2 and v 1.2.2, and four separate memory cards (two Sony, two third party) using saves copied over from two different PS2s. I've had a few rare instances where it's failed to boot tonyhax at all (or would freeze on green or blue), but every time it does it gets stuck on "Swap CD now". The disc stops spinning when the drive is opened, and resumes spinning when the drive is closed. I've tried multiple genuine NTSC and PAL games, and a CD-R that boots normally using emulators.

I am more than happy to do any required testing using real hardware, but at the moment I'm mostly curious if anyone has managed to get these games working.

Also side note, I e-mailed you about Rally Championship. After doing some testing myself I discovered that it uses checksums for the saves so it might be more trouble than its worth.

Higgy69 commented 3 years ago

@socram8888 - we are getting some good information. Thanks @gamer4maker for that. I think we now have proof that Sportsbike 1 and 2 is not (yet) compatible (probably also the case with Castrol Honda).

socram8888 - it would be good to know what games have been physically tested and known to work. I will try and compile a list of my discs that I have, which have saves and potentially could be used.

socram8888 commented 3 years ago

I've personally tested:

socram8888 commented 3 years ago

tonyhax-7103e0c7.zip Could you please try with this file? Note the SPL is now larger so you'd need to update both the first stage and the SPL.

The major difference is that it now explicitely resets the disc drive before initializing it. I was thinking maybe the drive was left in a state where the data was being read, but the controller replied with zeros instead of the actual data, so you got the right length but invalid data.

Higgy69 commented 3 years ago

Hi. I tried numerous times with both Sportsbike games. Same result :( Now the 'blue' screen stays on longer and then it jumps to the Tony Hax screen with all text now appearing at once so it gets to 'Swap CD now' everytime* but then it hangs. Stays at 'Swap CD now' even after changing disc.

*Out of ~6 tried I got a blue then green screen, with it hanging on the green screen.

socram8888 commented 3 years ago

Alright, thanks for testing it. I'm out of ideas again.

XeCuTioNR commented 3 years ago

Same here with Castrol Honda Superbike (US copy), as if nothing changed. Stuck to Swap CD, swaps cd, nothing boots/changes.

gamer4maker commented 3 years ago

I tried running the modified 1.2.3b saves and had a similar experience. It hangs for way longer on blue (5 seconds or so), then boots into tonyhax. I had it get stuck on the header once, but every other attempt booted successfully and got stuck on "Swap CD Now".

I also did some more testing and noticed some interesting results using v 1.2.2 with both Sports Superbike games. If loading tonyhax fails (either on a black screen or on blue), resetting the console and repeating the process would cause it to load tonyhax up to the header. Then resetting again would load it to "Integrity Check Passed" and halt, resetting again would get it stuck at "Unlocked Successfully", then resetting again would finally get it stuck at the "Swap CD Now" stage.

I was able to get this specific behaviour on both games with some trial and error, and for some reason was able to repeat it every single time if I modified the game saves to load tonyhax from memory card slot 2 instead of 1.

I have absolutely no idea what could possibly cause this behaviour, but figured it's information that someone more skilled than I am could potentially use.

I've also found that tonyhax has a higher chance of not crashing for me (at least until "Swap CD Now") if I let the menu sit for a second instead of just going through the steps as quickly as possible.

aureliox commented 3 years ago

Hi guys I would like to know if you have tried with xs moto to start the softmod spl or from the same problem as Superbike or Castrol Honda, do you think this incompatibility problem can be solved in the future? let me know

socram8888 commented 3 years ago

We don't even know what the problem is, so there's nothing certain yet about its resolution.

candyman76 commented 3 years ago

Just want to put my two cents in as well, I am hanging with a "Swap CD" message with XS Moto on a Psone. US region. Every once and a while I get the solid color screens and I figured it was something with the game so ordered Cool Borders 4. I do appreciate the amazing soft mod work, I totally agree with not wanting to pop open my Psone and probably destroy it with my poor soldering skills.

kingknuts commented 3 years ago

I made it work!! Load the save game, but when you are going to trigger the exploit, just open the CD tray and then launch it. I’m investigating what’s going on here...

socram8888 commented 3 years ago

Is that reliable? Have you been able to do it multiple times? Just to make sure it's not a fluke.

That makes me believe it could be still something regarding IRQs, as that game streats audio from the CD which probably requires the intervention of the CPU for loading the next chunk.

kingknuts commented 3 years ago

Where I can upload a video? Can I use YouTube or similar?

socram8888 commented 3 years ago

Yeah sure, please.

kingknuts commented 3 years ago

https://youtu.be/xzV-GvoyyTQ

Here you go! I inserted the wrong disk on purpose to check if the drive was still unlocked

Higgy69 commented 3 years ago

I just tried this technique and it worked straight away On Sports Superbikes 1 and 2 (Tony Hax 1.2.3B). :) Interesting if it is audio streaming related, this was something I questioned.

@kingknuts great find :)

(I also have Tony Hawks 3 and Brunswick 2 on delivery as I managed to find them cheap online.)

socram8888 commented 3 years ago

-- DELETED -- Use release v1.2.3 which contains this patch.

I am not sure if it's audio related or not. But I think what happened here is that we found two totally different bugs:

Higgy69 commented 3 years ago

That seems to work now :) I have seen Purple, Blue and Green screens but it is working. I am battling worn out lasers now :( my chipped PS1 reads everything, but the others are now having issues reading CDRs. Also I only tried on my PS1 once but it got through Tony Hax ok but then had a black screen, but I think this is reading the CDR and not a Tony Hax issue.

Workz777 commented 3 years ago

Hiya All,

:) Nice find, it works now for me too using Kingknuts technique*.

*Once i load the game's TonyHax save file from the memory card (in-game and comes back "OK") that's when i swap the CD, just before pressing "Race / Single Race", then once the swapped CD is picked up by optical lens (1-2 secs) i press "Race". Then TonyHax loads and runs the backup CD perfectly.

Here are some of my test results, using both TonyHax 1.2.2, and TonyHax 1.2.3B, with official PS1 Memory Cards.

The 'gateway' games tested below are all PAL...

Superbike 1 - TonyHax 1.2.2

Superbike 1 - TonyHax 1.2.3B

Superbike 2 - TonyHax 1.2.2

Superbike 2 - TonyHax 1.2.3B

Castrol Honda Racing - TonyHax 1.2.2

Castrol Honda Racing - TonyHax 1.2.3B

XS Moto - TonyHax 1.2.2

XS Moto - TonyHax 1.2.3B

Not sure why only Castrol Honda Racing didn't work (the usual way) with the new TonyHax 1.2.3B version, i can test Castrol again using another Castrol disc and maybe another memory card, it still worked though using Kingknuts technique, will aim to report back and also test 'Castrol Honda VTR' to add another game to the test list.

Ciao for now :)

kingknuts commented 3 years ago

Castrol Honda VTR Works with the version 1.2.3B

socram8888 commented 3 years ago

Perfect! Closing, will soon release a v1.2.3 with these games fixed.

Workz777 commented 3 years ago

:) Yay great, super happy version 1.2.3B helped fix those games on the list.

On a side note... is it me, or are some of those racing games (Superbike, Castrol Racing, XS Moto) just skins of the same game, from the same developer? The load up screens, menus / options, graphics all seem the same but with a different skin for each game?

They all have the same 16KB of save space too. And they all behaved the same way for the bug and for the fix.

Anyways, many thanks all for the fix

candyman76 commented 3 years ago

Well cool boarders 4 came in today (of course) but I really wanted to check this out for XS Moto and it worked perfectly for me as well. I really wanted to say thank you for the hard work. I really appreciate it! Now I have two entry games and don't have to open up my Psone.