XRoar - a Dragon/Tandy Coco emulator
Copyright 2003-2016 Ciaran Anscomb <xroar@6809.org.uk>


XRoar is a Dragon emulator that runs on a wide variety of platforms.
Due to hardware similarities, XRoar also emulates the Tandy Colour
Computer (CoCo) models 1 & 2.  Some features are:

   * Emulates Dragon 32, Dragon 64, Dragon 200-E, Tandy CoCo 1 & 2, and
     compatibles.
   * Emulates DragonDOS, Delta and RSDOS disk systems.
   * Emulates the Orchestra 90-CC stereo sound cartridge.
   * Supports both raw and translated keyboard modes.
   * Reads and writes virtual cassettes (compact '.cas' files and audio
     files).
   * Reads and writes VDK, JVC and DMK format virtual floppy diskettes.
   * Saves and loads machine snapshots.
   * Provides a GDB target for remote debugging.
   * Initial Glenside IDE support.

   XRoar is easily built from source under Linux, and binary packages
are provided for Windows.  It should still be possible to build for Mac
OS X, but no binary packages are currently being provided.

   XRoar was originally written to run on Solaris, Linux and the GP32
handheld.  Later, it was ported to the Nintendo DS. Support has now been
dropped for the GP32 and NDS as emulation accuracy, and thus the CPU
requirement, has increased.  Builds have not been tested under Solaris
for some while.


XRoar is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

XRoar is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with XRoar.  If not, see <http://www.gnu.org/licenses/>.


This README contains extracts from the manual.  Binary packages contain the
full manual as a PDF, which is also available from the XRoar home page
(http://www.6809.org.uk/xroar/).


Getting started
***************

Pre-built binary packages are available from the XRoar home page
(http://www.6809.org.uk/xroar/).  If one is not available for your
architecture, you will need to build from source.  XRoar should build
and run on any POSIX-like system for which SDL is available.

   You will also need BASIC ROM images--binary dumps of the firmware
from an original machine.  The originals were part-written by Microsoft,
so they are not distributed in the XRoar packages.


Installation
************

Building from source
====================


Dependencies
------------

Please note that the build process under Mac OS X is now _untested_.
These notes worked for previous versions and are left here in case they
are still useful.

   If there is no binary package for your system, you will have to build
from source.  XRoar can use various backend toolkits, and you will need
to ensure you have their development files installed.  If you're using
Debian, this can (at the time of writing) be achieved with the following
simple command:

     $ sudo apt-get install build-essential libsndfile1-dev libgtk2.0-dev \
             libgtkglext1-dev libasound2-dev

   Under Mac OS X, first be sure to install Apple's Xcode
(https://developer.apple.com/xcode/) package.  The easiest way to then
ensure you have XRoar's dependencies available is to use a system like
Homebrew (http://mxcl.github.com/homebrew/) or MacPorts
(http://www.macports.org/).  For Homebrew, the following command will
install the required dependencies:

     $ brew install libsndfile sdl

   Otherwise, you'll have to do a bit of platform-specific research to
ensure you have all the dependencies for a full build:

   GTK+ (http://www.gtk.org/), the GIMP toolkit, provides the most
full-featured user interface.  It is only usable as such if you also
have GtkGlExt (http://projects.gnome.org/gtkglext/), an OpenGL extension
used to provide video output.  Otherwise, it can provide a file
requester for use by other user interfaces.

   SDL (http://www.libsdl.org/), Simple Directmedia Layer, provides a
slightly more basic user experience.  Menus are added using native code
under Windows; any other target using SDL will support only keyboard
shortcuts.  Unless you are building for Linux, SDL is required to use
joysticks.

   Other supported audio APIs: OSS, ALSA, PulseAudio.  Some other
options are still in the code base, but have not been tested in a while.

   libsndfile (http://www.mega-nerd.com/libsndfile/) is recommended to
enable support for using audio files as cassette images.


Compilation
-----------

Once you have the dependencies, building XRoar follows a familiar
procedure:

     $ gzip -dc xroar-0.34.6.tar.gz | tar xvf -
     $ cd xroar-0.34.6
     $ ./configure
     $ make
     $ sudo make install

   The 'configure' script has a lot of options guiding what it tests
for, specifying cross-compilation, changing the install path, etc.  List
them all with the '--help' option.  Be aware that this is a custom
script, it is not generated by the GNU build system.

   By default, 'configure' will set up an install _prefix_ of
'/usr/local', but this can be changed by using the '--prefix=PATH'
option.

   Once built, run 'make install' as root (or use 'sudo', as in the
example above) to install the binary and info documentation on your
system.  The executable is called 'xroar'.  ROM images should be placed
either in your home directory as '~/.xroar/roms/', or under the
installation _prefix_ as '_prefix_/share/xroar/roms/'.  Any
configuration file should be created as '~/.xroar/xroar.conf'.

   XRoar can be built on one platform to run on another.  The Windows
binary package is built like this.  To specify a cross-compile, use the
'--host=HOST' argument to 'configure'.  For example, to build for
Windows, you might use './configure --host=i686-w64-mingw32'.  Getting
everything "just so" for a cross-build can be a tricky procedure, and
the details are beyond the scope of this manual.
