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.
Prev
Main

AER


EmuLaTests

Simon N Goodwin brings his series to a close after
reviewing over 100 Amiga-compatible emulators

This article rounds up emulators which have not been
mentioned before, and notes the latest advances.


PART 1 - ALSO-RANS

CP/M

Twenty years ago there was a 'standard' for business computers, called CP/M, short for Control Program for Microprocessors. It was rudimentary, but it guaranteed software support for new models. CP/M provided a bridge for 8080 programs to talk to terminals, floppy disks and paper tape punches, albeit for a lowest common denominator. A pervasive semi-standard was born.

CP/M was prototyped on Intel's early 8008 but took off on the 8080, the first general purpose microprocessor, introduced in 1974, and much imitated. Zilog's Z80 is a souped-up 8080 variant. Intel fought back with a simpler follow-up, the 8085. All these, and NEC's V-series, ran 8080 machine code, with incompatible extensions.

SimCP/M 1.0 was the first Amiga CP/Mulator - a bare-bones 8080 emulation. E/CPM 2.01 added just enough Z80 support to run Turbo Pascal. SimCP/M 2.3 fought back with full Z80 emulation. Full source is provided, which is just as well as the code expects an original 68000 and needs tweaks for later processors.

CP/M is a curio. MSDOS is a close relative, adapted for the later Intel 8088 processor. Addressing limitations of the 8008 and 8080 continue to haunt the Pentium. With SimCP/M or ECPM, they can haunt your Amiga too!

Engines

Several emulators concentrate on processors rather than full systems. Fast -Z80 is a Zilog interpreter, derived from Speccylator, with full source code. Phil Brown's freeware MSc project Z80emulator includes an integrated assembler and disassembler.

MFA Simulator emulates vintage Intel 8085 processors, still used as an introduction in German electronics courses. You'd have to be pretty keen on the 8085 to value this unless you're already on such a course. A8085 isanother in the same vein.

6502emu is a bare CPU emulator for MOS Technology enthusiasts who don't want to worry about the implementation of a specific system. Ninja6502 is the CPU engine from CoolNES, in remarkably concise 68020 macro assembler. If you want to write 6502 code on your Amiga, C64Ass and Cross64 fit the bill. Motorola freeware assemblers support 6800 and 6809 coders, among others, and run well on Amigas.

Trash80

The TRS-80 Model 1 is almost as old as CP/M. We have a good emulator for its successor, the TRS-80 Model 3, but the authentic Model 1 emulator missed our Tandy feature last year. Trash80 runs some software the Model 3 will not, without needing a separate ROM file. The current version 0.9a gains virtual cassette support, Z80 engine fixes and an authentic font. Printer and snapshot routines are promised, and CatWeasel and XFS coders are investigating TRSDOS formats.

Reluctant Texan

The only emulator I can't get working is for the Texas TI-99/4A. It requires ROM images in a specific format and has very little documentation. The original author and the Amiga converter have vanished.

The TI-99/4A was the first 16 bit home computer, a best seller in the USA. Its Texas Instruments 9900 processor is a cut-down minicomputer. TI99/4A graphics hardware appeared later in MSX computers, well emulated by Amigas, but this TI graphics emulation is incomplete, showing symbols where coloured blocks should appear, in a small Workbench window. Without ROMs, documentation or colour graphics TI99. LHA is not a lot of use.

And The Rest!

Some 'emulators' blur the line between appliances and computers. TB303 emulates an analogue synthesiser, though the controls are fiddly and don't all work in real time. Alcuin mimics the Saturn processor in Hewlett Packard's HP 48 super-calculator, requiring a serial link to the real thing to snaffle its ROM. HP-CALC emulates Hewlett Packard's classic HP-11 desktop programmable, cheating by using IEEE libraries to do its sums.


PART 2 - Updates

Nintendos

Nintendo emulation is a competitive arena. ANES, CoolNESs and DarkNESs are enormously improved from the versions reviewed in AF last year. Marat Fayzullin's Unix efforts set high standards for NES emulation. Amiga coders have been catching up, converting generic C into efficient assembly language.

ANES

ANES is now up to version 0.99b, best-presented of the Amiga NES emulators, with a 32K guide and installer script. It even emulates cartridge memory back-up and Action Replay cheats. It's fast, but writes direct to OCS or AGA displays, stopping the rest of the Amiga while it's running. There's a speed limiter, for 68040 and 68060 users with ordinary human responses!

Registered ANES users are rewarded with CD32 joypad, multi-player and three channel sound support, making games far more fun. The fee is 100 Swedish Crowns or US $15. Roll on, EMU... GameGenie and NTSC support is promised.

CoolNESs

