F E L L O W
COMMODORE AMIGA EMULATOR
By Petter Schau (pschau@online.no)
Documentation and FAQ by Brett Eden (revere@sub.net.au)

      PLEASE READ THIS USER MANUAL CAREFULLY BEFORE RUNNING FELLOW
This document contains information current to Fellow V0.3.3 for DOS.
 

Credits

The emulator was written by:

(C) Petter Schau in 1996/1997/1998.  (pschau@online.no)

Programming contributions also by:

(C) Roman Dolejsi 1997          (roman@sorry.vse.cz)
(C) David Voracek 1997         (assassin@paru.cas.cz)
(C) Rainer Sinsch 1998           (sinsch@stud.uni-frankfurt.de)
 
Please refer to the credits section for a detailed description of contributions to the emulator.

License

The conditions for using and distributing this emulator
 
The rights to this program are held by Petter Schau and contributors.

You are allowed to use this program for free.

Free distribution is allowed with some restrictions described below.

This program is freely distributable as long as the content of this archive is intact and unmodified, and no profit is being made from the distribution beyond the price of the distribution media itself.

Redistribution will not change the conditions under which this program is used and distributed.

Inclusion in collections on CD-ROM with other freely distributable software is allowed.

Distribution in violation of the no-profit principle requires permission from the authors of this program.

The emulator is provided "as is", to be used on your own risk.  There are no expressed or implied useability for this program, and no obligations for the author to provide support or repairs in any ways if problems arise.

By using this program, you agree that the author can not be held responsible for any problems arising from the use of this program.  This is experimental software used at your own risk.

The above conditions also applies to the source-code archive for the emulator.
 

Additional conditions for the source-code for the emulator are:

You can modify it as much as you want for personal use.

If you change or add something that will be useful for others, we'd really like it if you sent us a patch so it can be included in the official source-tree.

Inclusion of parts of the source-code in other freely distributable software is allowed as long as the authors are notified first and
credited for the work.

"AMIGA", "AmigaOS", "Kickstart" and "Workbench" are registered trademarks of Amiga International.  Other trademarks mentioned are held by their respective owners.
 

Contents

1.  Introduction 
2. System-requirements 
3.  Essential requirements 
3.1 Kickstart-image 
3.1.1 Using TransROM 
3.2  Disk-image 
3.2.1 Using Transdisk 
3.3  Copying files from PC to Amiga & Amiga to PC 
4. Running Fellow 
5. Configuration and Menu system reference 
5.1 Menu System Basics 
5.1.1 Menu System Tree
5.1.2 Configuration Menus
5.1.3 File-system Browser
5.2 Main Menu 
5.2.1 Start Option
5.2.2 Configuration Option
5.2.3 Utilities Option
5.2.4 Hard Reset Option
5.2.5 Debugger Option
5.2.6 About Option
5.2.7 Quit Option
5.3 Configuration Menu
5.4 Floppy Configuration Menu
5.4.1 Diskimage in DF(x)
5.4.2 Drive (x) status
5.4.3 Disk-DMA speed
5.4.4 Alt-N cycling
5.5 Filesystem Configuration Menu
5.5.1 Add VFS filesystem
5.5.2 Add readonly VFS
5.5.3 Add normal filesystem
5.5.4 Add readonly normal filesystem
5.5.5 Remove filesystem
5.6 Screen Configuration Menu
5.6.1 Screen resolution
5.6.2 Frame-skip ratio
5.6.3  Maximum frame-rate
5.6.4 Flicker-free interlace
5.6.5 Cycle-exact drawing
5.6.6 Scale Y
5.7 Memory Configuration Menu
5.7.1 Chip memory
5.7.2 Fast memory
5.7.3 Bogo memory 
5.7.4 Kickstart-image
5.7.5 Keyfile
5.7.6 Memory space size
5.8 Sound Configuration Menu
5.8.1 Sound emulation
5.8.2 Output rate
5.8.3 Output channels
5.8.4 Output bits
5.8.5 Low-pass filter
5.8.6 SOund buffer depth
5.8.7 Send sound ouput to WAV-file
5.9 CPU and Blitter Configuration menu 
5.9.1 Virtual CPU instruction set
5.9.2 Virtual CPU speed
5.9.3 Virtual Blitter speed 
5.9.4 Long Blits
5.10 Hardfile Configuration Menu
5.10.1 fhfile.device state
5.10.2 FELLOWX hardfiles
5.11 Various Configuration Menu
5.11.1 Joystick Port 1 & 2
5.11.2 Power/floppy LEDs
5.11.3 Performance displayed on-screen 
5.11.4 Menu-position saved on exit
5.11.5 Autorun after some commands
6. Debugger 
6.1 Step
6.2 Step Over 
6.3 Breakpoint 
6.4 Memory 
6.5 CIA
6.6 IO 
6.7 Trace on
6.8 Trace off
6.9 Show Trace
6.10 Trace to file
6.11 Event log configuration 
6.12 Show event log 
7. Command Line Interface
8. Getting started - A Basic Guide
9. Shortcut keys
9.1 Shortcut keys in the user interface
9.2 Shortcut keys during emulation
10. Contact Information
 
 

1. Introduction

Welcome to the Fellow Amiga Emulator, a software emulation of the Commodore Amiga computer system. Fellow provides a virtual Amiga environment to your PC in which you can run Amiga software. The emulator runs on an IBM compatible PC with a DOS operation system installed. Different DOS environments can be used, the emulator has been tested successfully under standalone MS-DOS, DosEmu for Linux and in DOS-boxes under Windows 95 and NT.

The Commodore Amiga 500 model was used as a reference Amiga system when creating the Fellow Amiga Emulator, and the default emulator configuration aims at providing the speed and feeling of this particular Amiga system to your PC.

Fellow is also highly configurable, advanced features can be enabled to provide more powerful capabilities that surpasses those of a stock Amiga 500. It is strongly adviced to read the feature summary so you can get familliar with the strengths and limitations of the emulator.

The Amiga 500 computer was first released in 1987 as the successor for Amiga 1000. It served for many years as the entry-level and the most popular member of the Amiga computer system family. With its rich multimedia capabilities thanks to several co-processors devoted to the generation of fast graphics as well as 4 channel sample-based stereo sound, it soon became a popular platform for games and demos. The advanced multimedia capabilities combined with a multi-tasking, window-based operating system made the Amiga well ahead of its time for a home computer.

Even though it is now well beyond 10 years since the release of the first Amiga, emulation of the early Amigas is still very demanding on present day computers, at least a Pentium CPU is required to run at original speed. It is especially the sheer amount of graphics processing and simply managing the interaction of the many sources of activity in the Amiga hardware architecture that consume the major part of the processing time.

The Fellow Amiga Emulator was created by Petter Schau, the first public version was released in December 1996. Leading up to the release there were several years of curious experimentation with methods to do fast emulation of selected parts in the Amiga hardware. Today it is a mostly complete software emulation of an Amiga 500 and beyond, also thanks to the contributed works of several other people.
 
 

2. System-requirements

In order to run Fellow, your system must meet, or exceed, the following technical minimum specifications: It is RECOMMENDED that you have at least the following setup if you wish to get the most from Fellow: If your video card doesn't support VESA BIOS Extensions 2.0, you will need to try and obtain either a DOS VBE 2.0 driver for DOS specifically for your video card (try the manufacturers home page), or Scitech Display Doctor, available on the net.

Without VBE 2.0 support, most screen resolutions will not be available to you when you run Fellow!

Fellow is quite CPU intensive, and should you wish to run graphics-intesive Amiga programs at the intended "real Amiga" speed, you will require somewhere between a Pentium 133 -> 166 CPU and a fast PCI/AGP video card, other factors like RAM speed will also influence your results (keeping in mind that DIMM RAM is 10ns, compared to standard EDO/Non EDO SIMMs which operate at 60ns and 70ns respectively).
 

3. Before you begin - Essential requirements

Before you can use Fellow, you will need two things:
 
 

3.1 Kickstart-image

 
A copy of an AmigaDOS Kickstart ROM, which is taken from a REAL Amiga.  This file is extracted using a program called "TransROM", which is included with Fellow. The Kickstart is copyrighted software by Amiga International and is of course not possible to include with the emulator.

The correct way to obtain this file is to copy this software from the Amiga you own, or buy the Amiga Forever CD from Cloanto which contains licensed Kickstart ROM images and Workbench software ranging from V1.0 to V3.0 prepared for immediate use with the emulator.
 

3.1.1 Using transrom

TransROM must be copied over to a real Amiga in order to extract a copy of the Kickstart ROM chip and capture it into a file.

CLI> transrom >RAM:kick.rom

Will copy the Kickstart ROM chip and write it into a file in RAM: called "kick.rom".  That file must then be copied to the PC and into the Fellow directory (although it may be called from a different directory).
 
 

3.2 Disk-image

You will also need an "image" of a real Amiga floppy disk, containing the program which you wish to run under Fellow.  This is obtained using a program called "transdisk", and it is also included with Fellow.

A disk-image is a file in which the data normally stored on a floppy-disk is collected.

A PC's floppy drive cannot read an Amiga floppy disk, so to be able to use Fellow, you NEED a disk image of a real Amiga disk.
 
 

3.2.1 Using transdisk

Like TransROM, Transdisk must be copied over a real Amiga to be of any use.

Transdisk is run from the AmigaDOS shell prompt, and will copy a floppy disk, track by track, into a file (which can be read by Fellow).

CLI> transdisk >RAM:df0.adf

Will make an image of any disk present in DF0:.  The disk doesn't have to be named "df0.adf", you can use whichever name you feel is appropriate.
 
 

3.3 Copying Files From PC to Amiga & Amiga to PC

  1. Using a null-modem cable, you can do a Zmodem transfer between an Amiga and a PC. Simply plug the cable into a serial port on each machine, load up a terminal package such as Terminus, NComm or Term on the Amiga, or Terminate, Telemate, Telix (or HyperTerminal for Windows 95 if you insist) on the PC, and initiate a Zmodem upload on the Amiga. If you have it configured correctly (automatic ZModem download at the recieving end should be enabled), the PC will automatically accept this upload, and will download the software onto your PC's hard disk.
  2. For best results, obtain a copy of BaudBandit serial.device replacement for the Amiga, and set both ends to 57,600 Baud. BaudBandit should allow transfers of up to 5500cps to/from a 68000-based Amiga - it is available from AmiNET.

    If you're one of those people with an AmigaOS 1.2/1.3 A500, with only one floppy drive, you could be in trouble.  Unless you have a Terminal package on a floppy disk which you can boot or use in a second drive, there's no way you can use a null-modem cable to talk to the PC (which is essential to actually get software like transdisk or transrom onto Amiga floppy). Your best bet would be to approach an Amiga user group, who may be able to supply you with such a disk, or if you're lucky, an Amiga shareware house/distributor in your area.


    Note: Some Amigas permit you to lock the serial port at 115,200 baud. This largely depends on the machine, it's motherboard revision, and it's processor.  By locking the serial port at 115,200 baud on both the Amiga and the PC, you can effectively transfer files over a null-modem cable at over 10,100cps. 
  3. If you don't have a null-modem cable, or don't particularly want to buy one, you can transfer the Amiga software over the PC using a 720k PC floppy disk. Workbench 2.1+ come bundled with CrossDOS, which is software which allows you to read PC 720k disks in your Amiga's floppy drive.  If you don't have CrossDOS (i.e., you don't have access to Workbench 2.1 or higher), you can also use MessyDOS which is located at on Aminet. Here's a step by step guide on how to transfer software by floppy:
  4. i) Obtain a 720k PC diskette. Format it either on your PC, or on the Amiga using CrossDOS.

    ii) Create either an .ADF file or Kickstart ROM image using the method described above.

    iii) Archive this file using either LhA or Zip (Make sure you have these on the PC, so you can unarchive them when you take the  disk over).

    iv) Copy the archive to the 720k diskette, using CrossDOS or MessyDOS.

    v) Take the diskette over to the PC, copy the archive to the hard-disk, and unarchive it.  Copy the Kickstart ROM image or .ADF   file to the Fellow directory and you're ready to go!

 

4. Running Fellow

Fellow is invoked simply by running FELLOW.EXE from the DOS prompt.  After doing so, you will be presented with a menu screen.  The middle section displays about disks which are presently assigned to floppy drives, and wether the Kickstart ROM is present or not.
 
 

5. Configuration and Menu System Reference

5.1 Menu System Basics

This section applies to the initial GUI frontend.

5.1.1 Menu System Tree

In the lower right window there is a menu system. Use the arrow-keys to browse the menus. The RETURN key selects a menu.  Green highlighted shortcuts are also available as well as global shortcuts for some of the most used options. The ESC key will move you one level up in the menu-system.

5.1.2 Configuration Menus

The configuration settings are changed in the configuration menus. These appear in the main window when one of the configuration menus are selected. The configuration option names are displayed in a list on the left with the current setting highlighted on the right for each option. Arrow-keys UP and DOWN will move in the list. Arrow-keys LEFT and RIGHT will change the selected option to another setting. Some options require the selection of a file and will enter a file-system browser when selected with the RETURN key.

5.1.3 File-System Browser

The file-system browser appears in the main window. Browse with the arrow-keys until you find the file you want to select. The RETURN key will select a file or directory. Exiting the file-system browser without selecting anything is done by pressing the ESC key.

You can automatically move to a specific file by starting to type its name.

A memory option can be used to remember a file-name and insert it later in a configuration menu directly. Consult the file-system browser shortcut key table for this.
 

5.2 Main Menu

5.2.1 Start Option

Selecting this option will begin Amiga emulation mode. If the correct preparations have been made, the emulator will start to boot up like a real Amiga. Remember to insert a disk-image as well as a Kickstart ROM image.

When the emulator has been temporarily stopped, this option will continue and return to emulation mode.

5.2.2 Configuration Option

The configuration sub-menu provides access to a great number of settings which can be used to fine-tune the emulator's behaviour and performance.

5.2.3 Utilities Option

The utilities sub-menu provides tools to create ADF disk-images and hardfiles, as well as a MOD-ripper.
 

5.2.4 Hard Reset Option

The hard reset option will completely restart the virtual Amiga.  A hard reset is also automatically performed when changing some of the configuration options.

When no Kickstart-image has been loaded, hard reset will set up a simple replacement loader capable of booting some programs that do not depend on interaction with the Amiga OS. The disk-image to boot must be inserted in DF0 first. Some demos and games with trackloaders fall in the category of programs this feature can handle. (NOTE: This applies only to Fellow V0.3.2a and earlier versions.)

5.2.5 Debugger Option

The debugger is a tool to inspect what is going on in the emulated Amiga. It was developed to find errors in the emulation and provides a method to debug Amiga programs from outside the virtual machine as well as inspection of the current state of emulated hardware at any point of program execution.

5.2.6 About Option

This selection will display credits for the emulator.

5.2.7 Quit Option

This selection will end the emulator and return to DOS.
 

5.3 Configuration Menu

The configuration menu contains a collection of menus which allows you to configurate the behaviour of the emulator. The different menus are explained below.

5.4 Floppy Configuration Menu

This configuration menu controls a number of settings pertaining to disk-images and Amiga floppy hardware emulation.
 

5.4.1 Diskimage in DF(x)

Where (x) is either 0, 1, 2 or 3, these options allow you to assign virtual disk files to any of the Amigas 4 floppy disk drives.  When you launch the emulator, it will be required that a disk image is assigned to
DF0: if you wish it to boot. (Or any disk-drive under Kickstart V2.0 or higher.)

Pressing DEL on this option will eject the inserted disk-image in the virtual drive.

Pressing ALT-0 to 9 on this option will insert the file whoose name is stored in one of the 10 memory settings.

Disk-images compressed with gzip or bzip will be uncompressed to the directory set in the TEMP or TMP environment variables.  Changes to these compressed images are discarded. (Only the uncompressed temporary image is changed.)
 

5.4.2 Drive (x) status

Where (x) is either 0, 1, 2 or 3.  These options allow you to disable the drive so that the Amiga does not detect the drive.  The use for this is that AmigaOS will not allocate a buffer for the drive, and thus a couple of K extra memory is available for other things.

The intended use for this is to help running old demos that were packed with broken crunchers. Usually, just leave the drives enabled.
 

5.4.3 Disk-DMA speed

Allows you to select the speed at which the virtual disk files are read from the floppy drive and into Amiga memory. The disk-access is usually slow on real Amigas, but the emulation can provide much faster access.

Permittable values are "Original" and "Fast".

Just keep in mind that a quite a few programs will not load unless this setting is "Original".
 

5.4.4 Alt-N cycling

Controls how far the cursor will jump if DEL is is pressed, or if a disk-image is set from the memory settings.
 

5.5 Filesystem Configuration Menu

This menu contains a number of selections to control and define filesystems in your setup. A filesystem is a location in your native filesystem which becomes visible within the emulator as a device.

5.5.1 Add VFS filesystem

This selection will add a virtual filesystem to your setup. A virtual filesystem will translate DOS 8.3 filenames to long filenames used by the Amiga. It also requires Amiga software to be installed from scratch in the disk-space used to keep the filename translation tables updated, or else only the DOS 8.3 filenames will be visible and software may not find the files they need.
Unpack or install software from inside the emulator on VFS volumes.

When selecting this option, first enter the volume name this filesystem should appear as in the Amiga, then the mountpoint in the native filesystem. The third option defines the maximum filename length allowed before long filename mangling is used for a file. Usually leave the third option default.

5.5.2 Add readonly VFS

This selection is similar to 5.5.1, except the filesystem is mounted read-only.
 

5.5.3 Add normal filesystem

Similar to the above, except only DOS 8.3 filenames are visible and no long filename translation is performed.

5.5.4 Add readonly normal

Similar to the above, except only DOS 8.3 filenames and read-only.

5.5.5 Remove Filesystem

Selecting this will pop up a menu with the currently defined filesystems. The selected filesystem name is then removed.
 

5.6 Screen Configuration Menu

This sub-menu controls aspects of the graphics-emulation and visualization on the host screen.

5.6.1 Screen resolution

This setting controls which host-resolution the emulator will use to draw the Amiga-screen.  The exact resolutions available depends on your VESA driver. The following resolutions are available in the emulator if you have support for them:
 
 
Supported host-resolutions:
800x600x16 bit color
800x600x15 bit color
640x480x16 bit color
640x480x15 bit color
640x400x16 bit color
640x400x15 bit color
640x350x16 bit color
640x350x15 bit color
400x300x16 bit color
400x300x15 bit color
400x300x8 bit color
320x480x16 bit color
320x480x15 bit color
320x480x8 bit color
320x400x16 bit color
320x400x15 bit color
320x400x8 bit color
320x240x16 bit color
320x240x15 bit color
320x240x8 bit color
320x200x16 bit color
320x200x15 bit color
320x200x8 bit color (Std. VGA)
The emulator will select only one of the 15/16 bit resolutions when both are found. The standard VGA 320x200x8 resolution is assumed to be available on all cards. If the VESA driver is either missing or does not support the other resolutions, 320x200x8 will be the only resolution available in the configuration selection.

NOTE:
Non-VGA resolutions will only be used with linear framebuffer support in the VESA-driver.

The emulator will keep track of the apperance of the entire Amiga graphics playfield, which is about 768x580 in size. Many of the supported host-resolutions are not big enough to display an image of this size. The result is clipped to fit on the host-screen, and in lores host-resolutions, hires Amiga graphics will go through a lossy conversion, losing every second pixel.

5.6.2 Frame-skip ratio

The frame-skip ratio controls how often the emulator updates the display.  1/1 updates the screen as often as possible.

Lower ratios will result in jerky animations etc., but will save a lot of time that can be spent on other parts of the emulation. Adjusting the frame-skip ratio is generally the first step when fine-tuning the emulator's performance.

5.6.3 Maximum frame-rate

This setting controls the timing limits imposed on the emulator.

Your options are "Unlimited", "50 hz" and "Synch with VGA-card".

"Unlimited" will disable all timing, and allow the emulator to run as fast as possible.  This also affects the repeat rate of keys, as well as destroys the the concept of time within the emulator .  You may find it impossible to use the keyboard if your machine is too fast.

