Fun seeing this posted - I'm the creator of the project. While it's meant to be a generic IDE/ATAPI emulator the two main use cases I envisioned for the project are in the area of retro computing: CD-ROM under MS-DOS and Windows 9x, where software-only virtual drive emulation options are lacking or nonexistent, and IDE hard drive emulation on early IDE machines where the drive geometries are fixed. Since the project…
First few images link to the full size version of the _next one_
PicoIDE – An open IDE/ATAPI drive emulator
41–50 of 52 posts
Re: PicoIDE – An open IDE/ATAPI drive emulator
#42Earlier quoted context omitted.
A stamped steel plate is not possible at my planned price point. But one thing I will note is that this 3D printed front panel is only a prototype.
as an aside to anyone else reading this, laser cut and bent sheet metal has gotten pretty cheap and easy, I think you could have an okay (unpainted) tray/case like this made for maybe $5 to $10 at 100 units
That being said, $5-$10 sounds about right (if maybe a little on the high side) for something the size of PicoIDE, but unfortunately that is too much for the price point I want to hit. Affordability is a major target for PicoIDE. And also, WiFi is a feature of the front panel and for that reason, metal is a no-go. The WiFi antenna is at the front of the device to give it the best chance of decent reception, so it needs to be plastic.
Re: PicoIDE – An open IDE/ATAPI drive emulator
#43This seriously just made my day.
Re: PicoIDE – An open IDE/ATAPI drive emulator
#44Re: PicoIDE – An open IDE/ATAPI drive emulator
#45Earlier quoted context omitted.
as an aside to anyone else reading this, laser cut and bent sheet metal has gotten pretty cheap and easy, I think you could have an okay (unpainted) tray/case like this made for maybe $5 to $10 at 100 units
BTW I'm pretty well versed in getting laser cut and bent sheet metal made, both in China and via US-based providers like SendCutSend - my PicoIDE project uses a metal bracket. In fact when so many other projects were using 3D printed brackets, I decided that was not good enough and dove in and did the work to get nice brackets made affordably. It really elevates the project to a higher level of professionalism. That…
Re: PicoIDE – An open IDE/ATAPI drive emulator
#46Earlier quoted context omitted.
I have seen EDM machines with floppy interfaces. A great upgrade for those is a floppy emulator.
I'd never heard of Electrical Discharge Machining. The video is less than two minutes and gives a quick introduction. https://en.wikipedia.org/wiki/Electrical_discharge_machining https://www.youtube.com/watch?v=L1D5DLWWMp8
https://en.wikipedia.org/wiki/Electronic_dance_music
Which kind of makes sense.
Re: PicoIDE – An open IDE/ATAPI drive emulator
#47Earlier quoted context omitted.
I'd never heard of Electrical Discharge Machining. The video is less than two minutes and gives a quick introduction. https://en.wikipedia.org/wiki/Electrical_discharge_machining https://www.youtube.com/watch?v=L1D5DLWWMp8
Interesting, thanks for posting. I never heard of this either and read EDM as https://en.wikipedia.org/wiki/Electronic_dance_music Which kind of makes sense.
Re: PicoIDE – An open IDE/ATAPI drive emulator
#48Is CD-ROM subchannel data accurately emulated for both audio and data modes?
Currently, it implements the ATAPI READ SUB-CHANNEL command and fully supports the current position data format code. Other format codes like ISRC and UPC currently return dummy data, but wiring that up would be pretty straightforward. Supporting image formats like CloneCD's .ccd/.img/.sub that store arbitrary subchannel data also seems doable, but would definitely be more work.
i want one of these for my old 486
but also just went “gee it would be nice to just scroll a menu and select different usb LiveCDs for a lab box” and not constantly switching or losing usb dongles for them
ive done boot loader menus and sooner or later one OS clobbers or screws up the others. so im into the idea of segregating them and using your device to select imgs.
yeah its something i could solve with a PXE environment but then i have external dependencies that change over the years as im moving around and getting different internet providers, home equipment , or using different solutions for dhcp and routing etc. this would work well on an airgapped system even if its been collecting dust on a shelf for a few years
Re: PicoIDE – An open IDE/ATAPI drive emulator
#49I've been waiting on something like this for years, I'm surprised it took so long for someone to do it since there's been those gotek floppy drive emulators and things like bluescsi for forever. This seriously just made my day.
First PC hard drives were Seagate ST-412 with matching MFM controller plugged into 8bit ISA slot of original IBM XT PC. Drive connected to controller in pretty much exact same way as a floppy - signals controlling STEP/DIRection, selecting HEAD/Drive, and finally pre-processed READ/WRITE data in form of impulses (instead of raw analog signal from/to head, https://github.com/raszpl/sigrok-disk for way too much info). This with later ST-506 was enshrined as PC ~standard with all Bioses hardcoding support.
Then came RLL controllers, same thing but with tighter tolerances allowing for denser encoding (7.5Mbit) at same flux rate (5Mhz).
ESDI is where someone said wait a minute, that 30 cm cable transmitting impulses going to/from media mated to random controller is not all that optimal, lets put our highly tuned RLL Endec (encoder/decoder) chip on the drive itself and talk synchronous serial to it. This combined with probably better magnetic media allowed for another boost to flux rate (10-20Mbit) and capacity.
So what do you do when whole PC industry standardizes on one vendors (Seagate ST-412) product? You emulate it. Western Digital, who started making big bucks thanks to 1976 FD1771 floppy controller and later ST-506 compatible solutions, worked since 1984 to glue whole ST-506 ISA controller onto the drive itself and connect it to ISA bus over the ribbon.
It all came together when Compaq started pushing IDE adoption. First with some Compaq Portables using Western Digital WD1003-IWH IDE to MFM adapters screwed into Miniscribe MFM drives, and then mayor 1987 deployment in volume with Conner CP341 (https://www.os2museum.com/wp/can-this-conner-talk/ http://s3.computerhistory.org/groups/ds-conner-cp340-family-...).
>"Compaq bought 90% of Conner’s drive output in 1987, the first year of production. Conner sales went from $10 million in Q1-1987, to $30 million in Q2, and finished 1987 at over $113 million, then over $256 million in 1988. Conner reached $1.337 billion in sales within four years, a record growth for a startup."
In the mean time in 1984 DEC shipped first computer CDROM RRD-50 (Philips LMSI CM100) using weird Philips LMSI synchronous serial interface (https://github.com/AkBKukU/CM153-Repro). Later Sony/Panasonic/Mitsumi opted to copy IDE solution by mating 8 bit parallel bus straight to ISA (https://www.chiark.greenend.org.uk/~theom/electronics/panaso...) visible to computer as four IO mapped ports.
Finally in ~1994 (unclear who first https://www.os2museum.com/wp/the-secret-history-of-atapi/) CDROMS piggybacking on IDE and taking advantage of ATAPI standard started shipping. Packetized SCSI, development again driven by Western Digital! started in 1992, first draft 1993.
As all historical 'it was a good idea at the time' hacks go IDE is not a nice interface. Consider the case of two IDE devices on same ribbon, those are in effect two ISA disk controllers pretending to be _one and the same_ ISA disk controller!
>Device 0 has to act differently depending on whether Device 1 is present; if Device 1 is present, Device 0 has to let it respond to register accesses directed to it, but if there is no Device 1, then Device 0 has to respond to simulate a two-drive controller with no second drive attached.
This use case was only fully standardized in late nineties (https://www.os2museum.com/wp/the-dual-drive-ide-hell/).
--------------------------------------------------------
TLDR: SCSI you have nice synchronous clocks and exchange sane commands. IDE you need to know how to talk to raw PC AT CPU bus. Luckily Polpo is the creator of PicoGus and thankfully got convinced in 2022 to abandon full Raspberry Pi 3 in favor of $5 Pico https://www.vogons.org/viewtopic.php?p=1078867#p1078867 One of my finest retro hobby moments :P
>I assumed you would need pico RP2040 with PIO to respond fast enough. Add ~$2 8MB SPI PSRAM APS6404L and you could do any sound card emulation on pico
>If you can handle ISA then one could do IDE (Gotek like Optical Driver Emulator - Is it possible?) reusing your code
Emulating IDE is the next logical step once you know how to emulate ISA device.
Re: PicoIDE – An open IDE/ATAPI drive emulator
#50Earlier quoted context omitted.
CDEMU/libmirage support both CCD et al and MDF/MDS images. Mixed modes, etc - the whole shebang. How good the copyright protection emulation is I cannot say tho.
I could be utterly wrong on this, but AFAIK the "emulation" in tools like Daemon Tools or Alcohol was only required when the disc image was created with partial or missing DPMS/subchannel data; If the virtual drive provides transparently the required stream the copy protection should be none the wiser on the actual drive emulation.