mirror of
https://github.com/simh/simh.git
synced 2026-01-25 19:56:25 +00:00
Notes For V3.7-0
1. New Features 1.1 3.7-0 1.1.1 SCP - Added SET THROTTLE and SET NOTHROTTLE commands to regulate simulator execution rate and host resource utilization. - Added idle support (based on work by Mark Pizzolato). - Added -e to control error processing in nested DO commands (from Dave Bryan). 1.1.2 HP2100 - Added Double Integer instructions, 1000-F CPU, and Floating Point Processor (from Dave Bryan). - Added 2114 and 2115 CPUs, 12607B and 12578A DMA controllers, and 21xx binary loader protection (from Dave Bryan). 1.1.3 Interdata - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state. 1.1.4 PDP-11 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (WAIT instruction executed). - Added TA11/TU60 cassette support. 1.1.5 PDP-8 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). - Added TA8E/TU60 cassette support. 1.1.6 PDP-1 - Added support for 16-channel sequence break system. - Added support for PDP-1D extended features and timesharing clock. - Added support for Type 630 data communications subsystem. 1.1.6 PDP-4/7/9/15 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). 1.1.7 VAX, VAX780 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (more than 200 cycles at IPL's 0, 1, or 3 in kernel mode). 1.1.8 PDP-10 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (operating system dependent). - Added CD20 (CD11) support. 2. Bugs Fixed Please see the revision history on http://simh.trailing-edge.com or in the source module sim_rev.h.
This commit is contained in:
committed by
Mark Pizzolato
parent
15919a2dd7
commit
53d02f7fa7
@@ -1478,7 +1478,7 @@ CHECK_LENGTH:
|
||||
M[BS + 3] = (M[BS + 3] & WM) | store_addr_u (t);
|
||||
M[BS + 2] = (M[BS + 2] & (WM + ZONE)) | store_addr_t (t);
|
||||
M[BS + 1] = (M[BS + 1] & WM) | store_addr_h (t);
|
||||
if (((a % 4000) + (b % 4000)) >= 4000) BS = BS + 2; /* carry? */
|
||||
if (((a % 4000) + (b % 4000)) >= 4000) BS = BS + 2; /* carry? */
|
||||
break;
|
||||
|
||||
/* Store address instructions A-check B-check
|
||||
@@ -1505,7 +1505,7 @@ CHECK_LENGTH:
|
||||
|
||||
/* NOP - no validity checking, all instructions length ok */
|
||||
|
||||
case OP_NOP: /* nop */
|
||||
case OP_NOP: /* nop */
|
||||
break;
|
||||
|
||||
/* HALT - unless length = 4 (branch), no validity checking; all lengths ok */
|
||||
@@ -1569,7 +1569,8 @@ int32 a, b, c, r;
|
||||
|
||||
c = 0; /* init carry */
|
||||
do {
|
||||
a = M[ap]; b = M[bp]; /* get operands */
|
||||
a = M[ap]; /* get operands */
|
||||
b = M[bp];
|
||||
r = bcd_to_bin[b & DIGIT] + /* sum digits + c */
|
||||
bcd_to_bin[a & DIGIT] + c;
|
||||
c = (r >= 10); /* set carry out */
|
||||
@@ -1671,8 +1672,10 @@ for (i = 0; i < 64; i++) { /* clr indicators */
|
||||
if ((i < IN_SSB) || (i > IN_SSG)) ind[i] = 0; /* except SSB-SSG */
|
||||
}
|
||||
ind[IN_UNC] = 1; /* ind[0] always on */
|
||||
AS = 0; as_err = 1; /* clear AS */
|
||||
BS = 0; bs_err = 1; /* clear BS */
|
||||
AS = 0; /* clear AS */
|
||||
BS = 0; /* clear BS *
|
||||
as_err = 1;
|
||||
bs_err = 1;/
|
||||
D = 0; /* clear D */
|
||||
hb_pend = 0; /* no halt br */
|
||||
pcq_r = find_reg ("ISQ", NULL, dptr);
|
||||
|
||||
@@ -134,7 +134,7 @@ char cbuf[CBUFSIZE], gbuf[CBUFSIZE];
|
||||
|
||||
if ((*cptr != 0) || (flag != 0)) return SCPE_ARG;
|
||||
ptr = 0;
|
||||
for ( ; (cptr = fgets (cbuf, CBUFSIZE, fileref)) != NULL; ) { /* until eof */
|
||||
for ( ; (cptr = fgets (cbuf, CBUFSIZE, fileref)) != NULL; ) { /* until eof */
|
||||
mask = 0;
|
||||
if (*cptr == '(') { /* repeat count? */
|
||||
cptr = get_glyph (cptr + 1, gbuf, ')'); /* get 1st field */
|
||||
|
||||
Reference in New Issue
Block a user