home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
f
/
frodo
/
!Help
Wrap
Text File
|
1997-05-25
|
20KB
|
545 lines
FRODO FOR ACORN RISC OS
=======================
This is the Acorn port of the C64 Emulator Frodo. General information and
legal issues are included in the Docs directory, this file deals with the
RISC OS aspects only.
System Requirements:
====================
Frodo needs a WimpSlot of about 1376k, FrodoSC manages with 832k. Both
require RISC OS 3 and a lot of processing power. Although they should
in theory run on any machine with enough RAM and a recent enough OS the
minimum spec where Frodo is _halfway_ usable is an A5000, FrodoSC should
be usable on a StrongARM only. If you want full frame rate and sound
you'll need a StrongARM even for Frodo. This is due to Frodo being
written in C++ so you really can't expect it to be as fast as the
Breadbox, for instance. Thus this is basically RiscPC only, StrongARM
_strong_ly recommended. Any joker out there with an ARM2 or 250 complaining
about the speed will feel my foot where mommy put the thermometer.
Using Frodo:
============
Simply start Frodo(SC) by double-clicking on its filer icon (the filer must
have seen the shared resources of Frodo and FrodoSC first!). Frodo will
install itself on the icon bar and open the emulation window (yes dudes,
Frodo is multitasking). You should know how to use a C64 from now on
because I won't start a course on that!
Configuration:
==============
There are two configuration windows:
a) The Preferences window: deals with all system-independent configurations.
See the file "settings" in the Docs directory for more information.
You can set drive paths by dragging the object in question (a directory,
a D64- or a T64-image) onto the respective (writable) path icon. Frodo
will automatically try setting the drive emulation mode accordingly.
The reason the Preferences window is so big is that everything covered
there is in a class in Frodo, so regarding portability and unwanted
side-effects I decided to represent it as a unit rather than splitting
it up.
b) The System Configuration window deals with system-specific aspects of
the emulator. You can enter the keys used for the keyboard joystick
here as well as timing aspects. The entries are
Poll After: Number of centiseconds after which the WIMP should be
polled. This is never exact because the check whether
to poll is only done after an entire frame has been built.
Speed After: Number of centiseconds after which the Speedometer should
be updated. Don't use too small values because centiseconds
are basically too coarse a unit for something like this. Like
Poll After the check is made only once per frame.
Poll Sound Lines: Number of rasterlines after which the sound system
should be polled to determine whether a new sample is
needed. For more see "Sound".
Joystick Keys: You have to place the mouse pointer over the corresponding
icon and press the key you wish to use for this until you
see the icon change. For more see "Keyboard Joysticks"
In both windows changes are only passed on to the emulator if you click OK
or "save" (if present), drag the filer-sprite to a valid destination window
or press return in the file-path icon (the only exception is "Skip Frames").
"Cancel" in the "Preferences"-window will update the window with the currently
used settings. This is done with the System Configuration window every time
it's opened (i.e. to retrieve the current settings simply close the window and
re-open it). You can activate new settings in both cases by dragging the
corresponding files onto the window in question.
Sound:
======
Sound is off by default. Switch it on from the Preferences window (SID Type).
Frodo uses a polling system to playback samples. "Poll Sound Lines" determines
how often it should poll. If you don't poll enough (i.e. your machine is too
slow) sample buffers will overflow, creating a discontinuity in the sound.
The size of the sound buffer and the sample rate (22050Hz) are chosen in such
a way that the polling has to be done every 2cs to avoid buffer overflows.
Polling costs a little extra compared to an IRQ-oriented approach but it's
the only way for a multitasking RISC OS-application which is mapped out between
(WIMP) Polls. In this particular case it acually has its upsides because you
can determine yourself how good a sound you want and how much computing power
you wish to give to synthesis. Frodo's sound emulation is rather sophisticated
and thus needs a lot of power; but if all you do is play some shoot'em up
with laser-sounds overflowing sample buffers won't be all that noticable so
you can get a rather good approximation by polling once per frame (every
312 lines).
If you want to make sure no buffer overflow occurs you have to check how fast
your computer can manage the emulation with sound enabled and SkipFrames=1.
Then PollSoundLines = (speedometer percentage)*312/100 (i.e. for 100% speed
once per frame). Buffer overflows can still occur during WIMP polls so if you
want 100% accurate sound playback you have to force single tasking by pressing
ScrollLock (see "Keyboard"). But unless you have a StrongARM I wouldn't use
much sound at all.
The sound is known to work on a StrongARM RiscPC with the standard RO3.7 sound
modules. It also works on an A5000 albeit very slowly.
You can alter the volume via the menus. A click on the volume bar will alter
the volume immediately to that value, a drag will only alter the volume once
it's completed.
Frodo for RISC OS uses 8 bit logarithmic samples. I don't have documentation
about 16 bit linear and also have serious doubts it would make a hell of a lot
of difference here.
Technical note:
The module "DigitalRenderer" provides the interface between Frodo's
sound system and RISC OS. Since Acorn's documentation of the DMA- and
Channel-Handlers is basically non-existant there might be problems
with future versions; if you experience problems try using older
versions of the modules "SoundChannels" and "SoundDMA". Sorry about
the inconvenience but I ABSOLUTELY REFUSE TO IMPLEMENT SOMETHING LIKE
THIS VIA VOICE GENERATORS!
Avoid activating new SoundDMA or SoundChannels modules while the
DigitalRenderer is active. You DON'T have to rmkill the DigitalRenderer
for this, but turn off sound emulation first, otherwise there might
be some confusion, although there shouldn't be any nasty crashes.
The DigitalRenderer module is documented in the resources directory.
It's registered and you may use it in your own programs.
More than one Frodo:
You can run more than one copy of Frodo / FrodoSC simultaneously. Only
one copy can have sound emulation enabled, though. But that much should
be obvious...
Display and screen modes:
=========================
The screen plotters are customized assembler jobs. Since I really have far better
things to do than write thousands of drivers for all manner of exotic cases
there are some restrictions:
- Modes with eigen_x > eigen_y are not supported (none of the standard modes fall
into that cathegory).
- In modes with eigen_y > eigen_x lines are left out rather than columns being
doubled. You can get the columns-doubled display by doubling the display size.
This mode will be rather slow, however, since I only optimised the plotters to
the full for square pixel modes.
So to run Frodo use a square pixel mode. If you still run non-square pixel modes
your computer is probably much too slow for Frodo anyway. All colour-depths and
resolutions are supported. 16 and 32 bpp modes will take longer to plot because
colour-lookup couldn't be avoided there and of course we're seriously struggling
for bandwidth there. The window will always be scaled to such a size that one
(horizontal) pixel of the C64-image corresponds to <zoom_factor> pixels of the
screen. Thus the display size is only dependent upon your physical pixels, not the
eigen values.
The reason SkipFrames affects the emulation speed so much lies not with my
plotters (which are more or less as fast as possible) but with Frodo being
intelligent enough not to build a frame if it won't be displayed anyway.
If you switch to a screen-mode with