Commit graph

3562 commits

Author SHA1 Message Date
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
Mark Pizzolato
564ce2b3f4 TIMER: Don't consider idle calibration skipping with internal timer
As discussed in #699
2019-05-30 03:23:38 -07:00
Mark Pizzolato
0195bbda4b TIMER: Fix missing catchup ticks for VAX simulators when idling
- MicroVAX I, II and 3900 don't have a DONE bit in the clock status
  register, so sim_rtcn_tick_ack() wasn't being called to acknowledge
  clock ticks.
- Timer catchup tick criteria didn't work unless the host had a slow
  clock tick.

As discussed in #705
2019-05-30 01:51:52 -07:00
Mark Pizzolato
45d8c908ba PDP10: Leverage the internal calibrated timer for accurate wall clock timing
Avoid the common situation on with this simulator whereby the programmatic
interval timer is being used for intervals which change often.  The internal
calibrated timing routines depend on consistent rate for the calibrated device.

As discussed in #699
2019-05-29 00:44:17 -07:00
Mark Pizzolato
6a131ec59a PDP10: Fix sequencing of polling to properly leverage console speed setting 2019-05-29 00:18:27 -07:00
Mark Pizzolato
f75f28aa21 TIMER: Add mechanism to pre-calibrate the instruction execution rate 2019-05-28 23:56:58 -07:00
Mark Pizzolato
48db10994d TIMER: Calibrated clock fixes
- Properly handle clock transitions when control flows back and forth
  between instruction execution and simh commands.
- Changed Internal Timer from 10 Hz to the MAX(100Hz, HostOSClockHz)
- Changed default idle calibration percent to 50%
- Make sure that error cases (backwards and gap too big) properly advance
  the real time while avoiding calibration.
