Dragon computers

Introduction

The Dragon 32 is an 8-bit personal computer released in 1982 by Dragon Data Ltd., based in Wales. 32K of RAM and Microsoft Extended Colour BASIC built in makes it a good machine for BASIC programming. With a Motorola MC6809E microprocessor at its core (widely regarded as the best of the 8-bits), it is an excellent machine for the assembly language programmer.

In 1983, the upgraded Dragon 64 was introduced. It provides an extra 32K of RAM, a serial port for better external communications, and the ability to run advanced operating systems such as NitrOS-9 (a modern redevelopment of OS-9) and FLEX.

An NTSC version of the Dragon 64 was released in the USA as the Tano Dragon. Eurohard later repackaged the Dragon 64 in Spain as the Dragon 200, and also produced a localised version called the Dragon 200-E.

David Linsley has written a comprehensive history, available here (PDF).

The Dragon computers are based around a Motorola reference design also used by Tandy for their Colour Computer 1 and 2, and so share many features and software with those machines.

Software

XRoar

A free, cross-platform emulator of the Dragon 32, 64, etc. Also emulates the Tandy Colour Computers 1, 2 & 3, the Tandy MC-10 and some of their clones.

Dunjunz

1-4 player "Gauntlet" style game for the Dragon 32/64 and Tandy Colour Computer. Rewrite of a BBC Micro original.

Blockdown

1-2 player "Falling blocks puzzle game" for the Dragon 32/64 and Tandy Colour Computer.

6809 GDB

Modifications to GDB to support a 6809 remote target (e.g. XRoar).

dzip

Simple compression tool. Compression rates are reasonable, decompression is very fast, and the 6809 decompress loop is only 39 bytes long. Used in the loaders for the Nyan Cat demo.

While dzip's decompressor is very small and very fast, other tools trade off one or both of those aspects to achieve much better compression. Check out zx0-6809 or Exomizer.

asm6809

A 6809/6309 macro cross assembler written in C. Quite good at generating efficient output.

6809dasm.pl

A 6809 disassembler written in Perl. The aim is to always produce code that can be reassembled by "asm6809". Now with 6309 support and ability to annotate output with comments.

Demos

A collection of demo or work-in-progress (or possibly destined to remain proof-of-concept) Dragon software.

CAS tools

bin2cas.pl (Perl script) converts a raw/DragonDOS/CoCo binary into a .cas or .wav file. Supports autorun, using dzip or salvador to compress files, multi-part, video mode changing between parts, vertical XOR, speeded output for WAV files.

cas2wav (C program) converts a Dragon/Tandy CoCo CAS file to WAV. Options control sample rate, number of channels, etc. Uses CUE data if present.

PD Dragon 1 & 2

The two Dragonfire public domain disks. There are a couple of little adventure games in there (probably by Robin Hemmings). Interesting to me was "1770.BAS" (by M. Edwards) which allowed you to read BBC Micro disks.

Code snippets

keyboard.s
Standalone keyboard scanning routine.
rnd.s
Simple 16-bit PRNG - almost certainly originally from Dragon User.
crc16.s
6809 implementation of CRC-16-CCITT.

Hardware

Dragon 64 motherboard

SAMx4

A CPLD-based drop-in replacement for the MC6883 Synchronous Address Multiplexer (SN74LS783).

CoCo 3 512K SRAM

Not for the Dragon, but for its American cousin once removed, the Colour Computer 3. These came with 128K RAM as stock, but you can upgrade it to a 512K module. Successfully built and tested by at least one person besides myself.

Documentation

Other sites about the Dragon:

And less directly Dragon-related:

Images

 

Updated 29 Mar 2024