just thought I'd add my vote to lightgun supports, but I'm not holding my breath

one other thing , not sure if anyone suggested anything like it
lazy preview name matching
that would be when zsnexbox is looking for the art work for , example "Addams Family_ The (U).smc"
it looks in "/E/ZsnexBox/artwork/Shots */" for "Addams Family,_ The (U).png" if that file doesn't exist then you get no preview, this would be strict matching
but the following files could exist
Addams Family The (U).png
Addams Family, The (U).png <== well not sure about that one "," ?
Addams Family_ The.png
AddamsFamilyTheU.png
AddamsFamilyThe.png
AddamsFamilyThe(U).png
and so on
what I suggest by lazy matching would be that for the file "Addams Family_ The (U).smc" zsnexbox could try the following algorythms on the file name
for every combinations of characters in the strippable characters list try to match
the strippable character list would probably be something user defined with a preset looking like " ",",","_","-","&","'","(",")","[","]","~" , this could be very long, just this list will yield 2048 , but it's ok because the alternative is no preview at all
also if you do find a match you should cache it on disk that way you only have to do this once per file ever
here's another way to do it (could be complementary)
you could also strip all strippable characters + extension from the filename except spaces
"Addams Family_ The (U).smc" => "Addams Family The U"
you can try to match each full word to all the files in the "shots *" folder and files with the most matches over a certain minimum number of matches is the right one to display
you can also take each word and further chop it in 3 or 4 characters groups , then match each group to every files in the "shots *" folders
example
"Addams Family The U"
becomes
add
dda
dam
ams
fam
ami
mil
ily
the
(drop any word less than 3 characters)
now match every group to every file
(you could also strip anything inside "()" and "[]" )
3 Ninjas Kick Back (U).png nin inj nja jas kic ick bac ack ==> 0 match, 0% matching
Addams Family, The (U).png add dda dam ams fam ami mil ily the ==> 9 match, 100% matching
AddamsFamilyThe(U).png add dda dam ams msf sfa fam ami mil ily lyt yth the heu ==> 9 match, 64% matching
AddamsFamilyThe-Pugsley'sScavengerH(E).png add dda dam ams msf sfa fam ami mil ily lyt yth the hep epu pug ugs gsl sle ley eys yss ssc sca cav ave ven eng nge ger erh rhe ==> 9 matchm 27% matching
AlfredChicken(E)(4285).png alf lfr red edc dch chi hic ick cke ken ==> 0 match
SuperFamilyCircuit(J).png sup upe per erf fam mil ily ==> 3 match, 42% matching
you could drop any file that matches 3 or less or 2 or less (could be user configurable)
the only important thing is that this matching process can be interrupted by press up/down on the controller , that way you can still scroll and not have to wait for the full algorythm to finish before it actually scrolls
I just thought of that algo on the spot , I'm sure it could improved greatly with some more thinking about it
I just wanted to put the idea out of lazy matching because there are so many box art sets and even ways to name the roms
for example you recommend the packs from xbox.nugnugnug.com but they name their files like this ActRaiser(U).png (spaces and underscores stripped probably other characters) the only way to get zsnexbox to match those is to strip the spaces from the rom files but that makes them less readable also the high res pack from the same site (although incomplete) uses full names so you end up having to choose which set you want to use because you can't name your files both with and without spaces (too bad microsoft didn't use linux for the xbox , we could just make space stripped links to the files and be done with it ! oh well)
well anyway , that's just a suggestion

do with it what you want !

Well, I think guybird is going to make new snes packs with the spaces intact (I hope), so hopefully users will have a full set with and without spaces to pick from. Some users prefer to have their roms named without spaces so they need the pack without them as well. But I myself like the spaces, so I'm not able to benefit from the excellent pack at xbox.nugnugnug.com.
As far as your suggestion, that's a very good idea. Unfortunatly, the "does this file exist" code in C can be rather slow. That's why I only show the screenshot in shots 1 folder when moving through the ROM browser. I initially had it to look in the Shots 1 folder, if not there, look in Shots 2, Shots 3, etc...However, if my screenshot was in the Shots 8 folder, it would really bog the emulator down wehn I scrolled through the rom browser because it had to do 7 file lookups everytime I canged names. There was a noticable delay.
And with this approach, there could be dozens of combinations to look for. So unless I can determine a really fast way to detect the precense of a file, I don't think this would work. But t's still an excellent idea that I had not thought of.