Commit graph

80 commits

Author SHA1 Message Date
Mark Pizzolato
4c6f086eb3 Fix compiler identified typo reported by Peter Schorn 2013-04-21 05:45:40 -07:00
Mark Pizzolato
5a56c19696 Added ability to display modem bits when a line is connected to a modem control enabled multiplexer. 2013-04-18 17:22:12 -07:00
Mark Pizzolato
ba5767520f Added better support for virtual null modem cables on Modem Control multiplexer lines.
If the multiplexer is a modem control one, this change caused connections to be established ONLY if DTR is presented by the simulated system and to always be dropped when DTR is not asserted.
2013-04-18 12:46:57 -07:00
Mark Pizzolato
ba87329baa Fix to properly manage modem DCD and RNG state. 2013-04-17 09:32:48 -07:00
Mark Pizzolato
ed7f3be258 Added a tmxr_detach_ln routine.
The is to be used when a mux wants to dynamically change the number of lines it supports.  It should explicitly detach an previously configured lines which won't exist after the change prior to changing the line count.
2013-04-17 06:14:42 -07:00
Mark Pizzolato
b36efe5226 Fix out of bounds array reference (off by 1) when validating a maximum line number on a multiplexer 2013-04-16 11:46:48 -07:00
Mark Pizzolato
93c9f35948 Restore DZ modem control state to default on device detach. Properly clear modem bits when modem control enabled. Better display of modem control status. 2013-04-16 05:33:29 -07:00
Mark Pizzolato
4bd72e666c Compiler and static analyzer fixes from Peter Schorn. 2013-04-13 16:59:54 -07:00
Mark Pizzolato
52838eab05 Fixed tmxr attach logic to initialize the backlink on all of the mux lines when only a single line is attached. 2013-04-07 17:41:16 -07:00
Mark Pizzolato
2f85000dbc Compiler suggested cleanup 2013-03-24 05:43:28 -07:00
Mark Pizzolato
249f40e4bc Compiler indicated cleanup (FreeBSD on PPC) 2013-03-23 15:55:13 -07:00
Mark Pizzolato
de483074e6 Cleanup for build on VMS 2013-03-16 11:44:34 -07:00
Mark Pizzolato
bb9f9155f2 Arranged sequencing of Modem RING and DCD bits to be presented together if DTR is not on and DCD only if DTR is on. 2013-01-25 12:00:53 -08:00
Mark Pizzolato
ab25ad54e8 Fix potential for crash if tmxr_set_get_modem_bits is called without the multiplexer device being attached 2013-01-24 12:09:40 -08:00
Mark Pizzolato
f7b2f44c9c Fixed tmxr xmte and rcve management to be consistent with original behavior 2013-01-24 07:07:39 -08:00
Mark Pizzolato
f4dd30709f Fix DZ issue which didn't report modem bits to the host unless the attach was made with -M. 2013-01-23 19:33:42 -08:00
Mark Pizzolato
e3207c2009 Compiler suggested cleanups 2013-01-23 05:07:44 -08:00
Mark Pizzolato
b661f6c2bd Fix sim_tmxr flag settings to avoid an overwrite which was introduced when the dynflags was added 2013-01-22 16:03:18 -08:00
Mark Pizzolato
83c1d80194 Merge branch 'master' into AsyncTmxr
Conflicts merged and missing changes in new modules added as needed for clock co-scheduling.
2013-01-21 16:52:42 -08:00
Mark Pizzolato
d46ebc7d49 Untangle circular include references between tmxr serial and sock include files. 2013-01-21 11:29:27 -08:00
Mark Pizzolato
19c4ccbf10 Added dynflags to the unit structure to track dynamic flags used by scp & libraries. This avoids expanding the set of unit flags and encroaching on the available user flags . 2013-01-18 09:46:13 -08:00
Mark Pizzolato
4f19d08869 Initial merge of Asynchronous Multiplexer and Asynchronous Clock support 2013-01-17 11:34:51 -08:00
Mark Pizzolato
6eb3804620 Standardized scp command formatting in help output 2013-01-15 06:21:32 -08:00
Mark Pizzolato
1213f098e2 Fixed Buffered Console behavior which ended up flushing buffer contents once a second and clearing the buffer. We were also incorrectly flushing buffer contents when a connection dropped. 2013-01-11 16:34:05 -08:00
Mark Pizzolato
744f65a36c Fleshed out the tmxr help and set the HP2100 to use the mux help by default 2013-01-10 17:51:25 -08:00
Mark Pizzolato
dac73b9381 Migrating scp and library global variables to be declared as extern in the appropriate library include file and remove repetitive declarations in referencing modules. 2013-01-10 13:29:15 -08:00
Mark Pizzolato
784ae24324 - Fixed asynchronous i/o hangs introduced when asynchronous cancel support was added
- Added event debug support to scp and the vax simulator
- Moved external declarations into include files related to modules which define them and removed random externs from modules which referenced them
- Fixed typos in sim_ether
- Fixed sim_disk and sim_tape to properly manage asynchronous threads on an i/o flush
2013-01-09 17:02:58 -08:00
Mark Pizzolato
df4cc945bb Changed the tmxr_attach parsing code to allow more natural specification for the configuration of different information for multiple lines as per Dave Bryan's suggestion. 2013-01-06 05:53:41 -08:00
Mark Pizzolato
b78c91b4db Fixed error paths during attach/detach and fixed a per line listen detach bug 2013-01-05 16:57:04 -08:00
Mark Pizzolato
ba0f331fa5 Added framework to support per device help commands 2012-12-30 13:12:15 -08:00
Mark Pizzolato
53c537b8dd Cleanup the mux attach string for single line multiplexers 2012-12-29 07:40:21 -08:00
Mark Pizzolato
122ca9b7cd Fix potential attach order bug when attaching a serial port to a single line mux found by Dave Bryan 2012-12-29 06:26:47 -08:00
Mark Pizzolato
33a2ec9e35 Fixed missing ipad setup for outgoing connections 2012-12-26 10:55:35 -08:00
Mark Pizzolato
af93ca96c3 Added /dev/ttyAMAn devices as possible serial port lines on *nix systems.
Fixed reset disconnect logic for serial lines
2012-12-26 10:51:19 -08:00
Mark Pizzolato
6862041eca Properly shutdown prior connecting socket when establishing a new one 2012-12-22 11:57:22 -08:00
Mark Pizzolato
2a89d9bdc6 Behave more consistently and only tear down prior listening sockets if a replacement will actually work. 2012-12-22 10:19:13 -08:00
Mark Pizzolato
afd09eee2e Made parsing of MUX attach arguments more robust and tolerant of inconsistent sequences of arguments.
Fixed memory leaks in error paths
2012-12-22 07:10:17 -08:00
Mark Pizzolato
11cc564f0c Fix proper cleanup when a mux telnet session terminates. 2012-12-21 13:55:30 -08:00
Mark Pizzolato
1370ad6a2c Fixed console serial port connection checking 2012-12-18 15:41:34 -08:00
Mark Pizzolato
a72d85b2bd Fix TMXR for devices which reference the TMLN conn variable as a connection state flag 2012-12-18 09:53:01 -08:00
Mark Pizzolato
beeb5ae09e Cleaned up the formatting of SHOW MULTIPLEXER output based on input from Dave Bryan 2012-12-16 06:23:18 -08:00
Mark Pizzolato
6cabdb9f9f Fixed duplicate logging output when output buffers are full and potential pauses in console output (reported by Mark Benson) 2012-12-15 11:40:20 -08:00
Mark Pizzolato
60a0881c71 Fixes after Dave Bryan's testing. 2012-12-15 07:58:11 -08:00
Mark Pizzolato
59afee3128 Serial Multiplexer cleanup after review by Dave Bryan
- Added functionality to return the lines with attached serial ports by calling tmxr_poll_conn one time after a serial port is attached.
- Added the ability to close a serial port from the sim> prompt if a device implements a SET dev DISCONNECT=line command.  A serial port is closed if the -C switch is specified on the DISCONNECT command line.
- Cleaned up the multiplexer status display based on Dave's recommendations.
2012-12-13 13:46:43 -08:00
Mark Pizzolato
7f6a1af5bf Added an optional validation argument to sim_parse_addr for callers which need to confirm incoming connections come from expected sources 2012-12-09 12:12:09 -08:00
Mark Pizzolato
7c7df669ad Asynchronous Support
scp.c, scp.h
	- added sim_uname (Unit Name) API to simplify places which might want to display it (mostly debug messages).
	- added support for clock co-scheduling
	- added debugging to trace event queue activities

    sim_defs.h
	- added support for clock co-scheduling
	- added support for sim_uname (Thread local storage macro)
	- added support for debugging to trace event queue activities
	- simplified debug code by using sim_uname
	- fixed support macro for sim_is_active when asynch timers are in use

   sim_rev.h
	- fixed nested comments

    sim_tmxr.c, sim_tmxr.h
	- added support for clock co-scheduling
	- simplified debug code by using sim_uname
	- added support for devices which poll for output on different units

    sim_timer.c, sim_timer.h
	- added support for clock co-scheduling
	- fixed asynchronous clock calibration to smooth out calibration adjustments
	- simplified debug code by using sim_uname
	- added ability (when running with asynchronous support) to explicitly disable or enable asynchronous timer support.
	- changed sim_timer_inst_per_sec to return a double value since the result is always used in a double expression and integer overflow could occur under strange timing conditions

    vax/vax_stddev.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.

    vax/vax_cpu.c
	- added EVENT and ACTIVATE debug flag (SET CPU DEBUG=EVENT;ACTIVATE) support

    pdp11/pdp11_dz.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.

    pdp11/pdp11_vh.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.

    pdp11/pdp11_xq.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.
