📄 msd.h
字号:
#define MOUSE_MFGR_MICROSOFT 1
#define MOUSE_MFGR_PC_MOUSE 2
#define MOUSE_MFGR_LOGITECH 3
/* Other Adapter strings */
extern PSZ paszOtherTitles[];
#define OTHER_GAME_ADAPTER 0
#define OTHER_JOY_A_X 1
#define OTHER_JOY_A_Y 2
#define OTHER_JOY_A_BUTTON_1 3
#define OTHER_JOY_A_BUTTON_2 4
#define OTHER_JOY_B_X 5
#define OTHER_JOY_B_Y 6
#define OTHER_JOY_B_BUTTON_1 7
#define OTHER_JOY_B_BUTTON_2 8
#define OTHER_SOUND_DEVICE 9
#define OTHER_SOUND_IRQ 10
#define OTHER_SOUND_PORT 11
extern PSZ pszGameAdapter;
extern PSZ pszDetected;
extern PSZ pszNotDetected;
/* Disk Drive strings */
#define DISK_DRIVE_COL 2
#define DISK_TYPE_COL 7
#define DISK_EXTRA_INFO_COL DISK_TYPE_COL + 2
#define DISK_FREE_SPACE_COL 45
#define DISK_TOTAL_FREE_COL 57
#define MAX_DRIVES_PER_LINE 4
extern PSZ pszDiskHeader;
extern PSZ pszDiskUnderline;
extern PSZ pszCylinders;
extern PSZ pszHeads;
extern PSZ pszBytesPerSector;
extern PSZ pszSectorsPerTrack;
extern PSZ pszCommaSpace;
extern PSZ pszJoinInstalled;
extern PSZ pszSubstInstalled;
extern PSZ pszShareInstalled;
extern PSZ pszAssignInstalled;
extern PSZ pszAssign;
extern PSZ pszAppendInstalled;
extern PSZ pszAppendPath;
extern PSZ pszMscdexInstalled;
extern PSZ pszMscdex1x;
extern PSZ pszLastdrive;
extern PSZ pszMscdex;
extern PSZ paszDriveTypes[];
/* LPT strings */
extern PSZ pszLptHeader1;
extern PSZ pszLptHeader2;
extern PSZ pszLptUnderline;
#define LPT_PORT_COL 0
#define LPT_PORT_ADDR_COL 8
#define LPT_ON_LINE_COL 18
#define LPT_PAPER_OUT_COL 26
#define LPT_I_O_ERROR_COL 34
#define LPT_TIME_OUT_COL 42
#define LPT_BUSY_COL 50
#define LPT_ACK_COL 58
/* COM strings */
extern PSZ pszComHeader;
extern PSZ pszComUnderline;
extern PSZ psz1point5;
extern PSZ pszNA;
extern PSZ pszOn;
extern PSZ pszOff;
extern PSZ paszComTitles[];
extern PSZ paszUartChips[];
extern PSZ paszParityDesc[];
#define MAX_COM_TITLES 10
#define MAX_COM_PORTS 4 /* Maximum number of COM ports detectable */
#define COM_TITLE_WIDTH 21 /* Length of longest title string */
#define COM_INFO_COL_WIDTH 11 /* Distance between columns */
#define MAX_COM_INFO_LINE (COM_TITLE_WIDTH + (COM_INFO_COL_WIDTH * MAX_COM_PORTS))
/* Maximum COM info line length */
#define COM_PORT_ADDRESS 0
#define COM_BAUD_RATE 1
#define COM_PARITY 2
#define COM_DATA_BITS 3
#define COM_STOP_BITS 4
#define COM_CARRIER_DETECT 5
#define COM_RING_INDICATOR 6
#define COM_DATA_SET_READY 7
#define COM_CLEAR_TO_SEND 8
#define COM_UART_CHIP 9
/* IRQ data */
extern WORD rwIrqRecordTypes[];
extern PSZ paszPcIrqDescriptions[];
extern PSZ paszAtIrqDescriptions[];
extern PSZ pszIrqHeader;
extern PSZ pszIrqUnderline;
#define IRQ_ADDRESS_COL 5
#define IRQ_DESCRIPTION_COL 16
#define IRQ_DETECTED_COL 34
#define IRQ_HANDLED_BY_COL 54
extern PSZ pszCom[];
extern PSZ pszBIOS;
/* TSR strings */
extern PSZ pszTsrHeader;
extern PSZ pszTsrUnderline;
extern PSZ pszFreeMemory;
extern PSZ pszDosSystemArea;
extern PSZ pszCommandCom;
extern PSZ pszCommand;
extern PSZ pszExcludedUmbArea;
extern PSZ pszVideoRom;
extern PSZ pszHardDiskRom;
extern PSZ pszOptionRom;
extern PSZ pszVideoRam;
extern PSZ pszDosSystemCode;
extern PSZ pszDosSystemData;
extern PSZ pszDeviceAppenage;
extern PSZ pszFileHandles;
extern PSZ pszFCBS;
extern PSZ pszBuffers;
extern PSZ pszDirectories;
extern PSZ pszStacksArea;
extern PSZ pszIntTable;
extern PSZ pszRomDataArea;
extern PSZ pszDosDataArea;
#define TSR_ADDRESS_COL 22
#define TSR_SIZE_COL 29
#define TSR_CMD_LINE_COL 37
/* Device driver strings */
extern PSZ pszDeviceHeader;
extern PSZ pszDeviceUnderline;
extern PSZ pszBlockDevice;
#define DEV_FILENAME_COL 14
#define DEV_UNITS_COL 24
#define DEV_HEADER_COL 31
#define DEV_ATTRIBUTE_COL 42
/* File Viewer strings */
extern PSZ pszDot;
extern PSZ pszDotDot;
extern PSZ pszPathNotThere;
/* Global String Arrays */
extern PSZ paszButtonNames[];
#define MAX_BUTTON_NAME_LEN 14
extern PSZ paszMainBtnArray[];
extern PSZ paszCommandLineHelp[];
extern PSZ paszMsdTitleLines[];
extern PSZ paszCustInfoTitle[];
/* Summary area */
#define MAX_SUMM_INFO 18
#define SUMMARY_ALIGN MAX_BUTTON_NAME_LEN + 2
/********************************************************************/
/* Data Structures */
/********************************************************************/
/* MSD Header Structure */
typedef struct _MSD_HEADER
{
CHAR chMsdVersion[15]; /* MSD Version number 2.00.00xx */
} MSD_HEADER;
#define MAX_CUST_INFO_TITLES 8
#define MAX_CUST_INFO 50
/* Customer data array */
typedef struct _CUSTINFO
{
CHAR chCustInfo[MAX_CUST_INFO_TITLES][MAX_CUST_INFO + 1];
} CUSTINFO;
#if CW_INCLUDED
extern CUSTINFO *pCustInfoDlg; /* Customer information for the dialog box */
#endif
/* Summary structure */
typedef struct _SUMMARY_STRUCT
{
/* Storage for the summary info strings */
CHAR szSumStrings[NMBR_OF_RECORDS * 2][MAX_SUMM_INFO + 5];
} SUMMARY_STRUCT;
extern SUMMARY_STRUCT *pSum;
/* Computer structure */
#define MAX_BIOS_MFGR 25
#define MAX_COMPUTER_NAME 25
#define MAX_BIOS_VERSION_LEN 50
#define MAX_BIOS_VERSION_STRINGS 3
#define MAX_BIOS_DATE 9
#define MAX_BIOS_CATEGORY 32
#define MAX_PROCESSOR 18
#define MAX_KEYBOARD_TYPE 15
#define MAX_BUS_TYPE 15
typedef struct _COMPUTER_STRUCT
{
WORD wComputerName; /* Computer Name (numeric) */
CHAR szComputerName[MAX_COMPUTER_NAME]; /* Computer Name (string) */
WORD wBiosMfgr; /* BIOS mfgr's name (numeric) */
CHAR szBiosMfgr[MAX_BIOS_MFGR]; /* BIOS mfgr's name (string) */
CHAR aszBiosVersion[MAX_BIOS_VERSION_STRINGS][MAX_BIOS_VERSION_LEN];
/* BIOS version */
WORD wBiosCategory; /* BIOS Category (numeric) */
CHAR szBiosCategory[MAX_BIOS_CATEGORY]; /* BIOS Category (string) */
WORD wComputerClass; /* XT - AT - PS/2 classification */
BOOL fConfigCallSupported; /* TRUE if config call supported */
BYTE bComputerType; /* Computer type byte */
BYTE bSubModel; /* Computer Submodel */
BYTE bRevisionLevel; /* BIOS revision level */
CHAR szBiosDate[MAX_BIOS_DATE]; /* BIOS date */
WORD wProcessor; /* Type of processor (numeric) */
CHAR szProcessor[MAX_PROCESSOR]; /* Type of processor (string) */
WORD wCoProcessor; /* Type of coprocessor (numeric) */
CHAR szCoProcessor[MAX_PROCESSOR]; /* Type of coprocessor (string) */
WORD wKeyboardType; /* Keyboard type (numeric) */
CHAR szKeyboardType[MAX_KEYBOARD_TYPE]; /* Keyboard type (string) */
WORD wBusType; /* Type of BUS (numeric) */
CHAR szBusType[MAX_BUS_TYPE]; /* Type of BUS (string) */
BOOL fFixedDiskUsesDMA3; /* Fixed Disk BIOS uses DMA #3 */
BOOL fCascadeIntLvl2; /* Cascaded interrupt 2 (IRQ2) */
BOOL fRealTimeClock; /* TRUE: real time clock present */
BOOL fDmaChipPresent; /* TRUE if DMA chip is present */
WORD wExtAreaSeg; /* Segment of extended BIOS area */
WORD wExtAreaLen; /* Length of extended BIOS area */
} COMPUTER_STRUCT;
/* Address - Length structure: Used in obtaining computer names */
typedef struct _ADDR_LENGTH
{
DWORD dwAddress; /* Address to search */
WORD wLength; /* Length of search */
} ADDR_LENGTH;
#define GET_COMPUTER_NAME 1
#define GET_BIOS_MFGR 2
#define GET_VIDEO_NAME 3
#define GET_VIDEO_MODEL 4
/* Memory structures */
#define ZERO_SEGMENT 0x0000 /* The first segment of memory */
#define SEGMENT_INC 0x0400 /* The amount to increment the segment address by */
#define START_OFFSET 0x0000 /* The starting offset within the current segment */
#define ENDING_OFFSET 0x4000 /* The ending offset within the current segment */
#define OFFSET_INC 0x0400 /* The amount to increment the offset by */
#define TEST_VALUE1 0x4A /* The first test value used to test for RAM */
#define TEST_VALUE2 0x4B /* The second test value used to test for RAM */
#define NUM_OF_ROWS 64 /* The number of rows in the memory map */
#define NUM_OF_COLS 17 /* The number of columns in the memory map plus */
/* to hold an ending null char for winWrtStrnAttrib */
#define RAM 0 /* Value returned by RamRomWomCheck for RAM */
#define ROM 1 /* Value returned by RamRomWomCheck for ROM */
#define WOM 2 /* Value returned by RamRomWomCheck for WOM */
#define SEARCH_LENGTH 1024 /* The number of bytes for RamRomWomCheck to check */
#define SIXTEEN_KB 0 /* Specify a memory browse on a 16K block */
#define SIXTYFOUR_KB 1 /* Specify a memory browse on a 64K block */
#define FIRST_MB 2 /* Specify a memory browse on the first meg */
#define DISPLAY_RAM 176
#define DISPLAY_ROM 219
#define DISPLAY_WOM ' '
#define DISPLAY_EMS 'P'
#define DISPLAY_USED_UMB 'U'
#define DISPLAY_FREE_UMB 'F'
#define DISPLAY_FREE_XMS_UMB 'X'
#define DISPLAY_NOT_CERTAIN 250
#define REPORT_RAM '#'
#define REPORT_ROM 'R'
#define REPORT_WOM ' '
#define REPORT_EMS 'P'
#define REPORT_USED_UMB 'U'
#define REPORT_FREE_UMB 'F'
#define REPORT_FREE_XMS_UMB 'X'
#define REPORT_NOT_CERTAIN '.'
typedef struct _DPMI_STRUCT
{
unsigned long ulLrgBlkFreeBy; /* Largest available block in bytes */
long lMaxUnLockPg; /* Maximum unlocked page allocation */
unsigned long ulMaxLockPg; /* Maximum locked page allocation */
unsigned long ulTotLinPg; /* Total linear address space in pages */
unsigned long ulTotUnLockPg; /* Total number of unlocked pages */
unsigned long ulTotPhysFreePg; /* Total number of free physical pages */
unsigned long ulTotPhysPg; /* Total number of physical pages */
unsigned long ulTotLinFreePg; /* Total number of free linear pages */
unsigned long ulSizeFilePg; /* Size of paging file/partition in pages */
unsigned long ulReserved[3]; /* Reserved */
} DPMI_STRUCT;
typedef struct _MEMORY_STRUCT
{
/* Conventional and extended memory information */
long lConv_Mem; /* Amount of conventional RAM, bytes */
long lFree_Conv_Mem; /* Amount of free conventional memory, bytes */
int iCMOSExtended; /* Amount of CMOS installed extended memory, Kbytes */
int iExt_Mem; /* Amount of extended RAM, Kbytes */
/* Expanded (EMS) information */
int iEmm_Is_There; /* EMM driver present. 1 = Yes, 0 = No */
int iEmm_Ver_Err; /* Error getting EMM version, 0 = no, <> 0 = error code */
int iEmm_Size_Err; /* Error getting EM size, 0 = No, <> 0 = error code */
int iEmm_VersionMajor; /* Major version of the EMM driver */
int iEmm_VersionMinor; /* Minor version of the EMM driver */
int iTotal_Emm_Pages; /* Number of 16K expanded memory pages */
int iFree_Emm_Pages; /* Number of free 16K expanded memory pages */
int iPageFrameAddress; /* The segment address of the EMS page frame */
int iLIM40Functionality; /* Whether or not LIM 4.0 mappable pages were detected. 1 = yes, 0 = no */
/* XMS memory information */
int iXmm_Is_There; /* XMM driver present, 1 = Yes, 0 = No */
int iLargest_Free_Xm; /* Largest free extended memory block bytes */
int iTotal_Free_Xm; /* Total free extended memory blocks, bytes */
int iXmm_Free_Err; /* Error getting largest and/or total free XM blocks, 0 = no, <> 0 = error code */
unsigned char uchXmm_Spec_VersionMajor; /* Major version of the XMM spec being used */
/* stored as a hex value */
unsigned char uchXmm_Spec_VersionMinor; /* Minor version of the XMM spec being used */
/* stored as a hex value */
unsigned char uchXmm_Driver_VersionMajor; /* Major version of the XMM driver */
/* stored as a hex value */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -