1. 14 Dec, 2020 2 commits
    • Robert Sprowson's avatar
      Tighten DA access permissions · c087cd17
      Robert Sprowson authored
      Given not all page table formats can represent user mode RO + privileged R/W, and there's no reason for FileCore to let the user peek its internal structures, tighten this up and remove user mode access entirely.
      Tested in a Titanium ROM with SCSIFS/RamFS/SDFS/ADFS.
      
      Version 3.77. Tagged as 'FileCore-3_77'
      c087cd17
    • Robert Sprowson's avatar
      Use symbolic names for DA operations · c10a3a57
      Robert Sprowson authored
      c10a3a57
  2. 06 Jul, 2017 1 commit
  3. 24 Jul, 2016 1 commit
    • Robert Sprowson's avatar
      Build fix · 74902d1e
      Robert Sprowson authored
      Module_Title->Module_TitleStr from Kernel-5_54.
      
      Version 3.70. Tagged as 'FileCore-3_70'
      74902d1e
  4. 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
  5. 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
  6. 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
  7. 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
  8. 28 Oct, 2012 1 commit
  9. 25 Nov, 2011 1 commit
    • 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
  10. 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
  11. 02 Oct, 2011 1 commit
    • 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
  12. 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
  13. 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
  14. 14 Mar, 2011 1 commit
  15. 08 Aug, 2003 1 commit
  16. 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
  17. 14 May, 2001 1 commit
  18. 10 May, 2001 1 commit
  19. 31 Oct, 2000 1 commit
    • Stewart Brodie's avatar
      32-bit fixes · 615d13b9
      Stewart Brodie authored
      Detail:
        Some stack offsets were wrong - now fixed.
        More PSR preservation added.
      Admin:
        26-bit builds of this module still stiff the machine when ADFS is
          used.
        Do not use - except for testing.
      
      Version 3.24. Tagged as 'FileCore-3_24'
      615d13b9
  20. 30 Oct, 2000 1 commit
  21. 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
  22. 05 Aug, 1999 1 commit
  23. 21 Sep, 1998 1 commit
    • Kevin Bracey's avatar
      Spinner branch merged. · b3151684
      Kevin Bracey authored
      Makefile changed to use LocalRes$Path.
      Changed to use srccommit.
      StrongARM flag now set to :LNOT:STB
      
      Version 2.99. Tagged as 'FileCore-2_99'
      b3151684
  24. 05 Nov, 1996 1 commit