This is a little call for feedback. In order to simplify the general usage of file lists – such as ROM lists, cheat lists, skin lists… – in terms of programming I would like to generalize directory access.
The sd2snes currently scans the entire card on startup and rebuilds an internal database if any change to relevant card contents is detected. This takes place so the file browser can always show the current state on card. Said database contains the entire directory structure and takes up quite some “ROM” space. I would like to replace this “deep scanning” by a simple “list a single directory” function which can also be used to list other kinds of files under different circumstances. This would mean that a folder will be loaded on the fly when you open it, instead of all folders being preloaded at startup.
The current state of implementation has one advantage: browsing the card is fast. There are no delays when changing directories.
The downside is that you have quite a lengthy “Loading …” screen at bootup because of the full card scan. And if something is added/removed/renamed the database rebuild can take a long time.
The advantage of proposed on-the-fly file list creation is that there is almost no loading time at startup. I could even ax the “Loading …” screen altogether. There will be no lengthy “rebuilding database …” either every time you change something on card. Files could easily be manipulated on the fly, too – some people asked for a file deletion feature – without having to rebuild the entire database. Also the database creation code is a complex mess and I want to get rid of it… 😉
The disadvantage is that there will be slight delays while browsing (as a folder is read and sorted on demand) – if a single folder contains several thousand files this can amount to a few seconds.
So um, would you mind if I changed file handling to the latter?