| Take (8,6,80) MassStorage (SCSI) or (8,2,80) MassStorage (CD/DVD) interfaces
into account, others are ignored.
WARNING: Massive is experimental !!
MIND YOUR DATA, YOU MAY LOSE YOUR DATA !
You must have copied all your important data in a safe place and read
carefully the following before start.
Install
~~~~~~~
ANAIIS
copy usbscsi.device into DEVS:
copy rMassstorage.usbfd into DEVS:anaiis/fd/rMassstorage.usbfd
copy massive where you want
Install fat95 (see on aminet, simply copy fat95 into l:)
For WB 3.1.4 and up, CrossDosFileSystem is used by default
Thylacine-1.3
copy usbscsi.device into DEVS:
copy rMassstotage_t.usbfd into DEVS:usb/fd/rMassstorage.usbfd
Install fat95 (see on aminet, simply copy fat95 into l:)
For WB 3.1.4 and up, CrossDosFileSystem is used by default
massive can also be used for debug sessions.
How to test
~~~~~~~~~~~
Launch usbstart (or usbstart is launched in the startup-sequence)
Plug the usb thumb or disk device in a port (highway, subway...)
Launch Massive from the Workbench
If the following icon entry is set, the user has nothing else to do.
MOUNT=true
UNMOUNT=true
Warning, this part will take a while (30 seconds to 5 minutes, certainly
depending on the size of the key, and the disk state (validating...))
If you have 2 or more keys, launch massive twice or more ;)
The disk icon should appear on the workbench.
Parameters for massive or rMassstorage.usbfd icon
READWRITE=TRUE  to make Read/write, by default you can't write to avoid 
                mistakes.
                be carefull with usb thumbs, write number are limited, let this
                to false.
MOUNT=TRUE      mount the key automaticaly (KS 3.1 only).
MOUNT=ALL       mount all partitions known from the RDB (KS 3.1 only)
UNMOUNT=TRUE    the device is automatically removed from the system
                - if the stack stops.
                - if the user closes Massive window.
                - if the user unplugs the stick (key, thumb, disk...)
MOUNT=OLD       same as TRUE, but force the mountlist in 1.x syntax.
MOUNT=OLDALL    same as ALL, but force the mountlist in 1.x syntax.
                these token are usefull in multiboot, where mount command still
                in 1.x for compatibility.
BUFFERS=200     set the number of buffers (use memory as disk cache to speed up)
MASK=0xffffffff
MAXTRANSFER=0x0001fe00
BLOCKSIZE=512
FILESYSTEM=l:fat95 (fat95 or fastfilesystem is guessed by reading block 0)
DOSTYPE=0xbabeface (force the dostype, useful if we want to change the 
                    filesystem)
