- News for June 29, '98 -





Kevin Brisley (Replay+) InterViewed - June 29, '98 by JoseQ
Last week, a brand new emulator for already known author Kevin Brisley emerged. This emulator, known as Replay+, featured Network Play, allowing for users half a planet away, to play with each other in some Arcade Classics supported by this emulators. Not only that, but a new open platform was born. Open to programmers alike who would 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 to receive his Views on some curious subject. Read on!

1. First of all, can you tell us a little bit about yourself? What is your age / location? Education?

I'm 28 and have been programming since I got my Commodore Vic-20 15 years ago. BASIC, Assembler, C, C++, blah, blah, blah.
I live in Canada and graduated from the University of Waterloo with a BMath in Computer Science in 1993.
I'm now putting some of what I've learned to use as a programming team leader in a medium sized medical imaging firm.

2. How did you get started in emulation? What do you think the average Joe Programmer needs to start his/her own emulator?

I started into arcade emulation around November of 1996. Sparcade and EMU had appeared at the time and I was so blown away that I decided I had to get involved. I started taking apart the ROMs from one of my favourites (Burgertime) and a few months later, the first version of Replay was released.
These days, the average aspiring emulator author has a lot of material to work with. Over the course of the two years or so that arcade emulation has been around, there has been a ton of information released in the form of source code, hacking tools, etc. People that want to get started quickly, just need to grab the source code distribution of a multi-arcade emulator like Replay+ or MAME and bang, you've got a framework that already gives you CPU emulation, sound emulation, graphics support, etc. All that's left is figuring out the internals of the 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 to start with proven code to figure the game specific stuff out. After that, you can go ahead and code your own CPU core, graphics routines etc.

3. Why did you decide to stop Replay and create Replay+?

Replay was created to be a multi-arcade emulator with a specific goal in mind. I wanted to create an emulator that could have games added to it by anyone without the need for the Replay source code or any recompiling. This was done through an emulation language that I built into Replay. Games could be added by creating a .KEG file that described 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 a compiled 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 traditional languages. This meant that getting some games going required workarounds to the language, while some games that used different technology than Replay provided (like vector games or games that used a non-supported CPU) could not be implemented at all.
3) Most of the people in the arcade emulation arena are programmers and are therefore more comfortable programming in a language familiar to them.
After considering all of this, I figured I had taken Replay about as far as I could (or wanted). There were many features I wanted to add that just didn't fit in with what Replay was all about. So late last year I decided to scrap Replay and start working on its replacement.
Replay+ addresses the problems I mention and adds lots of new features that Replay would never have been able to support.

4. What put you into the Netplay Idea into Replay+? Did Callus ring a bell, or were you thinking about it since before that?

Network play has been in Replay+ before Callus had it. I implemented it in December of 1997 and Linux users of Replay+ have had it since March when I released the Replay+ preview.
It's really quite a simple thing to implement and I was surprised more emulators haven't included it. I imagine you'll see more and more support for network play in future emulator releases though.

5. It seems you emphasized a lot, while doing Replay+, in making sure the code was easily upscalable; meaning you tried for people to be able to 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't want to be reinventing the wheel every time you add a new game.

6. Have many programmers contacted you in hopes of working together with Replay+?

I've had a couple but I'm hoping to hear from more! Replay+ has been written with portability in mind and I'm hoping that I'll get some volunteers to port it to some new platforms. I'm also hoping that to get some help in the area of sound programming, 'cuz basically when it comes to sound programming I suck ;-)

7. How do you see the number of supported games increasing? In the near future maybe? What is your short term and long term goals for Replay+?

The Replay+ supported games will increase shortly. Up until now, I've been working primarily on the framework and the games that are currently included were put in place so that I'd have a game to test each of the CPU 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 Data East hardware as Robocop. Bad Dudes is one of them and it supports two player simultenous which will be nice for network play. Right now there aren't any really good network type games suported. I also have a partial TMNT driver that I'll probably add shortly. Four player simultaneous 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 as an 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 of my all time favourites to the extent that if you put the real thing next to the emulated version in the same cabinet I wouldn't be able to tell the difference. We've come a long way in the quest for perfect emulation but I don't think we're quite there yet.
As an emulator developer, the "Perfect Emulator" is one that would help out in solving the puzzle of an unemulated game. Replay+ includes an integrated debugger which helps the developer when trying to emulate new games but there's the potential for so much more. I've had ideas that I have never bothered to try and implement where you feed it a list of ROM image files and it does its best to figure out what type of CPUs are used, which ROMs are code, which are graphics and maybe even tries its hand at figuring out a preliminary memory map by inspecting/executing the code ROMs. Overall, it's probably more trouble than its worth trying 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 more emulator authors around these days. A year ago, there were only a few emulators available and the number of people working on emulation was much 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 so every new beta that comes out has support for 25 new games.
We're also seeing newer games being emulated which widens the audience more and more. Kids that grew up on Street Fighter are now seeing these games appear in emulation.

11. What is your opinion regarding the legality of Emulators and what do you think will be the final verdict?

I think we reached the final verdict on emulators when the first ones appeared. Emulators are legal, however distributing the ROMs is a grey area at best. I know that a few companies have ordered the removal of their ROM images but I'm not aware of anyone having to stop development of 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 hoped you liked this one. To me it sounded great the part about playing TMNT 4 players via the Net, wouldn't that be awesome. Maybe it will require some cable modems and ADSL lines but heck, they're so close and house LANs are more common every day too. I feel Net 4 player Gauntlet also coming... Oooh... Definitely Network 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

Post Some NEW Comments on this topic...

2001 EmuViews