XRoar, a Dragon and Tandy 8-bit computer emulator
XRoar emulates the Dragon 32/64; Tandy Colour Computers 1, 2 and 3; the Tandy MC-10; and some other similar machines or clones. It runs on a wide variety of platforms. More features.
Download
Source code version 1.0.9, released 2022-01-18: xroar-1.0.9.tar.gz. Other downloads.
Debian snapshot builds are available in the Apt repository.
Ubuntu snapshot builds are available in this PPA on Launchpad.
Mac OS X binaries: 64-bit x86 Mac OS X (built under 10.13)
Windows binaries: 64-bit Windows, 32-bit Windows (cross-built using MinGW)
Git repository:
git clone https://www.6809.org.uk/git/xroar.git
The manual is available in these formats: PDF and HTML. See Getting started for a quick guide to running XRoar. See Building from source for instructions on building from source. Be sure to check the Notes for version 1.x.
Firmware ROM images are required to usefully run this emulator. If you have difficulty extracting these from your real Dragon, CoCo or MC-10, dumps may be available from the Dragon Archive or the Color Computer Archive.
asm6809 is a 6809 assembler that can generate machine code to run on the Dragon.
Want a Dragon in your browser? Try XRoar Online.
Notes for version 1.0
- Initial CoCo 3 support.
- Fix MPI FIRQ handling [Paul Fiscarelli]
- New option -tv-input configures type of video used by machine.
- New option -kbd-bind for user mapping of (untranslated) keys.
- Fix duplicate-IDAM issue when reformatting disks [Paul Fiscarelli]
- Initial MC-10 support (including MC6803 emulation).
- Fix occasional spurious NMI in RSDOS [Simon Jonassen]
- New snapshot format to support CoCo 3, MC-10.
- New specific load options: -load-fdX, -load-hdX, -load-sd, -load-tape
- IDE, NX32, MOOH now all require user to specify an image.
- Games Master Cartridge no longer marked autostart by default.
- Tape play/pause function (mainly for MC-10 which has no motor remote).
- Snapshot saves only RAM contents into .ram files [Phill Harvey-Smith]
- List physical joysticks on -joy-axis help or -joy-button help.
- Control+M toggles menubar where appropriate.
Fixes in version 1.0.1
- Fix cart disable logic when loading other media [".mad.", Stewart Orchard]
- MC6801/6803: TST resets CC.C, unlike MC6809.
- Revert colourburst for NTSC colour modes with CSS+GM0 [Allen Huffman]
Fixes in version 1.0.2
- Fix single-bit sound feedback into PIA.
- Revert SDL audio to callbacks, helps with Windows ["sloopy malibu"]
- Fix MC10 INT/EXT wiring [Jim Gerrie]
- 6801/6803: implement more illegal instructions [with Greg Dionne]
- 6803: Lower bits of address to data bus for floating reads [Greg Dionne]
- MC10: Only set lower 6 bits on keyboard read [Greg Dionne]
Fixes in version 1.0.3
- 6801/6803: many more illegal instructions [Greg Dionne, Ron Klein]
- Fix EXTMEM signalling for writes to RAM [Stewart Orchard]
- MC10: Constrain video to internal 4K RAM [Simon Jonassen]
- Default -ao-fragments changed for new SDL audio [Steve Bamford]
- MPI: return to selected slot on reset ["dragonnostalgia", Tim Lindner]
Fixes in version 1.0.4
- GIME IO range fixes [Roger Taylor]
- Enable GDB for CoCo 3 [Michael Furman]
- Fix HD6309 TFM when W=0 [Michael Furman, L. Curtis Boyle]
Fixes in version 1.0.5
- Open IDE images in binary mode under Windows [by Tormod Volden]
Fixes in version 1.0.6
- Fix SDL audio thread interactions
- Try multiple SDL video renderers in order
- Fix composite phase setting
Fixes in version 1.0.7
- Fix Windows 11 video (set SDL hint to use different renderer)
Fixes in version 1.0.8
- Fix WASM audio for non-Firefox [Greg Dionne]
- Fix crash reading zero-length CAS file
- Fix joystick reads for Pacdude Monster Maze
Fixes in version 1.0.9
- Close file after serialisation [Steve Rasmussen]
For version change history, see the ChangeLog.
[n] - reported by, [by n] - contributed by, [with n] - developed with.
Redistribution
License: GNU GPL version 3 or later <http://www.gnu.org/licenses/gpl-3.0.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Binary packages may be linked against SDL and/or libsndfile.
- Local copy of SDL source code: SDL2-2.0.16.tar.gz.
- Local copy of libsndfile source code: libsndfile-1.0.31.tar.bz2.
Ports
Android APK: xroar-0.31.1-1.apk
Android port contributed by Tormod Volden. For more information see its readme.txt. For patches, etc., check out Tormod's website.
drHirudo has ported XRoar to AmigaOS 4 (!), available here.
Stefan Haubenthal has uploaded a build for MorphOS to aminet.
ZX-81 has ported version 0.19 to the Sony PSP and GP2X handhelds. Check for "Tandy Coco" in the list of categories on ZX-81's web site.
Similar projects
MAME emulates a variety of old computer hardware, Dragon included. Source available.
T3 and PC-Dragon, two DOS-only emulators. Source code is available for PC-Dragon, but redistribution of modified copies is not permitted, amongst other restrictions. T3 is closed source (I believe it was written in x86 assembly). These links are to a software collection site, as the original seems to have disappeared.
VCC, a Windows-only CoCo 3 emulator. Does not emulate CoCo 1/2 (beyond what compatibility a CoCo 3 had) or Dragon. Recently open-sourced (August 2015), though at time of writing there's no easy way to clone the entire project at once.
OVCC develops the open-sourced version of VCC in an attempt to make it cross-platform. CoCo 3 only, like the original.