Frodo C64
Emulator
Commodore on Atari, a first look!
Yes, it's a real live Commodore 64 emulator running on the Falcon. One of
my emulator wish-list dreams has come true at last, and it's about time as
we've waited long enough.
There has been a distinct lack of a proper C64 emulator on the Atari,
where other systems have had one for a while. I personally think this
would have been logical and desirable at an early stage, as the ST is
really a descendent of the Commodore line, having the hardware design team
in common. As much as I love the Atari XL, people tend to forget it is
radically different hardware with little in common with the ST. I recall
there was an early attempt to emulate a C64, but this did very little
beyond displaying the command line prompt and running a few non-taxing
Basic programs.
There was C64 emulation of a sort on the Atari, as there was sufficient
interest in the Mostek SID-chip to make Sidsound replayers for both the ST
and Falcon. One of the Falcon players, Flaysid, even had a partial
emulation of the C64, including a full implementation of the 6502 and some
support chips. I always had the feeling that with a bit more work, then a
full emulation should be possible, at least on accelerated '030 based
Falcons, if not quite the base machine. The documention for Flaysid hinted
at a "total C64 emulation".
This never came about, at least not yet. There was no-one else in the
market for a hand-coded and Falcon optimised asm solution. So the dream
seemed to die.
With the arrival of the CT60, and the possibility of more powerful TOS
clones, the option of a code port of an existing emulation from another
platform became viable. The most logical choice for the C64 turned out to
be the not-so-unknown-in-Amiga-circles Frodo emulator.
I would have thought it would have occurred to someone to try to bring
this to the CT60, fairly soon after it was shipping. But after a couple of
years, this has finally happened. We have Peter S. to collect the kudos
for bringing Frodo to the Falcon.
Peter says in his initial BBS postings, that there was very little effort
required to make it work on a CT60. In fact, it was practically a straight
compile with very few modifications needed. This makes you wonder what
other cool open source apps and source code could be worth porting with
relatively little effort?
Frodo is described as a Mint application, but will also work perfectly
well with Magic. In the latter case, there is the nice bonus of it being
able to cleanly quit without messing up extended Centscreen modes on that
desktop. A subsequent suggestion from Patrice Mandin also pointed out
that plain TOS was perfectly fine as well.
The package is presented in an identical format to the original, with
three versions of the executable, various rom and config files contained
therein. I had the amusing task of depacking a zipfile with a very long
directory name, long enough to choke STZip. I got around that by depacking
on the Mac, renaming the directory to something of a more 8x3 character in
a format suitable for STZip to cope, then repacking.
Getting it running is easy enough, just click on the executable, and the
familiar Commodore 64 blue screen and command line, screen-burned into the
braincells, from a thousand 1980's computer shop windows, flickers into
life.
Just waiting for the first zealot to proclaim "No Commodore shit on Atari!"
The initial impressions are good. With a 90mhz '060, the speed is anything
up to 200% of native speed, varying between 170 to 200%. A Rev 1 CT60 will
run this comfortably. I tried to run this on CT2 at 50mhz, and a plain
16mhz Falcon, but Frodo refused to run in either case.
So Frodo is an '060 exclusive club at this point, although I'd be
interested to hear if anyone gets this running on an Afterburner '040 or
similar, to see how they got on?
After a little bit of head-scratching and asking a few questions, I
started to get some idea of where to go from there, especially getting
software to run on it.
The current Frodo Falcon is very basic in some areas. Emulators on the Mac
have a wealth of options and menu's, and most of the donkey work processes
are automated to some degree. Here you have to hand-edit the config file
even to change a disk image. Also you tend to get what you are given with
the window size. There is no (easily found) option to resize that, for
example, to a full sized screen.
Some knowledge of basic disk handling commands and C64 syntax is a good
idea too, such as the ever-useful load"*",8,1 to autoload a floppy disk or
disk image, or load"$",8 and then 'list' to bring up the directory.
So I grabbed a random handful of .D64 disk images off Pouet, some classic,
and some more recent. At first, the success rate was rather low, with the
majority of disk images refusing to respond properly to the load command.
The second breakthrough came when I changed the option status for the 1541
floppy drive emulation, to something like a full emulation, rather than a
faster loader? At that point, the behaviour of individual productions
matched that of the Mac version of Frodo, rather than (not) doing its own
thing. There was a slight downside, depending on the power of the '060 you
might have, where a large chunk of cpu time is taken. Running demos with
the amended 1541 emulation typically gets you a value of 70 - 75%, and
sometimes a bit more, depending on the effect, at 90mhz. For all
appearances on the desktop, this is still good enough.
Perhaps you might want to revert to the faster but less accurate disk
handling for the classic games and applications that don't use exotic and
nasty bootloaders?
Frodo can run most of the demos thrown its way. It isn't the most state of
the art emulation anymore, the online documentation suggests that a
fundamental recode is taking place. It is good enough for the majority of
demo's, even fairly new productions, and can probably run most of the
classic games out there.
We're "back to the roots" here!
There is still a certain amount to do. Peter S. says that Falcon Frodo is
currently lacking joystick support, and he left out the SID emulation out,
pending getting suitable DSP optimised source code for that. Instead,
there is a YM-sound 'wrapper', which just about works. This is better on
some demos than others. He also suggests that there could be further
optimisation in general made to it. So there could be a bit more of a
speed-up to follow?
I'd like to add an options menu to the 'things to do' list. It would be
nice to have all the tweakable bits, disk changing etc, in an easy to
reach menu whilst still in the emulation, but I'm sure he's working on
that as well.
Overall, Frodo is a seriously cool addition to the Atari software line-up,
an overdue one in fact. It perfectly complements the existing Atari 800
emulator, adding another potential library of several thousand productions
to the CT60. It also strengthens the argument that the CT60 is able to
comfortably handle classic 8-bit computer emulations, even where they are
ported from other systems, rather than handbuilt asm coded ones.
So my closing question might be, Spectrum 128 emulator, anyone?
CiH, for Alive! Mag,Nov '05
|