Commit graph

4162 commits

Author SHA1 Message Date
Davis Johnson
8085f5ea25 ID32: Fix DP unit busy test
The problem turned out to be a call to sim_is_active() from id_dp.c with
an invalid pointer. This surprised me some since this isn’t a module that
changed significantly.

In normal disk operation the driver accesses the disk address (sometimes
called file address in the hardware docs) before accessing the controller
address. The simh disk emulator (dp.c) sets a current disk variable,
dp_svun, to the current disk address when a disk is accessed. It gets
set to 0 initially and under some other circumstances.

The address of passed to sim_is_active() is calculated, in part, by
subtracting the controller address from the disk address. This results
in a bigish negative offset from the beginning of an array if dp_svun
is 0.

The diagnostic sends a disarm-disable (x’c0’) command to every device
address, from 0 to x’3ff’. This hits the controller before the disk,
exercising the error.

This same thing happened in v38-1, but sim_is_active() did not
dereference the pointer passed to it, but scanned an array for that
pointer value. The current version does dereference the pointer.

My crude fix, which does not make me happy, is to replace the call
sim_is_active(uptr) with (dp_svun && sim_is_active(uptr)). This does
give behavior identical to v38-1 and allows me to proceed.
2021-07-21 18:44:35 -07:00
David Wijnants
eb753fc82f S3: Provide readable 7 segment error code display
As discussed in #1052
2021-07-21 14:03:35 -07:00
Mark Pizzolato
243951a791 Unibus and Qbus VAX systems: Update TODR help information 2021-07-14 11:00:23 -07:00
Ian Stewart
6728b3f48f alpha: Correct instruction mnemonics and hex values
As discussed in #1049
2021-06-22 03:54:25 -07:00
Mark Pizzolato
492819380f makefile: Generalize HomeBrew dependency checking for MacOS M1 systems
As discussed in #1050
2021-06-22 03:48:23 -07:00
Mark Pizzolato
e519c93ebf H316, NOVA, PDP11, PDP8, PDP18B, KX10: Record Sequential updates consistently
Devices that do single character I/O could be attached to non seekable
host OS devices (tty, pipes, etc.) and thus shouldn't count on fseek()
and ftell().  These DEVICEs on these simulators do single character I/O
and easily can update their POS REGisters to reflect how much data has
been emitted.  Changing such a REGister will have no  useful effect
when attached to a non seekable file.
2021-06-08 14:25:23 -07:00
Mark Pizzolato
3597772a08 TMXR, ETHER: Silence potential compiler warnings 2021-06-08 13:39:20 -07:00
Mark Pizzolato
4b03e1493a PDP11: Fix typo in cpu_boot routine 2021-06-08 13:12:01 -07:00
Mark Pizzolato
287ebb3ea8 TMXR: Update tmxr_set_lnorder and add test of same 2021-06-08 13:07:03 -07:00
Mark Pizzolato
7dda50344c FIO: Allow access to all file names with or without quotes 2021-06-08 13:06:47 -07:00
Mark Pizzolato
57c80f0691 PDP8: Update clock options in documentation 2021-06-08 02:06:42 -07:00
Bob Supnik
d0426631d6 PDP8: Fixed RF/DF and LP decoding
As reported in #1045
2021-06-07 23:16:53 -07:00
Bob Supnik
2c2f47af06 PDP8, PDP18b: Fixed RF, DF, DT device bug if read overwrites WC memory location
As reported id #1023
2021-06-07 23:15:05 -07:00
Bob Supnik
2d20bc9d63 PDP8: Added diagnostic mode for TSS/8 2021-06-07 21:35:31 -07:00
Mark Pizzolato
1a0024aabe makefile: add support on MacOS for alternate location of HomeBrew components
As discussed in #1048
2021-06-07 12:27:49 -07:00
Mark Pizzolato
1548bd1cf6 infoserver100, infoserver150vtx: Add idle detection support
As reported in #1047
2021-06-05 13:17:27 -07:00
Mark Pizzolato
d23942bc37 SCP: Allow ; and # comments on SET and SHOW command lines 2021-06-05 12:24:57 -07:00
Ian Robert Stewart
2d5226a1cd alpha: Correct opcode mnemonics
Four corrections to typos in mnemonics in const char *opcode[] in alpha_sys.c:
_L should be _C for opcodes 2E and 2F.

Alpha simulator V4.0-0 Current git commit id: 3c1c92d
sim> ; Opcode 2E
sim> ev -m 0xB8000000
0: STL_L R0,0(R0)
4: 00000000B8000000
sim>
sim> ; Opcode 2F
sim> ev -m 0xBC000000
0: STQ_L R0,0(R0)
4: 00000000BC000000
sim>

According to, Alpha Architecture Handbook V4, October 1998, Table C2:
There are no instructions with the mnemonics STL_L or STQ_L, but there are STL_C and STQ_C.

The nmemonics are correct in https://github.com/simh/simh/blob/master/alpha/alpha_cpu.c
case OP_STL_C: /* STL_C /
case OP_STQ_C: / STQ_C */

but in https://github.com/simh/simh/blob/master/alpha/alpha_sys.c
In const char *opcode[] = { the line:

"STL", "STQ", "STL_L", "STQ_L",

has been corrected to be:

"STL", "STQ", "STL_C", "STQ_C",

=====

BF should be FB in mnemonic for Opcode 36.

Alpha simulator V4.0-0 Current git commit id: 3c1c92d
sim> ; Opcode 36
sim> ev -m 0xD8000000
0: BFGE R0,4
4: 00000000D8000000
sim>

According to, Alpha Architecture Handbook V4, October 1998, Table C2:

FBGE Bra 36 Floating branch if ≥ zero

This is correct in https://github.com/simh/simh/blob/master/alpha/alpha_cpu.c
case OP_FBGT: /* FBGT */

but in https://github.com/simh/simh/blob/master/alpha/alpha_sys.c
In const char *opcode[] = { the line

"BSR", "FBNE", "BFGE", "FBGT",

has been corrected to be...

"BSR", "FBNE", "FBGE", "FBGT",

=====

MULLQ/V should MULQ/V as the mnemonic for Opcode 13.60

sim> ; Opcode 13.60
sim> ev -m 0x4C000C00
0: MULLQ/V R0,R0,R0
4: 000000004C000C00
sim>

According to, Alpha Architecture Handbook V4, October 1998, Table C2:

MULQ/V Opr 13.60 Multiply quadword

This is correct in https://github.com/simh/simh/blob/master/alpha/alpha_cpu.c
case 0x60: /* MULQ/V */

but in https://github.com/simh/simh/blob/master/alpha/alpha_sys.c
In const char *opcode[] = { the line

"MULL/V", "MULLQ/V",

has been corrected to be:

"MULL/V", "MULQ/V",
2021-06-03 07:44:07 -07:00
Mark Pizzolato
4ce23275e0 PDP11: Add default CPU BOOT to ROM if ROM is enabled and reasonably configured 2021-05-30 15:51:15 -07:00
Mark Pizzolato
cf1ac44d4a SCP: Allow SET/SHOW commands to operate on explicitly set unit names
simh UNITs that have their name set via sim_set_uname() can now be
referenced via MTAB entries for the related DEVICE as well as attach
commands.
2021-05-30 15:37:01 -07:00
Mark Pizzolato
e7169d48cd BuildROMs: Generate include files with standard lines endings on all platforms 2021-05-15 15:24:27 -07:00
Seth Morabito
92ff16ca7b 3B2: Rename files in prep for Rev 3 support
This change lays the groundwork for adding support for Rev 3 3B2 models,
which includes the Model 500, Model 600, and Model 1000.

Rather than use the fixed strings "400" and "1000" in file names, the
strings "rev2" and "rev3" will be used, which allows greater flexibility
to implement various system configurations more easily.

Additionally, this change adds a copy of the Debug Monitor (DEMON) ROM
image for the Rev 2 board, to be used soon in a later checkin.
2021-05-12 10:56:39 -07:00
Mark Pizzolato
60a3c52e12 README.md: Clarify wording relating to building with MinGW32
As reported in #1039
2021-04-27 08:54:23 -07:00
Seth Morabito
9bf37d3d6b 3B2: Don't clobber number of serial lines
Serial line setup was inadvertantly clobbering the number of lines on
initial setup, leading to potential invalid configuration.
2021-04-24 08:50:09 -07:00
Lars Brinkhoff
ab48f31317 video: Ignore events from unrecognized windows.
Print information about ignored event.
2021-04-20 18:37:32 +02:00
Mark Pizzolato
7008edc561 SCP: Fix SHOW writeenable MTAB entries
As discussed in #1034
2021-04-20 09:28:41 -07:00
Mark Pizzolato
68e407ba0f ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
Mark Pizzolato
386edb49db PDP10: Fix typo in MTAB entries for DT and RS devices 2021-04-19 14:49:49 -07:00
Mark Pizzolato
9f9a88abf2 PDP8: Silence clang warning in loader logic 2021-04-19 10:59:14 -07:00
Mark Pizzolato
a015e44c10 ALL: Standardize writelock behavior adding global UNIT_WLK & UNIT_WPRT
Historically this functionality was reimplemented within each
DEVICE simulator often with slightly different implementations
and inconsistencies.  Solving this globally within SCP required
changes in many places, but should henceforth be reasonably
managed.

As discussed in #1034
2021-04-19 10:58:51 -07:00
Mark Pizzolato
587b81bed4 PDP11: Avoid redundant message in RH help text
As mentioned in #1034
2021-04-19 10:58:08 -07:00
Lars Brinkhoff
3b8b9a0c81 Intel-Systems: Remove imds and isys build targets from GitHub Actions. 2021-04-19 18:35:48 +02:00
Mark Pizzolato
af0754f93a PDP11: Clarify TC device attach and detach read only & write update messages
As discussed in #1034
2021-04-16 11:33:42 -07:00
Mark Pizzolato
7276dc1f8d SCP: Make ATTACH messages report the UNIT name
As discussed in #1034
2021-04-16 11:28:43 -07:00
Mark Pizzolato
4471e0525d Visual Studio Projects: Fix build of FrontPanelTest pthread component 2021-04-12 13:36:09 -07:00
Mark Pizzolato
f77332112f SCP: Fix HELP DISKINFO
As reported in #1031
2021-04-12 10:24:32 -07:00
Mark Pizzolato
c4ff4954be Visual Studio Projects: Clarify VS2008 installation instructions. 2021-04-12 10:17:47 -07:00
Mark Pizzolato
e1d60d1035 SCP: Avoid redundant HELP SET output for single unit DEVICEs 2021-04-12 03:50:52 -07:00
Mark Pizzolato
dea084a908 SCP: Fix Coverity issue 2021-04-11 15:54:11 -07:00
Mark Pizzolato
c004fcc2ba SCP: Fix Coverity identified issues 2021-04-11 15:48:01 -07:00
Bill Beech
96c32fcb80 Intel-Systems: Merge MDS, SDK, OEM simulators into Intel-MDS simulator
14 separate simulators now internal to a general purpose simulator
2021-04-11 14:37:34 -07:00
Mark Pizzolato
b90b1eaf6f PDP11, VAXen: Properly clear I/O space read/write dispatches on deregister
as reported in #1029
2021-04-09 07:31:36 -07:00
Mark Pizzolato
fc5bda9070 SCP: Add unit test for scp token parsing routines 2021-04-06 02:19:27 -07:00
Mark Pizzolato
ee7ab95c9c SCP: Allow file names to be quoted in sim_fopen 2021-04-06 01:28:13 -07:00
Mark Pizzolato
8dbffbc00a SCP: Add debug support to capture details of SAVE and RESTORE commands 2021-04-06 00:28:22 -07:00
Mark Pizzolato
e9025a189f makefile: Explicitly add /lib and /usr/lib to the library search path
Some compiler & linkers on some platforms don't dynamically provide
a way to determine the library search path, so if /lib and /usr/lib exist
as directories they are added to the end of the library search path.

As reported in #1026
2021-04-05 15:15:33 -07:00
Mark Pizzolato
be4e3c4e33 PDP11, Qbus & Unibus VAX: Fix TDC device REGisters definitions
- The REG definitions support having a REGister be pointing at an
  element in an array of structures (or UNITs) as long as the element
  is a scalar.  Something that is not supported is when the element is
  already an array (or buffer).  The approach used in the TDC device
  creates n additional registers each of which points at the individual
  array element in each of the structure in the structure array.
- Fix simple REG declarations which didn't fully describe the size of the
  underlying storage holding the REG contents in the TDC and VH
  DEVICEs.

As reported in #1025
2021-04-05 15:14:15 -07:00
Mark Pizzolato
e62070ad8f SCP: Clean up formatting of EXAMINE/DEPOST help text 2021-03-29 17:10:52 -07:00
Lars Brinkhoff
3c1c92dc30 TT2500: Call display library directly; use new display_line API. 2021-03-29 20:37:00 +02:00
Lars Brinkhoff
e9b083508b IMLAC: Call display library directly; use new display_line API. 2021-03-29 20:36:59 +02:00