Commit graph

3353 commits

Author SHA1 Message Date
Mark Pizzolato
c7abd314d9 VAX780, PDP11 (all Unibus systems): Fix VH DHU11 device output activity
- Implement a per line transmit FIFO to properly reflect the DHU real hardware
- Output is rate limited based on the programmed port speeds
- Properly abort programmed output

As reported and discussed in #600 and #588
2018-08-02 12:53:26 -07:00
Mark Pizzolato
dc13df7b7b VAX: Set CPU model correctly on each boot
Previously the CPU model was only being set when the CPU ROM was
implicitly loaded from the internal ROM image at boot time.  Other
loading of ROM code never set the configured model correctly.
2018-08-02 11:26:43 -07:00
Mark Pizzolato
e4191c3750 makefile: Fix generation of commit time in .git-commit-id file 2018-08-02 11:21:37 -07:00
Mark Pizzolato
b18fa8c045 SCP: Prepare for new sim_card interfaces 2018-07-29 19:51:09 -07:00
Lars Brinkhoff
d01cd826b3 PDP11: Allow setting core size to 8K, 24K, 40K, and 56K. 2018-07-28 20:47:09 -07:00
Mark Pizzolato
7a08f2368e SCP: Add debug duplicate line output summary support 2018-07-27 13:56:18 -07:00
Mark Pizzolato
9cc726790e SCP: Avoid "Unexpected internal error" for expected conditions 2018-07-27 08:39:23 -07:00
Mark Pizzolato
52e8c7f6f8 UC15: Fix shared memory segment size parameter 2018-07-21 02:22:26 -07:00
Mark Pizzolato
a541aa2c46 PDP11, VAX: Add proper pointer in XQ Help info for Throttling 2018-07-21 02:21:43 -07:00
Mark Pizzolato
91e4efbd59 SHMEM: Fix various Linux and Windows problems
- Windows did not validate that the a segment size was correct.
- Add shared memory object name to the management structure
- Linux shared memory object names must start with a /
- Linux umask setting to assign permissions
- Add textual explanations for failure cases
2018-07-21 02:20:47 -07:00
Mark Pizzolato
4487646946 DISK: Fix auto sizing and non auto sizing logic checks
As reported in #581 and #565
2018-07-19 23:33:09 -07:00
Mark Pizzolato
15fd71b97c SCP: Fix Coverity identified issues 2018-07-17 22:05:05 -07:00
Mark Pizzolato
c5453ff6ed makefile: Require zip archive or git clone to acquire simh source code
As discussed in #596
2018-07-17 18:25:24 -07:00
Mark Pizzolato
b25a19769e TIMER: Tolerate negative usec activation delays and pass thru as instructions 2018-07-17 15:34:08 -07:00
Mark Pizzolato
699d28fb83 makefile, Visual Studio Projects: remove dependency on git hooks
the repository commit id will now be verified on each build directly.
2018-07-17 12:10:15 -07:00
Mark Pizzolato
65e931c1ff SCP: Provide context for unexpected event processing errors 2018-07-17 08:48:11 -07:00
Mark Pizzolato
bd347e6807 Visual Studio Projects: Update windows-build version dependency 2018-07-16 10:23:57 -07:00
Mark Pizzolato
e537e4d8fe TIMER: Fix additional timespec overflow cases in diff and compares 2018-07-15 10:18:30 -07:00
Mark Pizzolato
97bee79faa TIMER: Fix overflow error in sim_idle_ms_sleep() timespec tv_nsec field
Backed out commit 484889ea5a since the overflow of the timespec tv_nsec
field was the real cause of the problem.  No need for an extra mutex.

