13 comments

[ 3.9 ms ] story [ 37.4 ms ] thread
Aand it's vibe-coded. Nope. There are zillions of PATA USB adapters available on secondary markets that work.
Seems to me from reading the deleted text file[1] like the author[2] used an LLM to get feedback on how to improve their own code. That isn't at all what "vibe-coding" usually means, and I say that as a complete AI hater myself.

Or do you have some "smoking gun" evidence?

I think the setup screen is a really nice touch and not something an AI would come up with.

[1] https://github.com/redruM0381/ATAboy/commit/4e55223acd1c8cdc...

[2] or someone else? it keeps using the phrase "your friend"

“ Some of this firmware code was written with AI assistance. It currently contains an IPC re-entry, and possibly other bugs that could cause the RP2350 to crash under certain circumtstances. ”

Seems like an admission they’ve not really read the code either.

The Raspberry Pi Pico is good for a lot of things; this is not one of them (due to the lack of at least USB 2.0 High Speed). An LPC18xx, LPC43xx or even IMXRT106x would've been a much better choice.
(comment deleted)
or good oldshool USB 2.0 Cypress FX2LP CY7C68013A or its Chinese clone Corebai CBM9002A

cy4611b___usb_2_0_usb_to_ata_reference_design https://www.farnell.com/datasheets/62992.pdf Back around 2005 a lot of USB HDD enclosures used this exact chip.

All the above needs is LBA to CHS translation.

It's a question of what tradeoffs you're willing to make. If you're making a professional product then sure, but I've checked the chips you suggested and the cheapest one available on JLCPCB seems to be the LPC1820FB at $6.5. If you fuck up a revision or two at 5 pieces each that gets expensive rather quickly for a hobby project.

It's a shame really that ULPI is such a complicated interface, at least compared to RMII or SDIO, otherwise you could just buy a high speed USB ULPI phy and use it with the RP2350 via PIO. Eben even mentioned at some point someone working on a PIO ULPI implementation, but I'm assuming that went nowhere because they couldn't make it work reliably.

An alternative approach I've been considering is using a ch32v305 as a "smart" USB-HS bridge, and connecting the RP2350 via SDIO to it. The problem with that of course is you have to implement most of the USB stack on the ch32v305, and the documentation on those chips isn't great to put it mildly.

PATA-SATA adapters, the $3 AliExpress kind, seem to handle CHS fine. I have dumps of 40Mb and 200Mb drives from such adapters.
What interface chip is this? Can you elaborate?
There are also PATA SSD that are a bit more reliable, and fit the standard mount on older laptops. Because some models include several workarounds for older equipment (automatic wear leveling), these can last quite some time even with an OS that never supported SSD (turn off swap when possible).

If it is something important like old equipment, a CompactFlash SLC card with a PATA adapter is a proven solution.

Usually it is better to drop an old OS image into a 86box, and make the recovered backing image read-only. =3

These are entirely different use cases. I already use IDE-SATA adapters, IDE-CF adapters, IDE-SD adapters, FlashFloppy and what not.

ATAboy is about accessing early IDE HDD on current computers.

My question was which usb-ide chipsets are known to handle CHS (and not just LBA).

With a PATA-SATA bridge support for CHS is up to the BIOS / OS

With a USB adapter though it's up to the adapter itself to support that which they generally don't do