Commit graph

1856 commits

Author SHA1 Message Date
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
Mark Pizzolato
5ffd11c636 SCP: Fix year offset used when expanding DATE_19XX_YY and DATE_19XX_YYYY 2016-02-19 06:58:30 -08:00
Mark Pizzolato
5e6127ec5b VAX: Fix signed overflow in op_mtpr()
As discussed in #277
2016-02-19 06:57:35 -08:00
Mark Pizzolato
445bc9935b SCP: Add DATE_19XX_YY and DATE_19XX_YYYY variable insertion.
These variables can be used in SEND scripts which are setting the
date/time on non Y2K compliant operating systems.
2016-02-18 18:50:06 -08:00
Mark Pizzolato
aadd66c7c7 VIDEO: Fix uninitialized pointer reference under libSDL
This change fixes issue #276
2016-02-15 12:53:30 -08:00
Mark Pizzolato
c1e7dfcf06 TMXR: Make sure all types of incoming connections properly support telnet
Per line listeners also need to potentially negotiate Telnet options.  Make sure
that the telnet option bookkeeping info is available.
2016-02-14 08:10:00 -08:00
Mark Pizzolato
d497aea17e FRONTPANEL: Add breakpoint support to support a debugger using the API 2016-02-11 16:42:25 -08:00
Mark Pizzolato
5eb6750800 SCP: Avoid using tempnam() to produce OS component of SHOW VERSION output 2016-02-11 09:47:02 -08:00
Mark Pizzolato
7f1291dac8 SLiRP: FIx compiler warning about inconsistent type for slirp_dbit variable 2016-02-09 17:17:03 -08:00
Mark Pizzolato
8f54971706 rtVAX1000: Fix potential array overrun when enabling the QVSS graphics.
This can't currently happen since the rtVAX1000 doesn't include the
QVSS video device.  It probably should contain this device since VAXELN
was recently recovered and one of the features VAXELN provided was
a way for 'old' VAXStation hardware to be repurposed into X-Window
terminals.
2016-02-09 17:15:19 -08:00
Mark Pizzolato
2b3680ac61 SCP: Avoid potential file access error when producing SHOW VERSION output. 2016-02-08 23:57:32 -08:00
Mark Pizzolato
f285d52b1c SCP: More thorough OS version display in SHOW VERSION 2016-02-08 23:48:22 -08:00
Mark Pizzolato
94a0629134 PDP11, PDP1, TX-0: Merged most recent display code from Doug Gwyn. 2016-02-08 16:43:36 -08:00
Mark Pizzolato
804b7d8883 TAPE: Fix EOF detection to properly initialize state. 2016-02-08 14:16:28 -08:00
Richard Cornwell
b1d0eb3492 B5500: Added CPU Idle support, clean minor bugs.
b5500_cpu.c: Added idle support to cpu. Cleaned up some
        bugs introduced when cleaning up compiler warnings.
2016-02-08 17:09:29 -05:00
Richard Cornwell
c45878feb3 B5500: Added macros to detect buffer empty to remove compiler warnings.
b5500_mt.c: Changed checking of hwmark from -1 to 0xfffffff.
2016-02-08 17:08:06 -05:00
Mark Pizzolato
02aa4539cd MAKEFILE: Make sure that the runtime library search path is also used at link time. 2016-02-08 13:27:09 -08:00
Mark Pizzolato
ba9769c258 MAKEFILE: Add proper simulator dependency relationship for BuildROMs
This has the general benefit of making sure that the binary ROM image
files in the build working directory didn't get mangled.
2016-02-08 13:25:20 -08:00
Mark Pizzolato
7ad92f15fd ETHER: Avoid meaningless "No description available" output when opening device. 2016-02-07 06:51:08 -08:00
Mark Pizzolato
1cd8925894 B5500: Add build (Makefile, Visual Studio Project, descrip.mms) support 2016-02-06 14:39:03 -08:00
Richard Cornwell
0a33758e47 B5500: Initial checking of simulator for current simh
The B5500 simulator supports the following peripherals.

Two CPUs with between 4K and 32K of memory. The second CPU can be
enabled with "set cpu1 enable". "set cpu1 disable" disables the
second CPU.

Up to 4 floating IO channels. Individual channels can be enabled with
"set io# enable", or "set io# disable".

There are two card readers. The second reader is disabled by default.

There is one Card Punch.

