Annotation of 43BSDTahoe/sys/vax/rx50reg.h, revision 1.1.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 and use in source and binary forms are permitted
                      9:  * provided that the above copyright notice and this paragraph are
                     10:  * duplicated in all such forms and that any documentation,
                     11:  * advertising materials, and other materials related to such
                     12:  * distribution and use acknowledge that the software was developed
                     13:  * by the University of California, Berkeley.  The name of the
                     14:  * University may not be used to endorse or promote products derived
                     15:  * from this software without specific prior written permission.
                     16:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     17:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     18:  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     19:  *
                     20:  *     @(#)rx50reg.h   7.1 (Berkeley) 7/9/88
                     21:  */
                     22: 
                     23: /*
                     24:  * RX50 registers.
                     25:  */
                     26: 
                     27: /*
                     28:  * The names below do not quite match the DEC documentation simply because
                     29:  * the names in the documentation are so bad.
                     30:  */
                     31: struct rx50device {
                     32:        u_short rxid;           /* identification */
                     33:        u_short reserved;
                     34:        u_short rxcmd;          /* command function reg */
                     35:        u_short rxtrk;          /* track */
                     36:        u_short rxsec;          /* sector */
                     37:        u_short rxcsc;          /* current sector */
                     38:        u_short rxict;          /* incorrect track (???) */
                     39:        u_short rxext;          /* extend command register */
                     40:        u_short rxedb;          /* empty data buffer (read) */
                     41:        u_short rxrda;          /* reset data address */
                     42:        u_short rxgo;           /* read to start current cmd */
                     43:        u_short rxfdb;          /* fill data buffer (write) */
                     44: };
                     45: 
                     46: #define        RX50SEC         10      /* sectors per track */
                     47: #define        RX50MAXSEC      800     /* 10 sectors times 80 tracks */
                     48: 
                     49: /*
                     50:  * Do the sector skew given the sector and track
                     51:  * number (it depends on both!).
                     52:  */
                     53: /*                     (((((s) / 5) + 2 * ((s) + (t))) % 10) + 1) */
                     54: #define        RX50SKEW(s, t)  (((s) / 5) + "\1\3\5\7\11\1\3\5\7"[((s) + (t)) % 5])
                     55: 
                     56: /*
                     57:  * Values in the command function register.
                     58:  */
                     59: #define        RXCMD_ERROR     0x80    /* error bit (composite?) */
                     60: #define        RXCMD_READ      0x40    /* read command */
                     61: #define        RXCMD_WRITE     0x70    /* write command */
                     62: #define        RXCMD_RESET     0x20    /* reset command */
                     63: #define        RXCMD_DONE      0x08    /* operation done (status) */
                     64: #define        RXCMD_DRIVE0    0x00    /* select drive 0 (csa1) */
                     65: #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.