I ported HDB-DOS to the Dragon 32 some weeks ago, and have finally tested it on real hardware and pushed the bits to the Toolshed repo which houses the official HDB-DOS source tree [1].
I have tested the DriveWire functionality on my Dragon 32 with an inverting USB serial adapter. The adapter is equivalent to Ken's adapter in his DriveWire post [2]. Note he was back then "cheating" using a CoCo BASIC ROM

Retrocanada has tested it with the SuperIDE cartridge and also helped identify a couple of bugs. He also posted a video [3].
[1] http://sourceforge.net/p/toolshed/code/ ... ee/hdbdos/
[2] viewtopic.php?f=5&t=781
[3] http://www.youtube.com/watch?v=U3ACnIQ- ... e=youtu.be
What is HDB-DOS?
HDB-DOS is based on RSDOS from Radio Shack, enhanced by Cloud-9 to work with hard drives controllers such as the SuperIDE cartridge, as well as DriveWire (through the CoCo bitbanger serial port). HDB-DOS extends Color Basic the same way as Dragon DOS extends Color Basic.
Using the Dragon HDB-DOS port you are using the normal Dragon BASIC ROM, only the disk commands are taken care of by HDB-DOS. Currently, HDB-DOS does not support the Dragon floppy disk controllers, but using a CoCo disk controller should be possible.
What is DriveWire?
DriveWire is a serial protocol and disk image server running on an external computer, allowing floppy disk commands and data (and more) to be sent over the serial line. This way you can do without any real floppy drives and access virtual ones instead.
The Dragon HDB-DOS port uses the bit-banger port like on the CoCo (accessed through the parallel printer port on the Dragon). It does not use the serial port available on Dragon 64. Support for this should be possible, but the transmission rate would be limited by the Dragon 64 UART.
How to get started with HDB-DOS on the Dragon
You can build your own images from the HDB-DOS source code. This makes sure you get all latest fixes, and you can build a custom image for your needs. Currently a few example targets are included in the Makefile:
Code: Select all
make hdbdw3dgn32ram.wav
After powering up the Dragon, reserve space for HDB-DOS, load the tape file and boot HDB-DOS:
Code: Select all
CLEAR 200, &H5FFF
CLOADM
EXEC
Code: Select all
make hdblbadgn.rom
See the Makefile for which flags to tweak. Basically "-DDW" is for DriveWire, while "-DIDE -DUSELBA" is for SuperIDE. Use "-DORG=0x6000" for loading into RAM at $6000 (default is cartridge at $C000). And don't forget "-DDRAGON"

Now you must have the DriveWire server running on your external computer. I am using the old C-based DriveWire 3 server, but the newer Java-based DriveWire 4 server is probably recommended. Set the "CoCo type" to CoCo 2 (57600 baud). More information and links can be found at Cloud-9's DriveWire page [4].
[4] http://www.frontiernet.net/~mmarlette/C ... Wire3.html
Load disk image collections into the server. In DW3 mode, each server disk file contains 256 disk images. You can start up with an empty file. After loading it into the server as (server) Disk 0, you can format for instance a disk image 9 from your Dragon using
Code: Select all
DRIVE #0
DSKINI 9
Now you can use DIR, SAVEM, LOADM etc as described in the HDB-DOS manual [6].
[5] http://sourceforge.net/apps/mediawiki/d ... _DriveWire
[6] http://www.frontiernet.net/~mmarlette/C ... B-DOS.html
Who wants to use this?
This is of special interest to Dragon users without physical floppy drives, and those who don't have the possibility or desire to replace the Dragon ROM with a CoCo ROM for running DriveWire. Also interesting is the possibility to run this on a Dragon 32, which cannot run the DriveWire-enabling NitrOS-9 operating system.
Coming up next
"DWDOS" for HDB-DOS: Loading 8K of HDB-DOS from tape takes quite some time. Similar to the small DWDOS program that loads Nitros-9 from DriveWire, I'll make a small (ca 500 bytes - loads quickly from tape) stub that downloads the 8K HDB-DOS via DriveWire instead. UPDATE: Here
Dragon Drivewire-USB adapter kits: Integrating USB-serial, an inverting gate, and a proper printer connector. For those without real RS232 ports on their external computer and not wanting to solder together their own solution. UPDATE: Here
Enjoy!
Tormod