Amiga Format
This article was originally written by Simon N Goodwin for Amiga Format magazine, and is used by permission of the joint copyright holders. It should not be copied any further without written permission. The free emulators mentioned were included on the accompanying CD with the magazine, and are generally available - often in updated form - from this site. The text is as originally submitted to the magazine - which means there are some differences, mostly extra text which was cut to fit into the pages available - with the addition of hyperlinks to new or updated information which has since become available. This approach has been taken to preserve the structure of the original series, while making new information readily available. Simon welcomes comments from readers, care of Tomas Amsrud, who has generously prepared the material for publication on the Internet.
PrevNext
Main

AER


Console emulation

Simon Goodwin tests the fast-advancing
range of Amiga game console emulators


Games consoles are a hotbed of Amiga emulation effort, with a dozen in the works and several new ones released this year. You now have a choice of emulators for Sega Master Systems, Game Boy and Game Gear portables, and one for Atari 2600 consoles.

The star programmers in this arena are Marat Fayzullin and Juan Gomez, responsible between them for five of the seven emulators featured this month. Their approaches are very different. Marat writes in C on workstations, and relies on other programmers to convert and optimise his code for the Amiga. This makes him very prolific, with Game Boy, NES, Coleco, MSX and Sega emulators to his credit, although not all of these have been ported to the Amiga. Emulators based on Marat's work are system -friendly, compatible and slow.

