1. 22 May, 2016 1 commit
  2. 08 May, 2016 1 commit
  3. 23 Feb, 2016 1 commit
  4. 31 Jan, 2016 1 commit
    • Robert Sprowson's avatar
      Try a 3rd time to ReadData from a drive · eeb4bcb0
      Robert Sprowson authored
      The ReadData function already has 2 workarounds for some quirks with Sony and Panasonic drives, using READ_CD to emulate the behaviour of READ_DATA because the latter didn't work on the particular models Acorn shipped. However, with DVD drives some firmware vendors have been a bit literal about what READ_CD does, so you end up in a situation of being able to read a CD but not a DVD in an otherwise identical setup.
      Change the retry loop from 2 goes to 3. On the 3rd attempt just try using READ_DATA(12) like the standard intended, so we retain the former workarounds and only use that command last. Note that READ_DATA(2) only has a 2 byte block count which would be a truncation from READ_CD's 3, so using READ_DATA(12) with a 4 byte block count keeps the command block shuffling simpler.
      Tested on a HP branded TS-H653 and Pioneer DVR-TD11RS with an ISO9660 DVD-R.
      
      Version 1.39. Tagged as 'ATAPI-1_39'
      eeb4bcb0
  5. 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'
      dd1ae3ad
    • 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.
      7e900d54
  6. 17 Jan, 2016 1 commit
  7. 19 Nov, 2015 1 commit
    • Ben Avison's avatar
      Support newer ARMs better · 29b63845
      Ben Avison authored
      Detail:
        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...
      Admin:
        Untested
      
      Version 1.36. Tagged as 'ATAPI-1_36'
      29b63845
  8. 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.
      4ccd7489
  9. 08 Nov, 2015 1 commit
    • Ben Avison's avatar
      Update for compatibility with ADFS 4 · 7f342dba
      Ben Avison authored
      Detail:
        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.
      Admin:
        Tested on a Titanium board.
      
      Version 1.35. Tagged as 'ATAPI-1_35'
      7f342dba
  10. 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'
      7bf27176
  11. 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'
      b2893e51
  12. 22 Apr, 2005 1 commit
  13. 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'
      8aaccfbf
  14. 26 Nov, 2002 1 commit
  15. 22 Nov, 2002 2 commits
    • Ben Avison's avatar
      Various fixes to bugs both new and old. · 7bcccf3d
      Ben Avison authored
      Detail:
        * 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 $
      Admin:
        Tested on Tungsten.
      
      Version 1.30. Tagged as 'ATAPI-1_30'
      7bcccf3d
    • Ben Avison's avatar
      Shiny new version for Tungsten. · 13dfbf90
      Ben Avison authored
      Detail:
        * Removed IOMD dependency - reimplemented to use ADFS_ATAPIOp and
          ADFS_IDEDeviceInfo
        * Supports 4 drives (previously 2)
        * Support for SCSIUserOp entry included
      Admin:
        Requires ADFS 3.34 (or intermediate version after 3.33).
      
      Version 1.29. Tagged as 'ATAPI-1_29'
      13dfbf90
  16. 07 Nov, 2002 1 commit
    • Ben Avison's avatar
      First stage of changes for RISC OS 5. · f33177d5
      Ben Avison authored
      Detail:
        * Moved resources here from CDFSResources - allows tokenisation
        * Uses objasm, shared makefiles and global headers
        * 32-bit compatible
      Admin:
        Not tested. Still IOC/IOMD-centric.
      
      Version 1.28. Tagged as 'ATAPI-1_28'
      f33177d5
  17. 06 Dec, 2000 1 commit
    • John Beranek's avatar
      Changed some odd version tracking code · 08ae23d0
      John Beranek authored
      Detail:
        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.
      Admin:
        Built.
      
      
      Version 1.27. Tagged as 'ATAPI-1_27'
      08ae23d0
  18. 30 Nov, 2000 1 commit
    • John Beranek's avatar
      Merged Ursula branch, moved to srccommit. · 1143f776
      John Beranek authored
      Detail:
        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"
         file.
      Admin:
        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'
      1143f776
  19. 24 Nov, 2000 1 commit
  20. 21 Jan, 1997 1 commit
  21. 16 Dec, 1996 1 commit
  22. 21 Nov, 1996 1 commit
  23. 06 Nov, 1996 2 commits
  24. 05 Nov, 1996 2 commits