The size of the menu prevents me from using long filenames (the filesystem code I use handles only the short names). It also has no internal caching, reading all the data from the root outward for every single operation (although I improved the speed by adding my own cache for filesystem data). The more entries per directory, the slower it will go. The deeper the directories, the slower it will go.
I think maybe what I'll do is put a count down on the rom info, so that you have to pause a moment to see the info, otherwise it will just keep scrolling through the entries. That would make it quicker to go through long lists of files. Also remember that you can scroll a page at a time (15 entries per page) using left/right rather than up/down. Use that for long lists right now.
Yup, I'm using that, but it takes me a good 5 mins to get to the ROM I want.
Right. 10 secs to load that ROM's header... Repeat for each page.
Then I need to scroll down, in the worst case, half a page to get to the ROM I want, which takes 10 seconds*half the number of displayed ROMs.
madmonkey compiled a version of the menu for me without the header bit, so I'm going to try that later. Should be a big improvement for my setup.

(In regards to FAT32 long filename support) Yeah, I had a feeling that the menu size was getting in the way again. Oh well!