Save State Hacking Guide by demonsword2
Chrono Cross on SuperCheats.com
Chrono Cross(c) Square, 1999

Save State Hacking Guide 
Copyright 2010 Carlos Eugenio

******************************************************************************
   This guide is licensed under the Creative Commons Attribution-Sharealike,
avaiable here http://creativecommons.org/licenses/by-sa/2.0/legalcode. 
Simplifying the legalese, that means that you are free to copy, print, 
distribute, and otherwise use this guide any way you want as long as you don't
violate the license i.e. give credit where it is due! :)
   Derivative works of this guide are allowed provided that you credit me for
the original work *AND* release it under this same license or other free, 
copyleft license compatible with Creative Commons Attribution-Sharealike. If
you indeed produce a derivate, kindly inform me after it's done so I can enjoy
it too and maybe even improve this guide (you will be credited for it too of
course!)
******************************************************************************

Version History
------------------------------------
2010 April 9: v. 0.9
        -First Version, still a lot to do. Probaly a lot of wrong offsets and
values too... and typos... but hey I'm releasing it before prime time bear 
with me okay? :D

2010 April 14: v. 0.91
        -Added the money offsets. NOW you can be filthy rich, at least inside
the game :D 

2010 April 16: v. 0.95
        -Improved way to handle the save state files!!
        -Figured out the Elements/Tech offsets & completed their lists. Most
work probably been done... but still missing the remaining char's offsets &
their grids with equipped Elements, and some minor stuff
------------------------------------

        This is a save state hacking guide for Chrono Cross, a classic PSX
RPG by Square. Why I bothered writing this stuff? Well... this game is GOOD
I can tell you, and you probably know it if you are reading this! I've beaten
it beginning to end a handful of times but oh well... there's a lot of stuff 
that requires far too many time to accomplish (i.e. get all summon elements is
one of them)... the game isn't hard but it ain't a pushover too and sometimes
you just want to breeze through it... I could go on but I guess you got my idea
right? :) So I did fiddle a little with a hexeditor, a diff tool, some save 
states and now I want to share it with you, my dear lazy classic RPG gamer. 
Enjoy :)

PS: This guide won't teach you hex editing. There are plenty of other guides 
who'll teach you better than me.

PS2: I used ePSXe. State hacking with ePSXe is a bit tricky but I'll explain
it in detail on section 1.0.

PS3: Use this guide with moderation! You can ruin your fun if you go overboard
and max out everything. In fact, I recommend that you beat the game first
without cheating, and in subsequent replays hexedit away. 

And, before anyone bug me with annoying accusations, I played on a emulator
yes, but I DO OWN a copy of this game!

Well, on to the guide...

Index
1.0 Save state?
1.1 Char stats offsets
1.2 Money
1.3 Items
1.4 Elements/Techs
1.5 Lists
    1.5.1 Materials List 
    1.5.2 Weapons List
    1.5.3.Armor List
    1.5.4 Accessories List
    1.5.5 Elements List
    1.5.6 Techs List
1.6 Thanks & contact info 


1.0 Save state?
        Save state is a file with a snapshot of the game progress on a given
instant. More specifically, its the CPU & Memory data on a given instant. This
guide was made and tested on ePSXe for Linux (stated above, before the index).
I guess that the files structure are the same on Linux and Windows but I cannot
be certain, since I can't and won't install Windows EVER AGAIN :P
EDIT: in fact the save states works in both versions. Just tested the Windows
version using wine. (and, surprise! running the Windows version via wine is way
better than playing the native Linux version. Go figure...)

        As I said earlier it takes some effort to hack the states. First thing,
ePSXe save states are compressed using gzip, so before you edit anything at all
you must decompress it (used gunzip but I guess 7-Zip, WinRAR, etc should do the
trick on Windows). Then you load the file on your hexeditor, edit whatever you
want, then recompress the file. Remember to remove any file extension that gets 
added to the recompressed file, if any. Now you can load the save state on the 
emulator. A word of warning, it seems that ePSXe somehow keeps the save state 
in memory, so to edit it you must close it before. Phew! I said it was tricky :)

EDIT: I recently used ePSXe 1.7 -- wine emulation :P -- and there's no need to
gzip the file again after you're done editing it... just load it (no need to
restart the emulator too!!)

