Hacking PS1/2 Tonyhax International: Backup Loader For All Japanese, USA, and PAL PS1 Consoles/Early PS2 Consoles + GameShark/Cheat Cart Flasher

Fien

Well-Known Member
Member
Joined
Sep 27, 2021
Messages
258
Trophies
0
XP
1,415
Country
Netherlands
Yeah, that's what I was getting at. It was a very unfortunate situation to install it to a memory card and then find out you have no way to uninstall it, because nothing on the PS2 can format the card after.
It was possible to use a PS2 for formatting the memory card.

Long time ago I found instructions somewhere to use some version of uLaunchELF to launch Memory card Annihilator and involving last-minute insertion of the FreePSXBoot memory card right before the formatting process, preventing it from crashing. I didn't remember if a good card was needed for swapping, but it did work back then, the FreePSXBoot card was returned into a state usable for game saves.


They linked that themself a few posts up, and doesn't answer my question? Sorry, I didn't mean to be annoying by infodumping there...

Honestly while it's a good guide its usefulness can be limited since none of these discs (except CMC Pro) are made anymore, so you have to get lucky finding new old stock. CMC Pro isn't even a common brand (I can't find it anywhere in Canada) and most stores don't even sell the crappy discs now, it's started to feel shocking when I see them in reality.

That said, my burner is almost one of the ones listed as bad (mine's a Sony AD-7260S) so I might need to try investigating the quality of the many other burners in my collection. And of course good old burners also can be hard to find...
If the PS1 is not too bad (or the oldest model?), my experience is that some easier to find CD-R will also work if burned using the right burner.

I have games on second-hand Sony/Xlyne/Platinum CD-R which are "bad" CMC media. And Philips which are Ritek. They all play without stutter on PS1 SCPH-5552 up to PS One SCPH-102 when burned with the ND-3550A and most with the DVR-107DB too. Sometimes discs with this CMC media code are still sold in the shops as white Verbatim "Extra Protection". Using the ND-3550A I had only 1 or 2 coasters after more then 25 games.

New in shop Verbatim AZO do work too when using this burner, but they seem to have a slightly higher chance of stuttering compared to the CMC/Ritek discs.

I believe the CMC Pro discs are really way better. But if you can't get them, those can be easier-to-get (and cheaper) alternatives.

At this moment I find it more difficult to get a good burner, because people threw them away back then. Some weeks ago there was a ND-3550A for 5 euros at the computer museum and I took it immediately.
 
Last edited by Fien,
  • Like
Reactions: alexfree

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
237
Trophies
0
Website
alex-free.github.io
XP
1,284
Country
United States
It was possible to use a PS2 for formatting the memory card.

Long time ago I found instructions somewhere to use some version of uLaunchELF to launch Memory card Annihilator and involving last-minute insertion of the FreePSXBoot memory card right before the formatting process, preventing it from crashing. I didn't remember if a good card was needed for swapping, but it did work back then, the FreePSXBoot card was returned into a state usable for game saves.



If the PS1 is not too bad (or the oldest model?), my experience is that some easier to find CD-R will also work if burned using the right burner.

I have games on second-hand Sony/Xlyne/Platinum CD-R which are "bad" CMC media. And Philips which are Ritek. They all play without stutter on PS1 SCPH-5552 up to PS One SCPH-102 when burned with the ND-3550A and most with the DVR-107DB too. Sometimes discs with this CMC media code are still sold in the shops as white Verbatim "Extra Protection". Using the ND-3550A I had only 1 or 2 coasters after more then 25 games.

New in shop Verbatim AZO do work too when using this burner, but they seem to have a slightly higher chance of stuttering compared to the CMC/Ritek discs.

I believe the CMC Pro discs are really way better. But if you can't get them, those can be easier-to-get alternatives.

At this moment I find it more difficult to get a good burner, because people threw them away back then. Some weeks ago there was a ND-3550A for 5 euros at the computer museum and I took it immediately.
That's all super janky tho, don't you think? I know of these methods to format FreePSXBoot memory cards besides what you mention:

1) Unirom (the **cough** competition)
2) Very recent MemCardRex via PS3MCA (PS3MCA is awesome!)
3) MottZilla's MCTool

There were reports that some games could format FreePSXBoot memory cards, but those all were not correct when I tried each game.

The problem with all the things that don't work with formatting freepsxboot is they try to read the contents before allowing to format it. And then they crash because well freepsxboot is meant to do just that, crash the system. The difference with my format function is I don't read the contents. Initialize the memory card, and format it. Simple. BIOS commands actually... no sdk is used by Tonyhax or Tonyhax International, we execute bios commands in MIPS ASM.

Also nice find on the burner!
 
  • Like
Reactions: Fien

alexfree

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

Version 1.4.9 (5/21/2024)​





Changes:


  • Added APv1 bypasses for Wild Arms - 2nd Ignition (Japan Rev 0, Rev 1, Demo 1, and Demo 2).
  • An insane amount of work has been put into the new anti-piracy protections list. Every confirmed protected PSX game known is listed with information of support in Tonyhax International.
 

