1. 10 Jan, 2016 1 commit
    • Jeffrey Lee's avatar
      Preserve R12 across HAL device calls · c10bb669
      Jeffrey Lee authored
      Detail:
        s/Adfs12, s/IDEDetect - Ensure R12 is preserved over HAL device calls, the calling conventions allow the HAL to clobber it
      Admin:
        Tested on Iyonix
        Fixes abort during ROM init
      
      
      Version 3.51. Tagged as 'ADFS-3_51'
      c10bb669
  2. 06 Jan, 2016 1 commit
    • Robert Sprowson's avatar
      Build fix · 74deb4a5
      Robert Sprowson authored
      Last minute new label 'Errfree' was not assembled in when FloppyPCI was true.
      Retagged as ADFS-3_50.
      74deb4a5
  3. 05 Jan, 2016 1 commit
    • Robert Sprowson's avatar
      Use HAL device for PATA IDE controller, and a few minor fixes · 606d918f
      Robert Sprowson authored
      ADFS 3 is currently both a filing system and a hardware poker, so have it own the PATA device for now as a stepping stone to a PATADriver module; export the header.
      No longer call HAL entries, look for the HAL device, activate, and call that instead. At API 0.00 it just has the exact same 3 functions as the previous HAL entries only refactored to pass a device pointer in R0.
      
      Makefile/IDEDevice.hdr/ADFS.s/Adfs00.s:
        Export, include, and reserve workspace.
      Adfs12.s/IDEDetect.s:
        Refactor function calls.
      Messages:
        Unrelated correction to pluralisation of 'Sectors'.
      Adfs50.s:
        Hunt for the IDE controller device.
        Fix oflaofla error if run on a non HAL machine - OS_Hardware errors but the ErrXFree code label expects the error pointer in R9 not R0.
      
      Tested in an IOMD build.
      
      Version 3.50. Tagged as 'ADFS-3_50'
      606d918f
  4. 28 Oct, 2015 1 commit
  5. 28 Mar, 2013 1 commit
    • Jeffrey Lee's avatar
      Replace a couple of magic numbers with constants · 26c40bae
      Jeffrey Lee authored
      Detail:
        s/StaticsIDE - Add definitions for the "IORDY supported" & "No 48bit DMA" flags
        s/Adfs14, s/IDEDetect - Replace a couple of magic numbers with the more descriptive named flags
      Admin:
        Tested in RiscPC ROM softload
      
      
      Version 3.48. Retagged as 'ADFS-3_48'
      26c40bae
  6. 27 Jan, 2013 1 commit
  7. 23 Oct, 2012 1 commit
    • Robert Sprowson's avatar
      Allow background ops again · 9da5fa02
      Robert Sprowson authored
      Adfs20.s:
        Earlier tidy up 3.44->3.45 had erroneously cleared the background transfer bit, so they were being rejected leading to various things hanging while they never completed.
      Adfs18.s:
        Safety NOP after mode change before banked register use for consistency with other mode changes in ADFS.
      Consts.s/ModHeader.s:
        Documented CMOS bits, use ADFSSWI_Base from Hdr:SWIs, assert local definition matches FileCore.
      
      Floppy *and* harddiscs tested this time.
      
      Version 3.47. Tagged as 'ADFS-3_47'
      9da5fa02
  8. 21 Oct, 2012 4 commits
    • Robert Sprowson's avatar
      Minor typo correction · ad1ab43a
      Robert Sprowson authored
      Retagged as ADFS-3_46.
      ad1ab43a
    • Robert Sprowson's avatar
      Reinstate floppies on IOMD platform · 6f1f3934
      Robert Sprowson authored
      ADFS.s:
        Remove redundant header file.
      Adfs05.s/Adfs15.s:
        Group the options a bit more simply, use {TRUE} and {FALSE}.
      Adfs12.s/BusMaster.s/IDEDetect.s:
        Use defines instead of magic numbers.
      Adfs17.s:
        Organise the offsets from the floppy controller to cover both PCI and IO based controllers.
        Only do the dummy read from the PBI on Tungsten.
      Adfs18.s:
        Implement the FIQ equivalent of the 'FlpUseVerify' command switch, modern controllers (!) have a built in verify rather than using a sector read, but the verify command has no data phase and the FIQ handler was sitting waiting for a sector that never arrives.
        Rationalise FlpDRQmask and FlpDRQmaskbit.
      Adfs19:
        Rationalise the calls to OS_Hardware by rejigging the assembly time switches.
        Reinstate the non HAL version of IRQ enable for reference.
        On RPCEmu 0.8.8 and 0.8.9 the emulator hangs during the four set of DCB's used to autodetect the drive (Recalibrate/Seek/Seek/Sense) which seems to be due to the way the emulator splits CPU time to floppy emulation time, to avoid this we wait 128us (real time) which is enough emulated time for the controller to have changed state. You probably just want to *CONFIGURE FLOPPIES 0 though.
      
      Tested om A7000, ARM610, StrongARM manipulating a veriety of disc densities for read and write. Also ran the "Test/TestADFS" test program.
      RPCEmu 0.8.8 and 0.8.9 boots still, but no attempt has been made to use emulated floppies.
      
      Version 3.46. Tagged as 'ADFS-3_46'
      6f1f3934
    • Robert Sprowson's avatar
      Tabs expanded · e7c1bd3c
      Robert Sprowson authored
      Assembler source uses spaces round here in general, follow suit.
      Not tagged.
      e7c1bd3c
    • Robert Sprowson's avatar
      Tidy up pass · 8dd5e237
      Robert Sprowson authored
      ADFS.s:
        Redundant header files trimmed
        Get OsWords and OsBytes
        Switches rationalised
      ADFS_SA.a
        Removed ARM810 support
      Adfs00.s:
        Unused MEMC flag removed
      Adfs05.s/Adfs12.s/Adfs13.s/Adfs14.s/Adfs15.s/Adfs19.s:
        Use defines instead of magic numbers
        Make use of FileCore exported bit fields
      Adfs17.s/Adfs18.s/ConstIDE:
        {TRUE} and {FALSE} used with objasm
      Adfs20.s
        Use AND of the opmask instead of BIC of all the flags except the opmask
      Adfs50.s
        Unused MEMC flag no longer initialised
        Make use of FileCore exported bit fields
        Service call table reordered so the Ursula despatch doesn't incur a branch
        OsByte defines used
      Consts:
        Removed those definitions now duplicating FileCore's exports
      DebugOpts/Fixes:
        All options brought under one roof
      ModHeader:
        Now uses VersionNum directly
      Ver/*:
        Redundant switches deleted
        Removed used of 'Version' header
      
      
      Version 3.45. Tagged as 'ADFS-3_45'
      8dd5e237
  9. 13 Apr, 2012 1 commit
    • Ben Avison's avatar
      Minor bugfix to MiscOp 1 for '765 floppy disc driver · 138040d0
      Ben Avison authored
      Detail:
        If the sequence number did not have the expected value on entry (i.e. the
        caller had missed at least one state change) then the driver always reported
        Changed, even for floppy drives without a working disc changed line. This
        was the only time when Changed was reported for such drives - now it reports
        MaybeChanged in this case, which is consistent with the 1772 floppy driver.
        Also removed the confusingly-named (and unused) symbols DefectStruc and
        DefectCheck, in line with similar changes to SCSIFS and FileCore.
      Admin:
        Untested, but should be a safe change.
      
      Version 3.44. Tagged as 'ADFS-3_44'
      138040d0
  10. 21 Mar, 2012 1 commit
    • Ben Avison's avatar
      Retired FileCore_Create "No directory state" startup option · 61dadf8c
      Ben Avison authored
      Detail:
        Despite what the PRM says about *Configure options Dir and NoDir, the
        CMOS bit which they control was actually read by the filing systems and
        passed to FileCore via register R3 passed to FileCore_Create. In practice,
        only ADFS appears to have done this correctly. However, since RISC OS 3.00,
        FileCore has not managed the CSD (this function being taken over by
        FileSwitch) so this option hasn't actually done anything for the last
        21 years! Given that the other FileCore filing systems have managed fine
        without the Dir/NoDir option being set correctly, I think the time has come
        to stop using this part of the FileCore_Create API, which means we can free
        up a bit of CMOS.
      Admin:
        Builds but not tested, but a very low-risk change.
      
      Version 3.43. Tagged as 'ADFS-3_43'
      61dadf8c
  11. 19 Mar, 2012 1 commit
    • Ben Avison's avatar
      Reworked error code · 2720c90b
      Ben Avison authored
      Detail:
        Now uses Hdr:FileCoreErr rather than containing its own definitions of the
        low-level FileCore error numbers. Autogenerates and exports a new header,
        Hdr:ADFSErr, and a C version of the same, containing error definitions
        within the ADFS error block, derived from the error offsets from
        Hdr:FileCoreErr plus the ADFS-specific errors. s.AdfsErrors is now only
        used to list the errors for which an error block needs to be allocated for
        ADFS's own use.
      Admin:
        No changes to the binary.
      
      Version 3.42. Tagged as 'ADFS-3_42'
      2720c90b
  12. 14 Oct, 2011 1 commit
    • Robert Sprowson's avatar
      Update to use some of the exported FileCore headers. · 069303ab
      Robert Sprowson authored
      There are still a large number of local copies that should be visited, but this change at least allows it to assemble again FileCore-3_45.
      Tungsten and IOMD variants assemble, but others untested.
      
      Version 3.41. Tagged as 'ADFS-3_41'
      069303ab
  13. 07 Aug, 2011 1 commit
    • Jeffrey Lee's avatar
      Update to work with zero page relocation · 6589f4d7
      Jeffrey Lee authored
      Detail:
        s/ADFS, s/Adfs00, s/Adfs50 - Use OS_ReadSysInfo 6 to get ESC_Status location and store it in module workspace
        s/Adfs05 - Updated debug code to use OS_ReadSysInfo 6 to get IRQsema location. Updated CheckEscape to use local ESC_Status pointer, and updated it to only be compiled if it's actually needed
        s/Adfs10, s/Adfs14, s/Adfs15, s/Adfs17 - Use local ESC_Status pointer
      Admin:
        Tested (with low processor vectors) in Iyonix ROM softload
        Note that FIQ handlers haven't been updated to support high vectors, since they aren't currently used on any hardware capable of using high vectors
      
      
      Version 3.40. Tagged as 'ADFS-3_40'
      6589f4d7
  14. 18 Jul, 2011 1 commit
    • Jeffrey Lee's avatar
      Update IOMD HAL build to use OS_Memory 9 instead of HAL_ControllerAddress for... · fff2a575
      Jeffrey Lee authored
      Update IOMD HAL build to use OS_Memory 9 instead of HAL_ControllerAddress for finding the floppy controller
      
      Detail:
        s/Adfs19 - The (currently disabled) floppy code now uses OS_Memory 9 to look for controller 34 instead of the less-portable (and allocation clashing) HAL_ControllerAddress (to look for controller 6).
      Admin:
        Compiles but untested. IOMD floppy support is broken at the moment anyway.
      
      
      Version 3.39. Tagged as 'ADFS-3_39'
      fff2a575
  15. 22 Jun, 2011 1 commit
    • Jeffrey Lee's avatar
      IOMD/HAL build fixes · 013c01da
      Jeffrey Lee authored
      Detail:
        s/Adfs12 - Don't use DefaultIDEHardware in HAL builds, use the proper addresses instead
        s/Adfs19 - Make floppy code use HAL_ControllerAddress to get 82C710 address in non-PCI, non-Podule, HAL builds. However floppy code is currently disabled in this configuration because it hangs the machine when floppy access is attempted.
        s/Consts, s/StaticsIDE - Get rid of some bad address constants for HAL builds
      Admin:
        Tested in Iyonix & IOMD ROM softloads.
      
      
      Version 3.38. Tagged as 'ADFS-3_38'
      013c01da
  16. 06 Dec, 2010 1 commit
    • Ben Avison's avatar
      Reintroduced support for IOMD machines · a2d689f9
      Ben Avison authored
      Detail:
        There was no "Ver" file for Machine=32, and the code for build switch
        settings appropriate for IOMD had not been kept up-to-date with various
        changes to the module which were made to support Tungsten. This version
        provides working IDE support for IOMD HAL builds, although there are
        still some issues with floppy support. Tungsten builds should be
        functionally identical.
      Admin:
        Tested on a Risc PC. Joint development effort by Tom Walker and Ben Avison.
      
      Version 3.37. Tagged as 'ADFS-3_37'
      a2d689f9
  17. 19 Jan, 2010 1 commit
    • ROOL's avatar
      Incremented version number, no other change. · 63753fc1
      ROOL authored
      Previous changes were untagged, but incrementing the version number gives
      us a tag we can associate with the official RISC OS 5.16 release.
      
      Version 3.36. Tagged as 'ADFS-3_36'
      63753fc1
  18. 15 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build change · d4ba6c08
      Ben Avison authored
      Detail:
        CPU version is no longer specified in the makefile - it's better to inherit
        it from the build environment now that we actually set it appropriately.
      Admin:
        Not tested. Binary should be unchanged - this only affects the warnings
        generated during assembly.
      
      Version 3.35. Not tagged
      d4ba6c08
  19. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · 451a6518
      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.35. Not tagged
      451a6518
  20. 03 Dec, 2003 1 commit
  21. 03 Apr, 2003 1 commit
    • Kevin Bracey's avatar
      * DMA support completed. · 664368e8
      Kevin Bracey authored
      * Selects PIO/DMA/Ultra DMA modes appropriate for each device.
      * DMA support added to ADFS_IDEUserOp, but not yet ADFS_ATAPIOp.
      * WinIDEMaxSectorsPerTransfer increased to 256.
      * Floppy driver reattaches to DMA Manager if it's reinitialised.
      
      Version 3.35. Tagged as 'ADFS-3_35'
      664368e8
  22. 28 Jan, 2003 1 commit
  23. 17 Jan, 2003 1 commit
    • Kevin Bracey's avatar
      * ADFS_DiscOp64 and ADFS_ATAPIOp added. · d980237a
      Kevin Bracey authored
      * New FileCore error passing scheme supported.
      * PCI floppy support functional.
      * 48-bit LBA support added for ADFS_IDEUserOp and accessing beyond the
        first 128GB of a drive - not thoroughly tested.
      * IDE autodetection improved
      
      Version 3.34. Tagged as 'ADFS-3_34'
      d980237a
  24. 18 Sep, 2002 1 commit
  25. 17 Nov, 2000 1 commit
    • Ben Avison's avatar
      Loading to/saving from top-bit-set addresses should now work. · 28968ea5
      Ben Avison authored
      Detail:
        The problem was in the API definition of the scatter lists used in
        background data transfer. These consist of a sequence of word pairs,
        holding addresses and lengths; any negative (ie top-bit-set) address word
        is defined to mean that the list continues at an location that is offset
        by that amount. To get around this, the check is now made not on whether
        the address word is negative, but on whether it is equal to or greater
        than (less negative than) &FFFF0000. This means that accesses to these
        addresses will still fail, but such addresses should be reserved for
        system use anyway.
      Admin:
        Tested briefly.
      
      Version 3.33. Tagged as 'ADFS-3_33'
      28968ea5
  26. 11 Jul, 2000 2 commits
    • Kevin Bracey's avatar
      Ursula_RiscPC branch merged. · 83c6bab3
      Kevin Bracey authored
      Detail:
        The Ursula_RiscPC branch contained version 3.30 of ADFS, which had
        minimal updates for Ursula, such as the service call table. This
        version, incorporating changes on the Ursula branch up to
        the Ursula_RiscPC_bp tag, is now merged on to the trunk as 3.32.
        This leaves version 3.31 on the Ursula branch, unmerged. This contains
        unfinished support for auto-detection of IDE drives and support for
        Phoebe hardware.
      
      Version 3.32. Tagged as 'ADFS-3_32'
      83c6bab3
    • Kevin Bracey's avatar
      created by srccommit. · eee8692b
      Kevin Bracey authored
      eee8692b
  27. 29 Oct, 1998 1 commit
  28. 09 May, 1997 1 commit
  29. 02 May, 1997 1 commit
  30. 01 May, 1997 2 commits
  31. 21 Jan, 1997 1 commit
  32. 06 Jan, 1997 1 commit
  33. 21 Nov, 1996 3 commits