So, to be clearer, that's how I (used) to do it myself:
$ mv SCUS_942.54.001 SCUS_942.54.001.gz
$ gunzip SCUS_942.54.001.gz             #decompressing the file
$ bless SCUS_942.54.001                 #loading on the hexeditor
$ gzip SCUS_942.54.001                  #done editing, recompressing it 
$ mv SCUS_942.54.001.gz SCUS_942.54.001 #removing file extension
$ cd ..
$ ./epsxe                               #play away

Since now there's no need to gzip again the file neither restart the emulator
it may be already running... SO here's the improved way:
$ wine ePSXe.exe &                      #yeah the windows version IS better :P
$ cd sstates/                           
$ mv SCUS_942.54.001 SCUS_942.54.001.gz #save state name of course
$ gunzip SCUS_942.54.001.gz             #decompress file
$ bless SCUS_942.54.001                 #load it on hexeditor
                                        #reload it on ePSXe and play away

        BACKUP YOUR FILES before you edit them to save yourself a lot of grief
in case something goes wrong! Saving in two or more slots and editing one does
the trick neatly.

1.1 Chars stats offsets
        BEFORE you get frustrated, let me say that the status won't change 
immediately after you change them. If you played before you remember that
after you grab a star your stats raise a bit an then a little more with battles
after it. It's the same thing here, you raise a stat then you must fight some
random battles, then it'll reach the value you hacked in.
TODO not all chars done!! read below.
   You probably know that there's a ton of chars in the game. I plan to beat
the game to test it, but for now if you don't wanna wait it out you can (at 
*your* own risk of course!) try to raise the other char's stats. Each char 
seems to be described by 204 bytes, that always start as:
    0x40 0x00 0x40 0x00 0x40 0x00
SO, I guess that all stats positions are the same for every char -- i.e 
Max HP is 124 bytes off the char start offset, and so on. Have fun!! :D

ALSO you can send me your results if you don't mind... getting all the 
possible characters requires at least some four playthroughs you know...
that's A LOT of work!! So help me out, ya? Pretty please? :D

1st char (Serge/Lynx)
Max HP           0x6EE3E
Current HP       0x6EE3A
STR.             0x6EE42
ACC.             0x6EE44
RES.             0x6EE46
MAG.             0x6EE48
AGI.             0x6EE4A
M.RES            0x6EE4C      
Stamina Recovery (seems to be fixed by char, have to investigate further)


1.2 Money
        Money offsets are reversed i.e. the most significant digit is the
last one. As a little example, say you want 150000G (wow that's a lot right!)
150000(decimal) = 0x249F0. You should fill the offsets like this: F0-49-02.
 
Money offsets: 0x71B62 - 0x71B63 - 0x71B64


1.3 Items
        There's only one inventory, shared by **all** equippable items and
materials. It works like this: there's an offset where you define which item
you want, and another where you define its quantity. Quite simple huh? But mind
that in the definition offsets you must space the items with a 0x00 between 
them, like this: 

--first offset: 0x7149A, say you want a @Rainbow Shell: 0x06
0x7149A -- 0x06
--let's say you want forty of them (plenty huh)
0x7179A -- 0x28

--now you want five Sunglasses 'cause they rock so much: 0xF7
0x7149B -- leave empty, 0x00
0x7149C -- 0xF7
--five of them right?
0x7179B -- 0x05

Inventory -- items, weapons, etc
Item definition offsets (start):      0x7149A
Item quantities offsets (start):      0x7179A


So simple right? Now go nuts with the @Shiny materials that are SO damned 
boring to create... :)

1.4 Elements/Techs
        Elements are just like inventory items: there are two relevant offsets,
one defines the element and the other its quantity. Element definitions are 
spaced with one empty offset 0x00 just like the inventory ones. As a example,
say you want 10 Volcanoes and 12 Black Holes:
--first offset: 0x7191A, Volcano is 0x0C
0x7191A -- 0x0C
-- ten of them...
0x71A9A -- 0x0A

-- now the Black Holes:
0x7191B -- leave empty, 0x00 
0x7191C -- 0x24
--...12 Black Holes
0x71A9B -- 0x0C

        Techs show as regular elements too, but you won't be able to use most
