1. 12 Oct, 2011 1 commit
    • Robert Sprowson's avatar
      Fix bug in DetermineDiscType. · 44133774
      Robert Sprowson authored
      When failed to identify, and the last operation was format, the DiscSize2 field was not being copied (instead DiscSize is copied twice).
      Fix up some warnings from the assembler.
      Tested briefly with a RAM disc, still works.
      
      Version 3.44. Tagged as 'FileCore-3_44'
      44133774
  2. 12 Sep, 2011 1 commit
    • Ben Avison's avatar
      Fix for alignment exception on ARMv7 · 3bd0b704
      Ben Avison authored
      Detail:
        The Density field in the disc record is a byte at a non-word-aligned address
        but it was being loaded here with an LDR instruction. There is actually a
        pre-existing bug here, since the code at lines 904-905 would only have been
        executed on earlier CPUs if SectorSize, SecsPerTrk and Heads were all zero
        too. This would correspond to an implausibly small hard disc, so arguably
        this part of the branch should perhaps be removed altogether?
      Admin:
        Untested at ROOL.
        Submission from Willi Theiß [comments above are my own - BA]
      
      Version 3.40. Tagged as 'FileCore-3_40'
      3bd0b704
  3. 15 Jun, 2009 1 commit
    • Ben Avison's avatar
      Fix bugs and inefficiencies revealed by unaligned data audit · 7f286493
      Ben Avison authored
      Detail:
        Many of these are unaligned LDRs where only bits 0-7 of the result are used
        (tested against a bitmask or used as an input to the barrel shifter) but
        they have all been moved to byte operations because they are faster on
        ARMv6 and won't cause false positives if unaligned aborts are enabled.
      
        s.BigDirCode line 104: not wrong as such, but changed to use aligned LDR
          for speed on ARMv6.
        s.BigDirCode line 1727: LDR of an unaligned 1-byte variable. Only used as
          input to shifter.
        s.Commands line 129: STR to an unaligned 1-byte variable. Harmless because
          all overlapping variables are initialised later on.
        s.Commands line 539: LDR of an unaligned 1-byte variable. Only used for
          testing bit 6.
        s.FileCore31 line 1359: LDR of an unaligned 1-byte variable. Only used as
          input to shifter.
        s.FileCore32 lines 1483 and 1825: LDR of an unaligned 1-byte variable. Only
          used as input to shifter.
        s.FormSWIs line 1403: bugfix: incorrect load of 16-bit zone_spare field of
          disc record - uses lowsector and nzones fields instead! This is used to
          terminate the search of free space fragments within the allocation bytes
          of the current map block for the one containing a bad block found during
          formatting. Would manifest itself as a "Can't map defect out" error.
        s.GenSWIs lines 1182,1195: bugfix: LDR of 1-byte variables. Effect of this
          was that range-checking of the drive number passed to FileCore_MiscOp 5
          (eject) wasn't performed.
        Added ENTRY directive to permit building of GPA debug listing.
      Admin:
        Builds, but untested.
      
      Version 3.34. Tagged as 'FileCore-3_34'
      7f286493
  4. 03 Apr, 2003 1 commit
    • Kevin Bracey's avatar
      * Various 32-bit compatibility fixes. · ac186d66
      Kevin Bracey authored
      * Can use HAL for FIQ+timer manipulations.
      * FileCore_DiscOp64 added (as user API - currently just converted to the
        standard byte or sector DiscOp call to the underlying module). See
        Doc.32bitAPIs for full details.
      * New error-passing scheme to modules added (for full 32-bit addressing).
      * FileCore_Features added (indicates new error scheme).
      * OS_FSControl 49 (read 32-bit free space) now reports sensible clamped
        values for large discs, rather than values modulo 2^32.
      * Accessing the end of files near 2GB in size could cause lock-ups in
        background transfers.
      * F(+) and G(+) disc formats adjusted to have a little more skew to
        help the rather poor Iyonix floppy controller.
      
      Version 3.31. Tagged as 'FileCore-3_31'
      ac186d66
  5. 01 Mar, 2001 1 commit
    • Simon Forrest's avatar
      * Removed dependency on obsolete STB and StrongARM flags. · bd17fe0f
      Simon Forrest authored
      Detail:
      
        * No longer reliant on STB flag.  Now both Desktop and Embedded builds
          are the same (which, of course, they should be).
      
      Admin:
      
        * StripDepnd support moved to MkClean file.
      
        * The "What'sHere" file has been renamed to "ReadMe", since the existence
          of the single-quote causes problems with some Unix commands (notably
          'xargs').
      
        * Built and tested in a Lazarus 32-bit build.
      
      Version 3.27. Tagged as 'FileCore-3_27'
      bd17fe0f
  6. 30 Oct, 2000 1 commit
  7. 09 May, 2000 1 commit
    • Stewart Brodie's avatar
      Merge of Ursula branch to the trunk. · 4abef130
      Stewart Brodie authored
      Detail:
        This module represents the latest version of FileCore incorporating
          both the Ursula changes and the ROL changes as we have them to date.
        Changes from ROL-FileCore-3_21 are basically the stripping of trailling
          spaces and the change of Version to Module_Version in the conditionals.
          No other changes.
      Admin:
        ROL branch tagged ROL_merge
        Ursula branch tagged Ursula_merge.
        Untested, but essentially the same as ROL-FileCore-3_21, so no problems
          expected.
      
      Version 3.21. Tagged as 'FileCore-3_21'
      4abef130
  8. 06 Jan, 1997 1 commit
  9. 05 Nov, 1996 1 commit