Annotation of coherent/f/usr/include.78/sys/m18hd.h, revision 1.1.1.1

1.1       root        1: /* $Header: /usr/src/sys/i8086/sys/RCS/m18hd.h,v 1.1 88/03/24 17:48:25 src Exp $
                      2:  *
                      3:  * Olivetti M18 Personal Computer
                      4:  * Hard Disk Constants
                      5:  *
                      6:  *                     Allan Cornish, INETCO Systems Ltd., Aug 1984
                      7:  *
                      8:  * $Log:       /usr/src/sys/i8086/sys/RCS/m18hd.h,v $
                      9:  * Revision 1.1        88/03/24  17:48:25      src
                     10:  * Initial revision
                     11:  * 
                     12:  */
                     13: #ifndef M18HD_H
                     14: #define        M18HD_H
                     15: 
                     16: /*
                     17:  * Register Addresses
                     18:  */
                     19: 
                     20: #define        SEL_REG         0x300           /* Select Register (write only) */
                     21: #define        STAT_REG        0x300           /* Status Register (read  only) */
                     22: #define        ENA_REG         0x301           /* Enable Register (write only) */
                     23: #define        DATA_REG        0x302           /* Data   Register (read/write) */
                     24: #define        CMD_REG         0x303           /* Commnd Register (read,write) */
                     25: #define        AUX_REG         0x304           /* Auxiliary Reg   (read  only) */
                     26:  
                     27: /*
                     28:  * Select Register (Write Only)
                     29:  */
                     30: 
                     31: #define        HEAD_SEL(n)     ((n)<<2)        /* Head Select macro            */
                     32: #define        STEP_SEL        0x20            /* Set to step                  */
                     33: #define        STEP_IN         0x40            /* Set to step in               */
                     34: #define        RWC_SEL         0x80            /* Reduced Write Curr           */
                     35:  
                     36: /*
                     37:  * Status Register (Read Only) - bits 6..7 unused
                     38:  */
                     39: 
                     40: #define        DTA_ST          0x01            /* Drive Type, Jumper A         */
                     41: #define        RDY_ST          0x02            /* Drive Ready                  */
                     42: #define        TK0_ST          0x04            /* At Track 0                   */
                     43: #define        WFLT_ST         0x08            /* Write Fault on drive         */
                     44: #define        SKC_ST          0x10            /* Seek Complete                */
                     45: #define        SYNC_ST         0x20            /* Sector Synchronization       */
                     46: 
                     47: /*
                     48:  * Enable Register (Write Only) - bits 0..4 select sector (0..31)
                     49:  */
                     50: 
                     51: #define        READ_ENA        0x20            /* Enable read as next command  */
                     52: #define        ECC_ENA         0x40            /* Enable ecc on next command   */
                     53: #define        WPRE_ENA        0x80            /* Enable write precompensation */
                     54: 
                     55: /*
                     56:  * Auxiliary Register (Read Only) - bits 2..7 unused
                     57:  */
                     58: 
                     59: #define        BUSY_AUX        0x01            /* Drive Busy                   */
                     60: #define        DTC_AUX         0x02            /* Drive Type, Jumper C         */
                     61: 
                     62: /*
                     63:  * Drive Specific Constants
                     64:  */
                     65: 
                     66: #define        NSPT            32
                     67: #define        NHEAD           4
                     68: #define        NCYL            306
                     69: #define        WPCC            64              /* Write Precompensation cyl    */
                     70: #define        RWCC            128             /* Reduced Write Current cyl    */
                     71: 
                     72: /*
                     73:  * Error Returns from hdget(), hdput()
                     74:  */
                     75: 
                     76: #define        ECC_ERR         0x00ff          /* Bad ECC read error mask      */
                     77: #define        SKNC_ERR        0x0100          /* Seek Not Complete Error      */
                     78: #define        BUSY_ERR        0x0200          /* Controller Busy Error        */
                     79: #define        SYNC_ERR        0x0400          /* Synchronization Error        */
                     80: #define        PRFX_ERR        0x0800          /* Bad Prefix Read Error        */
                     81: #define        HEAD_ERR        0x1000          /* Bad Head Read Error          */
                     82: #define        CYL_ERR         0x2000          /* Bad Cylinder Read Error      */
                     83: #define        SEC_ERR         0x4000          /* Bad Sector ID Read Error     */
                     84: #define        NRDY_ERR        0x8000          /* Drive Not Ready Error        */
                     85: 
                     86: 
                     87: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.