|
MAMEDev Interview: Reip
Interview by Bob Seidel
July, 2005
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.
Reip's MAME WIP
site
MAME Italia
|