Daniel Boris,(DanB) has been working on the emulation scene
since very early in its development. He has worked in various projects ranging
from Virtual VCS, an Atari 2600 emulator to the very well known MAME.
We decided to drop in and ask a few questions about his experiences, the
world of Emulation, and MAME among other things. Read on to get to know DanB,
yet another Emulator author InterViewed by EV.
|DanB talks about the Emulation World - August 9, '98 by JoseQ
1. Traditional first question. Can you tell us a little about yourself,
and how and when you came about the world of Emulation?
Well, I am 30 years old and am an electronic technician from New Jersey, USA.
My first real exposure to emulators was in the late 80's early 90's, when
the Atari 8-bit Xformer emulator came out first for the Atari ST, then the IBM PC.
Then in early 1996 I discovered Marat's Virtual Gameboy. This really fascinated me
and since he had released the source, I downloaded it and played around with it a bit, this
really got me interested in emulator programming. My first real project was porting
the Atari 2600 emulator, x2600 to DOS. This eventually became Virtual VCS, which was
the first non-commercial (Activision Action Pack was out at this time) Atari 2600 emualtor
2. Which projects have you been involved in since you started
programming in the Emulation World?
As I said, the first was Virtual VCS. After that I did Virtual Super System which is an
Atari 5200 emulator, then O2EM a Magnavox Odyssey 2 (Philips Videopac) emulator,
Cloak and Dag-ulator, an Atari Cloak and Dagger arcade Emulator, and MAME. I also
wrote a program called 6502sim which is a generic 6502 processor simulator, which
can be used as a 6502 learning or development tool.
3. You seem to have a passion for Atari hardware, what are the main reasons?
There are probably two reasons for this. First I really love the "classic" systems (pre-NES)
and Atari was the king of videogames at this time. The second reason is that Atari used
the 6502 processor in a lot of it's hardware, which is a processor I am very familiar with.
4. What has been your favorite project thus far and why?
O2EM is definitely my favorite. It was the most challenging and rewarding project I have done
so far. The first release of it was written with almost no technical documentation, I had to
reverse engineer the system and work everything out on my own. I have also gotten an incredible
response to it. I get e-mails all the time from people saying that they had this system when
they were young and that the emulator brought back a lot of memories.
5. Any particular interests you would like to develop in the future?
What would you consider a challenge for someone like yourself to accomplish? (Something hard to
Some people find the newer games to be an emulation challenge, but for me it's definitely the
older ones. There are some old B/W Atari games that I would like to emulate that had some really
unusual hardware features that would be a real challenge to emulate. I would also like to play
around some more with "emulating" the non-cpu games like Pong and Breakout. I have done some
experiments in this area but I would like to dig more into it when I have the time.
6. What would you say will become a brick wall in the emulator
programming world if anything? Do you think there are some barriers that will take
considerably longer to break?
I don't think there will be any real brick wall anytime soon. A lot of people think we will run
out of things to emulate. It's true that we are running out of consoles that have not been emulated
but even with consoles that have been emulated for a while there is still plenty to do. For example
the Atari 2600 has been emulated for over 2 years now, but people are still coming out with better
versions of Atari 2600 emulators, there's still plenty of room for improvement in most emulators.
There are also plenty of arcade games left to emulate. The only thing that I think that could really
slow down emulation programming is if there is a consorted effort by game companies to crack down
on ROM sites, but this will only slow things down it won't kill emulation completely.
7. What is your feeling about the current state of emulation in general?
Too much popularity, or just fine? What would be a perfect state for you?
I think it's getting a little too much press at this point.
8. With more and more magazine articles about emulation out there, do
you think emulation is doomed to face a court debate soon?
I would not be surprised to see it happen especially with the newer emulators for systems
like the N64 or the Playstation. I hear lots of people say how emulation is legal and
how it has been proven in court cases in the past (and it has), but I have no doubt in my
mind that the big guys like Nintendo or Sony could get it into court. They may not win
but I think they could get it to court. I think it would only take one case like this
to scare off a lot of emu authors. The area that faces more of a legal threat than the
emulators themselves is the ROM sites. People try to come up with all kinds of rationalizations
to justify ROM distribution (like the delete after 24hrs thing), but the bottom line is
,whether we like it or not, distributing the ROMs is illegal so the game companies would
have an easy case.
9. What do you think about MAME and they *[the way?]* it works? Do you see any major
changes happening soon?
I think it's pretty much going to continue on the course it's on now. There is a push towards
ASM cpu cores now, but these are not going to give too big a speed boost without some other
architectural changes. The nice thing about MAME is that there are a lot of people on the team,
so we can always be doing many different things at once, adding new games, fixing old ones,
improving the core code, etc.
10. If you had a paid full time job as a MAME programmer to do whatever
you liked to it, what would it be and why?
I would do basically what Neil Bradley has done with Retrocade, throw all the
existing code away and re-build things from scratch. MAME has come a long way
from when it first started and the architecture has evolved along the way to
accomodate new type of hardware, etc, but it would be great to start again from
the begining knowing all the things that we know now.
11. Any comments to the programmers out there entering the world of
DON'T DO IT!! ;) Just kidding. If someone wants to get into emu programming they really
have to understand what they are getting into. Writing emulators is a very complex process and
people expectations these days are very high. When I first started writing emus, nobody would
have had a problem with an emu not having sound or joystick support, or if it only ran a couple
games. Today people's standards are higher and they expect more from emulators. The other thing
to remeber about writing emus is that you don't have a lot of control over how the final product
has to work. For example if you are writing a game program and there is a certain part of the
game play that is giving you real big problems you can change how the game play is going to work
to make things easier for yourself. You can't do this with emulators. The final product is
already defined you just have to constantly work towards it. This is why most emulators have
version numbers under 1.0.
Well, it had been a long time since the last InterView, which was one
server and one HD crash ago... Hopefully I will again have time to find people to InterView
and keep you all up to date on who's actually running the great show we're all attending.
Thanks for reading and keep an eye on EV for yet more InterViews coming your way very soon...
One Article Up: MAME 0.33 Is NOT Beta Anymore!
One Article Down: Unofficial MAME 32 RC1 is here!