mirror of
https://github.com/open-simh/simh.git
synced 2026-05-02 14:30:22 +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
@@ -803,8 +803,8 @@ switch (fnc) { /* case on function */
|
||||
break;
|
||||
}
|
||||
if ((GET_CY (dc) >= drv_tab[dtype].cyl) || /* bad cylinder */
|
||||
(GET_SF (rpda[drv]) >= drv_tab[dtype].surf) || /* bad surface */
|
||||
(GET_SC (rpda[drv]) >= drv_tab[dtype].sect)) { /* or bad sector? */
|
||||
(GET_SF (rpda[drv]) >= drv_tab[dtype].surf) || /* bad surface */
|
||||
(GET_SC (rpda[drv]) >= drv_tab[dtype].sect)) { /* or bad sector? */
|
||||
set_rper (ER1_IAE, drv);
|
||||
break;
|
||||
}
|
||||
@@ -827,8 +827,8 @@ switch (fnc) { /* case on function */
|
||||
rpcs2 = rpcs2 & ~CS2_ERR; /* clear errors */
|
||||
rpcs1 = rpcs1 & ~(CS1_TRE | CS1_MCPE | CS1_DONE);
|
||||
if ((GET_CY (dc) >= drv_tab[dtype].cyl) || /* bad cylinder */
|
||||
(GET_SF (rpda[drv]) >= drv_tab[dtype].surf) || /* bad surface */
|
||||
(GET_SC (rpda[drv]) >= drv_tab[dtype].sect)) { /* or bad sector? */
|
||||
(GET_SF (rpda[drv]) >= drv_tab[dtype].surf) || /* bad surface */
|
||||
(GET_SC (rpda[drv]) >= drv_tab[dtype].sect)) { /* or bad sector? */
|
||||
set_rper (ER1_IAE, drv);
|
||||
break;
|
||||
}
|
||||
@@ -909,7 +909,7 @@ switch (uptr->FUNC) { /* case on function */
|
||||
case FNC_READH: /* read headers */
|
||||
ba = GET_UAE (rpcs1) | rpba; /* get byte addr */
|
||||
wc10 = (0200000 - rpwc) >> 1; /* get PDP-10 wc */
|
||||
da = GET_DA (rpdc[drv], rpda[drv], dtype) * RP_NUMWD; /* get disk addr */
|
||||
da = GET_DA (rpdc[drv], rpda[drv], dtype) * RP_NUMWD; /* get disk addr */
|
||||
if ((da + wc10) > drv_tab[dtype].size) { /* disk overrun? */
|
||||
set_rper (ER1_AOE, drv);
|
||||
if (wc10 > (drv_tab[dtype].size - da))
|
||||
@@ -1256,7 +1256,7 @@ extern a10 saved_PC;
|
||||
|
||||
M[FE_UNIT] = unitno & CS2_M_UNIT;
|
||||
for (i = 0; i < BOOT_LEN; i++)
|
||||
M[BOOT_START + i] = ITS? boot_rom_its[i]: boot_rom_dec[i];
|
||||
M[BOOT_START + i] = Q_ITS? boot_rom_its[i]: boot_rom_dec[i];
|
||||
saved_PC = BOOT_START;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user