Uncovering the inner workings of the GameShark 2 for the Playstation 2
Uncovering the inner workings of the GameShark 2
-Bjohnson
The GameShark2 we all need it, we all use it. But we don’t understand it.
Well I decided to take a look into it and find out everything I could about it so that we might learn from it and possibly use this information to our advantage.
First you might notice when you try to copy the cd to your hard drive you will get an error. I’m still unsure of why this is. But if you have a good cdrom it can be read.
Files and their Purpose:
Upon inspection of the CD you will see these files
\DATA.DAT – The file that has problems coping, It is used as a padding I believe. It is exactly 5 MB.
\BIG.DAT – Another dummy file, it is exactly 20MB.
\SYSTEM.CNF – The standard initialization file found on all PS games.
\SLUS_200.90 – The executable file that basically runs the program
\SIO.COD – An elf file like the SLUS but not sure of its function yet.
\GFX\BACKSCRL.IMG – Just a image probably the bubbles.
\GFX\BIGFNT.FON – a font
\GFX\BIGFNT.INF – contains some info about the font
\GFX\EXTRAS.IMG – Another picture
\GFX\GS1.IMG - Picture
\GFX\GS2.IMG - Picture
\GFX\GS3.IMG - Picture
\GFX\SMALLFNT.FON –Another Font
\GFX\SMALLFNT.INF – Font INF
Structure:
Here is a Tree-info file from Isobuster of the GS2 CD
23, \DATA.DAT
2465, \BIG.DAT
12231, \SYSTEM.CNF
12232, \SLUS_200.90
12316, \SIO.COD
12326, \GFX\BACKSCRL.IMG
12926, \GFX\BIGFNT.FON
13054, \GFX\BIGFNT.INF
13055, \GFX\EXTRAS.IMG
13183, \GFX\GS1.IMG
13303, \GFX\GS2.IMG
13423, \GFX\GS3.IMG
13483, \GFX\SMALLFNT.FON
13611, \GFX\SMALLFNT.INF
What is interesting here though is the there are 2 dummy files in a row at the beginning of the CD, the DATA.DAT and the BIG.DAT. The purpose of using 2 of them instead of just one big one is unknown to me. But the purpose of having a dummy file is simple. The program is only 2.6MB, so when they go to make the image its on 20 secs. And apparently their CDR equipment wont burn anything unless its more than one min.
So a dummy file is used to make this image the required size to burn correctly.
Processes:
When the SLUS file is examined it is noticed that there are no references to the BIG.DAT and the DATA.DAT. This confirms that they are dummy files. If you open them up in the hex editor you can clearly see this also. Just a bunch of 0000s
Another interesting thing that should be noted is this
“This version of GameShark2 is not.......compatible with this revision of........Playstation 2 Console...For an upgrade CD which is compatible...please contact customer services at:....Interact Accessories Inc”
Interact was thinking ahead and put in a fail safe that would no let the CD load if Sony did something to their system to do it.
After that message the SIO.COD file is loaded….
Here’s how the game is initialized
\SYSTEM.CNF;1...cdrom0:\SYSTEM.CNF;1....cdrom0:\
It checks the system.cnf that’s in memory possibly to get the LBA location.
Then it tries to load the new one off the CD. And sets the path of the rest of the files to be loaded as the cdrom.
What is unknown:
Why the image that people have ripped of the gs2 CD is around 600 meg when the program is 26.
Speculation:
The Gs2 1.3 loads games without patches from some code rewriting done to add the cancel feature on the insert game screen.
The first dummy file the DATA.DAT file won’t copy without a good cdrom drive
Well this might be because that’s where they put the copy protection at. They must have figured it’d be a good spot to put the protection there’s nothing there anyways.
But other games would have a faulty dummy file in them also if this were a Sony protection. Its most likely a secondary protection instated by interact.