Star Ocean Save State Hacking Guide
Usable with the ZSNES emulator (.zst style save states)
Written by Thundergod (dragon_god_inferno@yahoo.com)

Version 1.0: First draft, most of the character information.
Version 2.0: Whoo hoo!  Found Talents, Skills, and items!

Unpublished work Copyright 2001 Thundergod

This FAQ is for private and personal use only.  It can only be reproduced 
electronically, and if placed on a web page or site, may be altered as long 
as this disclaimer and the above copyright notice appears in full.  This FAQ 
is not to be used for profitable/promotional purposes; this includes being 
used by publishers of magazines, guides, books, etc. or being incorporated 
into magazines, etc. in ANY way. This FAQ was created and is owned by me, 
Thundergod <dragon_god_inferno@yahoo.com>. All copyrights and trademarks are 
acknowledged that are not specifically mentioned in this FAQ.  Please give 
credit where it is due.

Thanks go to:

Ragnarosen (ragnarosen@hotmail.com) for the form of the following paragraph, 
and for the section on hexadecimal.
Kao Megura (kmegura@yahoo.com) for the copyright statement.

To download ROMs and emulators for all systems, go to www.pe2000.net.

To alter the statistics of your characters through hacking into your save 
state (or .zst file), you'll need to go to Break Point Software 
(http://www.bpsoft.com) and download a program called "Hex Workshop." Once 
you're finished downloading and the program is finished running SETUP.EXE 
automatically, open Hex Workshop and use it to open any Star Ocean .zst files 
you may have.

NOTE: This Hacking Guide was designed for use with the ZSNES emulator, and 
was hacked with Break Point Software's Hex Workshop. This guide will not work 
with any other programs, as each one works with the save states differently.  
My favorite version of Hex Workshop is v2.54, as it is easier to use than the 
others, so I recommend you get that version.

-----------------------------------------------------------

OFFSETS:

Most of the questions I get anymore have to do with offsets - what are they, 
how do I tell what I'm editing, I don't understand hacking in general, etc.  
As far as I am concerned, the Help Section is as thorough is it is going to 
get.  The only way I could explain it any better would be to point at the 
screen and say, "See that there?  That's what you need to change!"  Since I 
can't do that, you'll just have to be on your own if you need any help more 
detailed than what I have included below.

If you REALLY cannot figure out offsets and hacking on your own, read the Hex 
Workshop help file.  For the best explanation (with pictures), open the help 
file and click on the Find tab.  Search for offset, click on the first option 
(there should be four), and click on "How to Hex Edit" in the box below.  
Read over that very carefully, and you should have no trouble with hacking 
and finding offsets after that.  If you STILL do not understand, then odds 
are hacking is, quite seriously, not for you.  If you have reached this stage 
and do not understand, do not e-mail me, for I will not be able to help you.

DO NOT ASK ME TO HACK FILES FOR YOU!  I will ignore any request to do so.

-----------------------------------------------------------

Help!  Answers for commonly asked questions:

You don't use a cartridge in the SNES for this process.  Have you heard of 
emulation?  An emulator is a program on your PC (or Mac) that you can use to 
play the games you have.  First, you need to download an emulator (ZSNES is 
the best, in my opinion) and the Star Ocean ROM.

Once you have both, load up the ROM in your emulator.  If you are using 
ZSNES, press F2 to save the game's state.  This will make a copy of that 
EXACT moment in the game, so when you load the state (F4) it will reappear 
right at that point.  Now that you have a save state file (.zst for ZSNES), 
load up Hex Workshop, load the save state, and hack away!

This can only be done on the computer, when you are using an emulator (like 
ZSNES) and ROMs (in this case, Star Ocean.)  Go to www.pe2000.net for ROMs, 
emulators, and how to use them.  If you already know, and/or are already 
using an emulator, then move on to the next paragraph.  Otherwise, get them 
so that you can follow the rest of this.

Once you are using an emulator, you may have found out how to use save 
states.  Basically, save states save all the details of your game at that 
exact moment.  Thus, you can use it more often, and faster, than regular 
saving.  For example, if you want to save your state right before making a 
choice (like a fork in the road,) if you choose the wrong path, you can just 
load up your save state and choose again.

At any rate, to begin hacking, go to the Breakpoint software homepage 
(www.bpsoft.com) and download a copy of Hex Workshop.  Load up your favorite 
emulator (whatever that may be) and make a save state.  A ZSNES save state 
will have the same name as the ROM, and will have the file extension .zst.  
For ZSNES (the best emulator , in my opinion) press F2 to save a state, and 
F4 to load a state.  Next, load up Hex Workshop and load the save state (ex: 
so.zst)  Use the "Go To" command, which is under the Edit menu, to get to the 
offset you are looking for.  For example, if the offset is 90B4, type 90B4 in 
the "Go To" box and press enter, and it will take you right to it.

Keep in mind that this all uses the hexadecimal system, which means that not 
only is there 0 - 9, but also A - F.  A = 10, B = 11, and so on.  This is 
called hexadecimal because there are 16 numbers instead of ten.

So, let's say that offset 8067 is the offset for guts, and you want guts to 
be at max (255, FF in hexadecimal).  Use "Go To" to go to offset 8067, and 
then type in FF.  Next, save the data, and open the emulator again.  Load the 
state, and voila! the character's guts will be at 255. Note that you can make 
as many changes as you want before reloading the state (not just one, as in 
the example), and that you should close the loaded save file (though not 
necessarily Hex Workshop) before reloading the state.

To find a particular offset easily, use the "Go To" command in the edit menu 
(I think).  Remember, because of the hexadecimal system you can also enter 
letters from A to F.  For example, if the offset is 2041A, use "Go To" and 
type in 2041A.  The program will take you right to it! Also, at the bottom of 
the screen, a small box will say what offset you are currently on (in this 
example, Offset: 2041A).

Now for the entering of values.  Let's say you want to change Ratix's guts to 
99.  To do that, go to the offset that changes guts (8067) and type in two 
numbers (or letters from A to F) that correspond to the value you want.  The 
hexadecimal system is hard to grasp at first.  In the 99 example, 99 become 
63 in hexadecimal form.  In decimal (or standard) form, the base is ten.  
This means that for a number (say 1429) each digit is multiplied by an 
increasing power of ten.  For 1429, it looks like this:

(9*1)+(2*10)+(4*100)+(1*1000) or (9*10^0)+(2*10^1)+(4*10^2)+(1*10^3)

with the carat (^) referring to the power of the number.  If you already know 
how to work with powers, I  apologize for repeating this basic information.  
As you can see, the powers of the digits increase at we go along.  In 
hexadecimal, the base is 16, not 10, so there are a few changes.  Here's what 
1429 would look like in hexadecimal:

(9*1)+(2*16)+(4*256)+(1*4096) or (9*16^0)+(2*16^1)+(4*16^2)+(1*16^3)

Thus, 63 in hexadecimal equals 99 in decimal because (3*1)+(6*16) equals 99.  
The highest number you can get with one offset is 255 (FF in hexadecimal).

Two (or three) offset changes are harder for beginners, because the number 
that you are trying to change is broken up into two pieces.  For these 
numbers, refer to the list of useful numbers after this section.  For 
example, input E703 to get 999 and 0F27 to get 9999.  For example, if you 
want to change your money to 9,999,999, enter 7F in offset E86, 96 in offset 
E87, and 98 in offset E88.

-----------------------------------------------------------

  - For the different offsets, here's a Quick List of the most commonly
used values:  

HEX VALUE       DECIMAL VALUE           USES
-----------------------------------------------------------
"14"            for "20"        used for item quantities
"FF"            for "255"       used for levels, statistics
"E7 03"         for "999"       used for MP, Max MP, statistics
"0F 27"         for "9999"      used for HP, Max HP, statistics
"7F 96 98"      for "9,999,999" used for money
"FF E0 F5 05" for "99,999,999" used for experience

-----------------------------------------------------------

NOTE: For the two- or three-column HEX VALUES ("E7 03"), the numbers must
be entered "backward" as shown above to work properly.
    - When saving large numbers to computer language, the order of the hex
values are reversed.  If you open Windows Calculator and enter "999" in
decimal form and convert it to hexadecimal form, it will show "3E7" (note
that Calculator will remove any leading zeros).  To use this multi-column
hex value, add any necessary leading zeros (in this case, in front of the
"3") to make even pairs ("03 E7").  Put the number pairs in reverse order
("E7 03") in the so.zst files.
    - THIS DOES NOT MEAN TO REVERSE THE VALUES!  "03 E7" must be entered
as "E7 03", not "30 7E"!  For the basic rule of thumb, number pairs are
entered like this: #2 #1 (or #3 #2 #1 for very large numbers)

-----------------------------------------------------------

Money: E86, E87, E88
Items: 8BF4 - 8DF3
Item Quantities: 8DF4 - 8FF3

Note: Because Star Ocean has so many items, it had to use a very creative 
system to handle the potentially huge item list.  The item values range from 
00 to FF, with 00 being the empty space, and quantities of 01 (1) to 14 (20).  
However, this only allows access to half the items in the game.  How do you 
get the other half?  Add 80 (in hex) to the item quantities!  Thus, the first 
half of the items have quantities of 01 to 14, while the other half ranges 
from 81 to 94.  For example, the item FF with a quantity of 01 is one 
Hamburger, while FF with a quantity of 81 is one Tri-Emblem.  Also, item 00, 
when given a quantity of 81 to 94, is an item, namely Escargo.

CHARACTER OFFSETS

First Position:

Base HP: 8042, 8043
Maximum HP: 8044, 8045
Present HP: 8046, 8047
Base MP: 8048, 8049
Maximum MP: 804A, 804B
Present MP: 804C, 804D
Level: 804E
Strength: 804F, 8050
Constitution: 8055, 8056
Evade: 805B, 805C
Agility: 8061, 8062
Guts: 8067
Intelligence: 806D, 806E
Equipped Weapon: 8090, 8091
Equipped Armor: 8092, 8093
Equipped Shield: 8094, 8095
Equipped Helmet: 8096, 8097
Equipped Shoes: 8098, 8099
Equipped Accessory 1: 809A, 809B
Equipped Accessory 2: 809C, 809D
Experience: 809E, 809F, 80A0, 80A1
Talents: 80CA, 80CB
Skill Points: 80CC, 80CD
Stamina: 80CE, 80CF
Skills: 91F4 - 9224

Second Position:

Base HP: 8142, 8143
Maximum HP: 8144, 8145
Present HP: 8146, 8147
Base MP: 8148, 8149
Maximum MP: 814A, 814B
Present MP: 814C, 814D
Level: 814E
Strength: 814F, 8150
Constitution: 8155, 8156
Evade: 815B, 815C
Agility: 8161, 8162
Guts: 8167
Intelligence: 816D, 816E
Equipped Weapon: 8190, 8191
Equipped Armor: 8192, 8193
Equipped Shield: 8194, 8195
Equipped Helmet: 8196, 8197
Equipped Shoes: 8198, 8199
Equipped Accessory 1: 819A, 819B
Equipped Accessory 2: 819C, 819D
Experience: 819E, 819F, 81A0, 81A1
Talents: 81CA, 81CB
Skill Points: 81CC, 81CD
Stamina: 81CE, 81CF
Skills: 9234 - 9264

Third Position:

Base HP: 8242, 8243
Maximum HP: 8244, 8245
Present HP: 8246, 8247
Base MP: 8248, 8249
Maximum MP: 824A, 824B
Present MP: 824C, 824D
Level: 824E
Strength: 824F, 8250
Constitution: 8255, 8256
Evade: 825B, 825C
Agility: 8261, 8262
Guts: 8267
Intelligence: 826D, 826E
Equipped Weapon: 8290, 8291
Equipped Armor: 8292, 8293
Equipped Shield: 8294, 8295
Equipped Helmet: 8296, 8297
Equipped Shoes: 8298, 8299
Equipped Accessory 1: 829A, 829B
Equipped Accessory 2: 829C, 829D
Experience: 829E, 829F, 82A0, 82A1
Talents: 82CA, 82CB
Skill Points: 82CC, 82CD
Stamina: 82CE, 82CF
Skills: 9274 - 92A4

Fourth Position:

Base HP: 8342, 8343
Maximum HP: 8344, 8345
Present HP: 8346, 8347
Base MP: 8348, 8349
Maximum MP: 834A, 834B
Present MP: 834C, 834D
Level: 834E
Strength: 834F, 8350
Constitution: 8355, 8356
Evade: 835B, 835C
Agility: 8361, 8362
Guts: 8367
Intelligence: 836D, 836E
Equipped Weapon: 8390, 8391
Equipped Armor: 8392, 8393
Equipped Shield: 8394, 8395
Equipped Helmet: 8396, 8397
Equipped Shoes: 8398, 8399
Equipped Accessory 1: 839A, 839B
Equipped Accessory 2: 839C, 839D
Experience: 839E, 839F, 83A0, 83A1
Talents: 83CA, 83CB
Skill Points: 83CC, 83CD
Stamina: 83CE, 83CF
Skills: 92B4 - 92E4

Fifth Position:

Base HP: 7C42, 7C43
Maximum HP: 7C44, 7C45
Present HP: 7C46, 7C47
Base MP: 7C48, 7C49
Maximum MP: 7C4A, 7C4B
Present MP: 7C4C, 7C4D
Level: 7C4E
Strength: 7C4F, 7C50
Constitution: 7C55, 7C56
Evade: 7C5B, 7C5C
Agility: 7C61, 7C62
Guts: 7C67
Intelligence: 7C6D, 7C6E
Equipped Weapon: 7C90, 7C91
Equipped Armor: 7C92, 7C93
Equipped Shield: 7C94, 7C95
Equipped Helmet: 7C96, 7C97
Equipped Shoes: 7C98, 7C99
Equipped Accessory 1: 7C9A, 7C9B
Equipped Accessory 2: 7C9C, 7C9D
Experience: 7C9E, 7C9F, 7CA0, 7CA1
Talents: 7CCA, 7CCB
Skill Points: 7CCC, 7CCD
Stamina: 7CCE, 7CCF
Skills: 90F4 - 9124

Sixth Position:

Base HP: 7D42, 7D43
Maximum HP: 7D44, 7D45
Present HP: 7D46, 7D47
Base MP: 7D48, 7D49
Maximum MP: 7D4A, 7D4B
Present MP: 7D4C, 7D4D
Level: 7D4E
Strength: 7D4F, 7D50
Constitution: 7D55, 7D56
Evade: 7D5B, 7D5C
Agility: 7D61, 7D62
Guts: 7D67
Intelligence: 7D6D, 7D6E
Equipped Weapon: 7D90, 7D91
Equipped Armor: 7D92, 7D93
Equipped Shield: 7D94, 7D95
Equipped Helmet: 7D96, 7D97
Equipped Shoes: 7D98, 7D99
Equipped Accessory 1: 7D9A, 7D9B
Equipped Accessory 2: 7D9C, 7D9D
Experience: 7D9E, 7D9F, 7DA0, 7DA1
Talents: 7DCA, 7DCB
Skill Points: 7DCC, 7DCD
Stamina: 7DCE, 7DCF
Skills: 9134 - 9164

Seventh Position:

Base HP: 7E42, 7E43
Maximum HP: 7E44, 7E45
Present HP: 7E46, 7E47
Base MP: 7E48, 7E49
Maximum MP: 7E4A, 7E4B
Present MP: 7E4C, 7E4D
Level: 7E4E
Strength: 7E4F, 7E50
Constitution: 7E55, 7E56
Evade: 7E5B, 7E5C
Agility: 7E61, 7E62
Guts: 7E67
Intelligence: 7E6D, 7E6E
Equipped Weapon: 7E90, 7E91
Equipped Armor: 7E92, 7E93
Equipped Shield: 7E94, 7E95
Equipped Helmet: 7E96, 7E97
Equipped Shoes: 7E98, 7E99
Equipped Accessory 1: 7E9A, 7E9B
Equipped Accessory 2: 7E9C, 7E9D
Experience: 7E9E, 7E9F, 7EA0, 7EA1
Talents: 7ECA, 7ECB
Skill Points: 7ECC, 7ECD
Stamina: 7ECE, 7ECF
Skills: 9174 - 91A4

Eighth Position:

Base HP: 7F42, 7F43
Maximum HP: 7F44, 7F45
Present HP: 7F46, 7F47
Base MP: 7F48, 7F49
Maximum MP: 7F4A, 7F4B
Present MP: 7F4C, 7F4D
Level: 7F4E
Strength: 7F4F, 7F50
Constitution: 7F55, 7F56
Evade: 7F5B, 7F5C
Agility: 7F61, 7F62
Guts: 7F67
Intelligence: 7F6D, 7F6E
Equipped Weapon: 7F90, 7F91
Equipped Armor: 7F92, 7F93
Equipped Shield: 7F94, 7F95
Equipped Helmet: 7F96, 7F97
Equipped Shoes: 7F98, 7F99
Equipped Accessory 1: 7F9A, 7F9B
Equipped Accessory 2: 7F9C, 7F9D
Experience: 7F9E, 7F9F, 7FA0, 7FA1
Talents: 7FCA, 7FCB
Skill Points: 7FCC, 7FCD
Stamina: 7FCE, 7FCF
Skills: 91B4 - 91E4

Notes:

With the Talent offsets, just enter FF FF to have every talent.

Strength, Constitution, Agility, and HP have maximum values of 9999 (0F 27).  
Evade, Intelligence and Stamina have maxes of 1000 (E8 03), and MP has a max 
of 999 (E7 03).  Guts and Level only occupy one offset, so their maximum 
values are 255 (FF).  Gold maxes out at 9,999,999 (7F 96 98), though you can 
set it higher (FF FF FF is the max) if you're trying to buy expensive items 
(such as the Tri-Emblem) and want to spend fewer trips getting them.  Star 
Ocean DOES have 255 levels instead of the usual 99, and because of that the 
max experience you can get is 99,999,999 (FF E0 F5 05).

Skill Points also have a normal maximum of 999.  However, a handy trick is to 
set a character's SP to much more than that (such as 65,535, or FF FF in 
hex).  Even though this number is too large for it all to show, the character 
will still have all of the extra SP.  Since it takes over 6000 SP to master 
every skill, this can save you many trips back and forth to the hex editor, 
which you would have to make if you set your SP to 999 every time.  I do not 
know how the game reacts to these extra points in the long run, though, so if 
you want to be safe I would suggest you return your SP to 999 when you are 
done with upgrading your skills.

