by geezerbuttz » Thu Jul 18, 2024 3:01 am
ok , i have been quiet for bit i know:
I have been working on the linux core code , It works , but it has revealed some issues that needed to be addressed.
I was successfully able to nibble single sectors of the disk , getting a good map layout, but when grouping those readable sectors back together in MTR , it would fail to read a group of blocks that previously had passed.
With that I wrote a verification routine in the linux app , and that yet again , when reading a group of sectors would also fail .
After a lot of observation , it seems that if the drive tries to read data faster than it is designed to do , or the OS requests a faster speed than the medium can handle , the drive will start to report errors on the larger block read.
In the linux app I have enabled the ability to set the read speed , and have found that a flat x4 is the sweet spot for this.
Of course , in MTR I have to implement the same now , and Im not sure how to go about that ( ioctrls i guess )
On A side not I installed ( after much swearing ) linux Mint on a seperate HD yesterday to boot for , instead of running virualy. First thing I found after installing GNUstep ( open step replacement ) was that the frameworks are different , and there fore I needed to re compile the app. Next , I found that the recovery of the DVDDrive had dropped to 12 seconds , verses the VM linux mint install of 6seconds.
So , instal linux in a VM for this , it seems to have better recovery performance. Of course this could just be the Kernel in the newer version of mint.
So , im testing a nasty right now....
What we now have is a triple layer of jump assistance in the linux app.
First we look at the Ifo , and see if we can calculate the next EndOfCell Jump. If that fails we check the SRI table store , and see if we can jump over towards the end of cell ( SRI table is relative withing the current cell ) , if that fails we drop down to reading 16 blocks , then , once we can read again , rewind back until we fail again.
This gives us a good approximation.
I can later give an option , to reprocess Corrupt blocks in a single sector probe to give any sectors within them change to be read.
That of course will take a very long time.....
.. The last point , is , Im thinking to port this accross to the Mac , minus the ability to disable drive retries , as we cant do that.
The overall code is very good....
All these apps will be included in the MTR Family Package , that will come with the installer / download.
G
When poor people support the rich , the Devil laughs......