Very interesting. So there are SD cards which have a MBR and others that don't have it? How can one identify one type vs the other? Is it totally a software thing or is there some "hardware interference" that sets to one type or the other= ? If it's a software thing, just by rewriting the first 2 sectors (MBR) then we can set the type as we wish. Does a MBR-type SD card REALLY allow multiple partitions? When I did some experiments in this regard (SD not SDHS) I think they all failed, at least on Windows. Like if it pretended it to be a partition already, not a disc, even if I made a custom MBR for it. Last but not least, if I get a SD which is MBR-type (or convert one to it, if it's even possible (hardware registers/flags?)), and make it bootable, can I run a OS from it (through a USB-SD adapter)? Greets, Mario At 02.49 2011.11.08, you wrote: >IVP wrote: >> Hi all >> >> Until recently I've been using a couple of unbranded 4GB cards that >> format with a Boot Sector at address 0x000000, directory starting at >> 0x761000 and first file data at 0x762000 >> >> Now I've tried a couple of Strontium cards (half the price) and find >> that the Boot Sector is at 0x400000, directory at 0xBAE000, first >> file data at 0xBAF000 >> >> 0x000000 to 0x761000 =3D 3b08 sectors, and 8 sectors to first file >> 0x400000 to 0xBAE000 =3D 3d70 sectors, and 8 sectors to first file >> >> Between 0x000000 and 0x4000000 is all zeroes, except for this at >> 0x1c0 (d448) >> >> 03 01 0b 2e ee e7 00 20 00 00 00 d8 7a 00 00 00 >> =20 >Looks like your card has a "master boot record" with a partition table=20 >and then has the fat filesystem on a partition. > >http://en.wikipedia.org/wiki/Master_boot_record > >The first partition table entry starts at 0x1be and is 16 bytes long=20 >(there are places for three more entries) > >So your table entry is > >00 00 03 01 0b 2e ee e7 00 20 00 00 00 d8 7a 00 > >decoding that according to the table at we get > >00: non bootable partition >00 03 01: chs start of partition, you can ignore this and use the LBA valu= es >0b: parition type: "fat32 with CHS addressing" >2e ee e7 : chs end of partition again you can ignore this >00 20 00 00: start LBA sector of partition =3D sector 0x2000 =3D byte offs= et=20 >0x400000 >00 d8 7a 00: length of partition =3D 0x7ad800 sectors =3D 0xF5B00000 byte= s >> The directory listing of the card in XP looks perfectly normal, but how >> does XP know where to find the Boot Sector ? I've got fatgen.doc and >> see no special mention of location 448. 0x400000 would be the 0x400th >> cluster (@ 512 bytes x 8) >> >> If 0x000000 to 0x3FFFFF is reserved, how is that communicated to >> the PC ? I need to know so I can read any card with a dsPIC >> >> Alternatively, can I force the format to put the Boot Sector at 0x000000= ? >> >> TIA >> >> Joe >> =20 > >--=20 >http://www.piclist.com PIC/SX FAQ & list archive >View/change your membership options at >http://mailman.mit.edu/mailman/listinfo/piclist --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .