Commit graph

2045 commits

Author SHA1 Message Date
Phil Budne
770c37309e PDP7: GRAPHICS2 cleanup, output side starting to work, but not input side? 2016-03-27 04:33:21 -07:00
Phil Budne
40a3628173 PDP7: Start of Bell Labs GRAPHICS-2 simulation (as "Glass TTY") 2016-03-27 04:33:02 -07:00
Mark Pizzolato
b9c43e7eec PDP11: Fix compiler warnings due to recent Xcode version change on OS X 2016-03-25 17:45:20 -07:00
Mark Pizzolato
adcd64d20c makefile: Fix build of VAX simulator which was recently broken 2016-03-25 17:44:44 -07:00
Mark Pizzolato
fb9e0ac354 makefile: Fix -fwhole-program warnings on OS X with newest Xcode 2016-03-25 17:26:30 -07:00
Mark Pizzolato
d2269f8bd5 VAX: Fix compile error introduced by previous commit. 2016-03-25 09:37:27 -07:00
Mark Pizzolato
126032428c VAX: Add IDLE names which align with various BSD Version names
Fix #294
2016-03-25 09:32:36 -07:00
Mark Pizzolato
bfe87ed1c5 VAX780, VAX750, VAX730, VAX8600: Add TC11/TU56 (DECtape) device to Unibus VAX simulators 2016-03-25 04:01:44 -07:00
Mark Pizzolato
d0e3d2252a VAX: Correct documented list of CPU IDLE options.
Fix #294
2016-03-24 10:17:21 -07:00
Mark Pizzolato
733f904b8c VAX: Removed SET CPU IDLE=ALL which can only produce strange behavior
As discussed in issue #294
2016-03-24 09:49:28 -07:00
Mark Pizzolato
e7f7b10f6d BESM6: Change REGister initializers to use sim_defs.h defined macros. 2016-03-23 17:43:13 -07:00
Mark Pizzolato
fc4171140a SCP: Add BINRDATA, BINRDATAD and BINRDATADF REG initialization macros.
These describe a register which is to be displayed in binary.
2016-03-23 00:43:36 -07:00
Mark Pizzolato
313a8e2608 SCP: Defer readline initialization until immediately before it will be used.
On some platforms, readline seems to behave in unexpected ways if another
file is already open when it is initialized.  Fix: #291
2016-03-22 18:41:50 -07:00
Mark Pizzolato
beaabbc35b ETHER: Add libpcap version information to the output of SHOW ETHERNET 2016-03-22 13:35:04 -07:00
Mark Pizzolato
e153b7f224 PDP8, VAX750: Fix compiler detected errors in REG initializers 2016-03-18 15:43:30 -07:00
Mark Pizzolato
80321577f9 PDP10: Adjust build to include network support 2016-03-18 09:29:45 -07:00
Mark Pizzolato
3ff89074f5 SCP: Add generic REGDATA register populating macro.
This allows simulator code to be insulated from any changes which may
be made to the REG structure in the future.  The REGDATA macro will be
update as needed to avoid any changes in simulator specific code.
2016-03-17 10:45:45 -07:00
Mark Pizzolato
a7938b455c DOC: Update "Adding a Device to a Virtual Machine" to include details on the PDP18B simulators from Bob Supnik 2016-03-17 07:19:54 -07:00
Mark Pizzolato
329f42a1fc SCP: Rework newly added REG macro definitions to avoid problems with prior declarations
Fix #288
2016-03-16 20:33:41 -07:00
Mark Pizzolato
e0e58fce66 PDP15: Update pdp18b_rp from Bob Supnik.
1. Added RP03 support and supporting "SET" commands.
2. Fixed implementation of DPCF (it's a full reset and not blocked by BUSY).
3. Fixed handling of JOB DONE flag (not touched by NOP, SEEK, or RECAL).
2016-03-16 12:49:03 -07:00
Mark Pizzolato
af0420f92b TMXR: Add explanatory messages to attach failures 2016-03-16 12:24:41 -07:00
Mark Pizzolato
6fab4cd72c PDP11: Fix TU58 boot and unimplemented commands from Don North
As discussed in #285 and #287
2016-03-16 08:41:51 -07:00
Mark Pizzolato
9de34d7f60 TMXR: Avoid assigning incoming connections to modem enabled lines which don't have DTR raised. 2016-03-15 17:32:09 -07:00
Mark Pizzolato
f71acb307d SCP: Fix expect exit behavior to not be a reason a DO command procedure exits.
The exploit purpose of an EXPECT command is to return control to the SCP
interpreter when data output matches the expect condition;  This will then
allow either related action commands specified on the EXCEPT command to
be performed or subsequent commands in the running command file.
2016-03-15 14:48:53 -07:00
Mark Pizzolato
95d2365c52 PDP18B: Update console CR/LF echo behavior from Bob Supnik
The terminal service (in the ISR) forces a CR to be output IMMEDIATELY (before anything in the output queue) when 0212 is seen on input, so it needs to echo as a LF.

I hadn't seen any (other) echo support, so I had assumed the interface was half-duplex, which of course means passwords would appear on the paper!
2016-03-15 11:33:29 -07:00
Mark Pizzolato
6595ae52df PDP18B: Latest updates from Bob Supnik
- Added unix v0 terminal support
- Added 3-cycle databreak set/show entries
- Revised for dynamically allocated memory
- Added support for -u modifier (UC15 and Unix v0)

These changes are to support the Unix v0 bringup and to implement a
"Unix input" mode on the console terminal.  In Unix mode, CR and LF are
swapped (so that a modern terminal can use 'enter' instead of CTRK-J to
create the newline Unix expects), escape is mapped to altmode (175),
upper and lower case are enabled and the parity bit is forced to 1.  This
most closely matches the characteristics of the KSR-37, but there is no
definitive evidence of the terminal that was actually used.
2016-03-15 09:52:20 -07:00
Mark Pizzolato
f17c3535da VAX750, VAX730, PDP11: Fix crash during startup of Release build binary on Windows.
Need to compile Win32 pthreads library without whole program optimization to
avoid removal of some TLS state.  This change was made previously for all other
simulators built with pthreads (asynchronous) support, but the VAX750, VAX730
and the PDP11 were missed.
2016-03-14 23:38:53 -07:00
Mark Pizzolato
58925f7672 SCP: Assure that a failure message is emitted before calling abort(). 2016-03-14 22:57:46 -07:00
Mark Pizzolato
72d4e73024 VAX, PDP11: Correct TU58 register declarations
Use REG_STRUCT register flag via the SRDATAD and SRDATADF macros to
reference per controller data structures in the CTLR structure.

Fix #286
2016-03-14 15:20:13 -07:00
Mark Pizzolato
37733cabee SCP: Add support REGister data in arrays of arbitrary structures. 2016-03-14 15:07:22 -07:00
Mark Pizzolato
b304d7f4a8 HP3000: Bug fix for byte instruction effective addresses calculations with negative indexes.
Update from Dave Bryan
2016-03-12 08:04:44 -08:00
Mark Pizzolato
1b6f28a743 SLIRP: Allow NAT networking even if pthreads are not available.
As mentioned in #284
2016-03-09 10:02:13 -08:00
Mark Pizzolato
fb8f630ea9 MAKEFILE: Fix locale issues while locating include and library paths
As reported in #284
2016-03-09 10:01:15 -08:00
Mark Pizzolato
3a4e879c07 HP3000: Initial release of the HP 3000 Series III simulator (from Dave Bryan) 2016-03-07 20:47:57 -08:00
Mark Pizzolato
53b6809e4a HP2100: Change hp_disclib filename to hp2100_disclib (from Dave Bryan) 2016-03-07 20:42:19 -08:00
Mark Pizzolato
71e745b0c8 PDP11: Fixed bug in history virtual addressing (Bob Supnik)
The problem has to do with the difference in how the PSW is stored when
the simulator is running (it's all in pieces) or stopped (it's collected in PSW).
cpu_ex is a console routine and expects the PSW to be stored in PSW, but
when history is collected, it's not. In particular, cm (current mode) is in local
variable cm.

cpu_ex with /v calls relocC, which derives the current mode from the
switches:

- if /ksup, use kernel/supervisor/user/previous mode (from PSW); otherwise,
   use current mode from PSW
- if /d, use data space; otherwise, use instruction space

relocC is doing current mode i-space, which is what's wanted... except that
it's deriving current mode from PSW, rather than cm, which is where it's stored
while the simulator is running. It's fairly likely that PSW is long obsolete by the
time the history is invoked.
2016-03-06 06:27:15 -08:00
Mark Pizzolato
51aad45cdc PDP18B: Add RB disk to PDP7 and DRM drum to PDP9 and -u, -p examine/deposit switches in PDP7, PDP9 and PDP15
This merges the latest PDP18B changes from Bob Supnik:
 - It adds the RB disk to the PDP-7 and the drum (DRM) to the PDP-9, per the
    discoveries in the 18b services listing.
-  It tweaks the switches for examine and deposit to support Unix v0 and
    (eventually) the Unichannel.
2016-03-01 08:33:28 -08:00
Mark Pizzolato
253f8a8dcf VAX: Move CPU register and routine declarations into vax_defs.h
Avoid redundant declarations in every simulator module that uses them
and allow compiler to validate consistency of declarations and definitions.
2016-02-29 16:37:18 -08:00
Mark Pizzolato
8d51b3517d VAX: Add computed results to instruction history trace 2016-02-28 18:02:25 -08:00
Mark Pizzolato
c8cd853102 VAX: Allow SET CPU IDLE command to not specify a stability value.
Report invalid stability values and explain why they're invalid.

Fixes #281
2016-02-26 02:17:31 -08:00
Mark Pizzolato
9a7c46f59e PDP11, VAX: Fix DEUNA/DELUA receive descriptor message size indicator.
When packets arrive which require multiple receive buffers to deliver, the
full packet size is reported in the MLEN field of the final receive descriptor
used (the one with the ENF bit set).  Previously, correct behavior only
happened when the full packet fit into a single receive buffer.  This problem
was reported and the detail identified by Johnny Billquist.
2016-02-25 08:58:02 -08:00
Mark Pizzolato
f3ca23c739 DOC: Correct parameter description in "Writing a Simulator for the SIMH system". 2016-02-25 05:14:49 -08:00
Tony Nicholson
4d25cc4bc5 slirp_glue: cleanup compiler warning of duplicate definition of O_BINARY under Cygwin 2016-02-25 10:03:49 +11:00
Mark Pizzolato
9d979360b4 VAX: Add the ability to 'STEP OUT" of the most recent subroutine call.
This is invoked with STEP -R nnn, or CONT -R.  Execution will continue
across any new subroutines which are called and stop after the current
routine executes a RET or RSB instruction.
2016-02-24 10:44:12 -08:00
Mark Pizzolato
6148585610 README: Added specific mention that GNU make is required for a makefile build. 2016-02-24 09:03:18 -08:00
Mark Pizzolato
4dfbb98946 PDP11, VAX: Add detailed receive descriptor list usage debug information. 2016-02-24 09:02:17 -08:00
Mark Pizzolato
49d3ec8ff7 VAX: Add command support to set the idle stability delay
SET CPU IDLE={OS{:n}} where n is the idle stability delay
which is also the clock calibration delay.
A -D switch on a SHOW -D CPU IDLE command will
display the stability delay as will a SHOW CLOCK command.
2016-02-23 17:07:12 -08:00
Mark Pizzolato
2e21baffa8 PDP11: Revised doc to include EXAMINE -B 2016-02-23 08:33:03 -08:00
Mark Pizzolato
cea1f1bb52 VAX: Add optional simulator time and logging to disk for instruction history.
simulator time allows instruction history to be precisely correlated with
debug output.  It also provides a way to reproduce and review simulation
activities by stopping at predetermined time values (via STEP) to
examine details of simulator state.

disk logging can be useful to compare activities performed in separate
simulator runs.
2016-02-23 08:31:57 -08:00
Mark Pizzolato
92fe35fb9c PDP10: Fix nested indirect address limit exceeded (from Bob Supnik)
If the nested indirect/execute limit (INDMAX, XCTMAX) is set to 0, the simulator will loop indefinitely in an indirect address or execute loop, testing for interrupts before each memory reference. Thus, on an infinite loop, the simulator will never complete the instruction, but the instruction is interruptible. So for example, under TOPS-10:

.r ddt
1/    0    jrstf @1
1$g
^C
^C
.

The JRSTF will never finish, but it can be interrupted by any device, and double ^C will return control to the command line.

If INDMAX or XCTMAX is non-zero, the previous behavior of limiting loops to a specific depth is retained. However, the default value is now 0.

This closes issue #218.

Conflicts:
	doc/pdp10_doc.doc
2016-02-19 12:28:56 -08:00