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.
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
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
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!
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.
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.
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
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 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.
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.
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.
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.
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.
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.
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.
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.
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!
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 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.
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.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.
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.
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
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.
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.