Commit graph

2163 commits

Author SHA1 Message Date
Mark Pizzolato
cb96abef96 PDP11, VAX: Use standard error status reporting with richer message text in auto-config 2016-04-05 15:01:11 -07:00
Mark Pizzolato
46465d3348 VAX: Add explanation to reason for stopping due to invalid PSL value
A user could change the contents of the PSL via a DEPOSIT command.
If the resulting PSL indicates Interrupt Stack and IPL is 0, then this is
equivalent to MTPR #0,#IPL which is explicitly described as "undefined"

When a MTPR #0,#IPL is performed, the VAX chip microcode doesn't check,
neither does the 780 microcode.  Nothing bad will happen immediately,
however when an interrupt occurs, the saved PSL will now contain IPL 0
and Interrupt Stack.  This combination will cause the REI dismissing the
taken interrupt to fail.  To avoid a user manually creating this via
a DEPOSIT command or to potentially detect this condition while stepping
through instructions this check refuses to execute when the PSL is
invalid.  This change merely provides an explanation.

On page 5-37 of the VAX SRM (DEC standard 32), the REI pseudo-code defines
exactly what a legal PSL looks like. The check at the beginning of
sim_instr is a direct implementation of that check, intended to prevent
the user from creating an inconsistent PSL through the simulator console.
In a VAX chip, the console code would exit by a genuine REI, and any
illegal value created by the user would cause a system stop (return to the
console).

On page 5-43, the revision history notes that in rev 8 of chapter 5,
MTPR #0,#IPL was made undefined. Because MXPR is privileged, and the
general assumption was that VMS knew what it was doing, no one realized
the potential inconsistency that MTPR #IPL could create until it was
too late. "Undefined" allows any behavior, up to and including blowing up
the system.
2016-04-05 06:44:30 -07:00
Mark Pizzolato
9bfdc1fb42 PDP11, VAX: Add XQ device delay to receive processing for loopback and setup packets 2016-04-05 05:21:04 -07:00
Mark Pizzolato
35180aabb0 PDP11, VAX: Fix DELQA device identity sensing (DEQNA & LockMode) 2016-04-05 05:17:51 -07:00
Tony Nicholson
ac2e3d9c62 VAX: Fix external type definition for BadCmPSL
Compilation under HP C V7.3-009 on OpenVMS Alpha V8.3 detected this
problem
2016-04-02 07:29:57 -07:00
Mark Pizzolato
488e747886 PDP11, VAX: Assure that DMA output to non-connected lines completes normally
Also make all scheduled timing behaviors consistent and not performed by
the input polling unit which may have different scheduling characteristics
to reflect input speed rate limiting.
2016-03-30 09:59:09 -07:00
Mark Pizzolato
bcf6e288b2 PDP11, DH11, DHU11: Fix startup initialization delay in DHU mode
Excessive delay would be reported on Ultrix as:

     "Warning: DHU device failed to exit self-test"

As discussed in #296
2016-03-29 17:22:55 -07:00
Mark Pizzolato
02d9bc304b makefile: Avoid trying to build using static libraries for libsdl and libsdl2.
Fix #297 (at least for OpenSUSE Leap 42.1)
2016-03-29 14:06:15 -07:00
Mark Pizzolato
736e341fd2 makefile: Fix OS X build to correctly supply input events for video capable sims 2016-03-28 18:16:59 -07:00
Mark Pizzolato
fb36c22058 makefile: simplify building Video support by leveraging sdl-config and sdl2-config 2016-03-27 14:00:17 -07:00
Mark Pizzolato
2b155ba29d VAX780, VAX750, VAX730, VAX8600: Add TC11/TU56 (DECtape) device to Unibus VAX simulators
VMS Driver and support files for the TC11 should be available at
http://bitsavers.org/bits/DEC/vax/vms/dkdriver_vms.zip
2016-03-27 12:28:02 -07:00
Mark Pizzolato
72c328e771 PDP7: Fix Visual Studio and VMS build for new GRAPHICS-2 device 2016-03-27 04:43:35 -07:00
Phil Budne
736bf138b9 PDP7: GRAPHICS-2 A bit more description on the hardware, and UNIX-7 usage,
additional thoughts on creating a web interface!!!
2016-03-27 04:36:49 -07:00
Phil Budne
3167abeb93 PDP7: GRAPHICS2 send anything new before pressing button 7! 2016-03-27 04:36:37 -07:00
Phil Budne
8cf83c1b12 PDP7: GRAPHICS2 works, mostly 2016-03-27 04:36:05 -07:00
Phil Budne
90730088fb PDP7: GRAPHICS2 fix "write button lights" IOT
revert back to what it had been (octal/decimal confusion)
2016-03-27 04:35:01 -07:00
Phil Budne
f9d3081cd7 PDP7: GRAPHICS2 Fix keyboard input; map CR to NL on input; stuff CR on output 2016-03-27 04:34:36 -07:00
Phil Budne
8f7523bd45 PDP7: GRAPHICS-2 rename pdp18b_g2.c pdp18b_g2tty.c
This allows for storage scope simulation (too)!
(there is one program among the PDP-7 UNIX sources that uses the display)
2016-03-27 04:33:48 -07:00
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