In the past few months, a new emulator has gotten the attention of many, featuring apreviously un-emulated (although highly requested) game. The emulator, previously knownas 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 uniquegraphics and animations. The release comes closer everyday, so we decided to ask authorJimmy Hamm a couple of questions to get our appetites wetbefore this emulator rolls out.
|Jimmy Hamm (Thunder) InterViewed - July 03,1998 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 hasnothing to do with computers at all (it's physical labor) so here's theblatant plug: Somebody, please, hire me! I have some college and lots ofexperience (15+ years!) using and programming computers! Ok, enough ofthat...As to how I became involved with programming emulators, it all started abouttwo and a half years ago when I first stumbled onto the emulation scene. Ihad found this place called 'the Emulation Programming Repository' and Ifound there a few different emulators for Pac-Man, Pengo and the like. Thiswas so cool, the fact that you could run arcade machines on your PC. I washooked! I considered writing my own emulator, but it seemed to me that mostof the games that I would have been interested in emulating were alreadytaken care of by somebody else. Except of course for Rolling Thunder, thatis... Every week I would hope that someone out there would emulate it andevery week I would be somewhat disappointed (somewhat because there wouldalmost always be yet another game emulated that I really liked to play). Soeventually I decided that I would write an emulator for RT...
2. Why did you choose Rolling Thunder? What platform did you chooseDOS for its operating system?
As the weeks went by I kept hoping that someone would emulate RollingThunder. I kept checking MAME's newly emulated games list every week backwhen a brand new version would come out that frequently) but it was neverthere. So I started asking around and it seemed that nobody was working onit (apparently nobody had any info on the game, and it was loaded withcustom 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 haveto be me. As to why I picked DOS as a platform, I guess that I liked thefreedom that it afforded you as a programmer. It's nice to be able tocontrol (for the most part) every aspect of your machine--I guess in someway it takes me back to the days when I used to program on my old 8-bitAtari...
3. Why do you think nobody had done it before?
Like I said earlier, I asked around on the EMU mailing list and the responseI got was that nobody was working on it. It was just too difficult fromwhat I heard.
4. Do you know of any other games running on very similar hardwarethat you might add to your emulator later on?
As far as I know, the hardware that RT runs on is unique and so that wouldseem to preclude any multi-game emulators. (Ah well, such is life...)However, there is an original NAMCO version of the game (the one that'swidely available) and I just may add support for that.
5. How do you think it is going to perform in the average system? Doyou think it is deeply optimized?
Right now it runs full speed on an AMD K6 233MHz system, but I'm hoping tobring down the system requirements a bit from that! I'm hoping that it'llrun at full speed on the average system, if only using a refresh rate of30Hz (instead of the usual 60Hz). Rolling Thunder is a fairly complex pieceof hardware to emulate: Two 6809s, four plane omnidirectional scrollingtile graphics, large, colorful multi-block sprites with variable priority, aYM2151, 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 tocooperate and run fast is a fairly tough job! Right now, some parts of itare 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 whatwill 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 betatesters tell me, it isn't there yet... ;) The video and CPU will fullyemulated and it will do some sound (the PCM stuff). I would love to releaseit with full sound, but it seems that nobody out there knows anything aboutthe so-called custom sound chips. So the first release most likely won'thave music and some sound effects.
7. What do you think have been the hardest parts of the hardwareyou're emulating?
Definitely the video hardware and of that, the sprite hardware. It tookabout a year and a half for me to figure it out the video, and then onlyafter 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 nothingabout PC hardware, so I set out to teach myself about both by writing anemulator 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 ranthe same CPU as RT, and there was already some good information out there onit. (Sure there was Defender II in Williams Arcade Classics but, in myeyes, that didn't really count.) I figured that if I could emulate StargateI would be more than halfway to emulating RT. So after months of strugglingwith the CPU emulation I finally got it to work! The screen was garbled(which I quickly fixed) but it actually worked! This was something reallyamazing. For the first time I actually had code from an arcade machinethinking that it was running on real arcade hardware! Once I had a stableCPU core I started working on RT, only much to my horror it didn't work. Soafter trying a bunch of different approaches to trying to get it to work andfailing miserably, I went back to refining my Stargate emulator... And soit went, back and forth, figuring out a little more of RT, running upagainst 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 figureout anything relating to the video hardware. So I put all of my energy intocompleting Stargate. It was as I was finishing up that for release (allthat was left was speed throttling) that something finally clicked and I wasable to figure out the tile engine! Soon after that I was able to figureout the sprites and scrolling and got correct colors (I had figured out thePCM sample player long before that), and ever since I've been working onmaking 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 ofthe custom sound chips that plays the music for the game that nobody seemsto have any information about. Besides that, nobody seems to know anythingabout the programmable sound generator, so that lack of knowledge would keepit 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 thehardware 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 everpresent MAME that the arcade emulation scene is beginning to wind down(console emulation will probably be pretty hot for some time). With thosetwo projects out there, just about all the bases are covered since one is adocumentation project and the other is an end user project. So it wouldseem to me that single game emulators are pretty much on the way out (andhave been for some time).
Thanks a lot for your time! I really appreciateyou 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 ofan addictive game. Thanks for reading!
One Article Up: RAINE Update
One Article Down: EV News - I'm back & updates