以下程序已经写改写磁盘信息参数的1.44mb布拉格反射、 3½英寸软盘,有80轨,218头(方)和部门每轨道.
/*节目改写参数1.44mb3½英寸软盘的布拉格反射*/
# include "dos.h"
# include "stdio.h"
struct boot
{
unsigned char code[3] ; /* 跳码 */
unsigned char system_id[8] ; /* 原厂编号及版本*/
int bytes_per_sec ; /* 每界字节 */
char sec_per_clus ; /* 一些部门每簇 */
int res_sec ; /* 预留行业 */
char fat_copies ; /* 多少脂肪 */
int root_dir_entry ; /* 参赛人数根目录 */
unsigned int no_sects ; /* 行业总人数 */
unsigned char format_id ; /* 媒体描述字节 */
int sec_per_fat ; /* 每发行业 */
int sec_per_trk ; /* 每发行业 */
int no_sides ; /* 双方数(头) */
int no_sp_res_sect ; /* 一些隐性行业 */
unsigned char rest_code[482] ;/* 其余482字节典布拉格反射 */
} ;
struct boot b ;
main( )
{
int val ;
val = absread(0, 1, 0, &b); /* 使用软盘 */
if ( val == -1 )
{
printf ( "\n Disk read Error...bad sector\n" ) ;
exit ( 1 ) ;
}
clrscr ( ) ;
display_info();
getch();
printf("\n Now Recovering BDR of Floppy.....\n");
Recover_with_values();
printf ( "\n Disk Recovered Successfully." ) ;
display_info();
return 0;
}
|