Commit graph

1757 commits

Author SHA1 Message Date
Mark Pizzolato
a9cc1f1c68 PDP11, VAX: Provide a useful error message when the unimplemented DUMP command is attempted. 2016-01-25 16:21:54 -08:00
Mark Pizzolato
c8c071e3e1 PDP11: Fix DL11 & TU58 autoconfigure limitation checks 2016-01-25 07:03:30 -08:00
Mark Pizzolato
5da0d954c4 MUX: Add line disconnect message when a simulated line is dropped due to DTR transition,
To promote clarity of experience, a user on a telnet connected line (which
supports modem control signaling) will receive a "Disconnected from
{simulator name}" message when a session is explicitly terminated by the
simulated system.  This allows the user to differentiate that case from the
simulator merely being powered off or otherwise crashing.  This behavior
mirrors the "Connected to the {simulator name}" message that is presented
when the connection is established.
2016-01-25 05:00:07 -08:00
Mark Pizzolato
d8f2647f93 SCP: general const cleanups and const change to sim_vm_parse_addr. 2016-01-24 08:27:08 -08:00
Mark Pizzolato
80595a532f TIMER: Properly define the timespec structure when building with newer MinGW.
From Dave Bryan.
2016-01-23 14:07:59 -08:00
Mark Pizzolato
32440a4138 PDP11, VAX: Fix memory leak when preparing DEC Std 144 bad block table on new disk images 2016-01-22 11:31:22 -08:00
Mark Pizzolato
ed64606ea3 VAX: Fix inconsistencies in setting CPU model for simulators that have different models 2016-01-22 08:44:09 -08:00
Mark Pizzolato
e7d379a862 PDP11, VAX: Remove UNIT_DISABLE from the XQ and XU UNIT definitions since the devices and not the units can be disabled. 2016-01-21 11:44:56 -08:00
Mark Pizzolato
688416a4d7 VAX, MicroVAX1, MicroVAX2: Provide consistent messages when attempting to change CPU Model.
As discussed in issue #269
2016-01-21 07:37:06 -08:00
Mark Pizzolato
2459a4c697 PDP11, VAX: Add logic to receive buffer descriptor processing to avoid list overrun.
If a driver sets up a receive buffer descriptor list as a circular ring, the
potential exists for a burst of arriving packets to wrap around the receive
buffer ring in a single round of input processing.  This is avoided by
stopping list processing when a full circle has been observed.

