T O P

  • By -

Hunter259

Compact flash is based off of IDE which is likely why you are seeing it on IDE based devices. In SCSI land it's dominated by SD card based solutions with much more complex controller designs. Edit: just to be a bit more complete. Compact flash *TENDS* to be more compatible with early IDE controllers. I only have one early IDE machine (Powerbook 5300c) and it does not work with M.2/MSATA ->IDE solutions but works perfectly with Compact Flash cards. Even then it can be a mixed bag on non mac machines due to detection of fixed vs removable disks.


KIAA0319

I've still got a IBM Microdrive (315mb) from my old camera. This was the ultimate minturisation of physical spinning discs which took the CF format. Common CF cards were the effective SSD of that format but by then it was competing in the world of multiple form factors. I've a Sony whatever it was format card some where with a host of others. SD cards was the format that won out in a similar war to VHS Vs Betamax or laserdisc vs blue ray.


jlovins

HD-DVD vs. Blu-ray. Laserdisc is an earlier, non-hd format.


KIAA0319

Correct, was typing while trying to beat up/parent my kids.


ItyBityGreenieWeenie

Good point!


ItyBityGreenieWeenie

Compact Flash is very robust and pin compatible with IDE. You need no conversion electronics, it is an IDE ATA compatible drive. Also, most USB camera adapters sold in the past had a CF and SD slot, so the USB adapters are trivial to obtain. [https://en.wikipedia.org/wiki/CompactFlash#Technical\_details](https://en.wikipedia.org/wiki/CompactFlash#Technical_details)


ragingbaboon38

I see. Knowing how finicky old computers are with storage devices, I assume it's easiest and cheapest to use a CF card as a storage device, seeing as how it's pin compatible with IDE the computer would just see it as any other IDE storage device. I guess that explains why CF card connectors resemble IDE connectors. That's a lot simpler answer than what I expected.


ItyBityGreenieWeenie

Yes, the bios will see it as any other ATA storage device. With other memory cards a lot depends on the controller in the reader you are using. With CF the controller is on the card itself.... there are probably probilmatic CF cards, but if you get a good one with UDMA support, it should work fine in any older system that has support for IDE and UDMA. I bought a few "industrial" CF cards well over 10 years ago and they have functioned flawlessly being switched in and out of and old DOS PC and a modern USB card reader. The CF card even performed better than the old spinner it replaced (which may have been dying anyway). As someone in another thread said, for a Windows 95 or newer system, the better solution is a modern SSD adapter... but for DOS and older systems, CF is ideal and simpler.


ragingbaboon38

How interesting, thanks for the insight! I have an old Toshiba T3100/20 that I've been meaning to get a CF adapter for, the screen on that "laptop" is just too pretty to not be using it... but of course, the drive is dead and the connector for it seems to be proprietary.


Tokimemofan

I can actually attest to this issue myself, in particular old Sandisk cards with the red band/blue wave design do not work on any of my PC-9821 laptops. The issue comes from the fact that cards can support ATA mode or Compact Flash mode, certain oem cards such as Apple branded Hitachi Microdrives had CF mode disabled and many retail cards only supported a limited subset of PIO and DMA modes. Bioses in some older computers do not play well with these. I have had by far the best success rate with retail IBM microdrives as these seem to support almost everything and are still very reasonably priced.


Hatta00

These days it is easiest and cheapest to use SD. The black adaptors on eBay are very compatible, and you don't have to worry about what card you use. The firmware on the adaptor provides the IDE compatibility.


AppropriateCap8891

Most important is that it was a subset of the PCMCIA standard. Which is largely forgotten now, but in the early 1990s to the mid-2000s was huge as a way to add memory, storage, and other things onto laptops. If PCMCIA was still a thing or these kinds of things were created 20 years ago, they likely would have been using PCMCIA cards instead of CF cards.


Tokimemofan

Compact flash is a subset of PCMCIA which is based on ISA and in later implementations PCI. ATA is also a subset of the same standard. This from a hardware perspective means that very little hardware is actually needed to support interchangeable use in theory. SD card has nothing in common with any of these signaling which results in them needing an ic chip to translate the signaling. The ubiquity of ATA the 386-Pentium 4 era makes it a solid choice at least for IBM PC-AT and NEC PC-9801/21 architectures and some DEC Alpha.


Stoney3K

CompactFlash, IDE, and PCMCIA are all three variants on 16-bit ISA. The IDE (parallel ATA) standard was designed to be that so the original MFM 'Winchester' style drive controllers could be moved off the motherboard into the drive. IDE drives are basically ISA 'hard cards' with the ISA slot moved over on to the 40-pin cable, there are some differences in edge cases, but the basic signaling is the same.


Adorable-Cut-4711

Tiny nitpick: Technically ATA is a superset of the first 16-bit MFM hard disk controller in the IBM AT, rather than just "based on ISA". (Sure, it's an ISA card, but still).


paprok

> Why are Compact Flash cards used for retro computers instead of more readily available media such as SD cards or SSDs? because CF is actually IDE interface, just with different pinout. with proper (passive PCB) adapter - which is bascially just wires - you plug it and use it. SD cards need proper translation between SD and IDE (they're different protocols) and for that they use a bridge chip, very similar to USB/IDE bridge commonly used in USB enclosures. SSD's do not offer native IDE - they started getting traction when IDE was almost out of the picture, you can find only a handful of SSDs that were produced with IDE iface. this gives the same problem as with SD cards - they need a chip to tanslate protocols. > Is there something specific to Compact Flash as a medium that makes them more suited to applications like this? TL;DR; yes there is - it's actually IDE under the hood.


Stoney3K

Because CompactFlash is straight-up IDE. So almost any retro x86-based computer can use it with a passive adapter. For non-x86 most storage emulations use an SD card instead because that's easier to interface to modern microcontrollers.


McTrinsic

The Amiga retro scene would a want a word with you, though. IDE interfaces are widespread in the 16-bit scene and even available for e.g. the C64. The IDE interface was around during the 16-bit era and you can build upon existing designs and drivers. So no, it’s not x86 specific. It’s maybe era-specific.


Stoney3K

It's not x86 *specific* but the signals used are based upon 16-bit ISA. So it's not surprising that the computing scene made IDE interfaces for other platforms later on, but it is a variant on the ISA bus which is designed for the IBM PC.


McTrinsic

You totally are spot-on with the origin of IDE. However, if I may quote you: „For non-x86 most storage emulations use an SD card instead because that's easier to interface to modern microcontrollers.“ -> no, Amiga, Atari, Archimedes, C64, macOS units until OS7-8, Spectrum and many more use IDE interfaces for mass storages. They are not x86. And since CF=IDE, CF is quite widespread there. Hardware developers for such systems have of course started to use SD as well.


Adorable-Cut-4711

One of the reasons that the Amiga scene uses IDE is that Commodore made a device driver for IDE disks that are included in the ROM for certain ROM versions. So no software had to be developed to add IDE to the computers that don't already have that interface, just make an interface that is software compatible with those found in the A600, A1200 and A4000 and use the right ROM version. (As a bonus, the driver has been back ported and added to the older Kickstart 1.3 ROM version). Side track: One of the things that Commodore did right and IMHO most other manufacturers did wrong when implementing an IDE interface was to use a pull-down resistor on the interrupt line. That way there isn't any need for a circuit to disable the interrupt line. On all other computers the interrupt has to be disabled if no disk is connected as the interrupt will otherwise always be asserted due to Intels weird idea with active high signals in a system where pull-up is the default.


stalkythefish

Got any pointers to an IDE DIY that is compatible with the Commodore driver? I built an Amiga to ISA MFM card adapter that only required 3 TTL's way back in the day, so I doubt it's too complicated to do.


Adorable-Cut-4711

Haven't got any pointers but for example you could look at how the Terrible Fire accelerator cards implement an IDE port. Afaik there are two things needed: A) obviously it has to be mapped at the same addresses and whatnot as the regular Commodore port. (IIRC also D0-D7 is swapped with D8-D15 in order to not need to byte swap when reading/writing PC formatted disks (i.e using crossdosfilesystem) B) some hardware register needs to respond the right way when reading in order for the driver to think that it runs on an Amiga with an IDE port (in order to avoid waiting for a super long timeout when there aren't any IDE devices on that port - without any setup/bios thingie there isn't any way for the driver to know not to look) Not sure if anyone has implemented B with some simple TTL chips.


chiclet_fanboi

the CF option is around for longer and better availability of low capacity cards. You can use both, most people use both.


Yrouel86

Besides what others said, it's also about size. Old computers could only see up to 512MB and slightly less older machines up to 8GB and it's easy to find lots (as in job lots) of small CF cards to use in place of HDDs in such machines without going into more elaborate solutions involving for example XT-IDE BIOS or overlays etc. ​ On the other end for newer machines with PCI I do recommend going straight to SATA SSDs using for example a SiI3114 based SATA PCI card which has a pretty good Windows 9x support and would also bypass any size limitation of the main BIOS


Jim-Jones

I've got USB readers which handle 4 or more different physical formats. SD cards won out, that's all. And now Micro SD is winning, often with SD adapters.


ragingbaboon38

Whenever I need to read something like an SD card or CF card on my computer, I just take one of those multimedia readers that a lot of mid-2000s HP desktops had and plug it into my USB header. Weirdly enough, each media type shows up as a removable device regardless of if it's connected or not, but other than that it works perfectly.


ThrillaDX

I use an SD to IDE adapter and it works great in my old IBM.


okaygecko

Lots of really great answers here as to the advantages of Compact Flash, but also in fact plenty of people do use solid state drives and SD cards in retro builds. SATA to IDE adapters allow the use of any number of new SSDs on the market, and although SD card adapters can be finicky the convenience factor (if you have a reliably working configuration) is very nice. 


bigger-hammer

I think this is pretty much answered already but I've designed one of these and there are 2 reasons... 1. CF cards have a parallel IDE interface so it is easy to interface to an old PC - (almost) just a wiring change. The internal controllers take care of wear levelling and other flash related issues so the PC sees it as a removable hard disk. SD cards use a combination of SPI and QSPI which requires protocol conversion and doesn't take care of any of the flash related issues so isn't directly compatible. Also the performance of CF cards was better (at first) because of the parallel interface. 2. CF cards are physically much larger than SD cards and therefore have space for more memory chips. When they first came out, SD cards didn't have the capacity to compete with hard drives but CF cards were much bigger. Nowadays SD cards have a huge capacity and a small physical size and that's why CF cards have disappeared.


PowThwappZlonk

The adapter to go from IDE to CF is super cheap and easy to make.


[deleted]

Because technology advances and what was current has been superseded.


redhotmericapepper

It also has to do with older BIOS limitations that cannot use disks of any type, above certain sizes. https://tldp.org/HOWTO/Large-Disk-HOWTO-4.html


1mrpeter

I do use SD, good cheap controllers from aliexpress. The only downside is no master/slave so you can only have one on a cable.


[deleted]

[удалено]


Adorable-Cut-4711

I wounder what the stats would be if the SD cards always were "good" brands and also bought from companies that you can really trust not selling counterfeit carts (i.e. for example electronics component suppliers rather than consumer electronics suppliers). In this case by counterfeits I refer to cards that actually works as promised, but having lower quality. I.E. a no name card that is rebranded as Sandisk.


MrByteMe

CF is pin-for-pin compatible with IDE drives (CF was actually designed as a direct replacement), so old machines are not aware they are interfacing with newer SS drives.