Mimic is one of recent Multi-Arcade emulators that have recently appeared on the emulation scene. While
Michael Beaver, author, did not originally intend to, it has actually become a multi-arcade and multi-console emulator
with external drivers that should make development for it much easier. Read on as Michael and I talk about Mimic and
the emulation scene in this InterView @ EmuViews:
|Michael Beaver (Mimic) InterViewed! - August 27, '00 by JoseQ
1. This being your first InterView at EmuViews, can you tell us a
little about yourself? What is your computer background like?
Where to start...um...I was born in 1973, a big year for gaming with Intel bringing out their first CPU, the 4004, and Nolan Bushnell forming Atari. I matured as video games matured. So my interest in gaming was inevitable. I first got interested in programming at the age of 8 and I started writing crappy text based adventures on the Microbees at school. I got my first computer at the age of 14 (a C64). I was loyal to this gem until the early 90s when I got my first PC (a start of the art 486SX33, that case of which houses my current "beast", a P200MMX).
In 1995 I started my first job as a programmer and have worked for many big name companies (both directly and as clients) including IBM, P&O, Smiths Snackfoods, C&W Optus, Telstra Multimedia, Katies fashions and the NSW government just to name a few.
In March of this year, I formed my own company, Beaver Technologies Pty Ltd. At the moment, I am contracting my programming services out to companies but by this time next year, I hope to be developing games software.
2. How did you come in touch with emulation?
My first contact with the concept of emulation was in 1987 when the Amiga came out. Commodore promised that they would bring out a C64 emulator so you can play your old games on the Amiga. It never happened.
I first heard about arcade emulation 10 years later in a magazine article about it. I checked out the web page of MAME and other single-game emulators and got hooked. It really was a defining moment playing arcade-perfect Pacman on my PC. The millions of clones bored me, but there is that something special about the real thing.
3. When did you decide that you could create some emulation software?
What was your first project/attempt related to emulation?
Immediately after playing emulated Pacman for the first time, I decided to try the write my own emulator for Bombjack, called EMUZ80. It sucked so bad :) Most of the bugs in it was due to the fact that I had to guess a lot of info about the Z80. Since then I have got in contact with Zilog and they sent me out the official documentation for free, the legends.
My next project was a Mr Do emulator based on the code of EMUZ80, called MRDO. I got this working (almost), it also ran other games like Ladybug, etc. I was about to release it when I decided to make it generic (why bring out a program that is the same as everyone else's, only crap?).So I finished up starting from scratch again with Mimic.
4. Where did the name Mimic come from?
Mimic is a pseudonym for emulate. It doesn't stand for anything. I initially toyed with the name "Mimic the Emu" because I am Australian, but thought that was a mouthful.
5. When did Mimic officially get started? What was the initial goal
with this emulator?
The initial goal was to emulate Bombjack in a way that other romsets could be added using text based drivers. At the time I started Mimic, I was working for a company that made customised hardware controllers for automated warehouses. I was also thinking of making Mimic as a development tool for them to design their hardware virtually, thus saving heaps of time and cash.
When I looked at the code for MAME, I noticed that it was more-or-less a few thousand emulators whacked into one executable. The two most often ask questions in the emu scene at the time were "Where's the ROMs?" and "How do I compile MAME?". I thought "Instead of having all the drivers in the executable, why not have them outside it? Then you won't have to recompile.". This is where I got the idea of the generic design for Mimic.
6. How did it get started with console emulation? Was this originally
Originally, no. I got the idea after wrestling to get a few HWC files to work. I envied the console emu programmers because their hardware was static. You see, whenever a company decides to bring out a new arcade game, they more-or-less reinvent the wheel. The hardware is often as unique as the software. But in consoles, the hardware is always the same and only the software changes. This is why a console emu is quite easy to develop. So its not that much of a distraction to develop it into Mimic.
7. Which aspect of Mimic do you like working more on? New drivers? Console vs. Arcade? Making it easier for it to be expandable?
Tough question. I love emulation so much that I enjoy everything about programming Mimic. Yes, even the weekend-long coding sessions that achieve nothing. I really enjoy making it do more, more, more. Mimic is always going to be generic, meaning it should be able the emulate anything.
8. What has been the biggest obstacle thus far?
Definitely the compiler I am using, Microsoft C 7.0. It is great for DOS development but it is only 16 bit, which limits me to conventional memory. Figure about 512K available for Mimic. If it wasn't for that I could develop 68000 stuff. Also, MSC7 can only compile 286 code, which misses out on a heap of speed.
The second biggest obstacle, which BTW is a side-effect of the first, is the fact that because Mimic doesn't emulate the 68000 yet, it limits me to games from the early to mid 80's. At that time, arcade gaming technology was still new and every game that came out had that little bit more advanced hardware. The result is that it is harder to emulate 80's games than it is to emulate those games that use standardised hardware (ie System 16, Neo Geo, CPS, etc).
9. What do you have planned for the future of Mimic? Do you see it moving
more into the console world rather than the Arcade emulating arena?
Mimic will remain generic, ie. it should be able to emulate anything that is thrown at it, whether console or arcade.
Mimic at the moment is a R&D project. Hopefully, within a couple months it should be advanced enough to be a development tool to get games/systems completely or partially emulated and then the knowledge that was gained be incorporated into your MAMEs, etc. This is because it is much faster to develop when you only have to change a text file than if you had to recompile each time you try a new setting. You could even have several copies of the HWC file and try several options at a time.
Beyond that stage, I hope Mimic will become good enough that it is used by itself. By this stage, the HWC format will be static, so other emulators could be developed to read in these settings and ROM dumpers could write basic HWC files to document the ROMs they are dumping.
10. How is the Windows port coming along? What do you think are pros
and cons from each platform?
A windows port is not really in development, yet. Although, I guess it should be now that I have proven that it wont take that much effort (maybe a weekend or two).
The pros are:
Windows: Pentium compiler, 32 bit, 68000, faster, maybe would accelerate the development of several systems, like the elusive CPS2.
DOS: Full screen graphics, baby!!! More portable code, although the was Mimic is written this is not really a problem.
The cons are:Windows: I have to learn Windows programming, no full screen unless I go DirectX (more to learn).
DOS: 16 bit coding sucks.
11. If you were to start all over again, would you change anything
No. In interpreting this answer, you have to realise that the Mimic project WAS restarted from scratch twice, each time I refined the design. The Mimic architecture is VERY generic and the potential of the design is only really limited by the compiler I am using.
12. What do you think about new multi-arcade emulators that start appearing
now such as yours and Laser?
New emulators need to exist. Because, without them, all projects will maybe merge into MAME. If/When this happens, it would be like painting a big target on MAME and because MAME would be such a large chunk of the emu scene it would only take one fool judge and a bunch of no-nothing politicians to mark emulation illegal. Emulation itself is not illegal, only the trade of ROMs...try explaining the difference to someone hellbent on sensationalism.
The other benefit of new emulators is new emulator programmers, this can only benefit the future of gaming. The last decade has seen a real originality drought in gaming. Every big game released in the last year or so have been the same: graphics engines with no plot, the player must make the action. The real benefit of having emulator programmers is that they are "studying the techniques of the ancients" so that talent and knowledge of how to make a game fun can be regained. I am really looking forward to where gaming will be in 10 years time, when the current young emu programmers will be games programmers.
13. What is your opinion about open source projects such as MAME and Raine?
Do they really benefit from that?
Open source projects have their place in the emu scene and they do benefit from it. MAME would not be the premier emulator that it is if it was closed source. Mimic is, however, closed source for many reasons. The most logical of them is the fact that you don't need the source to develop new drivers.
The emu scene needs open source project so that other projects can benefit from the knowledge gained. The problem is the lamers out there who only want the source so that they can change the name of the emu, tweak it a little, and then release a "new" emu that is only 1% their code. This really sucks, especially when they release their version as shareware. Of course, this doesn't include the people who "port" the emulators in their original form, such as PMAME.
14. Any words to send out to the public as this InterView comes to an end?
The emu scene really needs to put their money where their mouth is. Many companies of the 80's that made the emulated games are currently sitting in someone's safe, existing only in the form of a bunch of legal documents. If the millions of people in the emu scene all put in then these companies could be bought and the ROMs distributed either for free on the net or sold on CD with the original "investors" getting a share of the profit.
This of course will never happen because the proverbial 90% of the emu scene are teens who are only about free games. Also, the risk of scams and legal challenges by greedy idiots is so huge the idea should be forgotten.
EmuViews sends out major thanks to Michael Beaver for taking the time to answer these questions and
revitalizing the InterView section on this site. I hope the readers enjoyed going through it as much as I did while I was formatting
it for the 'big screen'. I will definitely keep an eye on Mimic and it's future developments... EmuViews will definitely keep you
guys posted, and look for more details in future editions of The Rumor Mill.
One Article Up: MacMESS goes 0.37b6!
One Article Down: EmuDX Heartbeats...
Add Your Comments
||Posted: Wednesday, August 30, 2000 - (4:10)
|Subject: what a good inteview|
it's refreshing to hear word of an emu author like this, it just goes to show that the state of the emulation scene really hasn't gone down the drain...
Keep up the good work Mike, MIMIC is developing really well :)
[Post a reply]
Post Some NEW Comments on this topic...|