⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdc.h

📁 cpc-1631的BSP包for VxWorks操作系统
💻 H
📖 第 1 页 / 共 2 页
字号:
        UCHAR data_length;
	} c_readdeleteddata;
    struct c_readid 
	{
        UCHAR opcode;
        UCHAR cbyte1;
	} c_readid;
    struct c_readtrack 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR data_length;
	} c_readtrack;
    struct c_recalibrate 
	{
        UCHAR opcode;
        UCHAR cbyte1;
	} c_recalibrate;
    struct c_relativeseek 
	{
        UCHAR opcode;
        UCHAR cbyte1;
	} c_relativeseek;
    struct c_scanequal 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR sector_step_size;
	} c_scanequal;
    struct c_scanhighorequal 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR sector_step_size;
	} c_scanhighorequal;
    struct c_scanloworequal 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR sector_step_size;
	} c_scanloworequal;
    struct c_seek 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR cbyte2;
        UCHAR cbyte3;
	} c_seek;
    struct c_sensedrivestatus 
	{
        UCHAR opcode;
        UCHAR cbyte1;
	} c_sensedrivestatus;
    struct c_senseinterrupt 
	{
        UCHAR opcode;
	} c_senseinterrupt;
    struct c_settrack 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR cbyte2;
	} c_settrack;
    struct c_specify 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR cbyte2;
	} c_specify;
    struct c_verify 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR data_length_sector_count;
	} c_verify;
    struct c_version 
	{
        UCHAR opcode;
	} c_version;
    struct c_writedata 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR data_length;
	} c_writedata;
    struct c_writedeleteddata 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR track_number;
        UCHAR drive_head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
        UCHAR end_of_track_sector_number;
        UCHAR intersector_gap_length;
        UCHAR data_length;
	} c_writedeledteddata;
    } FDC_COMMAND;

/* result (result phase) structure definitions */

typedef union fdc_result 
    {
    struct r_justdata 
	{
        UCHAR databytes[32];
	} r_justdata;
    struct r_dumpreg 
	{
        UCHAR registers[10];
	} r_dumpreg;
    struct r_formattrack 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_formattrack;
    struct r_lock 
	{
        UCHAR sbyte1;
	} r_lock;
    struct r_nsc 
	{
        UCHAR sbyte1;
	} r_nsc;
    struct r_readdata 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_readdata;
    struct r_readdeleteddata 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_readdeleteddata;
    struct r_readid 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_readid;
    struct r_readtrack 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_readtrack;
    struct r_scanequal 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_scanequal;
    struct r_scanhighorequal 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_scanhighorequal;
    struct r_scanloworequal 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_scanloworequal;
    struct r_seek 
	{
        UCHAR opcode;
        UCHAR cbyte1;
        UCHAR cbyte2;
        UCHAR cbyte3;
	} r_seek;
    struct r_sensedrivestatus 
	{
        UCHAR status_register_3;
	} r_sensedrivestatus;
    struct r_senseinterrupt 
	{
        UCHAR status_register_0;
        UCHAR present_track_number;
        UCHAR msnofptr;
	} r_senseinterrupt;
    struct r_settrack 
	{
        UCHAR value;
	} r_settrack;
    struct r_verify 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_verify;
    struct r_version 
	{
        UCHAR sbyte1;
	} r_version;
    struct r_writedata 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_writedata;
    struct r_writedeleteddata 
	{
        UCHAR status_register_0;
        UCHAR status_register_1;
        UCHAR status_register_2;
        UCHAR track_number;
        UCHAR head_number;
        UCHAR sector_number;
        UCHAR bytes_per_sector;
	} r_writedeledteddata;
    } FDC_RESULT;

/* register map structure template definition */

typedef struct fdc 
    {
    UCHAR sra;		/* status register A */
    UCHAR srb;		/* status register B */
    UCHAR dor;		/* digital output register */
    UCHAR tdr;		/* tape drive register */
    UCHAR msr_dsr;	/* main-status/data-rate-select register */
    UCHAR fifo;		/* data register (FIFO) */
    UCHAR none;		/* none (bus tristate) */
    UCHAR dir_ccr;	/* digital-input/configuration-control register */
    } FDC;

#ifdef __cplusplus
}
#endif

#endif  /* INCfdch */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -