|
Interview with MAME Developer
Derrick Renaud
by
Bob Seidel, aka "Mr. Resistor"
After a bit of a hiatus,
welcome back to another Retroblast interview. Today we have with us
MAME developer Derrick Renaud.
Derrick, tell us a
little about your self.
Hello, I'm Derrick Renaud,
40, from the Great White North (Canada).
Where do you work and
what do you do?
I am an Electronic
Technician. But I mostly watch cartoons all day while pretending to
fix TVs.
Can you tell us some of
your early Arcade/Gaming Memories?
As a kid I used to go to
the local K-Mart and play Amazing Maze. The lady there would even
bring me out a chair when she saw me coming. Then they replaced the
game with Lunar Lander, which did not last long before Asteroids and
Space Invaders took it's place. As the games got faster, I no longer
needed the chair. How can you sit down with all that action? A
friend of mine started working at a pool hall, so that became my new
home. The owner would let us stay till the sun came up if we wanted.
So I helped clean up after closing and could play all night free. I
was hooked on Time Pilot at the time. But then I was getting into
mid-teens, and Dragon's Lair had ruined the arcade industry IMO, and
I started playing pool more often, so I did not play many arcade
games any more. Also my addiction to Lucas Arts games began with
Monkey Island, so the computer took over my gaming fix.
Top 3 favorite video
games of all time?
That is tough, there are so
many, but here goes.
-
Sam and Max Hit the Road (and
every other Lucas Arts adventure)
-
Planetfall (Floyd rules!) (and
all of the other non-mystery Infocom games)
-
Time Pilot (you all thought I
was going to say Amazing Maze, eh?)
Do you own any consoles,
Arcade Machines, or PCB's?
I have tossed
or gave away a lot of stuff. But I think there is still a NES buried
away and a Frogger cocktail without a monitor. In my teens, people
would give me Arcade PCBs, and I dread mentioning this, but I
scavenged them for parts, just like my Colecovision, Odyssey,
TI-99/4A, etc. Oops! Who knew?

"Ya see Ru-dy!"
What
emulation projects have you been involved in and what are your
current active projects?
Just MAME. Most of my other
programming has to do with microcontrollers. MAME is as far as I
have gone with Windows programming. And I mostly stick to the
discrete system because that is my area of interest and has the
time-line of games that interest me.
Can you tell us how you
got involved in them?
A co-worker told me about
MAME at a Christmas party. I tried it and liked it. I started
browsing through the source code, but the DOS compiler used at the
time crashed too much to interest me further. Once the GCC tools
were used, I started to play around. Found the code well laid out
and easy to follow if you put a bit of time and effort into it. Then
started fixing some DIPs and such.
What was your first
driver or submission for MAME?
I think I was looking at
how Asteroids sounds were done, and came across the Discrete System.
It looked quite easy to play with. But Asteroids was no place to
start. I started looking at the other games and came across Fire
Truck. That seemed the place to start. I breadboarded and measured
the circuits, then coded up my first sounds. Keith Wilkins was a
great help explaining things and coding up some modules I needed. He
also turned me on to Frank Palazzolo who also helped me to
understand the inner discrete code workings so I could create my own
modules. I submitted Fire Truck and realized a lot of the Atari
games used similar circuits. So I then started pumping out discrete
code.

How many hours a week do
you spend working on MAME or other projects?
Summer Time = 0 hours.
Winter time it varies. 20-30hrs one week, then only a couple hours
the next week. It's a balancing act between wanting to
code/breadboard and wanting to go play pool or whatever.
Do you speak/meet with
other MAMEdevs?
We all talk by e-mail when
needed. But I have only met Frank in person.
What piece of MAME code
are you most proud of And what does it do?
The Fire Truck sounds I
guess. That was the first, and then I re-wrote it to create the
sounds automatically from the component values instead of using
generic waveforms. Bringing it from a simulation to emulation. When
I re-coded it, and it worked the first time, and sounded vastly
superior to the generic emulation, I was happy. Now the bell sound
actually sounded like a bell. Polaris was another milestone due to
the complexity of the circuits. And now Phoenix with the accuracy of
it measured against my storage scope.
What does your
significant other think of MAME and other projects?
Past girlfriends have liked
the MAME cabinet I made, but they think the schematics might as well
be a squashed bug on paper. They don't have a real interest. One
recent girl who followed me home from the bar actually walked out on
me when I told her I built the cabinet. I was BS-ing her all day,
and she figured I was definitely lying this time, got very mad and
left. Oh-well. Is that fit to print?
What do you use for test
equipment?
I have recently purchased a
DS1M12 Stingray USB oscilloscope. This allows me to easily compare
the circuit waveforms against MAME output. I also recently bought 10
each of 300+ resistors, capacitors, ICs, etc and some new breadboard
kits. This allows me to breadboard and test various circuits and
learn how they work. I used to use a 100MHz analog oscilloscope, but
it is much easier to scope the waveform onto the computer and
analyze as needed.
DS1M12 Stingray USB
oscilloscope
When testing MAME do you
use a keyboard and mouse or do you use Arcade controls?
I designed and built
my own cabinet.
Can you describe your
arcade controls for us?
It has a trackball, 4-way,
8-way and rotary joysticks. I have made a spinner from a VCR capstan
motor that uses the motor windings to select different levels of
magnetic dampening, so it can be adjusted from a free spin forever
type, to free spin a couple of turns, to no free spin. I just have
to get motivated to get a new metal panel made to put it on.

