1. 23 Jan, 2016 2 commits
    • Robert Sprowson's avatar
      Fix for spurious error message mounting DVDs · dd1ae3ad
      Robert Sprowson authored
      When CDFS wants to change the drive's data mode to mount a DVD it does so via CD_SetParameters. As a side effect of that call, the read retry count is written too.
      Some drives return illegal request errors when trying to set the read retry count (even though they're marked as changeable), so just swallow the error like CDFSSoftSCSI does (driver.c revision 1.4 line 566).
      Fixes "Compact disc is faulty" error with Samsung SH-S223B drive - the error message was spurious as it's just the default the error handler assumes when it can't look up error 0x50.
      Version 1.38. Tagged as 'ATAPI-1_38'
    • Robert Sprowson's avatar
      Tidy up some comments/constants · 7e900d54
      Robert Sprowson authored
      Use Hdr:SWIs to get our SWI base, not the two local defines, similarly error base.
      Correct a handful of misleading comments.
      Same binary, not tagged.
  2. 17 Jan, 2016 1 commit
  3. 19 Nov, 2015 1 commit
    • Ben Avison's avatar
      Support newer ARMs better · 29b63845
      Ben Avison authored
        A couple of the routines relied on pre-ARMv6 style LDM functionality, and
        would abort on ARMv7+ (or ARMv6 in ARMv7 mode, if we ever get an ARMv6
        platform with ATAPI). Also took the opportunity to replace a lot of byte
        swizzling code fragments with REV instructions if only targeting ARMv6 or
        later. Bit of a shame they weren't macroised considering how many times
        they were used...
      Version 1.36. Tagged as 'ATAPI-1_36'
  4. 09 Nov, 2015 1 commit
    • Robert Sprowson's avatar
      Switch round header order · 4ccd7489
      Robert Sprowson authored
      Hdr:ATA needs an error base from Hdr:NewErrors. Also, be explicit about the no data transfer ATAPI case (even though the define is 0).
      Retagged as ATAPI-1_35.
  5. 08 Nov, 2015 1 commit
    • Ben Avison's avatar
      Update for compatibility with ADFS 4 · 7f342dba
      Ben Avison authored
        The physical ID by which ATA and ATAPI drives are address has been expanded
        in ADFS 4 from 2 bits to 12. For now, CDFSSoftATAPI is still limited to 4
        drives, and scans the first 4 physical IDs returned by SWI ATA_Enumerate
        (falling back to the 4 legacy physical IDs if the SWI isn't found). This
        will fail on boards with more than 4 physical SATA ports, but caters for
        all current hardware. Also sneaked in the use of LDRH in the SWI dispatcher.
        Tested on a Titanium board.
      Version 1.35. Tagged as 'ATAPI-1_35'
  6. 17 Jul, 2015 1 commit
    • Robert Sprowson's avatar
      Fix for NULL pointer dereference · 7bf27176
      Robert Sprowson authored
      When no drives are detected (but some are configured) CDFSSoftATAPI goes dormant by setting its private word to 0. However, when the module finalises (eg. an RMReinit) that NULL value is then used to call CD_Unregister, and attempting to free the same NULL value with OS_Module.
      Also replaced magic numbers from Hdr:ModHand and Hdr:OsBytes.
      Version 1.34. Tagged as 'ATAPI-1_34'
  7. 24 May, 2012 1 commit
    • Robert Sprowson's avatar
      STASH/GRAB -> Push/Pull. · b2893e51
      Robert Sprowson authored
      Disassembly unchanged apart from the single register STM's which now use STR ith writeback.
      Version 1.33. Tagged as 'ATAPI-1_33'
  8. 22 Apr, 2005 1 commit
  9. 17 Dec, 2002 1 commit
    • Ben Avison's avatar
      Now responds to "Driver in use" errors returned from ADFS_ATAPIOp by retrying... · 8aaccfbf
      Ben Avison authored
      Now responds to "Driver in use" errors returned from ADFS_ATAPIOp by retrying up to the specified timeout (or 10 seconds for internally generated
      SCSI_Ops). If the timeout is reached, the CD_SCSIUserOp entry point will
      return a SCSI-compatible "ATAPI driver reservation error" error pointer;
      other entry points pass "Driver in use" through unchanged.
      Also added GPA generation capability, for what it's worth.
      Version 1.32. Tagged as 'ATAPI-1_32'
  10. 26 Nov, 2002 1 commit
  11. 22 Nov, 2002 2 commits
    • Ben Avison's avatar
      Various fixes to bugs both new and old. · 7bcccf3d
      Ben Avison authored
        * Byte sex swap fix applied to the code to set the drive speed
        * SCSI-3 spec says that ATAPI packets have to be padded with 0 bytes;
          routines changed accordingly (though this does mean we now have to do
          a tedious copy onto the stack for every operation)
        * All disc errors returned from ADFS_ATAPIOp were accidentally ignored!
        * Internal disc number wasn't being shifted left by 15 bits before being
          used to do a REQUEST SENSE command packet, resulting in it doing a
          reset of any slave devices instead of sending a PACKET command
        * TARGETERROR error numbers weren't being correctly constructed in
          ATAPI_Op (it was using the error pointer instead of the sense key)
        * Worked round another assumption of flag preservation in CD_ SWIs
        * Fixed pathname of messages file to include $
        Tested on Tungsten.
      Version 1.30. Tagged as 'ATAPI-1_30'
    • Ben Avison's avatar
      Shiny new version for Tungsten. · 13dfbf90
      Ben Avison authored
        * Removed IOMD dependency - reimplemented to use ADFS_ATAPIOp and
        * Supports 4 drives (previously 2)
        * Support for SCSIUserOp entry included
        Requires ADFS 3.34 (or intermediate version after 3.33).
      Version 1.29. Tagged as 'ATAPI-1_29'
  12. 07 Nov, 2002 1 commit
    • Ben Avison's avatar
      First stage of changes for RISC OS 5. · f33177d5
      Ben Avison authored
        * Moved resources here from CDFSResources - allows tokenisation
        * Uses objasm, shared makefiles and global headers
        * 32-bit compatible
        Not tested. Still IOC/IOMD-centric.
      Version 1.28. Tagged as 'ATAPI-1_28'
  13. 06 Dec, 2000 1 commit
    • John Beranek's avatar
      Changed some odd version tracking code · 08ae23d0
      John Beranek authored
        This module had sets of defines for what options to have in what
         version of the module, instead of just using different versions out
         of a source control system...very odd.  Changed code to say
         "if version is over 1.24, use these standard flags".  Also removed
         check for a "too high" version number.
      Version 1.27. Tagged as 'ATAPI-1_27'
  14. 30 Nov, 2000 1 commit
    • John Beranek's avatar
      Merged Ursula branch, moved to srccommit. · 1143f776
      John Beranek authored
        Merged Ursula branch, only change was removal of dynamic dependencies
         from Makefile.
        Moved to srccommit usage, changed some occurences of "Version" to
         "ModuleVersion", as defined in VersionASM. Removed obsolete "Version"
        Added stripdepend call to clean rule
        Additionally added a "GET Hdr:Machine.<Machine>" into s.Main to
         make it assemble correctly.
      Version 1.26. Tagged as 'ATAPI-1_26'
  15. 24 Nov, 2000 1 commit
  16. 21 Jan, 1997 1 commit
  17. 16 Dec, 1996 1 commit
  18. 21 Nov, 1996 1 commit
  19. 06 Nov, 1996 2 commits
  20. 05 Nov, 1996 2 commits