"50 hz" limits the speed to a normal PAL A500.

"Synch with VGA-card" will try to synchronize the display with the refresh of the VGA-resolution used.  It can in some cases cause animations to appear absolutely smooth.  Since the normal PAL-refresh rate does not usually match the VGA-mode refresh rates, this will mess up both sound-speed and the general speed of the application.

NOTE:
This setting is ignored when sound-emulation is set to "Sychronized with emulation". Except the "Synch with VGA-card" option, which is always used, even with sound. Observe that "Synch with VGA-card" and sound is not a good combination.

5.6.4 Flicker-free interlace

When enabled, this setting will try to de-interlace an interlaced Amiga-screen. This is only done when the emulator uses a 800x600 host-resolution.

5.6.5 Cycle exact drawing

Very experimental option.  When enabled, plasma effects etc. will be emulated correctly. (At least that is the general idea :-))
This option does not cover more than mid-line color-changes for now. It is mostly a test to see how it can be done without redesigning the whole graphics-system.  The routines only works in 800x600 now.

NOTE:
Leaving this permanently enabled is a dead-end scenario.  It needs much fine-tuning and more work to work correctly and safely. Recommended use is to switch it on to watch a particular effect.

5.6.6 Scale Y

This option enables a scaling method to correct aspect problems. This option is applied to hires host-resolutions only.

You have 3 options: "No Scaling", "Hardware VGA Line Doubling" and "Insert black lines".

"No Scaling" provides no vertical scaling.

"Hardware VGA Line Doubling" uses some VGA registers to provide double scanlines in hardware. It will only work on VGA register compatible graphics-cards that responds to VGA registers even in SVGA mode. (Not all do.)

"Insert black lines" is a software only method that interleaves black lines into the image to show the Amiga screen with a more correct aspect ratio.
 

5.7 Memory Configuration Menu

This submenu controls what types and amounts of memory the emulated Amiga has.
 

5.7.1 Chip-memory

Allows you to decide how much chip ram will be emulated.  Permittable values range from 256KB to 2MB.

5.7.2 Fast-memory

Allows you to decide how much fast ram will be emulated.  Permittable values are 0, 1, 2, 4 and 8 MB.

5.7.3 Bogo-memory

Allows you to decide how much Bogo RAM (sometimes called Slow ram) will be emulated.  This is a third type of memory, those expansion memory cards that used to be installed in the opening in the bottom of an Amiga 500. Permittable values range from 0KB to 1792KB.

5.7.4 Kickstart-image

Allows you to choose the location of the AmigaOS ROM image (which is required to run programs which boot Workbench, or to boot Workbench itself). Choosing this option will present you with a simple file-requester, with which to choose the ROM file. Fellow will look for "kick.rom" as default.

The suffix .rom is required for these files. Additionally, a kickdisk in ADF format can be used.

The emulator will autodetect the loaction to which the ROM must be loaded. For ROM-images which are located at $F00000, a secondary ROM-file can be loaded to $F80000 or $FC0000 with the -r2 command line option. It is useful for watching the CDTV boot animation for instance. (Although the hardware needed to actually boot CDTV is not emulated.)

5.7.5 Keyfile

This option specifies the keyfile used for unlocking encrypted Kickstarts which are on Cloanto's Amiga Forever CD.

5.7.6 Memory Space Size

This option controls the memory bus width. Allowed options are "24 Bit" or "32 bit". "24 bit" is the standard width for the Motorola 68000 and 68010 and some versions of the 68020 allowing 16MB of addressable memory. "32 bit" allows a full 4GB address space used in medium and high end M68K CPUs.
 

5.8 Sound Configuration Menu

This submenu controls aspects of the sound-emulation.

5.8.1 Sound-emulation

Selects type of sound-emulation.  Options which are always available are: "No sound" and "Emulated, not played"

"No Sound" will disable emulation of Amiga sound-hardware as well as playback.

"Emulated, not played" will emulate the Amiga sound-hardware, but not play any sound.

Options only available when a soundcard (Soundblaster) is found are: "Normal, synchronized with emulation" and "Normal, synchronized with real-time"

Behind these awkward option names are two alternative timing methods for sound playback. "Normal, synchronized with emulation" will keep production of sample output in synch with the general progress of emulation. If the emulation runs too slow, there will be "black holes" or stops in the playback. On reasonable fast machines though, this method will provide good playback quality.

"Normal, synchronized with real-time" will detach sound-emulation from the rest of the emulation, ensuring that there are always enough samples available to produce contiguous sound-playback. The drawback is that you are most likely to experience tempo distortions. Well, you can not get it all on a slow machine. Another drawback, the timer method used does not perform well on a CPU with a PII architecture, but that should not be a problem since the "Normal, synchronized with emulation" method will mostly perform well on those CPUs.

NOTE:
The "Normal, synchronized with real-time" option is not included in V0.3.3, so the information only pertains to earlier versions.

5.8.2 Output-rate

This selects the output rate of the sample stream the emulator generates. Allowed values are 15650 hz, 22050 hz, 31300 hz, 44100 hz.

5.8.3 Output-channels

This selects the number of channels in the sample stream the emulator generates. Allowed values are "Mono" or "Stereo".

