Welcome back to another interview here on Retroblast. Today we have with
us MAME developer Pierpaolo Prazzoli (Reip).

1. Tell us a little about yourself?

Pierpaolo, I'm 21 years old and I live in north Italy.

2. Where do you work/go to school and what do you do?

I study Computer Science Engineer at the university
where I've just finished 2nd year, but that doesn't help much to understand
emulation ;-)

3. Can you tell us some of your early Arcade/Gaming Memories?

The genres in arcade games I like to play more
are: platform, beat'em up, adventure and fighting games. I remember I used
to play Street Fighter 2, the Mortal Kombat series, Tumble Pop, Vendetta,
Sunset Riders, The Simpsons, X-Men, World Rally, some Neo Geo game and
probably some more I forgot, but I wasn't a good player ;-)

I also have a NES and my favourite game is Super Mario Bros. 3. I used
to play it a lot, I discovered lots of secrets and it's probably one of
the few games I was really good.

4. Top 3 favorite video games of all time?

There are 3 games I really enjoyed to play and
finish them and that sometimes I still have a play:

Super Mario Bros. 3

Starcraft

Diablo 2

But I also like some adventure games I could
have added, like the Monkey Island series.

5. Do you own any consoles or Arcade
Cabinets?

I own a NES with some games: Super Mario Bros,
Duck Hunt, Super Mario Bros. 3, Top Gun 2, Double Dragon 3, and a few others....
but I don't have any arcade cabinet.

6. What emulation projects are you currently involved in?

The only project I'm involved is MAME, where I try to do my best trying
to help, fixing some random bugs posted at MAMETesters or trying to add
some new dumped games even if I'm not the best dev eloper in the project
(I think everything I did could have been done by someone else, because
nothing that I emulated was too difficult).

Actually some years ago I started to do a simulator
for a table top game I still have (like the ones done by _MADrigal_): it's
Caveman by Tomy, but I never finished it because when I was working on
it I discovered MAME and found more enjoyable emulating rather than simulate
something, but maybe one day I'll get back to it.

7. Can you tell us how you got involved in them and what drew
you to them?

I knew emulation from some friends then
I discovered MAME and found its source code was also available. I was
intrigued how such program worked but I didn't know anything about computer
programming. So when I was starting learning programming I decided to
download the source code to see how it was possible to emulate an arcade
game in a PC, but when I opened some source code files I didn't understand
a single line.

So I started to study the basic stuff of a driver
and started changing some inputs and adding some random clone I downloaded.
After some time I found somewhere some unemulated ROMs, so I searched
if their names were in the source code, just to try to add them and hoping
everything would have worked like adding the simplest clones. When I
looked for “gumshoe”, I found that
in vsnes.c driver there was a comment saying: “Dump needed: Gumshoe” (or
something similar). I was happy because I found a game to add. I tried
adding it, but with only a romswap it didn't work, so I contacted Haze
if he could have give me some help to understand MAME code and how to add
it.

All this lead me to keep in contact with Haze, to understand every day
some new par t of MAME code, to understand how most of arcade games work
and what you've to do to emulate them, even if Gumshoe became playable
almost 2 years later ;-)

8. What was your first driver or submission in MAME?

My 1st sub-mission was a relative big update
to the VSNes driver. While I was trying to add Gumshoe, I found there were
more games and clones that could have been added to the same driver and
since I'm a NES fan I enjoyed a lot doing it. I remember I spent something
about 3 months (probably a lot compared to the relative simple things I
did) to do the 1st update, just because these new games have a chip acting
in a different way compared to the games already in the driver, they want
some bits swapped around and they have some little protection.

9. What is your favorite driver in MAME or favorite MAME memory?

My favorite MAME memories are the ones when something
that was meant to be difficult gets emulated. For example when some nasty
encryption is defeated, like the recent Sega decryptions or the DE102 ones,
but I also like when some obscure game, no one has ever seen it, is found
and emulated.

To mention it I like what the guys at MAME Italia did to find obscure
Italian, Spanish, Korean games and helpful bootleg that helped to decrypt
the original game and some others that had a similar encryption. So I like
helping them identifying pcbs, checking dumps and emulating what they find.

About the favorite driver I would say one of mine but they're all crap
games :-)

There're lots of good and not simple drivers in MAME that I can't just
mention a few of them.

10. How many hours a week do you spend working on MAME or other
projects?

It depends from the periods. Sometimes I only have time to check the emails
and no time to program, sometimes I've a lot of time to have a look at
something or sometimes I've time but there's nothing I can do ;-)

11. Do you speak/meet with other MAMEdevs?

I usually speak online with some devs, usually with Haze and Dox who helped
me a lot to understand how MAME and game work and they still help me, but
I never met anyone.

12. What piece of MAME code or work are you most proud of? And
what does it do?

