getting machine ready

Posted by David Marsh on Thu 09 August 2007

I'm trying to build an arcade cabinet and this will document the goals and steps taken with some photos. At the moment I'm still configuring the system and haven't started on the cabinet yet.

At the moment my goals are:

  • Simple, basic hardware and software, less things to go wrong
  • Run under DOS
  • Run from a compact flash card
  • No CD drive
  • No network
  • Run vertical games on a vertical monitor, mainly classics
  • Run only games that are emulated without obvious errors
  • Be as true to the original feel of the games as I can get
  • Be XYL (Ex-Young Lady, aka Wife) friendly
  • Have a simple control panel layout with buttons kept to a minimum
  • Not be too large, but still be big enough to feel like a real cab and not like a toy
  • Not be ugly
  • A simple front-end that wont feel out of place
  • Be quiet and cool

Initially I wanted to run FreeDOS but couldn't get it to install on a compact flash card properly. I also wanted to run Vantage (because it covers most of the classic vertical games I wanted to run) but it won't run under FreeDOS.

![Computer with case open]( "not messy")

So, after heaps of mucking around with hard drives and even buying a new compact flash card only to find FreeDOS wouldn't install on it either, I gave up and broke out the Win98 CD. Of course that wouldn't boot properly and heaps of mucking around swapping out CDs halfway though a boot.

In the end I FDISKed the compact flash, formated it with a format c: /s to get it to a boot disk, and copied a heap of DOS tools from the CD. The biggest pain was finding the old DOS edit, in the end I built a full Win98 in a VM and copied the files I needed.

After all of the work getting it to a decent state it started to get easier, Vantage and GLaunch were easy to copy to the disk, mostly from CDs I'd burnt ages ago, but also by removing the compact flash and mounting it on the Mac. I had to do this to convert the listgames output to the file for GLaunch, I love Unix!

Once every thing seemed to be going okay, I removed the CD drive and started making things autorun. This is were I hit a snag, with GLaunch auto starting from the autoexec.bat file it would start but then crash as soon as a game was run or GL was quit. This only happened when the CD drive was removed. Put it back in and it worked fine ... great, but I wanted things to be as simple as I could make them. I also tried HDD spin up options in the BIOS, all to no avail. Without the CD drive but starting GLaunch manually worked, so in the end I found a choice statement just before GL started worked, it didn't matter what it did. I now have choice to default to "Y" after 1 second and all the output going to NUL so nothing is seen. I still don't know what caused this, but the 1 second delay doesn't make a huge difference to the boot times, most of it (90%) is spent in the POST.

![Machine with case open an running pacman]( "Sideways baby")

At this stage the monitor was rotated to vertical and all the vertical options were turned on. In the pic above you can see the pegs holding the wires to the speaker, quality work there!

Here's a list of the hardware used so far, most of this came out of my spare pool. I expect this might change:

  • Generic Power-supply
  • Intel BX440 motherboard
  • Pentium II 450 Mhz
  • Fanless heat sink for cooling above
  • 320 Mb RAM, running at 133MHz
  • 64 Mb compact flash card
  • Generic compact flash to IDE board from Chris
  • Fujitsu 19" Monitor
  • SoundBlaster AWE64 ISA sound card
  • Generic Graphics Card, not sure what it is

Things left to do for this stage:

  • Find a shutdown program to power off the machine when GLaunch quits
  • Modify autoexec and add a hidden maintenance option to drop to DOS before GLaunch starts, to make freezes easier to fix
  • Customise the motherboard splash screen
  • Buy a smaller IDE adaptor, one that connect directly to the motherboard
  • Build Cabinet etc :)

That's about it for now, currently it's undergoing some heavy play testing :)

tags: mame, it