Tonyhax International

PS1 Tonyhax International: Backup Loader For All Japanese, USA, and PAL PS1 Consoles/Early PS2 Consoles v1.6.3

For now the solution is to use boot PS1VModeNeg 1.01 (old versions that simply output the opposite video signal) before, then start the entry-point game.



It is always been R1 and will always be :D

Ah yes your right. I couldn't think of it offhand. Thanks, documentation is updated and will be out with the new version dropping soon. I will also include info about PS1VModeNeg v1.0.1 as that seems the way to go with the early PS2s which support Tonyhax International. It looks like the PS1DRV needs to be set first for the desired video mode before going into PS1 mode as the console simply hardcodes PS1 mode to be whatever region the console is. The PS1 software itself in PS1 mode is incapable of changing the video mode after the fact.
 
@alexfree
I have made for You images conversion. It is totally unnecessary that those images taking ~117MiB. Most of them have horrible quality anyway (example in attachment 1), took from phone and converted from jpg to png for some mysterious reasons... :P Some are in SVG while source was raster, some duplicate like "ps2-push-in-released-drive.jpg" (it is vertical and without arrow so I think it is left over from editing), some oversized like "psone-lid-sensor.png" (attachment 2).

So I resized many by 75%, some by 50%, some untouched. All converted to JPG with 95% quality ratio, interpolated by Lanczos algorithm. Could be even greater (twice or more, depend of case) if converted to WEBP but Windows users will not see images without external image viewer like eg. Xnview or IrfanView, so IMO better is staying with ancient JPG. Total size now is reasonable ~3.2MiB. :)

https://www.sendspace.com/file/yj5tg5

tonyhaxinter_img_1.jpg tonyhaxinter_img_2.jpg
 
Last edited:
@alexfree
I have made for You images conversion. It is totally unnecessary that those images taking ~117MiB. Most of them have horrible quality anyway (example in attachment 1), took from phone and converted from jpg to png for some mysterious reasons... :P Some are in SVG while source was raster, some duplicate like "ps2-push-in-released-drive.jpg" (it is vertical and without arrow so I think it is left over from editing), some oversized like "psone-lid-sensor.png" (attachment 2).

So I resized many by 75%, some by 50%, some untouched. All converted to JPG with 95% quality ratio, interpolated by Lanczos algorithm. Could be even greater (twice or more, depend of case) if converted to WEBP but Windows users will not see images without external image viewer like eg. Xnview or IrfanView, so IMO better is staying with ancient JPG. Total size now is reasonable ~3.2MiB. :)

https://www.sendspace.com/file/yj5tg5

View attachment 38578 View attachment 38579

Thanks for doing that! I was actually going to do something similar for the next update (will be out later today) but I still didn't manage to get the size down that much. I honestly have not ever edited images until now really so was just winging it. I agree JPEG is the way.
 
