I agree about the order of the commands.
( If I'm ever Feeling really ambitious one day I might try creating a sub-menu that is accessed by pressing right and put the Run command there so it's out of the way completely. Might even be nice to add in a Defend command to replace it, too. )
There are a few bugs with some of the other spells that are probably worth fixing.
Aura & Barrier - both these spells grant effects based on how many successes each casting achieves on a target. These successes are cumulative with multiple castings, but the effect granted is based on total success and thus do not stack. Aura grants the target's main weapon damage bonus against enemy types and Barrier grants protection from elemental types. Both enemy and elemental type exists in the game data as a single byte of data each so there are a total of 8 of each. However both spells cap the number of successes checked for at 7 instead of 8. So the Aura spell never grants bonus vs. Undead and Barrier never grants protection from Ice.
Wall - has a flaw akin to the Vanish/Doom bug in FF6. Besides that it is also functionally useless until you get it up to level 4. Let me explain...
Taken from guides.gamercourner.net:
When a spell fails due to wall, the animation always displays. In the case of monsters, this means that the four black magic instant death spells - Toad, Break, Death, and Warp - will remove the monster from combat even though they technically "fail." As a result, if you can successfully cast even a level 1 Wall on an enemy, and follow it up with a level 1 KO spell, that enemy will immediately die. And because it's a support spell with 50 accuracy, it's not difficult to hit your enemies with Wall.
That's a pretty serious problem right there.
But besides that there is also the other issue that is purely due to how the game was set up and balanced.
No enemy in the game casts black magic below level 4. That means that Wall level 1-3 are effectively useless.
This might require a broader solution than a simple bug fix.
Oh, and there is one other issue.
Wall does not differentiate between detrimental and beneficial black magic spells. (Berserk, Haste, & Aura.)
Osmose - it works on monsters that don't even have MP in the first place.
Toad & Stone - they are not bugged in and of themselves, but the way the two spells are set up practically makes Stone pointless.
The only difference between the two when cast on monsters is that Toad has better accuracy.
The status effect is irrelevant since statii are not resisted directly like in later games and they both OK enemies.
It's possible that they were supposed to be like Stun & Stop where one is body element and the other is matter element.
Similarly Death is rendered useless even though it is a different element because every monster that resists matter also resists death making it even less effective with no benefits at all.
This is more an issue of bad balance.
Life - has 2 bugs although one is arguable.
First, when used in battle on the whole party it always fails to target dead characters.
When used outside of battle on a single target it always acts as if it was 1 level lower.
And it does work on the whole party outside of battle, but the amount of HP it restores is reduced by 1/2.
This may be what it was supposed to do in battle, too.
Basuna & Esuna - they can fail. That is stupid and later games stopped doing that for a reason.
Basuna also has a wierd effect distribution curing 2 statii with one success, venom & sleep.
It doesn't gain any new effects after 5 successes so leveling it up passed 5 would be pointless except that it can fail to work at all.
Esuna has it's own quirks too.
Outside of battle if cast on a single party member it gets an extra success for free, but not when targeting the whole party.
This could confuse people a bit when a single target get's poison and darkness cured but the whole party only gets darkness cured.
Bersek, Haste, Aura, Barrier, Blink, Protect, Shell, & Wall - like Basuna & Esuna can all fail completely. That is still stupid.
Protect - only works on the caster.
Dispel - does literally nothing.
Mini & Teleprot - has basically the same issue as Toad & Stone.
In battle Mini is better just because the only difference is higher accuracy.
Balance issues again.
Ultima - I think everyone is familiar with this one, what's wrong with it, and what it's supposed to do according to the later games.
I think that's everything I've found out from the sources I have available. Hope this helps out some.
Also, great job on the spell lists! It shouldn't be terribly hard to reposition the pointer, but will probably have to rewrite the code a little. The biggest pain is finding the correct code to begin with, I think.
And here is a bug list from Gamecorner:
The Bug List
Like its predecessor, Final Fantasy II has more than its fair share of bugs. At least this time most of the core combat mechanics work!
Party Magic Target Bug: The game generally denotes "target everyone" internally with the number 8. Apparently this number gets used when determining who gains magic defense progress, because instead of any character getting it, Firion's white magic counter (8 bytes away) is increased. As a result, all-party attack spells can lead to Firion's spirit increasing.
Target-Cancel Exploit: Both weapons and magic can be advanced easily by confirming the target of an action, then immediately cancelling and doing it again. It's boring and unnecessary, and you can't do it to your last party member, but it is one way to cheese past the tougher parts of this hard game.
No Weapon Memory: Not so much a bug as a coding shortcut, the game doesn't know or care exactly what weapons you attack with during a fight. All advancement is simply given to the weapons you have equipped at the end of combat.
Healing Item Target Bug: Items and monsters in FF2 don't actually use the spell system directly, but rather use a table of special abilities which includes the spell and certain specifics, such as target. All consumable items were given a target of "self." Unfortunately, that makes the Phoenix Down, Gold Needle, and maiden's kiss items pointless in combat, since no one with the status ailments they cure can actually use items!
Sap Bug: Sap is an interesting MP-damaging spell that reduces the target's MP to a fraction of its current amount. Unfortunately, whatever clever routine they came up with to calculate this fraction apparently only works on bytes and not full words. As a result, MP totals over 256 are hardly affected by Sap. Which is too bad, since that includes most late-game Spellcaster!
Stat Boost Bug: Some parts of the game imply that multiple armor stat boosts to the same stat should be cumulative, but they aren't. This does make armor choices a bit more interesting, though, so I'm fine with it.
Healing Staff Bug: The Healing Staff does a whole lot of damage to Undead, making it one of the best weapons in the game against them. However, it still heals them just like anyone else in addition to the damage.
Ripper Bug: The Ripper's damage totals display as 20 higher per hit. Which would make it a really awesome weapon ability, if that damage was actually inflicted! Of course, this may be some sort of mean joke by the programmers rather than a bug, for all I know.
Middle Character Target Bug: For some reason, the middle two characters tend to be attacked a lot more often than the other two character slots. And if you put one of them (perhaps Maria) in the back slot, Guy will take as many hits as everyone else combined. Which makes him a pretty good choice for tank, actually.
Dual-Wield Bug: Even though the game animates an attack with your second weapon, you actually still only attack with the first weapon. Not that dual-wielding is useless - it's a good way to level up another weapon at the cost of defense instead of offense. This may even have been intentional, but it's quite counter intuitive.