Contents | < Browse | Browse >
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Emulation Rambler                                  by  Jason Compton  %%
%% The A64 Package V3.0                            jcompton@bbs.xnet.com %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

By now, you're probably wondering what I was getting at last
week about speeding up the A64's emulation.  It's really the feature
that makes the A64 stand apart and scores big points for it.

Save Map
--------

This is how it all begins: the Save Map feature, which allows you to
do just that: dump off the emulation's memory map for the program
being run.  This essentially is a "freeze" file, just like cartridges like
the Action Replay and Final Cartridge III sported for the 64, except
that the map files can only be loaded by A64 in the "load map"
menu.  However, there is something else you can do with a map:
convert it!

Converting
----------

The problem with most emulators is that the program has to spend a
certain amount of time converting code from one processor to another,
before it can even think about doing anything with the instruction being
emulated.  This slows things down.  So, what happens when you convert
the code to the code of the machine you're emulating on?

You speed it up.  A lot.  That's what Convert does.  A lot.

It starts with the map file.  You use the Convert program to analyze it.
Convert will break down the file into 16 blocks of 4k apiece and look at
it to decide if it's made of enough code to make converting it worthwhile.
It tags them and then the fun begins.

First, you can remove any loops the program can find that are just
there to waste time.  Sometimes this speeds up programs, sometimes
it does nothing noticable, and other times it can cause problems.
But you're prompted at each one.

Then Convert works its magic and generates a code file.  This file will
be several times larger than the 64 program, but hey, this is fun, right?

Now load the code file with the "Load Code" option.  Usually, one of 
two things will be apparent.

1.  The program will be much, much faster.

2.  The program just won't work.

I've seen both happen with a bunch of different programs.  It's a per-case
situation.

One program in particular that this works on is GEOS...good thing, too, 
because of the 68000 requirement to use it (GEOS).  It's not a simple
process, but is well-documented.

Other Goodies
-------------

A64 comes with a monitor that can be entered at any time (even during
emulation, although it of course freezes the program being run).  It's
not the best monitor in the world, but it's not bad.

Graphics displays are a very configurable area.  If a program is not
showing up correctly, A64 can attempt to show it to you in various
ways, updating the screen directly or at intervals, with adjustable 
delays and methods of interpreting raster interrupts.  This means that,
with patience, a lot of programs can look picture-perfect.  You'd still
better keep a real 64 around for demos, though.

A64 can emulate a RAM Expansion unit.  This isn't highly useful for
most programs, but GEOS eats it up and runs much faster because 
of it.  Hopefully, the REU usage would counteract the 68000 slowness
on a 68000-GEOS machine...

A64 has been criticized for not supporting .t64 and .d64 image formats.
When I mentioned this to Cliff Dugan, he said he wasn't familiar with
the formats.

Sound!
------

Hey, I almost forgot!  The emulation of the SID chip on A64 is amazing!
It's not perfect, but it's often very close (and is yet another highly
configurable option).  Compared to V2.0, where sound was iffy at best,
this is a welcome change.  I'd play SID tunes proudly on it.

More A64?
---------

Dugan told me that A64 would probably see one more commercial
version.  My hope is that it will be the one that supports demo-quality
graphics.  Everything else will probably fall into place from there.

Analysis
--------

If you liked A64 V2.0, you'll LOVE V3.0.  If you didn't like 2.0, you'll still
like 3.0.

The program is a very good C-64 emulator.  However, it's not nearly a
100% solution to running 64 software.

If the access to 64 software is worth your time and money, so is this
program.

That should do it.  Actually, it's very possible I'll remember to talk about
something in future issues, or finally run GEOS and comment on the
results.

Until then, of course, keep the emulators warm.  Even if someone thinks
that means you have a personal problem.