2012-11-12 15:33:35 -08:00
Mark Pizzolato
fbb74de9b7 TMXR fixes to support Virtual Null Modem Connections
sim_tmxr.c
sim_defs.h
	- Fixed parsing issues with NOTELNET option.
	- Fixed line closing logic to drop buffered contents when line errors occur before closing link.
	- Fixed logic to allow bidirectional line connections (i.e. listen=1234;connect=ip:2345 on both sides of a a virtual null modem).
2012-11-08 15:45:43 -08:00
Mark Pizzolato
f8ae8d2741 Periodically flush buffered console mux data. This is necessary to cover the situation when data was buffered and sending data out the connection stalled due to OS/network buffering and no more output traffic happens to be generated. 2012-11-07 14:26:07 -08:00
Mark Pizzolato
faa5c61fe4 Added validation of an incoming connection's IP address when a mux line is configured both with a listening port and an outbound connection destination. In this case, connections will only be accepted from the IP address of the target destination. 2012-11-07 05:18:14 -08:00
Mark Pizzolato
8b59f2a12a sim_tmxr.c - Fixed behavior when I/O errors happen on serial port connections. Now a message is displayed and the serial port is closed as opposed to the prior behavior where messages would be spewed incessantly with no benefit. 2012-10-27 12:50:50 -07:00