Annotation of 43BSDReno/sys/vax/rx50reg.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1988 Regents of the University of California.
        !             3:  * All rights reserved.
        !             4:  *
        !             5:  * This code is derived from software contributed to Berkeley by
        !             6:  * Chris Torek.
        !             7:  *
        !             8:  * Redistribution is only permitted until one year after the first shipment
        !             9:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
        !            10:  * binary forms are permitted provided that: (1) source distributions retain
        !            11:  * this entire copyright notice and comment, and (2) distributions including
        !            12:  * binaries display the following acknowledgement:  This product includes
        !            13:  * software developed by the University of California, Berkeley and its
        !            14:  * contributors'' in the documentation or other materials provided with the
        !            15:  * distribution and in all advertising materials mentioning features or use
        !            16:  * of this software.  Neither the name of the University nor the names of
        !            17:  * its contributors may be used to endorse or promote products derived from
        !            18:  * this software without specific prior written permission.
        !            19:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            20:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            21:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            22:  *
        !            23:  *     @(#)rx50reg.h   7.2 (Berkeley) 6/28/90
        !            24:  */
        !            25: 
        !            26: /*
        !            27:  * RX50 registers.
        !            28:  */
        !            29: 
        !            30: /*
        !            31:  * The names below do not quite match the DEC documentation simply because
        !            32:  * the names in the documentation are so bad.
        !            33:  */
        !            34: struct rx50device {
        !            35:        u_short rxid;           /* identification */
        !            36:        u_short reserved;
        !            37:        u_short rxcmd;          /* command function reg */
        !            38:        u_short rxtrk;          /* track */
        !            39:        u_short rxsec;          /* sector */
        !            40:        u_short rxcsc;          /* current sector */
        !            41:        u_short rxict;          /* incorrect track (???) */
        !            42:        u_short rxext;          /* extend command register */
        !            43:        u_short rxedb;          /* empty data buffer (read) */
        !            44:        u_short rxrda;          /* reset data address */
        !            45:        u_short rxgo;           /* read to start current cmd */
        !            46:        u_short rxfdb;          /* fill data buffer (write) */
        !            47: };
        !            48: 
        !            49: #define        RX50SEC         10      /* sectors per track */
        !            50: #define        RX50MAXSEC      800     /* 10 sectors times 80 tracks */
        !            51: 
        !            52: /*
        !            53:  * Do the sector skew given the sector and track
        !            54:  * number (it depends on both!).
        !            55:  */
        !            56: /*                     (((((s) / 5) + 2 * ((s) + (t))) % 10) + 1) */
        !            57: #define        RX50SKEW(s, t)  (((s) / 5) + "\1\3\5\7\11\1\3\5\7"[((s) + (t)) % 5])
        !            58: 
        !            59: /*
        !            60:  * Values in the command function register.
        !            61:  */
        !            62: #define        RXCMD_ERROR     0x80    /* error bit (composite?) */
        !            63: #define        RXCMD_READ      0x40    /* read command */
        !            64: #define        RXCMD_WRITE     0x70    /* write command */
        !            65: #define        RXCMD_RESET     0x20    /* reset command */
        !            66: #define        RXCMD_DONE      0x08    /* operation done (status) */
        !            67: #define        RXCMD_DRIVE0    0x00    /* select drive 0 (csa1) */
        !            68: #define        RXCMD_DRIVE1    0x02    /* select drive 1 (csa2) */

unix.superglobalmegacorp.com

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