[Coco] [Color Computer] Re: Dragon Disk interface

Phill Harvey-Smith dragon at aurigae.demon.co.uk
Sun Mar 27 22:29:50 EST 2005


Gene Heskett wrote:
> On Sunday 27 March 2005 17:48, Phill Harvey-Smith wrote:

>>No probs :), I recently did a bit of work porting NitrOS-9 to the
>>Dragon, so if Contiki was ported to the CoCo, would prolly have a
>>crack at that too. The basic difference was the difference between
>>the way the CoCo and Dragon access their disk controlers.
> 
> Can you elaborate on that Phill?  I've not seen much ink on the disk 
> interface diffs.

Sure, this may get a little technical :)

Dragon Dos is based around the WD2797, as opposed to the older 
WD1793/1773 in RSDos. It is mapped into memory at FF40-FF43, there is 
also a disk control register at FF48 this is the other way around from 
RS. The disk register is encoded as follows :-

Bit	Function
0,1	Binary encoded drive number 1..4
2	Motor
3	Double density enable
4	Enable precomp
5	NMI enable/disable (INTRQ from WD).
6,7	Not used.

Two inturrupts are used for communication, the DRQ signal on the  WD, is 
  tied to the CART signal on the Dragon, this generates an FIRQ every 
time the data register needs data (write), or has data for the CPU 
(read), the INTRQ fro the WD is tied to the NMI of the CPU, and gated 
depending on bit 5 of the disk control register. Dragon Dos does not use 
HALT :) so no kludgy flip-flop reseting :) Also doing inturrupt 
generated disk transfers are not tied to being in double desnisty mode, 
as they are on the RS controler. Also the WD2797 is fully reponsible for 
the side select therfore enabling 4 drives to be used.

The physical disk format either 40 or 80 tracks, single or double sided, 
18x 256 byte sectors per track. This can be set at format time by giving 
apropreate parameters to DSKINIT, though I am not sure if a 40 track 
disk can be read in an 80 track drive (never tried it as my drive is 
switchable :) ).

Dragon Dos has an onboard 8K rom containing the disk operating system 
commands, such as DIR, LOAD, SAVE etc, these are similar to the RSDOS 
commands though some have different names e.g. DSKI$ on RS Dos is SREAD 
on Dragon Dos. The Rom also contains some non-disk related enhancements 
for Basic such as a beep command and extended error trapping that allows 
  errors to be trapped and handled by a basic program. There was also an 
enhanced version called SuperDos, which was produced by a third party 
supplier after Dragon Data went bust, it fixed many of the DragonDos 
bugs, but also introduced some new ones. I have produced disassemblies 
of both.

I also have a reasonably readable copy of the circuit diagram which I 
could possible upload to the list site, though at some point I intend to 
re-draw it in something more modern :) I am also working on a controler 
based around a WD2797, and a Xilinx CPLD, that will hopefully be able to 
emulate either a Dragon or an RS controler, I will share if and when I 
have it working.

Hope that wasn't too technical :)

Phill.








Brought to you by the 6809, the 6803 and their cousins! 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ColorComputer/

<*> To unsubscribe from this group, send an email to:
    ColorComputer-unsubscribe at yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 






More information about the Coco mailing list