Программирование видеоадаптеров CGA, EGA и VGA



         

Включаемый файл "SYSP.H" - часть 3


/* Главная загрузочная запись */

typedef struct _MBOOT_ { char boot_prg[0x1be]; PART_ENTRY part_table[4]; unsigned char signature[2]; } MBOOT;

/* Расширенный блок параметров BIOS */

typedef struct _EBPB_ { unsigned sectsize; char clustsize; unsigned ressecs; char fatcnt; unsigned rootsize; unsigned totsecs; char media; unsigned fatsize; unsigned seccnt; unsigned headcnt; unsigned hiddensec_low; unsigned hiddensec_hi; unsigned long drvsecs; } EBPB;

/* Загрузочная запись для MS-DOS 4.01 */

typedef struct _BOOT_ { char jmp[3]; char oem[8]; EBPB bpb; char drive; char reserved; char signature; unsigned volser_lo; unsigned volser_hi; char label[11]; char fat_format[8]; char boot_code[450];

} BOOT;

/* Время последнего обновления файла */

typedef struct _FTIME_ { unsigned sec : 5, min : 6, hour : 5; } FTIME;

/* Дата последнего обновления файла */

typedef struct _FDATE_ { unsigned day : 5, month : 4, year : 7; } FDATE;

/* Дескриптор файла в каталоге */

typedef struct _FITEM_ { char name[8]; char ext[3]; char attr; char reserved[10]; FTIME time; FDATE date; unsigned cluster_nu; unsigned long size; } FITEM;

/* Формат трека для GENERIC IOCTL */

typedef struct _TRK_LY_ { unsigned no; unsigned size; } TRK_LY;

/* Параметры устройства для GENERIC IOCTL */

typedef struct _DPB_ {

char spec; char devtype; unsigned devattr; unsigned numofcyl; char media_type;

EBPB bpb; char reserved[6];

unsigned trkcnt; TRK_LY trk[100];

} DPB;

/* Параметры для форматирования функцией GENERIC IOCTL */

typedef struct _DPB_FORMAT_ {

char spec; unsigned head; unsigned track;

} DPB_FORMAT;

/* Параметры для чтения/записи функцией GENERIC IOCTL */

typedef struct _DPB_WR_ {

char spec; unsigned head; unsigned track; unsigned sector; unsigned sectcnt; void _far *buffer;

} DPB_WR;

/* Идентификатор BIOS */

typedef struct _BIOS_ID_ {

char date[8]; unsigned reserve; char pc_type;

} BIOS_ID;

// Состояние мыши

typedef struct _MOUSE_STATE_ {

unsigned bottoms; unsigned x; unsigned y;




Содержание  Назад  Вперед