1: /*
   2:  * TS11 controller registers
   3:  */
   4: struct  tsdevice    {
   5:     u_short tsdb;           /* data buffer */
   6:     u_short tssr;           /* status register */
   7: };
   8: 
   9: /* Bits in (UNIBUS) status register */
  10: #define TS_SC       0100000     /* special condition (error) */
  11: #define TS_UPE      0040000     /* UNIBUS parity error */
  12: #define TS_SPE      0020000     /* serial bus parity error */
  13: #define TS_RMR      0010000     /* register modification refused */
  14: #define TS_NXM      0004000     /* nonexistent memory */
  15: #define TS_NBA      0002000     /* need buffer address */
  16: #define TS_XMEM     0001400     /* UNIBUS xmem bits */
  17: #define TS_SSR      0000200     /* subsytem ready */
  18: #define TS_OFL      0000100     /* off-line */
  19: #define TS_FTC      0000060     /* fatal termination class mask */
  20: #define TS_TC       0000016     /* termination class mask */
  21: 
  22: /* termination class */
  23: #define TS_SUCC     0000000     /* successful termination */
  24: #define TS_ATTN     0000002     /* attention */
  25: #define TS_ALERT    0000004     /* tape status alert */
  26: #define TS_REJECT   0000006     /* function reject */
  27: #define TS_RECOV    0000010     /* recoverable error */
  28: #define TS_RECNM    0000012     /* recoverable error, no tape motion */
  29: #define TS_UNREC    0000014     /* unrecoverable error */
  30: #define TS_FATAL    0000016     /* fatal error */
  31: 
  32: #define TSSR_BITS   \
  33: "\10\20SC\17UPE\16SPE\15RMR\14NXM\13NBA\12A17\11A16\10SSR\
  34: \7OFL\6FC1\5FC0\4TC2\3TC1\2TC0\1-"
  35: 
  36: #define b_repcnt    b_bcount
  37: #define b_command   b_resid
  38: 
  39: /* status message */
  40: struct  ts_sts  {
  41:     u_short s_sts;      /* packet header */
  42:     u_short s_len;      /* packet length */
  43:     u_short s_rbpcr;    /* residual frame count */
  44:     u_short s_xs0;      /* extended status 0 - 3 */
  45:     u_short s_xs1;
  46:     u_short s_xs2;
  47:     u_short s_xs3;
  48: };
  49: 
  50: /* Error codes in xstat 0 */
  51: #define TS_TMK  0100000     /* tape mark detected */
  52: #define TS_RLS  0040000     /* record length short */
  53: #define TS_LET  0020000     /* logical end of tape */
  54: #define TS_RLL  0010000     /* record length long */
  55: #define TS_WLE  0004000     /* write lock error */
  56: #define TS_NEF  0002000     /* non-executable function */
  57: #define TS_ILC  0001000     /* illegal command */
  58: #define TS_ILA  0000400     /* illegal address */
  59: #define TS_MOT  0000200     /* capstan is moving */
  60: #define TS_ONL  0000100     /* on-line */
  61: #define TS_IES  0000040     /* interrupt enable status */
  62: #define TS_VCK  0000020     /* volume check */
  63: #define TS_PED  0000010     /* phase-encoded drive */
  64: #define TS_WLK  0000004     /* write locked */
  65: #define TS_BOT  0000002     /* beginning of tape */
  66: #define TS_EOT  0000001     /* end of tape */
  67: 
  68: #define TSXS0_BITS  \
  69: "\10\20TMK\17RLS\16LET\15RLL\14WLE\13NEF\12ILC\11ILA\10MOT\
  70: \7ONL\6IES\5VCK\4PED\3WLK\2BOT\1EOT"
  71: 
  72: /* Error codes in xstat 1 */
  73: #define TS_DLT  0100000     /* data late */
  74: #define TS_COR  0020000     /* correctable data */
  75: #define TS_CRS  0010000     /* crease detected */
  76: #define TS_TIG  0004000     /* trash in the gap */
  77: #define TS_DBF  0002000     /* deskew buffer full */
  78: #define TS_SCK  0001000     /* speed check */
  79: #define TS_IPR  0000200     /* invalid preamble */
  80: #define TS_SYN  0000100     /* synchronization failure */
  81: #define TS_IPO  0000040     /* invalid postamble */
  82: #define TS_IED  0000020     /* invalid end of data */
  83: #define TS_POS  0000010     /* postamble short */
  84: #define TS_POL  0000004     /* postamble long */
  85: #define TS_UNC  0000002     /* uncorrectable data */
  86: #define TS_MTE  0000001     /* multitrack error */
  87: 
  88: #define TSXS1_BITS  \
  89: "\10\20DLT\17-\16COR\15CRS\14TIG\13DBF\12SCK\11-\10IPR\
  90: \7SYN\6IPO\5IED\4POS\3POL\2UNC\1MTE"
  91: 
  92: /* Error codes in xstat 2 */
  93: #define TS_OPM  0100000     /* operation in progress */
  94: #define TS_SIP  0040000     /* silo parity error */
  95: #define TS_BPE  0020000     /* serial bus parity error */
  96: #define TS_CAF  0010000     /* capstan acceleration failure */
  97: #define TS_WCF  0002000     /* write card fail */
  98: #define TS_DTP  0000400     /* dead track parity */
  99: #define TS_DT   0000377     /* dead tracks */
 100: 
 101: #define TSXS2_BITS  \
 102: "\10\20OPM\17SIP\16BPE\15CAF\14-\13WCF\12-\11DTP"
 103: 
 104: /* Error codes in xstat 3 */
 105: #define TS_MEC  0177400     /* microdiagnostic error code */
 106: #define TS_LMX  0000200     /* limit exceeded */
 107: #define TS_OPI  0000100     /* operation incomplete */
 108: #define TS_REV  0000040     /* reverse */
 109: #define TS_CRF  0000020     /* capstan response fail */
 110: #define TS_DCK  0000010     /* density check */
 111: #define TS_NOI  0000004     /* noise record */
 112: #define TS_LXS  0000002     /* limit exceeded statically */
 113: #define TS_RIB  0000001     /* reverse into BOT */
 114: 
 115: #define TSXS3_BITS  \
 116: "\10\10LMX\7OPI\6REV\5CRF\4DCK\3NOI\2LXS\1RIB"
 117: 
 118: 
 119: /* command message */
 120: struct ts_cmd {
 121:     u_short c_cmd;      /* command */
 122:     u_short c_loba;     /* low order buffer address */
 123:     u_short c_hiba;     /* high order buffer address */
 124: #define c_repcnt    c_loba
 125:     u_short c_size;     /* byte count */
 126: };
 127: 
 128: /* commands and command bits */
 129: #define TS_ACK      0100000     /* ack - release command packet */
 130: #define TS_CVC      0040000     /* clear volume check */
 131: #define TS_OPP      0020000     /* opposite.  reverse recovery */
 132: #define TS_SWB      0010000     /* swap bytes */
 133: #define TS_IE       0000200     /* interrupt enable */
 134: #define TS_RCOM     0000001     /* read */
 135: #define TS_REREAD   0001001     /* read data retry */
 136: #define TS_SETCHR   0000004     /* set characteristics */
 137: #define TS_WCOM     0000005     /* write */
 138: #define TS_REWRITE  0001005     /* write data retry */
 139: #define TS_RETRY    0001000     /* retry bit for read and write */
 140: #define TS_SFORW    0000010     /* forward space record */
 141: #define TS_SREV     0000410     /* reverse space record */
 142: #define TS_SFORWF   0001010     /* forward space file */
 143: #define TS_SREVF    0001410     /* reverse space file */
 144: #define TS_REW      0002010     /* rewind */
 145: #define TS_OFFL     0000412     /* unload */
 146: #define TS_WEOF     0000011     /* write tape mark */
 147: #define TS_SENSE    0000017     /* get status */
 148: 
 149: /* characteristics data */
 150: struct ts_char {
 151:     u_short char_bptr;      /* low word address of status packet */
 152:     u_short char_bae;       /* bus address extension bits */
 153:     u_short char_size;      /* its size */
 154:     u_short char_mode;      /* characteristics */
 155: };
 156: 
 157: 
 158: /* characteristics */
 159: #define TS_ESS  0200        /* enable space files stop */
 160: #define TS_ENB  0100        /* enable space files stop at bot */
 161: #define TS_EAI  0040        /* enable attention interrupt */
 162: #define TS_ERI  0020        /* enable status buffer release interrupt */

