Commit graph

4536 commits

Author SHA1 Message Date
Mark Pizzolato
d3d3c94485 All VAX: Fix CPU HISTORY MTAB help info 2021-08-14 23:11:27 -07:00
Mark Pizzolato
0bfb902b56 SCP: Enhance hierarchical help prompting
- A prompt answer which exactly matches a topic name is given
  preference over the potential ambiguity of other topics which start
  with the same text.
- Prompt with the parent topic's prompt when a just displayed subtopic
  has no subtopics.
- Allow either ^D or ^Z entered to act as EOF.

These changes reflect the behavior of the VMS help system which the
hierarchical help system is modeled on.
2021-08-14 19:43:41 -07:00
Mark Pizzolato
9166219476 PDP11: Cleanup potential compiler warnings 2021-08-13 09:11:42 -07:00
Mark Pizzolato
f95b20e1f3 SCP: Cleanup potential compiler warnings 2021-08-13 09:09:53 -07:00
Mark Pizzolato
502ebeafc3 DISK: Clarify comments for logic generating attach error messages
as discussed in #1064
2021-08-13 02:35:29 -07:00
Seth Morabito
c02491f733 3B2: Header refactoring and cleanup
This change signficantly improves header hygiene in the 3B2 project by
moving global symbols out of 3b2_defs.h and into the appropriate
individual module header files.

Each compilation unit now includes:

  - its appropriate matching .h file
  - any other .h files necessary for linting and compilation

Each header file in turn includes 3b2_defs.h, which contains truly
global symbols, and which pulls in sim_defs.h and exports global
devices.
2021-08-11 19:43:51 -07:00
Mark Pizzolato
78d3d1b560 SCP: Add register validation tests as part of the SCP library test 2021-08-11 07:28:08 -07:00
Seth Morabito
5fd9ee3909 3B2: Do not read from detached floppy
The Rev 3 firmware does not check floppy controller status before
commanding a sector read, which can lead to calling sim_disk_rdsect()
on a detached unit. With this checkin, the simulator will no longer
attempt a read or write if the floppy unit is not attached.
2021-08-10 19:34:35 -07:00
Mark Pizzolato
87eab8a53c GitHub: Update issue template to be more specific about answering ALL questions 2021-08-10 12:24:19 -07:00
Seth Morabito
c0beba5498 3B2: Rev 3 Development Base
This change introduces initial support for the AT&T 3B2 Rev 3 platform, based
around the WE32200 CPU with up to 64MB of RAM and SCSI disk and tape support.

This simulator is experimental and not yet supported. It will not be built by
default, but can be built with:

     make 3b2-600

Or by using the 3B2-600 Windows Visual Studio project.
2021-08-09 11:08:35 -07:00
Mark Pizzolato
acd5ae6579 VAX, VAX780, PDP11: Update typos in documentation and help text
as mentioned in #1065
2021-08-08 23:00:22 -07:00
Mark Pizzolato
af0f0300f8 PDP11, Unibus VAX: DEC standard 144 corrections and RP device update
- Added a specific drive type RP05 which is the same size as the RP04
  but can be distringuished by OS software.
- Restrict SET rpn BADBLOCK to only disk types which actually supported
  the DEC Standard 144 bad block table.
- Fixed typo's in help and comments about DEC 044 vs DEC 144 and also
  in pdp11_doc and vax780_doc documentation files.

As discussed in #1065
2021-08-08 11:39:13 -07:00
Mark Pizzolato
fdd871da65 DISK: Clean up attach time error messages
- Fix 'non expandable' error message to avoid potential extra space as
   mentioned in #1065
- Reasonably report open errors as mentioned in #1064
2021-08-07 19:15:33 -07:00
Mark Pizzolato
a779de82aa DISK: Enrich ATTACH time error message to include C runtime error text
Standardize format and wording of error reporting messages

As discussed in #1064
2021-08-07 12:56:20 -07:00
Mark Pizzolato
dcbfba0f9a SCP: Fix register formatting and quiet unused variable warning 2021-08-03 13:23:25 -07:00
Mark Pizzolato
30401fc155 PDP11: Fix VT help entry in DEVICE definition
Previously it was point at the DEVICE.help_attach than DEVICE.help.
2021-08-01 19:02:10 -07:00
Mark Pizzolato
77d7df7a56 SCP: HELP command output formatting cleanup
- Add column header to output of HELP device register list.
- Format HELP output for REGISTER, SET and SHOW commands to accommodate long
   descriptor text (wrapping as needed).
- Add HELP DEVICE * to display help for all devices
2021-08-01 18:59:00 -07:00
Mark Pizzolato
2c820dca5c SCP: Pass all external environment variables through to spawned commands
As discussed in #1057
2021-07-31 12:49:56 -07:00
Seth Morabito
3943f9b24f 3B2: Add DGMON SBD diagnostic tests
This commit adds support for automatically running DGMON SBD diagnostic tests
on build.

Additionally, a small bug is fixed in simulator boot caused by failure to
parse boot switches.
2021-07-31 12:22:27 -07:00
Mark Pizzolato
9ef08cba0d SCP: Allow all external environment variable expansion
as discussed in #1057
2021-07-29 21:17:44 -07:00
Mark Pizzolato
5f8a8cca9d SCP: Avoid using externally defined aliases for SCP commands
As discussed in #1057
2021-07-29 10:15:54 -07:00
Howard M. Harte
9865180990 wd179x: Keep WD179X_INFO_PUB in sync. 2021-07-27 20:28:21 -07:00
Mark Pizzolato
f1a2c81cef makefile: Change messages to avoid the use of single quotes (can not vs can't) 2021-07-26 17:50:48 -07:00
Howard M. Harte
d743cf9f45 wd179x: Add support for wd1795/7 side select output. 2021-07-25 17:35:54 -07:00
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