timw4mail wrote on 2022-07-12, 13:16:
The biggest gotcha is that some CF cards don't have a boot sector. In general, "industrial" CF cards are more likely to work. That said, if you use one of those for a separate data drive, any card should work fine.
Partition, I think they normally have no partition. 😁
When they're shipping pre-formatted from factory, they're formatted with FAT32 and no partition.
Just like it's typical for removable media.
For DOS, that's no problem. It can run off floppies, too, which don't have partitions either.
So if we install DOS on a CF card without reformatting (-I'm thinking of Win98 DOS; doing SYS X: from a DOS window-), it works.
The CF card then is used as a super floppy. Like a bootable ZIP disk.
The Media Bit.. CF cards hold a media bit (low/high or 1/0) that says if a CF card is removable or fixed.
On most consumer cards, it's set to removable and cannot be changed.
The old Sandisk tool nolonger works, likely.
Anyway, from my experience, the state of the bit is totally irrelevant for the card itself. It won't behave any different in either case.
Windows 9x, 3.x or DOS can't read it, because their code base predate it. They don't even know about it.
In practice (to us), only Windows NT based systems do care about it.
That's an annoying situation, but can be circumvented by installing INF files
that make Windows XP think the CF card is an HDD.
https://ubuntuforums.org/showthread.php?t=1020293
Edit: The matter is quite confusing, I admit, because there's no official documentation that explains the things for us retro people.
To complicate the matter even further, CF cards do have three (3!) different modes.
- Native IDE Mode ("True IDE")
- Programmed I/O Mode
- Memory Mapped Mode
http://www.interfacebus.com/CompactFlash_Memo … ule_pinout.html
That's relevant if a CF to PCMCIA adapter is used, for example.
It may not use IDE mode, but one of the other modes.
Or USB card readers.. They likely don't use IDE mode, either.
That's why we see different behaviors with different CF reader types, not sure. 🤷♂️
Edit: I don't know everything, of course and am merely speaking under correction here.
I'm just a tinkerer, after all.
Though seriously, most if not all CF cards I had tested were at least able to boot MS-DOS 6.2x.
The issues I saw all came from buggy BIOSes, broken CF-IDE adapters or weird IDE ports with stability issues.
Some cards also ran more stable with 5v or 3.3v.
For the newer cards, I made sure 3.3v was what they got.
That involved installing two silicon diodes (0.7v drop) in series (3.6v outcome from 5v) in the power cable or
using a fully featured CF adapter with 3.3v voltafe regulator and DMA lines.
And then there's ATA-2 from 1996.. It changed a few bits (pun intended).
Old systems sometimes nolonger can correctly talk/listen to ATA-2 devices and later.
http://www.os2museum.com/wp/how-to-please-wdctrl/
That's why I had to use XTIDE Universal BIOS in a 286.
The CF card would hang the 80s era BIOS. The antique hard disk code in the BIOS stalled after it communicated with a modern CF card.
After disabling the HDD type in CMOS Setup and using XUB, it worked fine.
It was no hardware problem, really.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//