The Card reader and Card Punch support the following options:
  set cr format=

     auto   - will automatically determine the format based on the
              text it recieves.
     text     Text based cards. Tabs are converted to the correct
              number of spaces. A record of
              ~raw octal will enter a binary card.
              ~eor will enter a 7/8/9 punch in column 1.
              ~eof will enter a 6/7/9 punch in column 1.
              ~eoi will enter a 6/7/8/9 punch in column 1.
              ~~ will enter a ~ as the first character.

     bin      Binary Card format:
              Each record 160 characters.
              First characters 6789----
              Second character 21012345
                               111
              Top 4 bits of second character are 0.
              It is unlikely that any other format could
              look like this.

     bcd      BCD Format:
              Each record variable length (80 chars or less).
              Record mark has bit 7 set.
              Bit 6 is even parity.
              Bits 5-0 are character.

    cbn       CBN Format:
              Each record 160 charaters.
              First char has bit 7 set. Rest set to 0.
              Bit 6 is odd parity.
              Bit 5-0 of first character are top 6 bits
                      of card.
              Bit 5-0 of second character are lower 6 bits
                      of card.

    For punch format of auto if the card can't be converted to text it is
    output as a raw record.

 There are two line printers, the second one is disabled by default. The LP
 supports the option "set lp# linesperpage=#" which determines when the
 printer will force out a page break.

 There are up to 16 mag tape drives, the format is controlled by the standard
 simh format control for tapes. These are 6 bit tapes, 1 character per record
 with parity. Units 8-16 are disabled by default.

 There are up to two drum units DR0 and DR1. These can either be attached
 to a file or set to AUXMEM. Setting to AUXMEM causes them to exist only
 during the given simh run. Setting back to DRUM will clear whatever was
 stored on the drum. To enable use of DRUM on XV the following options should
 be turned on "DRA,DRB,CODEOLAY,DATAOLAY". MCP will then use the drum as a
 overlay device instead of the disk system.

 Disks can be attached to the various ESU's, ESU0-9 are on DKA by default,
 ESU10-19 are on DKB. If "set dk1 dfx" is set, then ESU10-19 are not used and
 the disks are shared by both DKA and DKB. To use more then 10 ESU's in a non
 shared mode, a new version of MCP must be created. MCP must be compiled with
 DFX option set to false. For MCP XV DKBNODFX must also be set to true.  ESU units
 can be set to MODI or MODIB. MODIB will double the size of the drive.

 The DTC can be attached to a telnet port with "attach dtc #" to enable dialup
 access to the sim.

The loader card for the card reader is:
~raw0104441100204231524012004000004444550211002041317700000000000024045303040243
00050000006501004131011041310055005500000062005042310000006600304231000000720010
42310000007675610165001002310010413100040107202500440106202533554061256520252265
20251765202514655355536117650000004401062025155522610165225572610465044101160500
4131

  This card should be all in one line.
2016-02-06 15:51:04 -05:00
Mark Pizzolato
4d51d63ae4 PDP11, VAX: Fix XQ device identification probe logic.
Device probe logic when running VAXELN was unable to correctly initialize
the XQ device when it was set to be a DELQA or DELQA-T, but worked when
it was a DEQNA or a DELQA/DELQA-T in DEQNALock mode.  Problem
initially reported in #271
2016-02-06 06:58:57 -08:00
Mark Pizzolato
f03bae6cb6 PDP11, VAX: Add better debug output of loopback packets. 2016-02-04 10:38:31 -08:00
Mark Pizzolato
3d6dd2f3ad VAX: Fix NEXT command to also work when Virtual Memory is enabled.
Initial testing was only done with boot code before the virtual addressing
was enabled.
2016-02-04 10:32:14 -08:00
Mark Pizzolato
197edc8d93 VAX: Add VAX ELN idle support. 2016-02-04 10:28:37 -08:00
Mark Pizzolato
9df1b0e5b5 ETHER: Add local system adapter description to the attach confirmation message 2016-02-04 10:17:50 -08:00
Mark Pizzolato
9d2079df68 SERIAL: Fix extra probes to start at 0. 2016-02-01 06:54:55 -08:00
Mark Pizzolato
de72cba08b SERIAL: Add probes for common serial port names on NetBSD.
Fixes #273
2016-01-31 11:55:41 -08:00
Mark Pizzolato
197466c911 PDP11, PDP1, TX-0: Fix compiler warning with clang compiler. 2016-01-30 15:06:06 -08:00
Mark Pizzolato
b804964514 PDP11, PDP1, TX-0: Added SDL based graphics support using sim_video.
Both VT11 and VS60 properly autoconfigure on the PDP11.
PDP11 now runs Lunar Lander on all SDL supported platforms.
Reworked refresh logic to not require internal delays in the display library
2016-01-29 10:16:30 -08:00
Mark Pizzolato
51419a2e4b VIDEO: Add ability for a video window Quit event to optionally propagate back to SCP. 2016-01-29 00:30:02 -08:00
Mark Pizzolato
9da10c1219 TIMER: Make internal calibrated clock persist across multiple boots 2016-01-28 15:12:12 -08:00
Mark Pizzolato
e1ed22f30c TIMER: Add missing type on internal calibrated clock service routine 2016-01-28 13:32:47 -08:00
Mark Pizzolato
4f3dd08314 VIDEO: Add window title to vid_open. 2016-01-28 11:29:53 -08:00
Mark Pizzolato
00e8c80c7b TIMER: Provide an internal calibrated clock when none is otherwise available.
In the event that there are no active clock devices, no instruction
rate calibration will be performed.  This is more likely on simpler
simulators which don't have a full spectrum of standard devices or
possibly when a clock device exists but its use is optional and thus
sometimes it may be disabled.
2016-01-28 08:00:41 -08:00
Mark Pizzolato
21b31fc3a8 VIDEO: Add hot location functionality to cursor support.
Also sanely report memory allocation errors.
2016-01-28 07:58:02 -08:00
Mark Pizzolato
0897320a16 SCP: Add TYPE/CAT command 2016-01-28 06:49:56 -08:00
Mark Pizzolato
4595525409 TIMER: Lower the minimum calibration stability value to 2 2016-01-28 06:49:14 -08:00
Mark Pizzolato
dce0aa2935 VIDEO: Add SDL audio support to generate a beep. Add absolute pointer position to mouse events. 2016-01-25 17:14:08 -08:00
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