Anleitung von Alan ->
USB stack documentation - BETA Release for TOS
==============================================
Preface
-------
Finally, we have a USB stack for our Atari's !!!
But first, a little history.....
The source of the USB stack comes from the u-Boot sources on SourceForge.
Didier Mequignon was the first person to bring USB to the Atari in the form
of the CT60/FireBee TOS updates being flashed in firmware.
David Galvez then brought that code over to FreeMiNT. But as we all know,
getting FreeMiNT to work on our beloved 68000 machines is somewhat troublesome
with 4MB of STRAM.
Finally, Alan Hourihane (me) has brought the code over to TOS. This gives all
our Atari's access to USB devices.
Praise also goes to Roger Burrows as well. Due to his capabilities, I sent
him a Unicorn USB device for free to help work on the storage drivers for TOS.
He's responded with updates and fixes to help Atari partition support and
large sector support when AHDI compatible drivers are not installed. Kudos!
This BETA
---------
For this BETA we have a storage driver and a mouse driver.
Adding more USB device support is fairly trivial, and hopefully we can
start to build up more support for more and more exotic devices.
The original u-Boot code has undergone quite some changes to support the
Atari platform, and more changes will be required to get the best of USB
support.
The Drivers
-----------
The first driver is the main USB core - USB.PRG. This must be the first
program loaded as all USB drivers will access the USB API from the core.
Then we have two types of drivers. A UCD - USB Controller Driver, and
a UDD - USB Device Driver. A UCD is a hardware driver for USB host controller
chips.
In this release of the USB stack, the only UCD is for the Unicorn USB adapter,
called UNICORN.PRG.
Additionally, we have a UDD. The mouse driver, MOUSE.PRG and the storage
driver STORAGE.PRG.
The UCD's and UDD's can be loaded in any order after USB.PRG, but it is
recommended to load the UDD's after USB.PRG, and last of all, the UCD.
The final piece, is the USB Desk Accessory, called USB.ACC. This desk
accessory provides a nice display of the attached USB devices, but
currently only the first 6 devices are displayed. More importantly,
the accessory also handles the hotplug functionality of USB. So this
desk accessory MUST be present.
Testing
-------
Install the 3 (or 4) drivers in the AUTO folder.
USB.PRG (first)
MOUSE.PRG (second or third)
STORAGE.PRG (second or third)
UNICORN.PRG (last)
USB.ACC (in the root of your boot drive)
When booting the UNICORN driver will scan the USB bus and show the devices
found.
Finally, when the USB desk accessory loads it makes another pass and you
may see the desk accessory window appear briefly. This is nothing to worry
about.
If you have a USB mouse plugged in, you should be able to move it,
but also you can unplug it and plug it in again later and still use it.
Additionally, any storage drivers will need to be "Installed" via the
desktop configuration so you get the GEM drive letters.
Any hard disk software that supports SCSIDRVs will allow devices to operate
on the USB bus as well.
I have tested ExtenDOS 4.06 with a USB DVDROM drive and it read a UNIX CDROM
just fine.
Also, HDDRUTIL can be used to partition the USB storage devices to get
compatible partitions for use between GEM and Microsoft Windows(TM).
The drivers can work with or without a hard disk driver. So those people
with floppy only systems can still use these drivers and get access to their
USB storage devices.
Bugs, Features, and issues
--------------------------
* Some programs may stop the USB desk accessory from running. This will
prevent hotplug events. So try not to unplug devices during these programs,
as the USB events will wait until it returns to GEM.
- Supporting these apps means intercepting a regular TOS function, something
like the XBIOS/BIOS/GEMDOS trap handlers. This may be done later, but it's
not urgent at this time. Remember TOS is single tasking.
- Please detail the application if hotplug doesn't work during it, this
way we can either record it for future drivers or work out potential fixes
to allow hotplug without the desk accessory in the future.
* The mouse driver will only allow one USB mouse at a time. It can handle
more, but it's hardcoded for one. :-)
* It has been noted that some mice regularly disconnect/reconnect, and this
even happens on Linux too. You may notice a short pause in mouse movement
while the hotplug events reconnect the device. You may want to try another
mouse or alternatively, attaching a USB hub which seems to help.
* When hotplugging the Atari can appear to freeze for a very short period.
Please be patient, our Atari's are rather slow in respect of USB requirements
and because we're single tasking. This may be improved in future versions.
* When hotplugging USB hubs, there can be an even longer delay as each of the
USB ports must be powered up and tested for a device, this can take longer
than just a single device hotplug. This may be improved in future versions.
* Most of my testing has been done on an Atari STE with TOS 2.06 and an
Atari TT030 with TOS 3.06. Unfortunately before TOS 1.06/1.62 there was no
cookie jar. JARXXX should be installed for those using TOS 1.04 or below.
* The SCSIDRV support is very preliminary. Feedback welcome here.
* There are literally an unknown quantity of USB devices out there. Don't
be surprised if your device doesn't work. If it isn't a Mass Storage device
or a mouse, then it won't. There is no driver. If it is a storage device or
a mouse, then it should, but trying to work with all of them is hard work.
So please understand there could be issues with your hardware.
Finally
-------
******************************WARNING********************************
These drivers give absolutely no guarantees that you won't lose data.
Backup..... Backup..... Backup.....
Here endeth the story. You have been warned!
******************************WARNING********************************
I look forward to enhancing the USB support on the Atari platform and I am
very interested to hear your successes or failures.
This release is intended to spark more work on USB and hopefully bring more
device support along.
Questions, Problems, Successes etc etc. Please email me.....
Enjoy!
--
Alan Hourihane <alanh@freemint.org>
Einige Infos unter MiNT ->
LOADER.PRG can be started from the mint.cnf.
The USB files go into c:\mint\1-19-cur\usb\...
The XIF is asix.xif.
The device will be called 'asx0'
Alle *.UCD Treiber deaktivieren die nicht gebraucht werden