In the past few months, a new emulator has gotten the attention of many, featuring a
previously un-emulated (although highly requested) game. The emulator, previously known
as ThundEM is now called Thunder and features the likes of Rolling Thunder.
This game has been one of the most popular fast action side scrollers with very unique
graphics and animations. The release comes closer everyday, so we decided to ask author
Jimmy Hamm a couple of questions to get our appetites wet
before this emulator rolls out.
|Jimmy Hamm (Thunder) InterViewed - July 3, '98 by JoseQ
1. First as always, can you state a brief description about yourself,
and how you came into programming emulators?
I'm 30 years old and working at a horrible job out in Riverside, CA. It has
nothing to do with computers at all (it's physical labor) so here's the
blatant plug: Somebody, please, hire me! I have some college and lots of
experience (15+ years!) using and programming computers! Ok, enough of
As to how I became involved with programming emulators, it all started about
two and a half years ago when I first stumbled onto the emulation scene. I
had found this place called 'the Emulation Programming Repository' and I
found there a few different emulators for Pac-Man, Pengo and the like. This
was so cool, the fact that you could run arcade machines on your PC. I was
hooked! I considered writing my own emulator, but it seemed to me that most
of the games that I would have been interested in emulating were already
taken care of by somebody else. Except of course for Rolling Thunder, that
is... Every week I would hope that someone out there would emulate it and
every week I would be somewhat disappointed (somewhat because there would
almost always be yet another game emulated that I really liked to play). So
eventually I decided that I would write an emulator for RT...
2. Why did you choose Rolling Thunder? What platform did you choose
DOS for its operating system?
As the weeks went by I kept hoping that someone would emulate Rolling
Thunder. I kept checking MAME's newly emulated games list every week back
when a brand new version would come out that frequently) but it was never
there. So I started asking around and it seemed that nobody was working on
it (apparently nobody had any info on the game, and it was loaded with
custom chips). So I figured that if I ever wanted to play this game again,
that the person who would have to write the emulation would most likely have
to be me. As to why I picked DOS as a platform, I guess that I liked the
freedom that it afforded you as a programmer. It's nice to be able to
control (for the most part) every aspect of your machine--I guess in some
way it takes me back to the days when I used to program on my old 8-bit
3. Why do you think nobody had done it before?
Like I said earlier, I asked around on the EMU mailing list and the response
I got was that nobody was working on it. It was just too difficult from
what I heard.
4. Do you know of any other games running on very similar hardware
that you might add to your emulator later on?
As far as I know, the hardware that RT runs on is unique and so that would
seem to preclude any multi-game emulators. (Ah well, such is life...)
However, there is an original NAMCO version of the game (the one that's
widely available) and I just may add support for that.
5. How do you think it is going to perform in the average system? Do
you think it is deeply optimized?
Right now it runs full speed on an AMD K6 233MHz system, but I'm hoping to
bring down the system requirements a bit from that! I'm hoping that it'll
run at full speed on the average system, if only using a refresh rate of
30Hz (instead of the usual 60Hz). Rolling Thunder is a fairly complex piece
of hardware to emulate: Two 6809s, four plane omnidirectional scrolling
tile graphics, large, colorful multi-block sprites with variable priority, a
YM2151, a custom programmable sound generator, and a PCM sample player.
There's a lot going on under the hood of this game and to get it all to
cooperate and run fast is a fairly tough job! Right now, some parts of it
are highly optimized (like the CPU emulation) while others are not (tile &
6. When should we expect a public release to be available and what
will it include? Will the game be completely emulated? sound included?
That's the question, isn't it, *when*... Well, I do want it to be fast,
stable, and easy to use before I make a public release and from what my beta
testers tell me, it isn't there yet... ;) The video and CPU will fully
emulated and it will do some sound (the PCM stuff). I would love to release
it with full sound, but it seems that nobody out there knows anything about
the so-called custom sound chips. So the first release most likely won't
have music and some sound effects.
7. What do you think have been the hardest parts of the hardware
Definitely the video hardware and of that, the sprite hardware. It took
about a year and a half for me to figure it out the video, and then only
after I had been working on StarGem in the intervening time.
8. How long have you been working in Thunder?
I started about two years ago... I knew nothing about emulation and nothing
about PC hardware, so I set out to teach myself about both by writing an
emulator for a game that was a bit simpler than Rolling Thunder: Stargate.
The reason I picked that one was that it hadn't been done yet, and it ran
the same CPU as RT, and there was already some good information out there on
it. (Sure there was Defender II in Williams Arcade Classics but, in my
eyes, that didn't really count.) I figured that if I could emulate Stargate
I would be more than halfway to emulating RT. So after months of struggling
with the CPU emulation I finally got it to work! The screen was garbled
(which I quickly fixed) but it actually worked! This was something really
amazing. For the first time I actually had code from an arcade machine
thinking that it was running on real arcade hardware! Once I had a stable
CPU core I started working on RT, only much to my horror it didn't work. So
after trying a bunch of different approaches to trying to get it to work and
failing miserably, I went back to refining my Stargate emulator... And so
it went, back and forth, figuring out a little more of RT, running up
against a brick wall and doing a bit more work on Stargate. For a long time
(about 8 months) I gave up on RT since I could not for the life of me figure
out anything relating to the video hardware. So I put all of my energy into
completing Stargate. It was as I was finishing up that for release (all
that was left was speed throttling) that something finally clicked and I was
able to figure out the tile engine! Soon after that I was able to figure
out the sprites and scrolling and got correct colors (I had figured out the
PCM sample player long before that), and ever since I've been working on
making it faster and easier to use.
9. When do you think it will be completely emulated?
It may never be fully emulated. There is a ROM that is only seen by one of
the custom sound chips that plays the music for the game that nobody seems
to have any information about. Besides that, nobody seems to know anything
about the programmable sound generator, so that lack of knowledge would keep
it from ever being fully emulated.
10. What are your steps afterwards? MAME or Retrocade Driver maybe?
I would love to see a driver for RT in Retrocade, and that may yet happen.
As far as a MAME driver, I would be happy to pass on what I know about the
hardware to the MAME team once Thunder is released.
11. Any remarks you would like to voice out?
I think that now with the impending release of Retrocade and the ever
present MAME that the arcade emulation scene is beginning to wind down
(console emulation will probably be pretty hot for some time). With those
two projects out there, just about all the bases are covered since one is a
documentation project and the other is an end user project. So it would
seem to me that single game emulators are pretty much on the way out (and
have been for some time).
Thanks a lot for your time! I really appreciate
you taking the time to answer these questions.
Well there is the scoop on everything I could find out about Thunder,
I hope you enjoyed it as much as I did.
I certainly can't wait to get my hands on this emulator as this was one heck of
an addictive game. Thanks for reading!
One Article Up: RAINE Update
One Article Down: EV News - I'm back & updates