PDP11, VAX730, VAX750, VAX780, VAX8600: Moved CR11/CD11 from BR4 to BR6

This commit is contained in:
Mark Pizzolato 2017-01-07 04:56:52 -08:00
parent 0db0236bed
commit ae25c72a8e
5 changed files with 23 additions and 16 deletions

View file

@ -1,6 +1,6 @@
/* pdp11_defs.h: PDP-11 simulator definitions /* pdp11_defs.h: PDP-11 simulator definitions
Copyright (c) 1993-2015, Robert M Supnik Copyright (c) 1993-2017, Robert M Supnik
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -26,6 +26,7 @@
The author gratefully acknowledges the help of Max Burnet, Megan Gentry, The author gratefully acknowledges the help of Max Burnet, Megan Gentry,
and John Wilson in resolving questions about the PDP-11 and John Wilson in resolving questions about the PDP-11
06-Jan-17 RMS Moved CR11/CD11 to BR6 (Mark Pizzolato)
30-Dec-15 RMS Added NOBVT option 30-Dec-15 RMS Added NOBVT option
23-Oct-13 RMS Added cpu_set_boot prototype 23-Oct-13 RMS Added cpu_set_boot prototype
02-Sep-13 RMS Added third Massbus adapter and RS drive 02-Sep-13 RMS Added third Massbus adapter and RS drive
@ -595,6 +596,7 @@ typedef struct pdp_dib DIB;
#define INT_V_PCLK 2 #define INT_V_PCLK 2
#define INT_V_DTA 3 #define INT_V_DTA 3
#define INT_V_TA 4 #define INT_V_TA 4
#define INT_V_CR 5
#define INT_V_PIR5 0 /* BR5 */ #define INT_V_PIR5 0 /* BR5 */
#define INT_V_RK 1 #define INT_V_RK 1
@ -630,7 +632,7 @@ typedef struct pdp_dib DIB;
#define INT_V_LPT 5 #define INT_V_LPT 5
#define INT_V_VHRX 6 #define INT_V_VHRX 6
#define INT_V_VHTX 7 #define INT_V_VHTX 7
#define INT_V_CR 8 //#define XXXXXX 8 /* former CR */
#define INT_V_DLI 9 #define INT_V_DLI 9
#define INT_V_DLO 10 #define INT_V_DLO 10
#define INT_V_DCI 11 #define INT_V_DCI 11
@ -716,6 +718,7 @@ typedef struct pdp_dib DIB;
#define IPL_PCLK 6 #define IPL_PCLK 6
#define IPL_DTA 6 #define IPL_DTA 6
#define IPL_TA 6 #define IPL_TA 6
#define IPL_CR 6
#define IPL_RK 5 #define IPL_RK 5
#define IPL_RL 5 #define IPL_RL 5
#define IPL_RX 5 #define IPL_RX 5
@ -747,7 +750,6 @@ typedef struct pdp_dib DIB;
#define IPL_LPT 4 #define IPL_LPT 4
#define IPL_VHRX 4 #define IPL_VHRX 4
#define IPL_VHTX 4 #define IPL_VHTX 4
#define IPL_CR 4
#define IPL_DLI 4 #define IPL_DLI 4
#define IPL_DLO 4 #define IPL_DLO 4
#define IPL_DCI 4 #define IPL_DCI 4

View file

