1. 18 Jul, 2013 1 commit
    • Robert Sprowson's avatar
      Minor tidy ups · fbcc1f86
      Robert Sprowson authored
      Service call table made unconditional.
      Typo in Hdr:FileCore corrected.
      Comments improved, and other misc housekeeping.
      
      Version 3.62. Tagged as 'FileCore-3_62'
      fbcc1f86
  2. 19 Jun, 2013 1 commit
    • Robert Sprowson's avatar
      Fix for stuck in loop doing background transfers to floppies · f0a359a8
      Robert Sprowson authored
      FileCore80.s: The check for whether write behind could proceed only succeeded for fixed discs ('winnie'), but failed for floppies. So, on trying to flush to close the file being written you'd get stuck in a loop trying to write the buffers.
      Commands.s: Magic number swapped for defect list marker
      
      Tested with fsbash, and a simple BASIC program writing 128x1K to a floppy.
      
      Version 3.61. Tagged as 'FileCore-3_61'
      f0a359a8
  3. 04 May, 2013 1 commit
    • Robert Sprowson's avatar
      Be cautious about cylinder rounding · 8567f793
      Robert Sprowson authored
      Although the fragment clamping is likely to kick in first, be more careful when rounding up/down to cylinder boundaries (for read ahead/write behind).
      
      Version 3.60. Tagged as 'FileCore-3_60'
      8567f793
  4. 06 Apr, 2013 1 commit
    • Robert Sprowson's avatar
      Fix for writes spanning a fragment · 91e05a7e
      Robert Sprowson authored
      FileCore80.s: Revision 4.14 accidentally lost the calculation at line 1324 after FragLeft, so when a large write occurred it didn't get split either side of the fragment, and then an impossibly long scatter list would be emitted.
      Tidied some DebugG debug messages.
      
      Version 3.59. Tagged as 'FileCore-3_59'
      91e05a7e
  5. 01 Apr, 2013 1 commit
    • Robert Sprowson's avatar
      Fix for mistargetted write with a file size > 2G when a background scatter... · cf85a5d6
      Robert Sprowson authored
      Fix for mistargetted write with a file size > 2G when a background scatter list straddles a fragment
      
      When large transfers are being buffered to be written in the background they are attached to the Fcb without considering how the underlying disc fragments are lined up.
      When the background process grabs a handful of buffers to build into a scatter list to pass to the low level DiscOp it picks the head of the list and goes forward (SkipWriteBehind) to the fragment end and back (BackwardSkipWriteBehind).
      However, BackwardsSkipWriteBehind uses DefFileFrag which substitutes a default offset of 0, and the signed compare resulted in this being left as the believed start of fragment.
      In turn, far too many buffers got associated with the fragment, and written to the wrong place on the disc.
      In general this doesn't occur, but if the group of buffers happens to straddle a fragment, and that group of buffers is > 2G, the signed compare would trip up.
      As fsbash uses the same random number seed this conspired that testing the same drive twice (with and without background transfers enabled) would appear to pass the integrity check step. A new harddisc was used to show this up.
      
      FileCore80.s: Recoded the compare to be in sectors, so 4G files aren't top bit set, but shared files not at the fragment start still are.
      Docs/AdfsBuffers: Added some notes before I forget what I just wrote meant.
      
      
      Version 3.58. Tagged as 'FileCore-3_58'
      cf85a5d6
  6. 25 Mar, 2013 1 commit
    • Robert Sprowson's avatar
      Reenable background transfer support when BigFiles is {TRUE} · 7a9d7b7d
      Robert Sprowson authored
      BigDirCode.s: Retire BigDirFix switch, it wasn't actually a fix, it was more that the directory format was changed early in development, but there's no point keeping support for the prototype any more
      FileCore45.s/FileCore25.s/FileCore31.s/FileCore35.s/DebugOpts.s: Retire BigDirFix
      Defns.s: Shock addition of some comments
      FileCore.s: Manual inclusion of CPU/Arch no longer needed
      FileCore70.s: Crucially apply the same 1k dead band to the FileSwitch "write zeros" entry point, since it (along with Get/PutBytes) are the only places file offsets get passed
      FileCore80.s: Lots of tedious and subtle boundary cases fixed
      InitDieSvc.s: Removed the disabling switch
      doc/BigDisc/ADFSBuffer: Detail what the BufFlags mean
      
      Tested on ADFS (the only background-transferring filing system about) with LFAUs of 2k, 4k, 8k, 16k and bashing 65536 iterations.
      
      Version 3.57. Tagged as 'FileCore-3_57'
      7a9d7b7d
  7. 24 Feb, 2013 1 commit
    • Robert Sprowson's avatar
      Extend upper permissable file size to 4GB-1 · 47fd7e2c
      Robert Sprowson authored
      Tested for ~200,000 cycles in various configurations with FSBash, with no integrity problems, nor bad maps. However, background transfers (currently only used by ADFS) is still being endurance tested, hence is currently disabled.
      Users should note that they can create big files without needing to reformat their drives, however if reverting to an older copy of FileCore the files must not be opened, loaded, or deleted (it's fine to view the directory, just don't expect old FileCore to know how to parse such long fragment runs).
      Current versions of DiscKnight (1.49) do not understand long fragment runs.
      
      FSBash
      ------
      * Reviewed and expunged various signed comparisons of file pointers in the existing tests
      * Added new tests for big files which attempt to aggrevate all the usual problems passing over and up to important boundaries
      * Makefile recreated from fragments
      * Some compiler warning squashed
      
      Docs
      ----
      * Some notes added for big file support
      
      Misc
      ----
      Commands: swapped to using Command macro
      HelpText: labels renamed to help Command macro
      GenSWIs: text table name for SectorDiscOp ammended to match exported header and corresponding secondary module names (ADFS_SectorDiscOp et al). The usefulness of calling the base instantiation of FileCore_SectorDiscOp is minimal, especially from BASIC.
      Messages: message for attempting to check an old map disc made less terse
      hdr/FileCore: typo
      
      Version 3.56. Tagged as 'FileCore-3_56'
      47fd7e2c
  8. 21 Feb, 2013 1 commit
    • Robert Sprowson's avatar
      Comment clarifications and tidy up · e8206b6d
      Robert Sprowson authored
      Lots of missing function entry/exit register comments added/corrected.
      Drive number extraction all now (32-3) to help see where changes are needed in future for more drives.
      Removed redundant Tools/basic/BASH (see Test/BASH).
      InitDieSvc/BigDirCode/DebugOpts/FileCore25: Comments
      FileCore05: Use of DREG with no preceding text
      FileCore15: Use of 'mess' with too few arguments
      FileCore20: Fetching of NZones made consistent, 3 bit drive number made consistent
      FileCore30/FileCore32: Simplify debug switches, driver number extraction, comments
      FileCore31: Fetching of NZones made consistent
      FileCore40/FileCore33/FileCore35: NZones, function arguments commented
      FileCore45: Function arguments commented, debug reinstated
      FileCore70/FileCore60: Function arguments commented, drive number extraction
      FormSWIs: NZones
      Identify/GenSWIs: Drive number extraction, debug tidy
      MyMacros: Unused Align16 removed. Hacked DebugError macro to not try loading from internal error numbers all the time, which are often not aligned, or not in sensible memory places
      
      Relatively few code changes, no expected issues.
      
      
      Version 3.55. Tagged as 'FileCore-3_55'
      e8206b6d
  9. 12 Nov, 2012 1 commit
    • Ben Avison's avatar
      Fix FSEntry_Func 33 · 12326543
      Ben Avison authored
      Detail:
        It appears that this entry (Get usage of offset) was never updated to
        support the "BigDir" directory format (E+/F+, long filenames, >77 entries
        per directory) at RISC OS 4. This results in OS_FSControl 52 also failing
        for such discs.
      Admin:
        Tested using SDFS, but should apply equally to any other FileCore filing
        system.
      
      Version 3.54. Tagged as 'FileCore-3_54'
      12326543
  10. 28 Oct, 2012 1 commit
  11. 21 Oct, 2012 1 commit
    • Robert Sprowson's avatar
      Fix abort mounting old map discs · 66f1eef3
      Robert Sprowson authored
      The massive speedup in FileCore 3.50 by not loading the map sector wise (twice) on mounting meant that the code path to resize the dynamic area for the map had changed.
      So, with DynamicMaps = {TRUE} mounting an old map disc would try to load the map into a zero size area (the area had an allocated address but was 0 bytes long).
      Aside: reading a new map disc first, then swapping to an old map disc would mask the problem since the dynamic area is only shrunk on an active dismount.
      
      
      Version 3.53. Tagged as 'FileCore-3_53'
      66f1eef3
  12. 09 Jul, 2012 1 commit
    • Jeffrey Lee's avatar
      Fix search limits in FillGap · 3007949f
      Jeffrey Lee authored
      Detail:
        s/FileCore32 - The "try double exact fit" bit of the FillGap routine wasn't ensuring the search end address was word aligned, sometimes causing the search to run off the end of the FragSize array and into the memory before it.
      This itself is mostly harmless (there's a check at line 1161 against the exact bit address at which the search should stop), except that check only gets perfomed once a nonzero bit is encountered.
      Sometimes this check doesn't get performed at all, causing the search to fall off the start of ScratchSpace, and - with relocated zero page - into the unmapped memory beyond.
      By rounding the search end address down, we ensure it's word aligned, without altering the actual size of the area.
      Admin:
        Tested on BB-xM with high processor vectors
      
      
      Version 3.52. Tagged as 'FileCore-3_52'
      3007949f
  13. 13 May, 2012 1 commit
    • Ben Avison's avatar
      Allow booting from DOS-formatted media · 01634dc2
      Ben Avison authored
      Detail:
        Rather than use its internal idea of the disc's boot option, FileCore now
        asks FileSwitch, which ends up asking either DOSFS or FileCore for the
        boot option, as appropriate for the format in use.
      Admin:
        Tested on a beagleboard.
      
      Version 3.51. Tagged as 'FileCore-3_51'
      01634dc2
  14. 14 Apr, 2012 1 commit
    • Ben Avison's avatar
      Miscellaneous improvements · a6f1b1d7
      Ben Avison authored
      Detail:
        * Added the ability for a filing system to specify to FileCore that floppy
          discs should be mounted like hard discs, to complement the existing flag
          that specifies the opposite. SDFS requires this. Ideally SCSIFS should
          start using this as well, to encapsulate boot block handling within
          FileCore.
        * Added header definitions so the FileCore and the filing systems can
          negotiate the use of a new MiscOp entry, needed as part of partitioning
          support, especially important for filing systems that use the hardware-
          specific section of the boot block, like ADFS. At present, FileCore
          doesn't do anything different (it still doesn't support partitions) but
          this enables filing systems to be modified in preparation.
        * Removed the only place where FileCore paid any attention to the
          EmptyWorks flag returned by MiscOp 1 - an obscure and not very useful
          edge case not used by any current filing systems.
        * Added 650 lines of documentation for the MiscOp SWI and low-level entry
          to the Doc directory, giving the information you need in order to
          implement a FileCore filing system.
        * Added missing header file definitions for the low-level background DiscOp
          reason code and the hot-plug drive removed flag to MiscOp 7.
        * Removed some RISC OS 2 legacy code whereby FileCore maintained its idea
          of the internal disc address of the CSD @, PSD \, Library % and URD & for
          each filing system. Since RISC OS 3.00, FileSwitch handles these
          internally and passes canonicalised paths to FileCore, so FileCore's disc
          addresses for these directories remained unset. This allows some
          considerable simplification of FileCore's path parser in particular, but
          also affects other code like that which decides how to expire disc
          records. Also note that FileCore has been unable to generate certain
          errors (like "Can't delete current directory") since RISC OS 3.00 for the
          same reason.
        * Changed loading of the map for FileCore-format discs so that the map is
          loaded into the dynamic area during the Service_IdentifyDisc handler in
          one big DiscOp rather than loading it twice, sector-by-sector, via one
          big sector cache. For one thing, the sector cache is implemented
          inefficiently - O(n^2) - and for another thing, single-sector DiscOps are
          relatively inefficient on many filing systems, especially on SD cards.
          Some example speed-ups measured for mounting discs are:
            SCSIFS,   1GB drive: was 0.62 sec, now 0.40 sec (1.55 x speedup)
            SCSIFS, 256GB drive: was 1.44 sec, now 0.52 sec (2.77 x speedup)
            SDFS,     2GB drive: was 1.25 sec, now 0.14 sec (8.93 x speedup)
      Admin:
        Tested on a beagleboard, with SCSIFS and SDFS.
      
      Version 3.50. Tagged as 'FileCore-3_50'
      a6f1b1d7
  15. 24 Mar, 2012 1 commit
    • Jeffrey Lee's avatar
      Fix asasm 2.00 errors · d5ce013d
      Jeffrey Lee authored
      Detail:
        s/BigDirCode, s/FileCore20, s/FileCore33 - Fixed some operators which were missing their end colon
      Admin:
        Identical binary under objasm
      
      
      Version 3.49. Retagged as 'FileCore-3_49'
      d5ce013d
  16. 19 Mar, 2012 2 commits
    • Ben Avison's avatar
      Build fix · d75a83fc
      Ben Avison authored
      Detail:
        Previous change broke builds from clean - sorry! The basic problem is that
        there's no way to enforce a dependency, or at least ordering, between the
        exported asm and C versions of Hdr:FileCoreErr in the AAsmModule shared
        makefile. Worked around this by builing the C header using the local copy
        of the asm header, rather than the exported one.
      Admin:
        Tested from clean this time. Retagged as 'FileCore-3_49'
      
      Version 3.49. Not tagged
      d75a83fc
    • Ben Avison's avatar
      Reworked error code · 7708dddf
      Ben Avison authored
      Detail:
        Created a new exported header file, Hdr:FileCoreErr, which will serve as
        the single centralised location that defines the error numbers used in the
        low-level FileCore interfaces. s.Errors is now only used for allocating
        error blocks, not for defining error numbers. Also now exports C versions
        of both the pre-existing Hdr:FileCore and the new header.
      Admin:
        No changes to the binary.
      
      Version 3.49. Tagged as 'FileCore-3_49'
      7708dddf
  17. 07 Jan, 2012 1 commit
  18. 25 Nov, 2011 2 commits
    • Robert Sprowson's avatar
      Fold in old fixes. · a4d790ff
      Robert Sprowson authored
      From 1989, probably safe to keep them. Binary unchanged.
      
      Version 3.47. Tagged as 'FileCore-3_47'
      a4d790ff
    • Robert Sprowson's avatar
      Teach FileCore_LayoutStructure and Service_IdentifyDisc how to do 1 zone fixed discs. · d52791ba
      Robert Sprowson authored
      From the change logs it was last fixed sometime around FileCore 2.50 era, but has been long broken.
      The boot block was in the right place, but was overwritten by the root directory, and the wrong size entry was claimed in the map, amongst other errors.
      Free'd up R6 in LayoutFreeSpaceMap to avoid having to keep reevaluating the number of zones - makes it a bit more readable. Corrected inaccurate comments. Checked the code paths for new map with and without boot block, with and without long filenames.
      Test app 'Make1Zone' generates a small disc image which can be inspected in a hex editor for correctness.
      In the identify code, be more strict about looking for a boot block only on fixed discs since they cannot occur on floppies (saves time, wasn't necessarily wrong).
      The concept of a boot block at &C00 only works when 2 copies of the map can be fitted underneath that address, for future 2k and 4k sector sizes these do not fit and it is likely that 1 zone fixed discs are forbidden (a drive with 4k sectors would typically be > 512GB and 1 zone would be ~32MB so spilling into a second zone would waste < 0.01%).
      Other minor changes:
      * Free command now groups the 'K' with 'bytes' to match OS_ConvertFileSize.
      * FileCore20 debug didn't assemble.
      * FileCore33 beefed up comments.
      * GenSWIs debug didn't assemble.
      Tested with a special cut of RAMFS manually loading various 1 zone images into its dynamic area and checking they mount, have a sensible *MAP and *FREE result, can be written to, and don't have broken directories.
      
      Version 3.46. Tagged as 'FileCore-3_46'
      d52791ba
  19. 14 Oct, 2011 1 commit
    • Robert Sprowson's avatar
      Revise exports in "hdr.FileCore". · 9ae2d7ca
      Robert Sprowson authored
      Now, for each SWI call there is a definition of any pertinent structures it asks for and definitions of any bitfields within those flags. This avoids the need for clients to endlessly redefine these locally (in practice it looks like sections of FileCore were simply copy and pasted into clients RAMFS/SCSIFS/ADFS). Delete private definitions.
      This binary was carefully checked to be identical since so many locations were changed.
      Then, the following additional changes:
      * InitDieSvc line 74, the floppy config is extracted using a mask and shift rather than reaching up the stack
      * Identify lin 1254, the superfluous instruction marked as such deleted
      * FileCore15 line 762 recoded the check for background op to not need the bit number defined any more
      * FileCore00 moved the label 'anull' to be word aligned guaranteed
      The duff pointer marker ('nowt' = &40000000) is no longer used to mark territory translation tables as invalid as that address is now quite reasonable. -1 is used instead.
      
      Version 3.45. Tagged as 'FileCore-3_45'
      9ae2d7ca
  20. 12 Oct, 2011 2 commits
  21. 02 Oct, 2011 2 commits
    • Robert Sprowson's avatar
      Suspicious PC fiddling exorcised. · 2acecd72
      Robert Sprowson authored
      R8 was being used to remember the C bit, by copying from the PC. Swapped to use RRX instead.
      
      Version 3.43. Tagged as 'FileCore-3_43'
      2acecd72
    • Robert Sprowson's avatar
      Make debug versions assemble again. · 55198f01
      Robert Sprowson authored
      Entry macro renamed as SemEntry to avoid conflict with Hdr:Proc.
      Other macro bit rot fixed up.
      Tidy up switches.
      DebugFx switch is the only one that doesn't work.
      Non debug binary same as 3.41.
      
      Version 3.42. Tagged as 'FileCore-3_42'
      55198f01
  22. 13 Sep, 2011 2 commits
    • Robert Sprowson's avatar
      Fix *DEFECT crashing when an object occupies the defect disc address. · ad94a5c8
      Robert Sprowson authored
      R5 was being reused as the loop exit instead of R9.
      Synced code with *CHECKMAP a bit since they have the same heritage.
      Untangle the spaghetti around TermCommon and UnTermCommon.
      In the module init, skip a store when the flags don't change.
      Tested with a RAM disc filled with autogenerated nested directories and a loop blindly trying to defect everything - works fine now. Ticket #114.
      
      Version 3.41. Tagged as 'FileCore-3_41'
      ad94a5c8
    • Robert Sprowson's avatar
      Delete s.AsmHdr, s.DevVersion, Version, s.ModHand · d752b027
      Robert Sprowson authored
      Delete Doc.!ReadMe, update Doc.!Implement
      Collapse dead switches.
      s.MyMacros:
       Remove 'nop' macro, use NOP.
      s.Defns:
       Some definitions taken from global headers.
      s.Commands:
       Indentation and function calling parameter comments reviewed.
      
      Still produces the same binary as 3.40.
      d752b027
  23. 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
  24. 04 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Update to work with zero page relocation · 82f55aab
      Jeffrey Lee authored
      Detail:
        s/FileCore, s/FileCore00, s/InitDieSvc - Try using OS_ReadSysInfo 6 to get IRQsema & CannotReset locations before falling back on legacy values. Store results in module workspace.
        s/FileCore05 - Commented out unused CheckEscape routine to avoid having to update it
        s/FileCore15 - Debugging code updated to use OS_ReadSysInfo 6 to fetch IRQsema ptr. Can't always rely on workspace version since workspace might not be set up yet.
        s/FileCore25, s/FileCore30, s/FileCore80 - Use IRQsema & CannotReset pointers from workspace
      Admin:
        Tested on rev A2 BB-xM
      
      
      Version 3.39. Tagged as 'FileCore-3_39'
      82f55aab
  25. 14 Mar, 2011 1 commit
  26. 25 Jan, 2011 1 commit
    • Jeffrey Lee's avatar
      Combat slow USB devices on boot by making OS_FSControl 15 auto-retry when... · d386afa3
      Jeffrey Lee authored
      Combat slow USB devices on boot by making OS_FSControl 15 auto-retry when SCSIFS "drive empty" errors are generated
      
      Detail:
        s/FileCore60 - DoOsFunBootup now detects when a SCSIFS "drive empty" error is returned by IdentifyCurrentDisc. Instead of returning with an error, the boot operation will instead be retried, to give slow/unlucky USB devices a chance to finish initialising. Escape can be used to cancel the retry loop, just in case.
        Resources/UK/Messages - Added new 'RetryBoot' message which is shown when the retry loop starts
      Admin:
        Tested on rev A2 BB-xM. Machine now boots correctly in situations where the required USB device hasn't initialised by the time OS_FSControl 15 is called.
        New message token (RetryBoot) needs translating.
      
      
      Version 3.37. Tagged as 'FileCore-3_37'
      d386afa3
  27. 14 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix erroneous unaligned load in FileCore · 1d4b79eb
      Jeffrey Lee authored
      Detail:
        FindDiscRec was erroneously using LDR to load DiscsDrv when it should have used LDRB. Apart from the potential for disc record priorities to be incorrectly evaluated, this was also causing an abort when alignment exceptions were turned on.
      Admin:
        Tested on rev C2 beagleboard. FAT formatted USB drives now seem to work OK.
      
      
      Version 3.36. Tagged as 'FileCore-3_36'
      1d4b79eb
  28. 06 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix bug in FileCore's CompactZone hash table handling · 521eb858
      Jeffrey Lee authored
      Detail:
        The code which protects against hash table overflows in the CompactZone routine has been broken ever since BigMaps was introduced. With BigMaps each hash table entry is three bytes, not two; but the overflow fixup code which restores the word following the hash table to its original value wasn't updated to take this into account, and so was restoring the data to the wrong position.
        Presumably this isn't a critical problem since it's been there so long, but since it causes an alignment exception when NoUnaligned is in use it's now been fixed.
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 3.35. Tagged as 'FileCore-3_35'
      521eb858
  29. 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
  30. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · c3b38b1e
      Ben Avison authored
      Detail:
        Uses suffixed file extensions for compatiblity with both objasm and asasm.
      Admin:
        Supplied by Peter Naulls, tested at ROOL
      
      Version 3.33. Not tagged
      c3b38b1e
  31. 17 May, 2009 1 commit
    • Ben Avison's avatar
      Various archiecture-based optimisations · d10cde06
      Ben Avison authored
      Detail:
        * ARMv6+ builds use unaligned halfword and word loads and stores (unless
          pre-ARMv6 compatibility is required or NoUnaligned is set)
        * In many cases, one unnecessary BIC instruction has been removed from
          pre-ARMv6 builds
        * ARMv5+ builds (so Tungsten and OMAP) make use of CLZ instruction when
          parsing fragment blocks
      Admin:
        Built and included in an OMAP3 ROM. But be warned, this has not received
        the rigorous testing normally required of filesystem code, use at your
        own risk.
      
      Version 3.33. Tagged as 'FileCore-3_33'
      d10cde06
  32. 08 Aug, 2003 1 commit
  33. 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
  34. 26 Jul, 2002 1 commit
  35. 14 May, 2001 1 commit