Recordar siempre que el tamaño del archivo que lleva a cabo la imagen de los datos de la diskette debe ser 1.474.560 octetos exactos porque el disco blando tiene 80) de las pistas (0 a 79, 2 lados o cabezas (cabeza 0 y cabeza 1), cada pista tiene 18 sectores en él y asimientos de cada sector los 512 octetos de datos, así
Octetos totales = (número de pistas) * (número de cabezas) * (número de los sectores por pista) * 512
= 80*2*18*512
= 1.474.560 octetos
Así, si hay cualquier error en la lectura en cualquier sector de la diskette, cambiará el tamaño del archivo a partir de 1.474.560 octetos, que harán la información entera totalmente o parcialmente inútil para el disco de la destinación en el cual vamos a escribir el sector de la imagen del disco por el sector de este archivo.
Esto está tan porque la computadora lee la información de cualquier archivo en la superficie de los medios de la diskette dentro de la gama del sector pues se ha asignado en su unidad de asignación. Ahora si los sectores de los datos de los archivos se cambian, se cambia la información completa del archivo.
Pensamiento para la solución del error de lectura de los sectores
Es posible con el disco blando malo o ilegible que puede tener tal mala área en su superficie que podemos no poder leer la información de la superficie del disco.
En esta condición la información de esta voluntad de los sectores que saltamos y la imagen del disco blando será torcida incluso para los otros sectores como el tamaño del archivo de la imagen en este caso diferencia a partir de 1.474.560 octetos.
Para mantener el tamaño del archivo de la imagen y para pegar el resto de la información sobre las localizaciones de sector exactas en el disco de la destinación, escribimos una cierta otra información a nombre de los datos originales de 512 octetos y de esta manera, seremos capaces ahorrar el resto de la información sin embargo que la recuperación en tal caso puede ser la recuperación parcial.
Si tu sistema también no puede leer el primer sector del disco blando de la fuente, después de pegar la imagen al disco blando de la destinación debes funcionar el programa descrito antes, para reescribir el expediente del cargador del DOS del disco blando.
Veamos cómo podemos hacerlo programando:
#include <bios.h>
#include <stdio.h>
void main(void)
{
int head,track;
union REGS regs;
int result,i,sector;
char filename[80];
struct diskinfo_t dinfo;
static char dbuf[512];
|