Tonyhax International v1.1.0 Update Is Out: https://github.com/alex-free/tonyhax/releases/download/v1.1.0i/tonyhax-v1.1.0-international.zip
Changes:
  • Updated to FreePSXBoot v2.1 (my own fork for now so that it compiles on Fedora). This means among other things that those 'fake' 64KB chinese PS1 memory cards now work with the FreePSXBoot images.
  • Tonyhax International FreePSXBoot memory cards no longer need to be removed after booting the loader if they are in slot 2 of the console. I have completely removed Socram8888's old FreePSXBoot patch. The new 'memory card timeout to disable' patch from the FreePSXBoot builder is now used instead of the 'pretend memory card is corrupted' patch from the original Tonyhax. The new patch works with all games, some games did not like the old patch method used. The new patch also works correctly on every single PS1 BIOS version, including BIOS v1.0, v1.1, and v2.0. The old patch never worked on BIOS v1.0, 1.1, or 2.0.
  • Added tonyhax_scph-3000_v1.1_slot2.mcr, tonyhax_scph-3000_v1.1_slot1.mcr, tonyhax_scph-3000_v2.1_slot2.mcr, and tonyhax_scph-3000_v2.1_slot1.mcr FreePSXBoot memory card files (as there are actually 2 different BIOS versions found in SCPH-3000 consoles).
  • All FreePSXBoot images are now created with the -fastload option on to improve how fast Tonyhax International starts with the FreePSXBoot exploit. The -fastload option also provides that cool loading screen you can see in Unirom.
  • Japanese PlayStations with VC2 and VC3 CDROM drive controllers are now re-calibrated to improve CD tracking and read performance for these CDROM controllers. VC1 and VC0 do not have equivalent commands, hardware, or even a need for this really since Bias and Gain can only be set manually.
  • TOCPerfect changes have been merged from PS1 DemoSwap Patcher.
  • Removed documentation on PS1 CD drive repair as it is getting it's own webpage/document in the near future. Reduced the size of releases dramatically by using better compressed images in this document (thanks Berion of PSX-Place).
  • Added notes about video mode switching support on PS2s using PS1VModeNeg v1.0.1 (thanks Berion of PSX-Place)
  • Cleaned up source tree and we are back to a consistent coding style (Socram8888 would be proud).
  • Stock (non-modchipped) SCPH-1000 and early SCPH-3000 can now play any real import discs or backup CD-Rs of games containing anti-piracy detection (excluding PAL region games that also contain libcrypt protection) with 100% compatibility, even better then the anti-piracy bypass for American/European consoles actually.
 
Last edited:
alexfree updated Tonyhax International with a new update entry:

FreePSXBoot Improvements, Anti-Piracy Fix For SCPH-1000/SCPH-3000, Laser Calibration For VC2

Changes:
  • Updated to FreePSXBoot v2.1 (my own fork for now so that it compiles on Fedora). This means among other things that those 'fake' 64KB chinese PS1 memory cards now work with the FreePSXBoot images.
  • Tonyhax International FreePSXBoot memory cards no longer need to be removed...

Read the rest of this update entry...
 
Nice update...Now I don't need to spend too much for original PSX memcards that becoming bit expensive. Just use fake 64KB PSX memcards for this exploit.

In a meantime, I'm already bought the Verbatim DataLife Plus disc pack from Amazon and also a better PS1 SCART RGB cable as well. Might put up another video with fake PSX memcard alongside with burned game discs.
 
A little update - tested TonyHax exploits on fake PSX memcards and finally it's working. Keep in mind that this fake PSX memcard were only able to save up to 6 blocks only though. Some titles are using way more than 6 blocks of game saves so this fake PSX memcard is not recommended. Instead of saving multiple titles on a single fake PSX memcard which eventually can cause loss of game progress after attempting to save more than fully occupied 6 blocks, it can be used for individual saves per title to avoid the risk of losing game progress.

Also, I'm managed to get burned discs to play well a bit by performing scrub polishing on plain burned CD-R first with autosol several times and then using car polish or glass polish to wipe excess autosol pastes. Then, the burned CD able to play FMVs or XA tracks without being skipped. However, only verbatim regular discs able to do that.
 
A little update - tested TonyHax exploits on fake PSX memcards and finally it's working. Keep in mind that this fake PSX memcard were only able to save up to 6 blocks only though. Some titles are using way more than 6 blocks of game saves so this fake PSX memcard is not recommended. Instead of saving multiple titles on a single fake PSX memcard which eventually can cause loss of game progress after attempting to save more than fully occupied 6 blocks, it can be used for individual saves per title to avoid the risk of losing game progress.

Also, I'm managed to get burned discs to play well a bit by performing scrub polishing on plain burned CD-R first with autosol several times and then using car polish or glass polish to wipe excess autosol pastes. Then, the burned CD able to play FMVs or XA tracks without being skipped. However, only verbatim regular discs able to do that.

I finished up my guide on fixing PS1 CD drives. I definitely recommend you take a look to get your console booting backups better:
https://alex-free.github.io/unofficial-ps1-cd-drive-service-manual
 
I've been working quite a bit on the next update of Tonyhax International. The first thing I've been implementing is the new anti-piracy game functionality which bypasses anti-piracy checks using GameShark codes by installing @MottZilla 's custom cheat engine assembly binary to kernel memory while in Tonyhax International. With all of this Tonyhax International can automatically apply it's own GameShark codes to specific versions/revisions of a game without an actual GameShark being ever required to overcome the anti-piracy checks in all anti-piracy games on all consoles, including the later SCPH-3000 to SCPH-39000 Japanese ones which currently have no anti-piracy game support as of the last update, v1.1.0.

This functionality will also be able to fix all of these games:
https://github.com/socram8888/tonyhax/issues?q=is:issue+is:open+label:antipiracy
that don't work on USA/PAL consoles with Socram8888's current bypass. The goal is that every anti-piracy game simply works without any patching required, no matter if your console is stock or has a non-stealth modchip. Each code applied actually improves load times by removing the anti-piracy checks as well (since they take some time in themselves to actually check for modchips/swap tricks but we are not doing any of the checks at all saving time).


While adding support for each game using the new anti-piracy gameshark method, I had to come up with a GameShark code for Dino Crisis NTSC-U Rev 1 (the greatest hits version) since no one ever made an ISO crack or code for NTSC-U rev 1 back in the day. This code is:

D0148004 8658
80148004 8F20

I'll have to find codes for each revision/version of every anti-piracy game to complete support of all anti-piracy games on all consoles.
Using the same code technique or by possibly executable patching in memory I will also be able to add libcrypt bypass/support for all consoles, including consoles which do not natively support libcrypt such as the SCPH-1000 and early SCPH-3000.

In the simplest terms, eventually, you will be able to simply put any and all games in your console that contain anti-piracy and tonyhax will just work. You can have a non-stealth modchip, a stealth mod-chip, or no modchip and a completely stock console. Everyone will get a slightly faster load time (because anti-piracy checks are skipped) at some part(s) of the anti-piracy games. You can burn them (without clone CD even for libcrypt in theory) or use original imported PS1 game discs on different regions of PS1 consoles.

Here are some pictures for reference :)
rev0-dino-crisis.png
rev1-dino-crisis.png


The second thing I may be doing is going to help out everyone who is trying to run PAL games on a Japanese/American PS2 or NTSC-J/NTSC-U games on a PAL PS2 and vice versa (i.e. @Peppe90 ) . The idea is that you can:
- Copy some files onto a PS2 memory card. Put this PS2 memory card in slot 1 of your PS2 console (it does not have to be softmodded/hardmodded at all actually, but it can be)
- Put in the real PS1 game with the Tonyhax exploit.
- PS1VModeNEG or a custom version of it is auto launched to change the video mode to PAL and boot the real PS1 game all in one step without any user interaction
- Do the exploit in the real PS1 game, get to the Tonyhax International loader, and put in your PAL backup. Your PS2 will already be in PAL video mode and playing the backup will work as expected.
(also works in reverse as mentioned previously)

While I have not implemented this video mode auto-switch idea, I know exactly what I'd need to do I just need to write the functionality. Until you remove the PS2 memory card with the special Tonyhax files the PS2 will auto change to the inverse video mode every time it detects the original PS1 game being booted that contains the save game exploit (again softmod not required, just a PS2 compatible with Tonyhax International at bare minimum is). The PS2 memory card used also doesn't even need to have magic-gate support, a 'fake' non-magic gate one would work in theory.
 
Last edited:
The second thing I may be doing is going to help out everyone who is trying to run PAL games on a Japanese/American PS2 or NTSC-J/NTSC-U games on a PAL PS2 and vice versa (i.e. @Peppe90 ) . The idea is that you can:
- Copy some files onto a PS2 memory card. Put this PS2 memory card in slot 1 of your PS2 console (it does not have to be softmodded/hardmodded at all actually, but it can be)
- Put in the real PS1 game with the Tonyhax exploit.
- PS1VModeNEG or a custom version of it is auto launched to change the video mode to PAL and boot the real PS1 game all in one step without any user interaction
- Do the exploit in the real PS1 game, get to the Tonyhax International loader, and put in your PAL backup. Your PS2 will already be in PAL video mode and playing the backup will work as expected.
(also works in reverse as mentioned previously)

