Всегда вспоминайте что размер архива держит изображение данных по Floppy Disk должен быть точно 1.474.560 байтами потому что флапи-диск имеет 80) следов (0 до 79, 2 сторонами или головками (головка 0 и головка 1), каждый след имеют 18 участков на ем и владениях каждого участка 512 байта данных, таким образом
Полные байты = (количество следов) * (количество головок) * (количество участков в след) * 512
= 80*2*18*512
= 1.474.560 байт
Таким образом, если будет любая ошибка в читать на любом участке Floppy Disk, то он изменит размер архива от 1.474.560 байт, которые сделают всю информацию вполне или частично of no use для диска назначения на котором мы идем написать участок изображения диска участком от этого архива.
Это так потому что компьютер читает информацию любого архива на поверхности средств Floppy Disk внутри ряд участка по мере того как он был размещан в своем блоке распределения. Теперь если изменены, то участки данных архивов, полная информация архива изменена.
Думать для разрешения ошибкы считывания sector(s)
По возможности с плохим или нечитабельным флапи-диском что он может иметь такую плохую зону на своей поверхности что мы не можем мочь прочитать информацию от поверхности диска.
В этом условии информация этой воли sector(s), котор мы прыгнули и изображение флапи-диска будет передернуто даже для других участков по мере того как размер архива изображения in this case отличает от 1.474.560 байт.
Для поддержания размера архива изображения и для того чтобы наклеить остальнои информации на точно положениях участка на диске назначения, мы пишем некоторую другую информацию именем первоначально данных 512 байт и в этой дороге, мы будем способны для того чтобы сохранить остальнои информации однако, котор спасение в такой случай может быть частичное излечение.
Если ваша система также не сумеет прочитать первый участок флапи-диска источника, то после наклеивать изображение к флапи-диску назначения вы должны побежать программа описанная перед, для того чтобы перезаписать показатель ботинка dos флапи-диска.
Препятствуйте нам увидеть как мы можем сделать его путем программировать:
#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];
|