| Introduction
~~~~~~~~~~~~
The  Poseidon  USB  Stack  is  a  software  solution  that  unleashes   the
possibilities  of  the  Universal Serial Bus (USB) and the devices with USB
interface, ranging from  mice,  keyboards,  tablets,  joysticks,  printers,
scanners,  webcams,  digicams,  flash card readers, zip drives, floppy disk
drives, harddisks, memory sticks, ethernet  adapters,  scanners  and  audio
adapters to less common things like power supplies, GPS location devices or
finger print readers. It is intended to be a solution for all systems.
NOTE:  Poseidon  for  MorphOS/Pegasos  is  now   found   in   the   archive
PoseidonMOS.lha
Big news
~~~~~~~~
V2.2
  - Major HID class update. Support for joypads, condition codes, scaling,
    variables, HID output & feature items and much, much more.
  - Improved massstorage.class.
  - Various fixes.
V2.1b
  - Fixed subwayusb.device driver.
  - Fixed massstorage.class.
V2.1
  - Again, improvements and fixes on the mass storage class.
  - Improved compatiblity on the highway and subway drivers.
  - New DRadioTool for GemTek/D-Link USB radios.
  - New UproarTool for various MP3 Players, but at least works with my
    Valencia MPX.
  - Various fixes.
V2.0
  - Several important bugfixes and changes in many places.
  - Removed old easter eggs ;-)
V1.33
  - Minor bug fixing update.
V1.32
  - Large speed increase for Highway and Subway USB cards! Measured about
    735000 bytes/sec on my machine while reading
  - First public available version of the HID class included! Comes with a
    very powerful GUI. PLEASE READ THE DOCS FIRST!
  - New rawwrap.class for use with BetaScan etc.
  - Added forced bindings in Trident.
  - Lots of bugs fixed.
V1.31
  - New GUI's for printer.class, bootmouse.class.
  - Extended GUI of massstorage.class.
  - Stack config GUI elements added in Trident.
  - Massstorage: Now can mount RDB partitions! Added booting from RDB
    media!
  - Bootkeyboard: Added experimental wheel mouse support.
  - Registrations can now be obtained electronically from IOSpirit
    (www.iospirit.com) also via credit card payment.
V1.30:
  - Trident updated and extended! Now allows to open configuration windows.
  - Config window for bootkeyboard and massstorage.
  - LOTS of bugfixes.
V1.28:
  - User licence scheme added.
  - Pencam VHI driver.
  - Various fixes.
V1.27:
  - Printer class fix.
V1.26:
  - Mass storage fixed and extended.
  - New USB Modem class.
  - UPAR printer mountlist included.
V1.25:
  - German manual and installer script
  - Fixed the bugs in the installer script that would copy the UMSD file to
    the wrong drawer (and without icon)
  - New usb->serial converter class
  - Mass storage now automounts
Changelog
~~~~~~~~~
poseidon.library 2.2
  o Querying DA_CurrCfg now calls the USB command to be sure that the
    current config number is up to date (suggested by Uwe Ryssel). Removed
    that again, because he reported it to be of no use.
  o Fixed a race condition for interface and device bindings. Caused some
    havoc on my Pegasos with four root hubs during PsdRestart.
  o Added Epson mass storage interface patch for printers with card slots.
  o Poseidon no longer ignores configurations, if the config was set
    without error but nevertheless returns a bad GetConfiguration number.
    Fixes problems with broken Olympus cameras.
  o Implemented DA_CloneCount. Mounting two devices with exactly the same
    VendorID, ProductID and serial number will give it a unique clone count
    number (e.g. required when plugging in two joypads from the very same
    vendor -- this still allows different prefs for the second one).
  o Due to popular demand, the "welcome" line has been cosmetically fixed.
  o Now generates more meaningful names for the device name according to
    the interface class, if the device cannot say its name itself.
  o Empty device descriptor strings are now considered to be invalid.
Trident 2.0
  o More rewriting for subclasses.
  o Lots of internal changes, I cannot remember.
  o Lots of fixes for the subwindow handling.
  o Automatic updating works again.
  o Reintroduced Poseidon-Logo to USB.mprefs.
  o Generally, more robust.
  o Added Online/Offline menu items.
Installer script 1.8
  o Added spanish installer strings and licence translation courtesy of
    Dámaso Domínguez.
  o Small changes for better ArakAttack support.
serialpl2303.class 1.8
  o Added detection of Sitecom serial adapter (reported by Jens Bagh).
rawwrap.class 1.7
  o Added default settings for epson scanners, as requested by FelixS.
