Ernesto Corvi has been surprising us with greatadditions to the biggest emulator of all, MAME. Gameslike Double Dragon, King of Boxer, Karate Champ, Pacmania,Super Punch Out are just some of the drivers he has workedon in MAME, after his experiences with Super Wild Card,one of the first SNES emulators (if not the first) andthe 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 questionsregarding MAME and himself among other things:
|Ernesto Corvi InterViewed! - January 27,1999 by JoseQ
1. Please tell us a little about yourself and how you got into programmingand eventually into emulation? How did you end up in MAMEDEV?
My name is Ernesto Corvi, I'm 25 years old and native from Argentina. Idiscovered programming when I was at the age of 10, when my parent sent mefor a Commodore 64 BASIC course. I liked it so much that from that pointonward I realized that was what I liked to expand my knowledge on. I becamea self taught person, buying every book I could find and moving aroundplatforms until we reach today, 15 years later, when I still enjoyprogramming as much as the first day. Emulation came around 8 to 10 yearsago for me. I used to have an Amiga, and I recall seeing a C= 64 emulatorout there. It was so cool. I figured that at some point I would love towrite 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 aMac, and there was this Amiga emulator written for Unix (UAE). So I decidedto contact the author and tell him that I wanted to port it to the Mac, andoff I went writing the conversion. It worked pretty good, I released quitesome versions of it, but then I had the feeling I was ready to write my ownemulator.
So I started to work on the, now very old, Snes emulator (VirtualSuperWildcard). I did both Mac and DOS versions of it, since at the time thedemand for it was pretty big. Richard Bannister also joined in the projectafter a while. Unfortunately, after some months, real life matters took overand I had no choice but to call it off. I tried to give some assistance toother Mac emulator porters/programmers, like Richard Bannister and JohnStiles, but time didnt allow to face a big project again. Eventually, astime went on, I found myself with a good enough amount of free time again, Ifound Mame and was really bummered that none of the arcade soccer games wereemulated into it. So I wrote a driver for World Cup 90, and submitted it toNicola. And before I knew it, I was a Mamedev member and I can say now, I'mreal happy about it.
2. How long have you been working in emulation projects? What has been themost difficult project to tackle up until now?
I think its been almost 5 years now since the UAE port. As of the mostdifficult project on emulation, I think they were the first ones. Emulationgave 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 andpressure on this very popular scene.
3. Having some console emulation experience, how would you relate it toArcade 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 abit harder to get ahold of such documentation, if it ever gets released. Onthe other hand, usually, properly emulating a console is much morerewarding, since you get to work many more games that run on that hardwarethan arcade emulation.
4. Out of the many MAME drivers you have worked on, which one has been yourfavorite to work with and why?
Well, of course my own favorite games were the ones I probably enjoyed mostworking on. But I also like the complexity and challenge some otherproposed. All in all, I guess is just thrilling to see some game workingagain and very rewarding when you can actually play it.
5. How do you select which driver to work on? Are all your favorite gamesemulated already?
There are many factors. Game that I like, games that my closest friendslike, games that were not my favorites, but I recall they were cool. I alsocollaborated with many other people on the team trying to lend a helpinghand when needed. And, of course, some out of curiosity.
6. Can you tell us a little about the progress of Pacmania and the NamcoSystem1 emulation?
It's looking good. I made significant progress around 2 months ago, makingalmost all the games available at least to run. Pacmania and Galaga 88 arethe only ones playable right now tho. Unfortunately, there are still variousglitches with the sprites, and I havent had enough free time in the lastcouple of months to sit down and investigate it.
7. How bout the status of Pole Position? What would be a possible outlookon when we'll be able to play that game again? Why has it been so difficultgiven the age of the game?
Pole Position is an interesting case. There are quite some reasons why it'staking so long to get emulated. The very first milestone was to findinformation about its CPUs (Z8000), and write a cpu core for it. Juergen hasgot to that point. I've got it up to the main screen, while debugging thecpu core on the way. The next milestone I think its to get the cpu corecompletely bug-free. That is no trivial task, considering this is the onlygame I know wich uses such CPU. Another issues are a 4 bit microcontroller,and quite some electronic ciruitry used mostly for sound generation. Thereare some other mamedev guys working on it speak, so I have a good hunch thatsooner or later we're going to see this game working.
8. You've collaborated in the creation of drivers for many games. Can youtell us how the workload is distributed? Do you find working with the otherMAMEDEVs easy even though you're thousands of miles away?
The project is organized very well. I personally think that all creditsregarding to that have to go to Nicola work as coordinator. He's anexcellent coordinator, and most definitely the pilar of the project itself.I also have to mention the excellent work and effort of all the other mamedevpeople. They all definitely make it very comfortable to work in Mame.
9. How about working in MAME itself? What would you recommend to someonewho 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-engineeringskills, an electronics background is never bad and the usual endlesspatience any programmer must have. The good advantage about Mame is thatit's like a framework environment, were the size of the code you've to writegets vastly minimized.
10. What do you think about the current state in MAME? Is it slowing downor getting better and better? What should we expect for this year?
It's hard to foretell whats going to happen. As 1999 started, I haventnoticed any slowdown, which in a project of this size, usually means it isgetting better and better. About what is to be expected for this year, Iguess we'll have to wait and see. As far im concerned, I'd like to giveeveryone as many suprises as the last year. That's most definitely thespirit on the team too, but only time will tell.
We thank Ernesto for dedicating sometime to answer these questions and you for reading the wholething. I hope you enjoyed reading this InterView, and keepchecking back on EV for the latest news, ReViews andInterViews around the net.
One Article Up: More Rumors at the Mill
One Article Down: Next Generation Emu?