Alive
News Team Current issue History Online Support Download Forum @Pouet

01 - 02 - SE - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12 - 13 - 14

Alive 11
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
Alive 11