Ernesto Corvi has been surprising us with great
additions to the biggest emulator of all, MAME. Games
like Double Dragon, King of Boxer, Karate Champ, Pacmania,
Super Punch Out are just some of the drivers he has worked
on in MAME, after his experiences with Super Wild Card,
one of the first SNES emulators (if not the first) and
the UNAE port to the Mac. A guy with so many talents,
certainly deserves an InterView. So without further ado,
here is Ernesto Corvi, answering a couple of questions
regarding MAME and himself among other things:
|Ernesto Corvi InterViewed! - January 27, '99 by JoseQ
1. Please tell us a little about yourself and how you got into programming
and eventually into emulation? How did you end up in MAMEDEV?
My name is Ernesto Corvi, I'm 25 years old and native from Argentina. I
discovered programming when I was at the age of 10, when my parent sent me
for a Commodore 64 BASIC course. I liked it so much that from that point
onward I realized that was what I liked to expand my knowledge on. I became
a self taught person, buying every book I could find and moving around
platforms until we reach today, 15 years later, when I still enjoy
programming as much as the first day. Emulation came around 8 to 10 years
ago for me. I used to have an Amiga, and I recall seeing a C= 64 emulator
out there. It was so cool. I figured that at some point I would love to
write something like that, I just didnt had enough knowledge at the time.
So the very first emulation project I worked on was when I already had a
Mac, and there was this Amiga emulator written for Unix (UAE). So I decided
to contact the author and tell him that I wanted to port it to the Mac, and
off I went writing the conversion. It worked pretty good, I released quite
some versions of it, but then I had the feeling I was ready to write my own
So I started to work on the, now very old, Snes emulator (Virtual
SuperWildcard). I did both Mac and DOS versions of it, since at the time the
demand for it was pretty big. Richard Bannister also joined in the project
after a while. Unfortunately, after some months, real life matters took over
and I had no choice but to call it off. I tried to give some assistance to
other Mac emulator porters/programmers, like Richard Bannister and John
Stiles, but time didnt allow to face a big project again. Eventually, as
time went on, I found myself with a good enough amount of free time again, I
found Mame and was really bummered that none of the arcade soccer games were
emulated into it. So I wrote a driver for World Cup 90, and submitted it to
Nicola. And before I knew it, I was a Mamedev member and I can say now, I'm
real happy about it.
2. How long have you been working in emulation projects? What has been the
most difficult project to tackle up until now?
I think its been almost 5 years now since the UAE port. As of the most
difficult project on emulation, I think they were the first ones. Emulation
gave me a more inside scoop into multi-platform programming, endian issues,
and that sort of things. Also, how to handle people (and my own) anxiety and
pressure on this very popular scene.
3. Having some console emulation experience, how would you relate it to
Arcade emulation? Are they similar? Is one more difficult than the other?
The foundations are the same. I think arcade emulation is a bit easier,
because some time you can find some documentation around. On consoles its a
bit harder to get ahold of such documentation, if it ever gets released. On
the other hand, usually, properly emulating a console is much more
rewarding, since you get to work many more games that run on that hardware
than arcade emulation.
4. Out of the many MAME drivers you have worked on, which one has been your
favorite to work with and why?
Well, of course my own favorite games were the ones I probably enjoyed most
working on. But I also like the complexity and challenge some other
proposed. All in all, I guess is just thrilling to see some game working
again and very rewarding when you can actually play it.
5. How do you select which driver to work on? Are all your favorite games
There are many factors. Game that I like, games that my closest friends
like, games that were not my favorites, but I recall they were cool. I also
collaborated with many other people on the team trying to lend a helping
hand when needed. And, of course, some out of curiosity.
6. Can you tell us a little about the progress of Pacmania and the Namco
It's looking good. I made significant progress around 2 months ago, making
almost all the games available at least to run. Pacmania and Galaga 88 are
the only ones playable right now tho. Unfortunately, there are still various
glitches with the sprites, and I havent had enough free time in the last
couple of months to sit down and investigate it.
7. How bout the status of Pole Position? What would be a possible outlook
on when we'll be able to play that game again? Why has it been so difficult
given the age of the game?
Pole Position is an interesting case. There are quite some reasons why it's
taking so long to get emulated. The very first milestone was to find
information about its CPUs (Z8000), and write a cpu core for it. Juergen has
got to that point. I've got it up to the main screen, while debugging the
cpu core on the way. The next milestone I think its to get the cpu core
completely bug-free. That is no trivial task, considering this is the only
game I know wich uses such CPU. Another issues are a 4 bit microcontroller,
and quite some electronic ciruitry used mostly for sound generation. There
are some other mamedev guys working on it speak, so I have a good hunch that
sooner or later we're going to see this game working.
8. You've collaborated in the creation of drivers for many games. Can you
tell us how the workload is distributed? Do you find working with the other
MAMEDEVs easy even though you're thousands of miles away?
The project is organized very well. I personally think that all credits
regarding to that have to go to Nicola work as coordinator. He's an
excellent coordinator, and most definitely the pilar of the project itself.
I also have to mention the excellent work and effort of all the other mamedev
people. They all definitely make it very comfortable to work in Mame.
9. How about working in MAME itself? What would you recommend to someone
who wanted to start working on drivers? What would be a required skillset,
and recommended talents?
I guess the usual skillset is C lenguage knowledge, reverse-engineering
skills, an electronics background is never bad and the usual endless
patience any programmer must have. The good advantage about Mame is that
it's like a framework environment, were the size of the code you've to write
gets vastly minimized.
10. What do you think about the current state in MAME? Is it slowing down
or getting better and better? What should we expect for this year?
It's hard to foretell whats going to happen. As 1999 started, I havent
noticed any slowdown, which in a project of this size, usually means it is
getting better and better. About what is to be expected for this year, I
guess we'll have to wait and see. As far im concerned, I'd like to give
everyone as many suprises as the last year. That's most definitely the
spirit on the team too, but only time will tell.
We thank Ernesto for dedicating some
time to answer these questions and you for reading the whole
thing. I hope you enjoyed reading this InterView, and keep
checking back on EV for the latest news, ReViews and
InterViews around the net.
One Article Up: More Rumors at the Mill
One Article Down: Next Generation Emu?