5.8.4 Output-bits

This selects the number of bits used in the sample stream the emulator generates. Allowed values are "8 bits" or "16 bits".

NOTE:
Not all sound-cards support all possible output settings. If you have specified an illegal output setting for your card, the settings are forced to minimum settings when you start the emulation. Any settings can be used with the "Emulated, no playback" option though. This is to allow any sound quality to be saved in a WAV-file.

PERFORMANCE NOTE:
44100 hz is unnecessary and a major CPU-hog. A good tradeoff between speed and quality is 31300 hz.  8/16 bits mono/stereo only make a minor difference in terms of speed.
 

5.8.5 Low Pass Filter

A 7khz low-pass filter can be enabled in different ways with this setting. The filter is a sound-transformation which results in a more "bassy" sound, presumably removing high-frequency noise in the samples.
 

5.8.6 Sound buffer depth

The sound buffer depth affects the sound delay as well as having a couple of other side-effects. On slower machines, you will want to use a longer sound buffer to avoid clicks and popping in the sound.

The important side-effect of the sound buffer depth selection is one of synchronization tightness. A fast machine (PII type CPU) will do best with a short buffer interval in order to get an even output of graphics frames.
 

5.8.7 Send sound output to WAV-file

Enabling this option along with a sound emulation method will send sound output to a WAV-file using the selected sound-quality.
 

5.9 CPU and Blitter configuration

This sub-menu controls some aspects of the CPU and Blitter emulation.

5.9.1 Virtual CPU instruction set

This selects the instruction set of the emulated CPU. Available options are "68000", "68010", "68020" and "68030".  The 68020 and 68030 correspond to the EC type CPUs without FPU and MMU.

5.9.2 Virtual CPU speed

Controls the virtual speed of the emulated CPU.  Don't confuse this with real-time performance.

Options are "3.5 MHZ", "7 MHZ", "14 MHZ" and "28 MHZ". These clocks are estimated from the timing of the normal A500 7MHZ 68000 and does not necessarily have a counterpart in a real CPU. (It is one of those things one can do with emulation.)
 

5.9.3 Virtual Blitter Speed

This option controls how the Amiga programs see the blitter speed. You have two options: "Normal OCS Speed" and "Finish Instantly".

"Normal OCS Speed" will provide blitter behaviour that attemps to mimic the behaviour of a proper OCS blitter with respect to speed. Blits take time with this option, and most programs will probably want it this way.

"Finish instantly" provides a blitter that appears to take no time to finish its operations. In some cases this can overwhelm the emulator with blitter operations and seriously degrade real-time performance. It can, however, also do some good with programs that suffer from buffer synchonization problems, such as visible tearing in moving graphics or vector graphics that appears to be "half" drawn when they are made visible by the Amiga program.

5.9.4 Long blits

"Long blits" is an ECS feature. Some programs may need it, such as some Doom ports.
 

5.10 Hardfile configuration

This submenu controls the hardfiles.

A hardfile is a way to provide mass-storage to the emulated Amiga. The hardfile is a huge file which is used as a "harddisk".  The hardfile can be any size.

Hardfiles can only be used if your Kickstart is V2.0 or higher.

Remember to format a new hardfile.

You can boot from any hardfile, they have a boot-priority less than DF0,  but higher than DF1.

You may also use uncompressed ADF-files instead of actual hardfiles.

The units handled by this facility is named FELLOW0 with increasing numbers.

NOTE: Changing the hardfile setup will automatically force a hard reset of the Amiga.
 

5.10.1 fhfile.device state

The hardfile is provided by a software device-driver that can be either enabled or disabled.
 

5.10.2 FELLOWX hardfiles

Depending on how many hardfile slots the executable has been compiled with, you can add a number of hardfiles to your setup. Selecting these options will take to the filesystem-browser, allowing you to select the file you want to emulate mass-storage in.
You can also use uncompressed ADF-images with the hardfile device.
 

5.11 Various Configuration Menu

This menu is a collection of options that did not fit in elsewhere.
 

5.11.1 Joystick Port 1 & 2

The equipment that controls the Amiga joystick ports.

Possible settings are:

Disabled, Mouse, Analog Joystick, Keyboard Joystick Replacement 1 & 2
 
The Keyboard Joystick Replacements are:

Arrow-keys with right CTRL as firebutton 1 and right ALT as firebutton 2.

or

'D' is left, 'F' is down, 'G' is right, 'R' is up, Left CTRL is firebutton 1, left ALT is firebutton 2.
 

The Analog Joystick handling is somewhat awkward.  To calibrate the joystick, rotate the stick during emulation.

If the built-in Analog-joystick handling feels insufficient, then the Joyemu utility provides a far better Analog-joystick handling.
(Search for it with a suitable search engine.)
 
 

5.11.2 Power Floppy Leds

Controls where to display the various leds like power led and floppy-leds.

A led board is also supported (added by Roman Dolejsi).  Look at ledboard.txt.

The setting for Keyboard led order is to tell the emulator of the order of the leds on your keyboard.
 
 

5.11.3 Performance displayed on-screen

This enables a frames per second counter in the upper right of the screen.

