Tenchi Muyo RPG Save State Hacking Guide
Usable with the ZSNES emulator (.zst style save states)
Written by Thundergod ([email protected])

Version 1.0: First draft, all character information.
Version 1.1: Changed the layout slightly, for easier reading, and added a
special note.
Version 1.2: Added an explanation of offsets.
Version 1.3: Minor corrections made, and a few new offsets added.
Version 1.4: More minor changes, and more offsets.

Unpublished work Copyright 2000 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 <[email protected]>. 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 ([email protected]) for the form of the following paragraph,
and for the section on hexadecimal.
Kao Megura ([email protected]) for the copyright statement.
Paul ([email protected]) for the experience offsets.
Fallen One ([email protected]) for the movement offsets.
MiraiOtaku ([email protected]) for the download link.

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 Tenchi Muyo RPG .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.

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

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 Tenchi Muyo RPG 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 the Hex Workshop program, 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, Tenchi Muyo RPG.)  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:
tmrpg.zst)  Use the "go to" command, which should be under Edit, to got to
the offset you are looking for.  For example, if the offset is 90B4, type
90B4 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 24041 is the offset for speed, and you want speed
to be at max (255, FF in hexadecimal).  Use "go to" to go to offset 24041,
and then type in FF.  Next, save the data, and open the emulator again.  Load
the state, and voila! the character's speed 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 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, somewhere on
the screen (bottom right corner I think) a small box will say what offset you
are currently on (ex. Offset: 2041A).

Now for the entering of values.  Let's say you want to change Tenchi's attack
to 99 (which is the max).  To do that, go to the offset that changes attack
(I forget the number) and type in two number (or letters from A to F)  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 offset changes are much harder, 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 at the beginning of the guide.  For example, input E703 to get
999 and 0F27 to get 9999.  Thus, if the two offsets for exp are 2041C and
2041D, type in 0F at offset 2041C and 27 at offset 2041D.  Keep in mind that
the first offset controls the lower numbers (up to 255) so if you change that
by one you will change the number by one.  However, the second offset
controls the larger numbers, so a change of one might change the number by
100 or more.  If you want, say, 9995 exp, lower the first offset from 0F to
0C, which is four numbers lower.

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

Those new to hex and hex editors can read the following:
 - Typical hex editors display a file with "offsets" on the left of the
screen, "hex values" in the middle, and the "printed garbage" on the right
of the screen.
 - Offsets are the addresses. It may appear like this: 00000000
 - Hex values are the values. They may appear like this: E6 03 20 20 FF
 - The printed garbage is there only so humans can look at it. It's not
very pretty; it won't help you in most cases; don't worry about it.
 - This guide will represent the offsets in this format: #B9
 - The last number (0-9, A-F) in an offset is the COLUMN you need to go
to. So for the offset of #B9, go to the line "000000B0" and the 9th column
to the right.

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

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

HEX VALUE       DECIMAL VALUE           USES
-----------------------------------------------------------------------
"63"            for "99"        used for levels, item quantities
"FF"            for "255"       used for statistics
"E7 03"         for "999"       used for HP, Max HP, statistics
"0F 27"         for "9999"      used for HP, Max HP
"FF FF"         for "65535"     used for HP, Max HP
"7F 96 98"      for "9,999,999" used for money or 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 tmrpg.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)

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

CHARACTER MODIFIER OFFSETS:

These are the data for the four characters presently in battle, starting with
the first character at the top and the fourth at the bottom.

First Position:

Movement Rate: 10C29
Number of kills to gain a level: 10C50
Present HP: 10C53
Maximum HP: 10C54
Kiai: 10C55
Present Attack: 10C58
Maximum Attack: 10C59
Present Defense: 10C5B
Maximum Defense: 10C5C

Second Position:

Movement Rate: 10C79
Number of kills to gain a level: 10CA0
Present HP: 10CA3
Maximum HP: 10CA4
Kiai: 10CA5
Present Attack: 10CA8
Maximum Attack: 10CA9
Present Defense: 10CAB
Maximum Defense: 10CAC

Third Position:

Movement Rate: 10CC9
Number of kills to gain a level: 10CF0
Present HP: 10CF3
Maximum HP: 10CF4
Kiai: 10CF5
Present Attack: 10CF8
Maximum Attack: 10CF9
Present Defense: 10CFB
Maximum Defense: 10CFC

Fourth Position:

Movement Rate: 10D19
Number of kills to gain a level: 10D40
Present HP: 10D43
Maximum HP: 10D44
Kiai: 10D45
Present Attack: 10D48
Maximum Attack: 10D49
Present Defense: 10D4B
Maximum Defense: 10D4C

Notes:

All of the values are permanent except for kiai (which is reset at the start
of every battle) and HP (which is reset every time you gain a level).

Do not use the 'Morph' ability if you plan on changing your character's
stats.  A character's morphed form has it's own stats which will be lower
than your hacked stats.  Stats will return to normal when you revert from
morphed form.

Kiai (the green dots at you spend for special attacks and morphing) has an
in-game maximum of 8.  This means that once your kiai reaches 8, it will not
grow any higher.  However, you can change a character's kiai value to higher
than 8 (ex: 99, hex 63) and still have the game work fine.  For an easy
fight, set your characters' kiai to 99 or some high value, and you'll have
enough kiai to last most battles.  However, do not set it to 255 (FF hex)!
If you do, it will crash the game when you try to load it!  99 should be
safe, though, but if you really want to be safe set it to 8 (the normal
maximum), or don't change it at all.

The maximum value for HP is 255 (hex FF), and the maximum for other stats is
99 (hex 63).

If you set present attack (or defense) to a value lower than maximum stat, by
the next battle the present stat will be raised (or lowered, conceivably) to
equal the maximum stat.