Immediately following every stat are two copies of its modified value, namely 
the present modified version and the maximum modified version.  For example, 
Strength is followed by present Attack and maximum Attack.  The reason I did 
not include these values in the offset list is because you cannot change them 
directly through hacking - they are values based on the base stat (in this 
case Strength) and your equipment, and you cannot change the values of the 
equipment.  If you want to change these, either change your equipment or the 
base stat relating to them.  Either way, they aren't important to the guide, 
so I left them out.

The exception to this is HP and MP, where the present and maximum values are 
both important and can be changed independently of the base.  Because there 
are accessories that add to a character's max HP and MP, the game needs to 
keep track of what the original value was in case you take the item off.  If 
you change the max HP/MP to a value that is different from the base, it will 
revert to the base value as soon as you leave that screen, so the best method 
of changing HP/MP is to change all three values (base, max and present) to 
the number you want.  Of course, both HP and MP are maxed out for all 
characters on level 255 anyway, so if you don't want to bother with this, 
just max out your levels.

Yes, equipment does actually take up two offsets in Star Ocean!  This is 
because the game has 511 items total, instead of the usual 255 (or less) that 
most other games have.  Thus, the item values range from 00 00 (an empty 
space) to FF 01 (the Tri-Emblem).

The offsets for the skills are in the same order for every character, but no 
character ever gets all the skills.  For example, fighters cannot get Motor 
Mouth, and spell-casters cannot get combat skills.  Also, you cannot give a 
character Ougi skills that they are not supposed to have.  If you give a 
character skills they aren't allowed to get, they will not appear on the 
skill menu and will have no affect on the game.  To give a character their 
proper Ougi skills, just input a 01 in the appropriate offset (see list 
below).

SKILL OFFSET ORDER LIST:

Biology
Herb Lore
Spirit
Rock Lore
Tool Lore
Piety
Recipe
Music Lore
Faery Lore
Esthetic Sense
Good Eye
Functionality
Playfulness
Danger Sense
Radar
Effort
Will
Patience
Craft
Kitchen Knife
Instrument
Whistle
Sketching
Writing
Metalcrafting
Science
Gale
Animals
Below the Belt
Strong Blow
Flip
Counter
Feint
Mental Training
Link Combo
Motor Mouth
Raven Sword
Marvel's Weapon Skill
Jujitsu
Edarl Sword
Garyuu
Neko
Shichisei Ougi
Shiseijuu Ougi
Kouryuu Ougi
Bushin Ougi
Hakkake Ougi
Uraouka Ougi
Neko Ougi