- News for July 3, '98 -





Jimmy Hamm (Thunder) InterViewed - July 3, '98 by JoseQ
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.

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 that...
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 Atari...

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 & sprite engine).

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 you're emulating?

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

Post Some NEW Comments on this topic...

2001 EmuViews