mirror of
https://github.com/simh/simh.git
synced 2026-04-24 19:33:40 +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
10
SDS/sds_io.c
10
SDS/sds_io.c
@@ -223,7 +223,7 @@ uint32 dev_map[64][NUM_CHAN];
|
||||
|
||||
t_stat (*dev_dsp[64][NUM_CHAN])() = { NULL };
|
||||
|
||||
/* dev_dsp maps system device numbers to dispatch routines */
|
||||
/* dev3_dsp maps system device numbers to dispatch routines */
|
||||
|
||||
t_stat (*dev3_dsp[64])() = { NULL };
|
||||
|
||||
@@ -324,14 +324,14 @@ switch (mod) {
|
||||
chan_war[ch] = chan_cnt[ch] = 0; /* init chan */
|
||||
chan_flag[ch] = chan_dcr[ch] = 0;
|
||||
chan_mode[ch] = chan_uar[ch] = 0;
|
||||
if (ch > CHAN_E) chan_mode[ch] = CHM_CE;
|
||||
if (ch >= CHAN_E) chan_mode[ch] = CHM_CE;
|
||||
if (r = dev_dsp[dev][ch] (IO_CONN, inst, NULL)) /* connect */
|
||||
return r;
|
||||
if ((inst & I_IND) || (ch >= CHAN_C)) { /* C-H? alert ilc */
|
||||
alert = POT_ILCY + ch;
|
||||
chan_mar[ch] = chan_wcr[ch] = 0;
|
||||
}
|
||||
if (chan_flag[ch] & CHF_24B) chan_cpw[ch] = 0; /* 24B? 1 ch/wd */
|
||||
if (chan_flag[ch] & CHF_24B) chan_cpw[ch] = 0; /* 24B? 1 ch/wd */
|
||||
else if (chan_flag[ch] & CHF_12B) /* 12B? 2 ch/wd */
|
||||
chan_cpw[ch] = CHC_GETCPW (inst) & 1;
|
||||
else chan_cpw[ch] = CHC_GETCPW (inst); /* 6b, 1-4 ch/wd */
|
||||
@@ -704,7 +704,7 @@ uint32 chan_mar_inc (int32 ch)
|
||||
{
|
||||
uint32 t = (chan_mar[ch] + 1) & PAMASK; /* incr mar */
|
||||
|
||||
if ((chan_flag[ch] & CHF_DCHN) && ((t & VA_POFF) == 0)) { /* chain? */
|
||||
if ((chan_flag[ch] & CHF_DCHN) && ((t & VA_POFF) == 0)) { /* chain? */
|
||||
chan_flag[ch] = chan_flag[ch] & ~CHF_DCHN; /* clr flag */
|
||||
if (chan_dcr[ch] & CHD_INT) /* if armed, intr */
|
||||
int_req = int_req | int_zc[ch];
|
||||
@@ -896,7 +896,7 @@ for (i = 0; i < NUM_CHAN; i++) {
|
||||
|
||||
for (i = 0; dptr = sim_devices[i]; i++) { /* loop thru devices */
|
||||
dibp = (DIB *) dptr->ctxt; /* get DIB */
|
||||
if ((dibp == NULL) || (dptr->flags & DEV_DIS)) continue; /* exist, enabled? */
|
||||
if ((dibp == NULL) || (dptr->flags & DEV_DIS)) continue; /* exist, enabled? */
|
||||
ch = dibp->chan; /* get channel */
|
||||
dev = dibp->dev; /* get device num */
|
||||
if (ch < 0) dev3_dsp[dev] = dibp->iop; /* special device */
|
||||
|
||||
Reference in New Issue
Block a user