of them, at least until I find out the equipped Elements offsets of course --
IF it is possible to use a Tech that wasn't designed for a given char that is.
But it will be very fun to find out!! :)
EDIT: it is possible to equip Serge's skills on Lynx!!!! The game doesn't lock
but the animation sprites look quite odd -- see it for yourself! ALSO as they
are White-innate they do great damage (as Lynx)... Using the MasterMune with
FlyingArrow shows Masa&Mune as your 'shadow'... if the sprites didn't look so
messed up you bet I would use it all the time :D

Elements -- all of them (attack, healing, consumables, traps, techs...)
Element definition offsets (start): 0x7191A
Element quantities offsets (start): 0x71A9A

1.5 Lists
        As far as I know this section is complete! (unless I made a mistake 
somewhere, kindly mail me if you find something wrong)

1.5.1 Materials List 
@Bone           01  @Copper          02  @Iron           03   @Mythril       04
@Denadorite     05  @Rainbow Shell   06  @Eyeball        07   @Humour        08
@Feather        09  @Scale           0A  @Fur            0B   @Leather       0C
@Fang           0D  @Carapace        0E  @Screw          0F   @Seed          10
@Shiny Ember    11  @Shiny Dew       12  @Shiny Leaf     13   @Shiny Sand    14
@Shiny Salt     15  @Shiny Soot      16  Invalid materials -- 17 to 30 

1.5.2 Weapons List
Brass Rod       31  Iron Rod         32  Mythril Rod     33 Denadorite Rod   34
Rainbow Rod     35  Floral Rod       36  Bone Sword      37 Bronze Sword     38
Steel Sword     39  Silver Sword     3A  Stone Sword     3B Spectral Sword   3C
Hero's Blade    3D  Viper's Venom    3E  Einlanzer (1st) 3F Einlanzer (2nd)  40
Slasher         41  Ferrous Gun      42  Argent Gun      43 Denadorite Gun   44
Spectral Gun    45  Shockwave Gun    46  Plasma Pistol   47 Porcelain Pick   48
Brass Pick      49  Iron Pick        4A  Mythril Pick    4B Pebble Pick      4C
Prism Pick      4D  Carrot           4E  Betta Carotene  4F Bone Axe         50
Bronze Axe      51  Iron Axe         52  Silver Axe      53 Stone Axe        54
Rainbow Axe     55  *invalid*        56  Great Hammer    57 Master Hammer    58
Bronze Lure     59  Iron Lure        5A  Mythril Lure    5B Stone Lure       5C
Prism Lure      5D  *invalid*        5E  Bronzerang      5F Steelrang        60
Silverang       61  Rockerang        62  Prismarang      63 *invalid*        64
Bone Shot       65  Bronze Shot      66  Steel Shot      67 Silver Shot      68
Stone Shot      69  Prism Pellets    6A  Private Deck    6B Pack of Lies     6C
*invalid*       6D  Spatula Ca20     6E  Besom Cu29      6F Ladle Fe26       70
Frypan Ag47     71  Saucepan SiO2    72  Crystalpan C6   73 *invalid*        74
Bone Glove      75  Bronze Glove     76  Iron Glove      77 Mythril Glove    78
Granite Glove   79  Spectral Glove   7A  *nothing*    7B-95 Porre army(WTF?) FF

1.5.3.Armor List
Ivory Mail      96 Bronze Mail       97  Iron Mail      98  Mythril Mail     99
Stone Mail      9A Prism Mail        9B  Ivory Vest     9C  Bronze Vest      9D
Iron Vest       9E Mythril Vest      9F  Stone Vest     A0  Prism Vest       A1
Blue Plate      A2 Red Plate         A3  Yellow Plate   A4  Green Plate      A5
Black Plate     A6 White Plate       A7  Feathery Dress A8  Scaley Dress     A9
Carapace Dress  AA Screwy Dress      AB  Diva Dress     AC  Wisp Cape        AD
Cloud Cape      AE Stardust Cape     AF  Energizer Suit B0  Ghetz's Shirt    B1
*nothing*       B2-B9

