Contents | < Browse | Browse >

===========================================================================
                             Emulation Rambler
                            By:  Jason Compton 
===========================================================================

I got tired of constantly lamenting how little time I've spent playing with
emulators over the past many months and decided to do something about it.
After all, emulators were one of the first things I discovered that I
really liked about the Amiga, and the selection and quality have only
gotten better over time.  So I've got quite a few topics to cover this time
around.

Long-Awaited Emplant-type Modules Coming Soon?
----------------------------------------------

Back in the day of Emplant, we were promised all sorts of emulators that
never surfaced.  However, the liner notes for PCx promise an upcoming Apple
II and Atari 400/800 emulation coming soon.  In a conversation with Jim
Drew of Microcode Solutions, he informed me that they would be shipping
soon at a package price of US$29.95 for both emulators.  We'll keep you
posted.

Amstrad CPC: Another Machine Discovered!  ACPC and emucpc Reviewed
------------------------------------------------------------------

One of my favorite things about emulators is that they allow you to
experience computers you might never have a chance to own, or even
physically see.  Computers like the Sinclair Spectrum and MSX were
virtually unknown to me until I discovered their emulators.  The Amstrad
CPC is in the exact same category.  Imagine my delight at finding not one
but two emulators waiting for me on Aminet!

ACPC 1.11 is the Shareware product of Kevin Thacker of the UK.  Kevin's
emulation supports the 48k, 64k, and 128k incarnations of the original CPC
line, and the registered version supports the enhancements of the "Plus"
line.  As well, a number of support utilities for interfacing with real CPC
hardware are included, but unfortunately I cannot test these, having never
laid eyes on a real CPC.

The emulator runs on virtually any hardware configuration--the author
himself is using a 1 meg A500.  Compiled versions for the 68000, 010, and
020 are included.

The emulator supports the popular CPC disk snapshot format, and the
documentation includes some basic hints on navigating the CPC's OS--enough
to get a complete newbie like myself competent enough to load and run
games, at least.

To appreciate what I'm supposed to be getting, I read Kevin's background
information on the CPC.  It's a Z80 machine, like many of the "mainly found
in Europe" computers such as the Spectrum and MSX.  It can do a 640x200
two-color mode, but primarily has graphics modes reminiscent of the C-64.
Based on the software I've found, its heyday was the 80s, as it was for
other 8-bit machines of the time, and often you can find superior versions
of software out of the UK which found their way onto the 64.

ACPC opens up a custom Amiga screen for its operation, and from there you
get a CPC boot screen, and have access to a regular Amiga title bar for
menu options.  From here, you have some rather basic options--reset the
CPC, enable or disable sound, quit, and load a disk image or snapshot file.
(The title bar options also flash, which I find a bit annoying.)  You're
welcome to grab some software images--a recommended site is
ftp.nvg.unit.no, in pub/cpc, where you'll find a ton.

Generally, results were good, not great.  On an 040/25Mhz (stock A4000T
3640), I "felt" that programs were running at less than 100%--sound is
usually a good giveaway of those sorts of things.  It was pretty close,
however.  Joystick emulation is not implemented in the demo, but is said to
work in the registered version.

Emucpc 0.7 is an offering from Stephane Tavenard of France.  It requires OS
3.x and an 020--Thacker's ACPC does not, but frankly I can't imagine how
painful CPC emulation without a fast processor must be.  This emulator is
freeware.

Tavenard does things a bit differently.  Like ACPC, the emulator opens up a
custom Amiga screen, but there is no toolbar menu, just function key
presses (one of which brings up a help menu.)  This is somewhat clumsier
than Thacker's implementation, but there are also more user-configurable
options, such as changing frame update rate.

None of these options is really documented.  While documentation is
provided in both English and French, it is spartan compared to Thacker's,
and offers no real insight for those unfamiliar with the CPC.  Without
Thacker's walkthrough of how to use DOS under the CPC, I would have been
lost faced by EmuCPC 0.7.

Where Tavenard makes up for it is speed--it is somewhat, although not
incredibly, faster than ACPC.  It also seemed to be slightly more
compatible, at least with the scientifically insignificant amount of images
I tested.

Tavenard says the CPC emulator is binary compatible with the 68060 and runs
at 5.5X a CPC's speed on that processor.  I remain a bit dubious since he
does not say how he benchmarked it, and if it's anything like the ACPC
benchmarking method (a BASIC program, not the most informative of
benchmarks), it's a suspect number.

EmuCPC supports some image formats, but does not directly support the
primary format of ACPC.  Instead, you have to use an included utility to
convert the images.  ACPC can use the newly converted images itself, but it
seems a strange extra step.

The two emulators are in fact very similar in concept and operation,
although for those unfamiliar with the CPC I'd suggest you get familiar on
ACPC first.  Both packages have utilities to interface with real CPC disk
drives and disks.  And, maddeningly, both emulators refuse to mode promote
properly to CyberGraphX.  The screen will not update while it is visible.

In all, the emulators are jobs well done and I'm looking forward to
exploring more CPC titles on them.  Both are available on Aminet, in
misc/emu.


Getting the Most Out of Apple2000
---------------------------------

Some of you may remember Apple2000's release a couple of years back.  It
offers an Apple II+ emulation (48k) with a 16k language card emulation,
dual floppy capabilities, multitasking, sound emulation (rather uncanny if
you have a 4000T and internal speaker), and disk image support.  It was
Kevin's first completed project on the Amiga, and sadly, his last.  But he
left us with a very solid and fast (full speed on an 030/25) Apple II+
emulation, quite compatible with the Apple software library.  The major
missing piece of the emulation itself is unimplemented opcode support
(which effectively the Apple IIc computer lacks as well, since the 6502C
basically ignores the unimplemented "features"), and the emulation does not
support mode promotion.  (It does, however, work in ECS and AGA.)