Swedish rival CoolNESs has reached version 0.59, at last gaining a simple GUI. Registration costs £12, delivering sound, recently improved, and removing an annoying ten minute timeout. CoolNESs supports up to four controllers, including CD32 joypads. The strong point of CoolNESs is its performance on slowish Amigas - most games run fine on a 25 MHz 68030, and many are playable on an 14 MHz A1200 with fast memory.

DarkNESs

Canadian coder Mark Van Hal's DarkNESs was the most compatible emulator in our first NES roundup, but the slowest. Version 0.20 was totally recoded in assembly language, shedding sluggish C from iNES and gaining a GadTools front end. The latest version is 0.22.

DarkNESs has lost little in gaining speed and saving space; it still multi -tasks and supports graphics cards, unlike its rivals, with flicker-free double-buffering. DarkNES is giftware, and deservesrecognition. However sound emulation is sadly lacking, and graphics speed lags behind the hardware-bashing emulators.

Super Consoles

There are now two rudimentary Amiga Super Nintendo emulators. Marat has set a challengingpace with fast workstation Unix versions. The custom hardware of the SuperNES is a tough nut to crack. Surprisingly, in view of its 68000-based design, there's still no sign of a Sega Megadrive emulator.

MySNES 0.05b requires AGA and at least 4 Mb RAM. It won't multi-task, and only supports ROMs of one megabyte or smaller, but now allows scrolling and large sprites and runs quite a few demos, such as BioWorm, on our CD.

AmiSNESE 0.12e can barely display static screens, but targetsgraphics cards as well as AGA. Both have very necessary built-in debuggers. MySNES does more, but AmiSNESE is relatively system-friendly.

GameBoys

WzonkaLad is now clearly the leading Amiga GameBoy emulator, though the slow Unix port VGB still has the edge in compatibility, and an early PPC version reached Aminet just in time for our CD.

Since version 0.64, last reviewed, WzonkaLad needs slightly more memory but is faster, with improved GUI and sound. Like ANES, it transparently supports XPK compression. Version 0.98 comes in three versions - Full, Fast and Warp. Fast has simplified Z80 emulation and Warp skimps on interrupts. Full is slowest but most compatible. WzonkaLad is retargetable via AHI and CyberGraphX. It can even run on Workbench, a feat previously unique to VGB. Registration costs 70 Finish Marks or 15 US dollars, and is required for sound.

V2600

Version 0.82 of the Atari 2600 emulator has a workbench icon and GUI, dispensing with the antique command line interface, but still carries baggage like slow and logically redundant chunky to planar conversions. Sound remains incomplete and CPU-intensive.

Ami-Juans

After a flirtation with AmiPC Engine, which never really worked, Juan Antonio Gómez is concentrating on AmiMasterGear, his Sega emulator, and his first project, AmiMSX2, somewhat hindered by his new job. AmiMSX2 has reached version 2.5 but lacks documentation for the new features. AmiMasterGear 0.40 boasts better spite handling, snapshot support and many fixes, while rival MasterGear has gained a GUI and much-needed speed-up.

CPU Compilers

The most ambitious project in development is Hans Guijt's dynamic compiler for fMSX. This will be the first Amiga OS program to dynamically translate programs from Z80 machine language into 68000 code as it runs. The new fMSX builds up a translation which the Amiga can run directly, avoiding the overhead of many 68000 instructions needed to fetch and decode each alien one.

A64 had a static compiler from 6502 to 68000 code, used to transliterate the C64 ROMs, but this was limited, unable to cope with programs that change on the fly. Memory paging and self-modifying code complicate dynamic compilers but make them potentially much more useful. Dynamic compilers are the way of the future.

MAME

The Arcade machine emulator MAME now supports 68060 systems properly, with improved compatibility and support for more games. ECS and AGA screens work better, and LHA, LZX and ZIP archives and stack space are expanded automatically. The downside is that the latest executable is two and a quarter megabytes long!

BKEmul

The Russion PDP-11 emulator has gained speed regulation and icon control since its first release. Version 2 Beta has an assembler/monitor and loads of bundled games, but you need the documentation from v1.6 to make sense of it.

AmiCPC

AmiCPC has reached version 0.46, benefiting from many small fixes, far more English documentation, joystick and XPK support. It comes with French ROMs, expecting an AZERTY key layout, and still lacks printer and disk image output, but runs most CPC games very well.

Amiga Qdos

At last Amiga Qdos 3.24 has drivers for the internal IDE interface of 1990s Amigas. This allows access to Qdos files on hard disk without the hassle of going via a PC bridge board. A2000 and A3000 owners need not feel left out, as Buddha controller IDE is also coming, giving access to up to six drives via Zorro 2. But SCSI drives remain inaccessible till Qdos and Amiga OS can run simultaneously, except via support disk hacks for NCR SCSI controllers.

