|I build a MAME Cabinet|
* Post project updates|
End of project notes/comments
Not counting the nine month hiatus of the project due to a kitchen remodeling project, it took around eight months to build the Time Waster 2000 MAME cabinet. The budget for this project was $1500.00 and thanks to some breaks (had computer parts on-hand, Tron cabinet as a base, and the $199.00 21" IBM P260 monitor), I managed to come in under $750.00, which is not bad. All of the vendors that I have dealt with for this project are top notch and their products have performed flawlessly (see credits below). All of the software for this project (excluding ROMS) are open source and are either GPL or BSD licensed which reduced the cost. Even as a dedicated FreeBSD user, I was doubtful that I would be able to use the OS as a base for the MAME cabinet due to the graphic and menu system requirements. I am happy to report that FreeBSD 5.x works perfectly as a MAME host operating system and would not hesitate to choose it again for future projects.
Even though I am very happy with the cabinet, there are some things that still need to be addressed. The biggest on the list is the ability to hide the BIOS information screen on system boot up, the one thing to hide that fact that the cabinet is powered by standard PC hardware. If anyone knows how to do this on non-specific hardware, please contact me. While older games run great, newer games require beefier hardware than the PIII-550/128mb RAM can handle, so a hardware upgrade is in the near future. I am curious if anyone uses a VIA C3 setup for MAME? The addition of a track-ball and/or spinner would definitely add some additional playability to the cabinet. Also, while the marquee lighting is adequate, the addition of two more cathodes should sufficiently brighten things up (maybe yellow ones to add warmth). I still do not know what to do with the two UV cathodes that I purchased, maybe for a future project. I think that pretty much covers it.
I would like to thank the following vendors for their products that made this project possible,
Finished up the back door to the cabinet today. All that was needed was a coat of paint, put the lock hardware in, and screw in the screens that cover the holes. Pretty anti-climatic for the project, but it is now officially complete.
Much too nice to be working inside this weekend, but I still managed to squeeze in an hour to work on the cabinet (and play a game or two). I planned on putting a master power switch to control power to the cabinet, but after looking for places to put the switch, it was decided that it was going to be too much work with too little gain. The plan was simple, a spare computer cable with the end cut off (computer side, not the outlet side) spliced into some armored cable (leftover from the kitchen remodeling project) to an outlet box. Consider it an over glorified extension cable if you will. Throw in some cover plates and you have a simple way to consolidate the power cables.
Well, I am pretty much wrapping things up on the MAME cabinet. The cabinet has had some considerable play time for the past couple of days, and I am generally happy with the turnout. I have to finish one of the cabinet's back doors (coat of paint, lock hardware), wire in an outlet and switch for master power, and I need to find some "feet" or casters for the bottom. I somehow managed to blow one of the inverters for the UV cathodes of which I still don't have a place for. Getting a replacement is no problem, just not sure where to put the cathodes.
I also ended up installing samba so that I can manage the cabinet roms from my LAN remotely. Xmame is now at version .95, so I will be spending the next couple of days updating the rom packages. Here is a little peek of the progress (compiling samba):
In my mad rush to get the cabinet done this past weekend, I ended up making some mistakes. The control deck was completely refinished, but I did not allow enough time to dry properly. I had used some terry cloth towels to lift the deck off of the table to put the buttons in and rewire the switches, and to my dismay, found that the towels had left an impression on the edges of the deck when I finished. Refinishing the deck, take three... grr. I also need to repaint the monitor bezel and do some touch-ups in various places.
With the front control panel done, I made some cuts to accommodate the wiring. While functional and nobody will really see the inside of the control deck, I am not very proud of the cut. The wiring from the switch and LEDs are ran stright through the deck to the other side, leave the same hole as the keyboard cables and terminate into a 6 pair terminal block. I then made a pigtail by using a couple feet of CAT5 cable and soldered some motherboard jumpers to one end. The other end just screws into the terminal block. A better solution would have to used some kind of modular plug, and I may end up using one if this does not work out. The plan was to make sure that the control deck can be removed fairly easily, but not too often.
What do you do when its rainy cold outside and the wife and kid are sick? Why you spend the entire day working on the MAME cabinet. To supply sound to the speakers, I gutted the amplifier out of some cheap computer speakers. The amp requires 9 volts DC for power, but some testing shows that the PC 5 volt line works just fine. Since I was providing power in-line for the amp, I also wired up a terminal block to distribute 12 volt for lights and other future accessories. As of now, the volume control is located inside of the cabinet which may seem inconvenient, but the MAME software has an option to adjust the volume settings. I can always relocate the volume control at a later time if needed.
One of the things that I did not consider when making the control deck was the inclusion of a power button and power/hard drive LED indicators. I spent some time pondering the location of these and decided that the best place would be on the front of the deck. I had some thin gauge plate steel and fabricated a small control panel.
Lots a progress made today, so I also decided to address the botched repair of the control deck. I sanded around the mismatched area and tried to blend it in again, but no luck. I pulled out all of the buttons and joysticks and hit the whole top of the deck with the palm sander.
Since I had the deck opened, I decided to drill out the bottom cover and put in some T-nuts. This will allow me to mount the deck with bolts instead of dry wall screws. I also started working on the opening for the power switch on the front of the control deck.
Spent the last two days doing minor upgrades to the MAME computer. The biggest upgrade was the update from FreeBSD-4.11 to FreeBSD-5.4. This allows me to successfully compile newer versions of XMAME (which seemed broken for 4.x) and better ACPI handling. This means that I can now press the power button on the computer and FreeBSD will now issue a clean shutdown. This is far better than breaking out of X, logging in, typing "shutdown -h now", and then manually powering down the computer (ugh!). While most of the hardware was not touched, (Pentium III 550mhz/164mb/20gb), I decided to pull the DLink DL-650 wireless card from my FreeBSD workstation (I was using it as a temporary access point) and put it in so that I have 802.11b connectivity instead of having to wire cat5 to the cabinet. I am still torn between two video cards that I have, the newer ATI Radeon 7000 or the older Nvidia V770. I will probably spend most of the day testing between the two cards (I thought I had this resolved last January).
I had some spare time and decided to start putting in the speakers. The speakers that I am using are some old 3" speakers one of my coworkers had around. I figured that since most of the games use low quality midi or samples, that these should suffice (I can always change these out later if needed). I purchased a 3" hole saw from the local hardware store and drilled out a pair of holes. I ended up using some plastic gutter guard that I had around to use as speaker grill (total high tech here!). In order to accommodate the speakers, I had to move the reflector back. I hope that this does not affect the cathode lighting.
This week I also started painting the monitor bezel and platform. I initially painted the bezel with the black metallic, but it just did not turn out right. A couple coats of black gloss enamel with light sanding in between yielded the results I wanted.
A week ago or so, I was moving the cabinet around and forgot that the top marquee bracket was not fastened. The end result was a nice chip in the control deck. I sanded around the chip area almost to the primer layer and masked the surrounding area. Coats of purple metallic are layered on and then a final light spray of black metallic to blend it in with the rest of the deck. This procedure seemed to work out fine, but when I removed the masking, a thin white line (maybe tape adhesive) surrounded the masking area. I am hoping that I can just buff this out, more on this later.
Had a couple of minutes this Easter morning to knock out the monitor bezel. The hardest part was getting the monitor centered and getting the viewing area figured out. Since there is no way of telling if the cut is going to be correct, I cut the masonite so that I had a little room for error. It actually turned out perfect.
Since this is Easter weekend, I spent most of the day with the family. I did have some time in the late afternoon to go ahead an build a shelf for the motherboard. Like the monitor platform, I screwed two pieces of 2x4 into the sides of the cabinet. Instead of using 2x4s for the top, I recycled a test 15" monitor shelf that I made earlier. The backplane is just screwed into the shelf to keep it secured.
Since my work gives the day off for Good Friday, I took advantage of it to make some progress on the cabinet. I am expecting the cold cathodes from Xoxide today, but not until late afternoon. In preparation, I decided to make a reflector for the cathodes using some roof flashing that I had laying around. This will serve two purposes... one to prevent the light from bleeding into the inside of the cabinet and hopefully direct the light at the marquee. I cut the flashing down to size and bent it into a C shape using some scrap MDF. It is then screwed in using machine screws which happened to be the only thing I had available at the time without making a trip down to the hardware store, it works.
Its still early in the day, so I decide to go ahead and put the rest of the t-molding and did some touch up painting. To address to over spray problem I noticed yesterday, I decided to put a 3 inch wide band of black enamel along the base of the cabinet. This works out good because, if I get any chips or scraps, it will be easier to repair. Also, since the original monitor mount held a 15 inch monitor, it was pulled and a beefier platform was constructed. Once the position of the monitor is established, I but down a small piece of masonite to finish off the platform.
While building the monitor platform, UPS dropped off the cold cathodes from Xoxide. I went ahead and put them in place and wired them up. While pretty bright, two white cathodes may not be enough to illuminate the marquee properly. At this point, I had to put the monitor in place, put in the marquee, and fire things up. All that is left to do is wire in speakers, frame in the monitor, and mount the motherboard backplane. It also occurred to me that I will need to relocate the motherboard power button and hard drive activity LED (maybe on the side or front of the control deck) and a external power switch for the entire cabinet as well.
The rest of the cabinet interior is painted, well most of it anyway. Like I said previously, I was not too concerned about the inside as I will be the one most likely to see it. I put the cabinet upright and to my dismay I found the when I painted the bottom of the cabinet, that I did not protect the finished good enough and got some over spray on it. I will have to figure out something...
Now that the final clear coat is finished drying, I went ahead and removed the paper drop cloth and applied a coat of Kilz to the inside parts of the cabinet that I was not able to get previously. I also managed to get a coat of black metallic onto the marquee brackets.
I went ahead and ordered a pair of 12" white cold cathodes and a pair of 12" UV cathodes from xoxide.com. I figured on replacing the old fluorescent lighting with the white cathodes, but I am not sure what I am going to use the UV cathodes for. At $6.99 a pair, you can't go wrong, and they also happen to have one the best ratings on resellerratings.com. I put an additional coat of polycryllic on the side of the cabinet. While waiting to for the clear coat to dry, I ended up stripping and sanding the brackets that hold the marquee in place.
Not MAME related, but I ended up getting a second 21" monitor for my desk :)
Saturday morning was spent watching cartoons with my daughter and thumbing through the latest Microcenter Mall flyer. Now, I have had the flyer for a couple of weeks now, and now just noticed that they had refurbed 21" IBM P260 monitors for $199.99 and not too mention, have $50.00 rebate to boot! While the price seemed too good to be true, I figured that even if the picture was substandard, it should work just fine for the MAME cabinet, I mean the highest resolution game is like 640x400, right? So I run down and get one (they had about 12 in stock as of today), wrestle the thing onto my desk, and hook it up to my main gaming box. Low and behold, the picture quality is great, I mean really, really good. I fire up some games, HalfLife2, Doom 3, etc and decide that the 21" will never leave the desk (I saw this happening a couple of weeks ago). I try to convince myself and the wife that the 17" monitor will work just fine in the cabinet, but the wife wouldn't budge, its going into the cabinet.
Spent most of the week painting the other side of the cabinet. I had some problem with the paint bubbling up, so I ended up having to sand and prime over again. I still cannot get over how good the paint job looks when the polycryllic is applied. Before I put the polycryllic down, I really have second thoughts on how it looks and find myself tempted to sand it down and do it over again. Thankfully, my wife convinces me that the paint job looks great and for this reason, progress has been made. I have updated the parts page and noticed I have spent over 100 bucks on paint. Granted some of this was wasted on testing different finishes, but heck.
During the week, I managed to apply coats of Kilz and black enamel to the top, back, and right inside of the cabinet. After installing the t-molding, the left side of the cabinet is now complete. Here is a semi-complete look at what the cabinet will look like. The colors of the cabinet side are actually a little brighter than what the pictures show, but you get the idea.
When putting in the keyboard, I noticed that I had a clearance problem. The fix was not pretty, but was quickly resolved with a reciprocating saw. Since no one will ever really see that part of the cabinet, I was not worried about a "finished" look.
Now that the paint is down, I start putting on layers of the Polycryllic. In between coats, I lightly sand with 220 grit sandpaper, wipe down, and apply another coat. I am putting down three coats in total.
Primer is all dry and I start laying down the paint. Since the deck turned out real nice, I keep the same painting scheme, adding a teal color to the mix. I am using Rustoleum "Metallic" line of spray paint.
After about 20 or so coats of smooth finish clear lacquer and some black t-molding, the deck is now complete. All that is left is to install the buttons and joysticks and get them wired up. Now its time to start painting the cabinet. Everything gets a nice coat of Kilz primer.
Received the marquee from mamemarquees.com. It turned out better than I ever expected, I highly recommend them. Got the keyboard drawer constructed and installed. This actually went quicker than I figured, so I gave the front and sides of the cabinet a sanding with 120 grit and a coat of Kilz primer.
I received the T-molding and matching router bit from T-Molding.com this past Wednesday. The router bit was a bit expensive, but well worth the cost as it is well constructed and performed flawlessly. I went ahead and gave the deck a quick run.
After routing the deck for the t-molding, I went ahead and applied a coat of oil-based Kilz primer to the deck. This will seal the MDF up and keep the paint from being "sponged" up. The primer is then sanded with some 220 grit for a nice smooth finish and the first coats of paint applied.
While waiting for the paint to dry, I decided that I will convert the gap cover to a hinged door. The thought is that at some point I can mount a sliding keyboard shelf inside of it. Since I have used all of my MDF up, I just used some wood putty to fill in the existing screw holes.
Started working on the marquee graphics this morning. After some fiddling, I decided to pay a little homage to "The Simpsons" and name the box, "Time Waster 2000". I still need to add the MAME and FreeBSD logos, but I think it turned out pretty good.
Believe or not, the picture on the right is a draft print that I did by taping three pages of paper taped together. I am in the process of sending the graphic off to MAME Marquees to get printed.
The section of the cabinet where the coin door mounts had a set of four holes where some kind of plate was mounted. The bottom edge of the cabinet had been pretty beat up from a combination of water damage, kicking, and moving. To clean up the front, I purchased a 2x4 sheet of 1/8" masonite that I cut down and wood glued over the front. Later, I will cut out the opening for the coin door.
Next step is to mount the deck to the cabinet. To make the deck fit tight with cabinet, I cut some notches into the deck and cut a cross member to screw into the bottom of the deck. A small panel was then cut to cover the gap on the front of the cabinet just below the deck.
Before painting the controller deck, I needed to drill in the holes for the buttons and joysticks. I had just planned to copy the layout from the prototype as the layout was just about perfect, but this left a lot of dead space on the deck and it felt a little cramp with two players standing next to each other. I have adjusted the spacing between players and the spacing between the joystick and buttons, but maintained the button spacing.
As you can see in the last picture, I didn't follow the cardinal rule of measure twice and cut once. Seems the function and player select buttons where too close to the back panel of the deck. Nothing a little sanding with a Dremel couldn't fix.
Now that the cabinet is cut, a wider deck is made. The new deck was made using wood dowels so that there are no visible screws/nails. This created a whole new challenge, as I only have basic wood working skills. Overall, I think it turned out very nice.
Since the Tron cabinet was designed for single player play, the plan to create a controller deck designed for two players within the width of the cabinet would not work. Seems the sides of the cabinet prevents comfortable game play. After days of pondering, it was decided that I would do the unthinkable... cut the cabinet.
The hardest part was making sure that one, the cutout would maintain the existing feel of the cabinet, and two, make sure that both sides where even. I think this is actually going to work out.
The original plan was to make the deck extend so that it is wider than the cabinet. I tried some cardboard mock-ups, but nothing seems to look good. Now that I have some good tools to work with, I managed to whip up a test deck to mount to the cabinet. I used fluted dowels and wood glue to assemble the deck and 1.25" drywall screws to mount the deck to the cabinet. Its a little rough, nothing that a sander couldn't fix. I need to mount the joysticks and buttons to see if the I can have two players play simultaneously within the width of the cabinet.
I managed to pick up some 4'x8'x.75" MDF at Lowes about a week ago. Still not sure how to construct the deck, do I want to gave the deck extend beyond the side panels, or stay inside of them? Still working on some designs. I did manage to strip the paint off of the coin door and its frame. I was really happy to find the original Bally's logo on the coin door, only to be disappointed to watch the stripper desolve the painted logo away, oh well. Half-Life2 rocks btw.
Brought the prototype MAME system over to the family's Thanksgiving get together. Needless to say it was a hit with my nephews and cousins. Even after 6 hours of Street Fighter button mashing, the joysticks and buttons performed perfectly. While the button spacing was perfect, the button order needs to be tweaked (good thing I made a test board). Now that everything is working, now its time for the hard part... modding the old Tron cabinet.
Seems the latest version of xmame (.87) broke a bunch of games. Looks like I will be updating the rom archive for the next couple of days. One of the things I noticed is that xmame seems to be *real* slow playing games with the AdvanceMenu system. Not sure if this is a resource problem, so I will need to dig into that as well.
Managed to get FreeBSD up and working just beautifully with the AdvanceMenu frontend. By the way, the tip below about compiling AdvanceMenu is in the BUILD docs provided with the source (something about using GNU make to compile), in other words, RTFM, doh! Nice thing about working for a telephone company is the easy access to 25 pair wire. This really makes wiring the IPAC a breeze. I wired up most of the makeshift control deck and did some basic testing. Outside of a couple of bugs (MAME key assignments), it works quite nice. Some pics of the deck:
I received the parts from DHL Friday night, just over two days from when I ordered them. Not bad considering they came from London. Since the computer side of the cabinet is at work, the only thing I can do this weekend is made a temporary control deck for the weekend.
While waiting for the parts to arrive, I fired up the MAME system I loaded up some 9 months ago. I previously had problems getting AdvanceMenu to compile under FreeBSD and ended up using Gentoo linux, which is now out of date. While performing a "emerge sync", I downloaded the latest version of AdvanceMenu onto my FreeBSD workstation. After some tweaks, I came up with a procedure to successfully compile AdvanceMenu under FreeBSD. Make sure that SDL and /usr/ports/devel/gmake are installed. Then it is as simple as
ln -s /usr/local/bin/sdl11-config /usr/local/bin/sdl-config gmake allNot sure why I had some many problems at the beginning. I will note that I am not sure what the ramifications are of symlinking sdl-config, but it works YMMV. Now that I have a good MAME front-end, I will reload the system with FreeBSD and all will be happy.
Well, its been a little over nine months since my last update. Mame cabinet was sidetracked by a kitchen remodeling project (requested by the wife), Doom III, and some work on my kid's room. At this point, I am fairly sure that I will not be able to make the Christmas 2004 deadline. However, I did manage to purchase an I-PAC controller, two joysticks, and several buttons from Ultimarc. Once I receive the parts, I will post some pictures.
Picked up the Tron cabinet this weekend. Cabinet was in very good condition and as an added bonus, came with the coin door, monitor frame and glass, and original Tron n marquee. Found out the hard way that the cabinet did not fit down the basement stairwell, so I ended up having to cut down part of a basement wall (this was something the wife and I had been planning to do for a while, but kept putting it off). Some pix of the cabinet:
Over the weekend got a line on a Tron arcade cabinet, minus electronics, control deck, and T molding. If things work out, this would cut down on a lot of the time required to make the cabinet from scratch. This also means that instead of building the cabinet around the display, I will need to pick a display that fits into the cabinet.
Scrubbed the hard drive and start loading the system up with a basic Windows 98 SE load. Knowing the motherboard had some issues with the floppy and USB controllers, I quickly find out that the BIOS is unable to correctly detect the 10g hard drive and is only able to see a little more than 1gig. This was never an issue with linux or FreeBSD because neither of those operating systems looks to the BIOS for drive geometry, it gets it from the drive directly. I will continue the load to see at least if I can get some clean video to the TV with the windows driver.
I finished the Windows load and everything looks pretty good with the TV out. The BIOS screen still comes up in black and white and a little off-center, but once Windows is loaded this display looks pretty nice. Right now it looks like I will need to find another slot 1 motherboard and go the Windows route. I guess I need to start looking at some MAME front-ends that run under Windows.
I may have to rethink this whole thing...
The Radeon 7000 arrived today by FedEx, a couple of days earlier than I thought. Put the card in, hook it up to the test TV, and fire the system up only to find that the BIOS and console is only in black and white! Worse than that, now I cannot get any video from XFree86 to come up. I spent an hour or two fighting with the XFree86 config file and managed to only get a 640x480 term screen in black and white. I spent another hour trying to get the card to work using the VESA and Radeon framebuffer, still no go. Maybe a bad card? crap.
Seems in my rush to get the TV out working, when I looked at the Radeon 7000 comments on the net, I failed to see that the Windows drivers are required to get the "advance" TV out options (you know, color being an advance option and all). At this point, I am ready to start from scratch, and maybe, just maybe, the Windows route is not that bad of an idea. At least I still have nine months to figure something out.
I finally tracked down an ATX backplane to mount the motherboard, hard drive, and power-supply. I had drilled a couple of holes in the backplane so that I could mount the drive. I have not decided on how to mount the power supply, maybe carpet tape or other double sided tape. Here is what the final layout looks like:
Holy cow, that little S-Video converter cost me $21.99. Good news is that now I can see the BIOS screen, Linux console, and even the AdvanceMENU screens on the TV, but the bad news is that none of the games see to work now. From what I can tell (I am probably wrong), it looks like the GeForce2 card can only output 800x600 @ 60hz on the TV out. This would explain why the games refuse to work (most are in the 320x240 resolution). I cant seem to get XMAME (unix MAME) to force the games to scale to 800x600... hmmm
I ended up ordering an ATI Radeon 7000 card with TV-Out from NewEgg. At $32.00, the price was right and from what I read, it looks like the card can do multiple resolutions to the TV.
Now that I have the computer pretty much setup that way I need, I needed to reconfigure XFree86 to use the S-Video out. The test TV that I am using does not have an S-Video in as neither will the final TV that I am going to use, but I have a S-Video->RCA converter from the ATI Radeon 9500 card in my gaming box.
Turns out the converter that came with the ATI 9500 is some kind of bastardized S-Video connector with 8 pins instead of the regular 4, grrr. Make a note to stop at Radio Shack on the way home.
Stopped at the local Lowes hardware store and priced some wood for the cabinet. Nothing like spending a rainy cold day at the hardware store. Anyway, I am estimating that I will need 4 sheets of 4'x8'x3/4" wood of some sort for the project. My inial thought was to use particle wood or maybe plywood and put some kind of laminate on top of the wood. I found some 4x8 sheets of red oak, but at $48.00 a sheet, it would be a little expensive. On one hand, I think some good quality wood with some black stain and a couple coats of polyurethane would look pretty damn sweet, but on the other hand, the laminate may be more damage tolerant.
Managed to get MAME and the AdvanceMENU installed and configured. I was hoping to be able to do everything with SVGAlib and use the console framebuffer instead of XFree86 but no go. The problem seems to be getting the MAME game resolutions to use appropriate monitor sync timings. Without getting into entering manual mode lines for each resolution, I broke down and decided to run everything under XFree86.
I ran into a couple of small issues running MAME under XFree86. One was trying to get XFree86 to boot up without a mouse. Since the whole system will be controlled by the joystick and buttons, I will not be needing a mouse. A little googling turned up my answer that ended up being in the XFree86 man page, (RTFM) doh! Putting the line Options "AllowOpenMouseFail" "1" in the Server section does the trick. The other problem that I had was getting rid of the damn XFree86 mouse cursor. My answer to this one is a little app called "unclutter" which happens to be in Gentoo portage. So I modified some lines in the MAME users .xinitrc script to read:
exec /usr/local/bin/advmenu -log & /usr/X11R6/bin/unclutter -display :0 -idle 0 &Now XFree86 starts up and the cursor disappears after a second. Good enough. I had to recompile the 2.6 kernel in order to get sound to work. Rebooted the system with the new kernel and still no sound. The driver detects and installs the sound card without any obvious errors. I installed mpg123 (command line mp3 player) and tried to play a mp3 song, which it seems to be doing, just no output. I ended up installing a command line mixer app and found out all the settings where at zero, that would be a problem. Added a line to /etc/init.d/local.start script so that the volume is set at bootup.
After spending the past couple of days of compiling and getting the system up to date (what was I thinking?), and getting XFree86 configured and working, I am ready to get the AdvanceMAME front-end working... holds breath. I pulled a nVidia GeForce2 card from my home FreeBSD workstation to use in the cabinet. Probably a little overkill for MAME, but the card also happened to have a S-Video TV out. All I need now is some way to mount all of the computer parts.
Gave up on trying to compile the front-ends under FreeBSD. I am in the process of reloading the system with Gentoo Linux using a stage3 install tarball. There was no way I was going to do a stage1 (compile entire system) install with a 550mhz/96mb system. Some of you may ask, why Gentoo? Well, thats because I am apparently mentally challenged... No seriously, Gentoo's portage system closely resembles FreeBSD's ports and I feel that I have better control over the initial install (read small install).
Having a real hard time getting the Linux based front-ends to compile on FreeBSD. There also seems to be a problem with Linux 'centric Makefiles, some pthread incompatibilities, and issues with the SDL libraries. I may have to reload the system with Linux if my luck continues. Some of the front-ends that I currently looking at with some remarks about each:
AdvanceMENU - This an excellent front-end that appears to have everything I need, but refuses to compile under FreeBSD due to the configure unable to find SDL library (I tried --sdl-prefix, symlinking, etc). Manually editing the Makefile.usr and running make produces numerous errors. If I reload system with Linux, I will revisit this front-end.2004.01.25
Apparently I spoke too soon in my last post. I found only a hand full of cabinet MAME front-ends for Unix and the quality of each is so-so. I did find one remarkable one that compiled with a little hand editing based on SDL called "Mamed". Its a little more complicated than I need and the startup seems to take an abnormally long time. I am just looking for a front-end that will display a list of games with the appropriate screenshot. I may have to break down and create my own. The search continues...
I installed FreeBSD 4.9-STABLE on the system and got MAME working quite nicely through X-Windows. I had an old Trident video card installed until I get something better. In order to get MAME to fire up on boot up, I had to create a dedicated MAME user and have MAME start automatically from boot via rc.d script
#!/bin/tcsh cd /home/mame su mame -c startxand then set the MAME users .xinitrc file to something like
exec /usr/X11R6/bin/xmame pacman
to have Pac-Man started on boot up. I started looking for a MAME front-end that I can use the joystick/buttons to select which game to play that work under FreeBSD (hopefully without too much work). This is going much smoother than I imagined.
I managed to dig up Pentium II 550 processor and a generic slot 1 motherboard that had a bad floppy controller and some USB issues from an orphaned customer computer. I had three 32mb PC-100 SDRAM modules, a Netgear NIC, a ESS 1371 sound card, and a Western Digital 10g drive laying around in my cruft box to form the computer side of the MAME cabinet. I still need an ATX power supply, a good video card with TV-OUT, and a backplane from an ATX case.
Where to start... I am debating on which operating system (Unix,DOS,Windows), display (TV or Computer monitor), and even what kind of wood to use when building the cabinet. I think I will start with the getting the computer and display side of things taken care of and then worry about the cabinet as the cabinet design will be around the display used. My searches on the net show that a lot of the early cabinets used DOS, but I noticed a lot of the builders wanting to upgrade to linux. Personally, I have more experience with FreeBSD than Linux, so maybe I will start prototyping with FreeBSD and see how far I get...