Commit graph

3361 commits

Author SHA1 Message Date
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
Mark Pizzolato
90327012a9 PDP11, VAX: Fix broken build due to typo for routine name 2018-06-20 21:32:08 -07:00
Mark Pizzolato
e533aa2d5e PDP11, VAX: Make sure DZ transmit continues when multiple lines are active 2018-06-20 21:21:16 -07:00
Mark Pizzolato
d20ef039e7 TIMER: Properly identify short vs long (multi-tick) delays for co-scheduling 2018-06-20 11:57:15 -07:00
Lars Brinkhoff
8f9fc78632 display: Fix X11 crash when DISPLAY unset. 2018-06-20 10:05:21 +02:00
Lars Brinkhoff
0a430fee9a display: Fix bug in Type 340 vector drawing routine.
In the lineTwoStep function, a typo makes vectors in two quadrants
drawn incorrectly.
2018-06-20 09:20:47 +02:00
Mark Pizzolato
c9dae318df SCP: Avoid need for TMXR devices to have dummy DEVICE examine and deposit values 2018-06-19 23:58:22 -07:00
Mark Pizzolato
3b8442ce71 SCP: Set UNIT_IDLE in the step unit so idline can happen during "STEP -t nnn" 2018-06-19 23:41:09 -07:00
Mark Pizzolato
53792d6261 TMXR: Describe TMXR API a little better 2018-06-19 22:05:12 -07:00
Mark Pizzolato
775d9f2453 TMXR: Minor attach error path and performance enhancements 2018-06-19 16:39:47 -07:00
Mark Pizzolato
b5537796ea TMXR: Add EXPECT/SEND support for BUFFERED lines
- Provide consistent behavior for connected OR BUFFERED lines
   BUFFERED lines can be used with MUX EXPECT/SEND scripting
   without an active connection.
- Fix SHOW MUX to display useful info for BUFFERED lines.
2018-06-19 16:13:22 -07:00
Mark Pizzolato
ffb6d4b269 TMXR: Fix ATTACH <dev> SPEED= to apply speed (or factor) if it is specified 2018-06-19 16:02:26 -07:00
Mark Pizzolato
215a71d608 TMXR: Make tmxr_rqln() only return count times tmxr_getc_ln() can be called 2018-06-19 15:59:19 -07:00
Mark Pizzolato
440bbfd307 TMXR: Consider pending SEND input when scheduling MUX input polling delays
Also consider pending SEND input when returning queued data count
2018-06-17 23:02:39 -07:00
Mark Pizzolato
d35b19a8ba TMXR: purge any unprocessed EXPECT rules and SEND data on a MUX detach 2018-06-17 21:55:55 -07:00
Peter Schorn
8077d4de38 AltairZ80: Clean up of source code formatting 2018-06-17 08:37:08 +02:00
Mark Pizzolato
4428d49b08 TMXR: Properly determine wait time when multiple lines are active 2018-06-16 20:07:38 -07:00
Mark Pizzolato
681ed2d6f9 TIMER: Minimize noise in idle debug output for short idle delays 2018-06-15 11:27:23 -07:00
Mark Pizzolato
6b7798781d TIMER: Allow recording of elapsed time when asynch events arrive while idling
As discussed in #578
2018-06-14 12:40:22 -07:00
Mark Pizzolato
d39864669a SCP: Fix potential null pointer dereference in debug expression 2018-06-14 01:36:05 -07:00
Mark Pizzolato
7cd9b89546 PDP11, VAX: Fix VH output rate throttling as buffer fills
As reported in #588
2018-06-14 00:31:01 -07:00
Mark Pizzolato
0a7c9de1e1 TMXR: Change rx and tx delta values to be usecs including the speed factor 2018-06-13 04:51:34 -07:00
Mark Pizzolato
a3d8cc6118 TMXR: Actively flush output prior to assessing wait time 2018-06-13 04:06:20 -07:00
Mark Pizzolato
3973963b0c SCP: Make expression evaluation consistent 2018-06-13 00:36:22 -07:00
Mark Pizzolato
2bf523dea0 TMXR: Allow tmxr_init_line() to be called even if not attached (Dave Bryan) 2018-06-12 19:45:27 -07:00
Mark Pizzolato
f89a65ff2f SCP: Revert pre-insertion of %n to be done during normal expansion. 2018-06-12 02:03:07 -07:00
Mark Pizzolato
2203608f4a SCP: Fix adjacent insertion of %n DO command arguments 2018-06-11 17:06:20 -07:00
Mark Pizzolato
2b112b0e13 SCP: Allow single digit argument insertion for DO command arguments 2018-06-11 14:51:27 -07:00
Mark Pizzolato
93f92b7fb3 TIMER: Fix edge condition when scheduling timer delays with clock tick pending 2018-06-11 03:16:12 -07:00
Mark Pizzolato
ed2abaa2d8 SCP: Enhance debug output while tracking event and timer activity 2018-06-11 03:13:29 -07:00
Mark Pizzolato
4fff142444 SCP: Fix EXPECT bookkeeping to avoid reference after free error 2018-06-11 02:35:07 -07:00
Mark Pizzolato
5700b1f477 SCP: Properly handle literal strings in expression string comparisons 2018-06-09 08:16:39 -07:00
Mark Pizzolato
5ca02d3f98 SCP: Add missing case independent string compare in expressions 2018-06-09 06:20:32 -07:00
Mark Pizzolato
188e8cfe8f SCP: Add missing change to sim_defs.h which broke build 2018-06-08 18:27:58 -07:00
Mark Pizzolato
15cd4d35ac SCP: Enhance command procedure processing and add debugging support
- push new action commands ahead of any previously unprocessed pending
   action commands.
