Tactics Ogre: Knight of Lodis Character Hacking Guide v.0.7
Released on June 4, 2002
by Soren Kanzaki (soren_kanzaki@yahoo.com)

-------------------
Table of Contents:
-------------------

Section 1: Overview
Section 2: Version History
Section 3: Character Memory Block Basics
Section 4: Byte by Byte
Section 5: An Example / Advanced Information
  Part A: Canopus the Commander
  Part B: Game Logic
Section 6: Character Block Address Table
Section 7: Character In-Battle Block Address Table
Section 8: Class Completion Medal Code Table
Section 9: Emblem Code Table
Section 10: Alphabetic Code Table
Section 11: Picture Code Table
Section 12: Class Code Table
Section 13: Element, Alignment, and Sex Code Tables
Section 14: Month Code Table
Section 15: Item Code Table
Section 16: Skill Code Table
Section 17: Supplement: Memory, Binary, and Hexidecimal
Section 18: Credits
Section 19: Copyright / Authorization
Section 20: Miscellaneous

--------------------
Section 1: Overview
--------------------

    By know, everyone knows you can't get all the special characters in a 
single game.  It's impossible.  Can't be done.

    Or can it?  Using modern science (or, at least, the cheating system of 
your choice), is it possible to re-create Rictor and Orson if you've gotten 
Cybil and Shiven instead?  What about making a Wizard who can use the 
Shuriken Barrage?

    If you miss the ability to customize your classes, and carry over skills 
from one class to another ... well, perhaps you can have your cake and eat it 
too.

---------------------------
Section 2: Version History
---------------------------

    0.6 (5/23/02): First draft.  Character Block Address Table only lists the 
