Disc Error 20/21/23 and SATA->IDE support

Arc/RPCs, peripherals, RISCOS operating system & ARM kit eg GP2x, BeagleBoard
sirbod
Posts: 736
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Disc Error 20/21/23 and SATA->IDE support

Postby sirbod » Fri Nov 24, 2017 9:13 pm

danielj wrote:Can we not just use ADFS from 3.19 and patch that?

It's versioned 2.68 and ADFSUtils isn't present, so yes it should be possible.

EDIT: A pre-patched version is attached to the OP

sirbod
Posts: 736
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Disc Error 20/21/23 and SATA->IDE support

Postby sirbod » Sat Nov 25, 2017 6:47 am

I've had a quick look at ADFSUtils from RISC OS 3.11. Its a specific patcher for ADFS 2.67 in RISC OS 3.11 and as Jeffrey has pointed out, will only patch ADFS if its the ROM version as it checks for the Module being at a specific address.

It hijacks the floppy interrupt device (device 12) and passes the interrupts onto ADFS in all cases, except when there's one specific value in one of ADFS's workspace values. The bug introduced in ADFS 2.67 that was patched by ADFSUtils was a lock that could occur when accessing floppies when ADFSBuffers<8, so very likely a buffer overrun bug.

There's no equivalent patcher pre RISC OS 3.10 and I'm not certain if a version of ADFSUtils was released for RISC OS 3.10. The issue pre RISC OS 3.10 that was fixed in ADFS 2.67 was a FileCore in use error occurring if floppies were removed before being dismounted when ADFSBuffers>0.

In short ADFSBuffers is an issue if you're using floppies pre RISC OS 3.11 and ADFSUtils will only live patch ADFS 2.67 in the RISC OS 3.11 ROM. There is however another bug that was introduced in RISC OS 3.0 on the A5000, which causes HD corruption if ADFSBuffer>0.

This highlights an issue with ADFFS, as it doesn't RMReInit ADFSUtils, after it's RMReInit'd ADFS, meaning the ADFSBuffers bug is probably being re-introduced when ADFFS is loaded on RISC OS 3.11. I'd best get that fixed for the next release :oops:

User avatar
danielj
Posts: 5344
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Disc Error 20/21/23 and SATA->IDE support

Postby danielj » Sat Nov 25, 2017 7:55 am

=D>
Really great work on this Jon :) It will also bring down the price of 8-bit IDE minipodules :D

Is "re-rolling" the OS for burning onto new ROMs fairly straightforward? It looks like it needs to go onto 27c800s (I think the Amiga community use these reasonably frequently, and they seem to be reasonably available).

d.

sirbod
Posts: 736
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Disc Error 20/21/23 and SATA->IDE support

Postby sirbod » Sat Nov 25, 2017 11:00 am

danielj wrote:=D>
Really great work on this Jon :) It will also bring down the price of 8-bit IDE minipodules :D

If there's one thing that gets my goat up, it's profiteering on the need for 3rd party IDE modules and mouse/keyboard adapters! This is really my main drive behind resolving these issues. On the keyboard/mouse adapter front, I have designed boards based on other designs and purchased bulk parts to make them, I just haven't had the time to test the design or look into possible SMD manufacturing instead. I could really use someone to come on board with me to get that moving.
danielj wrote:Is "re-rolling" the OS for burning onto new ROMs fairly straightforward? It looks like it needs to go onto 27c800s (I think the Amiga community use these reasonably frequently, and they seem to be reasonably available).

Spooky, I've been up since 5am compiling a post on just this very subject.

sirbod
Posts: 736
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Disc Error 20/21/23 and SATA->IDE support

Postby sirbod » Thu Nov 30, 2017 8:38 am

Can I assume from the one person that's downloaded the pre-patched ADFS268, that all the SD/CF compatibility issues pre RiscPC are now resolved?

Can I also presume that Disc Error 23 does not occur on A7000/RiscPC, meaning all the compatibility issues are resolved by Jeffrey's beta ROMpatch, or the patcher in the OP? Jeffrey's updated ROMpatch should be used in preference, as it hangs off TickerV instead of stalling the CPU.

As Jeffrey has also pointed out, the Disc Error 20 fix has now gone into RISC OS 5, so A7000/RiscPC/Iyonix running the latest nightly build should have no compatibility issues.

All of which just leaves Disc Error 21 to resolve? ie specifically SATA->IDE adapters and any SD adapter or CF that doesn't control -IOCS16. This will entail a hardware solution, the details of which have yet to be worked out.

User avatar
danielj
Posts: 5344
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: Disc Error 20/21/23 and SATA->IDE support

Postby danielj » Thu Nov 30, 2017 9:17 am

Let me run some tests on my a3020 over the weekend. I believe that's not listening to the line...

d.

sirbod
Posts: 736
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Disc Error 20/21/23 and SATA->IDE support

Postby sirbod » Thu Nov 30, 2017 10:30 am

I've attached an updated ADFS 2.68 as the previous version was missing all of its * commands.

lcww1
Posts: 23
Joined: Wed Mar 15, 2017 11:16 pm

Re: Disc Error 20/21/23 and SATA->IDE support

Postby lcww1 » Thu Nov 30, 2017 8:35 pm

This is really fantastic news - I’ll be very glad to test out the updated ADFS over the weekend - and many thanks for all your work on RO3.11, it’s much appreciated

lcww1
Posts: 23
Joined: Wed Mar 15, 2017 11:16 pm

Re: Disc Error 20/21/23 and SATA->IDE support

Postby lcww1 » Sun Dec 03, 2017 10:03 pm

sirbod wrote:Can I assume from the one person that's downloaded the pre-patched ADFS268, that all the SD/CF compatibility issues pre RiscPC are now resolved?


I've tested ADFS268 on my A3020 this evening - I can confirm that this modified ADFS is working nicely with all the CF cards that I've got, including some *inexpensive* fleabay 512Mb Cisco CF cards that I could never previously get to work on any RISC OS system. I've also tested the following CF cards in the A3020 with ADFS268: a pair of Sandisk 512Mb cards, a Lexar Platinum 40x 512Mb, and a Transcend 80x 512Mb - all working, though my tests have not been exhaustive. In the case of the Cisco, and Transcend cards, these previously failed with Disc error 23, but ADFS268 has fixed this problem.

With ADFS268, the A3020 has been happily running two CF cards, both attached to the internal IDE connector, as master and slave, in a dual CF card to IDE adapter.

Many thanks again to sirbod for this great work! =D>


Return to “hardware”

Who is online

Users browsing this forum: No registered users and 5 guests