alexfree

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

Version 1.5.0 (5/28/2024)​





Changes:


  • Fixed booting discs with FreePSXBoot exploited memory cards. The latest FreePSXBoot builder commit has a bug that interferes with Tonyhax International booting games, so I have reverted back to my last commit in my fork which has no downsides other then it works correctly.
  • Began implementing EDC bypasses for games. Dance Dance Revolution (Japan) now has an EDC bypass and can be burned by any burning software. For games which don't yet have EDC bypasses you still need to burn them in RAW DAO mode to bypass the EDC check in the protected game. Please see the anti-piracy bypass list for compatibility.
  • Included entry-bb.bin and entry.bin in releases.
 

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
237
Trophies
0
Website
alex-free.github.io
XP
1,284
Country
United States
I just bought a SCPH-50001 PS2. I'm pretty sure Tonyhax International already works with even the last PS2 model as is due to some reports (unlike the original Tonyhax), but never had one to verify it myself or documented how to block all the lid sensors on the slims. Someone reported non-stealth chipped PS2s with even mechapwn could find the anti-piracy system useful, and there's other features now besides just booting imports and backups to make it make sense to look into it.
 
  • Like
Reactions: BuddhaHunterMac

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
237
Trophies
0
Website
alex-free.github.io
XP
1,284
Country
United States
Right now Tonyhax International can load a save file named 'TONYHAXINTGS' on the slot 1 memory card and apply GameShark codes. Thats only one save file at a time containing a preset of GameShark codes.

Well, what if we could do 30 different save files total ? 15 fit on a memory card and now you can access slot 2 as well as slot 1. Thats 30 different presets of gameshark codes!

1.png
2.png

3.png


4.png

5.png

6.png
 

alexfree

Well-Known Member
OP
Member
Joined
Nov 17, 2021
Messages
237
Trophies
0
Website
alex-free.github.io
XP
1,284
Country
United States
Right now Tonyhax International can load a save file named 'TONYHAXINTGS' on the slot 1 memory card and apply GameShark codes. Thats only one save file at a time containing a preset of GameShark codes.

Well, what if we could do 30 different save files total ? 15 fit on a memory card and now you can access slot 2 as well as slot 1. Thats 30 different presets of gameshark codes!

View attachment 441833View attachment 441832
View attachment 441831

View attachment 441830
View attachment 441829
View attachment 441828
Final version is much prettier then these beta debug screenshots :)
Post automatically merged:

Version 1.5.2 (6/12/2024)​


https://github.com/alex-free/tonyhax/releases/tag/v1.5.2i

Changes:

  • Added ability to load gameshark codes from different save files on memory cards in slot 1 and slot 2. Up to 15 different save files containing GameShark codes can be on a memory card, so you can have up to 30 different sets of GameShark codes available for selection from within the loader now!
  • Updated thigsgen to v2.0.4. The default output save file name is now TONYHAXINTGS0. THIGSGEN releases are now distributed in the gameshark folder already decompressed for you, the .deb files remain as they are.
  • Added ability to update text in-place for debug_write(), implemented beautifully in the newly re-written gameshark memory card save file name select function.
  • Added official support for Beat Mania Append 3rdMix Key Disc bypass. You can boot the game with Tonyhax International directly instead of having to use an intended key disc first to do so.
  • Improved memory card formatter function's UX.
  • Modifed RAM layout for larger executable decompressed size. HAX and FF9 loader files are still only taking up 2 memory card slots though thanks to PS1 Packer compression.
  • Added back seperate secondary-ff9.ld. When using anything other then the Final Fantasy IX save game exploit, you get a bit more user RAM and hence higher chance to load a target PS-EXE with exec() (loadandexec() still overcomes any such issues with overlap, but it is nice to have the full target exe loaded while the loader itself is running).
  • Loader optimizations for efficiency and size. Rewrote controller input parsing, memory card formatting, and gameshark code save file reading. Cleaned up code to use some local declarations instead of global ones when possible. Added some more comments.
  • Changed video mode switching (NTSC to PAL or PAL to NTSC) to happen as early as possible. The idea with this is we only need one call to change the video mode (instead of doing it 2 different places depending on if we are using exec() or loadandexec() bios functions based on target PS-EXE size). Not only does that save some complexity, it also just makes sense. You'd want to see PAL video in the loader if your playing a PAL game (and you have everything else setup for it to actually display correctly with a NTSC PS1 that can do video mode switching), as early as possible.
  • Releases now include entry-bb.bin, entry-bb.elf, entry.bin, entry.elf, entry-ff9.bin, and entry-ff9.elf (which are used to develop save game exploits and gshax codes). Distributing these files in the Tonyhax International releases negates the need to compile them yourself if you don't want to, and could allow more people to submit these to me.
  • Improved documentation on RAM layout of executable.
  • Other general documentation improvements.
 
Last edited by alexfree,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AcuteBulbasaurappears @ AcuteBulbasaurappears: @salazarcosplay Hey, I'm doing good. Today I modded my Wii u quite far but I need some help with...