Defined struct's

ts_char defined in line 150; used 6 times
ts_cmd defined in line 120; used 6 times
ts_sts defined in line 40; used 4 times
tsdevice defined in line 4; used 10 times

Defined macros

TSSR_BITS defined in line 32; never used
TSXS0_BITS defined in line 68; used 3 times
TSXS1_BITS defined in line 88; used 1 times
TSXS2_BITS defined in line 101; used 1 times
TSXS3_BITS defined in line 115; used 1 times
TS_ACK defined in line 129; used 3 times
TS_ALERT defined in line 25; never used
TS_ATTN defined in line 24; never used
TS_BOT defined in line 65; used 1 times
TS_BPE defined in line 95; never used
TS_CAF defined in line 96; never used
TS_COR defined in line 74; never used
TS_CRF defined in line 109; never used
TS_CRS defined in line 75; never used
TS_CVC defined in line 130; used 2 times
TS_DBF defined in line 77; never used
TS_DCK defined in line 110; never used
TS_DLT defined in line 73; never used
TS_DT defined in line 99; never used
TS_DTP defined in line 98; never used
TS_EAI defined in line 161; never used
TS_ENB defined in line 160; never used
TS_EOT defined in line 66; used 1 times
TS_ERI defined in line 162; never used
TS_ESS defined in line 159; used 1 times
TS_FATAL defined in line 30; never used
TS_FTC defined in line 19; never used
TS_IE defined in line 133; used 2 times
TS_IED defined in line 82; never used
TS_IES defined in line 61; never used
TS_ILA defined in line 58; never used
TS_ILC defined in line 57; never used
TS_IPO defined in line 81; never used
TS_IPR defined in line 79; never used
TS_LET defined in line 53; never used
TS_LMX defined in line 106; never used
TS_LXS defined in line 112; never used
TS_MEC defined in line 105; never used
TS_MOT defined in line 59; never used
TS_MTE defined in line 86; never used
TS_NBA defined in line 15; used 2 times
TS_NEF defined in line 56; never used
TS_NOI defined in line 111; never used
TS_NXM defined in line 14; never used
TS_OFFL defined in line 145; used 1 times
TS_OFL defined in line 18; used 2 times
TS_ONL defined in line 60; used 2 times
TS_OPI defined in line 107; never used
TS_OPM defined in line 93; never used
TS_OPP defined in line 131; never used
TS_PED defined in line 63; never used
TS_POL defined in line 84; never used
TS_POS defined in line 83; never used
TS_RCOM defined in line 134; used 1 times
TS_RECNM defined in line 28; never used
TS_RECOV defined in line 27; never used
TS_REJECT defined in line 26; never used
TS_REREAD defined in line 135; never used
TS_RETRY defined in line 139; used 1 times
TS_REV defined in line 108; used 1 times
TS_REW defined in line 144; used 2 times
TS_REWRITE defined in line 138; never used
TS_RIB defined in line 113; never used
TS_RLL defined in line 54; used 1 times
TS_RLS defined in line 52; used 1 times
TS_RMR defined in line 13; never used
TS_SC defined in line 10; used 1 times
TS_SCK defined in line 78; never used
TS_SENSE defined in line 147; used 2 times
TS_SETCHR defined in line 136; used 1 times
TS_SFORW defined in line 140; used 3 times
TS_SFORWF defined in line 142; never used
TS_SIP defined in line 94; never used
TS_SPE defined in line 12; never used
TS_SREV defined in line 141; used 4 times
TS_SREVF defined in line 143; never used
TS_SSR defined in line 17; used 2 times
TS_SUCC defined in line 23; never used
TS_SWB defined in line 132; never used
TS_SYN defined in line 80; never used
TS_TC defined in line 20; used 1 times
TS_TIG defined in line 76; never used
TS_TMK defined in line 51; used 1 times
TS_UNC defined in line 85; never used
TS_UNREC defined in line 29; never used
TS_UPE defined in line 11; never used
TS_VCK defined in line 62; never used
TS_WCF defined in line 97; never used
TS_WCOM defined in line 137; used 1 times
TS_WEOF defined in line 146; used 3 times
TS_WLE defined in line 55; used 1 times
TS_WLK defined in line 64; used 1 times
TS_XMEM defined in line 16; never used
b_command defined in line 37; used 6 times
b_repcnt defined in line 36; used 11 times
c_repcnt defined in line 124; used 1 times

Usage of this include

Last modified: 1983-08-28
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1362
Valid CSS Valid XHTML 1.0 Strict