mirror of
https://github.com/open-simh/simh.git
synced 2026-01-26 04:02:39 +00:00
Notes For V3.0-1
RESTRICTION: The FP15 and XVM features of the PDP-15 are only partially debugged. Do NOT enable these features for normal operations. 1. New Features in 3.0-1 1.1 PDP-1 - Added block loader format support to LOAD. - Changed BOOT PTR to allow loading of all of the first bank of memory. 1.2 PDP-18b Family - Added PDP-4 EAE support. - Added PDP-15 FP15 support. - Added PDP-15 XVM support. - Added PDP-15 "re-entrancy ECO". - Added PDP-7, PDP-9, PDP-15 hardware RIM loader support in BOOT PTR. 2. Bugs Fixed in 3.0-1 2.1 PDP-11/VAX - Fixed bug in user disk size (found by Chaskiel M Grundman). 2.2 PDP-1 - Updated CPU, line printer, standard devices to detect indefinite I/O wait. - Fixed incorrect logical, missing activate, break in drum simulator. - Fixed bugs in instruction decoding, overprinting for line printer. 2.3 PDP-10 - Fixed bug in RP read header. 2.4 PDP-18b Family - Fixed bug in PDP-4 line printer overprinting. - Fixed bug in PDP-15 memory protect/skip interaction. - Fixed bug in RF set size routine. - Increased PTP TIME for PDP-15 operating systems. 2.5 PDP-8 - Fixed bug in DF, RF set size routine. 2.6 Nova - Fixed bug in DSK set size routine. 2.7 1401 - Revised fetch to model hardware more closely. 2.8 Ibm1130 - Fixed bugs found by APL 1130. 2.9 Altairz80 - Fixed bug in real-time clock on Windows host. 2.10 HP2100 -- Fixed DR drum sizes. -- Fixed DR variable capacity interaction with SAVE/RESTORE. 3. New Features in 3.0 vs prior releases 3.1 SCP and Libraries - Added ASSIGN/DEASSIGN (logical name) commands. - Changed RESTORE to unconditionally detach files. - Added E11 and TPC format support to magtape library. - Fixed bug in SHOW CONNECTIONS. - Added USE_ADDR64 support 3.2 All magtapes - Magtapes support SIMH format, E11 format, and TPC format (read only). - SET <tape_unit> FORMAT=format sets the specified tape unit's format. - SHOW <tape_unit> FORMAT displays the specified tape unit's format. - Tape format can also be set as part of the ATTACH command, using the -F switch. 3.3 VAX - VAX can be compiled without USE_INT64. - If compiled with USE_INT64 and USE_ADDR64, RQ and TQ controllers support files > 2GB. - VAX ROM has speed control (SET ROM DELAY/NODELAY). 4. Bugs Fixed in 3.0 vs prior releases 4.1 VAX - Fixed CVTfi bug: integer overflow not set if exponent out of range - Fixed EMODx bugs: o First and second operands reversed o Separated fraction received wrong exponent o Overflow calculation on separated integer incorrect o Fraction not set to zero if exponent out of range - Fixed interval timer and ROM access to pass power-up self-test even on very fast host processors (fixes from Mark Pizzolato). 4.2 1401 - Fixed mnemonic, instruction lengths, and reverse scan length check bug for MCS. - Fixed MCE bug, BS off by 1 if zero suppress. - Fixed chaining bug, D lost if return to SCP. - Fixed H branch, branch occurs after continue. - Added check for invalid 8 character MCW, LCA. - Fixed magtape load-mode end of record response. 4.3 Nova - Fixed DSK variable size interaction with restore. 4.4 PDP-1 - Fixed DT variable size interaction with restore. 4.5 PDP-11 - Fixed DT variable size interaction with restore. - Fixed bug in MMR1 update (found by Tim Stark). - Added XQ features and fixed bugs: o Corrected XQ interrupts on IE state transition (code by Tom Evans). o Added XQ interrupt clear on soft reset. o Removed XQ interrupt when setting XL or RL (multiple people). o Added SET/SHOW XQ STATS. o Added SHOW XQ FILTERS. o Added ability to split received packet into multiple buffers. o Added explicit runt and giant packet processing. 4.6 PDP-18B - Fixed DT, RF variable size interaction with restore. - Fixed MT bug in MTTR. 4.7 PDP-8 - Fixed DT, DF, RF, RX variable size interaction with restore. - Fixed MT bug in SKTR. 4.8 HP2100 - Fixed bug in DP (13210A controller only), DQ read status. - Fixed bug in DP, DQ seek complete. 4.9 GRI - Fixed bug in SC queue pointer management.
This commit is contained in:
committed by
Mark Pizzolato
parent
4ffd3be790
commit
f9564b81b9
@@ -678,7 +678,7 @@ if (trap_req) { /* check traps, ints */
|
||||
if (t = trap_req & TRAP_ALL) { /* if a trap */
|
||||
for (trapnum = 0; trapnum < TRAP_V_MAX; trapnum++) {
|
||||
if ((t >> trapnum) & 1) { /* trap set? */
|
||||
trapea = trap_vec[trapnum]; /* get vec, clr */
|
||||
trapea = trap_vec[trapnum]; /* get vec, clr */
|
||||
trap_req = trap_req & ~trap_clear[trapnum];
|
||||
if ((stop_trap >> trapnum) & 1) /* stop on trap? */
|
||||
reason = trapnum + 1;
|
||||
@@ -785,7 +785,7 @@ case 000:
|
||||
setCPUERR (CPUE_HALT); }
|
||||
break;
|
||||
case 1: /* WAIT */
|
||||
if (cm == MD_KER && wait_enable) wait_state = 1;
|
||||
if ((cm == MD_KER) && wait_enable) wait_state = 1;
|
||||
break;
|
||||
case 3: /* BPT */
|
||||
setTRAP (TRAP_BPT);
|
||||
@@ -838,8 +838,8 @@ case 000:
|
||||
if ((IR == 000002) && tbit) setTRAP (TRAP_TRC);
|
||||
break;
|
||||
case 7: /* MFPT */
|
||||
R[0] = 5; /* report J-11 */
|
||||
break; } /* end switch no ops */
|
||||
R[0] = 5; /* report J-11 */
|
||||
break; } /* end switch no ops */
|
||||
break; /* end case no ops */
|
||||
|
||||
/* Opcode 0: specials, continued */
|
||||
@@ -1378,7 +1378,7 @@ case 007:
|
||||
case 5: /* FIS - not impl */
|
||||
setTRAP (TRAP_ILL);
|
||||
break;
|
||||
case 6: /* CIS - not impl */
|
||||
case 6: /* CIS */
|
||||
if (cpu_unit.flags & UNIT_CIS) cis11 (IR);
|
||||
else setTRAP (TRAP_ILL);
|
||||
break;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
To: Users
|
||||
From: Bob Supnik
|
||||
Subj: PDP-11 Simulator Usage
|
||||
Date: 15-Mar-2003
|
||||
Date: 15-Jul-2003
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
@@ -40,11 +40,13 @@ sim/ sim_defs.h
|
||||
sim_ether.h
|
||||
sim_rev.h
|
||||
sim_sock.h
|
||||
sim_tape.h
|
||||
sim_tmxr.h
|
||||
scp.c
|
||||
scp_tty.c
|
||||
sim_ether.c
|
||||
sim_sock.c
|
||||
sim_tape.c
|
||||
sim_tmxr.c
|
||||
|
||||
sim/pdp11/ pdp11_defs.h
|
||||
@@ -154,6 +156,9 @@ with RH70-style controllers, 22b Unibus with RH11 style controllers, and
|
||||
SET CPU 2048K (or 2M) set memory size = 2048KB
|
||||
SET CPU 3072K (or 3M) set memory size = 3072KB
|
||||
SET CPU 4096K (or 4M) set memory size = 4096KB
|
||||
|
||||
The CPU implements a show command to display the I/O address space map:
|
||||
|
||||
SHOW CPU IOSPACE show I/O space address map
|
||||
|
||||
If memory size is being reduced, and the memory being truncated contains
|
||||
@@ -486,7 +491,7 @@ clock is disabled by default.
|
||||
The DZ11 is an 8-line terminal multiplexor. Up to 4 DZ11's (32 lines)
|
||||
are supported. The number of lines can be changed with the command
|
||||
|
||||
SET DZ LINES=n set line count to n
|
||||
SET DZ LINES=n set line count to n
|
||||
|
||||
The line count must be a multiple of 8, with a maximum of 32.
|
||||
|
||||
@@ -501,12 +506,15 @@ The terminal lines perform input and output through Telnet sessions
|
||||
connected to a user-specified port. The ATTACH command specifies
|
||||
the port to be used:
|
||||
|
||||
ATTACH {-am} DZ <port> set up listening port
|
||||
ATTACH {-am} DZ <port> set up listening port
|
||||
|
||||
where port is a decimal number between 1 and 65535 that is not being used
|
||||
for other TCP/IP activities. The optional switch -m turns on the DZ11's
|
||||
modem controls; the optional switch -a turns on active disconnects
|
||||
(disconnect session if computer clears Data Terminal Ready).
|
||||
(disconnect session if computer clears Data Terminal Ready). Without
|
||||
modem control, the DZ behaves as though terminals were directly connected;
|
||||
disconnecting the Telnet session does not cause any operating system-
|
||||
visible change in line status.
|
||||
|
||||
Once the DZ is attached and the simulator is running, the DZ will listen
|
||||
for connections on the specified port. It assumes that the incoming
|
||||
@@ -876,6 +884,10 @@ of many disk types:
|
||||
SET RQn RAUSER{=n} set type to RA81 with n LBNs
|
||||
|
||||
The type options can be used only when a unit is not attached to a file.
|
||||
RAUSER is a "user specified" disk; the user can specify the size of the
|
||||
disk in logical block numbers (LBN's, 512 bytes each). The minimum size
|
||||
is 50MB; the maximum size is 2GB.
|
||||
|
||||
Units can also be set ONLINE or OFFLINE. Each RQ controller supports the
|
||||
BOOT command. In a Unibus system, an RQ supports 18b addressing. In
|
||||
a Qbus (22B) system, an RQ supports 22b addressing.
|
||||
@@ -928,13 +940,13 @@ crash on boot or to hang during operation.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
error processed as
|
||||
|
||||
not attached disk not ready
|
||||
not attached disk not ready
|
||||
|
||||
end of file assume rest of disk is zero
|
||||
end of file assume rest of disk is zero
|
||||
|
||||
OS I/O error report error and stop
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.8 TC11/TU56 DECtape (DT)
|
||||
|
||||
@@ -1227,18 +1239,18 @@ controller will behave as though the ethernet cable were unplugged.
|
||||
|
||||
XQ has the following registers:
|
||||
|
||||
name size comments
|
||||
name size comments
|
||||
|
||||
SA0 16 station address word 0
|
||||
SA1 16 station address word 1
|
||||
SA2 16 station address word 2
|
||||
SA3 16 station address word 3
|
||||
SA4 16 station address word 4
|
||||
SA5 16 station address word 5
|
||||
CSR 16 control status register
|
||||
VAR 16 vector address register
|
||||
RBDL 32 receive buffer descriptor list
|
||||
XBDL 32 trans(X)mit buffer descriptorlList
|
||||
SA0 16 station address word 0
|
||||
SA1 16 station address word 1
|
||||
SA2 16 station address word 2
|
||||
SA3 16 station address word 3
|
||||
SA4 16 station address word 4
|
||||
SA5 16 station address word 5
|
||||
CSR 16 control status register
|
||||
VAR 16 vector address register
|
||||
RBDL 32 receive buffer descriptor list
|
||||
XBDL 32 trans(X)mit buffer descriptorlList
|
||||
|
||||
One final note: because of it's asynchronous nature, the XQ controller is
|
||||
not limited to the ~1.5Mbit/sec of the real DEQNA/DELQA controllers,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
rq RQDX3 disk controller
|
||||
|
||||
11-Jul-03 RMS Fixed bug in user disk size (found by Chaskiel M Grundman)
|
||||
19-May-03 RMS Revised for new conditional compilation scheme
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
14-Mar-03 RMS Fixed variable size interaction with save/restore
|
||||
@@ -2009,7 +2010,7 @@ if ((val < 0) || (val > RA8U_DTYPE) || ((val != RA8U_DTYPE) && cptr))
|
||||
return SCPE_ARG;
|
||||
if (uptr->flags & UNIT_ATT) return SCPE_ALATT;
|
||||
if (cptr) {
|
||||
cap = (int32) get_uint (cptr, 10, RA8U_MAXC, &r);
|
||||
cap = (int32) get_uint (cptr, 10, max, &r);
|
||||
if ((r != SCPE_OK) || (cap < RA8U_MINC)) return SCPE_ARG;
|
||||
drv_tab[val].lbn = cap << (20 - 9); }
|
||||
uptr->flags = (uptr->flags & ~UNIT_DTYPE) | (val << UNIT_V_DTYPE);
|
||||
|
||||
Reference in New Issue
Block a user