View Single Post
 
Old 07-31-2006, 08:40 PM Level: 17   HP: 23 / 408
awall's HPawall's HP
  EXP: 32%
awall's XPawall's XP
  #4 (permalink)
awall
Game Balance Nazi
 
awall's Avatar
 

Join Date: Jun 2005
Location: Home is where the house is

   Posts    344
        
Gil: 40,927.59

awall has levelled up - (lv 1)
Okay, so at rockoklsl's request I did a bit of poking around. Because FFT came out long before PS2 gamesharks were around, it doesn't seem like there are very many codes online. But as I understand the technology, it should theoretically be possible to use a PS1 GS code on a PS2 Gameshark.

HOWEVER, I PROVIDE NO GUARANTEE THAT MY IDEAS WILL ACTUALLY WORK!!! In fact, odds are that this will not have the intended results. I'm just guessing at this stuff based on how I think it works. Also, because I don't have a gameshark myself, I can't toy around with stuff until I find the appropriate codes; you'll have to do some trial and error on your end.

If you're just here for the short version, the answer is that there probably exists a GS code, but I have no idea what it is; furthermore, it's possible that the code is different each time you turn on your PS2, in which case you really have no chance. However, if you're interested in trying your luck, put 0000 at the end of a PS1 code and cross your fingers. If that doesn't work, put 0000 after the first 8 digits (i.e. AAAAAAAA BBBB becomes AAAAAAAA 0000BBBB) and see if that does the trick. If not, I'm sorry but I can't really help you.

With that aside, let's start with how a gameshark actually works. A GS (or any cheat device) works by overwriting certain addresses in a game's RAM with a new value, and then (I believe) optionally locking that value in place so nothing can change it. To take the simplest example, an infinite ammo code would figure out where in memory the game stores how much ammo you have left, set it to 999 (or whatever the max is), and then freeze that value so that the game can't decrease it when you use up bullets.

Gameshark codes are really large numbers in hexidecimal. If you know hex, it'll help you understand this next part a lot better, but don't worry if you don't; I'll try to put it in as non-technical terms as I can. A code is usually broken up into two parts: an address (aka where to write to) and a value (aka what to write). The code might look something like:

46198AF3B 03E7

In this instance, the 46198AF3B is the address to write to (in the previous example, the place in memory that the game keeps track of how many bullets you have left) and the 03E7 is the value that gets written there (in this case, 03E7 hex = 999 decimal - "normal" numbers).

A "bit" of memory is the unit that either stores a 1 or a 0; a single hexidecimal digit refers to four of these. A "byte" is 8 bits, and is represented as two hex digits (so the value "03E7" is two bytes). A "word" is the number of bytes that are stored at a single address of memory.

Now, here's the catch: Playstation 1 "words" are two bytes long. However, Playstation 2 "words" are twice as long; that is they're four bytes. This is why Playstation 2 gameshark codes are four digits longer than PS1 codes.

Now, here's the part where I'm just guessing. One way that PS2's could play PS1 games is just by ignoring two of the bytes at each memory address.

30057F76 002E is a PS1 code that will turn Ramza into an assassin.
It's entirely possible that the equivalent PS2 gameshark code is 30057F76 0000002E.
It is also entirely possible that the equivalent PS2 gameshark code is 30057F76 002E0000, in case they discard the two bytes from the opposite end.
It is also entirely possible that when a PS2 emulates a PS1, it stores the game values in a completey different location. In fact, this is by far the most likely case. If this is how it works, then I hate to say it but you're probably SOL and the PS2 gameshark code is completely different from the PS1 one. That's not to say that there isn't one; I just have no idea what it is and I don't have the time, motivation, or resources to do a hex dump of my PS2 while playing FFT and try to figure out where all the values are stored.

So now you probably understand a tiny bit more about what a gameshark does, and hopefully you understand why using a PS2 gameshark to hack a PS1 game should in theory work, but if the codes aren't a simple transformation of PS1 codes, it may require a lot of research to figure them out.

If I did a bad job at explaining anything or anybody else has any more insight to add, feel free to ping me with questions.
awall is offline       
 
 
Page generated in 0.12501 seconds with 11 queries