Yeah, that might be something nice to do for town music. I'll put it on the To Do list if I remember. Usually I re-read this thread and fill up the To Do list when I run out of other things I want to work on. XD
I really don't know why FF1 has a different layout from the other games, if its not the language thing... I was looking at FF3's menu and thinking, "this looks cluttered and kinda bad..." I don't remember thinking that about the SNES games, but I also haven't been actively thinking about menu positions at all when I last played any of them! So my next guess... FF3 did it like that to save space (I think I saved space by changing the menu layout a bit!) And it just kinda stuck...?
Bank E is the one for the main menu and shops!https://drive.google.com/open?id=1d8XpfheXVsEln6EU5FYCRpxedbAWy68V
-- here's the last update I did to it.
The usual logic is something like:
Turn off screen, reset buttons, clear nametable, load graphics (this is usually done in the fixed bank, before swapping to Bank E for menu logic), do any data filling (putting shop items into RAM for instance), draw boxes, fill boxes with text, turn on screen... (these are usually labeled Enter-something. EnterShop, EnterMainMenu, etc.)
Then the frame things: Clear old sprites, re-draw sprites, do audio updates, and check buttons, and loop until a button is pressed. (ShopFrame, MenuFrame)
Then, when buttons are pressed: If directional buttons, move the cursor around the screen. If A, use the cursor positioning to get character data, or item data, for whatever needs doing. If B, go back to previous menu or exit.
Every little thing has its own LUT, usually. For placing boxes, for placing sprites (both character and cursor), and so on. So if you want to swap the menu positions yourself... Look for "DrawMainMenu" which then goes through DrawOrbBox, DrawMainMenuGoldBox, and DrawMainMenuOptionBox, before drawing the main character box/boxes. What you really want to change is in:
lut_MainItemBoxes (menu box positions)
lut_MainMenuSubCursor (cursor positions for choosing a character)
lut_MainMenuCursor_Y (cursor positions for choosing menu option) (and then find the X coordinate in DrawMainMenuCursor)
DrawOrbBox (position of orb tiles is here instead of using a LUT; this also handles the nametable attribute byte the orbs use, but I don't immediately understand how to change it to move them over. Just know they need to be in the same attribute box.)
DrawMainMenu (text string positions for character names, level, hp, mp)
Moving the boxes is usually enough to change the text positioning, though. Sometimes I have to do INC/DEC dest_y/dest_x before it goes to DrawMenu/Shop/ComplexString to get things more centered and nice looking.