ATI Rage 128 AGP Video Card / NVIDIA Geforce / S3 Virge
I also have a few other mixed boxes which require a LOT more work, hardly
worth the money savings.
On the Operating System deparment there are, in my view, 2 choices: Linux and DOS. Both
have their pros and cons.
Linux
Pros:
Faster game loading
Broader sound support
SMP support
Open source
A lot of room for optimization
Actively developed
Cons:
Complicated optimizations
Relatively slower boot time
Programming on new kernels (2.6) requires recompilation
DOS
Pros:
It boots FAST
Configuration is simple
Cons:
Few sound cards to choose from
Game loading is a bit slower
Software used
For both installations, Linux and DOS I use AdvanceMAME and AdvanceMENU from Advance Projects.
Why? Well lots of reasons. I use actual arcade monitors, and they function at certain frequencies
which are not attainable unless they are reprogrammed (which is what AdvanceMAME/MENU) do.
Hardware used
All Arcades run regular Arcade monitors. Most relatively new Arcade Boxes come with a JAMMA
connector, this is where the JPAC comes into play. This is
the interface between your monitor and your controls.
How it all fits (DOS)
Sound
So what hardware is supported? The sound cards that are available for DOS are whichever are made for DOS and have drivers for it. Which btw aren't as many as one would desire or imagine. If it's ISA it will work. If it's PCI, then thats another story. You need to make sure there are drivers for it. I have used the on-board in some VIA motherboards. However, these motherboards came with legacy support. Most, if not all, new models DO NOT have legacy support, so you will need to get a sound card separately.
I have tried:
VT82C686B
This on-board sound simply rocks. You can configure the IRQ from the BIOS by enabling Legacy Support
in the Gigabyte GA-7ZXE. Sound configuration requires a simple [auto].
Pay attention to the number it is 8378. This one works I don't know about any other numbering, specially those new CMIs that come in the SIS(7012) chipsets will not work. Now configuring this card can be tricky. You gotta juggle with the BIOS settings until it gets assigned on IRQ 5. This card will definately not work on any other IRQ. Don't ask me why, I am just clueless. Sound configuration requires to be [allegro/sbpro] not [auto].
ENSONIQ PCI 128
Great card, configuration with the Sound Blaster drivers is hassle free. Sound configuration requires a simple [auto].
Hard Drives
Well it's all fair game here, but you probably want to get atleast ATA 100/133 7200 RPM. The catch here is that you need special UDMA drivers. Should probably check your motherboard has an ATA controller supported by them.
The Rage 128 engine is the best for the job hands down. Never any trouble with this card and requires
no tweaking at all. Can generate every mode required from my experience.
Now here are some mixed experiences, one of the Geforce cards I got did work with no tweaking, the other
however required to completely hand tweaked game by game. Could just be bad luck. The TNT2 Model 64
I have didn't require additional tweaking.
Alright, it is a 4 MB PCI card. It works. Requires some tweaking. It's a bit slow though.
Programming Tool
The programming tool in DOS works without issues and it is available from the Ultimarc
How it all fits (Linux)
Of Linux in general
This is not a linux tutorial, so I will keep it as short as possible. I have only tried the SVGALib
video drivers, the cards I have tried which are the ones mentioned above work without issues. The
drivers for ATA seem to work faster here. You will probably have to find the right ATA module for your
hardware.
The setup in linux differs, it requires the development version of svgalib. Latest version 1.9.18. Before compiling it you gotta use the patches from AdvanceMAME in the contrib directory of the distribution. Compile svgalib and the helper module and insmod it.
For AdvanceMAME/MENU you can use the configure scripts, just make sure you have installed svgalib first otherwise the svgalib support wont be compiled in.
If you want to make AdvanceMENU to be loaded upon boot you gotta do the following:
Make a little C program for instance execute_mame.c:
That will make sure its loaded upon boot. Do make sure you have your svgalib_helper module added in the loaded modules
upon boot.
Now the programmer. There is an ipacutil for linux available. It should work flawlessly on 2.4.x kernel versions. However for the 2.6.x branch you require a different approach. First of all you gotta edit the ipacutil makefile to compile for ARCH_OTHER which means you gotta get rid of the ARCH_386 define. After that you gotta patch your kernel with kb.patch, then go into the kernel setup and configure support for IPAC under Device Drivers->Character Devices and then recompile.