Dragon HW
Dragon SW (DDOS)
Dragon SW (OS9)
Dragon Projects

Dragon Hardware

Hardware Architecture

Dragon 32 Overview:
  • Motorola MC6809EP (1 MHz) 8-bit CPU clocked at 0.9 MHz
  • 32K DRAM
  • 2*8K or 16K EPROM comprising Microsoft Extended BASIC
  • 16K Cartridge/External ROM memory
  • Motorola MC6847 Video Display Generator provides text and graphics output
  • 2*Motorola MC6821 Peripheral Interface Adaptors (PIA) provide interface to on-board peripherals: keyboard, parallel printer port, cassette, joystick and other io activity eg. VDG mode selection.
  • Motorola MC6883 (74LS783) Synchronous Address Multiplexer (SAM) provides system clocks to CPU and VDG, DRAM refresh and memory sizing, PIA, VDG, DRAM, EPROM, and cartridge address decode logic.
  • Cartridge expansion port providing access to most of the CPU signals, along with address decode and select lines
  • 2 analogue joystick ports, cassette port, composite monitor port, TV 75 ohm connector and centronics parallel printer port.
Dragon 64 includes in addition to this:
  • SY6551 Asyncronous Communications Interface Adaptor (ACIA) along with RS232 logic connecting to 7-pin DIN RS232 socket.
  • Extra 32K DRAM, mappable via the SAM chip into the upper 32K (switching out ROMS and cartridge area) giving 64K contiguous memory or into the lower 32K swapping the existing 32K out of the map allowing the use of 'shadow RAM'.
  • Modified 16K Extended BASIC providing RS232 i/o calls, removal of the USR bug present in the D32 ROM (all USR calls on the D32 are USR0n, on the D64 they are USRn where n is from 0-9) and calls to allow the additional interpretor to be invoked
  • Additional 16K Extended BASIC EPROM re-compiled to run from a higher memory address. When invoked, the machine is switched into 64K RAM mode and the interpretor copied from EPROM to RAM giving an extra 16K BASIC workspace.

Tandy Colour Computer (CoCo) key differences:

  • Both come in 32K or 64K RAM variants, the extra BASIC EPROM and RS232 port are not implemented. CoCos may come with Color BASIC (8K EPROM) as opposed to the full Extended BASIC command set. RAM and BASIC EPROM upgrades are easily accomplished by additional chips and jumper settings - D32's are not easily upgraded to D64s.
  • Parallel printer port is replaced by an RS232 port driven off one of the PIAs (bit banger)
  • Although both BASIC interpretors provide the same language, the ROMS differ such that most ROM calls on one machine will fail on the other.
  • Different BASIC tokens are used on each machine - saved BASIC programs from one machine will appear as gibberish on the other. This can be rectified by saving the program in ASCII or using a re-tokenising program (see DragonDOS software for copies of re-tokenising programs).
  • The keyboard lines are mapped differently into the PIAs
See Up2Date articles on converting a CoCo to a Dragon.

Add Ons

Both machines provide a disk interface by means of a cartridge plugging into the machine. This maps an extra 8K EPROM into the area reserved for cartridge memory and the disk IO chip into a spare I/O slot. The 8K EPROM provides a set of additional BASIC and m/code ROM calls to talk to the disk controller - DragonDOS on the Dragon and RSDOS on the CoCo. They are completly incompatible with each other - in addition numerous DragonDOS or compatible variants exist, which while providing BASIC command compatability do not provide full m/code call compatability.

Both 64K machines are capable of running OS9 Level 1 in 64K RAM mode.

External connections

Pinouts of external connectors


Dragon 32

DragonDOS Cart

DeltaDOS Cart (I think!)

Memory Maps

D32 and D64 Initial Settings:
0000 - 8000 32K DRAM
8000 - FF00 Basic and Cartridge ROMS
FF00 - FFFF I/O and CPU vectors
D64 Extended BASIC Map Mode:
0000 - BFFF 48K DRAM
C000 - FF00 16K DRAM loaded with BASIC intepretor
FF00 - FFFF I/O and CPU vectors
Default ROM power-up:
        Address         Description

        0000-0400h      System workspace
        0400-05FFh      Text Screen
        0600-0BFFh      Graphics Page 0 or DOS workspace
        0C00-1DFFh      Graphics RAM
        1E00-23FFh      Graphics RAM if DOS present
            -7FFFh      User RAM (BASIC & M/C)
        8000-BFFFh      Basic ROM
        C000-FF00h      Cartridge ROM or DOS ROM (DOS=C000-DFFFh)
        FF00-FF5Fh      IO Ports
        FF60-FFF1h      SAM (Synchronous Address Multiplexor) chip vectors
        FFF2-FFFFh      CPU vectors
System Page 0 (0-255)

System Page 1-3 (256-1024)

DOS Workspace (1536-3071)

SAM Chip Vectors & CPU Vectors

IO Page 255 (including Disk chip)

Basic ROM - some useful calls

Data Sheets

WD2797 (Disk Controller) - scanned PDF, not brilliant quality!

74LS783/MC6883 - SAM Chip

MC6847 - Video chip

Other References: 'Inside the Dragon' by D. Smeed & I. Sommerville is invaluable if you can get hold of it, back issues of 'Dragon User' particularly around Sept '85-April '86 which has a pretty good breakdown of the memory map/ROM routines.



©2018 OnAStickSoftware, Comments to: