EIDE在PC上的规范

作者:陆麟
转载请征得作者同意.
1999.12.5



1F0H->1F8H为IDE1的地址.170H->178H为IDE2的地址.下面列出的以IDE1为准.IDE2只需相应偏移对应就可.

1F0H R/W 16位数据寄存器.用于对扇区读写格式化操作.

1F1H R   8位错误寄存器,表述控制器在诊断和操作状态下的错误原因.
    诊断方式:
        代码    意义
        10H     无错误
        2H      控制器错
        3H      数据缓冲区错
        4H      ECC电路错
        5H      控制器处理器错
        8XH     从驱动器诊断代码
    操作方式:
        仅当状态寄存器的ERR位为1有效.
        位0:    地址标志没有找到
        位1:    0磁道错
        位2:    命令放弃ABORT
        位3:    介质改变请求
        位4:    ID没有找到
        位5:    介质改变
        位6:    ECC错误
        位7:    坏扇区

1F1H W   8位,在ST506里,表述写预补偿起始柱面号.平时一般没用.

1F2H R/W 8位扇区数寄存器.记录读写命令的扇区数.当多扇区操作时,完成一扇区操作,就减一.如果初始为0,    表示256.

1F3H R/W 8位扇区号寄存器.读写,校验命令起始扇区号.如果为LBA方式.记录逻辑扇区号0字节.

1F4H 1F5H R/W 记录读写,校验,寻道和格式化命令指定的柱面号.低8位在1F4,高8位在1F5H.如果LBA方式,包    涵逻辑扇区的1,2字节.

1F6H R/W 记录读写,校验,寻道和格式化命令指定的驱动器号,磁头号和寻址方式.
        位0-位3:    磁头选择.LBA方式下.逻辑扇区的最高4位.
        位4:    驱动器选择.0=主驱动器.1=从驱动器.
        位5:    1.
        位6:    LBA选择. 0=CHS,1=LBA.
        位7:    1.

1F7H R    8位.状态寄存器.
        位0:    ERR位.
        位1:    IDX.索引信号收到
        位2:    尽管发生错误,但是可以纠正.
        位3:    请求服务.驱动器希望通过数据寄存器和处理器交换1字节数据.
        位4:    寻道结束
        位5:    写失败
        位6:    驱动器未就绪
        位7:    驱动器忙
1F7H W    8位.命令寄存器.
        关键的命令有:
        50H    格式化磁道
        C4H    多扇区读
        20H    读扇区
        E8H    写扇区缓冲区
        C5H    多扇区写
        30H    写扇区
        ECH    获取HD的各种参数.