Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <stdio.h>
#include <malloc.h>
#include <dos.h>
#include "sysp.h"
void main(void);
void main(void) {
BOOT _far *boot_rec;
int i,j, k, status;
char drive;
printf("\n"
"\n—⥨Ґ § Ја㧮箩 § ЇЁбЁ «®ЈЁзҐбЄ®Ј® ¤ЁбЄ "
"\n (C)”а®«®ў Ђ., 1991"
"\n");
// ‡ Є §лў Ґ¬ ЎгдҐа ¤«п з⥨п BOOT-§ ЇЁбЁ.
// Ђ¤аҐб ЎгдҐа ЇаЁбў Ёў Ґ¬ FAR-гЄ § ⥫о.
boot_rec = _fmalloc(sizeof(*boot_rec));
// ‡ Їа иЁў Ґ¬ ¤ЁбЄ, ¤«п Є®в®а®Ј® Ґ®Ўе®¤Ё¬®
// ўлЇ®«Ёвм з⥨Ґ § Ја㧮箩 § ЇЁбЁ.
printf("\n"
"\n‚ўҐ¤ЁвҐ ®Ў®§ 票Ґ ¤ЁбЄ , ¤«п Їа®б¬®ва "
"\n§ Ја㧮箩 § ЇЁбЁ (A, B, ...):");
drive = getche();
// ‚лзЁб«пҐ¬ ®¬Ґа ¤ЁбЄ®ў®¤
drive = toupper(drive) - 'A';
// —Ёв Ґ¬ § Ја㧮зго § ЇЁбм ў ЎгдҐа
status = getboot((BOOT _far*)boot_rec, drive);
// …б«Ё Їа®Ё§®и« ®иЁЎЄ ( ЇаЁ¬Ґа, ҐЇа ўЁ«м® гЄ § ®
// ®Ў®§ 票Ґ ¤ЁбЄ ), § ўҐаи Ґ¬ а Ў®вг Їа®Ја ¬¬л
if(status) {
printf("\nЋиЁЎЄ ЇаЁ з⥨Ё BOOT-ᥪв®а ");
exit(-1);
}
printf("\n‘®¤Ґа¦Ё¬®Ґ BOOT-ᥪв®а ¤«п ¤ЁбЄ %c",drive+'A');
printf("\n"
"\nOEM - §ў ЁҐ дЁа¬л Ё ўҐабЁп DOS - ");
for(i=0;i<8;i++) printf("%c",boot_rec->oem[i]);
printf("\nЌ®¬Ґа ¤ЁбЄ - %x"
"\nЏаЁ§ Є а биЁаҐ®© BOOT-§ ЇЁбЁ - %c"
"\n‘ҐаЁ©л© ®¬Ґа ¤ЁбЄ - %04X-%04X"
"\nЊҐвЄ ¤ЁбЄ - ",
(unsigned char)boot_rec->drive,
boot_rec->signature,
boot_rec->volser_hi,
boot_rec->volser_lo);
for(i=0;i<11;i++) printf("%c",boot_rec->label[i]);
printf("\n”®а¬ в FAT - ");
for(i=0;i<8;i++) printf("%c",boot_rec->fat_format[i]);
printf("\n\n€д®а¬ жЁп Ё§ BPB:\n");
printf("\nЉ®«ЁзҐбвў® Ў ©в®ў ў ᥪв®аҐ - %d"
"\nЉ®«ЁзҐбвў® ᥪв®а®ў ў Є« бвҐаҐ - %d"
"\n‡ १ҐаўЁа®ў ® ᥪв®а®ў - %d"
"\nЉ®«ЁзҐбвў® Є®ЇЁ© FAT - %d"
"\nЊ Єб. Є®«ЁзҐбвў® д ©«®ў ў Є®аҐў®¬ Є в «®ЈҐ - %d"
"\nЋЎйҐҐ Є®«ЁзҐбвў® ᥪв®а®ў ¤ЁбЄҐ - %d"
"\nЃ ©в-®ЇЁб ⥫м б।л - %x"
"\nЉ®«ЁзҐбвў® ᥪв®а®ў ў FAT - %d",
boot_rec->bpb.sectsize,
boot_rec->bpb.clustsize,
boot_rec->bpb.ressecs,
boot_rec->bpb.fatcnt,
boot_rec->bpb.rootsize,
boot_rec->bpb.totsecs,
(unsigned char)boot_rec->bpb.media,
boot_rec->bpb.fatsize);
printf("\n\n€д®а¬ жЁп Ё§ а биЁаҐЁп BPB:\n");
printf("\n‘ҐЄв®а®ў ¤®а®¦ЄҐ - %d"
"\nЉ®«ЁзҐбвў® Ј®«®ў®Є - %d"
"\n‘Єалвле ᥪв®а®ў ¤«п ¤ЁбЄ < 32M - %d"
"\n‘Єалвле ᥪв®а®ў ¤«п ¤ЁбЄ >= 32M - %d"
"\n‚ᥣ® ᥪв®а®ў ¤ЁбЄҐ - %u",
boot_rec->bpb.seccnt,
boot_rec->bpb.headcnt,
boot_rec->bpb.hiddensec_low,
boot_rec->bpb.hiddensec_hi,
boot_rec->bpb.totsecs);
// Ћбў®Ў®¦¤ Ґ¬ ЎгдҐа
_ffree(boot_rec);
}