This figure is only approximate.
 
 

5.11.4 Menu-position saving on exit

This is an experimental option.  When this is enabled, the menu-movements will be saved on exit, and executed the next time the emulator is started.
 
 

5.11.5 Automatic run after commands

Autorun can be enabled after some commands.
 

6. Debugger

First, a normal user will probably never find any use for the debugger, so if you don't understand the things described here, just move on.

The debugger is a simple environment where you can among other things inspect the state of the emulated Amiga.  It contains a simple disassembler that shows the code around the program counter and the state of the emulated Motorola 680X0 processor.  The CPU can be single-stepped or run until a breakpoint. Memory can be browsed, and some of the registers contained in the Amiga custom chips can be inspected. Logging of exceptions and irqs as well as CPU history are also available if this is compiled into the emulator-binary (*). Usually you will need to compile the emulator yourself to include the logging options in the debugger.
 

6.1 Step option

Executes the next instruction (step 1 instruction forward)
 

6.2 Step over option

Sets a breakpoint at the next instruction, and the emulator will run until that instruction is reached. (Useful for skipping over loops and jsr/bsr instructions)

6.3 Breakpoint option

This option enters another sub-menu, which allows you to specify a breakpoint condition. You can specify a breakpoint address, run until a specified line is reached or in case of (*), you can run until a logged exception or irq happens.

6.4 Memory option

This selection enters a memory browser navigatable by PGUP/PGDOWN or arrows UP/DOWN. Hex or ASCII format is selected by (h/a).
 
 

6.5 CIA Option

This selection dumps the state of the registers in the emulated CIA chips
 

6.6 IO option

This selection enters a sub-menu allowing you to inspect various registers and state in the custom chips.

6.7 Trace On Option (*)

Enables CPU instruction history.  The last 1/2 million instructions will be remembered.
 

6.8 Trace Off Option (*)

Disables CPU instruction history.
 

6.9 Show Trace Option (*)

This selection enters a CPU instruction history browser. It is navigated with arrow-keys UP/DOWN, PGUP/PGDOWN, HOME/END and INSERT/DELETE (+-1000 instructions).
 

6.10 Trace To File Option (*)

This selection writes the current CPU instruction history log to a file called "mytrace.cpu".
 

6.11 Evlog Config Option (*)

This selection enters a screen where logging of specific exceptions and IRQs can be enabled or disabled.
 

6.12 Show Evlog Option (*)

This selection enters a event log browser in which the gathered logging information can be inspected.
 

7. Command Line Interface

 
Command line option summary:
Various command line options:
-h Command line option summary
-log Generate log-file fellow.log while initializing the emulator. Use this to see what the emulator finds out about your hardware (Default: No log)
-nogui Skip initial GUI-session (Default: Use initial GUI-session)
-f12exit F12 exits the emulator completely (Default: F12 returns to GUI)
-config <file> Use config-file <file> (Default: Use fellow.cfg)
-noconfig Do not use config file (Default: Use config file)
-ns Do not save settings on exit (Default: Save settings)
-nommx Do not use MMX instructions even if MMX is present. (Default: Use MMX if detected)
Floppy disk command line options:
-0 <file> Use diskimage <file> in DF0 (Default: No diskimage)
-1 <file> Use diskimage <file> in DF1 (Default: No diskimage)
-2 <file> Use diskimage <file> in DF2 (Default: No diskimage)
-3 <file> Use diskimage <file> in DF3 (Default: No diskimage)
-0e +|- Enable (+) or Disable (-) DF0 (Default: Enabled)
-1e +|- Enable (+) or Disable (-) DF1 (Default: Enabled)
-2e +|- Enable (+) or Disable (-) DF2 (Default: Enabled)
-3e +|- Enable (+) or Disable (-) DF3 (Default: Enabled)
-ds +|- Enable (+) or Disable (-) fast disk access (Default: Slow access)
-dmX <file> File-requester disk memory X (0-9) contents
-dpath <dir/file> Specify active element in file-requester
Hardfile command line options:
-hfX <file> Use <file> as hardfile X, where X is a number from 0 to 9. (Default: No hardfile)
-he +|- Enable (+) or disable (-) hardfile device. (Default: Enabled when using Kickstart V2.0++)
Memory command line options:
-c <size> Use <size> KB of chip-memory, where size is 256, 512, 768, 1024, 1280, 1536, 1792 or 2048. (Default: 2048 KB)
-fm <size> Use <size> MB of fast-memory, where size is 0, 1, 2, 4, or 8. (Default: 0MB)
-b <size> Use <size> KB of bogo-memory, where size is 0, 256, 512, 768, 1024, 1280, 1536 or 1792. (Default: 0 KB)
-r <file> Use <file> as Kickstart image or kickdisk (Default: kick.rom)
-r2 <file> Use <file> as secondary Kickstart image or kickdisk. (Default: No image)
-K <file> Use <file> as keyfile for encrypted Kickstart images. (Default: rom.key)
Joystick command line options:
-j1 n|a|m|k1|k2  Specify equipment in game port 1:  
n - No equipment  
a - Analog joystick  
m - Mouse  
k1 - Joystick keyboard replacement 1  
k2 - Joystick keyboard replacement 2  
(Default: Mouse)
-j2 n|a|m|k1|k2  Specify equipment in game port 2:  
n - No equipment  
a - Analog joystick  
m - Mouse  
k1 - Joystick keyboard replacement 1  
k2 - Joystick keyboard replacement 2  
(Default: No equipment)
Sound command line options:
-s d|n|c|e Specify sound emulation method:  
d - disabled  
n - Normal, synchronized with emulation  
c - Normal, synchronized with real-time  
e - Emulated, no playback  
(Default: Disabled)
-sf <rate> Sound output rate in HZ, where rate is 15650, 22050, 31300 or 44100  
(Default: 15650)
-ss on|off Stereo output, on or off (Default: off)
-sb <bits> Sound bits, where bits are 8 or 16 (Default: 8)
-sd <frames> Sound buffer depth in 50 hz frames, where frames range from 1 to 9. (Default: 5)
-sw +|- Enable (+) or Disable( -) wav-dump soundlayer. (Default: Disabled)
-sl 0|1|2 Low-pass filter usage:  
0 - Original  
1 - Always  
2 - Never  
(Default: Original)
-s1 Force Soundblaster V1 routines
Screen command line options:
-res 800600w | 640480w | 640400w | 640350w | 400300w | 400300b | 320480w | 320480b | 320400w | 320400b | 320240w | 320240b | 320200w | 320200b Specify host resolution to use (Default:800600w, then 320200b)
-fl none|50|vga Framerate timing constraint
-f <number> Frame-skip ratio 1/number (Default: 1/1)
-i on|off Deinterlace in 800600 (Default: off)
-gc on|off Use cycle-exact graphics in 800600 (Default: off)
-y n|h|b Specify vertical scaling:  
n - No scaling  
h - Hardware VGA Scaling  
b - Blank line interleave
 

