2.11BSD/sys/OTHERS/rf11/rfreg.h
struct rfdevice {
short rfdcs; /* disk control status register */
short rfwc; /* word count register */
char *rfcma; /* current memory address register */
short rfdar; /* disk address register */
short rfdae; /* disk address ext. and error register */
short rfdbr; /* disk data buffer register */
short rfmar; /* maintenance register */
short rfads; /* address of disk segment register */
};
/* bits in rfcs */
#define RF_ERR 0100000 /* error */
#define RF_FRZ 0040000 /* freeze */
#define RF_WCE 0020000 /* write check error */
#define RF_DPE 0010000 /* data parity error */
#define RF_NED 0004000 /* nonexistent drive */
#define RF_WLO 0002000 /* write lockout */
#define RF_MXF 0001000 /* missed transfer */
#define RF_CTLCLR 0000400 /* disk control init */
#define RF_RDY 0000200 /* controller ready */
#define RF_IENABLE 0000100
/* bits 5 and 4 are the memory extension bits */
#define RF_MA 0000010 /* maintenance mode */
/* bits 2 and 1 are the function */
#define RF_GO 0000001 /* go */
/* function codes */
#define RF_WCHK 0000006 /* write check */
#define RF_RCOM 0000004 /* read */
#define RF_WCOM 0000002 /* write */
#define RF_NOP 0000000 /* no op */
#define RF_BITS \
"\10\20ERR\17FRZ\16WCE\15DPE\14NED\13WLO\12MXF\11CTLCLR\10RDY\7IENABLE\4MA\1GO"
/* bits in rfdae */
#define RFDAE_APE 0100000 /* address parity error */
#define RFDAE_ATER 0040000 /* A timing track error */
#define RFDAE_BTER 0020000 /* B timing track error */
#define RFDAE_CTER 0010000 /* C timing track error */
/* bit 11 is unused */
#define RFDAE_NEM 0002000 /* nonexistent memory */
/* bit 9 is unused */
#define RFDAE_CMA_INH 0000400 /* memory address inhibit */
#define RFDAE_DRL 0000200 /* data request late */
/* bit 6 is unused */
#define RFDAE_DA14 0000040 /* disk address -010 */
/* bits 4-2 are the disk address */
/* bits 1-0 are the track address */
#define RFDAE_BITS \
"\10\20APE\17ATER\16BTER\15CTER\13NEM\11CMA_INH\10DRL\6DA14"
/* bits in rmar */
/* bits 15-13 are unused */
#define RFMAR_MDT 0010000 /* maintenance data */
#define RFMAR_MCT 0004000 /* maintenance C timing */
#define RFMAR_MBT 0002000 /* maintenance B timing */
#define RFMAR_MAT 0001000 /* maintenance A timing */
/* bits 7-6 are data track maintenance */
/* bits 5-4 are C timing maintenance */
/* bits 3-2 are B timing maintenance */
/* bits 1-0 are A timing maintenance */
#define RFMAR_BITS "\10\15MDT\14MCT\13MBT\12MAT"