Dragon 64
Enhanced Welsh computer
The 1983 upgrade to the Dragon 32, doubling RAM to 64KB while maintaining 6809 architecture and CoCo compatibility.
The Dragon 64 was the 1983 enhanced version of the Dragon 32, doubling RAM to 64KB while maintaining the same 6809 CPU and CoCo compatibility. It also added an RS-232 serial port for communications. Your Computer found it in high-street stores at £229 in January 1984, though advertised prices in the following months range from £225 to £274.95.
Fast facts
- Released: 1983
- Price: £229 (Your Computer, January 1984)
- CPU: Motorola 6809E @ 0.89 MHz
- RAM: 64 KB
- ROM: 16 KB
- Additions: RS-232 serial port
Specifications
| Component | Dragon 32 | Dragon 64 |
|---|---|---|
| RAM | 32 KB | 64 KB |
| Serial | None | RS-232 |
| Price | £199 | £229 |
| Graphics | MC6847 | MC6847 |
| CPU | 6809E | 6809E |
The 64K is a bootstrap, not a switch
The extra 32K does not sit alongside the ROM; it sits on top of it. The SAM
chip’s map type 1 gives a flat 64K of RAM from 0000 to FEFF, and in doing so
“the extra 32K of RAM therefore overlays the BASIC ROM and expansion addresses
which means that neither the Extended Color BASIC ROM nor the cartridge ROM can
be accessed”.
So the machine cannot simply turn its memory on. It boots as a Dragon 32, and
EXEC runs a bootstrap that copies a second BASIC ROM into the RAM that is
about to hide it — reading a byte in map type 0, switching to map type 1, writing
it, switching back for the next. Only once BASIC is living in RAM at C000–FEFF
can the machine become a 64.
Two consequences follow, and both are visible to the user.
The cursor changes colour. “The 64K mode can be distinguished from the 32K mode by the fact that the cursor flashes blue rather than black” — the machine tells you which of its two personalities is running, because nothing else does. Your Computer’s reviewer describes exactly the same tell, from the other side of the manual.
And there is no way back. “Once in 64K mode, there is no easy way to return to the 32K mode since a reverse bootstrap has not been provided.” Smeed and Sommerville give the three POKEs that look as though they should revert the machine, then note that they do not work: reverting “requires resetting the interrupt vectors and changing various other addresses and pointers.”
BASIC in RAM, and the checksum that guards it
Putting the interpreter in RAM makes it editable, which is both the interesting
part and the dangerous part. Dragon Data’s answer is a 16-bit checksum: FLAG64
at $11A records whether this is a warm or cold boot, and $11B–$11C hold a
running total taken while BASIC was copied. On reset the total is recalculated,
and a mismatch forces a cold boot that copies BASIC in again.
The stated reason is blunt — it “avoids the problem of users or programs poking the BASIC in RAM thus causing the system to crash and then performing a warmboot which would not restore the correct BASIC system.” A machine that can be broken by its owner is made to notice, and repair itself.
The book then shows you how to defeat the guard. RECSUM walks $C000 to
$FF00, adds the bytes, and stores the result over CSUM64 — so a modified
BASIC checksums as though it were original and survives the reset. The manual and
the escape hatch are on facing pages.
The serial port
An RS-232 interface on a 7-pin DIN connector, standard on the 64 and usable in
both modes. It brings DLOAD and DLOADM — the cassette commands’ equivalents
for pulling programs from a host machine — and three routines in the I/O jump
table underneath them: SERIN at $802A, SEROUT at $802D, SERSET at
$8030. Seven baud rates from 110 to 9600, defaulting to 1200.
One byte redirects printing: PRNSEL at $3FF, zero for the Centronics port and
non-zero for the serial one.
“Loosely cobbled on”
Your Computer reviewed the machine in January 1984 and was unpersuaded. The 64 “is really a Dragon 32 with extra memory, an RS-232 port and auto repeat on the keyboard. These are loosely cobbled on to the 32 rather than being an integral part of the machine.” The specific complaint is the one the bootstrap makes unavoidable: “Execs and Peeks and Pokes are needed to use most of the new facilities when they should be an integral part of the machine.”
The review is fair, and the technical documentation agrees with it without meaning to. Every feature in Appendix 5 is reached through an address the user has to know.
Improvements
| Addition | Benefit |
|---|---|
| 64KB RAM | Larger programs, data |
| RS-232 | Modem connectivity |
| OS-9 capable | Unix-like OS support |
OS-9
The extra RAM enabled OS-9, a sophisticated multi-tasking operating system:
- Unix-like environment
- Multi-user capable
- Hierarchical file system
- Modular design
Legacy
The Dragon 64 showed what the platform could achieve with more resources, but came too late to change Dragon Data’s fortunes. The company folded in 1984, ending the Dragon line.