XRoar

inofficial mirror of http://www.6809.org.uk/dragon/xroar.shtml (licensed under GNU GPL v2 or above)

GPL-2.0 License

Stars
10

XRoar - a Dragon/Tandy Coco emulator Copyright 2003-2014 Ciaran Anscomb [email protected]

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.

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.

XRoar is easily built from source under Linux, and binary packages are provided for Mac OS X and Windows.

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

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 more basic user experience, with most functionality only available through the keyboard shortcuts. Under Mac OS X, a special case of the SDL UI is built that also provides some menus. Unless you are building for Linux, SDL is required to use joysticks.

Other supported audio APIs: OSS, ALSA, PulseAudio, CoreAudio, JACK, Sun audio (not tested in quite 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.32.tar.gz | tar xvf -
 $ cd xroar-0.32
 $ ./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'.