Dragon 1982The real machine ยท trial ืขื‘ืจื™ืช โ† Back to the app

This is a Dragon 32 emulated at chip level (the 6809 CPU, memory and video chip), running a BASIC we wrote from scratch, without the original ROM. It is still a trial: some things are missing, and it is a little slower than the original. Click the screen and type, or use the keyboard below.

Tape shelf

Tap a tape and the game loads and starts by itself.

How did you load a game in 1982?

Games were sold on audio cassettes. You put the tape in a cassette player wired to the computer and typed CLOAD ("load from cassette"). The computer listened to the tape for a few seconds and copied the game into memory. Then you typed RUN and the game started.

Here you just tap a tape, and the computer does it for you, so you can see what it looked like.

My tapes

Write a program and type CSAVE "NAME" (up to 8 letters). It is recorded to tape and kept here. Load it by tapping the tape, or type CLOAD "NAME".

Tapes are kept only in this browser and are lost if you clear it (in Safari also after a week without a visit). To keep one for good or move it to another device: โฌ‡ downloads the tape as a file.

Try: PRINT 2+3, or a program: 10 FOR I=1 TO 10:PRINT I*I:NEXT then RUN. To stop: BREAK (Esc).

What works, and what's still missing

Works: numbers and strings, variables and arrays, IF/THEN/ELSE, AND/OR/NOT, FOR, GOTO, GOSUB, ON, DATA/READ, INPUT, DEF FN, the functions (INT, RND, SIN, LEFT$, MID$...), graphics (PMODE, LINE, CIRCLE, PAINT, DRAW, GET/PUT), sound (SOUND, PLAY), cassette (CSAVE/CLOAD), PRINT USING, EDIT, RENUM, AUTO, DEL, STOP/CONT, TRON.

Still missing: Original 1982 program tapes don't load yet (they are stored in a different, tokenised format). Speed is still a little below the original. The app's cartridges and helper don't work here.

Found a difference from the Dragon you remember? That is exactly what we're looking for. Open a report on GitHub (a ready form with three questions; a GitHub account is needed), or write via the contact page (in Hebrew; English is fine): what you typed, what you got, and what the original would have done.

How to edit a line (EDIT)

Type EDIT 20 and the line number appears. Now every key is a command. A number before a command repeats it, for example 3 D.

Space: one character forward ยท โ†: one back ยท D: delete ยท C: change ยท I: insert ยท X: insert at the end ยท H: delete the rest and insert ยท S and a character: jump to it ยท K and a character: delete up to it ยท L: show the line ยท A: undo the changes.

To leave insert mode: SHIFT+โ†‘ (on a computer keyboard: _). ENTER saves the line, BREAK leaves without saving.

The emulator is XRoar by Ciaran Anscomb, licensed under GPL v3. Sources and licences. Our BASIC: github.com/gonenya-create/dragon32.