Phil Stroffolino has contributed numerous drivers to the biggest
emulator of them all, MAME. Games like Double Dragon, Renegade, Rolling
Thunder and the System16 series come to mind and we think of the hard
work involved in making those classic games work. Of course, we were
interested in having Phil InterViewed so that you too could learn a
little more about this great MAME developer. You'll be glad to learn
about his future projects for MAME, a couple of great games coming
our way. So, without further ado, here is an InterView with Phil
|InterView with Phil Stroffolino - January 18, '99 by JoseQ
1. Could you introduce yourself and tell us about how you got into Emulation
The first emulator I was exposed to was Marat Fayzullin's fMSX. I had never
heard of this computer (it wasn't available in the United States), but it was
still an amazing thing to see in action. To my delight, Konami and Namco had
produced many excellent arcade ports for it.
As it turned out, the MSX was very similar hardware-wise to the Colecovision
console from the early eighties. I sent Marat some hardware specs, made some
ROM images available to him, and literally overnight he had the first version
of ColEm up and running! Talk about magic... My bulky Colecovision and carts
are now safely tucked away in storage.
Thinking back, Marat was really ahead of his time. His emulators were open
source and written with portability in mind. I studied the resources he made
available at his site (source code, and one of the first "how to write an
emulator" documents) to learn how these emulators worked.
Soon afterwards, I learned about MacMAME and could barely believe it. I kept
thinking I was in a dream, about to wake up. I was in shock when I saw Green
Beret (Rush 'n Attack) working, and played it to the end even with the bad
colors and sound. Around this time, I first began to get into collecting
2. What did you have as previous programming experience?
I have a degree in Computer Science, work fulltime as a programmer, and write
shareware games as a hobby.
Outside of MAME, I've done a few standalone emulators and ports, the most
significant being a TRS80 Color Computer Emulator for the Macintosh.
3. How do you select the games you want to work on? Is it
mostly gaming tastes, hardware specs, or anything in particular?
I'd say nostalgia is for me by far the biggest factor. There are still dozens
of arcade games I remember fondly from my teenage years that haven't been
emulated. These are the games that I'm always drawn to first. Tiger Road,
Gladiator, and Renegade are great examples. I played them a lot in High
Emulation isn't just about preservation. It's a great alternative for PCB
owners. It's fun playing a game in an original cabinet (because of the nice
artwork), but I'd just as soon run games on a fast PC, with a crisp monitor,
responsive joypad, and nice speakers. MAME offers features that can enhance
the gameplaying experience, including high score saving, input configuration,
the ability to pause, and the cheat system.
I keep most of my PCBs in storage. They are bulky and sometimes tricky to
hook up (several are non-JAMMA). Most importantly, once a game I own is
emulated, I don't have to worry about the PCB going bad.
4. What has been the most difficult part of developing a particular
driver and what driver was it?
Protection for me is one of the most frustrating things to encounter when
working on a game driver. You can't imagine how happy I was when the Japanese
Renegade bootleg (aka Kunio Kun) became available. Even with ample help from
Carlos Alberto Lozano Baides (a very smart guy) I'd just about torn out all
my hair trying to get the US version of Renegade to work properly. I even
sacrificed a working PCB in hopes of getting the MCU code dumped.
One of the nicest things about working on MAME is the spirit of cooperation.
There are many specialists, and chances are if you are interested in a
particular game, several other developers are, too. By freely sharing
information, MAME developers tend to get games get emulated much more quickly
than when programmers work in isolation.
5. You have contributed with System 16 drivers for MAME. Is adding
other Sega games simpler once you have a good driver up and running?
Certainly. Thierry Lescot did the hardest part, reverse-engineering the arcade
hardware, and later Mirko Buffoni developed the original set of MAME drivers
with his blessing. There had actually been a number of efforts to port the
DOS-based System16 code to the Mac, but it was beastly work and none of these
efforts got too far off the ground (although Brad Oliver came pretty close).
My initial goal with MAME's System16 support was to experiment with video
driver optimizations, and fix the buggy/missing music and graphics for the
original set of supported games (Shinobi, Altered Beast, Golden Axe, Alien
Syndrome). Nao was very supportive, giving me detailed information when I ran
The other games which were added around this time were almost an afterthought.
I plan to make time to return to them sometime soon, and give them a
6. What got you to start working on Rolling Thunder for MAME?
Rolling Thunder is a game that blew me away when I first saw it in the arcade.
This game came out way back in 1986, can you believe it? I can't think of any
game from that era even close to it, in terms of playability, graphics, and
sound. Anyway, Jimmy Hamm's emulator (even in beta) was impressive, but it's
not portable (Mac owners are out of luck) and had some minor glitches, so I
had big incentive to get it working in MAME. Without Jimmy's help, it would
have taken a lot longer to get up and running. I'm very grateful to him.
7. Do you think that the complete hardware set will soon be emulated
for this game?
You mean perfect Rolling Thunder emulation? Sure! It's almost there already.
But perhaps more interestingly, there are nearly a dozen other games that run
on the same hardware (Namco86 board).
8. What type of games / hardware do you plan to be working in the
Some games I'm working with off and on include (in no particular order):
SNK games from the mid-80s
Legend of Kage
9. Is there anything about MAME that you would like to change if you
could go back to the beginning and propose it?
"Save State" feature would have been easier to implement if Nicola had it
as a goal from the beginning.
I also wish that graphics decoding had been done in a way that would allow ROMs
to be loaded and processed one at a time. This would reduce RAM requirements
and also make it easier to unpack Gfx ROMs for certain games.
MAME's architecture is flexible, and the core is always evolving. There are
plenty of things we have now, that would have sped up development if they were
in place from the beginning (i.e. the full-featured debugger).
10. What is your feeling about those endless versions of MAME out
there, pMAME, aMAME, NeoMAME, Neo-FreeMAME, etc? Do you think that
by splitting MAME there would be other benefits than a quicker download?
If people find pMAME or aMAME works better for them, great.
I don't understand the appeal of NeoMAME. Anyone who plays only NeoGeo games
is really missing out, in my opinion.
I see even less point to Neo-FreeMAME. I mean, unlike NeoMAME, the
application size isn't significantly smaller, and it's no faster.
11. Any thoughts on the current state of the Emulation scene as opposed
to the past year, or what you think await us?
There are over 3000 arcade games out there, less than half of which have been
emulated. I think the most exciting times are yet to come.
There are a lot of games which aren't yet emulated because of encryption.
The newer Konami ones come to mind (Crime Fighters, Haunted Castle, Simpsons,
etc.) It's very likely that a clever emulation author will make a breakthrough
here. Sound samples will hopefully become a thing of the past, even for the old
games where samples have traditionally been used.
Simulations of pre-CPU 1970's arcade games may begin to pop up.
New CPU cores will appear.
Hopefully dynamic recompilation will make an appearance in open-source
free emulators as well.
We thank Phil Stroffolino for his time in
answering these questions, and for all his precious work in MAME.
His additions to the emulator has certainly been awaited by many,
and the same goes for his next projects! I certainly can't wait to
see Empire City, Pit Fighter and The Legend of Kage again! Kudos to
Phil and the whole MAME Team for what is undoubtedly the most popular
emulator of all time. If you want to nominate another MAMEDEV to be
InterViewed, just drop me a note
and I'll look into it.
One Article Up: PSEmu Pro News!
One Article Down: SNes 9x DOS with GUI!