Commit graph

3501 commits

Author SHA1 Message Date
Mark Pizzolato
437e5a4bb5 H316: Use snprintf() to avoid potential buffer overflow 2019-07-16 04:12:42 -07:00
Mark Pizzolato
6041cd627b PDP11, PDP10, Unibus VAX: Fix potential buffer overflow warning 2019-07-16 03:46:04 -07:00
Mark Pizzolato
89d51032e2 PDP11, Unibus VAX: Fix Coverity identified warning 2019-07-16 03:15:25 -07:00
Mark Pizzolato
40731f0433 SCP: Fix help topic matching to properly return wildcard and ambiguous status
As reported in #723
2019-07-16 03:12:31 -07:00
Mark Pizzolato
2840e3b67f SCP: Fix Coverity identified issues/noise 2019-07-15 00:04:40 -07:00
Mark Pizzolato
716df3c297 SCP: Support MKDIR and RMDIR commands when building with MinGW 2019-07-12 13:45:34 -07:00
Mark Pizzolato
2991ae067d BuildROMS: Cleanup potential buffer overrun and execution with MinGW
As discussed in  #717
2019-07-12 13:44:31 -07:00
Lars Brinkhoff
5e8f48034d display: Fix unbalanced comment and line ending.
The use of the DAC (program counter) isn't fully implemented yet, so
is put inside NOTYET.
2019-07-10 08:12:39 +02:00
Mark Pizzolato
2f04109f0d descrip.mms: use consistent indentation and reasonable comment 2019-07-09 22:21:12 -07:00
Mark Pizzolato
7c8ad477c8 display: Fix mode variable used in type340 display to be enum. 2019-07-09 22:09:06 -07:00
Mark Pizzolato
ef00a62e66 Visual Studio Projects: Add PDP6, PDP10-KA and PDP10-KI to the solution 2019-07-09 21:03:56 -07:00
Richard Cornwell
2d50b3af25 SCP: Updated top level files for PDP10 KA/KI and PDP6 simulators. 2019-07-09 21:02:00 -04:00
Richard Cornwell
90b7d2beac KA10: Initial release of PDP10 KA/KI and PDP6 simulators. 2019-07-09 20:59:01 -04:00
Mark Pizzolato
461f2ea513 SCP: Add MKDIR and RMDIR commands 2019-07-08 00:38:08 -07:00
Mark Pizzolato
85770281fb H316: Remove Coverity indicated warnings rather than declaring them intentional 2019-07-07 19:29:30 -07:00
Mark Pizzolato
526e03bbe1 DISK: Remove dangling semicolon compiler warning. 2019-07-07 19:27:28 -07:00
Mark Pizzolato
6f5d8d3ed0 SCP: Honor -Q switch when enabling and disabling logging, suppress log date 2019-07-07 01:12:35 -07:00
Mark Pizzolato
24ed486222 VIDEO: Fix coverity identified memory allocation failure error check 2019-07-05 09:59:08 -07:00
Mark Pizzolato
9e71982249 SCP: Avoid potential buffer overflow using sprintf
- avoid warnings about snprintf truncation

As reported in #717
2019-07-02 09:53:56 -07:00
Mark Pizzolato
eadfeffdf3 PDP10: Recompute tmxr delay factor regularly
This will not change much, but it may be useful for sane idling depending
on the way the running OS actually uses the interval timer for clock ticks.

Some discussion about this in #713
2019-07-01 19:24:25 -07:00
Seth Morabito
61bdbd5d93 3b2: Provide precalibration program
This change adds a small infinite loop program that will be used by
the simulator to establish a reasonable guess at the host's
performance in order to precalibrate the system timer.
2019-07-01 13:21:56 -07:00
Mark Pizzolato
81472b5807 TAPE: Add an explicit ANSI-VAR format to generically present text files 2019-07-01 08:11:46 -07:00
Mark Pizzolato
6908c1e46c TAPE: Add support for FIXED record size unlabeled tape of binary and text files 2019-07-01 08:11:20 -07:00
Mark Pizzolato
e49617cd0c TAPE: Add ability to copy a tape to a SIMH format tape image
This is an implicit tape conversion tool from any supported format to
SIMH format.
2019-07-01 08:10:36 -07:00
Seth Morabito
dd715e609e 3b2: unsigned addition overflow
- Integer addition of unsigned types could fail to set the
  overflow flag, leading to errors in the SVR3 floating point
  emulation library that rely on the overflow flag to detect
  carry out of high bit on unsigned addition. This change
  will correctly set the V flag if the high bit should be
  carried out on an add.
2019-06-29 19:40:57 -07:00
Seth Morabito
571c8f96a5 3b2: WE32106 Math Acceleration Unit (MAU)
This change adds support for the WE32106 Math Acceleration Unit (MAU).
The WE32106 is an IEEE-754 1985 compatible floating point math
acceleration unit that was an optional component on the 3B2/310 and
3B2/400.

