mirror of
https://github.com/simh/simh.git
synced 2026-01-26 20:12:23 +00:00
PDP11, PDP10, VAX780: CR11 is BR6, CD11 is BR4
This commit is contained in:
committed by
Mark Pizzolato
parent
d7a98da256
commit
ae3179e2fe
@@ -1,6 +1,6 @@
|
||||
/* pdp10_defs.h: PDP-10 simulator definitions
|
||||
|
||||
Copyright (c) 1993-2013, Robert M Supnik
|
||||
Copyright (c) 1993-2017, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
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
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
19-Jan-17 RMS Fixed CD11 definition (Mark Pizzolatto)
|
||||
30-Jun-13 RMS Fixed IPL4 mask definition (Tim Litt)
|
||||
22-May-10 RMS Added check for 64b addresses
|
||||
01-Feb-07 RMS Added CD support
|
||||
@@ -734,7 +735,7 @@ typedef struct pdp_dib DIB;
|
||||
#define INT_PTR (1u << INT_V_PTR)
|
||||
#define INT_PTP (1u << INT_V_PTP)
|
||||
#define INT_LP20 (1u << INT_V_LP20)
|
||||
#define INT_CR (1u << INT_V_CR)
|
||||
#define INT_CR (1u << INT_V_CD)
|
||||
#define INT_DUPRX (1u << INT_V_DUPRX)
|
||||
#define INT_DUPTX (1u << INT_V_DUPTX)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* pdp10_ksio.c: PDP-10 KS10 I/O subsystem simulator
|
||||
|
||||
Copyright (c) 1993-2013, Robert M Supnik
|
||||
Copyright (c) 1993-2017, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
uba Unibus adapters
|
||||
|
||||
7-Mar-17 RMS Added BR level to vector display
|
||||
27-May-13 RMS Fixed bugs in Unibus adapter code
|
||||
22-Sep-05 RMS Fixed declarations (from Sterling Garwood)
|
||||
25-Jan-04 RMS Added stub floating address routine
|
||||
@@ -114,6 +115,9 @@ static const int32 ubabr76[UBANUM] = {
|
||||
static const int32 ubabr54[UBANUM] = {
|
||||
INT_UB1 & (INT_IPL5 | INT_IPL4), INT_UB3 & (INT_IPL5 | INT_IPL4)
|
||||
};
|
||||
static const uint32 iplmask[4] = {
|
||||
INT_IPL4, INT_IPL5, INT_IPL6, INT_IPL7
|
||||
};
|
||||
|
||||
/* Masks for Unibus quantities */
|
||||
#define M_BYTE (0xFF)
|
||||
@@ -1783,7 +1787,7 @@ t_stat show_vec (FILE *st, UNIT *uptr, int32 arg, void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
DIB *dibp;
|
||||
uint32 vec, numvec;
|
||||
uint32 i, j, vec, numvec, br_bit;
|
||||
|
||||
if (uptr == NULL)
|
||||
return SCPE_IERR;
|
||||
@@ -1804,6 +1808,14 @@ else {
|
||||
if (numvec > 1)
|
||||
fprintf (st, "-%o", vec + (4 * (numvec - 1)));
|
||||
}
|
||||
br_bit = 1u << dibp->vloc;
|
||||
for (i = 0, j = 4; i < 4; i++) {
|
||||
if ((br_bit & iplmask[i]) != 0)
|
||||
j = i;
|
||||
}
|
||||
if (j >= 4)
|
||||
fprintf (st, ", invalid BR level");
|
||||
else fprintf (st, ", BR%d", j + 4);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user