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
- Major HID class update. Support for joypads, condition codes, scaling,
variables, HID output & feature items and much, much more.
- Improved massstorage.class.
- Various fixes.
- Fixed subwayusb.device driver.
- Fixed massstorage.class.
- 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
- Various fixes.
- Several important bugfixes and changes in many places.
- Removed old easter eggs ;-)
- Minor bug fixing update.
- 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.
- 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
- Bootkeyboard: Added experimental wheel mouse support.
- Registrations can now be obtained electronically from IOSpirit
(www.iospirit.com) also via credit card payment.
- Trident updated and extended! Now allows to open configuration windows.
- Config window for bootkeyboard and massstorage.
- LOTS of bugfixes.
- User licence scheme added.
- Pencam VHI driver.
- Various fixes.
- Printer class fix.
- Mass storage fixed and extended.
- New USB Modem class.
- UPAR printer mountlist included.
- 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
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.
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
o Small changes for better ArakAttack support.
o Added detection of Sitecom serial adapter (reported by Jens Bagh).
o Added default settings for epson scanners, as requested by FelixS.
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
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
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
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
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
o Accepts now short packets on recieving without outputting an error
o Now searches in MOSSYS:Classes/USB instead of SYS:Classes/USB,
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.
o On removal, checks only the given device name and not the path as
requested by Günther Nikl.
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.
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).
o Large rewrite for USB.mprefs for MorphOS. Some features were missing,
such as automatic updating.
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
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.
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
Tel.: +49-89/80001543 WWW: http://www.platon42.de/
Email: hodgesin.tum.de IRC: platon42 on EfNet