superg / redumper

Low level CD dumper utility
GNU General Public License v3.0
187 stars 17 forks source link

Add HL-DT-ST BD-RE BH16NS55 1.02 as an ASUS 3MB cache drive variant #91

Closed TheMuso closed 9 months ago

TheMuso commented 9 months ago

This ASUS drive variant is also supported and works with DiscImageCreator. Happy to provide anything else you would like for verification. I've tested with mixed mode, data, and audio CDs without issue.

superg commented 9 months ago

Are you sure that cache size is 3Mb? (there is a way to verify that)

TheMuso commented 9 months ago

I actually used a log from a DiscImageCreator dump to look up what it was. The log showed 2942KB.

superg commented 9 months ago

Sorry but I don't trust DIC, there is no way to detect this automatically so it's likely defined statically somewhere in DIC sources.

ASUS cache stores sectors in a circular buffer, if leadout sectors do not wrap around, the problem will not be detected and there will be ocassional missing sectors so I don't want to take chances.

To check that properly, you will need to dump any disc with --drive-type=LG_ASU8, this will just tell redumper to interpret cache as 8Mb. There will be .asus file created in the dump directory, load that file in any hex editor and search for the repeating sequence of first bytes. Let's say, search the 8 first bytes from that file and see the 2nd match offset - that offset will be a total cache size and this is possible because address is just wrapping around the internal cache size.

Alternatively you can just attach here 8Mb .asus file from your dump and I can check it myself. Will just need a confirmation and I will merge your change in.

TheMuso commented 9 months ago

Ok thanks for that bit of info.

It may be an 8MB drive after all. Taking your suggestion of checking for the reoccurrance of the first 8 bytes into account, I was only able to find one reference, at the top of the file. I've attached the asus file so you can double check. In the meantime, I've updated my commit accordingly.

Thanks again.

test.zip

superg commented 9 months ago

Huh, this gets more interesting, just checked your flash dump. It looks like the flash size is at least 8Mb but the cached sectors amount is 3Mb in this case.

I attached decoded cache subchannel output, mainly for my reference but check it out if you're curious. (first number is entry index in the file. (+) means that subchannel crc matches and this is valid entry. See 0 and 1069 entry, MSF wraps around there) lg8_3.txt

1070 entries would still be LG_ASU3 type so I'd ask you to resubmit your original 3Mb pull request and sorry for the hassle ;) In any way, it's good to know that there are more flash combinations there and hopefully I haven't missed anything here.

TheMuso commented 9 months ago

Thanks for checking, better to get it right.

Reverted to 3MB, and force pushed.

Thanks.

TheMuso commented 9 months ago

Sorry, that was my fault. Forgot to git add. :S I wish git commit --amend reminded of such things. :)

superg commented 9 months ago

No worries, that was a quick change!