- Fix selection of the calibrated clock.
- Fix logic that sets the idle percentage that controls calibration.
2019-05-28 22:47:06 -07:00
Mark Pizzolato
7c27f77beb SLIRP: Silence Coverity error 2019-05-28 12:45:37 -07:00
Mark Pizzolato
6b3bff56b3 DISK: Add support to properly autosize fixed sized disk from a set of choices
As discussed in #704
2019-05-21 15:38:39 -07:00
John Forecast
4f2dc069ae DISK: Check all read sector counts during attach.
- Problem report #704
- Enable RAW access support on OSX
2019-05-20 23:32:58 -07:00
Matt Burke
42271bd410 VAX8200: Extended tests (EVKAB, EVKAC) now passing 2019-05-17 00:43:39 +01:00
Matt Burke
63a39369dc VAX8200: Hardware core test (EVKAA) now passing 2019-05-16 22:15:53 +01:00
Matt Burke
650cfd4864 VAX420: Added ROM patch to correct boot problem on MicroVAX 3100 M10/M20 2019-05-16 22:15:53 +01:00
Matt Burke
0dff31427f VAX420, VAX43: Corrections to configuration & test register
Video devices now working on VAXstation 3100 M76
2019-05-16 22:15:53 +01:00
Matt Burke
b16841218c GPX: Fixed coverity complaints 2019-05-16 22:15:53 +01:00
Paul Koning
096f9dbd71 PDP11: Fix PSW handling for breakpoints and other aborts
Fixes #701.  The issue is more general than just breakpoints, it
potentially affects any exception dealt with by the ABORT macro.
2019-05-15 20:14:33 -04:00
Mark Pizzolato
a24119aff7 TAPE: Fix RSTS file date (preserving Y2K bug) and form feed is text 2019-05-14 20:38:46 -07:00
Mark Pizzolato
db26349bd7 TAPE: Add system specific ANSI tape formats VMS, RSX, RSTS and RT11
These formats are named ANSI-VMS, ANSI-RSX11, ANSI-RSTS and ANSI-RT11
2019-05-14 01:04:18 -07:00
Mark Pizzolato
c9b0e2b00f BuildROMs: Simplify makefile dependencies avoiding extra builds when possible 2019-05-14 01:03:30 -07:00
Mark Pizzolato
bd45a9c45f PDP11, Most VAX: Improve rewind time for TQ device
Make the rewind time vary based on tape position.
2019-05-13 00:18:11 -07:00
Mark Pizzolato
f700346ea9 SCP: Add better help and error message for SCREENSHOT command 2019-05-12 22:11:45 -07:00
Mark Pizzolato
94f5034712 VAX, MicroVAX I & II: Revamped Qbus memory access as Qbus peripheral 2019-05-12 21:52:06 -07:00
Mark Pizzolato
05f84879ad DISK: Cleanup compiler warnings 2019-05-09 16:32:57 -07:00
John Forecast
e47a7e9ef7 DISK: Add RT11 file system disk size detection 2019-05-09 16:16:31 -07:00
Mark Pizzolato
39f36f273b Visual Studio Projects: Fix build test script for newer Visual Studio versions
As reported and suggested in #700
2019-05-08 18:26:35 -07:00
Mark Pizzolato
b1f3441f7f ETHER: Start newly opened interfaces blocking all packets
A device simulator is responsible for specifying exactly what categories of
packets it wants to receive.  It should do that after having opened the device.
This change avoids collecting packets that aren't actually interesting until
after the device designates which packets it is interested in.
2019-05-07 18:41:36 -07:00
Mark Pizzolato
f88c1b8b2a VAX: Add build time diag execution for many new simulators 2019-05-07 12:03:49 -07:00
Mark Pizzolato
efaca56da4 New VAXen: Add missing REG list terminator in XS (Lance Ethernet) controller 2019-05-07 11:31:03 -07:00
Mark Pizzolato
52a31597ec TAPE: Add ANSIFILES tape format 2019-05-07 05:26:20 -07:00
Mark Pizzolato
81b48e2ebf SCP: Fix potential crash with mixed path separators on Windows 2019-05-07 05:25:56 -07:00
Mark Pizzolato
287655da92 SCP: Document the -A switch for the ATTACH command.
As mentioned in #668
2019-05-04 14:12:42 -07:00
Mark Pizzolato
758bfb7853 All VAX: Fix Coverity identified issues 2019-05-02 22:20:20 -07:00
Mark Pizzolato
ab3e07a401 Visual Studio Projects: Correct project dependencies 2019-05-01 22:56:54 -07:00
Mark Pizzolato
d861fa224a SLIRP: Fix coverity identified complaint 2019-05-01 21:48:47 -07:00
Mark Pizzolato
52fab988e3 DISK: Handle Windows RAW disk reads at EOF as success reading 0's
This was the root cause of the problem reported in #696
2019-05-01 18:30:34 -07:00
Mark Pizzolato
6c7da6c68b Chip Based VAXes: Fix CIS and EMULATED instruction implemented test 2019-05-01 04:55:36 -07:00
Mark Pizzolato
6ae9b8025a Full VAX Simulators: Fix inverted instruction set test 2019-05-01 04:20:51 -07:00
Matt Burke
4aa4f639e6 VAX8200: Added missing error bit to DWBUA CSR
As reported in #690
2019-05-01 09:00:40 +01:00
Mark Pizzolato
95c24b4f81 MicroVAX I: Make SID register reflect D-FLOAT or G-FLOAT instruction set
- Limit choices to explicitly either G-FLOAT or D-FLOAT for SET CPU INST=
- Compile in all instruction implementations and dynamically use the
  enabled ones.
2019-04-30 17:39:56 -07:00
Mark Pizzolato
621e97e170 MicroVAX1, all VAX: Add model specific instruction execution and emulation
- Different VAX models had different groups of instructions which were
  implemented in hardware vs trappng to the OS for emulation.  Functionality
  has been added to differentiate the various mix of instruction groups for
  different models and to display both the groups and the actual instructions.
- Visibility to Instruction groups is provided by SHOW CPU INSTRUCTIONS
  and the list of the active instructions implemented and emulated via
  SHOW CPU -V INSTRUCTIONS.
- The MicroVAX I CPU handled some execution fault conditions differently
  from other VAX systems these differences are now specifically handled.
- Add build time test support to MicroVAX I running EHKAA v1.13
  suggested in #683
- Add more CPU debug details relating to exception and interrupt processing
2019-04-30 14:28:37 -07:00