Juan Gomez, by contrast, is a 'real' Amiga programmer. Having cut his teeth on AmiMSX2 (compared with Marat's fMSX in AF 93) he had a fast, hardware banging engine for emulating eight bit Zilog and Texas chips. In quick time he's produced Game Gear, Game Boy and Master System emulators which make impressive use of the Amiga, with few rough edges. I was surprised how much I enjoyed playing games on his emulators; you will be, too, as long as you've got some fast memory and a 32 bit Amiga.

MSX2 had some CPU compatibility problems and Juan's new emulators start by asking you whether you've got a 68040 or 68060. They ought to read this from ATTN_FLAGS in ExecBase. I needed to skip my user-startup to run either on the Cyberstorm 68060, but had no problems on the 68040 Warp engine. Juan's emulators are efficient and run well on a 68030, but suspend multi-tasking.

Consolation

The first home game console was the Odyssey 100, designed in the 1960s and launched by Magnavox in 1972. It used screen overlays on a basic TV display, with extra circuits rather than ROM in its plug-in cartridges. It sold a respectable but undramatic 85,000 units.

Soon California arcade suppliers Atari arrived, with microprocessor-based 2600 game systems. Drawing from their arcade experience, Atari's cut-down systems bridged the gap between the earliest 'telly tennis' units and true home computers. The key to the console market was the use of plug-in cartridges, containing software for a particular game.

Once plugged into a compatible console, the game appeared immediately on the player's screen - impressive when earlier consoles were hard-wired for particular games, and microcomputer games had to be laboriously and erratically loaded from cassette.

Inside the 2600 was just 128 bytes of RAM, provision for up to 8K of ROM (typically 2K) and a cut-down 6502 processor. The custom chips are roughly half an Atari 800 set, with two and a half sprites (bats and a ball) and two sound channels. There's no DMA chip, equivalent to ANTIC or DENISE, so every dot on the screen must be generated on the fly by the processor - like a colour ZX-81.

At first resolution was little better than on hard-wired games units, with big, rectangular pixels, but this ensured compatibility with any TV and reduced the need for expensive RAM in the console. The console itself, useless without games to plug in, was sold as cheaply as possible, with Atari making money on cartridge and controller sales - joysticks, paddles and later trackerballs all made their way from the arcade to the living room carpet.

V2600

There's only one emulator for old Atari console software - V2600, by Alex Hornby, freeware with C source code and a Unix feel. The V stands for Virtual 2600. The latest Amiga native version is 0.7, but a later version 0.81 runs under Amiga NetBSD.

Initial case-dependent command options select NTSC or PAL display in a screen or a window, and keyboard, joystick or mouse control (emulating a paddle). Two controllers are emulated and may be swapped. Sound includes tones but not random noise.

The graphics are horribly low in resolution, but that's not the emulator's fault. It's slow and cryptic, but it works. If you're a secret 2600 fan with a turbo Amiga, V2600 will hit the spot, but others will find it crude in every sense.

Atari lost its way when its founder Nolan 'Pong' Bushnell sold out to Warner Brothers. US sales collapsed in 1984, and Japanese companies that had previously made a living developing real arcade games - ironically, often for Atari hardware - spotted the potential of the market and launched new systems with improved graphics and sound.

The first of these Japanese consoles, Nintendo's Entertainment System (NES) was cheap and crude, with character-mapped graphics re-generated line by line, but easy to use if not to program. It was a massive success in Japan, then the USA, and finally worldwide. You can read more about NES emulators in part 13. Rivals Sega introduced the Master System, technically superior but still based on a display of square symbols or 'tiles'.

The Master System resembles home computers like the MSX range, or the British-designed Memotech MTX and Tatung Einstein micros. It's based on a Z80 processor, with a variant of the Texas Instruments graphics controller used in those micros and the US-designed TI 99/4 and Coleco home machines.

Game Boy

Nintendo followed up their NES with a tiny pocket games machine, similar to previous one-game LCD (Liquid Crystal Display) units but designed to run the lucrative plug-in cartridges. This product, the Game Boy, proves playability and long battery life is more important than graphical sophistication, in the hand-held market.

The cartridges were cheap to make, and profitable, because small mono graphics need little storage space. The 160 by 144 pixel screen is small in any Amiga mode, and monochrome, but at least the LCD ghosting is eliminated!

[Wzoka-Lad] There are four Game Boy emulators for the Amiga. The best two are WzonkaLad and AmiGameBoy from Juan Gomez. Both are new for 1997 and use custom Amiga screens and hand-crafted Z80 engines.

AmiGameBoy re-uses the AmiMSX2 start-up window for desktop file selection and emulator control, but emulates on a largely blank custom screen, with just a colour flash in the border and no menus. It supports Sega and CD32 joypads, or one and two button Amiga joysticks, as well as the Amiga keyboard.

The startup screen lets you pick the controller, screen mode (PAL or NTSC) and select a ROM file. The size, typically 64K to 256K, and cartridge details appear when the ROM is selected. A simple help screen shows the controls. You can return to the menu, quit, reset or continue by pressing ESC during emulation. Hotkey and menus duplicate the startup control gadgets.

GBuk is a port by Paul Gaze, based on Marat's C code and the Amiga's Unix bridge, IXEMUL. It has Amiga graphics and reasonable documentation, although no icons. You need a 68020 (as a bare minimum) and AGA to run it. Nice features include a grabber for screens and part-played games, configurable keys, font and colours. Flaws are the lack of sound, a ten minute time limit and ten pound shareware registration fee.

VGB is another Unix port, unchanged for more than a year. It can boast full C source, an ASL file requester, a choice of two screen sizes, optimisations for Amiga graphics cards and no shareware charge AGA to run. The snag is its sloth, especially on Amiga screens. It requires a 68020 and Workbench 3, and prefers a 68040 and 'chunky' graphics card. On my Cyberstorm, VGB version 0.33 opened a little window on the workbench, but nothing appeared inside. It worked OK on a Warp Engine with Picasso 2 graphics, but painfully slowly on an eight colour Amiga NTSC workbench, even with a 68040 to push it along. VGB is for power users only.

WzonkaLad makes best use of the display, with colourful if cryptic information windows alongside the Game Boy display. It multi-tasks, requiring at least a 68020 and Workbench 3, and needs a 68030 for full speed, although AGA is not necessary. Sega and CD32 joysticks are supported, as well as keys and Amiga joysticks. You get icons, an installer and an Amigaguide. WzonkaLad is regularly updated. Versions from 0.56 to 0.64 fit between AmiGameBoy and VGB - slower but more compatible than the former, faster and less precise than the Unix ports. Options to vary game speed and colours are excellent, but the unregistered versions lack sound.

Game Gear

Sega countered the Game Boy with a pocketable version of the Master System - the Game Gear. If you can emulate one you're close to emulating the other, so Amiga Sega emulators support both.

Typical Sega cartridges are 128K or 256K long; mostly graphics, based on a sixteen colour, dual playfield display assembled from eight by eight pixel blocks. Sprites use the same format.

[RType] AmiMasterGear is Juan Gomez's Sega emulator. Version 0.2, credited to '007', is fast and runs most programs, but not perfectly. The startup menu is a subset of that for AmiGameBoy, offering only a choice of controls, and Game Gear or Master System emulation.

Polyphonic sound is emulated but not random noise, leaving only square wave beeps, albeit in stereo. It sounds good, if a bit reedy. Many early Amiga games were also available on Master System, and look very similar despite different internal organisation. Rainbow Islands and Pacmania were entertaining and very playable, if a bit rougher than their Amiga incarnations.

Graphics emulation is fast but imprecise. Strange things happen at the left edge of the screen during scrolling, and sprites skip across the screen in eight pixel steps, rather than moving smoothly. Palette effects at the top of the screen in World Grand Prix cause a lot of flicker. With a bit more work this emulator could be one of the best around, and it's already well worth trying.

MasterGear

Marat is represented by MasterGear. Unix programmers seem to have a thing against icons, so this is another apparently empty drawer with the emulator, Amiga Readme and Unix documentation, waiting for someone with a shell to dig them out. You also get two utilities, one for throwing away a 512 byte dummy header on some cartridge files and one for disassembling programs.

The converter Mark Van Hal is aware of these weaknesses and plans to address them. Unlike Juan's effort, MasterGear runs fine on CyberGraphics and Picasso96 screens, if you use a promotion utility to intercept its attempt to open a screen. Mark plans a screen mode requester, and faster Amiga graphics.

With a native Z80 interpreter, like fMSX on the Amiga, this emulator could be fun. At present it's sluggish, even on a Warp Engine with Picasso graphics, and lacks sound, but the core is present and it works. The code, compiled for a 68020, uses some instructions that a 68060 must emulate. Right now MasterGear 1.0c is best saved for programs that will not run on AmiMasterGear, but it's got potential.

Software

The emulators are freely distributable and available on Aminet. V2600 and WzonkaLad come with demo games. The main problem of console emulation is that consoles do not have disk drives or serial ports, so there's no easy way to transfer the software you own on cartridge into your Amiga. Add-on disk interfaces are notoriously used for software theft. These, or an EPROM programmer, can create flat files of cartridge contents.

If you have a modem it's easy to find ROM cartridge images on the Web, often with documentation and even scanned artwork. This is legally dodgy, and you should not load files that you do not already own, albeit in cartridge form. Some cartridge suppliers have banned their ROMs from distribution this way. It's certainly illegal to sell them.

It would help if emulator authors and enthusiasts were to contact software owners and ask permission, so that these emulators could be used without legal complications. Vectrex and many illustrious Spectrum software authors (with the notable exceptions of Ultimate and David Braben) have allowed their work to be emulated freely - but such generosity is rare on other platforms.

More bits

Existing emulators for the Amiga run software for old eight bit consoles, but there are plans to extend the range to 16 and 32 bit versions like Sega's Megadrive and the Super Nintendo. NES is not yet emulated, but should arrive soon - iNES is the PC emulator, written predictably by Marat Fayzullin. His Colecovision emulator has been ported, with a Z80 engine written in Amiga machine code, but it's not yet ready for release. The author of Kyoto, a multi-platform Megadrive emulator, is looking for people to port it to the Amiga.

Nintendo 64 and Sony PlayStation emulators are beyond the powers of current Amigas (or PCs for that matter) although PSMooSim is an interesting tool for dismanting and examining PlayStation files on an Amiga.

Net Contacts:
History of Home video games- http://videogames.org/html/index.shtml(Updated July 2009)
Atari Forever (links)- http://www.killerguides.com/articles/atari-forever/(Added July 2009)
Y's game and emulator page- http://www.scf.usc.edu/~hyun/game.html
Amiga V2600 home page- http://gaia.ecs.csus.edu/~stroupm/v2600.html
Home Page of Marat Fayzullin- http://www.freeflight.com/fms/

Usenet:
Emulator news- comp.emulators.game-consoles
Game discussion- rec.games.video.classic

Web page design Copyright © Tomas Amsrud
Articles Copyright © 1996-2009 Simon Goodwin