1.5.4 Accessories List
Ozzie Pants     BA Flea Vest         BB Antitoxinal Cap BC  Poultice Cap     BD
Plaster Cap     BE Antiviral Cap     BF Hero's Medal    C0  Hero's Shield    C1
Ivory Helmet    C2 Bronze Helmet     C3 Iron Helmet     C4  Mythril Helmet   C5
Stone Helmet    C6 Prism Helmet      C7 Power Glove     C8  Dragoon Gauntlet C9
Power Seal      CA Magic Ring        CB Sky Djinn Ring  CC  Magic Seal       CD
Silver Loupe    CE Sight Scope       CF Third Eye       D0  Knee Pad         D1
Elbow Pad       D2 Waist Pad         D3 Silver Pendant  D4  Gold Pendant     D5
Memento Pendant D6 Dancing Shoes     D7 Kung-fu Shoes   D8  Winged Shoes     D9
Dragoon's Honor DA Dragoon's Glory   DB Defender        DC  Defender Plus    DD
Silver Earring  DE Gold Earring      DF Earring of LightE0  Earring of Hope  E1
Stamina Ring    E2 Stamina Belt      E3 Resistance Ring E4  Resistance Belt  E5
Sea Charm       E6 Flame Charm       E7 Forest Charm    E8  Earth Charm      E9
Angel Charm     EA Daemon Charm      EB Blue Brooch     EC  Red Brooch       ED
Green Brooch    EE Yellow Brooch     EF White Brooch    F0  Black Brooch     F1
Dreamer's Scarf F2 Dreamer's Sash    F3 Trashy Tiara    F4  Golden Tiara     F5
Profiteer Purse F6 Moonglasses       F7 Sunglasses      F8  Pendragon SigilC F9
Pendragon SigilB FA Pendragon SigilA  FB Forget-me-not Pot FC Star Fragment  FD
Dreamer's Sarong FE

