For the not so popular but still strong and powerfulplatform provided by the Mac, few people have dared spenttime to maintain emulation alive in there. Richard Bannister, young Jedi of Macintosh programming, decides toport every living emulator into the Macintosh. In chargeof the Mac port of Retrocade among other things, Richardis completely devoted to port as many emulators as possibleto 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,1998 by JoseQ
1. Please tell us a little bit about yourself and how your lifein 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 degreeat Trinity College, Dublin in October.I remember reading an article about weird and wonderful software in MacFormat magazine - which featured screenshots ofMacSpeccy, 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 (nowhttp://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 underdevelopment. However, John Stiles, who I've already mentioned, had already ported several emulators to the Mac before Imaterialised 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 a6502 CPU core in PowerPC assembly. He chooses to work on improving existing ports. In general, I prefer to move on to newground.
3. I understand you've worked on quite a number of projects in theMac. 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 ofBoycott, Frodo, Joyce, Handy, Marcel O Cinq, Euphoric, SimCoupe, TEO, vMac, and the late xNES - and I've contributed invarying degrees to other ports, for example PowerPCEngine (the MacOS port of VPCE), where I contributed the Mac-specificsound code.I've also developed two ROM Utilities - one for the Sega Genesis/Megadrive, and the other for the Nintendo Gameboy. Both ofthese programs can display the information embedded in the ROM and rename the ROM to the embedded name. Genesis ROM Info canopen .SMD, .MD, and .BIN format ROMs, as well as automatically join segmented ROMs. Gameboy ROM Info can compress the ROMusing 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 Igot absolutely nowhere. Then John Stiles had a go, and while he managed to get further than I did, he was still unable toget 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, Ifinally managed to get it to work.My specific interest in porting emulators is catering for (relatively) obscure machines. I've never seen a real-lifeMO5, Oric, SAM Coupe, or Thomson TO8. The fun for me lies in discovering these old systems and the software they support. Istill think that many 8-bit computers had far more playable games than some of the things we see being released for the N64and 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 tenyears ago, I was the only person I knew with an Amstrad CPC 6128, while many my friends had Commodore 64's. It was ratherfrustrating to play arcade conversions on a Commodore 64 and then come home and try the CPC version, which invariably was ofa 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 currentlyoverhauling my Mac port of Frodo. There is always room for improvement. I find that when I go over code written a few yearsback, I discover lots of examples of things that could have been done more efficiently or more quickly. v4.1.6 ofFrodo/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 thoseemulators 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 - eachsystem has its own limitations.Well structured code can usually be ported very quickly - for example TEO. I decided to port TEO from scratch with therelease 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 afew 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 ofRetrocade?
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 havingmuch 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 performancein 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 Macplatform 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