📄 fdc.h
字号:
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 + -