05-11-2012 07:12 AM
I have an OEM application that uses Sandisk CF cards. The latest batch failed in the application, but I found that if I absolutely forced it to reformat from scratch, I could get the cards to work. Further investigation found that on the original cards, the boot sector (0) did NOT begin with the traditional "0xEB 0x3C 0x90" jump instruction. Instead, that information was located at sector 1, 512 bytes later. Windows XP does not appear to have any issues with this format, but I've been unable to find any reference on the Internet that supports this format. I'd like to know a guaranteed way to locate this information properly from my source application.
It seems an interesting side note that if I tell Windows XP to format the card, it retains this structure wherein sector 1 contains the jump instruction. But if I force raw writes to the card to overwrite the formatting, and THEN tell Windows XP to format the card, it puts the jump instruction in sector 0.
Any clues as to how I can definitively find the boot sector and BPB structure when it's located somewhere other than sector 0 ?
05-14-2012 05:26 AM
Okay, I understand now why the application doesn't like the new format. My question now is whether there's a utility out there that will force reformatting of the cards to put the BPB in the first sector, or allow raw writes to the card under Windows XP.