I'm glad you guys like it so far.
I've been slowly finishing items under TODO. The next two things that I'll be adding (protocol and framework) are much easier to understand (especially if you can at least get a basic idea of the topics that I've covered so far), but they will have a considerable amount of content and plenty of opportunities for illustrations.
I also would like to make an illustration or two to show the relationship between (micro)frame and transactions.
On the side, I've been working on programming the EHCI controller. I'm happy to say that so far it's going really well. I haven't worked with any device that requires interrupt or isochronous transfers (yet), but bulk and control transfers are working. I just today started working on code to wrap SCSI commands and send them over bulk transfers to mass storage class devices; so far I have successfully implemented the INQUIRY command. I have been testing with a netbook (hp mini 1030nr), and two laptops (a friend's high-end asus, and an off-brand MSI laptop). The Asus laptop has a broken webcam permanently connected to the USB, so I've even learned a bit about working with faulty hardware (it does not appear to properly enter the address state).
I know some hobbyists have gotten UHCI support working and probably already understand the USB specifications, so I may start working on an EHCI entry pretty soon, and eventually a USB Mass Storage Class entry. I've been writing in assembly, but I would have no problem using C or C++ examples in the wiki, if that's preferred?
Coddy wrote:
wow, man thats alot of reading, good job
Thanks, but say that after looking at how long the USB 2.0 specification is