- 26 Feb, 2020 1 commit
-
-
Jeffrey Lee authored
Version 3.55. Tagged as 'ADFS-3_55'
-
- 18 Nov, 2017 1 commit
-
-
Jeffrey Lee authored
Detail: Early versions of the ATA spec mandated that drives should assert DRQ within 700us of a write command being issued. However later versions of the spec have dropped this limit, and some devices (e.g. CF cards) are known to regularly exceed the limit. Remove the 700us timeout from ADFS, so that these devices can operate correctly. s/Adfs14 - Modify DRQ timeout check so that it will fall back to polling from TickerV if the initial 700us loop times out. s/StaticsIDE - Add extra word to workspace, so that the TickerV routine can still timeout the operation Admin: Tested on IOMD (~4M FSBash ops), Tungsten (~500K FSBash ops) Fixes "disc error 20" seen when using IDE-CF adapter on RiscPC, thanks to reasarch by Jon Abbot: https://www.riscosopen.org/forum/forums/4/topics/9557 Version 3.54. Tagged as 'ADFS-3_54'
-
- 15 Jul, 2017 1 commit
-
-
Robert Sprowson authored
Don't assume that the disc address to MiscOp_Mount is always &C00, in order to locate the hardware-dependent information (see PRM 2-215), calculate the offset properly. This fixes a problem that FileCore 3.74 triggered where the LBA flag was no longer being recovered now the alignment of the request in R2 has changed, causing some drives to no longer mount if they also don't support CHS addressing. Strictly speaking there's no guarantee that FileCore is even asking for the boot block at all; ADFS should read the sectors itself before fulfilling the request, but historically it's always assumed that the boot block was being read, so let sleeping dogs lie. Ref https://www.riscosopen.org/forum/forums/4/topics/9390 Version 3.53. Tagged as 'ADFS-3_53'
-
- 23 May, 2016 1 commit
-
-
Robert Sprowson authored
CDFSSoftATAPI 1.35 and later uses symbols instead of magic numbers for ADFS_IDEDeviceInfo and ADFS_ATAPIOp, export them here so this combination builds. Version 3.52. Tagged as 'ADFS-3_52'
-
- 10 Jan, 2016 2 commits
-
-
Jeffrey Lee authored
Detail: s/Adfs50 - Ensure R12 is preserved across HAL device calls, the calling conventions allow the HAL to clobber it Admin: Tested on Iyonix Fixes abort during ROM init Version 3.51. Retagged as 'ADFS-3_51'
-
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'
-
- 06 Jan, 2016 1 commit
-
-
Robert Sprowson authored
Last minute new label 'Errfree' was not assembled in when FloppyPCI was true. Retagged as ADFS-3_50.
-
- 05 Jan, 2016 1 commit
-
-
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'
-
- 28 Oct, 2015 1 commit
-
-
Robert Sprowson authored
Would only trigger if ADFS was being run on an ARMv7 but using an old style FileCore that didn't support the new error scheme, hence mostly for completeness. Spotted by Jon Abbott, ref https://www.riscosopen.org/forum/forums/4/topics/3682 Typo in error string corrected in passing. Version 3.49. Tagged as 'ADFS-3_49'
-
- 28 Mar, 2013 1 commit
-
-
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'
-
- 27 Jan, 2013 1 commit
-
-
Robert Sprowson authored
Renamed 32->IOMD Deleted Phoebe Version 3.48. Tagged as 'ADFS-3_48'
-
- 23 Oct, 2012 1 commit
-
-
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'
-
- 21 Oct, 2012 4 commits
-
-
Robert Sprowson authored
Retagged as ADFS-3_46.
-
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'
-
Robert Sprowson authored
Assembler source uses spaces round here in general, follow suit. Not tagged.
-
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'
-
- 13 Apr, 2012 1 commit
-
-
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'
-
- 21 Mar, 2012 1 commit
-
-
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'
-
- 19 Mar, 2012 1 commit
-
-
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'
-
- 14 Oct, 2011 1 commit
-
-
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'
-
- 07 Aug, 2011 1 commit
-
-
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'
-
- 18 Jul, 2011 1 commit
-
-
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'
-
- 22 Jun, 2011 1 commit
-
-
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'
-
- 06 Dec, 2010 1 commit
-
-
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'
-
- 19 Jan, 2010 1 commit
-
-
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'
-
- 15 Jun, 2009 1 commit
-
-
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
-
- 11 Jun, 2009 1 commit
-
-
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
-
- 03 Dec, 2003 1 commit
-
-
Ben Avison authored
The makefile's ability to create the tokenised help file hadn't recovered since it was changed to use the shared makefiles.
-
- 03 Apr, 2003 1 commit
-
-
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'
-
- 28 Jan, 2003 1 commit
-
-
Ben Avison authored
First bits of DMA support: reads bus master information from the HAL and uses it to create a set of DMA "HAL" devices for use by the DMA Manager. Also responds to Service_ModulePostInit for the DMA Manager to reregister (currently only the floppy) DMA channel(s). Version 3.34. Not tagged
-
- 17 Jan, 2003 1 commit
-
-
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'
-
- 18 Sep, 2002 1 commit
-
-
Kevin Bracey authored
Hard disc functional, but PIO mode only. Don't go near the floppy. Version 3.33. Not tagged
-
- 17 Nov, 2000 1 commit
-
-
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'
-
- 11 Jul, 2000 2 commits
-
-
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'
-
Kevin Bracey authored
-
- 29 Oct, 1998 1 commit
-
-
Neil Turton authored
-
- 09 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 02 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 01 May, 1997 2 commits
-
-
Kevin Bracey authored
-
Kevin Bracey authored
-