LisaList2
General Category => LisaList2 => Topic started by: AlexTheCat123 on May 14, 2023, 02:44:53 pm
-
I'm in the middle of making some upgrades to the ArduinoFile's ProFile tester mode and I'm having a bit of trouble interpreting the results of the Init Spare Table command for the 5MB ProFile when fitted with the LLF Z8 ROM. I know that, upon completion of the command, the data buffer will contain a byte giving info about each bad sector (if any) that was found while creating the spare table, but how is this list terminated? The Format and Scan commands terminate their lists of bad blocks with FF FF FF FF, but I'm not quite sure how Init Spare Table terminates things. Does anyone have any insight here?
-
... I'm having a bit of trouble interpreting the results of the Init Spare Table command for the 5MB ProFile.... Does anyone have any insight here?
I think Patrick (https://lisalist2.com/index.php?action=profile;u=29) is possibly the only expert.
semi-related: I think it was Patrick that suggested BLU be modified to make a larger spare table when circumstances required it, but I haven't tried to figure out how that is done. Any pointers?
-
I think Patrick is possibly the only expert.
Yeah, that's kind of what I was expecting. Hopefully he can give me some advice!
I think it was Patrick that suggested BLU be modified to make a larger spare table when circumstances required it, but I haven't tried to figure out how that is done. Any pointers?
That's a good question! I'm not quite sure how that would be done because it would probably require modifications to the drive's firmware to make it recognize and utilize a larger spare table and the host OS would probably also need to be modified in order to utilize this change. So, unless I'm missing something obvious, I think it would be a pretty complicated modification!
-
Init Spare Table returns the number of bad spare table copies in the last status byte. There are 32 of them, which means two full tracks are used for duplicates of the spare table! A bit paranoid, the much more fragile Widget maintains only two spare table copies.
Status is all zero if no errors occurred.
The RAM buffer contains the adresses of the faulty blocks with the head in the upper nibble and the sector in the lower nibble. Head number is modulo 1, i.e the first spares track on surface 2 is reported as $0x and the second on surface 3 as $0y. There is no delimiter, so you have to use the drive status to get the number of bytes to be evaluated.
-
Thanks Patrick! That's just what I needed!