@ -256,6 +256,7 @@ typedef struct {
/* Interrupt assignments; within each level, priority is right to left */ /* Interrupt assignments; within each level, priority is right to left */
#define INT_V_DTA 0 /* BR6 */ #define INT_V_DTA 0 /* BR6 */
#define INT_V_CR 1
#define INT_V_DZRX 0 /* BR5 */ #define INT_V_DZRX 0 /* BR5 */
#define INT_V_DZTX 1 #define INT_V_DZTX 1
@ -276,13 +277,14 @@ typedef struct {
#define INT_V_LPT 0 /* BR4 */ #define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1 #define INT_V_PTR 1
#define INT_V_PTP 2 #define INT_V_PTP 2
#define INT_V_CR 3 //#define XXXXXXXX 3 /* Former CR */
#define INT_V_VHRX 4 #define INT_V_VHRX 4
#define INT_V_VHTX 5 #define INT_V_VHTX 5
#define INT_V_TDRX 6 #define INT_V_TDRX 6
#define INT_V_TDTX 7 #define INT_V_TDTX 7
#define INT_DTA (1u << INT_V_DTA) #define INT_DTA (1u << INT_V_DTA)
#define INT_CR (1u << INT_V_CR)
#define INT_DZRX (1u << INT_V_DZRX) #define INT_DZRX (1u << INT_V_DZRX)
#define INT_DZTX (1u << INT_V_DZTX) #define INT_DZTX (1u << INT_V_DZTX)
#define INT_HK (1u << INT_V_HK) #define INT_HK (1u << INT_V_HK)
@ -298,7 +300,6 @@ typedef struct {
#define INT_VHTX (1u << INT_V_VHTX) #define INT_VHTX (1u << INT_V_VHTX)
#define INT_PTR (1u << INT_V_PTR) #define INT_PTR (1u << INT_V_PTR)
#define INT_PTP (1u << INT_V_PTP) #define INT_PTP (1u << INT_V_PTP)
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX) #define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX) #define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX) #define INT_DUPRX (1u << INT_V_DUPRX)
@ -308,6 +309,7 @@ typedef struct {
#define INT_TDTX (1u << INT_V_TDTX) #define INT_TDTX (1u << INT_V_TDTX)
#define IPL_DTA (0x16 - IPL_HMIN) #define IPL_DTA (0x16 - IPL_HMIN)
#define IPL_CR (0x16 - IPL_HMIN)
#define IPL_DZRX (0x15 - IPL_HMIN) #define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN) #define IPL_DZTX (0x15 - IPL_HMIN)
#define IPL_HK (0x15 - IPL_HMIN) #define IPL_HK (0x15 - IPL_HMIN)
@ -321,7 +323,6 @@ typedef struct {
#define IPL_LPT (0x14 - IPL_HMIN) #define IPL_LPT (0x14 - IPL_HMIN)
#define IPL_PTR (0x14 - IPL_HMIN) #define IPL_PTR (0x14 - IPL_HMIN)
#define IPL_PTP (0x14 - IPL_HMIN) #define IPL_PTP (0x14 - IPL_HMIN)
#define IPL_CR (0x14 - IPL_HMIN)
#define IPL_VHRX (0x14 - IPL_HMIN) #define IPL_VHRX (0x14 - IPL_HMIN)
#define IPL_VHTX (0x14 - IPL_HMIN) #define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN) #define IPL_DMCRX (0x15 - IPL_HMIN)

View file

@ -298,6 +298,7 @@ typedef struct {
/* Interrupt assignments; within each level, priority is right to left */ /* Interrupt assignments; within each level, priority is right to left */
#define INT_V_DTA 0 /* BR6 */ #define INT_V_DTA 0 /* BR6 */
#define INT_V_CR 1
#define INT_V_DZRX 0 /* BR5 */ #define INT_V_DZRX 0 /* BR5 */
#define INT_V_DZTX 1 #define INT_V_DZTX 1
@ -317,13 +318,14 @@ typedef struct {
#define INT_V_LPT 0 /* BR4 */ #define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1 #define INT_V_PTR 1
#define INT_V_PTP 2 #define INT_V_PTP 2
#define INT_V_CR 3 //#define XXXXXXXX 3 /* Former CR */
#define INT_V_VHRX 4 #define INT_V_VHRX 4
#define INT_V_VHTX 5 #define INT_V_VHTX 5
#define INT_V_TDRX 6 #define INT_V_TDRX 6
#define INT_V_TDTX 7 #define INT_V_TDTX 7
#define INT_DTA (1u << INT_V_DTA) #define INT_DTA (1u << INT_V_DTA)
#define INT_CR (1u << INT_V_CR)
#define INT_DZRX (1u << INT_V_DZRX) #define INT_DZRX (1u << INT_V_DZRX)
#define INT_DZTX (1u << INT_V_DZTX) #define INT_DZTX (1u << INT_V_DZTX)
#define INT_HK (1u << INT_V_HK) #define INT_HK (1u << INT_V_HK)
@ -338,7 +340,6 @@ typedef struct {
#define INT_VHTX (1u << INT_V_VHTX) #define INT_VHTX (1u << INT_V_VHTX)
#define INT_PTR (1u << INT_V_PTR) #define INT_PTR (1u << INT_V_PTR)
#define INT_PTP (1u << INT_V_PTP) #define INT_PTP (1u << INT_V_PTP)
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX) #define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX) #define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX) #define INT_DUPRX (1u << INT_V_DUPRX)
@ -348,6 +349,7 @@ typedef struct {
#define INT_TDTX (1u << INT_V_TDTX) #define INT_TDTX (1u << INT_V_TDTX)
#define IPL_DTA (0x16 - IPL_HMIN) #define IPL_DTA (0x16 - IPL_HMIN)
#define IPL_CR (0x16 - IPL_HMIN)
#define IPL_DZRX (0x15 - IPL_HMIN) #define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN) #define IPL_DZTX (0x15 - IPL_HMIN)
#define IPL_HK (0x15 - IPL_HMIN) #define IPL_HK (0x15 - IPL_HMIN)
@ -360,7 +362,6 @@ typedef struct {
#define IPL_LPT (0x14 - IPL_HMIN) #define IPL_LPT (0x14 - IPL_HMIN)
#define IPL_PTR (0x14 - IPL_HMIN) #define IPL_PTR (0x14 - IPL_HMIN)
#define IPL_PTP (0x14 - IPL_HMIN) #define IPL_PTP (0x14 - IPL_HMIN)
#define IPL_CR (0x14 - IPL_HMIN)
#define IPL_VHRX (0x14 - IPL_HMIN) #define IPL_VHRX (0x14 - IPL_HMIN)
#define IPL_VHTX (0x14 - IPL_HMIN) #define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN) #define IPL_DMCRX (0x15 - IPL_HMIN)

View file

@ -1,6 +1,6 @@
/* vax780_defs.h: VAX 780 model-specific definitions file /* vax780_defs.h: VAX 780 model-specific definitions file
Copyright (c) 2004-2015, Robert M Supnik Copyright (c) 2004-2017, Robert M Supnik
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),
@ -23,6 +23,7 @@
used in advertising or otherwise to promote the sale, use or other dealings used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Robert M Supnik. in this Software without prior written authorization from Robert M Supnik.
06-Jan-17 RMS Moved CR to BR6 (Mark Pizzolato)
29-Mar-15 RMS Added model specific IPR max 29-Mar-15 RMS Added model specific IPR max
16-Dec-14 RMS Removed TQ boot code (780 VMB doesn't support tape boot) 16-Dec-14 RMS Removed TQ boot code (780 VMB doesn't support tape boot)
05-Sep-14 RMS Fixed SBR test (found by Mark Pizzolato) 05-Sep-14 RMS Fixed SBR test (found by Mark Pizzolato)
@ -312,6 +313,7 @@ typedef struct {
/* Interrupt assignments; within each level, priority is right to left */ /* Interrupt assignments; within each level, priority is right to left */
#define INT_V_DTA 0 /* BR6 */ #define INT_V_DTA 0 /* BR6 */
#define INT_V_CR 1
#define INT_V_DZRX 0 /* BR5 */ #define INT_V_DZRX 0 /* BR5 */
#define INT_V_DZTX 1 #define INT_V_DZTX 1
@ -331,13 +333,14 @@ typedef struct {
#define INT_V_LPT 0 /* BR4 */ #define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1 #define INT_V_PTR 1
#define INT_V_PTP 2 #define INT_V_PTP 2
#define INT_V_CR 3 //#define XXXXXXXX 3 /* Former CR */
#define INT_V_VHRX 4 #define INT_V_VHRX 4
#define INT_V_VHTX 5 #define INT_V_VHTX 5
#define INT_V_TDRX 6 #define INT_V_TDRX 6
#define INT_V_TDTX 7 #define INT_V_TDTX 7
#define INT_DTA (1u << INT_V_DTA) #define INT_DTA (1u << INT_V_DTA)
#define INT_CR (1u << INT_V_CR)
#define INT_DZRX (1u << INT_V_DZRX) #define INT_DZRX (1u << INT_V_DZRX)
#define INT_DZTX (1u << INT_V_DZTX) #define INT_DZTX (1u << INT_V_DZTX)
#define INT_HK (1u << INT_V_HK) #define INT_HK (1u << INT_V_HK)
@ -352,7 +355,6 @@ typedef struct {
#define INT_VHTX (1u << INT_V_VHTX) #define INT_VHTX (1u << INT_V_VHTX)
#define INT_PTR (1u << INT_V_PTR) #define INT_PTR (1u << INT_V_PTR)
#define INT_PTP (1u << INT_V_PTP) #define INT_PTP (1u << INT_V_PTP)
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX) #define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX) #define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX) #define INT_DUPRX (1u << INT_V_DUPRX)
@ -362,6 +364,7 @@ typedef struct {
#define INT_TDTX (1u << INT_V_TDTX) #define INT_TDTX (1u << INT_V_TDTX)
#define IPL_DTA (0x16 - IPL_HMIN) #define IPL_DTA (0x16 - IPL_HMIN)
#define IPL_CR (0x16 - IPL_HMIN)
#define IPL_DZRX (0x15 - IPL_HMIN) #define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN) #define IPL_DZTX (0x15 - IPL_HMIN)
#define IPL_HK (0x15 - IPL_HMIN) #define IPL_HK (0x15 - IPL_HMIN)
@ -374,7 +377,6 @@ typedef struct {
#define IPL_LPT (0x14 - IPL_HMIN) #define IPL_LPT (0x14 - IPL_HMIN)
#define IPL_PTR (0x14 - IPL_HMIN) #define IPL_PTR (0x14 - IPL_HMIN)
#define IPL_PTP (0x14 - IPL_HMIN) #define IPL_PTP (0x14 - IPL_HMIN)
#define IPL_CR (0x14 - IPL_HMIN)
#define IPL_VHRX (0x14 - IPL_HMIN) #define IPL_VHRX (0x14 - IPL_HMIN)
#define IPL_VHTX (0x14 - IPL_HMIN) #define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN) #define IPL_DMCRX (0x15 - IPL_HMIN)

View file

@ -342,6 +342,7 @@ typedef struct {
/* Interrupt assignments; within each level, priority is right to left */ /* Interrupt assignments; within each level, priority is right to left */
#define INT_V_DTA 0 /* BR6 */ #define INT_V_DTA 0 /* BR6 */
#define INT_V_CR 1
#define INT_V_DZRX 0 /* BR5 */ #define INT_V_DZRX 0 /* BR5 */
#define INT_V_DZTX 1 #define INT_V_DZTX 1
@ -361,13 +362,14 @@ typedef struct {
#define INT_V_LPT 0 /* BR4 */ #define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1 #define INT_V_PTR 1
#define INT_V_PTP 2 #define INT_V_PTP 2
#define INT_V_CR 3 //#define XXXXXXXX 3 /* Former CR */
#define INT_V_VHRX 4 #define INT_V_VHRX 4
#define INT_V_VHTX 5 #define INT_V_VHTX 5
#define INT_V_TDRX 6 #define INT_V_TDRX 6
#define INT_V_TDTX 7 #define INT_V_TDTX 7
#define INT_DTA (1u << INT_V_DTA) #define INT_DTA (1u << INT_V_DTA)
#define INT_CR (1u << INT_V_CR)
#define INT_DZRX (1u << INT_V_DZRX) #define INT_DZRX (1u << INT_V_DZRX)
#define INT_DZTX (1u << INT_V_DZTX) #define INT_DZTX (1u << INT_V_DZTX)
#define INT_HK (1u << INT_V_HK) #define INT_HK (1u << INT_V_HK)
@ -382,7 +384,6 @@ typedef struct {
#define INT_VHTX (1u << INT_V_VHTX) #define INT_VHTX (1u << INT_V_VHTX)
#define INT_PTR (1u << INT_V_PTR) #define INT_PTR (1u << INT_V_PTR)
#define INT_PTP (1u << INT_V_PTP) #define INT_PTP (1u << INT_V_PTP)
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX) #define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX) #define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX) #define INT_DUPRX (1u << INT_V_DUPRX)
@ -392,6 +393,7 @@ typedef struct {
#define INT_TDTX (1u << INT_V_TDTX) #define INT_TDTX (1u << INT_V_TDTX)
#define IPL_DTA (0x16 - IPL_HMIN) #define IPL_DTA (0x16 - IPL_HMIN)
#define IPL_CR (0x16 - IPL_HMIN)
#define IPL_DZRX (0x15 - IPL_HMIN) #define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN) #define IPL_DZTX (0x15 - IPL_HMIN)
#define IPL_HK (0x15 - IPL_HMIN) #define IPL_HK (0x15 - IPL_HMIN)
@ -404,7 +406,6 @@ typedef struct {
#define IPL_LPT (0x14 - IPL_HMIN) #define IPL_LPT (0x14 - IPL_HMIN)
#define IPL_PTR (0x14 - IPL_HMIN) #define IPL_PTR (0x14 - IPL_HMIN)
#define IPL_PTP (0x14 - IPL_HMIN) #define IPL_PTP (0x14 - IPL_HMIN)
#define IPL_CR (0x14 - IPL_HMIN)
#define IPL_VHRX (0x14 - IPL_HMIN) #define IPL_VHRX (0x14 - IPL_HMIN)
#define IPL_VHTX (0x14 - IPL_HMIN) #define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN) #define IPL_DMCRX (0x15 - IPL_HMIN)