FE 4 Menu's Explained
			---------------------
The menu's in FE4 are stored pretty weirdly, as far as I know. First
the loader code:

C7:93D2 38 			SEC 
C7:93D3 E9 81 00		SBC #$0081		; subtracting 81h
C7:93D6 0A 			ASL 			; multiply by 2
C7:93D7 AA 			TAX 
C7:93D8 BF 71 94 87	LDA $879471,X	; load base
C7:93DC 85 00		STA $00		; store it to $00
C7:93DE FA 			PLX 
C7:93DF DA 			PHX 
C7:93E0 5A 			PHY 
C7:93E1 BD 01 00		LDA $0001,X		; load second half
C7:93E4 29 FF 00		AND #$00FF
C7:93E7 38 			SEC 
C7:93E8 E9 40 00		SBC #$0040		; subtract 40h
C7:93EB 48 			PHA 
C7:93EC 29 07 00		AND #$0007		; AND 3h (LSB 3 bits)
C7:93EF 85 02		STA $02		; store to $02
C7:93F1 68 			PLA 
C7:93F2 29 F8 FF		AND #$FFF8		; AND FFF8h (MSB 13 bits)
C7:93F5 0A 			ASL 			; multiply by 2
C7:93F6 18 			CLC 
C7:93F7 65 02		ADC $02		; add with LSB 3 bits
C7:93F9 0A 			ASL 			; multiply by 2
C7:93FA 18 			CLC 
C7:93FB 65 00		ADC $00		; add with base
C7:93FD AA 			TAX 
C7:93FE AF 3A 05 00	LDA $00053A
C7:9402 18 			CLC 
C7:9403 7F 71 94 87	ADC $879471,X	; data pulled
C7:9407 97 33		STA [$33],Y		; stored to WRAM
C7:9409 98 			TYA 
C7:940A 18 			CLC 
C7:940B 65 04		ADC $04
C7:940D A8 			TAY 
C7:940E AF 3A 05 00	LDA $00053A
C7:9412 18 			CLC 
C7:9413 7F 81 94 87	ADC $879481,X
C7:9417 97 33		STA [$33],Y
C7:9419 7A 			PLY 
C7:941A FA 			PLX 
C7:941B 80 A0		BRA $93BD

Let's look at some menu data.
Each menu data follows the structure:

0005E30E 20DF 8501 0181 4082 CD82 A282 E900 00    .....@........
         ^^^^^^^	     	     ^^   ^^   ^^
	   |		            |    |    |
	   |		      	\    \    |
	   v		       	 \    \   |
    Appears to be a pointer	  \   |   |
    to the code function that	   |__|___|
    executes when the menus		|
    are selected				V
				The data that represents the menu
				characters

The algorithm goes like this:
1) Take the first byte and subtract it with 81
2) Multiple the result by 2 and save it to bptr
3) Now pull 2 bytes from [$79671 + bptr] and store it to base
4) Get next byte and subtract it from 40h and store to base2
5) Take the lower 3 bits of base2 and store it to lsb3
6) Take the higher 13 bits of base2, multiply it by 2, and add it with lsb3
7) Multiply result by 2 and save to base2
8) index = base + base2
9) The corresponding data is at [$79641 + index]

Now to find out what the menu says with the example data above,
we are only concerned about the following data:
0005E315 82 CD 82 A2 82 E9

so we apply the algorithm:

1) First byte is 82h and subtract with 81h
   result = 82h - 81h = 1h
2) bptr = result * 2 = 1h * 2
   bptr = 2h
3) DATA DUMP:
   00079670 8706 0006 0306 06FF 00FF 00FF 00FF 00FF ................
   00079680 00FF 00FF 00FF 00FF 00FF 00FF 00FF 00FF ................

   base = 2 bytes from [$79671 + bptr] = [$79671 + 2h]
   base = 0306h
4) We grab the next byte which is CDh and subtract 40h from it.
   base2 = CDh - 40h
   base2 = 8dh
5) lsb3 = lower 3 bits of base2 = base2 & 3 = 8dh & 3
   lsb3 = 1h
6) Take the higher 13-bits of base2, multiply by 2 and add on lsb3.
   result = ((base2 & FFF8h) * 2) + lsb3 = ((8dh & FFF8) * 2) + 1h =
		(88h * 2) + 1h
   result = 111h
7) base2 = result * 2 = 111h * 2
   base2 = 222h
8) index = base + base2 = 0306h + 222h
   index = 528h
9) data is at [$79671 + index] = [$79671 + 528h] =
   $79B99

   DUMP:
   00079B90 0032 0033 0033 0024 0025 0026 0027 0028 .2.3.3.$.%.&.'.(
   00079BA0 0029 006F 0074 0034 0035 0036 0037 0038 .).o.t.4.5.6.7.8

   so we get 25h as the first menu code.

We repeat the process with the next few bytes.

1) result = 82h - 81h = 1h
2) bptr = result * 2 = 2h
3) base = 2 bytes from [$79671 + bptr] = 0306h
4) base2 = next byte - 40h = A2h - 40h = 62h
5) lsb3 = base2 & 3 = 2h
6) result = ((base2 & FFF8h) * 2) + lsb3 = C2h
7) base2 = result * 2 = 184h
8) index = base + base2 = 484h
9) data at [$79671 + 48Ah] = [$79AFB]

   DUMP:
   00079AF0 00FF 00FF 00F3 0000 00FF 0001 00FF 0002 ................
   00079B00 00FF 0003 00FF 0010 00F3 0011 00F4 0012 ................

   so next byte is 01h.

1) result = 82h - 81h = 1h
2) bptr = result * 2 = 2h
3) base = 2 bytes from [$79671 + bptr] = 0306h
4) base2 = next byte - 40h = E9h - 40h = A9h
5) lsb3 = base2 & 3 = 1h
6) result = ((base2 & FFF8h) * 2) + lsb3 = 151h
7) base2 = result * 2 = 2A2h
8) index = base + base2 = 5A8h
9) data at [$79671 + 5A8h] = [$79C19]

   DUMP:
   00079C10 00FB 0055 0056 0047 0048 0049 004A 00FF ...U.V.G.H.I.J..
   00079C20 004B 00FF 00FF 0057 0058 0059 005A 00FF .K.....W.X.Y.Z..

   so next byte is 48h.

Finally, we've gotten 25h 01h 48h.
Now the values can be determine by a kana table, where ¡Ö¤¢¡× is at location 00. So it should say ¤Ï¤¤¤ë. Keep in mind that a character in the menus take up 2 bytes. One byte represents the top half of the character, the other represents the bottom half. Basically, 00 is the top half of ¡Ö¤¢¡×and 10 is the bottom half.