best way to do this as others had said is with DOS, infact if you use a old AT (not atx) system they used mechanical switches to trigger power.. not like the newer ATX soft power where the board controls rather the PS is on or off.
you could even keep the toggle switch up top intact.
just make sure you do not have any disk caching enabled..
then you can flip it off and on with little to no worry of data corruption.
games will load a little slower without disk caching, but for old games like burger time, mario bros, pac man, they're so small the load time will be practically unaffected.
you can set it to run anything you want when dos loads.. look for a file named autoexec.bat
just put your mame command line in there and it will load as soon as it's done loading into dos.. and unlike windows dos loads VERY fast, there's very little to it.. you could get a dos+mame+some old games on a < 100mb drive, dos only uses a few mb's for it self.
if it' a new system you could even use a usb thumb drive and not have any harddrive at all.. or make a bootable cd and just have a cdrom to boot everything (you'll have no way of saving any of the NVRAM, or changes though)
for a simple 1 game mame you have a LOT Of routes to get you from point A -> B
And, how does one cycle games in DOS without an FE?
well the way i'd do it if you was gonna have more then 1 game and you did'nt want to use a front end.. would be to call it using batch files.. which basicly means calling them from the command line.. i'd just use a FE but for example..
say you have 10 games you wanna put on their.. say you only have 1 button..
make sure that 1 button is enter.. as this is the only way i know of entering commands into dos manually.
you could either 1. have dos spit out a game list using a simple batch file and "echo" command..
or 2. either remember or have it wrote down the code for each game..
example:
1. super mario = up,up,up
2. burger time = up,up,down
3. dig dug = up,up,left
4. donkey kong = up,up,right
5. pacman = up,down,up
6. ms pacman = up,down,down
7. joust = up,down,left
8. defender = up,down,right
9. rampage = up,left,up
10. 10 yard fight = up,left,down
ok now lets say your joy stick is linked to either a keboard encoder (ipac) or a hacked keyboard..
now lets say your joy stick is mapped as such.
up = w
down = s
left = a
right = d
what you would do is have each game it's own batch file and name the batch file as such:
super mario in my example is UP UP UP, that translate to W,W,W.. now remember i said you need at least 1 button for this to work, this can be start even if you like.. but make sure it's mapped to enter.
so at the command line you would do UP UP UP on the joy stick translating into WWW on the comand line, then you hit the button mapped to enter.. DOS would then look for
WWW.exe,
WWW.com, or
WWW.bat in the current directory.
it would find
WWW.bat, inside
www.bat you can put what ever command you want.. like wise you would do this for every game you wanted on the system.
below is what it would translate into
1. super mario = "WWW"
2. burger time = "WWS"
3. dig dug = "WWA"
4. donkey kong = "WWD"
5. pacman = "WSW"
6. ms pacman = "WSS"
7. joust = "WSA"
8. defender = "WSD"
9. rampage = "WAW"
10. 10 yard fight ="WAS"
on the other hand you're still not able to go from game to game without leaving mame.. unless maybe there is a .106+ version that runs in dos? .106 and later has a game change menu ingame, but it randomly selects like 15 games if you have more then that you'ed have to type it at least part of the name to filter it.
in any event you can't get away from the dos command line from showing up so why not just use a nice looking front end and avoid making all those batch files?
you could also do it with a single batch file but it would take a bit more programing, single batch files the result is the same and easier to add.