For the not so popular but still strong and powerful
platform provided by the Mac, few people have dared spent
time to maintain emulation alive in there. Richard Bannister, young Jedi of Macintosh programming, decides to
port every living emulator into the Macintosh. In charge
of the Mac port of Retrocade among other things, Richard
is completely devoted to port as many emulators as possible
to that platform. His track record includes Handy (Lynx emulator), Boycott (Gameboy emu), Virtual Super Wild Card (Super Nintendo emu) etc. Read along as we chat with perhaps the youngest mind in emulation today.
|Richard Bannister - EmuMac - September 14, '98 by JoseQ
1. Please tell us a little bit about yourself and how your life
in Emulation got started?
Well, I'm an 18-year-old full time student; born and living in Dublin, Ireland. I'm preparing to start studying for a degree
at Trinity College, Dublin in October.
I remember reading an article about weird and wonderful software in MacFormat magazine - which featured screenshots of
MacSpeccy, one of the first Spectrum emulators for the Mac. I remember looking it up when I first acquired Internet access,
and courtesy of a search engine, I wound up at John Stiles' "Emulation on the Macintosh" web page (now
http://www.emulation.net/). I guess it went from there.
2. Are you like the official Mac guy for emulation?
Not entirely. I am undisputably the king of quantity, having released 10 Mac ports of emulators, with another one under
development. However, John Stiles, who I've already mentioned, had already ported several emulators to the Mac before I
materialised on the "scene". His help was what really got me started in porting emulators myself.
In my opinion, his ports are of a higher calibre than my own - for example his Mac version of iNES, for which he wrote a
6502 CPU core in PowerPC assembly. He chooses to work on improving existing ports. In general, I prefer to move on to new
3. I understand you've worked on quite a number of projects in the
Mac. Can you list some of your favorites or more challenging?
It is true that I've worked on far too many emulator ports for the Mac. I'm directly responsible for the Mac ports of
Boycott, Frodo, Joyce, Handy, Marcel O Cinq, Euphoric, SimCoupe, TEO, vMac, and the late xNES - and I've contributed in
varying degrees to other ports, for example PowerPCEngine (the MacOS port of VPCE), where I contributed the Mac-specific
I've also developed two ROM Utilities - one for the Sega Genesis/Megadrive, and the other for the Nintendo Gameboy. Both of
these programs can display the information embedded in the ROM and rename the ROM to the embedded name. Genesis ROM Info can
open .SMD, .MD, and .BIN format ROMs, as well as automatically join segmented ROMs. Gameboy ROM Info can compress the ROM
using g-zip, which the Gameboy emulators on the Mac support transparently.
The most challenging port to date has most definitely been the Mac conversion of Keith Wilkins' Atari Lynx Emulator, Handy.
I made an attempt at porting this more than a year ago - before Keith released the source code to the general public, and I
got absolutely nowhere. Then John Stiles had a go, and while he managed to get further than I did, he was still unable to
get it to work. Then a few months ago, he sent me what he'd done, and with a lot of luck and some help from Keith Wilkins, I
finally managed to get it to work.
My specific interest in porting emulators is catering for (relatively) obscure machines. I've never seen a real-life
MO5, Oric, SAM Coupe, or Thomson TO8. The fun for me lies in discovering these old systems and the software they support. I
still think that many 8-bit computers had far more playable games than some of the things we see being released for the N64
and PSX. Sure, these systems have better graphics and sound - but graphics alone does not make a game.
If I had to list my favourite (released) port...I guess it would have to be Frodo, a Commodore 64 emulator. About ten
years ago, I was the only person I knew with an Amstrad CPC 6128, while many my friends had Commodore 64's. It was rather
frustrating to play arcade conversions on a Commodore 64 and then come home and try the CPC version, which invariably was of
a lower quality. I still think the CPC was a better machine - but the Commodore 64 had the software.
4. What projects are you currently involved at the moment?
Right now, I'm only working on one new project, which is a MacOS port of Retrocade. Aside from that, I'm currently
overhauling my Mac port of Frodo. There is always room for improvement. I find that when I go over code written a few years
back, I discover lots of examples of things that could have been done more efficiently or more quickly. v4.1.6 of
Frodo/MacOS, for example (if I ever finish it!), will a few percent faster.
5. Do you find the Mac platform to be a little limiting for those
emulators when you're trying to port them?
Not in the least. There are always going to be difficulties in porting code from one operating system to another - each
system has its own limitations.
Well structured code can usually be ported very quickly - for example TEO. I decided to port TEO from scratch with the
release of 0.5 - as it had changed a lot from the last version I had ported, v0.2. I had a Mac version up and running in a
few hours, and a finished version by the end of the day - although I spent some time beta testing it before I released it.
6. What can you tell us about the progress of the Mac port of
Well, it works :) I assume you want a little more detail than that, so...
As you probably know, Retrocade has 100 games at this time. On the mac right now, about 70 work without any problems; bout 20 work with assorted problems - some of which are major, some are minor; and a further 7 games do not work at all. All hese problems will be solved before a Mac version of Retrocade is released.
7. You mentioned on your page that Retrocade/MacOS will not be having
much speed advantages over MacMAME. Can you tell us about this?
Well, right now, the Mac version of Retrocade has CPU cores written in C - with the exception of the 68000 (the important one for speed reasons, I guess) - which is in PowerPC assembly.
Well written assembly language will almost always beat C hands down in terms of speed. MacMAME is actually faster than the Mac version of Retrocade in some games - mainly because it contains CPU cores in assembly for the 68000, Z80, 6808, and 6809.
That said, some games in Retrocade/MacOS are faster anyway, although the difference isn't that noticeable.
8. Talking about Macs, do you think that the overall performance
in MacMame is superior to Intel based machines? Why?
Well, I'm not entirely qualified to comment on this issue, as I've never seen MAME running on a PC. However, I would assume that the Mac version of MAME is significantly faster per MHz, because of the assembly CPU cores it contains.
9. Any final words to people considering moving to the Mac
platform or anything in particular?
Give the Mac a chance!
Assuming you're an emulator fan (and you'd hardly be reading this if you were not) - the Mac can emulate most platforms with ease. There are not all that many platforms you can emulate on a PC which can't be emulated on the Mac as well. Check out http://www.emulation.net/ for more information.
Many of the best new PC games are being released for the Mac. Unreal has just been released. A mac version of Starcraft is due shortly. Most popular software packages for the PC are available on the Mac too. Microsoft Office 98 for PowerMac is the obvious example. QuarkXPress, Photoshop, Netscape, Norton Utilties, etc are all available.
And if you still need a PC for whatever reason, bear in mind that on Apple's latest PowerMac G3s, Connectix Virtual PC or any other PC emulator (http://www.emulation.net/windoze/) can run at the speeds of a low end pentium.
One Article Up: ROMs Added
One Article Down: More Games Added to Raine