Back when I did the review in 1994 I was relying on the Apple software
collection Kralian sent me with the package, select pieces of which found
their way into the emulation distribution as PD sample programs.  But since
then, a rather impressive software library has sprung up online.

ftp.apple.asimov.net is the place to be, in pub/apple_II/images.  Here
you'll find a boatload of games, utilities, and curiosities for the Apple,
much of which runs effortlessly on Apple2000.  If you're resourceful, you
can even find the Apple II+ ROMs themselves, which Kralian did not include
in the distribution.


New Spectrum Emulation: Speccylator 1.0
---------------------------------------

Just when you thought you had the Spectrum emulator of your choice,
Speccylator comes in and makes you rethink things.

Following in the established footsteps of the Spectrum 1.7 emulator from
Peter McGavin, and ZXAM-Spectrum, Speccylator emulates a 48k Sinclair
Spectrum.  It doesn't ask much--OS 2.x and about half a meg of available
RAM--but of course when it comes to emulation, more speed is always nicer.

The built-in hardware features of a Spectrum are all emulated, including
sound.  Display is on yet another non-promotable custom Amiga screen.

The emulator comes in flavors like McGavin's emulator, with versions for
the 68020+ processors, a standard 68000 version, and a special "hacked-up"
68000 emulator that will run things faster--when it doesn't crash, which
will be often.

Snapshot files of the "mirage" type (the sort McGavin's supports, and is
common, also supported along with other formats by ZXAM) can be loaded in
and played with a joystick or keyboard.  The joystick emulates a Kempston
interface, also found on McGavin's and ZXAM.

Unscientific observation leads me to believe that Speccylator is in fact
slightly faster than either McGavin or ZXAM.  However, it is not without
its faults.  It cannot be played on a CyberGraphX public screen like ZXAM,
and has what I consider to be an unreliable joystick interface, which often
misses input and doesn't notice when you've stopped pressing in directions
at times.  If that were to get cleaned up, it would likely supplant
McGavin's emulator.  ZXAM, however, is much more of a full-featured
emulator from a user's standpoint, with more options for customizing your
interface and your display.  It also has a gateway to enter "pokes" for
cheating at games.

Speccylator offers some tools for Spectrum hackers and the ability to halt
the Z80 processor, so it has its own appeal.  From a game playing point of
view, however, the unreliable joystick interface is a putoff.

Speccylator is V1.0, so I don't expect it to be perfect.  In time, it may
take its place among the classics.  You can judge for yourself from
Aminet's misc/emu directory.


Gameboy?  No way!  Yes way! (VGB and WzonkaLad)
-----------------------------------------------

Marat Fayzullin is a legend of emulation development.

This individual is responsible for no fewer than five separate
computer/console emulations.  Count them: MSX, ColecoVision, original NES,
Sega Master System/Game Gear, and Gameboy.  All of them are portable Unix
source code, so thankfully some of his work has made it to the Amiga.
(note: ColEm, iNES, and MasterGear do not have current Amiga ports.  It
would be terrific if someone picked up the gauntlet.)

Since Marat gave up coding on the Amiga in favor of Unix some time ago, it
is through the work of others porting and improving upon his code that we
are able to use it on the Amiga.  One such port is AmigaVGB 0.7 from Lars
Malmborg.  Building on the Unix code and the earlier work of a porting team
that did VGB 0.2 and 0.3 on the Amiga, Malmborg has created a largely up to
date Gameboy emulation, which opens in a standard Window on any Amiga
screen.

Emulating Gameboy hardware is actually pretty hard work, or so it seems,
since the emulation is rather slow unless you're using an 040 and/or a
graphics card.  This version of VGB allows you to use most cartridge images
out there (if you own the games yourself, you can build a ROM reader.
There are also file images around, although these are certainly of
questionable legality if you don't own the cartridges), supports GameGenie
cheat codes, and includes all relevant source code in case you're
interested in tweaking the application or learning more about how it works.

Ville Helin of Finland was dissatisfied with VGB's speed and its rather
bland Unix-origin appearance.  So he created an Amiga-only application
known as WzonkaLad (which of course translates to "Gameboy").  Opening on a
5-bitplane Amiga video screen (promotion is not encouraged at this point),
many of the features are similar to VGB, although the author of Wzonkalad
admits that VGB is superior in terms of compatibility.  Where Helin's
version excels is in speed.  While AmigaVGB was pretty usable on my 040/25
system and RetinaZ3 CyberGraphX, WzonkaLad using the 040/25 and standard
display hardware ran at nearly 100%--enough to still have a good time, at
any rate.

Neither emulator implements sound as of yet.  Both provide basic cartridge
information, both are multitasking friendly.  I like two particular
features of WzonkaLad--the ability to use a CD32-style gamepad for all
Gameboy input, and the ability to XPK compress ROM images.  (I wish more
image-based emulators would support the XPK standard.)  On the other hand,
Helin has fiendishly faithfully stuck to the old Gameboy "icky green LCD"
look, which is clever but would be best if it were avoided.  AmigaVGB lets
you define the colors, and defaults to a nice, crisp display.  I also think
that AmigaVGB's implementation, as a small window on Workbench or a public
screen, is how a Gameboy emulator should be implemented--as something you
do while you're whiling away time, much like a Gameboy itself.

Both emulators can be found on Aminet in misc/emu.


That's all the emulation I have time to talk about this time around.  Next
issue, I'll hopefully be providing more news of the promised 8-bit
emulators from Microcode Solutions, as well as reviews of fMSX 1.1, ColEm,
ABeeb (BBC emulator), PCx, and more!