Skip to content

Commit c257b23

Browse files
committed
v1.5.3i
1 parent b2cdaee commit c257b23

23 files changed

+8551
-263
lines changed

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@
1616
[submodule "pcsx-redux-support"]
1717
path = pcsx-redux-support
1818
url = https://github.com/pcsx-redux/support
19+
[submodule "psn00bsdk-builder"]
20+
path = psn00bsdk-builder
21+
url = https://github.com/alex-free/psn00bsdk-builder

Makefile

+4-1
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ clean:
5252
$(MAKE) -C boot-cd clean
5353
$(MAKE) -C rom clean
5454
$(MAKE) -C xstation clean
55-
$(MAKE) -C thigsgen clean-build
5655
scripts/test-thigsgen.sh --clean
56+
$(MAKE) -C thigsgen clean-build
5757
$(MAKE) -C gshax clean
5858
$(RM) tonyhax-*.zip
5959

@@ -63,6 +63,9 @@ deps:
6363
cd mkpsxiso; rm -rf ./build; cmake -S . -B ./build -DCMAKE_BUILD_TYPE=Release; cmake --build ./build
6464
cd psexe2rom; $(MAKE) clean; $(MAKE)
6565

66+
toolchain:
67+
psn00bsdk-builder/build.sh
68+
6669
clean-deps:
6770
$(MAKE) -C pcsx-redux-support clean
6871
cd mkpsxiso; rm -rf ./build

additional-game-support.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# [Tonyhax International](readme.md) -> Additional Game Support
2+
3+
The following games currently only work with Tonyhax International. The latest version of the original Tonyhax (v1.4.5 as of 9/1/2024) is not compatible with them. There may be more games that only work with Tonyhax International then what's listed below due to the general nature of the compatibility improvements.
4+
5+
| Game Disc | Tonyhax Issue |
6+
| --------------- | ------------- |
7+
| [Echo Night (USA)](http://redump.org/disc/587/) | [Echo Night crashes when selecting "New Game" #152 ](https://github.com/socram8888/tonyhax/issues/152) |
8+
| [i-mode mo Issho: Doko Demo Issho Tsuika Disc (Japan)](http://redump.org/disc/20321/) | [PAL BIOS Protection Measure (Fix Included In Issue) #154](https://github.com/socram8888/tonyhax/issues/154) |
9+
| [Kileak, The Blood (Japan)](http://redump.org/disc/14371/) | [Kileak, The Blood (Japan) - Read Error 2/9 (FIX FOUND) #161](https://github.com/socram8888/tonyhax/issues/161) |
10+
| [King's Field (Japan)](http://redump.org/disc/7072/) | [Kings Field SLPS 00017 Locks Up After Starting Text #153 ](https://github.com/socram8888/tonyhax/issues/153) |
11+
| [Koneko mo Issho (Japan)](http://redump.org/disc/20321/) | [PAL BIOS Protection Measure (Fix Included In Issue) #154](http://redump.org/disc/6329/) |
12+
| [Thunder Force V: Perfect System (USA)](http://redump.org/disc/14965/) | [Thunder Force V - Perfect System frozen on "NO MEMORY CARD DATA" screen #142 ](https://github.com/socram8888/tonyhax/issues/142) |
13+

anti-piracy-bypass.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ _List Notes:_
1717
## List Of Protected PSX Game Discs
1818
--------------------------------------------
1919

20-
| Game Disc | [Protection Type](#protection-types) | Protection Trigged At | Tonyhax International Bypass Support |
20+
| Game Disc | [Protection Type](#protection-types) | Protection Triggered At | Tonyhax International Bypass Support |
2121
| --------------- | ------------- | ------------- | ------------- |
2222
| [Actua Ice Hockey 2 (Europe)](http://redump.org/disc/5120/) | [LibCrypt](#libcrypt) | Unknown | NO, patch disc with [LibCrypt patcher](https://alex-free.github.io/libcrypt-patcher). |
2323
| [Alundra 2 (Europe)](http://redump.org/disc/1089/) | None | - | - |

build.md

+8-19
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,19 @@
11
# [Tonyhax International](readme.md) -> Building From Source
22

3-
1) Install the `mipsel-none-elf` toolchain. The easist way is to use my [PSN00bSDK Builder](https://alex-free.github.io/psn00bsdk-builder):
4-
5-
`git clone https://github.com/alex-free/psn00bsdk-builder`
6-
7-
`cd psn00bsdk-builder`
8-
9-
`./build.sh`
10-
11-
`cd ../`
12-
13-
2) Clone Tonyhax International **recursively** from GitHub:
3+
1) Clone Tonyhax International **recursively** from GitHub:
144

155
`git clone --recursive https://github.com/alex-free/tonyhax`
166

7+
2) Install the toolchain and additional required build dependencies:
178

18-
3) Add psn00bsdk to $PATH for the current shell (if you had used the psn00bsdk-builder):
9+
`cd tonyhax`
1910

20-
`psn00b-env`
11+
`make toolchain deps`
2112

22-
4) Install the required dependencies:
13+
3) Add the toolchain to your $PATH for the current shell:
2314

24-
`cd tonyhax`
25-
26-
`make deps`
15+
`psn00b-env`
2716

28-
5) Build Tonyhax International:
17+
4) Build Tonyhax International:
2918

30-
`make`
19+
`make`

changelog.md

+32
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
# [Tonyhax International](readme.md) -> Changelog
22

3+
## Version 1.5.2 (6/12/2024)
4+
5+
* [tonyhax-international-v1.5.2](https://github.com/alex-free/tonyhax/releases/download/v1.5.2i/tonyhax-international-v1.5.2.zip)
6+
7+
----------------------------------
8+
9+
Changes:
10+
11+
* Added ability to [load gameshark codes from different save files on memory cards](gameshark-code-support.md) 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!
12+
13+
* 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.
14+
15+
* 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.
16+
17+
* 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.
18+
19+
* Improved memory card formatter function's UX.
20+
21+
* Modified 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.
22+
23+
* Added back seperate `secondary-ff9.ld`. When using anything other then the Final Fantasy IX [save game exploit](save-game-exploit.md), 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).
24+
25+
* 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.
26+
27+
* 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.
28+
29+
* 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](save-game-exploit.md) and [gshax codes](https://alex-free.github.io/gshax-tool)). 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.
30+
31+
* Improved [documentation on RAM layout of executable](https://github.com/alex-free/tonyhax/blob/master/docs/ram-setups.md).
32+
33+
* Other [general documentation improvements](readme.md#faq).
34+
335
## Version 1.5.1 (6/3/2024)
436

537
* [tonyhax-international-v1.5.1](https://github.com/alex-free/tonyhax/releases/download/v1.5.1i/tonyhax-international-v1.5.1.zip)

credits.md

+71-41
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,113 @@
11
# [Tonyhax International](readme.md) -> Credits
22

3-
## MottZilla
3+
## [MottZilla](https://github.com/danhans42/tonyhax_mcp)
44

5-
* Help with the custom anti-piracy bypasses for Koneko mo Issho and i-mode mo Issho: Doko Demo Issho Tsuika Disc.
5+
* Help with the custom anti-piracy bypasses for Koneko mo Issho and i-mode mo Issho: Doko Demo Issho Tsuika Disc.
66

7-
* Co-developed the 'fake PAL BIOS bypass' method for APv2 bypasses.
7+
* Co-developed the 'fake PAL BIOS bypass' method for APv2 bypasses.
88

9-
* Guidance on increasing the size of the Tonyhax International loader and my general goto mentor on this project.
9+
* Guidance on increasing the size of the Tonyhax International loader and my general goto mentor on this project.
1010

1111
* Co-developed the Spyro Year Of The Dragon GameShark code bypass method.
1212

13-
* Wrote the GameShark Code Engine, used first in the APv2 bypass system. With MottZilla's guidance this code has even been expanded and adapted for general use [GameShark Code Support](gameshark-code.md).
13+
* Wrote the GameShark Code Engine, used first in the APv2 bypass system. With MottZilla's guidance this code has even been expanded and adapted for general use [GameShark Code Support](gameshark-code.md).
1414

15-
* The original sole creator of [PS1 DemoSwap Patcher v1.0](https://www.psx-place.com/threads/mctool-tonyhax-freepsxboot-installer.36569). MottZilla re-implemented the TOCPerfect concept into a much superior method, and included his implementation alongside of his DemoSwap idea in PS1 DemoSwap Patcher.
15+
* The original sole creator of [PS1 DemoSwap Patcher v1.0](https://www.psx-place.com/threads/mctool-tonyhax-freepsxboot-installer.36569). MottZilla re-implemented the TOCPerfect concept into a much superior method, and included his implementation alongside of his DemoSwap idea in PS1 DemoSwap Patcher.
1616

17-
* Wrote the controller input support for Tonyhax International.
17+
* Wrote the controller input support for Tonyhax International.
1818

19-
* Wrote the laser re-calibration function for VC2 and VC3 CDROM controllers.
19+
* Wrote the laser re-calibration function for VC2 and VC3 CDROM controllers.
2020

21-
* Developed the first Japanese save game exploit for Crash Bandicoot 2.
21+
* Developed the first Japanese save game exploit for Crash Bandicoot 2.
2222

23-
* Developed the PS-EXE loader used on GameShark/cheat cartridges to run Tonyhax International.
23+
* Developed the PS-EXE loader used on GameShark/cheat cartridges to run Tonyhax International.
2424

25-
* Came up with reset+unlock technique for TOCPerfect booting on USA/PAL consoles.
25+
* Came up with reset+unlock technique for TOCPerfect booting on USA/PAL consoles.
2626

27-
* Originally came up with the idea to involve the SetSession 2 command in a fix for the older CDROM controllers which resulted in the eventual discovery of the SetSessionSuperUltraCommandSmash v2.
27+
* Originally came up with the idea to involve the SetSession 2 command in a fix for the older CDROM controllers which resulted in the eventual discovery of the SetSessionSuperUltraCommandSmash v2.
2828

29-
* Explained the save game checksum routines in both Tony Hawk Pro Skater 2 (Japanese version) & Castrol Honda VTR (Japanese version) to help me create SuccessCheckSumUpdater (SuccessCU).
29+
* Explained the save game checksum routines in both Tony Hawk Pro Skater 2 (Japanese version) & Castrol Honda VTR (Japanese version) to help me create SuccessCheckSumUpdater (SuccessCU).
3030

31-
* Explained to myself how to find/port save game exploits to new games or to different versions of games available in different regions (i.e. Japanese version).
31+
* Explained to myself how to find/port save game exploits to new games or to different versions of games available in different regions (i.e. Japanese version).
3232

33-
## Patchouli(karehaani)
33+
## [Patchouli(karehaani)](https://www.psxdev.net/forum/memberlist.php?mode=viewprofile&u=6714)
3434

35-
* Doki Oki (Japan) save game exploit.
35+
* Doki Oki (Japan) save game exploit.
3636

37-
* Crash Bandicoot 3 (Japan) save game exploit.
37+
* Crash Bandicoot 3 (Japan) save game exploit.
3838

39-
* The Lengend Of Heroes I&II (Japan) save game exploit.
39+
* The Lengend Of Heroes I&II (Japan) save game exploit.
4040

41-
* Tekken 3 Japan/USA/PAL save game exploits (based off of previous work by [krystalgamer](https://github.com/socram8888/tonyhax/pull/20)).
41+
* Tekken 3 Japan/USA/PAL save game exploits (based off of previous work by [krystalgamer](https://github.com/socram8888/tonyhax/pull/20)).
4242

43-
* Tekken 2 Japan (rev 1 only)/USA (rev 0 only)/PAL save game exploits (based off of previous work by [krystalgamer](https://github.com/socram8888/tonyhax/pull/20)).
43+
* Tekken 2 Japan (rev 1 only)/USA (rev 0 only)/PAL save game exploits (based off of previous work by [krystalgamer](https://github.com/socram8888/tonyhax/pull/20)).
4444

45-
* Downhill Snow (Japan) save game exploit.
45+
* Downhill Snow (Japan) save game exploit.
4646

47-
* Final Fantasy IX (Japan and USA) save game exploit.
47+
* Final Fantasy IX (Japan and USA) save game exploit.
4848

49-
## SylverReZ (M4x1mumReZ)
49+
## [SylverReZ (M4x1mumReZ)](https://gbatemp.net/members/sylverrez.610331/)
5050

51-
* Helping with debugging an [APrip](https://alex-free.github.io/aprip) issue on Windows.
51+
* Generated Aprip codes for APv2 bypasses for i-mode mo Issho: Doko Demo Issho Tsuika Disc, Koko Hore! Pukka, Love Hina: Ai wa Kotoba no Naka ni / Love Hina 2: Kotoba wa Konayuki no You ni, Pocket Jiman.
5252

53-
* Generated Aprip codes for APv2 bypasses for i-mode mo Issho: Doko Demo Issho Tsuika Disc, Koko Hore! Pukka, Love Hina: Ai wa Kotoba no Naka ni / Love Hina 2: Kotoba wa Konayuki no You ni, Pocket Jiman.
53+
## [Nicholas Noble](https://github.com/nicolasnoble)
5454

55-
## Nicholas Noble
55+
* Wrote PS1 Packer and released it as an easy to use [submodule](https://github.com/pcsx-redux/support). Helped implement it for the memory card boot methods.
5656

57-
* Wrote PS1 Packer and released it as an easy to use [submodule](https://github.com/pcsx-redux/support). Helped implement it for the memory card boot methods.
57+
* Corrected the CD_REGS value in `loader/cdrom.c` to use the right memory region.
5858

59-
* Corrected the CD_REGS value in `loader/cdrom.c` to use the right memory region.
59+
* Came up with the best `cdrom:\\` text stripper for `CdGetLbn()` in `loader/secondary.c`
6060

61-
* Came up with the best `cdrom:\\` text stripper for `CdGetLbn()` in `loader/secondary.c`
61+
## [DanHans42](https://github.com/danhans42/)
62+
63+
* Wrote the initial implementation of the GameID Memcard Pro/SD2PSX/pico memcard support for his [fork](https://github.com/danhans42/tonyhax_mcp) of the o[riginal Tonyhax](https://github.com/danhans42/tonyhax_mcp). This was easy to adapt, expand, and improve into Tonyhax International.
64+
65+
## GameID
66+
67+
Tonyhax International implements the [protocol](https://gitlab.com/chriz2600/ps1-game-id-transmission) utilising the [Cybdyn MemCardPro library/code](https://github.com/Cybdyn-Systems/MemCardPro-ASM), which is releasd under these terms:
68+
69+
--Memcard Pro Library Licence Notice--
70+
71+
MemCard Pro Library
72+
Copyright (C) 2021-2024 Cybdyn Systems. All Rights Reserved.
73+
Licensed under the Apache License, Version 2.0 (the "License");
74+
you may not use this file except in compliance with the License.
75+
You may obtain a copy of the License at
76+
http://www.apache.org/licenses/LICENSE-2.0
77+
Unless required by applicable law or agreed to in writing, software
78+
distributed under the License is distributed on an "AS IS" BASIS,
79+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
80+
See the License for the specific language governing permissions and
81+
limitations under the License.
6282

6383
## Misc Acknowledgements
6484

65-
* [Berion](https://www.psx-place.com/members/berion.1431/) of [PSX-Place](https://psx-place.com) compressed the images of this document properly (this is the first time I've edited photos).
85+
* [Berion](https://www.psx-place.com/members/berion.1431/) of [PSX-Place](https://psx-place.com) compressed the images of this document properly (this is the first time I've edited photos).
86+
87+
* Martin Korth for confirming the SetSession bug found in VC0A, VC0B, and VC1A CDROM controller BIOS versions, and for the priceless [PSX-SPX](http://problemkaputt.de/psx-spx.htm) document.
6688

67-
* Martin Korth for confirming the SetSession bug found in VC0A, VC0B, and VC1A CDROM controller BIOS versions, and for the priceless [PSX-SPX](http://problemkaputt.de/psx-spx.htm) document.
89+
* [Peppe90](https://www.psx-place.com/members/peppe90.42412/) of [PSX-Place](https://psx-place.com) for testing NTSC gamems on a PAL PS2. His results have confirmed that the video mode can not be changed from PS1 software in PS1 mode on a PS1. It must be changed in PS1DRV from the PS2, as PS1 mode is set to always display the same video mode that the console shipped with (for the early PS2s that Tonyhax International supports). He mentioned that PS1VModeNeg v1.0.1 can be used to overcome this. The original Tonyhax [issue](https://github.com/socram8888/tonyhax/issues/25) explaining this also was helpful in figuring out how to bypass this PS2 level limitation.
6890

69-
* [Peppe90](https://www.psx-place.com/members/peppe90.42412/) of [PSX-Place](https://psx-place.com) for testing NTSC gamems on a PAL PS2. His results have confirmed that the video mode can not be changed from PS1 software in PS1 mode on a PS1. It must be changed in PS1DRV from the PS2, as PS1 mode is set to always display the same video mode that the console shipped with (for the early PS2s that Tonyhax International supports). He mentioned that PS1VModeNeg v1.0.1 can be used to overcome this. The original Tonyhax [issue](https://github.com/socram8888/tonyhax/issues/25) explaining this also was helpful in figuring out how to bypass this PS2 level limitation.
91+
* **Everyone else who tested, reported issues, or otherwise contributed to making Tonyhax International better!**
7092

7193
## O.G. Tonyhax Acknowledgements
7294

7395
[Socram8888](https://github.com/socram8888) is the original developer of the Tonyhax loader. The original Tonyhax loader credits are below, in alphabetical order:
7496

75-
* Alex Free for adding the boot CD image.
76-
* ChampionLeake for documenting the Brunswick exploits at PlayStation dev wiki.
77-
* Gerardo Rodriguez for suggesting Cool Boarders 4 on a YouTube comment.
78-
* @FMecha for suggesting Castrol Honda VTR on Twitter.
79-
* John Wilbert Villamor (aka Lameguy64) for creating mkpsxiso.
80-
* Jose Silva for adding support for Sports Superbike II and XS Moto.
81-
* Martin Korth for his super awesome technical documentation page that was vital for the development of this project, as well as for developing the no$psx emulator that was also essential for debugging.
82-
* Patrick Vogt for testing on multiple development PS1 consoles.
83-
* Everyone that's reported the issues on GitHub and helped Socram8888 make it better.
97+
* Alex Free for adding the boot CD image.
98+
99+
* ChampionLeake for documenting the Brunswick exploits at PlayStation dev wiki.
100+
101+
* Gerardo Rodriguez for suggesting Cool Boarders 4 on a YouTube comment.
102+
103+
* @FMecha for suggesting Castrol Honda VTR on Twitter.
104+
105+
* John Wilbert Villamor (aka Lameguy64) for creating mkpsxiso.
106+
107+
* Jose Silva for adding support for Sports Superbike II and XS Moto.
108+
109+
* Martin Korth for his super awesome technical documentation page that was vital for the development of this project, as well as for developing the no$psx emulator that was also essential for debugging.
110+
111+
* Patrick Vogt for testing on multiple development PS1 consoles.
112+
113+
* Everyone that's reported the issues on GitHub and helped Socram8888 make it better.

0 commit comments

Comments
 (0)