Annotation of 43BSDReno/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 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.