Commit graph

229 commits

Author SHA1 Message Date
Mark Pizzolato
d090436c78 SCP: Support host environments which can't do termios TCSAFLUSH 2018-05-08 21:37:39 -07:00
Mark Pizzolato
6ccbfc7381 SCP: Report errno value when starting instruction execution fails 2018-05-08 02:51:17 -07:00
Mark Pizzolato
fdd9d87f80 SCP: Fix MinGW build warnings due to sizeof time_t 2018-04-15 12:51:36 -07:00
Mark Pizzolato
28e4311039 SCP: Extended debugging to allow for unit specific debug for disk and tape 2018-04-07 21:38:26 -07:00
Mark Pizzolato
81bcd6d319 CONSOLE/SERIAL: Properly rate limit output to console port
When the console is connected to a serial port or telnet sessions enable
speed setting, the bits being output are now paced a the desired speed.
Multi-line mux I/O is also correctly rate limited on all lines.

This should address the problems described in #545
2018-04-06 04:12:38 -07:00
Mark Pizzolato
daf0d953b1 SCP: Adjust relative debug base time to reflect GMT offset 2018-04-02 13:21:01 -07:00
Mark Pizzolato
ce8aea13bc MINGW: Reorder windows include files to avoid future complications 2018-02-12 20:48:39 -08:00
Mark Pizzolato
760e7f2810 SCP: stop_cpu and sim_is_running variables t_bool 2018-02-02 05:02:27 -08:00
Mark Pizzolato
3eda8f909c SCP: Silence noise traffic going to remote console secondary sessions 2018-01-10 08:59:30 -08:00
Mark Pizzolato
fc25cf54fa SCP: Add EXECUTE command to remote console master mode.
This allows a set of commands to be received and executed together.
The frontpanel API can make use of this.
2018-01-07 13:40:02 -08:00
Mark Pizzolato
eea15bfe4e SCP: Add DEBUG command to allow Debug enabling/disabling via Remote Console
This exposes the functionality of SET DEBUG and SET <dev> DEBUG without using
a general SET command which the remote console facility avoids.
2018-01-07 12:47:42 -08:00
Mark Pizzolato
154320bf71 SCP: Add support for BREAK/EXPECT/UNTIL/IF action steps in remote console 2018-01-07 12:09:35 -08:00
Mark Pizzolato
9086b269b2 SCP: Allow semicolons within quoted strings while parsing action strings 2018-01-04 07:06:52 -08:00
Mark Pizzolato
72d4622ddf SCP: Add ECHOF command which takes a quoted string as an argument 2018-01-04 07:06:51 -08:00
Mark Pizzolato
52990b3bc2 FRONTPANEL: Fix bug that disabled repeat processing 2017-12-15 16:08:10 -08:00
Mark Pizzolato
8cc11faf00 FRONTPANEL: FRONTPANEL: sim_frontpanel API release 9
- Add sim_panel_mem_deposit_instruction API
- Properly shutdown debug activities when more than one panel is active
- Properly unwind socket facilities when more than one panel is active
- More rigorously unwind things when a panel is destroyed while its
   simulator is running.
- Give explicit session request traffic priority over potentially pending
   repeat command processing.
2017-12-13 05:44:43 -08:00
Mark Pizzolato
0e4ee6ecce FRONTPANEL: Add support to collect bit samples on register array members 2017-12-07 22:11:43 -08:00
Mark Pizzolato
f594f0c98a SCP: Be sure to call optional sim_vm_post in remote console sessions 2017-11-16 08:43:38 -08:00
Mark Pizzolato
8551a2d477 FRONTPANEL: sim_frontpanel API version 6 release
- Add dithering option to bit sampling
2017-11-09 23:02:39 -08:00
Mark Pizzolato
e73d45ebcc FRONTPANEL: sim_frontpanel API version 5 release
- Add API to start execution with device reset
- Fix synchronization between panel application threads and simulator
  traffic reader thread.