The MAU is implemented using software floating point routines.  As
always, there may be bugs, but the MAU currently passes extensive
floating point tests with exactly the same results as a real 3B2/400
equipped with a physical MAU, so I hope these are few.
2019-06-29 08:45:27 -07:00
Mark Pizzolato
47bac1f665 TAPE: Fix edge cases for AWS format tapes and default TAR block size
- Add more AWS test cases
- Add better position validation when scanning a tape image
- Properly clear SIGINT flag for interrupt during a tape attach
2019-06-29 07:39:23 -07:00
Mark Pizzolato
1e214afec3 PDP11, VAX: Fix RQ initialization of extra units
As reported in #711
2019-06-25 00:31:29 -07:00
Mark Pizzolato
2bee79b5e7 PDP11, VAX: Properly initialize extended unit structures
- Extra queue and timer units on RQB, RQC, and RQD are now properly
  initialized.
- PDP11 unit numbers are numbered:
	device RQ      0-3
	device RQB    4-7
	device RQC   8-11
	device RQD  12-15
2019-06-24 11:08:09 -07:00
Mark Pizzolato
0b67c26875 PDP11, VAX: Fix XQ device help text with NAT examples. 2019-06-23 23:49:58 -07:00
Mark Pizzolato
9c2c621278 PDP11, VAX: Add RQ device option for variable number of drives 2019-06-23 23:47:12 -07:00
Mark Pizzolato
b3fa1f9fe8 TIMER: Stabilize timer behaviors
- Fix incomplete migration to RTC structures indicated by Coverity
  warnings.  Some Coverity were minor warnings and not real issues.
- Add calibration recovery parameters for idle and catchup ticks
- Aggressively perform catchup ticks when in simulated idle paths
  even when idling is disabled.
- All non internal clocks can have catch-up ticks triggered if they
  register a tick unit.
- Catch-up ticks will be delivered to non tick acking simulators when
  idling if regstered tick unit has been specified.
- Hosts with slow ticks can idle and keep sloppy OK time when
  simulators have faster ticks
- Default to active calibration (ALWAYS) while idling (no skipping)
2019-06-18 08:01:45 -07:00
Mark Pizzolato
5d747cc992 SCP: Activate internal unit tests at appropriate time
before processing default and command line scripts
2019-06-18 07:58:32 -07:00
Mark Pizzolato
8c4f8b0bff TIMER: Accelerate catchup ticks while idling
- Avoid default idle stability wait when pre-calibrate has succeeded
- Display time at sim> prompt in SHOW CLOCK output
2019-06-10 14:55:05 -07:00
Mark Pizzolato
b1fd80da64 SCP: Add filename to the message displayed when ATTACH -N is used 2019-06-10 14:15:46 -07:00
Seth Morabito
efea3f86a7 3b2: Fix for compilation warning
Fixes a compilation warning in 3b2_sysdev.c caused by a lack of an
explicit cast from 'void *' to 'struct timer_ctr *'
2019-06-09 14:12:02 -07:00
Richard Cornwell
f70875d8b2 B5500: Added save restore support. Updated for new sim_tape. 2019-06-09 15:23:04 -04:00
Richard Cornwell
97ea1cf463 I7000: Fixed tape handling errors and coverity errors. 2019-06-09 15:22:11 -04:00
Mark Pizzolato
9ab8d0e91e TIMER: Add debug of all calibration decision variables default no idle skip 2019-06-08 16:38:15 -07:00
Mark Pizzolato
7bcf407fcc TIMER: Reorganize timer control variables to use a structure for each timer
The original approach had separate parallel arrays for each relevant
state variable for each calibrated timer.  That worked when there were
only a few state variables, the state info for a timer belongs in a
structure.
2019-06-08 13:55:49 -07:00
Mark Pizzolato
da3f851d70 TIMER: Add minimal tick based calibration APIs. 2019-06-08 13:55:06 -07:00
Mark Pizzolato
56ab8260f2 DISK: Fix Coverity warnings 2019-06-08 13:53:35 -07:00
Mark Pizzolato
09bbcb29d2 TAPE: Fix P7B reverse read logic for large records
The earlier optimization to address P7B reverse read performance
didn't properly back up under some circumstances.

As potentially reported in #707
2019-06-08 13:52:27 -07:00
Mark Pizzolato
53ad66f57e PDP10: Fix rdtim to properly compute the value
The correct solution adds the elapsed interval rather than the remaining
interval value.

As reported in #699
2019-06-04 00:02:17 -07:00
Mark Pizzolato
9514ea5a58 TIMER: Stabilize run away clock calibration conditions
- Adjust calibration parameters to properly record catchup variables for
  odd condition cases.
- Disable idle percentage calibration skipping until the correct set of
  calibration variables are available.
- When a pre-calibrate operation has been performed, make the results
  visible in the output of SHOW CLOCK

As discussed in #705 and #699
2019-06-03 20:45:40 -07:00
Lars Brinkhoff
f917accbec display: Change 342 character height to 11. 2019-06-01 21:40:52 +02:00
Lars Brinkhoff
0e3f9c944f display: Add Type 340 backspace, subscript, and superscript character codes. 2019-06-01 21:40:47 +02:00
Lars Brinkhoff
fc4d9cae40 display: Update Type 342 characters. 2019-06-01 21:40:37 +02:00
Mark Pizzolato
217463c6e2 TIMER: Also account for sim> prompt time in catchup time calculations
As discussed in #705
2019-06-01 02:33:02 -07:00
Mark Pizzolato
fa700d0494 SCP: Fix initialization of sim_time and sim_interval when queue is emptied 2019-05-31 22:19:31 -07:00