[Coco] Stand-alone DriveWire devices.
Boisy G. Pitre
boisy at boisypitre.com
Fri Sep 17 16:12:19 EDT 2004
> Although you could probably slow down the communication, right?
That could be done by recoding the timing loops, but that would (1)
potentially increase code size, since slower speed means more delay,
and (2) would drop performance of DriveWire. The 57600 (38400 for the
CoCo 1/2) bps timing code was meticulously tweaked to get just the
right amount of time out of the CoCo.
Now you *could* set up a CoCo 3 as a DriveWire server *IF* it was
dedicated to that task ONLY. In other words, the server CoCo 3 would
spend all of its time watching for an incoming bit on the bit banger
(from the other CoCo 3 which is a DriveWire client). The server CoCo 3
would receive the command, process it, then respond. However, you can
forget doing this under NitrOS-9, unless you're willing to live with
your system being non responsive for most of the time. Under Disk
BASIC, this model could work, but again, the server CoCo would need to
spend all of its time waiting for a command.
So although you could master/slave two CoCo 3's together through their
respective serial ports, but that's a bit beyond the scope of what
DriveWire is trying to do. DriveWire's sole purpose in life is to give
the CoCo an alternative to a hard drive system, and that means
depending upon something faster and more advanced than the CoCo to act
a server.
> Would they share the same disks? If so, how would you handle file
> access?
> Such as, if two CoCos are accessing the same drive image for writing,
> would the server have any access locking? And if so, would it be file
> based, or drive based?
In the scenario that I envision, you would want to have each server
serving separate disk images to separate CoCos. Doing what you
suggest would require record locking on a sector basis between two
different instances of DriveWire Server.
Boisy
More information about the Coco
mailing list