1. 27 Jan, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix issues with large or oddly-sized SCSIFS transfers · 70f81720
      Jeffrey Lee authored
      Detail:
        s/ScsiFs15 - The code which fixes up the return values when a temp scatter block has been used was corrupting R7, causing later code to miscalculate the post-transfer disc address. Now fixed.
        s/ScsiFs15 - The code which handles splitting big transfers into 64K chunks was re-entering LowLevelOp with corrupt values of R5 & R6, leading to potential malfunction. Now fixed.
      Admin:
        Tested on Iyonix & rev A2 BB-xM.
        Fingers crossed for no more bugs here.
      
      
      Version 1.20. Tagged as 'SCSIFS-1_20'
      70f81720
  2. 12 Jan, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix XferMaxLen64K code to perform multiple SCSI_Ops instead of relying on the... · babeb281
      Jeffrey Lee authored
      Fix XferMaxLen64K code to perform multiple SCSI_Ops instead of relying on the caller to retry the operation until all the data has been transferred
      
      Detail:
        s/ScsiFs15 - Instead of relying on undocumented FileCore behaviour to ensure that long transfers are performed properly, SCSIFS now splits the transfer into chunks and loops internally until all the data has been transferred. This ensures the SCSIFS_DiscOp SWI works as expected.
        s/ScsiFs05 - Swap and ADR for ADRL, seems to be needed when enabling debug code.
      Admin:
        Tested as a module softload on an Iyonix.
        Fixes issue with DiscKnight complaining that perfectly good discs contain thousands of errors.
      
      
      Version 1.19. Tagged as 'SCSIFS-1_19'
      babeb281
  3. 15 Dec, 2010 1 commit
    • Jeffrey Lee's avatar
      Limit max transfer length to 64K, fix issues with transfer lengths being incorrectly modified · 2e97c8b1
      Jeffrey Lee authored
      Detail:
        s/ScsiFs00, s/ScsiFs15 - As a workaround for numerous USB devices that fail when asked to transfer large amounts of data, SCSIFS now limits the maximum transfer length to 64K.
        This length seems to match the limit used by most operating systems. If necessary this code can be turned off via the XferLenMax64K switch.
        Additionally, a couple of bugs with the CheckXferLen and UseSpecialScatterBlk code have been fixed:
        - When CheckXferLen (and XferLenMax64K) limit the block count in the CDB, the code now calculates a new value of R4 to send to the SCSI driver instead of using the original. This ensures there's no ambiguity in the transfer length.
        - After the SCSI op is completed, the returned value of R4 is then adjusted to represent the real amount of untransferred data from FileCore's perspective.
        - When the special scatter block is in use, the code now returns to FileCore with R3 pointing to the correct location in the source buffer, and with R4 adjusted to take into account the extra padding that had been inserted. Previously the old code would have returned with R3 and R4 left unmodified (i.e. R3 would have been pointing at SCSIFS's temp scatter list)
      Admin:
        Tested in ROM on a rev C2 beagleboard over the course of a few hours with the help of an automated test script.
        No more 'no sense' errors when attempting large block transfers to USB devices, and no sign of data corruption for large or small transfers.
        See the forums for more discussion of these issues: http://www.riscosopen.org/forum/forums/4/topics/470
      
      
      Version 1.18. Tagged as 'SCSIFS-1_18'
      2e97c8b1
  4. 14 Jul, 2009 1 commit
  5. 27 Jun, 2005 1 commit
    • John Ballance's avatar
      Updated SCSIFS with a mechanism to ignore HotPlug SCSI drives that are not required. · 949de2a6
      John Ballance authored
      Detail:
      	Typically USB card readers contain several readers as different LUNs.
      	Usually a user is not interested in all readers and some can safely
      	be ignored. There is now a mechanism in SCSIFS to remember this.
      	(otherwise readers can occupy all the available icons, making it
      	impossible for a user to add other devices e.g. 'pens'.)
      	A new file, Boot:Choices.SCSIFS.Hide, is used to store data on
      	sub-devices for which no SCSIFS 'drive' is desired. This data
      	is the 8 byte Vendor + 16 byte Product + 4 byte Revision fields
      	(concatenated and LF terminated) returned by the SCSI Inquiry command.
      	If a device/LUN's inquiry completely mateches a file entry, no
      	SCSIFS drive will be created. A simple App will be created to manage
      	this file in due course.
      Admin:  TESTED AT Castle.. due for beta release.
      
      
      Version 1.16. Tagged as 'SCSIFS-1_16'
      949de2a6
  6. 28 Apr, 2005 1 commit
  7. 05 Mar, 2005 2 commits
    • John Ballance's avatar
      Added note on SCSIFS_Partitions swi. · 864f5b17
      John Ballance authored
      	Committing correct files this time.
              previous version, 1.14 failed to include these
      
      Detail:
      Admin:  castle added IP. to be beta tested
      
      
      Version 1.14. Tagged as 'SCSIFS-1_14'
      864f5b17
    • John Ballance's avatar
      Repaired operation with Filecore format. · 911cbc83
      John Ballance authored
      	Several other minor mods and bug fixes.
      	Doublechecks with second call to TestReady routine to
      	absorb 'Disc Empty' report from some USB
      	Mass Storage devices.
      	Builds in ROM
      Detail:
      Admin:  for beta release. tested at Castle. Castle added IP
      
      
      Version 1.14. Tagged as 'SCSIFS-1_14'
      911cbc83
  8. 01 Feb, 2005 1 commit
  9. 31 Jan, 2005 1 commit
    • John Ballance's avatar
      fixed a memory leak /unstable callback removal in scsifs. · 1c87f2f1
      John Ballance authored
                Added in detect needed for dosfs partitions.. didnt seem to make it
                into cvs in 1.11.
                Added SWI_SCSIFSPartitions and Service_SCSIMounting to permit external
                partition manger to provide partition handling
      
      Detail:
      
      Admin:    tested at castle.. castle added IP
      
      
      Version 1.12. Tagged as 'SCSIFS-1_12'
      1c87f2f1
  10. 23 May, 2003 2 commits
    • Kevin Bracey's avatar
      * Activated "floppy" (removable) support. · 15738a33
      Kevin Bracey authored
      * Added big disc support.
      * Added new error reporting scheme.
      * Added autoconfiguration, and new SCSIdriver hotplugging.
      * Added eject functionality (currently disabled due to issues with some USB
        devices).
      * 32-bit compatible.
      
      Version 1.11. Tagged as 'SCSIFS-1_11'
      15738a33
    • Kevin Bracey's avatar
      created by srccommit. · 09e00a53
      Kevin Bracey authored
      09e00a53
  11. 21 Nov, 1996 1 commit
  12. 05 Nov, 1996 1 commit