Скачиваний:
38
Добавлен:
01.05.2014
Размер:
2.84 Кб
Скачать
#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);
}
Соседние файлы в папке BOOTSHOW