Reading floppy discs under 5.19
Chris Johnson (125) 825 posts |
As part of a clear out I tried to check some old floppies before junking them. Under RISC OS 5.19, any attempt to access a floppy disc results in the message ‘Error from ADFS Filer: Invalid DMA channel handle’. Reverting to RISC OS 5.16, the floppy disc can be read normally. Going back to a clean 5.19 results in the error again. This is on an Iyonix. Is this the end for floppy usage:) |
Trevor Johnson (329) 1645 posts |
How about 5.18? Was floppy part of the testing process? Did CTL provide details of their testing regime? |
Jeffrey Lee (213) 6048 posts |
I’m trying to find out if Castle have spotted it yet. My 5.17 build from late november is working OK, so it looks like it must be a recent change, but there’s not much point me looking into it further if Castle are already onto it. |
Jeffrey Lee (213) 6048 posts |
It looks like this was my fault :-( If you tried calling PCI_RAMAlloc with a boundary value specified, but the heap was full, the heap would (usually) be grown to the correct size, but when it retires calling OS_Heap to allocate the memory it would have done so with a non power-of-two boundary value, causing the call to fail. This was stopping DMAManager from allocating the IO buffer it needed when ADFS tried to claim the floppy DMA channel. I’ve submitted a fix, so working 5.19 ROMs should be ready in the morning, and (I believe) 5.18 will include the fix too. Since the bug only happens if the heap is full, it’s possible Castle’s testing didn’t reveal it. |