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!
|Kevin Brisley (Replay+) InterViewed - June 29, '98 by JoseQ
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
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
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
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
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