David is well known for porting many different emulators to the Acorn. He started off with the release of Marat Fayzullin's ColEm and fMSX, before moving on to port xNES, AdamEm and lately Stella. He alone is responsible for first bringing emulation of the ColecoVision, Coleco Adam, NES and MSX to the Acorn. He's just left Nottingham university to enter into the great wide world but will hopefully still have time to continue his efforts for emulation.
How and when did you first get interested in emulation?
I first got interested a while back after playing around with !65Host and then progressing to Warm Silence Software's !6502Em and !Z80Em. After this I began hunting around the internet for any interesting emulators either on the PC or Acorn and my interest grew.
What gave you the idea to have a go at porting your first emulator?
Well comparing the number of emulated systems between the PC and Acorn I soon realized that we were starved of some classic gaming. No Coleco emulator, no MSX emulator, no NES emulator and no Atari 2600 emulator - these are classic systems!
How did you go about finding all the emulators that are possible to port?
I had been playing around with emulators for ages and so I knew, who the main guys were and where to look. The most obvious place was Marat Fayzullin's home page. This guy is, as you rightly say on your page, an 'emulation god'. From there I could obviously pick up ColEm and fMSX sources, the others were more awkward, but I found them after searching around people's emulation pages and also looking through all the links on your site.
How long does it take you from first looking at the source to getting the emulator up and running?
This depends on the complexity of the source and what language it is in. The Coleco port took me about a day just to get a grip with what I was doing, but I had problems with this due to Acorn's C library. It just wouldn't get any further than the start up screen. I eventually ascertained that the library was the problem and switch to UnixLib. Most emulators work fine with Acorn's library, it was obviously a special case. Now that I have the building blocks set up I can usually get an emulator up and running - without front end and so on - in about an hour or quicker. I have to say that Stella was the nicest to port thus far - it may be in C++, but Gnu C++ worked a treat with it. If the source contains x86 assembler it usually takes longer, but it is usually fairly trivial unless the majority has been written in it.
Have you tried any ports and given up on them as too awkward?
I don't give up, I try and find the solution. I think that people think I have given up on porting vMac, but I haven't - I am pretty determined to get this to work. If an emulator is 95% x86 assembler then I won't try it, because I don't really have enough time to go through it all converting it to C or ARM code.
Have the (often PC based) emulator authors been helpful with the ports?
Yeah Marat has been quite helpful as has Marcel de Kogel, both of these guys tried to help me out with the ColEm problem and various other things. Also Philip Cummins has been very helpful in helping me track down the problems I am having with vMac. Also all that documentation on NES mappers by other emulator authors is very very helpful.
Have you had much support from the users of your emulators?
I have had mixed reactions to certain emulators. I really hate emails from people, who say that the emulator doesn't work without providing any system details or what they were trying to run with it. Most users though have been pretty supportive and guys such as yourself, Richard Hallas, Kevin Lingley and Gareth Moore have given me hints and tips as well as constructive criticism. Richard Hallas has also been exceptionally kind in creating the lovely icons for several of my emulator ports.
Can we be expecting any more new releases soon?
Yeah... I am working on improving compatibility and speed with xNES. Also a new version of ColEm will be available soon. Also now that I have some time sound and multitasking will be added to several emulators. I am trying to tidy up the underlying code of all of them and give them all a fairly similar front end so that there is some consistency between them.
Do you intend to port any more emulators to the Acorn?
Definitely. I am going to release ArcDragon, System 16 and maybe VICE very soon and should have the Vectrex emulator ported in the near future. vMac is still being worked on and if I can find a decent source to a SNES emulator this will appear too. If anybody out there has any (realistic) suggestions please feel free to email me.
Do you think you'll get a chance to do any more emulators once you leave university?
I hope so, but in most cases it will depend on the contract I get with the company I work for. The majority of companies have restrictive contracts for obvious reasons, however the Acorn emulation market is far removed from the PC and Playstation games market. So depending on work load I should be able to port and maintain emulators, if not I will let someone else have the source to the emulators and keep them up to date.
Do you ever use any other emulators?
All the time, I am an emulator junkie. I regularly use MAME, Gameboy Emulator, Miracle, v2600, PC Engine and several of the remainder. I think that both Paul Clifford and Gareth Long are doing an excellent job of keeping the Acorn emulation market alive.
Do you have any favourite games for the Coleco, MSX, NES or Atari2600?
There are so many games on these systems... I think an all time favourite has to be Super Mario 3 on the NES. Metal Gear and Vampire Killer on the MSX are excellent. Zaxxon on the Coleco is great, the way a shoot em up should be. Then there is ET on the Atari 2600, just to laugh at how bad it was.
Why have you bothered to port so many emulators?
I think that it is in part to feed my addiction and in other to test out my programming skills. Also increasing the amount of software on a computer platform is a good thing and when this software enables you to play games on systems that you never heard of before it is amazing. Emulation enables you to find systems such as the Coleco and play games on it even though you may never have had one. An excellent example is the PC Engine, which was never released in the UK, but now we are able to play the games as if it was. The PC Engine has the best version of Bomberman on any system and without emulation we wouldn't be able to play it.
With so many games accessible via emulation, do you think that the native Acorn games are getting left behind?
Acorn games have been becoming few and far between in the past few years, however now that we have a company such as RComp, who are committed to providing us with the cream of PC games the future is bright. As you all will know games such as Quake, Syndicate and Abuse are hovering on the horizon... Also i think that the quality of the Acorn emulation scene reflects well on Acorn programmers and shows that we have a lot of talented people, who could easily transfer across to developing games. Emulation enables us to be nostalgic about games such as Sonic, but if Sonic was released today would we be happy? The most likely answer is no. We want games such as Unreal, Gran Turismo, etc.. but for games like this you need teams of 20 or more people working for 2 years. This is realistically not going to happen, however if we can have homegrown games talent such as Artex and programmers brought up on emulator ports, who could easily cross and do game ports, we have an acceptable market, that could in the future be similar to the Macintosh market.
Have you ever thought about writing an emulator yourself?
For a brief time... but I realistically don't have the time to do this - also with a job forthcoming (hopefully), I will have even less time. I think that there are enough emulators out there that people are willing to let people port. All you need to do is ask them.
What computers and consoles do you own?
I own a StrongARM Acorn Risc PC, a Net Yaroze (funky black Playstation), a BBC Micro, a Gameboy, a Gamegear and I have access to a SNES, PC, Macintosh and a boring grey Playstation.
Anything you'd like to say?
Yeah, I would like to thank everyone, who has helped with my emulator ports. Also I would like to thank all the original authors, without them what would I be doing? Also I would like to say that barring any problems or sudden increase in work load a lovely 3dality demo (Acorn version) will be available in about 2 weeks.