the concept is interesting, but I'm skeptical about the number of configurations you would need if you want to add the game names to the config itself (as proposed by haze): you would need ~10k configurations to play c64 games and I'm not so sure this would really makes things cleaner...
you'd need a sensible config (ie what the game was intended to run on) for each game, 10k? In the worst case it will be slightly more than the number of entries in the software lists, to accomodate multiple 'sensible configs' per game.
Also while it would be wise to keep the quickstart names *short* you wouldn't be limited to 8 letters as they don't refer directly to files, they reference the software lists.
XMLs can have fragments etc. so in reality for something like the Amiga you'd have a fragment defining an expanded a500, and include that in the quickstarts.
because devices are disabled by default unless you specify them most of the config lines would be pretty short.
if you wanted to override something in a quickstart you could import it instead using a command eg.
Mess -base <quickstartconfigname> -flop4 blah
otherwise it defines an absolute configuration for the running system so that people can't f**k it up ;-)
you could also have a
Mess -listqsdetails <quickstartconfig> which would actually output the FULL commandline of hardware to be enabled / disabled etc. that that config would expand to if you were doing it manually. (which I imagine could be rather long)
Auto-suggest could suggest the quickstart names (and possibly media with similar names)
An easy (and auto-suggested) disc/tape variation is easier than remembering all the configurations.
mess c64 rainbowflop
will always be easier than
mess c64 -enabledevice fddtype0 -flop0 blah0 -flop1 blah2
(or whatever)
The quickstart could also define a message to display at startup / in a menu telling them what command is needed to load the game beyond that. It would be helpful!
keeping in mind that a default c64 does not even have a floppy drive, and I'm guessing there are multiple different types of floppy drive.. and at the end of the day a basic user really just wants something that WORKs, not something where they have to remember to enable a bunch of extra devices manually, actually know which type of floppy drive to add, and the correct name for that specific device.
(likewise Amstrad CPC 464, that didn't have an FDD by default and multiple types were available, a default 464 in MESS shouldn't have a floppy drive. Most games shipped on tape where your quickstart wouldn't even bother to enable that device / drive. For the ones that shipped on disc, the quickstart would tell it to enable the correct drive rom, taking care of this problem for you. 'Just use a 6128 which already has one' etc. isn't an answer, because a fair amount of 464 floppy software isn't compatible with a 6128. Having to remember the commandlines to enable the right type of floppy drive manually is too much work)
that's why I'm suggesting an XML of configs, to launch the games with.
It allows the easy launching syntax of
MESS <systename> <quickstartconfigname> for basic use
It allows sensible auto-suggestion
It does the legwork of setting up the correct devices for a piece of software for you.
It keeps the base hardware configurations in MESS clean. (no floppy drive on a 464 / C64 unless you very specifically enable it, either through commandline for manual use, or because the quickstart explicitly says it's needed for what you're wanting to run)
It documents the target hardware configuration(s) for software.
It makes it clear where software is designed for multiple hardware configurations without having to duplicate it in the software lists.
It even allows for a possible fallback on really simple systems where there is only ONE device slot anyway to use the simple syntax.
I don't think it matters if there are a lot of configurations (as I said, there shouldn't be that many anyway), they only have to be written once, as opposed to requiring research and additional typing every time on the command line.
They define a sensible environment in which games were designed to be used, that's good documentation, most Amiga games weren't designed to run on a top end a4000 with expanded gfx card or whatever else. People who want to experiment like that are still free to do so, while somebody who just wants to demonstrate or play an old game for some reason has a setup they know will work for that game.
Some discretion will be needed on the part of the MESS team to decide what makes a sensible environment for each piece of software, but it's far better to have one than leave the user with no idea at all.
-----------------
essentially with computers / consoles you have
- a base system
- a hardware configuration / level of expansion for that system
- a default state of the system (HDD image with installed copy of windows etc.)
- the media / software which might also include special HW in the carts (softwarelist xmls)
a quickstart ties these together into something sensible by defining a hardware configuration and provides other useful info.