ACTUALLY......... Although the dips are in different places and stored as different values.... the dips themselves and the settings are always the same:
Cabinet= Cocktail or Upright
or occasionaly
Cabinet= Cockpit or Upright
(cockpit and cocktail only differ superficially as only two cabinet modes are ever available in a game)
There are about 30+ dips that are hardcoded into mame, some of the highlights that might interest people are:
Coinage
Lives
Service Mode
So for you who aren't catching on, my point is although the data written to the cfg files may be different, the variables and their flags that mame translates them to are ALWAYS the same.
So if anyone want's to do this, lets do it right:
Add a command line switch for every generic dipswitch flag.
Now modify the macro that loads the dipswitch settings so that it ignores the value in the cfg file if the corresponding command line switch has a set value.
If someone were to go to the extra effort to do it this way rather than a quick hack the mame devs would probably accept it into the official build.
Not only that but having these settings would allow you to do the following:
For all games with the dipswitch, set them to freeplay mode.
Have a front end allow you to launch the config menu for a game by turning on the "service mode" dip. (All games with a service menu have a service mode dipswitch) Then when you exit the game it turns the dip back off, thus eliminating the need to have service buttons on your control panel.
Have dipswitch settings set for a specific system (like cps1/2) and save them to a driver.ini file. Now you've set the dips for all 200+ games on that system at once!
As you can see if done properly this could have a lot of potential, unfortunately, it could also be a lot of work considering the amount of variables you'd have to manage and the fact that the dipswtich reading macro is buried deep in the bowels of the source.
I'm just saying though.... if anyone wants to step up to the plate, lets do it right.