[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