It may very well depend on how the HDD was set up originally.<p>Before the HDDs had Integrated Drive Electronics (IDE), it required you to add an interface card to one of your ISA slots which you then connected the HDD to.<p>Each HDD factory had a documented CHS geometry for their products, but it didn't take long for this to no longer try to represent the actual physical geometry on the platters any more.<p>Either way, you set the jumpers on the interface card for that particular geometry according to the documentation, and that was the only way to correctly address the sectors in the most reliable way, if at all.<p>With the arrival of IDE, the interface card was no longer needed because that logic was handled inside the HDD after that, and motherboards arrived with built-in connections for HDDs, not only floppies any more.<p>You would set the HDD geometry in BIOS and all seemed OK until CMOS corruption occurred from something like a power surge, when the setting reverted to default.<p>The IDE got smarter in tandem with the BIOS's advances, and eventually the default "automatic" BIOS setting was smart enough to correctly pick up the effective geometry. Whether the HDD was flexible enough to have been commissioned with something other than its "native" geometry or not. By this time almost all new HDDs were, but the older PIO-0 HDDs were still the most abundant, and for people moving it to a new motherboard this made it work seamlessly most of the time.<p>Once LBA came out it was layered on top of that but you still had fixed CHS options in BIOS if you wanted it. Otherwise CHS was handled automatically as established. Never was exactly the same under every BIOS.<p>With a lesser USB adapter it may or may not be able to pick up geometry correctly, depending on how the data appears. And it can still be various different things, detecting and utilizing the structure found on the HDD, or re-partioning and formatting a HDD that still contains its previous data like that and having layout & structure come out the same, or not quite. But setting up a completely zeroed HDD may not end up with the same CHS as any of that either. In that situation the factory geometry prevails since there is nothing other than zeros to autodetect data structure from.<p>To avoid this I still do like to zero (the first 100mb at least) of the HDD first, <i>remove it from all power for at least an hour</i> to allow internal capacitors which store any non-default geometry to discharge, then partition & format on a vintage Intel-based PC with highly compatible BIOS.<p>That drive will then be more compatible with anything it connects to, but if a zeroed HDD was commissioned from USB to start it still can be just fine.<p>Booting is another thing to layer on, then you may or may not have to pay attention to sector alignment in addition to geometry, even if plain storage use works there are other obstacles to booting that may come up.<p>Now it does seem like the only advantage of a something like a Pi in the process would not be more helpful to access data from a properly established old HDD, but maybe one of the only ways to set up an old HDD using something other than that HDDs inbuilt default. But this was to be avoided back then too, it was better to have the HDD set up as default rather than unique "custom" CHS which amounts to "weird" and after that it may not be possible to connect to anything else and be recognized.<p>Unless you can manually set CHS in BIOS to match, which a USB adapter won't let you do anything you want like BIOS. A Pi could substitute for that but it was never really a good idea, mainly useful to set a non-default CHS on one drive to match the default CHS on an established drive when both are plugged into the same motherboard.<p>If I was being very skeptical, I would say it's possible the coder didn't even know that USB adapters exist. Prompted his AI to come up with one and this is the first untested draft.
Thanks for trying to educate the young whippersnappers about hard drives, but a lot of this rambling seems entirely off-topic.<p>>Unless you can manually set CHS in BIOS to match, which a USB adapter won't let you do anything you want like BIOS. A Pi could substitute for that but it was never really a good idea, mainly useful to set a non-default CHS on one drive to match the default CHS on an established drive when both are plugged into the same motherboard.<p>USB hard drives act as SCSI block devices, they don't have a CHS geometry and sectors are addressed by a single number (LBA=Linear Block Address).<p>Again: the purpose of this device is to connect an OLD HARD DISK to a MODERN COMPUTER. Not the other way around! If you plug it in and try to boot from with a BIOS / UEFI CSM that supports this, it will make up a CHS geometry based on the total number of sectors, instead of using the (real or translated) one that the drive actually uses and reports in its "IDENTIFY DEVICE" response. Because it's connected over USB and behaves like any other USB mass storage device.<p>That may well lead to problems when booting DOS from a drive that was formatted in some other machine, because the MBR will not use the same geometry. But that's not what this is for.<p>>If I was being very skeptical, I would say it's possible the coder didn't even know that USB adapters exist.<p>From the second paragraph in the readme: «« While cheap, modern adapters usually only work with newer "LBA" type drives, ATAboy works all the way back to the earliest CHS only, PIO Mode 0, ATA disks. »»
Good to get your message. Upvote for sure.<p>There were a lot of "non-standard" elements to work around through time, since there wasn't actually a real standard. More info can always help from many viewpoints and experiences and still not cover it all, young or old the more that have something to give as well as something to learn is a winning combination :)<p>The CHS values are still present in the partition table along with LBA equivalent, SCSI or not. Only with MBR layout though, not GPT. Some systems have never paid attention to CHS, some have never stopped. Like different forms of DOS.<p>Which is why a proper USB adapter is intended to just work with a PIO-0 HDD, and usually does unless the data layout on the old drive is so uncommon to be the kind of edge case that would be a show-stopper when connected to a vintage ATA motherboard too. That would require the unique CHS to be manually set in the BIOS to conform to a "custom" layout that was so non-mainstream for some reason when the old HDD was set up.<p>Then you had "drive overlays" which can get even more challenging when you're connecting old HDDs to newer PCs so often it makes you blue in the face :)