1. Port Poseidon USB to AROS i386. The port will be considered complete if the following features work reliably:
- USB keyboard must work
- USB mouse must work
- USB joystick must work
- Mass storage must work
2. Release the latest version of the Poseidon USB stack under the APL (AROS Public License). For details on what will be released, please see the following notes.
Included will be:
- poseidon.library main code, including PoPo Popup.
- PsdErrorlog, PsdDevlister, PsdStackloader, AddUSBClasses and AddUSBHardware shell tools source code
- Trident GUI main code. Graphic icons are not included (copyright Martin Merz).
- DRadioTool, PowManTool, RocketTool, PenCamTool, SonixCamTool and UPSTool source codes. UproarTool is considered obsolete.
- Class drivers source code:
- asixeth.class: ethernet driver
- usbaudio.class: AHI driver for USB Audio streams (includes 68K asm optimized conversion routines)
- bluetooth.class: USB HCI driver (this is not a Bluetooth stack)
- bootkeyboard.class: limited HID driver for keyboards
- bootmouse.class: limited HID driver for mice
- camdusbmidi.class: CAMD driver for USB Midi (includes 68K asm part)
- cdcacm.class: driver for USB modems and serial lines
- dm9601eth.class: ethernet driver
- egalaxtouch.class: driver for touchscreens
- ethwrap.class: basic ethernet frame driver
- dfu.class: firmware upgrade client
- hid.class: full HID driver
- hub.class: hub driver
- massstorage.class: driver for mass storage devices (exclusions see below)
- palmpda.class: serial driver for palm devices
- pegasus.class: ethernet driver
- printer.class: printer driver
- ptp.class: in-memory file system driver for PTP digital cameras
- rawwrap.class: device wrapper class for bulk endpoints (scanners)
- serialcp210x.class: serial driver
- serialpl2303.class: serial driver
- stir4200.class: IrDA HCI abstraction
- pciusb.device OHCI, UHCI and EHCI combined host controller driver for MorphOS (AS IS!)
- main USB include files
- autodocs for usb classes (as-is), the main library (as-is), and HCI interface (as-is), lowlevel.library HID extensions
Special notes: All source code, with the exception of the pciusb.device, is compilable for AmigaOS 3.1 68K using SAS/C or MorphOS PowerPC with gcc and a MorphOS SDK. pciusb.device is only compilable for MorphOS/PPC and may require access to private MorphOS include files that will not be part of the open source release. These are only related to PCI access and setup, task/thread spawning and need to be adapted to
Excluded will be:
- Keyfile generation code (keyfile code is not part of V4.x anyway).
- Highway/Subway/Algor/Deneb driver source code
- Access code for online bugreporting/updating (poseidon.library and Trident).
- automounting code of massstorage.class, LoadSeg code.
- Trident icon list view graphics (copyright Martin Merz), will be replaced by dummies.
- source code for input.device of MorphOS (for obvious reasons)
- MorphOS specific handling of stuff: query.library and mount.library support.
- Bluetooth stack, IrDA stack source code files and/or related includes