- Add ACTION and DO debug to CPU (SCP) command processing support
- Insert %n command arguments before storing command line for potential
   deferred processing of action parameters to some commands (IF, BREAK,
   EXPECT, etc.)
2018-06-08 18:09:10 -07:00
Mark Pizzolato
9e18e0bb8d SCP: Cleanup expression evaluation logic errors
- Conversion to postfix ends up with operator ordering in different from the
   initial assumption resulting all relative compares being wrong.
- Parsing of Hex, Binary and Octal numeric tokens need to properly terminate
- Environment variable names can start with the _ character
2018-06-07 17:34:35 -07:00
Mark Pizzolato
06654d1ff5 TMXR: Make sure all MUX devices can leverage all debug selectors 2018-06-07 16:39:26 -07:00
Mark Pizzolato
ce5c3f0ff5 SCP: Allow symbols (environment variables) to describe contain addresses
This allows:
   sim> SET ENV X=80004324
   sim> EXAMINE X
   80004324: xxxxxxxxxx
   sim> DEPOSIT X nnnnn
2018-06-05 22:24:46 -07:00
Bob Supnik
f6f4fe6c3c I1620: Fixed bug in select index A (COVERITY)
If the CPU is a model 1, then the value of idxb is irrelevant. For
tidiness, it should always be 0, but on a model 1, idxe (index
enable) is always 0, so idxb is not looked at. Thus,

- on a model 1, idxb is set to 0, which is harmless and probably a good
   thing to do.
- on a model 2, idxe is set to 1, and idxb is set to 0, which is the correct
   behavior.

Note that case 0 doesn't need to check for model 2, because clearing
idxe and idxb yields the correct settings on a model 1: indexing is off.
2018-06-05 17:05:25 -07:00
Mark Pizzolato
b007669ad5 TMXR: Don't allow 0 speed specifier for speed programmable mux devices
As reported in #587
2018-06-05 08:51:19 -07:00
Mark Pizzolato
1a7412a276 FIO: Make shmem behaviors reflect 3.10
Current functionality works to some extent on Windows and x86 Linux and OS X
2018-06-05 01:39:41 -07:00
Mark Pizzolato
eea30cb7a5 PDP15: Add UC15 connect support from simh v3.10 2018-06-04 12:33:51 -07:00
Mark Pizzolato
09781909a5 makefile: Fix broken rule for vax build 2018-06-04 11:39:07 -07:00