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.
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).
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.
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!
- 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.
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.
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.
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.