Last week, a brand new emulator for already known author Kevin Brisleyemerged. This emulator, known as Replay+, featured Network Play, allowing for usershalf a planet away, to play with each other in some Arcade Classics supported by thisemulators. Not only that, but a new open platform was born. Open to programmers alike whowould want to create drivers and add them to Replay+ in order for it to grow rapidly.We gathered a few questions and shot them at Kevin toreceive his Views on some curious subject. Read on!
|Kevin Brisley (Replay+) InterViewed - June 29,1998 by JoseQ
1. First of all, can you tell us a little bit about yourself? What isyour age / location? Education?
I'm 28 and have been programming since I got my Commodore Vic-20 15years ago. BASIC, Assembler, C, C++, blah, blah, blah.I live in Canada and graduated from the University of Waterloo with aBMath in Computer Science in 1993.I'm now putting some of what I've learned to use as a programming teamleader in a medium sized medical imaging firm.
2. How did you get started in emulation? What do you think the averageJoe Programmer needs to start his/her own emulator?
I started into arcade emulation around November of 1996. Sparcade andEMU had appeared at the time and I was so blown away that I decided Ihad to get involved. I started taking apart the ROMs from one of myfavourites (Burgertime) and a few months later, the first version ofReplay was released.These days, the average aspiring emulator author has a lot of materialto work with. Over the course of the two years or so that arcadeemulation has been around, there has been a ton of information releasedin the form of source code, hacking tools, etc. People that want toget started quickly, just need to grab the source code distribution of amulti-arcade emulator like Replay+ or MAME and bang, you've got aframework that already gives you CPU emulation, sound emulation,graphics support, etc. All that's left is figuring out the internals ofthe game you want to emulate and hooking up the various pieces.Even if you want to make a standalone emulator, it's a good idea tostart with proven code to figure the game specific stuff out. Afterthat, you can go ahead and code your own CPU core, graphics routinesetc.
3. Why did you decide to stop Replay and create Replay+?
Replay was created to be a multi-arcade emulator with a specific goal inmind. I wanted to create an emulator that could have games added to itby anyone without the need for the Replay source code or anyrecompiling. This was done through an emulation language that I builtinto Replay. Games could be added by creating a .KEG file thatdescribed the game specifics in this emulation language.This worked pretty well except for a few things:
1) The language was interpreted and therefore much slower than acompiled language like C. This was OK for the early games but newer,more complicated games got bogged down.
2) The language wasn't as flexible or extendable as traditionallanguages. This meant that getting some games going requiredworkarounds to the language, while some games that used differenttechnology than Replay provided (like vector games or games that used anon-supported CPU) could not be implemented at all.
3) Most of the people in the arcade emulation arena are programmers andare therefore more comfortable programming in a language familiar tothem.After considering all of this, I figured I had taken Replay about as faras I could (or wanted). There were many features I wanted to add thatjust didn't fit in with what Replay was all about. So late last year Idecided to scrap Replay and start working on its replacement.Replay+ addresses the problems I mention and adds lots of new featuresthat Replay would never have been able to support.
4. What put you into the Netplay Idea into Replay+? Did Callus ring abell, or were you thinking about it since before that?
Network play has been in Replay+ before Callus had it. I implemented itin December of 1997 and Linux users of Replay+ have had it since Marchwhen I released the Replay+ preview.It's really quite a simple thing to implement and I was surprised moreemulators haven't included it. I imagine you'll see more and moresupport for network play in future emulator releases though.
5. It seems you emphasized a lot, while doing Replay+, in making surethe code was easily upscalable; meaning you tried for people to be ableto add more games rather easily. Why did you come up with that goal?
I think this is a natural goal for any multi-arcade emulator. You don'twant to be reinventing the wheel every time you add a new game.
6. Have many programmers contacted you in hopes of working together withReplay+?
I've had a couple but I'm hoping to hear from more! Replay+ has beenwritten with portability in mind and I'm hoping that I'll get somevolunteers to port it to some new platforms. I'm also hoping that toget some help in the area of sound programming, 'cuz basically when itcomes to sound programming I suck ;-)
7. How do you see the number of supported games increasing? In the nearfuture maybe? What is your short term and long term goals for Replay+?
The Replay+ supported games will increase shortly. Up until now, I'vebeen working primarily on the framework and the games that are currentlyincluded were put in place so that I'd have a game to test each of theCPU cores.My next job is the Win32 port and after that games, games, games!
8. What would be your top picks for the next games appearing in Replay+?Any two player simultaneous games?
The next games added to Replay+ will be those that run on the same DataEast hardware as Robocop. Bad Dudes is one of them and it supports twoplayer simultenous which will be nice for network play. Right now therearen't any really good network type games suported. I also have apartial TMNT driver that I'll probably add shortly. Four playersimultaneous net play!I'll probably add some not-yet-emulated games in the near future(although there are fewer and fewer of these each day :-)
9. What would the "Perfect Emulator" do in your own words?
Hmm, that's an interesting question. I've got two answers here, one asan emulator user and one as an emulator developer.As an emulator user, the "Perfect Emulator" would be an arcade emulator(I've never been much of a console user) that emulates a couple dozen ofmy all time favourites to the extent that if you put the real thing nextto the emulated version in the same cabinet I wouldn't be able to tellthe difference. We've come a long way in the quest for perfectemulation but I don't think we're quite there yet.As an emulator developer, the "Perfect Emulator" is one that would helpout in solving the puzzle of an unemulated game. Replay+ includes anintegrated debugger which helps the developer when trying to emulate newgames but there's the potential for so much more. I've had ideas that Ihave never bothered to try and implement where you feed it a list of ROMimage files and it does its best to figure out what type of CPUs areused, which ROMs are code, which are graphics and maybe even tries itshand at figuring out a preliminary memory map by inspecting/executingthe code ROMs. Overall, it's probably more trouble than its worthtrying to code such a beast but it would be pretty cool.
10. The Emulation World has seen a surge in popularity in recent months.Why do you think this has been happening?
I think this can be attributed to the fact that there are more and moreemulator authors around these days. A year ago, there were only a fewemulators available and the number of people working on emulation wasmuch smaller, so you'd only see a new game emulated every so often.These days, the number of people working on MAME alone is huge and soevery new beta that comes out has support for 25 new games.We're also seeing newer games being emulated which widens the audiencemore and more. Kids that grew up on Street Fighter are now seeing thesegames appear in emulation.
11. What is your opinion regarding the legality of Emulators and what doyou think will be the final verdict?
I think we reached the final verdict on emulators when the first onesappeared. Emulators are legal, however distributing the ROMs is a greyarea at best. I know that a few companies have ordered the removal oftheir ROM images but I'm not aware of anyone having to stop developmentof an emulator on the basis of legal arguments.
12. Any special messages to people who havent tried out Replay+?
Try it :-) IMHO, it offers a lot to both emulator users and authors.It may not have the extensive game list just yet but give it time!
There you go folks, yet another InterView. I hopedyou liked this one. To me it sounded great the part about playing TMNT 4 playersvia the Net, wouldn't that be awesome. Maybe it will require some cable modemsand ADSL lines but heck, they're so close and house LANs are more commonevery day too. I feel Net 4 player Gauntlet also coming... Oooh... DefinitelyNetwork Play is the theme now and something that's very open for exploitation.Who's next? MAME? I can only wish!
One Article Up: Emu on Emu - Psyke News
One Article Down: EV News - Week In Review