Open Source GameShark Engine Written In No $ PSX ASM

General homebrew games, programs and PlayStation PS-EXE's
Post Reply
alexfree
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 221
Joined: Oct 21, 2021
I am a: Programmer, Gamer
PlayStation Model: SCPH-1000
Location: USA
Contact:

Open Source GameShark Engine Written In No $ PSX ASM

Post by alexfree » October 5th, 2023, 3:44 pm

@mottzilla wrote this originally for his Stealth Unlocker soft-mod (which is super cool, please check that out) but in the end he settled on a different method to address anti-piracy games, and this never actually got into stealth unlocker by the release date. I was the beta tester for stealth unlocker ROM. and wow was that fun for the both of us,,,

Tonyhax International eventually ended up using the same gamesahrk cheat engine as a way to bypass the various anti-piracy protections found in the later PSX games (see https://github.com/alex-free/tonyhax/bl ... p-bypass.c). At first I just used the exact code he sent, but then I started playing around with the source code to add various features and it ended up becoming something much more then just an 'anti-piracy bypass' system. Thanks to user request, user supplied gameshark codes have been a feature included in Tonyhax International for quite a few versions, that was something I always wanted to add but because of the previous limitations of the original engine it was not added until it matured.

If your curious why the anti-piracy system is different then the original Tonyhax, it is because the original Tonyhax's bypass only works for USA/PAL consoles. In order to support the Japanese consoles (the whole point of my fork) you need more modifications to the protected game code routines.

How it works is you supply a txt with codes that you want applied to the CLI program I wrote, called TonyhaxInternationalGameSharkGenerator (THIGSGEN). The CLI program converts that to a 'raw' PSX save file that your write to a memory card, and once you boot the Tonyhax International loader you can press the circle button to apply said codes. See https://alex-free.github.io/tonyhax-int ... pport.html

Now, I just learned a bit of MIPS assembly (I know C quite well but am self taught, which is why I like working on Tonyhax International). So this truly is my first MIPS assembly programming software I'd love any feedback on what can be improved with this. How can this be faster? Do my optimizations make sense?, etc... I want this to eventually be superior to even the commercial GameShark software (i.e. GameShark Lite is the benchmark).

https://github.com/alex-free/tonyhax/bl ... dary.c#L88 reading the memory card save file

https://github.com/alex-free/tonyhax/bl ... ary.c#L189 parsing the memory card file


Installing the cheat engine code: https://github.com/alex-free/tonyhax/bl ... pass.c#L56

The actual cheat engine No $ PSX assembly source code: https://github.com/alex-free/tonyhax/bl ... Engine.asm

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests