Commit graph

1827 commits

Author SHA1 Message Date
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
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