PC Task 4.4

Chris Hames' PC Task has reached version 4.4, boosting compatibility. It now runs Windows 95, given a 68060, many megabytes of RAM, and a following wind. The demo and update are on our CD.

Fusion 3

Fusion 3.0 arrived just before our deadline. It is not as major a revision as the number would suggest, but contains valuable bug-fixes and extra features. Mac OS 8.1 now works, and there are extra options for 68060 compatibility. You can now use multiple video cards and printer and serial units other than zero. File transfers are much faster - avoiding long delays at the start of emulation - and there's a database of file types so the Mac can recognise files when you move them from Amiga partitions. CDROM, hard file and SCSI support are also improved.

Remaining niggles include instability and inadequate documentation. My first trial ended with an illegal instruction fault, and I've seen other peculiar errors since. You lose all your configuration information when you upgrade, which is a pain because it takes a while to find a stable set of options. The virtual memory option still locks my Cyberstorm Mark 1. Fusion works well once tuned to your system, but that tuning remains a frustrating process.

Cross Emulation

Recently I lamented the lack of a decent Coleco emulator, and explored some work-arounds. I now happily run ColecoVision games using Fusion and the Mac Coleco emulator - it's as roundabout as using Mission with fMSX, but more compatible. I've also had some fun with C64 emulation under Fusion, though Magic64 is generally more useful.

Cross-emulation remains the only way to run Spectrum 128 software on an Amiga. Speculator runs some 128K snapshots and ZXAM emulates Spectrum 128 sound, but both lack fast, compatible support for memory paging. This could use MMU hacks, but not everyone has memory management hardware, and the techniques are rather system-hostile. Qdos Spectator and Unix Spectrum 128 emulators are the best bet for fast Amigas.

Access to 128K files is eased now the freeware XFS can read CP/M+ disks, in the format used by the Spectrum Plus Three and PCW, though drive compatibility remains an issue. XFS can now write to PC disks in HD or DD format, with Windows 95 long filenames as well as MSDOS compatibility.

Version 2.11 reads Amstrad CP/M+, Mac and Minix disks, besides its original Atari ST/TT, Archimedes E format, Qdos, MGT SAM and Spectrum repertoire. Write support for those is promised, but formatting remains problematic as XFS uses one icon for all disk types.

UAE

Amiga UAE now has an MUI front-end, Amiga Forever gains TCP/IP networking, and Cloanto have got to the bottom of my NexGen 586 problems - it seems that's a steroidal 386 in a 486 socket, despite the name, lacking essential 486 instructions. And phase 5 is rumoured to have UAE running under PPC Linux...

RISC emulators

Chris Hames is developing a PPC-PC Task. A version of Fusion for Power PC systems has been demonstrated but not yet released to Amiga users. Joe Fenton has worked on a PPC port of ACE and A][ - meanwhile the 68K versions appear on Blittersoft's Web page.

VGB_PPC is the first emulator for Amiga Power PCs, faster than the same code on a 68060, but slower than hand-coded 68K GameBoy emulators. It requires at least version 45.5 of phase 5's PPC library and CyberGraphX 3. The authors of ANES promise a PPC version, after they find a suitable assembler...

Those curious about PPC programming should check out Aminet's PPCAsmPk, a Power PC simulator and monitor for 68K systems - but don't expect speed! AmiSPIM does a similar job for MIPS R2000 and R3000 code, used on some consoles and old Unix workstations.

Prognosis

Emulation is the future of all computers. Without it, the RISC core of a Pentium would not understand X86 machine code. 68K emulation is crucial to Mac OS Power PC compatibility, and VAX and MIPS emulation are valued features of DEC Alpha systems. Without software, new processors are good only for misleading benchmarks; emulators are the bridge that makes new hardware useful.

After over 50,000 words and 102 reviews this series is over, but AF CDs will keep you up to date with developments. I may return when new emulators merit our attention.

On AFCD #25
System emulation

AmiCPC 0.46
AmiSNESE 0.12b
ANES 0.99b
BKemul 2.0 beta
CoolNESs 0.59
DarkNESs 0.22
MAME 30.1 (68060)


MySNES 0.6b
PC Task 4.4 demo
PC Task 4.4 update
Trash-80 0.9a
V2600 0.82 beta
VGB_PPC
Processor emulation

A8085
Cross64
ECP/M
Fast-Z80
MFA Simulator
Ninja6502
SimCP/M
Z80emulator
Other Support

PC-Task.guide
XFS 2.11 beta

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