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 has been announced, lots of people have come out of the woodwork with other fun potential use cases, such as CD-ROM replacement in arcade cabinets and the Dreamcast, and hard drive replacement in multitrack recorders and samplers.
How does the PicoIDE compare with the ZuluIDE? Are they direct competitors or are there different use cases?
I've been on the fence about getting a ZuluIDE for a while because of the price and because I don't exactly need one... I'll wait and see how the PicoIDE is priced.
This is really cool. I'm glad people are out there making this stuff even if I'll never have a use for it.
What are the use cases for this? I'm guessing retro computing and possibly very old machines tied to very obsolete hardware that can't be virtualized (e.g. manufacturing controls).
This is most useful for retrocomputing, and that’s gonna be the target demographic.
While it’s true that industrial and manufacturing sometimes have really old hardware, that’s usually less due to them not having newer options and more due to preferring something tried and true (it “just works” for their workflow) or the sheer economics of upgrading; in most of those cases, there’s already a flow for interfacing with newer technology (FTP or USB 1.0/2.0 commonly). So this device wouldn’t offer much benefit, if any.
Tangential question: does anyone know if there's a ~similar device to replace/upgrade a Toshiba T1100's floppy drive?
A friend found a T1100 for me and I'm just trying to think of the best way to boot it. Alternatively... I could get a USB floppy disk drive and a fresh floppy, and write old-school DOS to it, at least to get started?
There is a Gotek floppy emulator hardware, about $50 USD.
A USB floppy drive will be cheaper, maybe $20.
I think the T1100 has standard 34-pin IDC connector, but Plus variant uses 26-pin so the Gotek will need an adapter (and probably doesn't fit cleanly).
I'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.
It took so long because IDE _is_ good old PC AT ISA bus with all of its warts. History wall of text:
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.
>"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."
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.
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.
I can only say that from purely user/tinkerer POV (not some low-level system programmer) the best memory of IDE/PATA I have is when the PCs have finally moved on to SATA/AHCI. Phew.
This is really cool! I like the attention to detail on the front panel, it's something I'd be proud of showing on a carefully built retro PC. I could see using this over CF to IDE adapters which work well but this is a cleaner solution.
Good luck with your launch, I'll be happy to order one!
Personally I think the half-melted (literally) rough 3D-printed look is rather ugly, and would prefer a stamped steel plate --- like this (floppy emulator): https://lotharek.pl/productdetail.php?id=28
On the contrary, I think you’ve done a fantastic job with the enclosure. Far from looking “half melted”, you’ve made good use of the bed texture, and the design is top notch.
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 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.
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.
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
The annoying part of .ccd files is the lack of support in the specifications for DPM data. It was officially used just for some old Karaoke machines and VDJing mixers, but more importantly for retrogaming aficionados, it was used by SecuROM and Starforce copy protections.
Can't think of an open format with support for that, IIRC not even CHD files store them.
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.
I'm by no means an expert on Starforce and friends, I'm just bringing attention to a nifty tool many I suspect aren't aware of. Also to highlight that CDEMU should support all these subchannel and stuff in CCD and others - maybe you right and this itself should make the protection algo happy, provided the image file is correct and comprehensive. It's just that I vaguely remember Cdemu had some specific protection options, but I might be wrong here.
Well sounds like I may have jumped the gun yet again. I managed to nab a IDE Simulator v3 by Tattiebogle in Sept. Maybe I should have waited for this. This has happened to me before so I wonder if maybe word got out that this was coming so others got their products out asap?
I wouldn't worry too hard about it, if you need something, you don't need a potential something. Until something is released and being sold/distributed, it's not something you should necessarily consider a real option.
Don't be too hard on yourself. We've all bought hardware that saw alternatives come out, or extreme price drops before we get around to using it. Right now, I'm just glad I bought a couple nvme drives before the recent pricing bumps. Similar for my desktop upgrade earlier in the year.
Thanks. I just find it happening to myself more and more recently. It happened with N64 HDMI adapters, Gamecube ODEs, and even Mini PCs. I'd follow youtubers only to discover that better solutions came out right afterwards. I don't have time to follow the deep forums 24/7 and so I guess I am at a disadvantage because everything from blogs to forum posts to youtube is probably just disguised marketing at this point.
Yeah I just heard about the RAM price hikes today. Congrats on nabbing something you needed at the right time. I guess I should just celebrate when I do get some wins.
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 has been announced, lots of people have come out of the woodwork with other fun potential use cases, such as CD-ROM replacement in arcade cabinets and the Dreamcast, and hard drive replacement in multitrack recorders and samplers.
How does the PicoIDE compare with the ZuluIDE? Are they direct competitors or are there different use cases?
I've been on the fence about getting a ZuluIDE for a while because of the price and because I don't exactly need one... I'll wait and see how the PicoIDE is priced.
The price will definitely be lower, and another difference is that PicoIDE will be entirely open firmware and hardware, while ZuluIDE is not.
Good to hear. Thanks for replying.
ZuluIDE uses FPGA, PicoIDE is beautiful $1 rp2350 + buffers.
rp2040/rp2350 are the best things that raspberry pi ever released. From bitbanging HDMI to 400Msps logic analyzers https://github.com/gusmanb/logicanalyzer?tab=readme-ov-file#...
<inconsequential webpage bug report> First few images link to the full size version of the _next one_ </inconsequential webpage bug report>
Thanks. Fixed!
You moved up to IDE while Im playing with RLL and investigating EDSI and SMD :) https://github.com/raszpl/sigrok-disk
You know, with couple differential transceivers on a daughterboard you could support everything this https://www.drem.info does :)
[dead]
This is really cool. I'm glad people are out there making this stuff even if I'll never have a use for it.
What are the use cases for this? I'm guessing retro computing and possibly very old machines tied to very obsolete hardware that can't be virtualized (e.g. manufacturing controls).
This is most useful for retrocomputing, and that’s gonna be the target demographic.
While it’s true that industrial and manufacturing sometimes have really old hardware, that’s usually less due to them not having newer options and more due to preferring something tried and true (it “just works” for their workflow) or the sheer economics of upgrading; in most of those cases, there’s already a flow for interfacing with newer technology (FTP or USB 1.0/2.0 commonly). So this device wouldn’t offer much benefit, if any.
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
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.
Tangential question: does anyone know if there's a ~similar device to replace/upgrade a Toshiba T1100's floppy drive?
A friend found a T1100 for me and I'm just trying to think of the best way to boot it. Alternatively... I could get a USB floppy disk drive and a fresh floppy, and write old-school DOS to it, at least to get started?
Thanks!
There is a Gotek floppy emulator hardware, about $50 USD.
A USB floppy drive will be cheaper, maybe $20.
I think the T1100 has standard 34-pin IDC connector, but Plus variant uses 26-pin so the Gotek will need an adapter (and probably doesn't fit cleanly).
https://archive.is/gFVNm (medium post, shows the adapter)
https://github.com/keirf/FlashFloppy/issues/549 (somebody had issue with high 5V rail causing Gotek to not work)
Thank you, I really appreciate it!
You can also do stuff like https://github.com/acemielektron/fddEMU if you want a custom form factor.
Here's some more information: https://www.hackster.io/news/ian-scott-s-picoide-turns-a-ras...
Based on RP2350. Perhaps because RP2350 provides more GPIO pins?
I'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.
It took so long because IDE _is_ good old PC AT ISA bus with all of its warts. History wall of text:
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.
I can only say that from purely user/tinkerer POV (not some low-level system programmer) the best memory of IDE/PATA I have is when the PCs have finally moved on to SATA/AHCI. Phew.
Oh my god this is like the ODE (optical drive emulators) that people use on retro consoles!
This is really cool! I like the attention to detail on the front panel, it's something I'd be proud of showing on a carefully built retro PC. I could see using this over CF to IDE adapters which work well but this is a cleaner solution.
Good luck with your launch, I'll be happy to order one!
Personally I think the half-melted (literally) rough 3D-printed look is rather ugly, and would prefer a stamped steel plate --- like this (floppy emulator): https://lotharek.pl/productdetail.php?id=28
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.
On the contrary, I think you’ve done a fantastic job with the enclosure. Far from looking “half melted”, you’ve made good use of the bed texture, and the design is top notch.
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 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.
totally reasonable, the cost tradeoffs on these types of products seems very challenging
Where, out of interest?
The one you linked looks ugly. Horrible seams, odd and too-long red buttons, unaligned slots.
Hopefully this can work on PS2-based Namco System 246 systems, would be amazing if it can.
Where can I find the picoIDE schematics & code? All I find is picoGus.
The repo will be made public when the hardware is launched. Should be a few weeks.
Is 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.
have you tried this on a pci-e ide adapter yet?
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
The annoying part of .ccd files is the lack of support in the specifications for DPM data. It was officially used just for some old Karaoke machines and VDJing mixers, but more importantly for retrogaming aficionados, it was used by SecuROM and Starforce copy protections.
Can't think of an open format with support for that, IIRC not even CHD files store them.
MDF/MDS isn't open, but could possibly be reverse-engineered enough to read the DPMS data.
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.
I'm by no means an expert on Starforce and friends, I'm just bringing attention to a nifty tool many I suspect aren't aware of. Also to highlight that CDEMU should support all these subchannel and stuff in CCD and others - maybe you right and this itself should make the protection algo happy, provided the image file is correct and comprehensive. It's just that I vaguely remember Cdemu had some specific protection options, but I might be wrong here.
Beautiful piece of hardware. Thanks
Well sounds like I may have jumped the gun yet again. I managed to nab a IDE Simulator v3 by Tattiebogle in Sept. Maybe I should have waited for this. This has happened to me before so I wonder if maybe word got out that this was coming so others got their products out asap?
I wouldn't worry too hard about it, if you need something, you don't need a potential something. Until something is released and being sold/distributed, it's not something you should necessarily consider a real option.
Don't be too hard on yourself. We've all bought hardware that saw alternatives come out, or extreme price drops before we get around to using it. Right now, I'm just glad I bought a couple nvme drives before the recent pricing bumps. Similar for my desktop upgrade earlier in the year.
Thanks. I just find it happening to myself more and more recently. It happened with N64 HDMI adapters, Gamecube ODEs, and even Mini PCs. I'd follow youtubers only to discover that better solutions came out right afterwards. I don't have time to follow the deep forums 24/7 and so I guess I am at a disadvantage because everything from blogs to forum posts to youtube is probably just disguised marketing at this point.
Yeah I just heard about the RAM price hikes today. Congrats on nabbing something you needed at the right time. I guess I should just celebrate when I do get some wins.
[dead]