Changed toolchain from
mipsel-none-elf. Redone build system. Upgraded to GCC v12.2.0/Binutils v2.40. Better code size/speed optimizations.
Made CD_REGS address more correct by using the correct memory region (thanks Nicholas Noble!).
There is a bug found in the PS1 mode of the early PS2s models supported by Tonyhax International which causes a number of PS1 games burned to a 80 minute CD-R to not boot. The affected games only boot when burned to 74 minute or 71 minute CD-Rs. This limitation applies to mod-chipped consoles as well using the normal boot process fails to start the game. The PS1 doesn’t have this issue and was never effected.
Tonyhax International now can work around this PS2 specific limitation and boot any game burned to 80 minute media just as well as the PS1. Some of the confirmed problematic games that now work as of this update are listed below as examples:
Any games that previously would not boot on PS2s (but did on PS1s) because of this issue now also work. If you have a chipped PS2, you can use the Boot CD to then successfully launch a problematic PS1 game burned to an 80 minute CD-R.
Added APv1 bypasses (allowing play of said game on non-stealth mod-chip consoles when booted with Tonyhax International) for Dancing Blade Katte ni Momotenshi II: Tears of Eden Japan, Global Force: Shin Sentou Kokka Japan Rev 0, Global Force: Shin Sentou Kokka Japan Rev 1, Global Force: Shin Sentou Kokka Japan Demo, I.Q Final Japan Demo 1, I.Q Final Japan Demo 2, Shiritsu Justice Gakuen: Nekketsu Seishun Nikki 2, Konami 80’s Arcade Gallery, Lord Of Monsters Japan, Lord Of Monsters Japan Demo, Magical Tetris Challenge featuring Mickey Japan, Metal Gear Solid: Integral Japan, Panekit: Infinitive Crafting Toy Case Japan Rev 0, Pocket MuuMuu Japan, Planet Laika Japan, PoPoRoGue Japan Rev 0, PoPoRoGue Japan Rev 1, Silent Hill Japan Rev 0, Silent Hill Japan Rev 1, Spyro The Dragon Japan, Spyro The Dragon Shokai Genteiban, Tokimeki Memorial Drama Series Vol. 3: Tabidachi no Uta, and Um Jammer Lammy Japan.
Beatmania featuring Dreams Come True now works on non-stealth mod-chip consoles as well as unmodified ones.
Added an APv2 bypass (allows playing on non-stealth mod-chip consoles and unmodified ones) for Hyper Value 2800: Hyper Pachinko.
Faster anti-piracy system activation and parsing for protected titles.
PoPoRoGue Japan Rev 0 now always works on unmodified SCPH-1000 and early SCPH-3000 consoles. There is a bug in PoPoRoGue Japan Rev 0 that sometimes even occurs with a real game disc on unmodified hardware due to the supper buggy anti-piracy checks) thanks to the newly introduced anti-piracy bypass for this game.
Upgraded all APv2 bypasses to support non-stealth mod-chips! International now supports playing every known protected game which triggers protection on both non-stealth mod-chip consoles and stock consoles (APv2). Stock consoles without non-stealth mod-chips can play all known protected games using International.
Protected games that only trigger on non-stealth mod-chip consoles and not on stock consoles (APv1) are now supported, but only a few have bypasses added so far as of v1.4.2.
International is now the first soft-mod to support playing i-mode mo Issho: Doko Demo Issho Tsuika Disc and Koneko mo Issho on PAL consoles (there is a special additional protection that causes these games to lockup when detecting a PAL BIOS, but this is now bypassed by International).
International now supports playing King’s Field Japan (before even the original Tonyhax has added support). Any other early Japanese launch titles that didn’t work previously should now also work fine (PSX.EXE, no SYSTEM.CNF titles). The english translation patch for the game also works (make sure you get the save/load screen fix for real hardware).
Added APv2 bypasses for Jikkyou Powerful Pro Yakyuu 2000: Kaimakuban, Jikkyou Powerful Pro Yakyuu 2000: Ketteiban, Jikkyou Powerful Pro Yakyuu 2001: Ketteiban, Jikkyou Powerful Pro Yakyuu 2001, Jikkyou Powerful Pro Yakyuu 2002: Haru, Jikkyou Powerful Pro Yakyuu: Premium-ban, Resident Evil 3 USA Demo.
Added APv1 bypasses for Vandal Hearts II Japan, Dance Dance Revolution Japan, Ape Escape Japan Rev 0, Ape Escape Japan Rev 1, Ape Escape Japan Demo, Bishi Bashi Special 2, Bishi Bashi Special 2 Japan, Jikkyou Kyousouba Ikusei Simulation Game: Breeding Stud ‘99 Japan, Bust A Move 2: Dance Tengoku Mix, Minna no Golf 2 Japan Rev 0, Minna no Golf 2 Japan Rev 1, Final Fantasy VIII Japan, Doko Demo Issho Japan Rev 0, Doko Demo Issho Japan Rev 1, Doko Demo Issho Calpis Water Version, Doko Demo Issho Japan Demo 1, (NOTE: I Can not find a Doko Demo Issho Japan Demo 2 CD image (PAPX 90086) http://redump.org/disc/83081/ to add support for that yet, someone please send me that ;)).
Changed my SetMemSize(8) call to be more similar to original Tonyhax (which has now added SetMemSize!).
Implemented a small wait period between open() and read() for memory card reading as per PSX specs to prevent any other possible rare fail to read memory card issues involving the user supplied GameShark codes feature.
Removed a redundant exitcritcalsection() call after the final setconf (thanks Socram8888)!
Added an APv2 bypass for MLB 2005.
Cleaned up source code to be more similar to original Tonyhax.
Updated MKPSXISO to latest commit.
TONYHAXINTGS file is present on the memory card in slot 1 the read error text no longer spams multiple times.
Improved memory card reading and handling for the user supplied GameShark Codes feature. Fixes the rare
Can not read MC issue, and also allows you to read the memory card any number of times. You can even change your mind without restarting Tonyhax International, and put in a different memory card and then read that instead of whatever previous one was already read.
Added support for playing the english translation of Planet Laika with one huge crevet, you can not currently apply your own GameShark Codes via the memory card method or it will break this game (black screen after hitting the
New Game option in the title screen). This should be addressed possible in a future update. This fixes issue 39.
Improved TOCPerfect build with even more size optimizations. The new TOCPerfect Patcher is also linked and explained everywhere in the docs.
You can now use GameShark Codes with the prefixes:
D3 using the GameShark code feature.
THIGSGEN updated to v2.0.2.
Stealth GameShark cheat engine updated to v1.0.4, which has been optimized for maximum performance over size.
Size optimizations to Tonyhax International loader.
Rewritten GameShark code type parsing functions in Tonyhax International loader.
Updated anti-piracy bypass documentation.
Added APv2 bypass support for Dance Dance Revolution 3rd Mix, Dance Dance Revolution 4th Mix, and Dance Dance Revolution 5th Mix.
Added TOCPerfect changes for PS1 DemoSwap Patcher v1.0.9.
Added support for building on APT based Linux distributions (I just switched to PopOS).
Added info about non-stock mod-chips to the anti-piracy page.
Fixed a serious regression introduced in v1.3.4 that caused almost all boot methods to hang at
checking game region step.
Added more info the the CD-R Media For PSX Backups section.
Added even more real hardware screen captures to the docs and improved documentation itself immensely with more in-depth steps (specifically related to the FreePSXBoot exploit but also touched a few other pages).
Updated MKPSXISO to the latest version.
Build system/source cleanup/comment improvements.
Added a ton of real hardware screen captures to the docs and improved documentation itself immensely with more in-depth steps.
Added APv2 bypasses for Breath of Fire IV Japan, Breath of Fire IV E3 2000/USA Beta, Capcom vs. SNK: Millennium Fight 2000 Pro Japan, Glint Glitters, Hyper Value 2800: Hanafuda, Tokimeki Memorial 2 Emotional Voice System Append Discs 1-3, Tokimeki Memorial 2 rev 0, Tokimeki Memorial 2 rev 1, and Tokimeki Memorial 2 limited edition box version.
Fixed an issue caused by FreePSXBoot’s builder program’s
-fastload option that resulted in failure to read GameShark codes from the memory card on BIOS v4.4-v4.5. This issue has now been resolved by removing that argument and having the same generate command as the original Tonyhax did.
Fixed regressions in GameShark cheat engine due to some previous overly-aggressive optimizations.
Added APv2 bypasses for Spyro: Year Of The Dragon USA Rev 0 and USA Rev 1!
Updated the loader ram layout from last usable 24k to last usable 32k to allow for larger executable size. Tonyhax International
FF9 save files now take up 4 slots instead of 3 on a PSX memory card. PLEASE make sure to update your save game exploit files and or gshax codes/files.
Added support for GameShark code types
D1. Tonyhax International now supports applying the following GameShark code types:
50, 80, 30, D0, E0
Significantly optimized the GameShark cheat engine (now at v1.0.2) with the help of MottZilla.
REWROTE the GameShark functionality to support ALL of the following GameShark code types:
50, 80, 30, D0, E0. This rewrite includes things like a
TONYHAXINTGS save file checksum system, a new and improved GameShark cheat code engine, and optimizations to THIGSGEN, now at v2.0.
Fixed an issue with the
-rom version that would cause it to display the
Press X to boot Sony BIOS text twice.
Added back the PAL/European Boot CD image to releases since it is now useful for GameShark code support.
Fixed the ability to apply your own GameShark Codes to any game you want to boot for consoles that did not have BIOS v3.0. Only consoles with BIOS v3.0 were previously working, this has now been fixed and all PSX/PS2 consoles are now confirmed working correctly.
Expanded the amount of codes able to be applied by the anti-piracy bypass system for future-proofing.
The Tonyhax International loader ROM version now only displays the
Press X to access the Memory Card Manager/CD Player text when the CD drive is open when the ROM version of the loader starts for Japanese consoles as well, to match the behavior of the other USA/PAL consoles for consistency.
Updated the Tonyhax International GameShark Generator program to v1.0.2. Now you can simply drag and drop the txt file of GameShark codes directly onto the
thigsgen executable file to generate the raw save file named
TONYHAXINTGS which contains the GameShark codes you want to load with Tonyhax International.
Added info about how the Final Fantasy IX save exploit file being present when using the SCPH-1000 memory card manager will lock up the console (so don’t use it like that :)).
Added the ability to apply your own GameShark Codes to any game you want to boot! Huge thanks to MottZilla’s guidance on controller support as well as the original cheat engine used to power all of this.
The Tonyhax International loader ROM version now only displays the
Press X to access the Memory Card Manager/CD Player text when the CD drive is open when the ROM version of the loader starts, for a more clean interactive look.
Added the ability to boot into the stock Sony BIOS from the Tonyhax International ROM version. This allows you to access the Memory Card Manager/CD Player functionallity of the stock Sony BIOS without removing the Tonyhax International flashed cheat cart from the back of your console. To use this new feature, simply start your console with the CD drive open, and with the Tonyhax International flash cart in the back of your console. Once Tonyhax International starts, press
X on a controller when you get to the text stating to insert a disc into the console to continue.
Added info about how the
FF9 save files of the Tonyhax International loader for the GameSharkHAX and Save game exploit can screw up filenames in the stock Sony BIOS memory card manager (a non-fatal, just annoying issue).
Optimized out many unnecessary functions, improving load speed of games slightly.
(Really) fixed an issue with the
build.sh script due to missing template folders in the
gshax directory since the last update. Git is dumb about not being able to include empty folders so the
build.sh script just creates them if they don’t exit now.
Added info related to a bug in the GameShark Lite itself.
The Tonyhax International loader now does
SysInitMemory (0xA000E000, 0x2000), and
InitDefInt(3). This makes it much more similar to how the real PSX BIOS boots games, and it fixes all known issues with booting games via the GameShark Code method.
Fixed a race condition that rarely effected booting games via the flashed cheat cart and GameShark Code. The issue was that sometimes the console BIOS would execute CD commmands before starting the ROM too closely to when Tonyhax International would call the first CD INIT on startup. This issue also could happen in GSHAX, when a game was sending CD commands right before the GSHAX exploit would trigger and then starting the Tonyhax International loader. The issue previously manifested as being stuck on the first
Initializing CD text forever.
Updated GSHAX Tool to v2.0.1, which auto-calculates the MIPS assembly binary offset during code generation in the build step.
Fixed an issue with the
build.sh script due to missing template folders in the
gshax directory since the last update.
Thanks to the new GSHAX Tool v2.0 update, a GameSharkHAX code for Ridge Racer is now available.
Added the missing source code to the GameShark cheat engine that MottZilla wrote to the source tree, as well as instructions on assembling it (available at
docs/mottzilla-gameshark-engine.txt). It is not however ‘dynamically generated’ by the build system, yet… The compiled version is still hardcoded as an unsigned char array.
Fixes potential lockups/freezing right before booting.
Fixed the Cool Boarders 4 save game exploit not working correctly (thank you AngelDavil88 for pointing this out)!
The save game file template ‘hack’ I was using has been replaced with a proper equivalent for the 24KB
tonyhax.exe maximum file size RAM setup currently in use (thanks Shendo)!
Added more info on the GameSharkHAX code method, specifically on which exact GameShark model versions are useful with this boot method (even though all GameShark model versions work regardless of their usefulness).
The documentation is now only in markdown format (the website is only using auto-generated HTML from said markdown via GitHub pages now). The pandoc requirement hence has been removed from the build step.
build-tool-chain.sh script now automatically compiles MKPSXISO at the end of building the MIPS toolchain for the PSX.
Updated MKPSXISO to the latest commit as of 3/6/2023.
Added info to the Boot CD documentation that explains how to use specific GameShark cartridge or GameShark CD versions to start the Tonyhax International Boot CD.
A new and exciting boot method known as GameSharkHAX has been added to Tonyhax International. This is a brand new ‘way in’ to the Tonyhax International loader for all PS1 and PS2 consoles that are supported by Tonyhax International (SCPH-1000-SCPH-39004). It uses GameShark codes to boot the Tonyhax International loader off a memory card file mid-game.
Condensed the Boot CD back to just one BIN+CUE file set. It is not actually necessary to have 2 different versions of the Boot CD, the single BIN+CUE file set in all Tonyhax International releases from here on out will work in every supported use case.
The documentation has been split into multiple markdown and html files. This makes it much more easy to maintain for me, and easier for you to comprehend, read, and share. The ‘all in one html file’ style before became unmanageable due to the sheer amount of info that has been added since the initial release.
HAX loader files for the save game exploit boot method. Previously, only the
HAX loader file copied via uLaunchElf specifically to a memory card was working due to an error accommodating the larger size of the Tonyhax International loader since v1.1.3. This issue has now been resolved and everything works as expected with both the
HAX loader files as they are in the correct ‘linked’ format (you can see this in the memcardrex software for example).
Updated crosstool-ng to the latest version. Fixed and updated the crosstool-ng config file used to build the Tonyhax International toolchain to work with the latest version. The new config file also makes a more tuned PSX toolchain. The toolchain is set to be tuned for the r3000, for little-endian, for soft-float (no hardware float support), and for a 32-bit ABI. This means the previous CFLAGS setting these options explicitly are no longer necessary and have been removed from the various
variable.mk* files in the source.
Updated the APv2 decompilation documentation (from the latest official Tonyhax).
Added more info on the RAM setups used by Tonyhax International and how they work. This information can be found in the
ram-setups.txt file in the
docs directory of the source.
Substantially rewrote the documentation with more information.
Implemented many speed and size optimizations for the tonyhax international loader. Can boot games quicker in some cases.
Added support for bypassing the additional anti-piracy copy protection routines in Strider 2, Rockman X5, Rockman X6, Rockman 5, Dance Dance Revolution: Best Hits, Dance Dance Revolution 2nd Remix, Dance Dance Revolution 2nd Remix: Append Club Version Vol. 1, Dance Dance Revolution 2nd Remix: Append Club Version Vol. 2.
Added information on games with additional EDC Checks found in some games (most notably such checks are found in the Dance Dance Revolution games that I’ve just added support for bypassing their additional anti-piracy measures). You must burn games containing EDC Checks in a specific way for them to work.
Added support for bypassing the additional anti-piracy copy protection routines in Koneko mo Issho.
Fixed entry.S header temp buffer address.
More size optimizations (specifcally in ap-bypass.c).
Added support for bypassing the additional anti-piracy copy protection routines in Pop’n Music: Disney Tunes, Beatmania featuring Dreams Come True, Dancing Stage featuring Dreams Come True, Oha-Studio Dance Dance Revolution, Dance Dance Revolution: Disney’s Rave, Dance Dance Revolution: Extra Mix, and Beatmania Best Hits (thanks trappedinlimbo).
Controller input in Japanese consoles reverted to proper silent debug_write message polling as in v1.1.2 and below.
Added support for bypassing the additional anti-piracy copy protection routines in Crash Bash/Crash Bandicoot Carnival, Koko Hore! Pukka, Love Hina: Ai wa Kotoba no Naka ni, and Love Hina 2: Kotoba wa Konayuki no You ni (thanks M4x1mumRez).
Rewrote the Building From Source instructions for clarity and simplicity.
Fixed Pop’n Music 6’s anti-piracy bypass and ‘boots to black screen’ issue.
Merged all new applicable changes from the latest O.G. Tonyhax where applicable (as of 11/30/2022 this is up to date with the current source tree). See commits 8284633c435a9325dcfd7028d9788bacae94de69, b72b08e5ba814196f07993491b483e5ec8e3fc93, and 8934a2bb614973064e45a6638e03fd0c7426e5fc for full details.
Changed everything to be cleaner and closer to the latest source tree of the original Tonyhax. There will now be a diff comparing the
loader directory of the current Tonyhax
loader directory with the Tonyhax International
loader directory, enabling easy comparison/documention/review of the current code differences between the fork and upstream. You can find this diff in the
docs/tonyhax-vs-tonyhax-international-diffs directory in the source tree.
Added support for bypassing the additional anti-piracy copy protection routines found in all versions of Yu-Gi-Oh! Forbidden Memories, Cool Boarders 2001, Disney’s The Emperor’s New Grove, Resident Evil: Survivor, and Tomba! 2.
Fixes a regression in version 1.1.1 that could possibly cause Japanese consoles to freeze before booting the game completely.
-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.
tonyhax-rom-flasher.bin+tonyhax-rom-flasher.cue files just fine.
HAX instead of
BESLEM-99999TONYHAX to allow for more exploitable games. You will need to update both the save game exploit file for your game as well as the Tonyhax International loader file to use v1.0.7 if you are using a previou version of the save game exploit file for your game that is already on a memory card.