1.5.5 Elements List
(legend: *-Summon, [-Consumable, >-Trap
AquaBeam        01  AquaBall        02  Deluge          03   IceLance        04
IceBlast        05  Iceberg         06  Fireball        07   FirePillar      08
Inferno         09  MagmaBomb       0A  MagmaBurst      0B   Volcano         0C
Bushwhacker     0D  Bushbasher      0E  Carnivore       0F   AeroSaucer      10
AeroBlaster     11  Tornado         12  Uplift          13   Upheaval        14
Earthquake      15  ElectroJolt     16  ElectroBolt     17   ThundaStorm     18
PhotonRay       19  PhotonBeam      1A  HolyLight       1B   Meteorite       1C
MeteorShower    1D  UltraNova       1E  GravityBlow     1F   Gravitonne      20
FreeFall        21  HellSoul        22  HellBound       23   BlackHole       24
*FrogPrince     25  *BlueWhale      26  *RedWolf        27   *Salamander     28
*Sonja          29  *Genie          2A  *Golem          2B   *ThundaSnake    2C
*Unicorn        2D  *Saints         2E  *MotherShip     2F   *GrimReaper     30
TurnBlue        31  AntiRed         32  Nimble          33   Numble          34
BlueField       35  Vigora          36  TurnRed         37   AntiBlue        38
Strengthen      39  Weaken          3A  RedField        3B   Ninety-Nine     3C
TurnGreen       3D  AntiYellow      3E  EagleEye        3F   BatEye          40
GreenField      41  InfoScope       42  TurnYellow      43   AntiGreen       44
HiRes           45  LoRes           46  YellowField     47   PhysNegate      48
TurnWhite       49  AntiBlack       4A  StrongMinded    4B   WeakMinded      4C
Magnify         4D  MagNegate       4E  TurnBlack       4F   AntiWhite       50
Genius          51  Imbecile        52  Diminish        53   SealAll         54
Cure            55  CurePlus        56  CureAll         57   Heal            58
HealAll         59  HealPlus        5A  Purify          5B   RecoverAll      5C
HolyHealing     5D  Revive          5E  FullRevival     5F   Revenge         60 
[Medicine       61  [Ointment       62  [Recharge       63   [Antidote       64
[Brace          65  [WhiteOut       66  [Panacea        67   [BlackOut       68
[Tablet         69  [Capsule        6A  [Nostrum        6B   >Inferno        6C
>Volcano        6D  >RedWolf        6E  >Deluge         6F   >Iceberg        70
>FrogPrince     71  >Earthquake     72  >ThundaStorm    73   >Golem          74
>Carnivore      75  >Tornado        76  >Sonja          77   >FreeFall       78
>BlackHole      79  >MotherShip     7A  >HolyLight      7B   >UltraNova      7C
>Unicorn        7D  ChronoCross     7E  *invalid techs!!*  7F - 87

1.5.6 Techs List
Z-Slash         88  DeltaForce      89  DraggyRider     8A   VitalForce      8B
TossedSalad     8C  Flamenco        8D  DoubleTake      8E   PitchBlack      8F
SwordStorm      90  DragonSpike     91  WindSlash       92   DashSlash       93
TheStare        94  MaxDefense      95  GlideHook       96   FeralCats       97
ForeverZero     98  Dash&Slash      99  SonicSword      9A   Dive&Drive      9B
GlideHook(2)    9C  FeralCats(2)    9D  ForeverZero     9E   X-Strike        9F
Dash&Slash      A0  Luminaire       A1  FlyingArrow     A2   Pilfer          A3
RedPin          A4  HotShot         A5  WandaIn         A6   WandaSwords     A7
LightninRod     A8  SpiralRay       A9  SunShower       AA   TopShot         AB
GrandFinale     AC  ChillOut        AD  LimeLight       AE   G-Force         AF
AirForce        B0  FlagBearer      B1  SnakeEyes       B2   SnakeSkin       B3
SnakeFangs      B4  DragonRider     B5  AxialAxe        B6   Axiomatic       B7
DragonRider(2)  B8  Gyronimo        B9  Toss&Spike      BA   Cat'sCradle     BB
StringPhone     BC  WebSurfer       BD  HeadButt        BE   Hook&Sinker     BF
BigCatch        C0  Pin-Up Girl     C1  Mix&Match       C2   TestAmeba       C3
K9-Ball         C4  DoggyDunnit     C5  Unleashed       C6   Raz-Star        C7
Raz-Heart       C8  Raz-Flower      C9  HammerBlow      CA   HammerThrow     CB
BallsOfIron     CC  SpiceOfLife     CD  MysteryMenu     CE   DinnerGuest     CF
LongShot        D0  QuickDraw       D1  VitalEnergy     D2   Pillage         D3
CannonBalls     D4  Invincible      D5  BottomsUp       D6   Folding         D7
DirtyDishes     D8  Dash&Gash       D9  SonicSword      DA   Dive&Drive      DB
MaidenHand      DC  MaidenHeart     DD  MaidenFaith     DE   HeadBopper      DF
SexyWink        E0  DanceOnAir      E1  MoonBeams       E2   MoonShine       E3
Lunairetic      E4  BeatIt          E5  24Carrots       E6   What'sUpDoc     E7
CoughDrop       E8  CoughMix        E9  BigBreath       EA   StarLight       EB
StarBurst       EC  StarStruck      ED  Doppelgang      EE   VoodooDance     EF
CartWheel       F0  HoodooGuroo     F1  VegeChopper     F2   VegeMight       F3
VegOut          F4  PopPopPop       F5  SlurpSlurp      F6   BamBamBam       F7
ClothesLine     F8  Flip-flop       F9  GraveDigger     FA   JugglerVein     FB
BalloonLoan     FC  OnARoll         FD  LumberJack      FE   SporeCloud      FF
Myconoids       001 *invalid gibberish*     002-???

*going beyond 0x003 here crashes emulator!*
BUT I think that Monster Techs are in that range, if you want to try it out,
be my guest... IF you find anything interesting mail me so I can update this 
list! You will be credited for it of course :)


1.6 Thanks & contact info

-Thanks to Square, for this wonderful game, I enjoy it to this day!
-Thanks to the free & open source software people!
-Thanks to the GameFAQs people!
-Thanks to anyone who deserves a thanks but I forgot to mention!

You can reach me on demonsword at gmail dot com. Please, if you want to mail
me, write in proper English so I can understand you. Offensive mails won't 
get replied. And please, I'm a busy man, so if I don't reply to you the same
day/month/year/century don't be mad at me ok? :)

---EOF