Del salón en el ángulo oscuro,
de su dueña tal vez olvidada,
silenciosa y cubierta de polvo
veíase el arpa.
Gustavo Adlofo Becquer (Poeta Sevillano 1836-1870)
Primera estrofa de su
Rima VIIPara que no digáis de mí como Becquer decía de la dueña del arpa os confirmo que sigo en la brecha, dándome de cabezazos con la MMC Card.
Y ahora ya tengo una herramienta para navegar por sus entrañas ... y debo decir que está siendo un pequeño-gran suplicio el penetrar en los secretos de la
FAT16. Estos señores de Mocosoft deberían de dejar de fumar cosas prohibidas cuando se ponen a diseñar.
Leyendo, releyendo y volviendo a leer lo publicado por el amigo Ariel/Aitopes llego a la conclusión de que falta algo. Sobre todo en cuestión de direcciones.
Me explico:
En su documento habla del MBR, y como ejemplo utiliza un Diskette, en el que el MBR ocupa el primer sector, primeros 512 bytes del mismo, o sea a partir de la dirección 0x0000. Sin embargo en mi MMC éste comienza a partir de la posición 0x8000. Y en la posición 0x0000 tengo "otra" información de la que no habla su documento.
Sospecho que es la Tabla Maestra de Particiones MPT de la que no disponen los Disquetes pero sí los Discos Duros o asimilados. Sospecho asimismo que ahí está la información necesaria para, después de leerla, encontrar en función de ella, calculándola, la posición del MBR que nos describe Ariel.
Para comenzar todo desde una posición o estado conocido de la MMC Card he procedido a:
1º.- Formatear en XP la tarjeta, sin marcar la opción de formateo rápido, y colocándole la etiqueta de volúmen "
RRMMCCARD"
2º.- Creé en mi PC dos ficheros de Texto con nombres "
RRFILE1.TXT" y "
RRFILE2.TXT" cuyos contenidos sólo difieren en un byte, un "1" en RRFILE1 y un "2" en RRFILE2. El contenido de ambos, salvo ese byte de diferencia, es:
RRFILE1AAAAAAAAA
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEF
0123456789ABCDEFComo véis es muy fácil de detectar su contenido dentro de la MMC Card.
3º.-
Copié y pegué desde mi PC primero el fichero "RRFILE1.TXT" y después el fichero "RRFILE2.TXT"
y 4º.- Me puse al habla con el PIC para estudiar cúal era el contenido de la MMC Card, dónde y qué había colocado los ficheros y la estructura que había utilizado. Para ello hago uso de la nueva versión del
Firmware hace unos días.
Resumiendo, hay
cinco sectores de 512 bytes cada uno de ellos, cuyo contenido parece ser el adecuado. El resultado es el siguiente:
A.- Primer sector. Dirección 0x0000. Tabla Maestra de Particiones.
MPT.
B.- Segundo sector. Dirección 0x8000. Sector de Arranque.
MBR.
C.- Tercer sector. Dirección 0x45000. Tabla de Asignación
FAT. ROOT.
D.- Cuarto sector. Dirección 0x49000. Sector de Datos de File 1.
RRFILE1.TXTE.- Quinto sector. Dirección 0x49200. Sector de Datos de File 2.
RRFILE2.TXTAhora solo queda ver la relación que hay entre todos ellos y a su vez con lo documentado y creo que ya tenemos la estructura que debemos implementar.
Eso es todo por hoy, amigos. Mañana más.