COMMANDCLASS=10 (don't use it) command class (6, 10, 12, 16)
DELAY=1         (don't use it) delay between CBW, DATA and CSW
TRACE=FALSE     (won't trace)
(TRACE=TRUE     (trace only prolog), TRACE=FULL (trace all access very slow))
(TRACE=LOG      (trace all in RAM:massive.log))
LOGPREFIX=      change the log filename
PRODUCT=        can identify a device by its product id
VENDOR=         can identify a device by the vendor
PRI=1           set pri to 1 freeze mouse but increase transfer rate
WAIT=10         wait 10 seconds before start, if you want to autoboot.
SCSICMDS=TRUE   force scsi commands instead AmigaDOS commands.
WINDOW=FALSE    no window (default)
WINDOW=TRUE     show anoying window with errors.
WINDOW=SPLASH   window during booting and mounting.
NOEXPANSION     use the c:mount command
launch massive within a shell
run >NIL: massive MOUNT UNMOUNT
and the command arguments
MOUNT           to mount
MOUNTALL        to mount all partitions known from the RDB.
MOUNTOLD        same as MOUNT, for 1.x mount command.
MOUNTOLDALL     same as MOUNTALL, for 1.x mount command.
UNMOUNT         to unmount
READWRITE       to make Read/write, by default you can't write to avoid 
                mistakes.
                be carefull with usb thumbs, write number are limited, let this
                to false.     
BUFFERS=200     set the number of buffers (use memory as disk cache to speed up)
MASK=0xffffffff
MAXTRANSFER=0x0001fe00
BLOCKSIZE=512
FILESYSTEM=l:fat95 (fat95 or fastfilesystem is guessed by reading the block 0)
DOSTYPE=0xYYYYYYYY (force the dostype, useful if we want to change the file system)
COMMANDCLASS=10 (don't use it) set command class (6, 10, 12, 16)
DELAY=1         (don't use it) set delay between CBW, DATA and CSW
TRACE
FULLTRACE
LOG
LOGPREFIX=      change the log filename
PRODUCT=        can identify a device by its product id
VENDOR=         can identify a device by the vendor
MAXTRANSFER=    set the maxtransfer
MASK=           set the address mask (ANAIIS is not DMA... so this is not very useful)
PRI=1           set pri to 1 freeze mouse but increase transfer rate (other values invokes the guru)
WAIT=10         wait 10 seconds before start.
SCSICMDS        force scsi commands instead AmigaDOS commands.
WINDOW          show anoying window with errors.
SPLASHWINDOW    window during booting and mounting.
SPLASH          the same as SPLASHWINDOW.
NOEXPANSION     use the c:mount command    
Format a unformatted volume or change the filesystem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add parathesis on MOUNT property or omit the MOUNT key in the command line.
Edit the file ram:usbkey0
Change FileSystem and DosType entries (see "FileSystems" paragraph below)
Use the mount command to mount the volume
mount device usbkey0: from ram:usbkey0
Then you can format the volume with the quick option
format drive usbkey0: name "my usb volume" quick
Warning, without the quick option, the format may take some hours or damage
the device.
Note: units are mumbered as they come from usb enumeration begins with 0, 1...
Partition managment
~~~~~~~~~~~~~~~~~~~
Refer to HDToolBox (may crash) or HDInstTools (PFS3 package) documentation.
FileSystems
~~~~~~~~~~~
FileSystem          DosType           Notes
<none>              0x444f5300  FFS/0 ok (crash on 1.3)
FastFileSystem      0x444f5301  FFS/1 ok (also work on 1.3)
fat95               0x46415401  FAT/1 ok (also work on 1.3)
CrossDOSFileSystem  0x4d534800  MSH/0    (3.0 and upper)
CrossDOSFileSystem  0x4d534400  MSD/0    (3.0 and upper, superfloppy)
PFS3                0x50465301  PFS/1 ok (2.04 and upper, also work on 1.3, 
                                pfs3aio.lha http://aminet.net/package/disk/misc/pfs3aio)
AmiCDFS             0x43444653  CDFS
CDFileSystem        0x43443031  CD01
Tested with:
 4MB Olympus, memory card
 256MB SanDisk, thumb (green key)
 256MB USB BAR (silver key)
 2GB Noname, thumb (silver key)
 8GB HP v165w (marine blue key)
 120GB (PFS3)
 4GB GData, thumb (white key)
 4GB Verbatim, thumb (blue key)
Tips
~~~~
 Use HDInstTools instead of HDToolBox for partitioning.
 For WB 3.1.4, you can use HDToolBox for partitioning.
 Invalidate partitions you won't use. It takes a lot of memory for buffers.
 Use fdisk to partition FAT32 stuff.
 Even games are usable with usbscsi.device. The Settlers, Civilization,
 Indy4 (and the fate of Atlantis) and a lot of harddisk installable games
 are working fine !
 The rMassstorage_t.usbfd can also be use with ANAIIS.
Troubleshootings
~~~~~~~~~~~~~~~~
Verify usbscsi.device access with a hexdump tool
Note about the file ram:usbkey0
It contain all partition entries if the device has been prepared with HDInstTools
If not done automaticaly, you should the mount command
mount device usbkey0: from ram:usbkey0
To remove the device manually you can use the unmount command (works also with WB1.3)
unmount usbkey0:
If there are more than one device, mountlist files are numbered usbkey1, usbkey2
and so on
Known bugs
~~~~~~~~~~
- Guru #3 if you remove savagely the device ! you must unmount it before.
- Limited to 10 units.
- Workbench (< 3.1.4) can't copy huge files.
- Disk size are wrong, the only good info is the number of blocks (not my fault)
- problems during thumb formatting or writing (set DELAY to 2... don't know why)
- Some disks must have a maxtransfer=4096
- Use PFS3 for 1.3 instead for 3.1... (i.e. pfsaio)
- OFS and FFS doesn't know action_die (but Massive is able to kill them)
Enjoy file copy and partitioning fun between true life and Amiga World!
 |