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
2010 December 7: v. 0.96
-Added quite a few offsets, still a ways to go before guide completion
but hey! Most of them untested yet. See on the thanks section for our brave
contributors' names :)
------------------------------------
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 (alphabetical order)
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 (alphabetical order)
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
EDIT: only eleven chars so far so lots of hacking yet so... have fun again :D
Note: Stamina Recovery seems to be fixed by char, issue still open to further
investigation at this point...
Draggy
Current HP 0x7015A
Max HP 0x7015E
Strength 0x70162
Accuracy 0x70164
Resistance 0x70166
Agility 0x70168
Magic 0x7016A
Magic Res. 0x7016C
Fargo
Current HP 0x6FBC6
Max HP 0x6FBCA
Strength 0x6FBCE
Accuracy 0x6FBD0
Resistance 0x6FBD2
Agility 0x6FBD4
Magic 0x6FBD6
Magic Res. 0x6FBD8
Glenn
Current HP 0x6FD5E
Max HP 0x6FD62
Strength 0x6FD66
Accuracy 0x6FD68
Resistance 0x6FD6A
Agility 0x6FD6C
Magic 0x6FD6E
Magic Res. 0x6FD70
Harle
Current HP 0x6FFC2
Max HP 0x6FFC6
Strength 0x6FFCA
Accuracy 0x6FFCC
Resistance 0x6FFCE
Agility 0x6FFD0
Magic 0x6FFD2
Magic Res. 0x6FFD4
Karsh
Current HP 0x6F3CE
Max HP 0x6F3D2
Strength 0x6F3D6
Accuracy 0x6F3D8
Resistance 0x6F3DA
Agility 0x6F3DC
Magic 0x6F3DE
Magic Res. 0x6F3E0
Miki
Current HP 0x6FEF6
Max HP 0x6FEFA
Strength 0x6FEFE
Accuracy 0x6FF00
Resistance 0x6FF02
Agility 0x6FF04
Magic 0x6FF06
Magic Res. 0x6FF08
Orlha
Current HP 0x70FB2
Max HP 0x70FB6
Strength 0x70FBA
Accuracy 0x70FBC
Resistance 0x70FBE
Agility 0x70FC0
Magic 0x70FC2
Magic Res. 0x70FC4
Riddel
Current HP 0x6F302
Max HP 0x6F306
Strength 0x6F30A
Accuracy 0x6F30C
Resistance 0x6F30E
Agility 0x6F310
Magic 0x6F312
Magic Res. 0x6F314
Serge/Lynx (yeah shared stats to both!)
Current HP 0x6EE3A
Max HP 0x6EE3E
Strength 0x6EE42
Accuracy 0x6EE44
Resistance 0x6EE46
Agility 0x6EE4A
Magic 0x6FD6E
Magic Res. 0x6EE4C
Current equip 0x6EDA2
Sprigg
Current HP 0x702F2
Max HP 0x702F6
Strength 0x702FA
Accuracy 0x702FC
Resistance 0x702FE
Agility 0x70300
Magic 0x70302
Magic Res. 0x70304
Zoah
Current HP 0x6F49A
Max HP 0x6F49E
Strength 0x6F4A2
Accuracy 0x6F4A4
Resistance 0x6F4A6
Agility 0x6F4A8
Magic 0x6F4AA
Magic Res. 0x6F4AC
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
Sea Swallow 20 Copper Swallow 21 Steel Swallow 22 Silver Swallow 23
Stone Swallow 24 Spectra Swallow 25 Mastermune 26 Ivory Dagger 27
Bronze Dagger 28 Iron Dagger 29 Mythril Dagger 2A Denadorite Dgg 2B
Prism Dagger 2C Silver Staff 2D Stone Staff 2E Spectral Staff 2F
Porcelain Rod 30 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 Junior for finding Glenn & Zoaf offsets!!
-Thanks for Stan Chin for Serge's equipped offset & a few Weapons offsets!
-Thanks to DarkPrince for discovering lots of chars offsets :)
-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