|
|
1.1 ! root 1: /* psreg.h 6.1 83/08/13 */ ! 2: ! 3: ! 4: /* ! 5: * The Real Nitty Gritty Device Registers ! 6: */ ! 7: ! 8: struct psdevice { ! 9: short int ps_data; /* data register */ ! 10: short int ps_addr; /* address register */ ! 11: short int ps_wcount; /* word count register */ ! 12: short int ps_busaddr; /* unibus address register */ ! 13: short int ps_iostat; /* io status register */ ! 14: }; ! 15: ! 16: /* ! 17: * Possible ioctl's ! 18: */ ! 19: #define PSIOAUTOREFRESH _IO(p, 0) /* auto refresh */ ! 20: #define PSIOSINGLEREFRESH _IO(p, 1) /* single refresh */ ! 21: #define PSIOAUTOMAP _IO(p, 2) /* auto map */ ! 22: #define PSIOSINGLEMAP _IO(p, 3) /* single map */ ! 23: #define PSIODOUBLEBUFFER _IO(p, 4) /* double buffer */ ! 24: #define PSIOSINGLEBUFFER _IO(p, 5) /* single buffer */ ! 25: #define PSIOWAITREFRESH _IO(p, 6) /* await refresh */ ! 26: #define PSIOWAITMAP _IO(p, 7) /* await map */ ! 27: #define PSIOWAITHIT _IO(p, 8) /* await hit */ ! 28: #define PSIOSTOPREFRESH _IO(p, 9) /* stop refresh */ ! 29: #define PSIOSTOPMAP _IO(p,10) /* stop map */ ! 30: #define PSIOGETADDR _IOR(p,11, int) /* get Unibus address */ ! 31: #define PSIOTIMEREFRESH _IO(p,12) /* time refresh */ ! 32: ! 33: /* ! 34: * Picture system io status register bits ! 35: */ ! 36: ! 37: #define DIOREADY 0100000 ! 38: #define PSAHOLD 040000 ! 39: #define PSRESET 020000 ! 40: #define DIORESET 010000 ! 41: #define DMARESET 04000 ! 42: #define PSIE 0400 ! 43: #define DMAREADY 0200 ! 44: #define DMAIE 0100 ! 45: #define PASSIVE 010 ! 46: #define DMAIN 04 ! 47: #define NEXEM 02 ! 48: #define GO 01 ! 49: ! 50: /* ! 51: * Picture system memory mapping control registers: SCB 0177400-0177410 ! 52: */ ! 53: ! 54: #define EXMMR_DMA 0177400 ! 55: #define EXMMR_DIO 0177404 ! 56: #define EXMMR_RC 0177405 ! 57: #define EXMMR_MAPOUT 0177406 ! 58: #define EXMMR_MAPIN 0177407 ! 59: #define EXMSR 0177410 ! 60: ! 61: /* ! 62: * Extended memory status register bits ! 63: */ ! 64: ! 65: #define DBERROR 0100000 ! 66: #define SBERROR 040000 ! 67: #define MEMREADY 0200 ! 68: #define DBIE 0100 ! 69: #define MMENBL 02 ! 70: #define INITMEM 01 ! 71: ! 72: /* ! 73: * Size of extended memory ! 74: */ ! 75: ! 76: #define NEXMPAGES (256*2) ! 77: #define WORDSPERPAGE (256) ! 78: ! 79: /* ! 80: * MAP picture processor registers: SCB 0177750-0177753 ! 81: */ ! 82: ! 83: #define MAOL 0177750 ! 84: #define MAOA 0177751 ! 85: #define MAIA 0177752 ! 86: #define MASR 0177753 ! 87: #define MAMSR 0177754 ! 88: ! 89: /* ! 90: * MAP status register bits ! 91: */ ! 92: ! 93: #define PPDONE 0100000 ! 94: #define FIFOFULL 040000 ! 95: #define FIFOEMPTY 020000 ! 96: #define HIT 010000 ! 97: #define IB 04000 ! 98: #define TAKE 02000 ! 99: #define MMODE 01400 ! 100: #define MOSTOPPED 0200 ! 101: #define IOUT 0100 ! 102: #define MAO 040 ! 103: #define MAI 020 ! 104: #define HIT_HOLD 010 ! 105: #define RSR_HOLD 04 ! 106: #define VEC_HOLD 02 ! 107: #define MAP_RESET 01 ! 108: ! 109: /* ! 110: * Refresh controller registers: SCB 0177730-0177737 ! 111: */ ! 112: ! 113: #define RFCSN 0177730 ! 114: #define RFSN 0177731 ! 115: #define RFAWA 0177732 ! 116: #define RFAWL 0177733 ! 117: #define RFAIA 0177734 ! 118: #define RFASA 0177735 ! 119: #define RFAIL 0177736 ! 120: #define RFSR 0177737 ! 121: ! 122: /* ! 123: * Refresh controller status register bits ! 124: */ ! 125: ! 126: #define RFSTOPPED 0100000 ! 127: #define RFHOLD 040000 ! 128: #define RFSTART 020000 ! 129: #define AUTOREF 010000 ! 130: #define RFBLANK 04000 ! 131: #define RIGHT 02000 ! 132: #define LGFIFO_FULL 01000 ! 133: #define NOT_EXEC 0200 ! 134: #define SKIPSEG 0100 ! 135: #define WRITEBACK 040 ! 136: #define SEARCH 020 ! 137: #define MATCH_HOLD 010 ! 138: #define MATCH_DEC 04 ! 139: #define SEARCH_MODE 03 ! 140: ! 141: /* ! 142: * Interrupt control ! 143: */ ! 144: ! 145: #define RTCREQ 0177760 ! 146: #define RTCIE 0177761 ! 147: #define SYSREQ 0177762 ! 148: #define SYSIE 0177763 ! 149: #define DEVREQ 0177764 ! 150: #define DEVIE 0177765 ! 151: ! 152: /* ! 153: * System interrupt request bits ! 154: */ ! 155: ! 156: #define LPEN_REQ 0200 ! 157: #define MATCH_REQ 0100 ! 158: #define WBSTOP_REQ 040 ! 159: #define RFSTOP_REQ 020 ! 160: #define MOSTOP_REQ 010 ! 161: #define JUMP_REQ 04 ! 162: #define HIT_REQ 02 ! 163: #define HALT_REQ 01 ! 164: ! 165: /* ! 166: * Real-Time Clock registers ! 167: */ ! 168: ! 169: #define RTCCNT 0177744 ! 170: #define RTCSR 0177745 ! 171: ! 172: /* ! 173: * Real-Time Clock status register bits ! 174: */ ! 175: ! 176: #define HZ120 040 ! 177: #define EXT 020 ! 178: #define SYNC 010 ! 179: #define EXTSEL2 04 ! 180: #define EXTSEL1 02 ! 181: #define RUN 01 ! 182: ! 183: /* ! 184: * Control dials a/d registers ! 185: */ ! 186: ! 187: #define ADDR0 0177500 ! 188: #define ADDR1 0177501 ! 189: #define ADDR2 0177502 ! 190: #define ADDR3 0177503 ! 191: #define ADDR4 0177504 ! 192: #define ADDR5 0177505 ! 193: #define ADDR6 0177506 ! 194: #define ADDR7 0177507 ! 195: ! 196: /* ! 197: * Function switches and lights ! 198: */ ! 199: ! 200: #define FSWR 0177626 ! 201: #define FSLR 0177627
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.