Very Nice...
Do you use a front end,
if so what is currently your front end of choice?
I use MAME32 for the
cabinet when people come over. But all my testing is done with the
standard command prompt MAME. I do like some of the features of
other front-ends, but it is just too easy for me to compile MAME32
and have it always up to date.
I use Meedio as my TV's
Media Center that plays all my music, TV shows, PC and console
games. So I guess that is my other front end.
How does MAME currently
compare to what you thought MAME would be when you first started?
It keeps getting better and
more accurate.
Do you feel like
your work is appreciated?
I seem to have a fan club,
so I'd say yes. Thankfully I mostly work on sounds that have not
been or are improperly emulated. So it is hard to anger people by
giving them something that was not there. Unlike some poor MAMEdevs
who are forced to make decisions that anger the game players by
changing things that the gamers believe is their right to not have
changed. I am a gamer myself, but I also understand the purpose of
MAME.
Aging capacitors are
often a first step in diagnosing video problems, but are not
mentioned as much for sounds. Do you see this becoming a bigger
issue in trying to simulate sounds off of recordings or in general?
While fixing TVs only 10
years old, I find TVs where every cap is bad. So it does not look
good for 25 year old arcade boards. That is why I breadboard with
new parts when possible. I really only use samples for verification
anymore. And I can tell by ear if the values are wrong compared to
the schematics. That is how I know the Phoenix samples are nothing
like the schematic sounds. But it turns out the schematic values are
wrong. Wrong schematics will also be a continuing problem, if we
cannot find the old boards to verify against the schematics we have.
What steps and
information would you suggest for someone to give you when trying to
help you simulate sounds?
I always welcome positive
comments or constructive negative comments. But comments like "it
does not sound right" are of no use to me. Be prepared to offer real
information such as the component values from real PCBs. Because you
can either replace the parts on your PCB with the schematic parts to
make it sound like my MAME sound emulation. Or tell me the values
from the real board. It would also be helpful to have an ohm-meter.
Sometimes in schematics the connections are drawn wrong. If they had
a photo of the board, I could show where to connect the meter, to
see if a connection really exists, or if it connects the way I think
it does. Space Chaser is one board that can be verified in this
manner.
The first "Blue Screen Of
Death" in Space Chaser and a gameplay screen
What would you suggest
for some young developers, who are interested in MAME, emulation, or
Sound Emulation as a starting point?
First, I would recommend to
read the src\sound\discrete.h file in the MAME source. It explains
the basics of all modules. It also gives a link to some free on-line
electronics text books. Then see my web page for the start of some
documentation.
The Phoenix tutorial is a must read.
Then examine the current
discrete code in src\sndhrdw\whatever_game.c. Compare the code to
the schematics and see if it makes sense to you.
Borderline has a couple of
relatively easy circuits. The "JEEP ON" and "WALK TRG" sounds. I am
currently coding the 555 oscillator circuits used for the other
effects. After that I will have to add the easy ones myself, so get
cracking if you plan on beating me to it.
Serious work would require
an outlay of cash for testing parts, breadboards, variable power
supply (a computer power supply will work for some applications) and
an oscilloscope. The scope I now use is the
DS1M12 Stingray. I found it to be the cheapest price for the
features needed, but don't expect to use it for anything but sub
100kHz testing.
SPICE programs can be of
some use, but they are very inaccurate voltage wise. The circuits
need to be verified on an oscilloscope.
What would you like to
see?
Peace on Earth, and....
More people making schematics from their PCBs that we don't have
schematics for. Or verifying the components against the schematics
we do have.
What irritates you?
Demanding people on the
forums, who don't have any interest in learning squat about the MAME
source code.
Dumbest question you
ever actually answered?
Besides this one? I can't
remember any that have to do with MAME. But when I used to post info
about my X10 mods, I got some nice ones. Such as the poor Portuguese
student who wanted me to write his essay for him, but could not
compensate me. Or the person who wanted me to modify his video
transmitter for no $$. Can't remember if I replied that I was not a
free design house or not.
Closing comments?
I just want to remind MAME
users that MAME coding is a hobby. It's kind of like politics, if
you don't agree with what's happening, then quit
demanding/complaining and put 100 hours into learning what's what
and help out instead.
I do it because I like
electronics and video games of the era I work on. I find it
fascinating that I can create accurate waveforms of electronic
circuits that run in real time. Plus I always wanted my own arcade
game when I "growed up" and could afford one. I also always wanted a
set of testing supplies that I am starting to accumulate. So the two
hobbies work out great together.
Thank you, and keep
MAME-ing.
D.
In conclusion
I'd like to thank Derrick
again for participating in this RetroBlast! interview. Not only for
completing this interview, but also for making sure to fit me into
his schedule.
|