first 10 characters (haven't tested to see where the Character Blocks end).

    0.7 (6/04/02): Added information on Biorhythm bytes, thanks to Terence 
Fergusson's Biorhythm Mechanics FAQ.  Added some of the Emblem Tracking 
bytes.  Investigations so far find a perfect match between Battle and Long-
Term data blocks. Character In-Battle Block Address Table added.  Added 
correct name for 'Compressed Binary Switches' (should be bit fields, thanks 
to Rob Coley).

-----------------------------------------
Section 3: Character Memory Block Basics
-----------------------------------------

    A disclaimer before we begin (as borrowed from my other hacking guides):

    If you use any of these cheats, I'm not responsible for any 'weird' 
things happening to your game or your save data.  You use these cheats at 
your own risk (to your game, your system, your enjoyment of Tactics Ogre: 
Knight of Lodis).  

    I made this document as a sort of educational glimpse into how the game 
was put together.  You can make the game easier.  You can make it harder.  
You can make it more fun.  You can make it a bore.  I think you get the 
point.

    Secondly, this document is much more technical in nature than other 
things I have written.  I cannot guarantee it's 100% correct.  I cannot 
guarantee you'll understand it.  Hopefully, both of those conditions will 
hold true.

    Now, with the formalities over ...

    Tactics Ogre: Knight of Lodis uses a two-tiered system to store 
information about the characters (friendly and enemy) in the game.  Enemy 
data actually only probably has one tier (the second layer), but that's 
another topic altogether.

    The first layer of character information is the 'long-term' memory block.  
This guide focuses on that block, which is 104 bytes long per character.  
Various information about the character is stored in this block.

    During battle, certain vital statistics about the participating 
combatants are kept in an area of memory.  The basic information for these 
combatants is copied before battle from the 'long-term' memory block.  
However, you can alter this block (and alterations to current HP/MP/SP are 
basically only applicable if you make alterations to this area).  At the end 
of combat, information from this block is copied back over to the 'long-term' 
block (updating the statistics and values gained during combat).  So far, it 
looks like this battle data block uses the same format as the 'long-term' 
block, so addresses have been computed for making changes during combat.  
Note that this will eventually make changes in the permanent data block (when 
the game copies the data over at the end of battle), and can be a MUCH faster 
way of making batch changes to your entire team's statistics and emblems.  
(Simply set the codes for the first friendly character deployed, and use the 
Training Mode to change that character.)

    Let's look an example.

------------------------
Section 4: Byte by Byte
------------------------

    Here's the breakdown for Alphonse's (the main character) data.  He's the 
first character stored in data; additional soldiers are stored after him.  
Yes, there are a lot of unknown sections.  Also, the Byte numbering is not 
random (you'll see why, eventually).  The address listed in (parenthesis) 
indicates the memory address for Alphonse's data.

Bytes 0-3    (2000030): Unknown
Byte 4       (2000034): Class Completion Medals, Block I (see below)
Byte 5       (2000035): Class Completion Medals, Block II (see below)
Byte 6       (2000036): Class Completion Medals, Block III (see below)
Byte 7       (2000037): Unknown
Byte 8       (2000038): Emblems, Block I (see below)
Byte 9       (2000039): Emblems, Block II (see below)
Byte 10      (200003a): Emblems, Block III (see below)
Byte 11      (200003b): Emblems, Block IV (see below)
Bytes 12-16  (200003c - 2000040): Unknown
Byte 17      (2000041): Special Holy Kills
Byte 18      (2000042): Lancer Success Toggle*
Byte 19      (2000043): Philosopher's Stone Success Toggle*
Byte 20      (2000044): Self Preservation Success Toggle*
Byte 21      (2000045): Berserk Success Toggle*
Byte 22      (2000046): Successful Persuasions (for Arbitration)
Byte 23      (2000047): Unsuccessful Female Persuasions (if male)
                          OR Successful Male Persuasions (if female)
Byte 24      (2000048): War God Success Toggle*
Byte 25      (2000049): Frontal or Side Attacks Made
Byte 26      (200004a): Successfully Dodged or Blocked Attacks in a Row
Byte 27      (200004b): Miracle Success Toggle*
Byte 28      (200004c): Successful Ranged Attacks in a Row
Byte 29      (200004d): Fist Fight Success Toggle*
Byte 30      (200004e): Successful Heals Cast in Combat
Byte 31      (200004f): Don Quixote Success Toggle*
Byte 32      (2000050): Treasures Opened
Byte 33      (2000051): Archangel's Feather Toggle*
Bytes 34-43  (2000052 - 200005b): Unknown
Byte 44      (200005c): Total Kills
Byte 45      (200005d): Dragon Kills
Byte 46      (200005e): Beast Kills
Byte 47      (200005f): Exorcisms Performed
Bytes 48-63  (2000060): Character's Name
Bytes 64-65  (2000070): Character's Current HP
Bytes 66-67  (2000072): Character's Maximum HP
Bytes 68-69  (2000074): Character's Current MP/SP
Bytes 70-71  (2000076): Character's Maximum MP/SP
Bytes 72-73  (2000078): Character's Strength
Bytes 74-75  (200007a): Character's Intelligence
Bytes 76-77  (200007c): Character's Agility
Byte 78      (200007e): Character's Picture
Byte 79      (200007f): Character's Class
Byte 80      (2000080): Alternate Character's Class (see below)
Byte 81      (2000081): Character's Number
Byte 82      (2000082): Character's Level
Byte 83      (2000083): Character's Experience
Byte 84      (2000084): Character's Element
Byte 85      (2000085): Character's Alignment
Byte 86      (2000086): Character's Birth Month
Byte 87      (2000087): Character's Birth Day
Byte 88      (2000088): Biorhythm Set 1 [Definitely Amplitude]
Byte 89      (2000089): Biorhythm Set 2 [Probably Period]
Bytes 90-91  (200008a): Biorhythm Set 3 [Probably Offset]
Byte 92      (200008c): Biorhythm Set 4 [Definitely Altitude]
Byte 93      (200008d): Character's Allegiance (see below)
Byte 94      (200008e): Character's Sex
Byte 95      (200008f): Unknown
Byte 96      (2000090): Equipped Item Slot 1
Byte 97      (2000091): Equipped Item Slot 2
Byte 98      (2000092): Equipped Item Slot 3
Byte 99      (2000093): Equipped Item Slot 4
Byte 100     (2000094): Skill Slot 1
Byte 101     (2000095): Skill Slot 2
Byte 102     (2000096): Skill Slot 3
Byte 103     (2000097): Skill Slot 4

    Okay!  That's all 104 bytes (0-103).  Now, what does all this mean?

Class Completion Medals - Whenever a character successfully transfers into a 
  new class, a medal is awarded.  If you have all 14 medals, you receive a 
  specific emblem (Relix or Ripple's Emblem).

Emblems - All emblems are stored as bit fields.  Block I refers to row 1 
  emblems, Block II to row 2 emblems, etc. etc.

Special Holy Kills - This is the number of kills that count towards the 'Gibe 
  of Fallen Angel' emblem.

Toggles with * - Theses are used to determine success or failure for the 
  conditions set for an emblem being earned.  If the value is non-zero, the 
  emblem will be awarded during the next emblem checking phase.

Character's Name - If the preceding byte doesn't have a letter, than the 
  current byte will not be displayed (i.e., names must be continuous, you 
  can't skip from one byte to another randomly).  Also, beyond a certain 
  point the character's name is overlap and obscure the class display.

Character Statistics (Current/Max HP, MP, Strength, Agility, Intelligence) - 
  the 'current' values will only work during the Organization screens.  They 
  won't carry over to battle phases.

Character's Picture - if the character has a special picture, then this byte 
  remembers which picture to use.  If this value is 0, the character will not 
  appear in the Organization screen.

Character's Class/Alternate Class - it seems that for special characters 
  (Alphonse), you can use the alternate class byte.  For regular characters, 
  the regular class byte is the only one that seems to work.  I have yet to 
  test this on other special characters.

Character's Number - the number as given in the Organization screen.

Character's Level / Experience - again, these are the Organization screen 
  values - if you fix the Character's Experience value, they could still 
  level up in combat (since during combat a different address holds the 
  temporary character data).  The Experience value ranges from 0-100 (that 
  is, it is non-cumulative).

Character's Element/Alignment - self-explanatory.

Character's Birth Month - ranges from Deus to Raio.

Character's Birth Day - the day of the month in which the character was born.

Biorhythm Sets - Thanks in large part to the mechanics provided by Terence   
  Fergusson's Biorhythm Mechanics document, I have definitely isolated the 
  Amplitude and Altitude values (sets 1 and 4, respectively).  Changing Sets 
  2 and 3 seem to alter the current Fortune without changing into another 
  group of fortunes.  I can also verify that the values given for Amplitude 
  and Altitude relating to which set of Fortunes you cycle through are 
  correct.

Character's Allegiance - I haven't tested it in combat; all I know is that a 
  value of 255 will turn the status screen background colors to the normal 
  'enemy' color scheme.  (As such, there's no section for this one.)

Character's Sex - as a side note, beyond 2, it starts reading from the City 
  Names.  (Yes, a character will then have a sex of Lutra, or Solea, or ...)  
  I'm not sure if this affects the perceived sex of the character.  With the 
  class and/or picture code, you can make 'cross-dressing' characters (male 
  sex, female sprites or female sex, male sprites).

Equipped Item / Skill Slots - self explanatory.

   To find out the address for any other character, add the byte number as 
given above to the base address given in Section 6, the Character Block 
Address Table.  (This is why the bytes start at 0 ...).  To find out what 
value to insert into the address, look it up in the appropriate section, or 
use common sense (e.g. Maximum HP).

---------------------------------------------
Section 5: An Example / Advanced Information
---------------------------------------------

   -------------------------------
    Part A: Canopus the Commander
   -------------------------------

    Everyone remembers Canopus, right?  The original Hawkman from the 
original Ogre Battle: March of the Black Queen.  Anyway ... we'll borrow him 
for this little demonstration.  Let's turn Alphonse into Canopus!

    Well, what's involved?  First, we need to transform Alphonse into a 
Normal Hawkman.  His picture, therefore, is no longer Alphonse (2) but should 
reflect his class (which we'll be changing to Hawkman).  Therefore, we need 
to change 200007e to 1.

    Now we need to turn him into a hawkman.  Hawkmen are 23, so we put that 
in the class addresses, 200007f.  (May as well put 23 in 2000080 to be sure.)

    What else could we do?  Well, let's give Canopus a few special skills.  
In his original incarnation, he could become an Eagleman (with Thunder) or a 
Ravenman (with Inferno).  Let's just say he's been practicing a bit, and can 
do both.

    To give him a 'Thunder', let's use Thunder Arrow (72), and to simulate 
'Inferno', let's use Firestorm (9).  Putting these in Slot 3 and 4, we get:
address 2000096, value 9 and address 2000097, value 72.

    You could do other additions or changes, but now 'Alphonse' is 'Canopus'.  
(Well, if you named him Canopus at the start, anyway ...)

    (Of course, the game will lock when trying to start battle dialogues, 
since it's looking for an Alphonse, and hawkmen can't use the spell 
Firestorm.  You'd be better off adding a few skills to another character, but 
this section is intended only as an example of how to alter characters.)

   --------------------
    Part B: Game Logic
   --------------------

    Some tidbits of game logic.  First of all, changing to certain classes 
during the Organization screen has a high chance of crashing the game - 
primarily, enemy classes.  My guess is that the game is not sure what to 
display.

    Secondly, remember that this only edits the 'long-term' character data.  
If things happen during battle to change this data, the game will attempt to 
over-write this data with the temporary data that is has copied in the 
temporary data block.  Granted, if you fix the values, any attempt to over-
write them will fail.  But if you, for example, fix the experience of a 
character (to prevent them from leveling up), they can still gain levels - 
you haven't fixed their level, and you haven't fixed the temporary experience 
value, either.  If that hits 100 (and the character gains a level), you'll 
find that your character has indeed gained a level.

    Known things to avoid:

    If you change a generic (Character's Picture = 1) character into certain 
specialty classes, the game will crash.  These are classes like High Priest 
and General that must be paired with a different picture than 1.  This is 
probably because there is no 'generic' class picture for these characters.  
Use the Alternate Data bytes, otherwise bad things will definitely happen, 
and set the picture to anything but 1.

    One small note.  EVEN if you fix the HP of a character, if they receive 
enough damage in one attack to kill them, the character WILL die.

-----------------------------------------
Section 6: Character Block Address Table
-----------------------------------------

    Remember, this is the beginning of each character block.  To find a 
particular address inside this block, add the byte number to the listed 
address.  As this are memory addresses, they are in hexadecimal, and all 
hexadecimal math rules apply!

2000030 - Alphonse / Character # 1
2000098 - Character # 2
2000100 - Character # 3
2000168 - Character # 4
20001d0 - Character # 5
2000138 - Character # 6
20001a0 - Character # 7
2000208 - Character # 8
2000270 - Character # 9
20002d8 - Character # 10

---------------------------------------------------
Section 7: Character In-Battle Block Address Table
---------------------------------------------------

2001420 - Friendly Character Deployed #1
2001488 - Friendly Character Deployed #2

2001770 - Enemy Character Deployed #1
20017c8 - Enemy Character Deployed #2

(Yes, I know there's only 2 and 2 ... I'll be adding more later.  I've been 
busy ^^)

---------------------------------------------
Section 8: Class Completion Medal Code Table
---------------------------------------------

    Okay, this section introduces a different type of data system called a 
bit field.  (Thanks to Rob Coley for sending in the real name!)  What this 
means is, the computer looks at these bytes not as whole bytes, but as 8 bits 
in a row.  Each bit has a function, and can be on or off.

    What does this mean in practical terms?  This means you must compute the 
value you want on the fly!  (Since you can't enter cheats in binary for the 
most part.)  As Section 11 goes into the math behind all this, I won't go 
into too much depth here.  Sufficed to say:

    To calculate the value to place in a bit field byte, look up the 'to-add' 
values given.  Let's say you want to give a character the medals for Soldier, 
Ninja, Swordmaster, and Dragoon.  We add: +1, +2, +64, +128 = 195.  
Therefore, you would put 195 into the appropriate memory address.  See how 
that works?  People who understand binary should see why these values are the 
way they are immediately.

Class Completion Medals, Block I:
+1 = Soldier
+2 = Ninja
+4 = Archer
+8 = Wizard
+16 = Cleric
+32 = Knight
+64 = Swordmaster (Male Only)
+128 = Dragoon (Male Only)

Class Completion Medals, Block II:
+1 = Valkyrie (Female Only)
+2 = Siren (Female Only)
+4 = Warlock (Male Only)
+8 = Witch (Female Only)
+16 = Priest
+32 = Dragon Tamer (Female Only)
+64 = Beast Tamer (Male Only)
+128 = Lich

Class Completion Medals, Block III:
+1 = Angel Knight
+2 = Ghost
+4 = Unknown (possibly no function/special class only)
+8 = Unknown (possibly no function/special class only)
+16 = Unknown (possibly no function/special class only)
+32 = Unknown (possibly no function/special class only)
+64 = Unknown (possibly no function/special class only)
+128 = Unknown (possibly no function/special class only)

-----------------------------
Section 9: Emblem Code Table
-----------------------------

    Everything that was true about the Class Completion Medal Codes in 
Section 7 applies here.

Emblems, Block I:
+1 = Blood Reign
+2 = Dragon's Scale
+4 = Animal Hunter
+8 = Exorcist
+16 = The Pen and the Sword
+32 = Gibe of Fallen Angel
+64 = Lancer
+128 = Philosopher's Stone

Emblems, Block II:
+1 = Self Preservation
+2 = Berserk
+4 = Arbitration
+8 = Broken Heart / Vixen's Whisper
+16 = War God
+32 = Knight's Certificate
+64 = Book of Initiation
+128 = Miracle

Emblems, Block III:
+1 = Sniper
+2 = Fist Fight
+4 = Heavenly Spirit
+8 = Don Quixote
+16 = Embodiment of Desires
+32 = Archangel's Feather
+64 = The Cycle of Life
+128 = Mark of the Elite

Emblems, Block IV:
+1 = Centurion
+2 = Charisma
+4 = Bullpen Ace
+8 = Bogus Hero
+16 = Lucky Soldier
+32 = Mark of Valor
+64 = Veteran Soldier
+128 = Relix's Emblem / Ripple's Emblem

----------------------------------
Section 10: Alphabetic Code Table
----------------------------------

0 - 25: A - Z (capital letters)
26 - 51: a - z (lowercase letters)
52 - 61: 0 - 9
62: ! (exclamation mark)
63: ? (question mark)
64: . (period)
65: , (comma)
66: : (colon)
67: & (ampersand)
68: _ (underscore)
69: % (percent sign)
70: ' (apostrophe)
71: ( (starting parenthesis)
72: ) (closing parenthesis)
73: < (less than, but narrow)
74: > (greater than, but narrow)
75: + (plus)
76: - (minus)
77: * (asterisk, multiplication)
78: / (division, slash)
79: = (equals)
80: Deneb's Cat's Paw (in the Witch Deneb's class)
81: Opening Double Quotation Marks
82: Ellipsis
83: Some graphical mark
84: Like 83, only the mirror-image
85: Small Space
86: Full Space
87: Full Space
88 - 254: Nothing (not even a space; the game skips this character)
255 - End of Word (after this, no characters will be placed into the name)

-------------------------------
Section 11: Picture Code Table
-------------------------------

    I'm not sure of some of these - I haven't had the time to get past the 
second battle in the game with everything else ...  Corrections / additions / 
input would be appreciated.

0 - None (character will not be displayed in Organization at all)
1 - Default (use the correct picture for the current class)
2 - Alphonse
3 - Eleanor
4 - Cybil
5 - Rictor
6 - Ivanna
7 - Shiven
8 - Orson
9 - special mermaid
10 - some special male character
11 - some special female character
12 - special angel knight
13 - Glycinia
14 - Lubinia
15 - some sort of demon (possibly Saya)
16 - special male
17 - Deneb
18 - older male (see what I mean about additions ...)
19 - younger knight
20 - female swordswoman (Ivanna's former instructor)
21 - female (looks like a priest or something)
22 - demonic looking beast
23 - demonic looking beast
24 - fallen angel
25 - Standard Male Soldier
26 - Standard Female Soldier
27 - Standard Male Ninja
28 - Standard Female Ninja
29 - Standard Male Archer
30 - Standard Female Archer
31 - Standard Male Wizard
32 - Standard Female Wizard
33 - Standard Male Cleric
34 - Standard Female Cleric
35 - Stan (the Bandit)
36 - Mullin (the Wizard)
37 - Enemy Female Archer
38 - Enemy Male Knight (I think ...)
39 - Enemy Male Ninja (or possibly Dark Stalker)
40 - Enemy Beast Tamer
41 - Enemy Cleric
42 - Enemy Dragoon (or possibly Predator)
43 - Cybil (in enemy colors, I think)
44 - Lich (possibly in enemy colors, it's hard to tell)
45 - Angel Knight
46 - some sort of demon (possibly Saya)
47 - Mermaid
48 - Duke Knight
49 - Standard Male Soldier
50 - Standard Female Soldier
51 - Stan (but the palette is messed up)
52 - Female Knight (but the palette is messed up)
53 - Duke Knight (but the palette is messed up)
54 - Unknown Female (blue version)
55 - Enemy Female Ninja
56 - Unknown Female (green version of 54)
57 - Elric (in enemy colors)
58 - Swordmaster
59 - Female Priest (but in yellow ...)

    Beyond that, you get garbage graphics.  Again, I can recognize less than 
half - if someone want to help me out here, I'd appreciate it.

-----------------------------
Section 12: Class Code Table
-----------------------------

0 - None
1 - Soldier, Male
2 - Soldier, Female
3 - Ninja, Male
4 - Ninja, Female
5 - Archer, Male
6 - Archer, Female
7 - Wizard, Male
8 - Wizard, Female
9 - Cleric, Male
10 - Cleric, Female
11 - Knight, Male
12 - Knight, Female
13 - Swordmaster
14 - Dragoon
15 - Valkyrie
16 - Siren
17 - Warlock
18 - Witch
19 - Priest, Male
20 - Priest, Female
21 - Dragon Tamer
22 - Beast Tamer
23 - Hawkman
24 - Mermaid
25 - Fairy
26 - Lich
27 - Angel Knight, Male
28 - Angel Knight, Female
29 - Ghost
30 - Gorgon
31 - Gremlin
32 - Daemon
33 - Duke Knight
34 - Dark Angel
35 - Dark Angel, Female
36 - Thunder Dragon
37 - Red Dragon
38 - Earth Dragon
39 - Blue Dragon
40 - Mushus
41 - Naga
42 - Vrtra
43 - Dragon Zombie
44 - Griffin
45 - Cockatrice
46 - Octopus
47 - Cerberus
48 - Giant
49 - Bandit
50 - Undead Soldier, Male
51 - Undead Soldier, Female
52 - Undead Wizard, Male
53 - Undead Wizard, Female
54 - Undead Knight, Male
55 - Undead Knight, Female
56 - Doll (dummy)
57 - Dark Stalker
58 - Hell Gigantes
59 - Predator

   Avoid 60 - 65.  I think it's reading from non-class related data, so 
you'll get odd performance.  60 - 63 just flat out cause errors; 64 - 65 may 
defer to the alternate Class byte.

66 - Sorceress (no pic, probably for Cybil)
67 - High Priest (no pic, probably for Rictor)
68 - Mermaid (no pic, probably for the special Mermaid)
69 - Summoner (has Elric's picture, oddly enough)
70 - Shaman (has Euphaire's picture, oddly enough)
71 - Angel Knight (no pic, probably for the special Angel Knight)
72 - Fairy (no pic, probably for Glycinia)
73 - Fairy (no pic, probably for Lubinia)
74 - Lesser Daemon (no pic, probably for Saya)
75 - Ench (dummy)
76 - Witch (no pic, for Deneb)
77 - General (no pic)
78 - Esquire (no pic)
79 - Swordmaster (no pic, female, special version)
80 - Venefic (no pic)
81 - Venefica (no pic)
82 - ??? (Unknown) [literally what it says.  It's for Rimmon.]
83 - Fallen Angel
84 - Sacred Demon

    While 85 supposedly gives you a male soldier (for the picture), the class 
is actually a Fire Dragon.  In other words ... don't use it.

----------------------------------------------------
Section 13: Element, Alignment, and Sex Code Tables
----------------------------------------------------

Element Codes:

0 - None
1 - Wind
2 - Fire
3 - Earth
4 - Water
5 - Virtue
6 - Bane

Alignment Codes:

0 - None
1 - Lawful
2 - Netural
3 - Chaotic

Sex Codes:
0 - None
1 - Male
2 - Female

(Beyond this, you start reading city names; Lutra, Solea, Scabellum ...)

-----------------------------
Section 14: Month Code Table
-----------------------------

0 - None
1 - Deus
2 - Tierra
3 - Agua
4 - Sombra
5 - Branca
6 - Flama
7 - Vento
8 - Ouro
9 - Trueno
10 - Trevas
11 - Oceano
12 - Preta
13 - Gemeo
14 - Fogo
15 - Raio

----------------------------
Section 15: Item Code Table
----------------------------

    The codes are identical to the codes used in the Item Hacking Guide.  
However, they are reproduced here for ease of use.

0 - Nothing
1 - Short Sword
2 - Long Sword
3 - Claymore
4 - Sum Mannus
5 - Firedrake Sword
6 - Ice Blade
7 - Fafnir
8 - Sword of Tiamat
9 - Balmung
10 - Notos
11 - Laevateinn
12 - Gram
13 - Oracion
14 - Fragarach
15 - Anbicion (fully powered version)
16 - Anbicion ('Anbicion' effect version)
17 - 'None' (Wind Snapdragon Sword)
18 - 'None' (Fire Snapdragon Sword)
19 - 'None' (Earth Snapdragon Sword)
20 - 'None' (Water Snapdragon Sword)
21 - 'None' (Virtue Snapdragon Sword)
22 - 'None' (Bane Snapdragon Sword)
23 - Matsukaze
24 - Kagari-bi
25 - Yomogi-u
26 - Yu-giri
27 - Rapier
28 - Estoc
29 - Dragon Gem Sword
30 - Inca Rose
31 - Peridot Sword
32 - Needle of Light
33 - Answerer
34 - Francisca
35 - Prox
36 - Earth Dragon Axe
37 - Frozen Axe
38 - Bloody Cleaver
39 - Boreas
40 - Halt Hammer
41 - Euros
42 - Flame Flail
43 - Sanscion
44 - Hammer of Tears
45 - Mystic Hammer
46 - Battle Fan
47 - Caldia
48 - Hyacinth Fan
49 - Gypsy Queen
50 - Scipplay's Staff
51 - Wind Wand
52 - Fire Wand
53 - Earth Wand
54 - Ice Wand
55 - Ripple's Staff
56 - Kerykeion
57 - Dowsing Rod
58 - Sugar Cane
59 - Pike
60 - Trident
61 - Zephyrus
62 - Volcaetus
63 - Earth Javelin
64 - Osric's Spear
65 - Longicolnis
66 - Brionac
67 - Leather Whip
68 - Beast Whip
69 - Holy Comet
70 - Rapture Rose
71 - Short Bow
72 - Great Bow
73 - Thunder Bow
74 - Flame Bow
75 - Sandstorm Bow
76 - Tundra Bow
77 - Crescente
78 - Sherwood Bow
79 - Bow Gun
80 - Composite Bow
81 - Tathlum
82 - Tower Shield
83 - Dragon Shield
84 - Thunder Shield
85 - Flame Shield
86 - Earth Shield
87 - Ice Shield
88 - Saint's Shield
89 - Dark Shield
90 - Chocolate Shield
91 - Hard Leather
92 - Chain Mail
93 - Thunder Chain
94 - Flame Leather
95 - Earth Leather
96 - Ice Chain
97 - Saint's Garb
98 - Cursed Garment
99 - Plate Mail
100 - Heavy Armor
101 - Peregrine Mail
102 - Phoenix Mail
103 - Nathalork Mail
104 - Leviathan Mail
105 - Rune Plate
106 - Black Armor
107 - Southern Cross
108 - Dragon Armor
109 - Grincer Coat
110 - Candy Armor
111 - Brigandine
112 - Robe
113 - Spell Robe
114 - Robe of the Wise
115 - Wind Garb
116 - Fire Garb
117 - Earth Garb
118 - Water Garb
119 - Cloak of Oath
120 - Robe of Abyss
121 - Fur Coat
122 - Pure-White Dress
123 - Cloak of Authority
124 - Leather Hat
125 - Bandanna
126 - Plumed Headband
127 - Iron Helm
128 - Goblin Helm
129 - Holy Crown
130 - Freude Helm
131 - Dragon Helm
132 - Sherwood Hat
133 - Candy Helm
134 - Pointy Hat
135 - Circlet of Wisdom
136 - Winged Shoes
137 - Warp Shoes
138 - Greasy Boots
139 - Snow Boots
140 - Forest Boots
141 - Ring of Flight
142 - Warp Ring
143 - Ring of Flotation
144 - Armlet of Wisdom
145 - Armlet of Agility
146 - Wind Ring
147 - Firedrake Ring
148 - Earth Ring
149 - Water Ring
150 - Sacred Ring
151 - Dark Ring
152 - Dragon Eyes
153 - Ring of the Dead
154 - Necklace of Resist
155 - Pearl Necklace
156 - Amulet
157 - Dragon Gem
158 - Cassowary Feather
159 - Glass Pumpkin
160 - Firecrest
161 - Sacrificial Doll
162 - Sacred Stone of Bliss
163 - Transferring Stone
164 - Seraph's Plume
165 - Healing Leaf
166 - Healing Seed
167 - Healing Salve
168 - Healing Essence
169 - Magic Leaf
170 - Magic Seed
171 - Magic Salve
172 - Magic Essence
173 - Wisdom Fruit
174 - Angel Fruit
175 - Revive Stone
176 - Antidote
177 - Spirit Fruit
178 - Orb
179 - Savage Bugle
180 - Coral Harp
181 - Snapdragon
182 - Reincarnation
183 - Sword Emblem
184 - Crown of Intellect
185 - Stone of Swiftness
186 - Tome of Discipline
187 - Urn of Chaos
188 - Mirror of the Gods
189 - Cup of Life
190 - Sorcerer's Cup
191 - Altar of Resurrection

    I'm not 100% sure how the game, therefore, handles the use of Snapdragon 
created swords.   

-----------------------------
Section 16: Skill Code Table
-----------------------------

0 - None
1 - Thunder Bird
2 - Thunder Blade
3 - Air Blade
4 - Teleport
5 - Summon Tempest
6 - Harnella's Influence
7 - Haste
8 - Salamander
9 - Firestorm
10 - Fireball
11 - Clear Sky
12 - Ray of Paralysis
13 - Zoshonel's Influence
14 - Molten Blade
15 - Gnome
16 - Acid Vapor
17 - Crag Crush
18 - Petrifying Cloud
19 - Hurdle Wall
20 - Berthe's Influence
21 - Constrain
22 - Fenrir
23 - Ice Javelin
24 - Ice Field
25 - Slumber Mist
26 - Grueza's Influence
27 - Poison Squall
28 - Purify
29 - Star Tiara (dummy)
30 - Exorcism
31 - Lightning Bow
32 - Divine Radiance
33 - Tranquilize
34 - Faith
35 - Cleanse
36 - Heal
37 - Heal Plus
38 - Full Heal
39 - Resurrection
40 - Ignis Fatuus
41 - Fiend's Grip
42 - Nightmare
43 - Pain (dummy)
44 - Brain Sap
45 - Enfeeble
46 - Cursed Existence
47 - Fluid Magic
48 - Time Flux
49 - Necromancy
50 - Thunder Breath
51 - Fire Breath
52 - Poison Breath
53 - Cold Breath
54 - Mesmerize
55 - Petrifying Breath
56 - Rotten Breath
57 - Strangling Tentacles
58 - Windstorm
59 - Titan Crush
60 - Hell's Gate
61 - Anbicion (steal souls)
62 - Anbicion (use HP, unlock power)
63 - Summon Darkness
64 - Summon Golem
65 - Energy Transfer
66 - Barren Soul
67 - Swallow's Daze
68 - Fascination
69 - Temptation
70 - Poignant Memory
71 - Banish
72 - Thunder Arrow
73 - Cheer
74 - Lullaby
75 - Fairy's Embrace
76 - Fairy's Kiss
77 - Magic Missile
78 - Magic Barrage
79 - Fairy's Embrace (dark Fairy)
80 - Fairy's Kiss (dark Fairy)
81 - Evil Eye
82 - Ice Requiem
83 - Day of Reckoning
84 - Apocalypse
85 - Cataclysm
86 - Descent (the version used by the Sacred Demon)
87 - Atropos
88 - Star Tiara (the correct version Eleanor uses in the game)
89 - Clotho
90 - Descent
91 - Lachesis
92 - Shuriken Barrage
93 - Pelting Fury

--------------------------------------------------------
Section 17: Supplement: Memory, Binary, and Hexidecimal
--------------------------------------------------------

    Okay, a few words before we begin.  Why am I including this, and why 
here?  This is a little guide to memory, binary, hexidecimal, and how and why 
hacking codes work.  People ask me a lot of questions about the basics, and I 
figure that since this guide has almost all of the different type of codes in 
one place, it is an excellent place to put it.

    This information is probably covered in a much more professional manner 
in your local mathematics textbook and computer science course.  Of course, 
since a lot of gameplayers are in high-school, they may not have a decent 
computer science department.  Not to fret.

    Let's start by talking about numbers.  Most of us are familiar with this 
subject, but let's review a little, shall we?  Numbers are made up of 
numerals (the representations of numbers, which in the English alphabet are 
written as 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9.  We could have just as well used 
different smiley faces, pictures of trees, or letters.)  While there is no 
problem when writing a number from 0 to 9, what happens when we want to write 
a 10?  Well, as you can see, we use the concept of digits.  The '1' in the 
number '10' is in the tens place.  In the number '42,375', the number 2 is in 
the thousands place, and so on.

    You of course know this, otherwise ... well, you know all this.  But what 
we really mean when we write '42,375' is:

    "I want the number whose value equals 4 X 10,000 + 2 X 1,000 + 3 x 100 + 
7 x 10 + 5 x 1."  10 is, of course, 10 to the first power; 100 is 10 to the 
second power; 1000 is 10 to the third power, and so on and so forth.

    This system of representing numbers is known as decimal.  (From the Greek 
for 10.)  But what if we don't want to use decimal?

    To a computer, decimal is far to hard and inefficient.  Computers 
understand two basic things: On (electrons flowing) and Off (electrons not 
flowing).  If On = 1 and Off = 0, we can still represent any number we like.  
This is known as binary.  So, we can write '27' in binary as 11011.  (That's 
1 x 16 + 1 x 8 + 0 x 4 + 1 x 2 + 1 x 1.)  16 is 2 to fourth power, 8 is 2 to 
the third power, etc. etc.

    Hopefully, you understand binary now.  Hexidecimal is similar, except 
instead of using 10 or 2 as a base, we use 16.  In order to represent 10, 11, 
12, 13, 14, and 15 in a single symbol, we use A, B, C, D, E, and F 
respectively.  (16 in hexidecimal is, of course, 10.)  So 100 in decimal is 6 
x 16 + 4 or 64 in hexidecimal.

    Why even bother with hexidecimal?  Ahh ... well, historically, we group 8 
binary switches into a single unit known as a byte.  (10011011, for example.)  
Therefore, a byte can store values from 255 (1111111) to 0 (00000000).  It so 
happens that 255 is equivalent to FF in hexidecimal.  See where we're going 
with this?

    A two-digit hexidecimal value, then, can represent all the values that a 
byte can.  This is why we use hexidecimal extensively in computers.

    Okay, so now we know about hexidecimal and why we use it in computers.  
Memory addresses are written in hexidecimal.  Why?  Well, a computer needs to 
be able to manipulate that address and store it.  As a number.  How does a 
computer store numbers?  (If you said in binary, you are right.)  What's the 
way we write binary numbers?  (If you said in hexidecimal, you are again 
right.)

    Now, we come to the interesting part.  How is data stored in memory?  
(Not physically, but conceptually.)  Well, we store all sorts of things in a 
game's memory.  If we want to store a number, we usually store it in a single 
byte (if it runs from 0-255), or 2 bytes (0-65535) or 4 bytes (basically 
anything bigger, up to 4,294,967,295.)  This is different if you want to 
store potentially negative values (and I won't get into it, we rarely run 
into negative numbers in game memory.)  Things like HP, EN, how many lives 
you have left, the number of shots in that rifle, etc. are usually stored in 
this manner.

    We could also store it, instead of in true hexidecimal, as though it were 
decimal (since hexidecimal includes 0-9.  I believe this is referred to as 
Binary Coded Decimal.)  This tends to waste space (you ignore the power of A-
F), but sometimes this is done in games.  Not so much nowadays, though.  So, 
if I stored 142 in 2-bytes, in the 'value' I'm really storing is 1 in the 
first of those two bytes, and the decimal value of 66 in the second.  (I omit 
a discussion of byte-ordering until another time, simply because there are 
two different ways to store a multi-byte number.  Don't worry about it for 
the present.)

   We can also store a value that corresponds to something else (like a 
pilot's background data.)  If information is kept like this, the game knows 
(it's built-in) what, say, a 12 stands for.  We have to plug in values to 
figure out what each value stands for and make long lists.  Sometimes, in 
cases like these, a 0 is empty (doesn't correspond to something, like in 
Tactics Ogre: Knight of Lodis).  Sometimes (like in Super Robot Taisen A) it 
does stand for something (Pilot 0 is Lalah Sune.)

    Finally, we can use memory in a BINARY fashion.  Remember: FF is REALLY 
11111111.  Or 8 little switches in a row than can be ON or OFF.  So if we 
want to look at things that can be on or off (like the Emblem Toggle), we can 
cram 8 of those things into one byte, instead of using 8 bytes.  The 'Enable 
Bytes' are variations on this.  Basically, a 0 stands for Off, and anything 
else is On.  (The reason for this lies within the realm of assembly language, 
and will not be covered here.  Sufficed to say, the game has a way of quickly 
checking if something is on or off, and only 0 stands for off.)  This type of 
data, known as a bit field, is very commonly used for certain on-off 
purposes.

    Well, this ends the brief supplement of Binary, Hexidecimal, and how 
memory is used in most games.  Hopefully, this answers a few questions.

--------------------
Section 18: Credits
--------------------

    There are several people without whose publicly available resources this 
document could have never been complied:

    GameFAQs (www.gamefaqs.com), for being the comprehensive game information 
site.

    Special thanks goes to Terence Fergusson for writing a very detailed 
Biorhythm Mechanics FAQ, which helped in decoding which bytes would do what.  
Otherwise, I'd probably never have figured out the exact addresses.

    Also, special thanks goes to Waverlyt and Waspinator, who provided plenty 
of information on pictures as well as doing extensive play-testing for these 
codes.  Both have given this project much more impetus than I originally 
planned ^^

--------------------------------------
Section 19: Copyright / Authorization
--------------------------------------

This document is the sole property of soren_kanzaki@yahoo.com, and copyright 
2002.  Unauthorized reproduction, either in print, electronic, or other 
format is expressly prohibited without consent of the author.  Individuals 
may download this document from the following authorized websites:

GameFAQs (www.gamefaqs.com)
www.cheats.de
www.neoseeker.com

Individuals may only use this document for personal purposes and are 
expressly prohibited from transferring or reproducing this document in any 
format without consent of the author.  This document cannot be altered and 
then redistributed without consent of the author.  This document, 
reproductions thereof, or excerpts, cannot be sold for money.

--------------------------
Section 20: Miscellaneous
--------------------------

Several sections of this guide are copied directly from my previous hacking 
guides for Super Robot Taisen A.  (Especially the supplement.)  If you really 
want to know more about how computer memory and hacking into it works, 
consult your local computer science professional, or try the local library.

Next?:
If there are certain game logic questions, I will be happy to answer them 
(and probably add an explanation in the guide.)  I am NOT, however, going to 
answer questions on how to specifically apply these codes to get specific 
results, or on how to cheat in general - there are probably plenty of guides 
written on that subject.

Both of the special play-testers and myself are looking into the exact 
mechanics of the Class Byte, Alternate Class Byte, and Picture Bytes.  
Eventually, I plan on updating this information and adding explanations to 
the Game Logic section.