Additionally, debug output has been added to display issues while
processing both the receive buffer descriptor list and the transmit buffer
descriptor list.  The debug bit names are RBDL and XBDL respectively.
2016-01-20 11:13:28 -08:00
Mark Pizzolato
3a88a1d812 PDP11, VAX: Fix compiler warnings about quotes in #if 0 #endif block 2016-01-20 10:51:01 -08:00
Mark Pizzolato
db3531e56d DISK: Properly base disk unit flags at UNIT_V_UF and provide useful DKUF_V_UF flag space.
Adjust the disk device simulators that depend on sim_disk as discussed in: #268
2016-01-19 09:47:42 -08:00
Mark Pizzolato
746c4fdc15 PDP11, VAX: Rework receive descriptor list processing and PDP11 Boot.
PDP11 network boot ROM of the DEQNA, DELQA, and DELQA-T along with
the MicroVAX I ROM boot each expect particular behavior from the XQ
device.  Prior efforts to get the PDP11 boot working added several device
specific complications to the receive buffer processing.  These are now
simplified.  Meanwhile, the generic device 'work alike' boot process has
been implemented to provide an XQ (device independent) primary
loader which extracts the first 512 bytes of the device internal boot
ROM and passes control to it for a complete boot.
2016-01-18 17:47:00 -08:00
Mark Pizzolato
e054a78398 PDP11: Add descriptions to register names and bitfields to the PSW register. 2016-01-18 07:02:06 -08:00
Mark Pizzolato
a729752466 ECLIPSE: Avoid C preprocessor name collision when building on power PC.
Fix #267
2016-01-16 01:46:03 -08:00
Mark Pizzolato
21f50649ac README: Update 2016-01-12 12:37:35 -08:00
Mark Pizzolato
5a99bcf185 SCP: Assure that files attached honor the unit Read-Only flag in addition to -R switches. 2016-01-12 09:52:14 -08:00
Mark Pizzolato
622c594e59 VAX780: Correct HELP CPU BOOT to remove TQ which isn't bootable.
Reported in #265
2016-01-12 08:09:05 -08:00
Mark Pizzolato
6210ba2059 PDP11: Add BOOT ability to the VT device to run the Lunar Lander program 2016-01-10 17:35:18 -08:00
Mark Pizzolato
542b2cbf08 PDP11: Enhance LOAD command to be able to load from an in host memory image. 2016-01-10 17:26:47 -08:00
Mark Pizzolato
ab8123e9b6 TIMER: Force at minimum of 1 instruction delay for non-zero delays in sim_activate_after(). 2016-01-10 15:53:01 -08:00
Mark Pizzolato
13c4681a2a makefile: Include display support (if available) when building pdp11 individually 2016-01-10 15:47:09 -08:00
Mark Pizzolato
e8ea427d4d PDP11: Add TU58 bootstrap support. 2016-01-07 01:24:43 -08:00
Mark Pizzolato
4ff1e317ac PDP11: Fix DLI(DL11) and TDC(TU58) devices to be limited to a total of 16 devices between them 2016-01-06 08:09:50 -08:00
Mark Pizzolato
3e3c05523c PDP11, VAX: Fix AutoConfigure to allow multiple dynamically configured devices to allocate from the same pool of fixed addresses.
Dynamically configured devices simulate multiple controllers with a single DEVICE structure and can have the number of controllers being simulated set by the user.  DLI, DZ, DUP, DMC, TDC, VH, DC are all dynamically configured devices.
DLI and TDC are dynamically configured devices which get static bus addresses.
2016-01-06 08:08:19 -08:00
Mark Pizzolato
b4e604aae4 PDP10, PDP11, VAX: Fix buffer overrun in dmc_attach 2016-01-05 15:37:06 -08:00
Mark Pizzolato
6501503897 PDP11, VAX: Fix potential NULL pointer dereference in autoconfigure.
No existing simulators have device combinations that would expose this.
It is merely the right thing to do.
2016-01-05 15:32:09 -08:00
Mark Pizzolato
51cd9b719e Intel-Systems: Removed duplicate files which were named with different case 2016-01-05 15:02:12 -08:00
Mark Pizzolato
c5cf64c439 PDP11, VAX: Allow autoconfigure to allocate fixed address and vectors properly.
When an auto configuration table entry contains multiple devices be sure
to account for earlier devices which may be disabled while allocating fixed
address and vector values.  Examples: XQ, XQB, RB, RQB, RQC, RQD, RX, RY
This problem is discussed in #263
2016-01-05 04:05:04 -08:00
Mark Pizzolato
434a367daf TAPE: Add tolerance when handling TPC formatted tapes which may have garbage at EOT.
If a TPC format tape image has garbage at the end of the image, but the
image contains multiple successive tape marks, then assume that logical
End Of Tape is immediately after the last successive tape marks.
2016-01-04 14:55:03 -08:00
Mark Pizzolato
e1d5ab153e PDP11, VAX: Add sim_tape library trace debug option to the TS device. 2016-01-04 14:44:35 -08:00
Mark Pizzolato
ff0f9a7198 SCP: Add EBCDIC and RADIX-50 data to debug output of block data.
Tape and Disk contents may exist in various formats.  The -D and -E
debug switches add RADIX-50 and EBCDIC output respectively.
2016-01-04 14:43:32 -08:00
Mark Pizzolato
aa5bc9e867 DMC: Avoid using CBUFSIZE for register array data since it can vary from one platform to another.
The consequence is that cross platform save/restore operations will fail if the CBUFSIZE is different.
2016-01-03 12:16:06 -08:00
Mark Pizzolato
ed2de2fcf2 FIO: Add LARGE_FILE support when building on Cygwin (from Don North). 2016-01-03 04:02:32 -08:00
Mark Pizzolato
6582aeead2 SCP. PDP11: Add ESC and ENQ to the default set of console output characters in 7P mode.
Revert change to add ESC and ENQ to printable characters for all simulators
and make that change only for the PDP11.
2016-01-02 05:07:18 -08:00
Mark Pizzolato
9c977e9392 SCP: Add ESC and ENQ to the default set of console output characters in 7B mode.
Also added mnemonic character names to the output produced when
displaying the printable character mask with SHOW CONSOLE PCHAR.
2015-12-31 16:12:14 -08:00
Mark Pizzolato
59947e8ceb PDP11: Addition of option to disable BEVENT for 11/03 and 11/23 CPUs (Bob Supnik's latest state). 2015-12-30 12:01:58 -08:00
Mark Pizzolato
ac837e5be2 PDP11: Add auto configure and build_dib_tab to cpu_reset.
The mapping of addresses in the I/O page needs to be populated before
it can be referenced.  This change allows commands at the initial sim>
prompt to touch device registers with EXAMINE and DEPOSIT as discussed
in #261
2015-12-29 10:11:39 -08:00
Mark Pizzolato
318dbb7aee PDP11: Add descriptions to DL and PCLK devices 2015-12-29 10:00:44 -08:00
Mark Pizzolato
ea4d9a16a4 PDP11, VAX: Add a small delay when the receiver is enabled.
Buggy device driver code exists which enables the receiver before
properly establishing receive buffers.  That code worked most of the
time on real hardware since it was hard for the device to receive a
packet and try to deliver it before the driver actually setup the receive
buffer descriptor list.  Discussion in #220.
2015-12-22 05:21:50 -08:00
Mark Pizzolato
ca4a690174 TMXR: Fix multi-line input rate limiting logic 2015-12-19 12:12:53 -08:00
Mark Pizzolato
619e33466b PDP11, VAX: Move DZ input character silo into device to properly rate limit received data
Previously, the input silo was modeled by using the pending input data in
the TMXR line buffer.  This was fine when bps rate limiting wasn't happening.
In order to properly pace arriving data from multiple lines the silo is now
implemented in a way which more precisely reflects the original hardware.
2015-12-19 11:42:26 -08:00
Mark Pizzolato
bbd5f9bf95 SCP: Add internal device debug state to output of SHOW DEBUG command 2015-12-19 11:26:27 -08:00
Mark Pizzolato
094cbf8295 TIMER: Avoiding conditional directives that break statements
Based on Romero B. de S. Malaquias comments Fixes #256
2015-12-17 06:44:03 -08:00
Mark Pizzolato
9f7a66a7a2 PDP11: Fix Unibus boot of RSX-11M+ systems from RQ devices
The RSX-11M+ boot driver expects a slower response from the simulated
UDA50 controller.  This response is only in during the MSCP initialization
sequence, so normal protocol interactions  for read and write I/O are
unchanged.  Updated value determined by John Forcast.  Fixes #216.
2015-12-17 06:38:31 -08:00
Mark Pizzolato
782e206858 AltairZ80: Update Visual Studio Projects and descrip.mms to include s100_mdsa.c 2015-12-17 06:31:58 -08:00
Mike Douglas
7a231a2cf9 AltairZ80: Add support for North Star single density controller
The first disk controller made by North Star was a single density
controller (MDSA). This was followed by the double density controller
(MDSAD) that is already supported in SIMH. This update adds support for
the single density controller as device MDSA. Since the controllers are
not software compatible, this update allows running of older software
designed for the MDSA controller.
2015-12-16 15:39:46 -06:00
Mark Pizzolato
a54d61050f Visual Studio Projects: Add build dependency check for libSDL2 64bit multiply fix. 2015-12-12 07:06:27 -08:00
Mark Pizzolato
283d2890fe VAX: Change BBC and BBS instructions to not be include the idle/halt testing
The MicroVAX II boot ROM has code uses one of these instructions with the
data being referenced somewhere in Qbus space.  This is not supposed to be
done according to the architecture specifications, but it must have worked on
real hardware.  In any case, as a consequence of this reference to I/O space,
these otherwise non-data modifying instructions can have side effects or
reference data which may change even in an instruction looping on itself.
Given that potential, such use isn't an infinite loop which would otherwise
inspire a drop back to scp.
2015-12-10 15:54:25 -08:00
Mark Pizzolato
54bec5c184 VAX780: Fix interval timer to correctly time variable microsecond granularity intervals.
The original implementation coupled the elapsed time measurement
to the 100Hz internal calibration clock.  This worked well enough for very
long intervals but not well at all for any intervals less than 50ms.  The net
result is that it couldn't usefully be used to produce the 60Hz clock ticks
which Unix 32V used it for.  It now leverages the microsecond timing
provided by sim_activate_after().  This problem is reported in #253
2015-12-10 10:09:23 -08:00