8. Getting Started - A Basic Guide

Once you've copied an Amiga Disk into an .adf file, and transferred it over to your PC, run Fellow and assign this disk image to DF0:

If this is a Workbench disk, make sure you have copied your Kickstart ROM into a file and have it situated in the Fellow directory, and named as "kick.rom", or selected a different location in the config-menu.

If the Kickstart is not present, Fellow will bypass the normal Amiga bootstrap and try to boot anyway.  This works with some demos and games which ignore the Kickstart-routines and handle everything on their own. You may have to select "RESET" to enable this after inserting a disk-image.

Select the amount of RAM you wish to use, configure sound emulation to suit your hardware, and select "RUN" from the main menu.

All things being well and good, Fellow should boot your disk image.
 
 

9. Shortcut-keys

Some shortcut keys are available in the user-interface, and some also during emulation. These are described in the tables below.
 

9.1 Shortcuts in the user-interface

 
Keypress: Description:
ALT-X Quit
CTRL-q Quit
F1 Configuration Menu
F3 Utilities Menu
F5 Hard Reset
F7 Debugger Menu
F9 Start
F11 About
ALT-d Disk-Image Configuration Options
ALT-f Filesystem Configuration Options
ALT-m Memory Configuration Options
ALT-o Sound Configuration Opitons
ALT-c CPU and Blitter Configuration Options
ALT-h Hardfile Configuration Options
ALT-v Various Configuration Options
ALT-a Add VFS Filesystem
ALT-r Remove Filesystem
 
 

9.2 Shortcuts during emulation

Keypress: Description:
F12 Exit to the menu-system, pausing the emulation
HOME-PGUP Switch to next available host screen resolution
HOME-PGDOWN Switch to previous available host screen resolution
END-PGUP Use next scaling method
END-PGDOWN Use previous scaling method
HOME-KEYPAD ARROW UP Scroll virtual Amiga playfield up
HOME-KEYPAD ARROW LEFT Scroll virtual Amiga playfield left
HOME-KEYPAD ARROW RIGHT Scroll virtual Amiga playfield right
HOME-KEYPAD ARROW DOWN Scroll virtual Amiga playfield down
HOME-F11 Capture screen and save it to a BMP image file
HOME-F1 Insert disk-image in DF0
HOME-F2 Insert disk-image in DF1
HOME-F3 Insert disk-image in DF2
HOME-F4 Insert disk-image in DF3
END-F1 Eject disk-image in DF0
END-F2 Eject disk-image in DF1
END-F3 Eject disk-image in DF2
END-F4 Eject disk-image in DF3
 
 

10. Contact Information

Contacting Petter Schau is easiest by email at  pschau@online.no

Just keep in mind that I (Petter Schau) no longer find myself in the position to answer all mail. Issues such as when the next version is coming, or what will be in it is usually ignored, as well as "user support" concerning documented features and tasks. This also goes for things people ordinarily should seek to get answered by other means, such as how to operate an Amiga, or technicalities of transferring data from Amiga to PC.

Old fashioned mail-address:

Petter Schau
Ravnkollbakken 83
N-0971 Oslo
Norway

E-Mail addresses for other authors and contributors are found in the credits file.
 
 
 
 


This document was prepared by Brett Eden, and was last updated by Petter Schau 18/9/98.  Any questions, comments or suggestions should be forwarded to Brett Eden on revere@sub.net.au