It's the Hyperstone E1-16 / E1-32 cpu core that emulate this cpu used
in some Korean games. I'm proud of it not because the games it allowed
to emulate are great, in fact they aren't so good, nor because no one else
could have emulated it, even if the cpu is a bit weird probably any other
dev could have emulated it, but because doing it I learnt a lot about cpus
in general. I didn't know anything about the internal work of a cpu when
I started emulating it and almost everyone would have bet someone else
would have rewrote it from scratch to make it working.

I worked hard understanding what the cpu does inside itself , how MAME
handles them and with a big help from Dox who fixed some bugs and did some
good additions, we got the games emulated after 2 years of work! I was
really happy when I saw the 1 st game booting! Now I hope to find more
games using this cpu which it's not so bad for simple games without powerful
effects :-)

13. Are there any things in particular that you like to work on?
Anything you find you are particularly good at?

Sometimes I like to try to emulate trivia games because you've to find
how the questions are read by the game, sometimes it's really easy and
sometimes they are read in funky ways. I also like to emulate crap and
obscure games which use a con version pcb for an existing hardware like
the conversion games running on pacman or galaxian hardware.

Then there're simple but enjoyable games with lots of simple things or
simple effects all mixed together, such the driver I did for Mighty Warriors
(where there are simple graphics stuff and effects, but I never did them
together) or Multi Game 5 driver.

14. What does your significant other think of MAME and other projects?

She knows it and sometimes she asks something
but she isn't much interested about it.

15. What do you use for test equipment or use when developing
MAME?

I use my ghetto pc (using R. Belmont words ;-) ), the really good debugger
built in MAME and a simple HEX viewer just to view what there's inside
ROMs.

16. When testing MAME do you use
a keyboard and mouse or do you use Arcade controls?

I use keyboard and mouse, I don't have any arcade
controls.

17. Do you use a front end, if so what is currently your front
end of choice?

I don't use a front end because it's simpler to develop just typing the
game name you're working on and select the commands already used in the
console buffer.

I used a front end when I didn't develop yet for MAME, but it was my
own one (of course it was never finished and it was never released)

18. How does MAME currently compare to what you thought MAME would
be when you first started?

When I first started knowing MAME I was shocked by the amount of games
emulated and by the updates that constantly were released with tons of
bug fixes, new games supported and improves added, but looking at it now,
I see the emulation becoming perfect for more and more games, something
that years ago seemed impossible now is emulated (encryption or protection
defeated), also with the time more prototype or rare games are found and
preserved. I see MAME becoming even more a documentation project with more
people trying to contribute to it in any way they can (providing new games
dumped, sending bug fixes, sending pcbs, ...)

19. Do you feel like your work is appreciated?

I think some users like what I do, but there're also some who don't care
anything and I've no problem with them, no one has to like everything.

20. HAZE paid you a pretty good compliment in his interview. That's
got to feel pretty good? How did you start working with him?

I thank Haze for the good compliment he gave
me. I started asking him some (dumb) questions when I wanted to add Gumshoe
and then when I started what became my 1st VSNes driver update. He taught
me the basic stuffs of MAME infrastructure I needed to know in order to
make the progresses and then he also let me do a couple of driver he could
have done in little time, such as Tricky Doc, Ozon I and R2Tank (however
he still gave precious help to finish them) just to let me understand more
things about MAME and arcade games.

21. What would you suggest for some young developers, who are
interested in MAME / emulation, as a starting point?

I would suggest to try to understand the basic
stuffs of a driver (or about emulation) before starting to do any changes.
Then you can look at some simple driver to see how things work together
and maybe changing something to see what happen (there's no better method
to learn than doing mistakes on your own). Then you can look for something
you'd like to improve or search for any relative simple bug and if you're
really interested you'll have to work hard analyzing what the game writes
/ reads trying to understand what the game should do with those datas.
However you won't immediately find the right solution, but you don't have
to give up. Also simple games or simple systems are already emulated and
almost everything you can find that's not emulated is well protected or
really hard, but if you're enthusiast and if you're interested, you could
find how to emulate them or you could find some information that can be
useful for someone else to finish the emulation.

22. What would you like to see?

I'd like to see the remaining encrypted games
emulated, such as the Data East ones using the DE156, the Italian game
Wink and finally Gaelco games which have encrypted video ram and use a
nasty protection MCU (I'd like to see World Rally working).

Well there's always space for a couple of Korean and Italian games :-)

23. What irritates you?

People who make profit from MAME, selling ROMs and illegal cabs with MAME
inside them.

24. Dumbest question you ever actually answered?

I honestly don't remember, I've probably removed it immediately after
it was asked ;-)

25. Closing comments?

What to say... Where I live arcade games are
hard to find, because they were replaced with all these video pokers I
hate so much. So I hope to see the arcade industry coming back to its good
days taking a revenge over the crap video pokers.

However I would like to thank Nicola to have created MAME and all the
good guys working to the project.

Conclusion

I'd like to say thanks to Pierpaolo for participating
in this interview. Even through his finals and his many bug fix submissions,
he still managed to find time for this interview.