2017-11-04 10:28:00 -07:00
Mark Pizzolato
932d16da53 SCP: Rework SEND and EXPECT commands to provide default and temporary arguments
- EXPECT HALTAFTER=nnn
     --> sets "nnn" as the global/default value

 - EXPECT "some string"
     --> uses the "nnn" global/default value

 - EXPECT HALTAFTER=ttt "some string"
     --> uses the "ttt" temporary value for this EXPECT only

and:

 - SEND AFTER=nnn
     --> sets "nnn" as the global/default value

 - SEND "some string"
     --> uses the "nnn" global/default value

 - SEND AFTER=ttt "some string"
     --> uses the "ttt" temporary value for this SEND only

(and similarly for the SEND DELAY value).
2017-10-16 13:10:10 -07:00
Mark Pizzolato
2435311072 SCP: Add DEV_NOSAVE flag for throttle and console internal devices 2017-10-08 10:10:03 -07:00
Mark Pizzolato
ba447399f8 SCP: Cleanup compiler warnings (Dave Bryan) 2017-08-04 17:44:27 -07:00
Mark Pizzolato
b15f753adc SCP: Add support for operation when stdin isn't a tty
Also enhanced error messages for startup errors.
2017-07-31 22:10:15 -07:00
Mark Pizzolato
c470d1e5e2 SCP: Allow the presence of DEVICE DEBTAB array to imply the DEV_DEBUG flag 2017-06-07 18:56:06 -07:00
Mark Pizzolato
df627b0cb1 SCP: Cleanup output produced by SHOW CONSOLE command 2017-05-27 20:25:50 -07:00
Mark Pizzolato
eea18400f3 CONSOLE: Fix crash when ^E is presented in a remote console session 2017-05-03 11:25:30 -07:00
Mark Pizzolato
bf018a19d9 CONSOLE: Properly set the line output mode under windows version prior to Win10
As reported in #438 by Dave Wise.
2017-05-01 17:47:07 -07:00
Mark Pizzolato
168d0d9c47 SCP: add generic length limted and case independent string for all platforms 2017-04-22 21:28:48 -07:00
Mark Pizzolato
773cc1c319 SCP: Minor Coverity cleanup 2017-03-30 07:55:13 -07:00
Mark Pizzolato
f4b7d1fbf8 SCP: Migrate some use of strcat() to sim_strlcat() 2017-03-27 08:23:03 -07:00
Mark Pizzolato
2d4004b936 SCP: fix CID: 1415878 "Useless call" 2017-03-09 19:07:45 -08:00
Mark Pizzolato
665ebf0fd1 FRONTPANEL: sim_frontpanel API version 4 release
Add simulator side register bit sampling with averaged sample values
delivered across the API at specified rates.
2017-02-04 10:48:13 -08:00
Mark Pizzolato
f171055809 REMOTE_CONSOLE: Clarify REM-CON unit references
Make REM-CON units dynamically allocated and use symbolic names for the
respective different roles they play.  This will make interpreting the existing
code easier and ease future extensions.
2017-02-04 10:41:39 -08:00
Mark Pizzolato
0913edb2f3 REMOTE_CONSOLE: reorganized code to use array of structs
The original model started with two array variables each with one element
for each potential concurrent remote console.  As functionality was added
the number of arrays grew to an unreasonable number.  This change
merely gets rid of the separate arrays of per connection info and uses a
single array of REMOTE struct which contains all the per connection info.
This will make future functional extensions much cleaner.
2017-01-31 21:09:49 -08:00
Mark Pizzolato
110ded6904 FRONTPANEL: sim_frontpanel API version 3 release
Adds:
1) Simulator side execution of register update activities at an interval
    specified in usecs.  Rates in excess of 1000Hz should be achievable
    for locally connected frontpanel applications.
