88 lines
1.4 KiB
C
88 lines
1.4 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1991 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
flo_data.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This file includes data and hardware declarations for the BIOS
|
|||
|
disk and floppy.
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Shie-Lin Tzong (shielint) Dec-26-1991.
|
|||
|
|
|||
|
Environment:
|
|||
|
|
|||
|
x86 real mode.
|
|||
|
|
|||
|
Notes:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// CMOS related definitions and macros
|
|||
|
//
|
|||
|
|
|||
|
#define CMOS_CONTROL_PORT 0x70 // cmos command port
|
|||
|
#define CMOS_DATA_PORT 0x71 // cmos data port
|
|||
|
#define CMOS_FLOPPY_CONFIG_BYTE 0x10
|
|||
|
|
|||
|
//
|
|||
|
// The length of CBIOS floppy parameter table
|
|||
|
//
|
|||
|
|
|||
|
#define FLOPPY_PARAMETER_TABLE_LENGTH 28
|
|||
|
|
|||
|
//
|
|||
|
// The CM_FLOPPY_DEVICE_DATA we use here is the newly updated one.
|
|||
|
// To distinguish this, we set the version number in the CM_FLOPPY_DEVICE_DATA
|
|||
|
// to 2. (Otherwise, it should be < 2)
|
|||
|
//
|
|||
|
|
|||
|
#define CURRENT_FLOPPY_DATA_VERSION 2
|
|||
|
|
|||
|
extern USHORT NumberBiosDisks;
|
|||
|
|
|||
|
//
|
|||
|
// External References
|
|||
|
//
|
|||
|
|
|||
|
extern
|
|||
|
BOOLEAN
|
|||
|
IsExtendedInt13Available (
|
|||
|
IN USHORT DriveNumber
|
|||
|
);
|
|||
|
|
|||
|
extern
|
|||
|
USHORT
|
|||
|
GetExtendedDriveParameters (
|
|||
|
IN USHORT DriveNumber,
|
|||
|
IN CM_DISK_GEOMETRY_DEVICE_DATA far *DeviceData
|
|||
|
);
|
|||
|
|
|||
|
//
|
|||
|
// Partition table record and boot signature offsets in 16-bit words.
|
|||
|
//
|
|||
|
|
|||
|
#define PARTITION_TABLE_OFFSET (0x1be / 2)
|
|||
|
#define BOOT_SIGNATURE_OFFSET ((0x200 / 2) - 1)
|
|||
|
|
|||
|
//
|
|||
|
// Boot record signature value.
|
|||
|
//
|
|||
|
|
|||
|
#define BOOT_RECORD_SIGNATURE (0xaa55)
|
|||
|
|
|||
|
VOID
|
|||
|
GetDiskId(
|
|||
|
USHORT Drive,
|
|||
|
PUCHAR Identifier
|
|||
|
);
|
|||
|
|
|||
|
|