While I have not implemented this video mode auto-switch idea, I know exactly what I'd need to do I just need to write the functionality. Until you remove the PS2 memory card with the special Tonyhax files the PS2 will auto change to the inverse video mode every time it detects the original PS1 game being booted that contains the save game exploit (again softmod not required, just a PS2 compatible with Tonyhax International at bare minimum is). The PS2 memory card used also doesn't even need to have magic-gate support, a 'fake' non-magic gate one would work in theory.

That's a great idea. I'd just set PS1VModeNeg 1.01 to autolaunch in FMCB for the time I'm playing a NTSC Ps1 game, but your solution is even better, more immediate.

If I correctly understood, it will change the Ps2 region regardless of the game you're going to play. So if for example I'd want to just play a PAL backup (also using a PAL game as a entry-point), I'd have to temporarily remove the Ps2 MC, right?
 
That's a great idea. I'd just set PS1VModeNeg 1.01 to autolaunch in FMCB for the time I'm playing a NTSC Ps1 game, but your solution is even better, more immediate.

If I correctly understood, it will change the Ps2 region regardless of the game you're going to play. So if for example I'd want to just play a PAL backup (also using a PAL game as a entry-point), I'd have to temporarily remove the Ps2 MC, right?

Yes that's the only downside. Still it's just removing the special memory card if you don't need to change the video mode. It's the best I can come up with. The memory card with the special files isn't like FMCB either and you can use it for real PS2 game saves and whatnot like normal so it's another plus.
 
Yes that's the only downside. Still it's just removing the special memory card if you don't need to change the video mode. It's the best I can come up with. The memory card with the special files isn't like FMCB either and you can use it for real PS2 game saves and whatnot like normal so it's another plus.

I think it is good enough. In my case I have FMCB MC on slot 2 (I have 99% games on internal HDD) and another official MC on Slot 1 for games that don't supports VMCs.
So, when I want to boot a Ps1 backup, I'll put the Ps1 MC with TonyHax (that also I will use for saving) on Slot 2. Into Slot 1 I'll leave my usual Ps2 MC with your region switch file.

Now the only problem are the considerable amount of Ps1 games that only see Slot 1. I guess it wouldn't be that easy to implement a sort of MC switcher in Tonyhax international (so that games see the Slot 2 MC as if it was inserted into Slot 1).
 
Another new gameshark code to bypass anti-piracy

Arc Of The Lad III Japan Rev 1:
D0022206 1040
80022206 1000
 
Last edited:
In continuing my quest of perfect anti-piracy game support, I bring to you the world's first GERMAN and SPAIN MediEvil codes that bypass LibCrypt1
don't want to be rude here, but this is not true. I think it was @krHACKen who's made a codelist. unfortunately I cannot find the link but here is the codelist A-Z
 

Attachments

don't want to be rude here, but this is not true. I think it was @krHACKen who's made a codelist. unfortunately I cannot find the link but here is the codelist A-Z

Thank you for this list. There are still some codes missing for some versions of games but most of them are there, it is definitely more complete then the copyconsoleworld codes list. MediEvil is indeed all there.
 
all I remember is, the link was about pops(loader?), where he has posted this list
You really have no idea how helpful the list is. I must make codes for different revisions of games/regional versions that don't have codes to defeat anti-piracy checks. I have created some tools to help automate that a bit, but the more codes I have the less codes I have to make myself :) I have noticed quite a few though are missing, such as BioHazard 3. I have a rev 0 code for that and I just wrote a rev 1 code for it however. When I'm done adding support every revision of every anti-piracy game will just work and have a code available.
 
Yeah, it's the codelist that I've attached here I think. I'm linking the thread here because it's a mine of useful info regarding LibCrypt. There's a wiki page with LC magicwords too.
Feel free to use my LibCrypt codes in Tonyhax if you want. However, I find your 1-line code way better than my code, which consists of multiple lines and jokers.
If my memory serves me right, my codes were generated with a tool that I made early in the POPStarter development. Before POPStarter was able to directly feed the cop0 register without messing with the actual game code.
 
Back
Top