Dragon 1982The Dragon machine · being built עברית ← To the Dragon machine

What we are building now

The Dragon machine is a Dragon 32 whose chips are emulated in your browser: the 6809 CPU, memory, video and cassette, through Ciaran Anscomb's XRoar emulator. The ROM, the chip that holds the BASIC language, belongs to its rights holders. So we are writing our own ROM in the 6809's machine language.

The goal

The real computer, as close as we know how, without copying the original code. Every decision is judged by one question: does this bring us closer to the original?

How we are building it

How we test it

574 automatic tests run the ROM inside XRoar on every change. They check what appears on the screen, what is written to tape and what goes to the printer. Among them are 74 programs from old BASIC books, with the output printed in the book, and sound down to the CPU cycle.

What there is today

Speed against 1982

In 1982 the magazine Personal Computer World ran eight short BASIC programs on every computer and timed each one with a stopwatch. Here are the Dragon 32 results from the August 1982 issue, next to the same programs on our machine (in seconds):

TestWhat it doesDragon 32, 1982Our machine
BM1an empty FOR loop, 1000 times1.61.6
BM2a loop with IF and GOTO10.210.1
BM3arithmetic with variables19.719.8
BM4arithmetic with constants21.621.7
BM5plus GOSUB23.323.5
BM6plus an inner FOR loop34.335.5
BM7plus writing to an array50.052.4
BM8power, LOG and SIN, 100 times12.912.4

The first five come out almost exactly as on the original, within stopwatch accuracy. Three small differences remain: an inner FOR loop and writing to an array are a few percent slower here, and the maths functions a little faster. We will check them against a real Dragon.

Source: Personal Computer World, August 1982, p. 116.

What is still far from the original

This is a hobby project with no timetable. What we build here does not change the main app.

Do you have a real Dragon?

Some things can only be learned from a working machine. Please type these lines and tell us what appeared on the screen, and which model:

You can write to us through the contact page.