PS1/2 TOCPerfect - Modify Playstation 1 Games To Have Perfect Audio And Multi-Disc Game Swap Support When Using The Swap Trick

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
182
Trophies
0
Website
alex-free.github.io
XP
1,146
Country
United States
I am too new to these forums to post a direct link to my website (in my profile) which has a web page for my TOCPerfect program. Here are some excerpts explaining what TOCPerfect is, why it exists, and how it works. On my website I have started a compatibility list as games have been tested.

TOCPerfect takes an existing PSX game's data track 1 .bin file and modifies it to automatically re-read TOC data and unlock the Playstation's drive before booting the original game executable. The reason to do this, is to gain perfect TOC compatibility/CD audio and to enable the use of multi disc games while using the Audio Menu Swap Trick.

This means the real Playstation game you start with to do the Audio Menu Swap Trick doesn't matter. As long as your desired backup is a TOCPerfect compatible game your TOCPerfect modified backup will always have correct working CD audio when using any swap trick.

The Audio Menu Swap Trick is an exploit only available on Playstation consoles with a serial number lower then 592xxx (found on the bottom of the Playstation). It was first written about in the original swap trick guide.

This is how to do it:
  • Turn on the Playstation with no game in it.
  • Start the CD player.
  • Open the Playstation's lid, and put in a real legit Playstation game.
  • Find something to press the lid sensor (a circle found in the right corner of the Playstation under the lid) down. The legit Playstation game will start spinning and then stop spinning.
  • Once the legit Playstation game stops spinning, put in your backup game or homebrew.
  • Exit the CD Player menu, and wait for your backup game or homebrew to spin up and load.

Sounds too good to be true right? Well for years, there was one single issue. The TOC of the real legit Playstation game would be used for the backup game or homebrew.

After TonyHAX came out, I figured out that the TONYHAX.EXE could be put on it's own CD. Then you could Audio Menu Swap Trick that 'TonyHAX Boot CD', and then put in game backup or homebrew that would work perfectly. I released the TonyHAX Boot CD, and then got
hen got it in the official TonyHAX.

The benefits of the TonyHAX Boot CD are that you don't need any memory cards, or specific TonyHAX exploitable game. Just an Audio Menu Swap Trick compatible console (although technically it would work with other swap tricks).

TOCPerfect takes this one step further. Do we really need to first boot a TonyHAX Boot CD with the swap trick, and then change to the backup game/homebrew? If we can already execute code with the Audio Menu Swap Trick, why not modify the game backup/homebrew to do what the TonyHAX Boot CD does, as well as re-reading the backup's TOC and booting it's executable? In some cases, this actually works.
 

Attachments

  • tocperfect-1.0-windows.zip
    2.8 MB · Views: 86
Last edited by alexfree,

Ponlork

Member
Newcomer
Joined
Apr 2, 2021
Messages
16
Trophies
0
XP
128
Country
United States
for years i was clamoring for something like this, in fact it wasn't until march 2021 when it became possible to play backups with redbook audio without a modchip or PSIO device. Then Tonyhax and freepsxboot came out which made it possible for CDDA music and multi disc games to work.

the only downside to tonyhax and freepsxboot is it doesn't work on Japanese PS1 consoles, not that it matters to me anyway. shouldn't TOCPerfect work with other swap methods besides the CD Player swap? if so would the exploit work with other models? I normally swap by using a retail PSX game and switching the discs multiple times during boot up. I also have a Breaker Pro boot disc which makes it easier to swap.
 

MottZilla

Member
Newcomer
Joined
Feb 21, 2022
Messages
13
Trophies
0
Location
USA
XP
60
Country
United States
I tried implementing your idea myself by hand using Rockman X3. It worked out well. I think the way I did it would also work for Tomb Raider as well. I'll have to give it a try and see if it is playable doing it the way I did for Rockman X3. If it works I'll share full details on it.

I'm glad to see someone else remembers the TOC problems we dealt with back in the day when using Swap Tricks.

Update: I tried Tomb Raider v1.0 US and it does not crash with my method. I may look into writing some code to do it automatically but the main steps are as follows.

Find the end of the last file on the data track, the very last sector used by the file. Move to the next sector and this is where we can place TonyHax.exe. TonyHax.exe needs to be modified to look in SYSTEM.CNF for "BOOY" instead of BOOT for the executable to load.

Next, find the sector with the root directory listing and go to the end of the list of contents. Add an entry for the newly added Tonyhax.exe file.

Lastly we need to find the sector that SYSTEM.CNF is located in. Change the text that says BOOT to BOOY, so that TonyHax will find it. At the end of the file add in a new line that reads BOOT = cdrom:\TONYHAX.EXE;1 and terminate the line with $0D $0A. Then locate SYSTEM.CNF in the root directory listing and alter it's file size, increasing it by $1D.

That should do it, we've added TonyHax.exe to the disc, and made a new string in SYSTEM.CNF for TonyHax to read. I have not burned a test disc yet but I may give that a shot. But it worked in emulation just fine.

Update: I have been working on my own program for patching ISOs for another purpose and it seemed the best way to implement your TOCPerfect idea. I have not released it yet but it seems to work well, it automatically patches Rockman X3 and Tomb Raider successfully. I'll update when I release the program.
 
Last edited by MottZilla,

MottZilla

Member
Newcomer
Joined
Feb 21, 2022
Messages
13
Trophies
0
Location
USA
XP
60
Country
United States
Here is my program which had a different purpose but I added the TOCPerfect idea to it. It will make all the changes I mentioned in my previous post and it seems to work with Tomb Raider without any problems.

The primary purpose of this program is what I call the 'Demo Swap'. It will patch many of the common Demo Discs so that you can use them to load TonyHax. Unlike the normal Swap Trick which involves proper timing switching between an authentic disc and CD-R this swap is simple and relaxed, atleast from my testing.

The whole point is so that you can run my other tool called MCTOOL which will enable you to install FreePSXBoot+TonyHax on a memory card. So you only need your console and a demo disc and from there you can get FreePSXBoot+TonyHax installed.

Other methods require having a modded PS2 or memory card interface with a PC. While many people have these, some may not and this gives another option.
 

Attachments

  • PS1_DemoSwap_v1.0.zip
    20.2 KB · Views: 61
  • Like
Reactions: alexfree and Rikua

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
182
Trophies
0
Website
alex-free.github.io
XP
1,146
Country
United States
Insane update now available:
https://alex-free.github.io/tocperfect/

v1.1​


Changes:


  • Fixes absolute LBA addressing in-game issues.
  • Added support for patching games with .DA files that only reference a CD Audio track and that do not contain any audio data (such as Tekken 3).
  • Updated mkpsxiso to v2.0.3, and now usesdumpsxiso+binmerge to rip which significantly increases patching compatibility.
  • Should now be just as powerful as the TOCPerfect patch mode found in PS1 DemoSwap Patcher.
  • Windows release is now completely self-contained and portable, MSYS2 being installed is no longer required.
  • Portable Linux releases now available.
  • Switched from my original modified tonyhax v1.4.3 to my Tonyhax International v1.3.8 fork. This adds support for Japanese consoles at long last.
  • Added support for early launch Japanese PSX.EXE games which don’t have a SYSTEM.CNF.
  • Supports EDC protected games (burn them in RAW mode like described in Tonyhax International).

About Previous Versions.
Post automatically merged:

Version 1.1.1 (9/2/2023)​



Changes:


  • Updated Tonyhax International to version 1.3.9.
 
Last edited by alexfree,

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
182
Trophies
0
Website
alex-free.github.io
XP
1,146
Country
United States

Version 1.1.2 (9/7/2023)​



Changes:


  • Games which contain CDDA audio tracks not referenced by the data track filesystem (such as Ridge Racer Japan) now work on real hardware and not just emulators. This issue was caused by mkpsxiso not putting in dummy sectors in this case (which may be a bug in that software?).
  • Patcher now shows the edited xml used in the final build during patching.
  • Updated EDCRE to version 1.0.3.
  • Updated Tonyhax International to version 1.4.0.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @SylverReZ, lol