|
An Interview with MAME Dev
Derrick Renaud
aka "Mr. Resistor"
By Bob Seidel
February 2006
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.
MAMEdev Website
|