[Coco] Re: Why USB would be nice.

L. Curtis Boyle curtisboyle at sasktel.net
Fri Sep 2 15:49:28 EDT 2005


    Just a note on FAT compatibility: aside from the PCDOS utility, there  
was a file manager for the older FAT-16 MSDOS that worked natively in  
OS-9... it was called MSF and worked with the enhanced floppy driver  
called SDISK (and later, for the Coco 3, SDISK3). I ran it for awhile,  
just before we got into Nitros9, and it ran quite well (Came with a bunch  
of wildcard capable utilities, like MSCOPY, which I used even after I no  
longer used MSF). So, yes, it can be done, and, to a certain extent, has.  
Even the CC3Disk driver in Nitros9 (and later versions for OS9) can read  
PC disks in a raw mode (512 byte sectors); it is not hard to write  
utilities to process the DOS/Windows directory structure using that (I had  
started fiddling with one that could partially handle Win9x long  
filenames, but never finished it before my TC-9 was shut down).
     I would like to see USB as well, for the reason that the one hardwrae  
interface can hook up to so many different devices, and it still being  
expanded on. All USB devices are backwards compatible to the older,  
slower, 1.1 standard, so if new USB devices came out that we haven't even  
thought of, we could still hook them up to a Coco (just need drivers to  
handle it, or specialized utilities).
     In the last version of the IDE driver I did (and Boisy has the  
source), I had just started trying to figure out how to make "generic"  
calls, so that one could write utilities to directly send ATA commands to  
the driver, that would remain compatible with the ever espeanding ATA  
spec, so that one could implement new utilities using new features,  
without having to recode the driver every time. If a USB driver was set up  
the same way, one could write programs to access certain types of hardware  
without having to make a new (either revision or replacement) driver  
everytime something gets added.
      On the flash card capacities for digital cameras, etc: The last IDE  
driver I did could do up to 4 GB on a single partition, and could  
partition multiple 4 GB partitions on a single drive, so you CAN use the  
whole 8 GB card. And processing image files that are large is not  
impossible; I have used VIEW and VIEWGIF to view GIF pictures far beyond  
the native Coco resolutions and colors; they process the original files in  
chunks, and convert them on the fly to something that the Coco can display  
(dithered, and/or page-flipping), and either scaled or get portions of the  
image. One could even save these color/resolution reduced versions for  
later viewing at much higher speeds than re-decoding the original image (I  
used this for GIF animation in VIEW 4.4a - I would decode the GIF images,  
save them in native OS9 get/put buffers, and use those to display the  
animation at the same (or close) speeds that the original GIF ran at).


On Fri, 02 Sep 2005 13:14:43 -0600, John R. Hogerhuis <jhoger at pobox.com>  
wrote:

> On Fri, 2005-09-02 at 11:32 -0700, Kevin Diggs wrote:
>> John R. Hogerhuis wrote:
>> > On Thu, 2005-09-01 at 21:19 -0500, George Ramsower wrote:
>> >
>> >> If I were to purchase the hypothetical USB card and the driver for  
>> OS-9,
>> >>would this do as I want or expect, such as.....
>> >>
>> Unless you are an idiot (or very, VERY patient), you can't expect a sub
>> 2MHz computer with a 64k address space to be able to do the same things
>> with a USB critter that a 3.0GHz machine with a 4G address space can.
>>
>
> I'm neither an idiot nor patient. Should I be offended by your remark? I
> choose not to be.
>
> In fact, I'm a firmware engineer. I deal with underpowered machines as
> my profession.
>
> It's hard to know at this point what will be possible and what will not.
> Storage I think is going to work just fine. It will be slower than on a
> desktop machine, that's a fact. WIll it be slower than Coco hooked to
> IDE? Probably.
>
> Plus, one still has to develop a FAT32 file system implementation. But
> if one wants to use flash as a sneakernet between machines, whether with
> SuperIDE or coco-usb or whatever, it's a necessary evil.
>
>
> That's one of the fun things about the coco... pushing it to do things
> everyone would say "you can't do that!"
>
> You certainly don't need a machine with 3GHZ and 4G of address space to
> be a USB host. The project banks on the fact that The embedded USB
> controller chip offloads a lot of work from the CPU.
>
>> 	As I understand it, USB is kinda similar to SCSI, at least for
>> semantics (not an english major - probably not the word I was looking
>> for) (There is a SCSI host adapter driver and drivers to support various
>> device types (disk, cdrom, tape drive, scanner)). "The driver that came
>> with the card" (port driver) would be analogous to the host adapter
>> driver. You would also need drivers for each type (class?) of device you
>> want to torture your tre with.
>
> Yes you would need drivers. I presume you would contruct a kernel with
> drivers only for the hardware you use though.
>
> I'm not sure what your definition of torture is, but it sounds like it
> differs from mine in important ways.
>
>>
>> 	Since USB is hot-pluggable, how would that be handled? Correct me if
>> I'm wrong, but OS9, while I think it can load drivers and descriptors
>> "on the fly", doesn't the text for each get a fresh page (i.e. can't
>> pack text on the tre)? Won't this fill up the system map quickly?
>>
>
> As I understand it, with level II you can pack multiple modules into an
> 8K block.
>
> Take a look at the drivers over at microusb.org . If you think of USB as
> some nightmare stack of code, you may be pleasantly surprised to see
> what the 6502 folks have done.
>
>
> -- John.
>
>



-- 
L. Curtis Boyle



More information about the Coco mailing list