You can find Dave's website at the Final Burn Homepage.
Hooka: When did you get your gp32?
Dave: I think I got it back last year sometime - Craig had heard about me being a fan of writing emulators and decided to send one over to me!
Hooka: What dev environment do you use?
Dave: I use DevKitAdvance. As a text editor I just use Visual Studio's editor.
Hooka: What inspired you to start working on Cyclone 68000 a M68000 CPU core in ARM asm?
Dave: I was inspired by the Starscream 68000, the super-fast 68000 core for the PC by Neill Corlett. Neill wrote this back in about 1997 and shared the source code, allowing many very fast emulators, including MGE, RAINE, Calice, NeoRAGEx, Retrocade, DGen, Gens (a.k.a. Xenesis and NeoGenesis), and many others. I wanted to do the same thing but for ARM-based devices.
Hooka: At what level of completion do you feel Cyclone is at now?
Dave: Roughly 90-95%, it's hard to tell. I keep finding little things which need tweaking or fixing you see!
Hooka: Why did you decide to make a Genesis emulator for gp32?
Dave: I love the Megadrive, I imported one from Japan back in 1989 when they first came out. In order to test Cyclone on ARM chips, I needed an emulator to run it in, so created PicoDrive for the Pocket PC and GigaDrive for the GP32.
Hooka: The first release that I heard about was the submission to GBAX 2004 (but I heard about the Cyclone core from Rlyeh before this) how long were you working on it before then?
Dave: About 8 months or so I think, on and off.
Hooka: Could you list some of the other projects you have worked on?
Dave: Well, in order from back in 1998, including unreleased stuff - DGen 0.x (DOS), DTMNT, DGen 1.x (Windows), DTMNT1, DTMNT2 (Windows), Atest (After Burner), Final Burn, Doze, Full Spec, Dega, DMicro, Daze, Cyclone, PicoDrive, DegaBox, GenaDrive and finally GigaDrive.
Hooka: Do you have plans to make a Final Burn port for gp32 or are the memory requirement too high for our little handheld?
Dave: Well there are some games that use up too much memory, and a straight port may be problematic, not impossible though. But I think it's a good idea to start again sometimes with fresh code. So for arcade machines on Pocket PC and GP32, the code would probably be rewritten rather than carrying over Final Burn code, learning from experience of writing FB. So yes, but no, if you see what I mean :)
Hooka: What if there was a large enough group of people who did the 32/64 Meg upgrade?
Dave: Yeah if the GP32 had 32Meg, you could probably run more games. For example the 8Meg users could run Street Fighter 2, but to play X-Men: COTA you'd need more memory.
Hooka: Does GigaDrive have a 4MB ROM limit and if so will it ever be able to load larger ROM’s?
Dave: Not as far as I know, I just called malloc() to allocate the size of the ROM.
Hooka: Do you plan on entering the GBAX one-month later competition?
Dave: Possibly, I don't know - I don't think GigaDrive will improve that dramatically in such a short time!
Hooka: Are you planning on adding sound and if so how much of a performance hit do you think this will make?
Dave: Yes, possibly about 30% or so, but remember that there are various things I can do to speed up the graphics, so overall I hope it will run about the same.
Hooka: Are you going to use Reesy's Z80 CPU core in GigaDrive?
Dave: Not sure, it's a little bit embedded in his emulator so I think I will most likely work on Daze instead. Doesn't stop someone trying it out in the meantime if they like though!
Hooka: What other emulators may benefit from the Cyclone core?
Dave: Lots and lots, that's why I am so excited about the project - basically anything which emulates a 68000, and there are many systems. I'll just list a few systems I can think of off the top of my head: Genesis, Mega CD, X68000, Amiga, Atari ST, Neo Geo, CPS, CPS2, Sega System 16, 18, X, Y, and 24. You can look at www.system16.com, where Sixtoe has a big list of which arcade machines have M68000s.
Hooka: Do you plan on making a nice GUI with options for GigaDrive and if so what kind of options?
Dave: Yeah, I'll try and make some kind of nice font and nice GUI for it eventually, with all the usual options like changing chip speed.
Hooka: What suggestions might you have for anyone who plans on making a CPU core in ARM asm?
Dave: Two things - as well as the ARM calling conventions, be aware that registers r9 and r10 are used on PalmOS, and secondly look at the "msr cpsr_flg" opcodes, they are very useful for setting and retrieving flags.
Hooka: What's your favorite game to play on GigaDrive?
Dave: At the moment I'm a big fan of Strider, Ghouls 'N' Ghosts, and Quackshot.
Hooka: What future projects might you have in mind?
Dave: They are all related to doing things with Cyclone, but I haven't really got any set plans - I'll just do whatever I think would be fun to do.
Hooka: Do you ever think 2 player over RF (one host gp32, the other just a client) would be possible?
Dave: Yes absolutely, that would be straightforward - RF, Bluetooth or Wireless LAN will enable 2-4 player support for portable games. At the moment though I don't have any devices which can do this, but if I do I will give it a try.
Hooka: Have a good day!
*Interview finished 22/05/04*