I love Magic Swordskills in video games and especially in Final Fantasy. With a routine which took me... a minute to cook up, I changed Blast's small routine(could probably even go somewhere smaller) to make this, it's a very simple routine which loads a Weapon Swing before the spell effect to simulate a Magic Sword.
$03/DCF0 A9 C0 LDA #$C0 A:0003 X:0046 Y:FFFF P:envMxdizc - Load Weapon Swing into A.
$03/DCF2 8D C4 33 STA $33C4 [$7E:33C4] A:00C0 X:0046 Y:FFFF P:eNvMxdizc - Store A in Audio/visual commands.
$03/DCF5 4C 88 D3 JMP $D388 [$03:D388] A:00C0 X:0046 Y:FFFF P:eNvMxdizc - Jump to Magic Routine.
Now maybe we can turn Cecil into a Paladin that Agrias would be proud of!
When you come down to it, there's a good amount of magic sets available. There is of course, Unused Kain and though possibly controversial, changing Porom's spellset and linking it to Rosa's for cost saving purposes could be done, and then there's FuSoYa's Complete Spell Sets. Hey game, do you know who already Has a nearly complete spell set for Black and White? That's right! Tellah! So use his spell sets for FuSoYa's and you can add in the missing spells through FuSoYa's entrance event.
That gives four extra spell-sets to play around with. Maybe not an ideal number, but it is better than none.
Now in larger news I am very close to figuring out what constitutes a menu opening!
Fight Command Access
$02/B9C1 C9 18 CMP #$18 A:0000 X:0000 Y:0006 P:eNvMxdIzc - Is it Ninja?
$02/B9C3 F0 64 BEQ $64 [$BA29] A:0000 X:0000 Y:0006 P:eNvMxdIzc - If so branch to Black Magic Menu.
$02/B9C5 C9 05 CMP #$05 A:0000 X:0000 Y:0006 P:eNvMxdIzc - Is it Dark Wave?
$02/B9C7 90 03 BCC $03 [$B9CC] A:0000 X:0000 Y:0006 P:eNvMxdIzc - If greater than Dark Wave use secondary Access Routine.
$02/B9CC 0A ASL A A:0000 X:0000 Y:0006 P:eNvMxdIzc - x2 A (to reach the proper address.)
$02/B9CD AA TAX A:0000 X:0000 Y:0006 P:envMxdIZc - Transfer A to X.
$02/B9CE BF E6 B9 02 LDA $02B9E6,x[$02:B9E6] A:0000 X:0000 Y:0006 P:envMxdIZc - Load Pointer from 02B9E6.
$02/B9D2 85 0E STA $0E [$00:000E] A:00F2 X:0000 Y:0006 P:eNvMxdIzc - Store A in 0E.
$02/B9D4 BF E7 B9 02 LDA $02B9E7,x[$02:B9E7] A:00F2 X:0000 Y:0006 P:eNvMxdIzczc - Load A from 02B9E7.
$02/B9D8 85 0F STA $0F [$00:000F] A:00B9 X:0000 Y:0006 P:eNvMxdIzc - Store A in 0F.
$02/B9DA 6C 0E 00 JMP ($000E)[$02:B9F2] A:00B9 X:0000 Y:0006 P:eNvMxdIzc - Jump to Fight Access Routine.
White Magic Command Access
$02/B9C5 C9 05 CMP #$05 A:0002 X:0004 Y:0000 P:eNvMxdIzc - Is it Dark Wave?
$02/B9C7 90 03 BCC $03 [$B9CC] A:0002 X:0004 Y:0000 P:eNvMxdIzc - If greater than Dark Wave, branch to
$02/B9CC 0A ASL A A:0002 X:0004 Y:0000 P:eNvMxdIzc - x2 A.
$02/B9CD AA TAX A:0004 X:0004 Y:0000 P:envMxdIzc - Transfer A to X
$02/B9CE BF E6 B9 02 LDA $02B9E6,x[$02:B9EA] A:0004 X:0004 Y:0000 P:envMxdIzc - Load A from 02B9E6+X.
$02/B9D2 85 0E STA $0E [$00:000E] A:001C X:0004 Y:0000 P:envMxdIzc - Store A in 0E
$02/B9D4 BF E7 B9 02 LDA $02B9E7,x[$02:B9EB] A:001C X:0004 Y:0000 P:envMxdIzc - Load A from 02B9E7+X
$02/B9D8 85 0F STA $0F [$00:000F] A:00BA X:0004 Y:0000 P:eNvMxdIzc - Store A in 0F.
$02/B9DA 6C 0E 00 JMP ($000E)[$02:BA1C] A:00BA X:0004 Y:0000 P:eNvMxdIzc - Jump to White Magic Access routine.
This is going to lead to an entirely new area to explore! Though for now I have confirmed that it works in a simple manner.
0000 - Fight
0001(turns to 2) - Item
0002(turns to 4) - White Magic
0003(turns to 6) - Black Magic
0004(turns to 8) - Summon Magic
The trick to All of this is what lays at 02B9E6...
And lo and behold, it is pointers to addresses!
F2 B9 - Fight
05 BA - Item
1C BA - White
29 BA - Black
36 BA - Summon
43 BA - ?? (Fight again?)
Fight Access Call
$02/B9F2 A9 80 LDA #$80 A:00B9 X:0000 Y:0004 P:eNvMxdIzc - Load 80 into A.
$02/B9F4 85 D8 STA $D8 [$00:00D8] A:0080 X:0000 Y:0004 P:eNvMxdIzc - Store A in D8.
$02/B9F6 A5 60 LDA $60 [$00:0060] A:0080 X:0000 Y:0004 P:eNvMxdIzc - Load A from 60.
$02/B9F8 85 D9 STA $D9 [$00:00D9] A:0000 X:0000 Y:0004 P:envMxdIZc - Store A in D9.
$02/B9FA A9 01 LDA #$01 A:0000 X:0000 Y:0004 P:envMxdIZc - Load 01 into A.
$02/B9FC 8D 91 EF STA $EF91 [$7E:EF91] A:0001 X:0000 Y:0004 P:envMxdIzc - Store A in 7EEF91.
$02/B9FF A9 04 LDA #$04 A:0001 X:0000 Y:0004 P:envMxdIzc - Load 04 into A.
$02/BA01 8D 23 18 STA $1823 [$7E:1823] A:0004 X:0000 Y:0004 P:envMxdIzc - Load this into Targeting matters.
$02/BA04 60 RTS A:0004 X:0000 Y:0004 P:envMxdIzc - Return.
Item Access Call
$02/BA05 9C 9A EF STZ $EF9A [$7E:EF9A] A:00BA X:0002 Y:0000 P:eNvMxdIzc - Store Zer in 7EEF9A.
$02/BA08 A9 05 LDA #$05 A:00BA X:0002 Y:0000 P:eNvMxdIzc - Load 05 into A.
$02/BA0A 8D 23 18 STA $1823 [$7E:1823] A:0005 X:0002 Y:0000 P:envMxdIzc - Load this into Targeting matters.
$02/BA0D 9C 94 EF STZ $EF94 [$7E:EF94] A:0005 X:0002 Y:0000 P:envMxdIzc - Store Zero into 7EEF94.
$02/BA10 9C 97 EF STZ $EF97 [$7E:EF97] A:0005 X:0002 Y:0000 P:envMxdIzc - Store Zero into 7EEF97.
$02/BA13 9C 98 EF STZ $EF98 [$7E:EF98] A:0005 X:0002 Y:0000 P:envMxdIzc - Store Zero into 7EEF98
$02/BA16 9C 99 EF STZ $EF99 [$7E:EF99] A:0005 X:0002 Y:0000 P:envMxdIzc (as above_
$02/BA19 4C E2 AA JMP $AAE2 [$02:AAE2] A:0005 X:0002 Y:0000 P:envMxdIzc - Jump to 02AAE2.
White Magic Access Call
$02/BA1C A9 00 LDA #$00 A:00BA X:0004 Y:0000 P:eNvMxdIzc - - Load 00 into A (Spell Menu Position)
$02/BA1E 8D 93 EF STA $EF93 [$7E:EF93] A:0000 X:0004 Y:0000 P:envMxdIZc - Store A in 7EEF93.
$02/BA21 A9 09 LDA #$09 A:0000 X:0004 Y:0000 P:envMxdIZc - Load 09 into A
$02/BA23 8D 23 18 STA $1823 [$7E:1823] A:0009 X:0004 Y:0000 P:envMxdIzc - Store A in Targeting Matters.
$02/BA26 4C 57 AB JMP $AB57 [$02:AB57] A:0009 X:0004 Y:0000 P:envMxdIzc - Jump to 02AB57.
Black Magic Access Call
$02/BA29 A9 60 LDA #$60 A:00BA X:0006 Y:0000 P:eNvMxdIzc - Load 60 into A (Spell Menu Position)
$02/BA2B 8D 93 EF STA $EF93 [$7E:EF93] A:0060 X:0006 Y:0000 P:envMxdIzc - Store A in 7EEF93.
$02/BA2E A9 09 LDA #$09 A:0060 X:0006 Y:0000 P:envMxdIzc - Load 09 into A.
$02/BA30 8D 23 18 STA $1823 [$7E:1823] A:0009 X:0006 Y:0000 P:envMxdIzc - Store A in Targeting Matters.
$02/BA33 4C 77 AB JMP $AB77 [$02:AB77] A:0009 X:0006 Y:0000 P:envMxdIzc - Jump to 02AB77.
Summon Magic Access Call
$02/BA36 A9 C0 LDA #$C0 A:00BA X:0008 Y:0000 P:eNvMxdIzc - Load C0 into A (Spell Menu Position)
$02/BA38 8D 93 EF STA $EF93 [$7E:EF93] A:00C0 X:0008 Y:0000 P:eNvMxdIzc - Store A in 7EEF93.
$02/BA3B A9 09 LDA #$09 A:00C0 X:0008 Y:0000 P:eNvMxdIzc - Load 09 into A.
$02/BA3D 8D 23 18 STA $1823 [$7E:1823] A:0009 X:0008 Y:0000 P:envMxdIzc - Store A in Targeting Matters.
$02/BA40 4C 98 AB JMP $AB98 [$02:AB98] A:0009 X:0008 Y:0000 P:envMxdIzc - Jump to 02AB98.
Most Other Commands Access Call
$02/BA43 A9 80 LDA #$80 A:00BA X:000A Y:0004 P:eNvMxdIzc - Load 80 into A.
$02/BA45 85 D8 STA $D8 [$00:00D8] A:0080 X:000A Y:0004 P:eNvMxdIzc - Store A in D8.
$02/BA47 A5 60 LDA $60 [$00:0060] A:0080 X:000A Y:0004 P:eNvMxdIzc - Load 60 into A.
$02/BA49 85 D9 STA $D9 [$00:00D9] A:0000 X:000A Y:0004 P:envMxdIZc - Store A in D9.
$02/BA4B A9 01 LDA #$01 A:0000 X:000A Y:0004 P:envMxdIZc - Load 01 into A.
$02/BA4D 8D 91 EF STA $EF91 [$7E:EF91] A:0001 X:000A Y:0004 P:envMxdIzc - Store A 7EEF91.
$02/BA50 A9 07 LDA #$07 A:0001 X:000A Y:0004 P:envMxdIzc - Load 07 into A.
$02/BA52 8D 23 18 STA $1823 [$7E:1823] A:0007 X:000A Y:0004 P:envMxdIzc - Load A into Targeting Matters.
$02/BA55 60 RTS A:0007 X:000A Y:0004 P:envMxdIzc - Return.
Now Ninja is handled a little differently. Ninja is looked at...
$02/B9C1 C9 18 CMP #$18 A:0000 X:0000 Y:0006 P:eNvMxdIzc -
$02/B9C3 F0 64 BEQ $64 [$BA29] A:0000 X:0000 Y:0006 P:eNvMxdIzc - Here.
And as we know from above that links Directly to Black Magic. Right before this is a CMP 16 which must look at the Dart Menu.
Now interestingly enough though there is a Special unique formula for Dark Wave... but its never used. The only difference in this data is a 07 instead of a 04. Now modifying this, it seems to be targeting in someway...
00 - Cursor vanishes
01 - Cursor stays on Command
02 - Seems to force the cursor left onto the Parry Command, causing the Parry Command to be shown throughout the fight.
03 - Same as above, except with Change.
04 - Normal Targeting
05 - Targeting as if from Item Menu (with normal command menu still showing, causes graphical anomalies)
06 - Freeze
07 - Normal Targeting as far as I can tell.
08 - Auto-Attack on Self
09 - Magic Menu Targeting
0A - Forces open the Black Magic Menu over the Commands and HP of characters, with the selections still being the commands.
I will fill in the data above tomorrow. It is very late where I am and this information was discovered last minute and I just couldn't leave it hanging, hehe.

Bah, I need sleep...
Dark Wave Access
(Same as Above)
$02/B9C5 C9 05 CMP #$05 A:0005 X:0004 Y:0004 P:eNvMxdIzc
$02/B9C7 90 03 BCC $03 [$B9CC] A:0005 X:0004 Y:0004 P:envMxdIZC
$02/B9C9 4C 43 BA JMP $BA43 [$02:BA43] A:0005 X:0004 Y:0004 P:envMxdIZC
---------------------------------------------------------------------------------------------------
$02/BA43 A9 80 LDA #$80 A:0005 X:0004 Y:0004 P:envMxdIZC
$02/BA45 85 D8 STA $D8 [$00:00D8] A:0080 X:0004 Y:0004 P:eNvMxdIzC
$02/BA47 A5 60 LDA $60 [$00:0060] A:0080 X:0004 Y:0004 P:eNvMxdIzC
$02/BA49 85 D9 STA $D9 [$00:00D9] A:0001 X:0004 Y:0004 P:envMxdIzC
$02/BA4B A9 01 LDA #$01 A:0001 X:0004 Y:0004 P:envMxdIzC
$02/BA4D 8D 91 EF STA $EF91 [$7E:EF91] A:0001 X:0004 Y:0004 P:envMxdIzC
$02/BA50 A9 07 LDA #$07 A:0001 X:0004 Y:0004 P:envMxdIzC
$02/BA52 8D 23 18 STA $1823 [$7E:1823] A:0007 X:0004 Y:0004 P:envMxdIzC
$02/BA55 60 RTS A:0007 X:0004 Y:0004 P:envMxdIzC
Wait! This is the same exact thing as 05? Why doesn't it just go down the normal line then?! Bah...
Dart Command Access
(Same as Item Above)
$02/B9DE A9 08 LDA #$08 A:0016 X:0008 Y:0004 P:envMxdIZC -
$02/B9E0 8D 9A EF STA $EF9A [$7E:EF9A] A:0008 X:0008 Y:0004 P:envMxdIzC
$02/B9E3 4C 08 BA JMP $BA08 [$02:BA08] A:0008 X:0008 Y:0004 P:envMxdIzC
-----------------------------------------------------------------------------------------------
$02/BA08 A9 05 LDA #$05 A:0008 X:0008 Y:0004 P:envMxdIzC
$02/BA0A 8D 23 18 STA $1823 [$7E:1823] A:0005 X:0008 Y:0004 P:envMxdIzC
$02/BA0D 9C 94 EF STZ $EF94 [$7E:EF94] A:0005 X:0008 Y:0004 P:envMxdIzC
$02/BA10 9C 97 EF STZ $EF97 [$7E:EF97] A:0005 X:0008 Y:0004 P:envMxdIzC
$02/BA13 9C 98 EF STZ $EF98 [$7E:EF98] A:0005 X:0008 Y:0004 P:envMxdIzC
$02/BA16 9C 99 EF STZ $EF99 [$7E:EF99] A:0005 X:0008 Y:0004 P:envMxdIzC
$02/BA19 4C E2 AA JMP $AAE2 [$02:AAE2] A:0005 X:0008 Y:0004 P:envMxdIzC
Same as Item Access, I guess that was to be expected. That felt like a waste of 10 minutes editing that I could have used on sleep, hehe.