2) New API for simulators to describe the register state available in
    the simulator.  If all of a the state which is potentially interesting
    to front panel applications is always present in the variables
    described by simh REG structures, then frontpanel API access to
    that data can be more efficiently provided.
2017-01-27 23:06:30 -08:00
Mark Pizzolato
11c0251059 SCP: Make sure that log and debug file I/O use a large (64K) buffer 2017-01-16 12:56:33 -08:00
Mark Pizzolato
5ab1fd6263 CONSOLE: Fix minor compiler warning. 2017-01-07 15:31:16 -08:00
Mark Pizzolato
316565c45b CONSOLE: Really support Windows 'ANSI' escape sequences in console sessions
The console mode needs to be set to properly interpret and generate ANSI
escape sequences.  It is not 100% VT100 compatible, but this is MUCH better
than without any support.
2017-01-02 16:45:46 -08:00
Mark Pizzolato
77312ec8ca CONSOLE: Add debug support for data to/from the console port
Previously console traffic to/from a Telnet connection could be visible
in debug output.
2017-01-01 16:11:49 -08:00
Mark Pizzolato
6ebeb345fd CONSOLE: Support output of ANSI escape sequences to console on Windows hosts
Windows 10 finally supports ANSI escape sequences in console applications.
Simulators may output appropriate sequences and get useful results, however,
timing of the bytes in the output stream to the console device matters.
This change buffers the data in escape sequences for up to 8ms or until another
escape sequence is presented for output.  Once the 8ms elapses, then all output
characters are presented to the windows console subsystem together so they
can be properly interpreted.
2016-12-28 15:26:31 -08:00
Mark Pizzolato
7ec2ea836e TIMER: Properly transition internal timer after rebooting
- General cleanup of debug formatting and show device/features output
2016-12-28 13:25:11 -08:00
Mark Pizzolato
875926c271 CONSOLE: Add connection debugging option and debugging descriptions 2016-12-24 09:40:05 -08:00
Mark Pizzolato
36276a79e1 SCP: Add device descriptions to internal devices visible in SHOW FEATURE -I 2016-12-18 13:33:11 -08:00
Mark Pizzolato
48e0b47d51 SCP: Add a way to see the enabled SCP internal devices SHOW DEV -I 2016-12-17 10:35:56 -08:00
Mark Pizzolato
7dd1f0b89e SCP: Complete support for automatic detection of WRU (^E) for all simulators
commit ef6528bf32 added support for automatic WRU detection for simulators
that don't have a console port, but it was never documented and the addition of
that support potentially interfered with SAVE/RESTORE behavior.

The console connection state is now automatically saved and restored.
2016-12-17 03:50:10 -08:00
Mark Pizzolato
c393675b5b REMOTE_CONSOLE: Allow user selectable command output buffer size
The output of remote console commands gets truncated at the configured
buffer size.  The default has been raised from 1400 to 8192.
Common remote console usage is from the same host as the simulator and
as such localhost TCP traffic is delivered in chunks at least 8192 so no extra
packets will be involved in transporting the potential extra data and no
transmission delays on the send() call.
The minumum size is now 1400 (which was the prior default).
2016-12-08 11:27:07 -08:00
Mark Pizzolato
be47d8539f TIMER: Fix Idling when transitioning betwen multiple calibrated clocks 2016-11-22 22:06:25 -08:00
Mark Pizzolato
ff95fb8ec2 SCP: Add warning about reset when RUN command is used multiple times.
The RUN command implicitly resets all devices which may have unexpected
consequences for a novice user.

The logic now produces a warning about this side effect when more than one
RUN command is executed in the same simulator session.

An explicit RESET command suppresses this warning for a subsequent RUN
command.

A RUN command with the -Q switch also suppresses this warning.
2016-11-18 05:20:06 -08:00
Mark Pizzolato
9925ba83b8 SCP: Remove unused variable declarations 2016-09-20 09:21:11 -07:00