MAMOS
Project
Multiple Arcade Machine Operating System
(probably have to come up with a better name too)
(DEAD PROJECT right now, nothing done or thought about on this in a LONG time... maybe someday.. 05/28/02)
BIG PICTURE
Almost anybody reading
this has played MAME, the Multiple Arcade Machine Emulator, and for those of
you who haven't, here's the recap. With MAME you can play all of the classic
arcade games that you grew up on (like Donkey Kong, Pac man, Galaga, Tempest,
even the Vector-Graphics based Star Wars game) and do it all from the comfort
of you own home PC. Well, there are some limitations to this, and many home
users have found ways around it, by hacking up keyboards, and building arcade
cabinets from scratch, but it doesn't get around some of the fundamental problems
which many games have where the sound isn't quite right or the ROM dumps aren't
quite what they should be.
The idea I've got for MAMOS
is to utilize some open-source initiatives that are already out there (xmame,
and Linux primarily) and re-write a dedicated OS only for the use of running
classic arcade game software. One of the biggest logistical problems with this
is going to be getting the original manufacturers to license the games or open
them up to the public domain. The ultimate culmination of this project is going
to be two-fold, a home console system that can be purchased along with game
licenses, as well as a commercial arcade system which can be used in an arcade
setting for profit (think of playing any of your favorite classic games at the
neighborhood pizza place, or the arcade, or the coffee shop). I see that some
of the licensing issues might be resolved by getting manufacturers to license
their games for dedicated systems (a Sega machine where you can play Zaxxon,
Space Harrier, or Congo Bongo), or available as CD collections of their games
(Hotrod Controllers has a Capcom collection that is officially sanctioned).
MAMOS CONCEPTS
The primary theory here
is to utilize a standard (reproducible), PC architecture, and generate an OS
that can emulate the classic Arcade systems Hardware (say through 1992) and
is optimized for the specific hardware design (an embedded OS). The PC should
be one with a P2/K62 era processor (app. 500mhz) and 128 MB of ram. There is
a possibility that many portions of the Linux kernel can be used for the core
of this, and then enhanced, utilizing some of the xmame code for reference as
to how to access the memory and emulate the classic processors. The other possibility
I see is generating the OS with the means of handing off and retrieving the
processes from add-on PCI/ISA boards which have the original processors on them
(many of the Z80-68800 era processors are still produced and should be able
to, if funding and engineering is available, be integrated into 2-3 add-on boards
which would then handle the processes that the original arcade hardware did,
and utilize the primary PC hardware to handle the administrative functions and
handle interpreting the sound and graphics structures. This design would allow
a minimalization of emulation as many of the original processors would be handling
the functions and the OS would only have to know how to hand the processes to
the right processors.
SUMMARY
Customizing the Core Linux
Kernel should allow us to have the initial processing and memory management
functioned handled. X-Mame should give us the basic information needed to handle
the emulation of the old processors, as well as the interface with the ROMs.
The primary needs are going to be:
- Determining the needed
Hardware set-up and defining a standard (how much variance will the OS handle,
etc, etc)
- Customizing the Kernel
according to said Hardware
- Customizing x-mame to
function as a shell does so that it will be the only interaction (The biggest
part of this should be the GUI front-end, and File-System structure)
- Integrating the two
primary portions of the code - Last but not Least, Funding, and organization.