Sean McVeigh's MAME Cabinet Project

see MAMEWorld to figure out what on earth I'm talking about

Introduction
Design
Cabinet
Controls
Interfacing
PC Guts
Audio
Video
Links
PC Guts

A 700MHz duron will power the system.  If this fails to be enough horsepower to run some of the newer games that I might like to play, I can sell off the 700MHz part and pick up something closer to 1GHz for a net cost of about $20 or so.  As for storage, I have a few drives that are in use right now, but that could probably be shuffled from my high-end systems until a 5GB drive pops out the low-end somewhere.  I like to call this the parts parade.

Either that, or I'm sure I can find a smaller drive for very cheap.  No one sells anything on the order of 5GB anymore do they?  I suppose I could always serve games over NFS, but that means the system will be tied to my home network (or at work via the VPN), and it also means that I'll have to shuffle more disk space into the server anyways.

Okay, turns out that the 700MHz CPU didn't quite cut it for all the games I wanted to play.  I tested out my setup with my Athlon 900 and Mortal Kombat was a bit jerky. I originally figured I could try different video settings to relieve the jitter, and it seemed to work, so I saved my video settings and restarted the emulator.  The picture was still jerky.  Again, I put the game on pause, went into the video menu, returned to the game, and everything was smooth again.  Hold on a second.  I restarted the emulator, hit pause, then released pause, and the game ran smoothly.  This is more than just hardware limitation... this is a conspiracy against me!  I opted to pick up the Athlon XP 1800+ and make all the weirdness go away.  It cost me $109cdn and came with a fan and heatsink.

I decided at the same time to pick up a Sound Blaster 16 PCI, as I was having troubles with the relatively proprietary on-board sound system on the K7S5A mainboard.  I've owned about 6 SB-16's in the past and they've always performed brilliantly. Unfortunately the joke was on me, as the newer PCI versions were completely different beasts altogether.  Creative doesn't even provide DOS drivers on their webpage for these cards!  The solution is to install Windows 98, install the Windows drivers, then poke around the installation until you find the DOS-mode compatability drivers buried somewhere in the install.  After refamiliarizing myself with config.sys and autoexec.bat (how long has it been?  10 years?) I got the sound working in DOS.  Great, now I could uninstall windows 98 right?  Wrong!  The emulator ran fine in a Windows 98 DOS box, but when I booted straight into DOS or restarted windows in DOS mode, the sound initialized, but the emulators froze up.  They didn't freeze up outright, the demos actually kept playing, but the keyboard input was dead.  Bizarre.  I figured my sound drivers were perhaps busted?  So as a test, I installed and ran Doom.  Doom ran perfectly, sound worked perfectly.  So where does the blame lie in all this?  I can only imagine. A coworker brought in an AWE-128 PCI card for me to try, so I'm going to give it a go in a few minutes.  Fingers crossed!  If this fails, I'll just suffer and hack Windows 98 to run ArcadeOS on startup instead of the usual explorer.exe desktop.  Update: the SB128 works fine in DOS, so I traded cards with him.

pc guts

Here is the PC with the cover off.  Not too much to see here.  I've since added a couple of extra power cables that run out the rear of the case to power my external components (the interface board, and relays).

Why on earth am I trying to do this in DOS you ask?  As someone who works exclusively in a Unix environment at work, and who has been using Linux at home since release 1.3.11, what am I doing mucking about with DOS?  Well, the short answer is that AdvanceMAME is rather painful to get going in Linux.  I managed to put a barebones Slackware install together, built an up-to-date SVGALIB and got it working with my ATI Rage 128 chipset, but when I ran AdvanceMAME's configuration utilities, they simply returned me to my command prompt, and never did anything.  I turned on logging, and saw that they were initializing video, then they seemed satisfied, then they just exited.  One utility was seg-faulting on me outright.  I didn't have the patience to weed through the code and find out what was happening, so I started testing out the DOS versions of AdvanceMAME and MAME.  The AdvanceMAME configuration tools actually worked in DOS, so I decided to ditch the linux install.  It may have been a bit of overkill anyways, even though I had got the K7S5A mainboard chipsets all running fine with some kernel tweaking.  

AdvanceMAME ran great in DOS at 1800MHz.  AdvanceMENU was another story. It would crash evrery now and then when I exited from a game (probably due to the binary being compiled for Pentium, not Athlon).  This didn't seem like an insurmountable problem, I could just run it forever in a batch file, but I was reading about the alternatives by this time.  ArcadeOS came up on many websites, and looked to be worth a try.  The interface is a bit friendlier, and god knows the default sound effects are a bit more tolerable than AdvanceMENU.  I haven't crashed it yet, so it looks like my setup is going to run the DOS versions of ArcadeOS and AdvanceMAME.  (2 weeks pass, and I'm now not so impressed with ArcadeOS.. it's a bit clunky, and I'm going to have to customize my games list if it's going to be worthwhile.. there's always room to come up with my own graphical dos frontend.. actually the only graphics work I've ever really done was back in DOS at standard VGA resolutions, so that would be like a walk down memory lane :)

A couple of weeks pass, the monitor arrives, etc...

I'd like to take back everything I said about AdvanceMENU.  It turns out that the video card I was using was causing the problem.  The Advance* software was using a port of the linux svgalib to DOS.  It turns out that there are some problems with the Rage128 support in svgalib.  I tried 6 video cards in total before settling on the Matrox G400 and solving all of these problems.  Now everything works dandy.. just need to tweak and twiddle here and there to get it working like a well oiled machine!

...more...