JK's Dragon/CoCo IEC Floppy Interface

History and Overview

Even though my focus layed on the Commodore C64 site I was always addicted to 6809 based systems (for ease of programming). Affordable systems these times were Dragons or CoCos. In 1987 I finally got one, a Dragon 32 which I had expanded to 64 Kbyte later on. No other devices, especially disk drive and so on found the way to me. So in need of some practicable mass storage - the tape drive wasn't a solution to this - I thought of to use my good old Commodore 1541 floppy drive. The (alas slow) serial IEC tranfer protocol was not the problem. Some shortcut Basic commands has been added to extend the Color Basic with all the operations needed: show the directory, save and load programs, check error messages, submit special floppy commands, redirect output to some other IEC device (e.g an IEC printer, I had a Commodore MPS-801 matrix printer).

I started the project in 1987 and got it to work soon. I decided to use a separate interface plugged to the expansion port with a 6821 PIO. Altough the parallel printer port could be used for this, I planned to support parallel transfers too (my drive is SpeedDOS+ extended). But this was'nt realized so far. :( Another aspect is that I was afraid to harm my Dragon and therefore I thougt a separate circuit (extra PIA) would protect the Dragon. In case of an electrically failure probably only the PIA has to be replaced.
The interface is a quick and dirty hack of hardware stuff (really not intented for serial production).

Author: Johann E. Klasek
Copyright notice: These documents may be copied and redistributed as long authorship and source is mentioned.

Sources & Binaries

From 1987, 1991, reworked and extended to 2016...

  1. Listing of driver version 32, 2016 edition (IEC32 advanced) (bugfixes, optimized, small extensions)
    Uncomment line ;systype set syscoco to assemble a CoCo binary.
  2. Commented Listing of driver version 32 (IEC32) (based on original code)
    Uncomment line ;systype set syscoco to assemble a CoCo binary.

Original Project Documentation

Some scanned documents, binaries and data from 1987 and 1991 ...

  1. Listing of driver version 32 (IEC32) (PDF, scanned printout, 1991-03-13)
  2. Driver software description (PDF, handwritten, german, 1987-02-22)
  3. Circuit schema of the interface (PDF, 1987-02-22)
  4. Dragon 32 Expansion Port (PDF, handwritten/sketched)

Prototype

The front picture was taken without the PIA 6821 (empty DIL 40p socket).
Front Back
FrontBack

Basic extension command reference

  1. @D
    show directory
  2. @E
    show error channel
  3. @F command
    send string command to floppy (floppy command to format disks, intialize drive, rename and scratch files)
  4. @L [filename[,address]]
    load program named filename ("*" implicitely used if omitted) from floppy
  5. @S filename[,startaddress,endaddress]
    save program with name filename to floppy. Start address and end address (of first unsaved byte) are optional. The current Basic program is saved if not given.
  6. @V [filename[,address]]
    verify program in memory with the file named filename (use "*" if omitted) on floppy
  7. @P
    redirect printing device to IEC device 4 (usually a printer)

    Typical usage: print Basic listing ...

    @P
    LLIST
    @C
    
    print some text ...
    @P
    PRINT#-2,"THIS IS A PRINTER TEST"
    @C
    

  8. @C
    finish printing device redirection (close)

Utilities and Tools

  1. prgcat.pl: Perlscript to decode Color Basic binaries (untokenize, expand)
  2. token.pl: Module for prgcat.pl (included)

Future Plans

What currently comes to mind ...

 


Best viewed with any browser zurück zur Startseite