massstorage.class 1.23
  o Simple SCSI patchflag now disables geometry scan.
  o Added two new GUI option for patchflags.
  o Fixed a misplaced CloseLibrary() reported by jacaDcaps
  o Improved fssm check as suggested by Heinz Wrobel.
  o Changed default settings to CMD6->CMD10, no initial reset and simple
    SCSI.
hid.class 1.6
  o Restricted assignment of mouse buttons and pointer movement to mouse
    and tablet items (connecting joypads don't block the mouse anymore).
  o Raw keymap strings enhanced to be user readable and more friendly.
  o Added missing keyboard mapping stuff.
  o Added option to disable all actions.
  o Added option to show the current values of an item.
  o Added absolute to relative value translation (i.e. for joypads
    and tablets).
  o Added clipping of values.
  o Added scaling of values.
  o Added pre-condition codes for actions (you probably do not grasp the
    power that's behind this tiny line, but just read the manual).
  o Added input redirection for action values.
  o Added optional tracking of key events for keyboard mapping.
  o Generated default actions for joypads.
  o Added patching of lowlevel.library/ReadJoyPort() for digital joystick
    emulation (works great on MAME).
  o Added a button to copy an existing action (might come in handy).
  o Introduced a new trigger if the value returned was out of bound (needed
    for hatswitch, stupid stupid design flaw of the HID specs IMHO).
  o Added default actions for digital pads (hatswitches).
  o Added default actions for analogue sticks. Warning: if you have got
    a joypad with hatswitch (digital pad), you need to disable the
    hatswitch default actions, because they will interfere with the
    analogue stick handling (or use another port for it? :) ).
  o Added a column for the current/last value in the items list. It does
    not get updated automatically, except for the selected item, if you
    enable "Report current values".
  o Optimized action updating process when switching between two items
    (e.g. in track events mode).
  o Fixed reading of item arrays that were not one or eight bits wide.
    Obviously, this code was never used (as I did not encounter one
    device yet that uses arbitarily sized items for an array).
  o Added output and feature items and actions! Yay! This means you can
    now toggle the leds on a keyboard, toggle the force feedback (rumble)
    of a joypad, send out all kinds of data to the device.
  o Added default actions for caps lock led.
  o Added a new report/collection with two items to add actions on
    connection and disconnecting (i.e. variable initialization or sound
    playback).
  o Lots and lots of internal changes I cannot quite remember.
  o Source code for the HID class is now about 450 KB, just to get the
    picture.
  o Last Action Hero subtask is now created on demand. This fixes the
    problems (reported by Hartmut Schulze) of the task not being generated
    at boot point (FlashRom), due to the lack of some of the required
    libraries.
printer.class 1.17
  o Accepts now short packets on recieving without outputting an error
    message.
AddUSBClasses 1.3
  o Now searches in MOSSYS:Classes/USB instead of SYS:Classes/USB,
    if found.
AddUSBHardware 1.5
  o Added an ALL option. When used for adding hardware, all units are
    added until one fails. When used on REMOVE, it removes all active
    USB controller hardware, effectively switching off the stack.
AddUSBHardware 1.4
  o On removal, checks only the given device name and not the path as
    requested by Günther Nikl.
algorusb.device 1.7
  o Fixed a bug with packet size calculation on interrupt endpoints with
    MaxPktSize != 2^x. Sorry!!!
  o Optimized interrupt ETD allocation. Turned on immediate interrupts for
    all endpoints. This should stop the performance loss some people have
    reported when connecting hubs.
PsdDevlister
  o Now also returns IDStrings for Devices and Interfaces.
  o Properly reports Application Bindings.
  o Outputs a google search line ;)
  o Replaced printf by Printf (smaller binary).
---------------------------------------------------------------------------
Trident 1.5
  o Large rewrite for USB.mprefs for MorphOS. Some features were missing,
    such as automatic updating.
subwayusb.device 2.7
  o Fixed a stack overflow condition due to the increased memory usage and
    a local dummy struct in the OpenUnit() code.
  o Fixed a problem with the interrupt code (introduced probably with V2.5
    or V2.6).
massstorage.class 1.21
  o Mode page reading routine rewritten.
  o GetGeometry completely rewritten. Fixed several bugs. Returns now nice
    values for all kinds of missing values.
  o Detects write protection change even if no disk change occurs.
Contact address
~~~~~~~~~~~~~~~
Any mail, comments or donations welcome:
Chris Hodges                    Account: 359 68 63
Kennedystr. 8                   BLZ    : 700 530 70
D-82178 Puchheim                Bank   : Sparkasse Fürstenfeldbruck
Germany
Tel.: +49-89/80001543           WWW: http://www.platon42.de/
Email: hodges@in.tum.de         IRC: platon42 on EfNet
 |