-
Ben Avison authored
Detail: In the code which determined the bitmask to apply to cluster numbers, the calculation of the number of clusters in the data area (which is the deciding factor between FAT12, FAT16 and FAT32) contained an operator precedence error in the calculation of the root directory size. The result was that if the disc size was within approx 8 MB of the FAT type threshold then the wrong mask was selected. (For clusters of 4*512 bytes, the FAT12/16 threshold is about 8 MB, so discs between 8 and 16 MB would fail.) Also: * Fixed the module base address and offsets registered with FileSwitch - previously the static data relocation offset was incorrectly applied. FileSwitch didn't actually care as long as they added up to the right address, but it was still wrong. * 32-bitting was incorrectly done using the No26bitCode switch rather than the No32bitCode switch, meaning that softloadable builds of this module were not 32-bit compatible. Softloadable builds now work on anything from RISC OS 3.5 onwards. Admin: Tested on Raspberry Pi and Iyonix. Version 0.95. Tagged as 'DOSFS-0_95'
96a65e55