As reported in #595
2018-07-15 10:11:14 -07:00
Mark Pizzolato
9e60a8e783 slirp: Accommodate building under newer C++ compilers 2018-07-15 07:37:54 -07:00
Mark Pizzolato
ee45ae1a08 TMXR: Remove 8-bit characters from comments 2018-07-15 07:26:23 -07:00
Mark Pizzolato
5d7dc4d676 SCP: Fix uninitialized variable reference 2018-07-15 07:18:59 -07:00
Mark Pizzolato
82ea9c59ca SCP: Add substring and string substitution to environment variable expansion 2018-07-14 18:29:26 -07:00
Mark Pizzolato
e2e17e1594 SCP: Widened the DEVICE type field to 4 bits 2018-07-13 20:26:36 -07:00
Mark Pizzolato
2c55ad0cfa SCP: Let sim_messagef() be well behaved when stat is SCPE_OK 2018-07-13 18:05:30 -07:00
Mark Pizzolato
4431350bd1 VAXStations: Fix set model message text when video isn't available 2018-07-13 02:25:22 -07:00
Mark Pizzolato
097eb7b6fc makefile: Add proper dependence on BuildROMs to 3b2 build rules 2018-07-12 11:43:43 -07:00
Mark Pizzolato
48033d86c9 SCP: Add DEV_CARD device type for devices that use sim_card 2018-07-12 11:42:32 -07:00
Mark Pizzolato
8b1a2ba759 PDP11, VAX: Leverage tmxr_txdone_ln() API to get best timing with multiple lines
Potentially affecting #587 #588
2018-07-12 10:16:39 -07:00
Mark Pizzolato
f42db0c6ea TMXR: Add tmxr_txdone_ln() to provide precise completion speed timing
Multi line TMXR devices can simplify state maintenance and better leverage
output scheduling when they use this API
2018-07-12 10:12:49 -07:00
Mark Pizzolato
484889ea5a TIMER: Changed sim_idle_ms_sleep() to use a mutex which is unique to idling
It seems that the prior use of sim_asynch_lock RECURSIVE mutex could
cause a pthread_cond_timedwait() failure with EINVAL returned.
As discussed in #595
2018-07-11 11:59:05 -07:00
Mark Pizzolato
29a4fb9802 Visual Studio Projects: Assure .git-commit-id.h gets updated correctly
Some git capable environments on Windows don't honor the installed git
hook scripts in the repository.  Now that, if we're working within a git repo,
we force a working version of git to be installed in the runtime path.  We
leverage that to force a validation of the commit id on each build.
2018-07-09 18:17:20 -07:00
Mark Pizzolato
d593cdb98b SCP: Add prompt prior to fatal exit allowing error messages reading
As discussed in #594
2018-07-08 14:55:55 -07:00
Mark Pizzolato
9b95115a2a TIMER: Add abort logic if sim_idle_ms_sleep() sleeps for 0 with an error
As discussed in #594
2018-07-08 13:53:28 -07:00
Mark Pizzolato
076af54ad3 TIMER: Report available details when unexpected timer subsystem errors occur
A graceful exit with the unexpected results reported now is provided.
As discussed in #594
2018-07-08 11:53:20 -07:00
Mark Pizzolato
44bfd68a45 PDP11, VAX: Fix DMA output timing to properly track programmed speeds
Always start DMA activity when TBUFAD2 is written, either FAST (vh_wait/10)
or slow vh_wait.

Possibly related to #578 and #588 issues
2018-07-07 22:06:52 -07:00
Mark Pizzolato
67b0f38242 TMXR: Give priority to pending transfer delays prior to considering queued data 2018-07-07 21:57:23 -07:00
Mark Pizzolato
58ccb38d7b SCP: Add ability to ECHOF output to TMXR lines 2018-07-06 17:57:05 -07:00
Mark Pizzolato
659aef2c52 Visual Studio Projects: Cleanup BuildROMs project debug build 2018-07-05 06:25:11 -07:00
Mark Pizzolato
173e1bf073 Visual Studio Projects: Migration to normalized windows-build support
- All projects use identical include directories, library definitions and
   library directories.
- Remove attempts to add XP support to projects that were converted to
   .vcxproj for post VC2008 versions of Visual Studio.
- Require that git be available when building within a git repository
   working directory.
2018-07-05 05:52:28 -07:00
Mark Pizzolato
0bc5302513 PDP11: Add debug support to track CLK device activity 2018-07-05 05:20:20 -07:00
Mark Pizzolato
4304b8d3cd Visual Studio Projects: Correct project build dependency order for all projects 2018-07-05 05:06:31 -07:00
Mark Pizzolato
627c7e3e25 VIDEO: Issue reasonable failure message when SDL can't initialize 2018-07-03 13:58:40 -07:00
Roberto Sancho Villa
1571ba461b I650: Fix Coverity warnings 2018-06-24 23:39:06 +02:00
Mark Pizzolato
8c0439feaa PDP11, VAX: Fix RQ and TQ Get Unit Status to properly report no more units
As reported in #592
2018-06-24 03:21:22 -07:00
Mark Pizzolato
4f61cd3a11 TMXR: Properly adjust speed delays when the factor is dynamically changed 2018-06-23 14:43:39 -07:00
Mark Pizzolato
aea7f208cf PDP11, VAX: Rework VH transmit start and completion timing
Programmed and DMA I/O now presents data into the line output queue and
schedules all refill and/or I/O completion in the unit service routine.
2018-06-23 11:37:01 -07:00
Mark Pizzolato
d3da865e9b TMXR: Fix MUX transmit scheduling when buffer is empty
Also:
- Enhance SHOW MUX to support "SHOW MUX <dev>"
- Fix potential null pointer dereference with unusual ATTACH combinations
- Allow BPS factor to change without specifying an explicit speed.
2018-06-23 11:30:02 -07:00
Mark Pizzolato
c73f56cc5a PDP11, VAX: Add descriptive unit names to DZ, RQ, TQ, XQ and XU devices
Some devices have dedicated units that perform various independent
functions (often timing) that are independent of the primary device unit
which is ATTACHed.  This services to help interpret debug information
that may be produced.
2018-06-23 10:34:09 -07:00
Mark Pizzolato
91bd90c368 PDP11, VAX: Change VH programmed I/O to consistently complete after delay
previously, programmed I/O was initiated and completed as the time it was
initiated.  Now that output is rate limited to the port selected speeds the
output buffer can fill and I/O be dropped when the buffer was full.  Now all
output is setup in the register write path and completed in the unit service
path.  A separate transmit service unit now performs all transmit I/O
completion activity.
2018-06-21 08:42:05 -07:00