Commit graph

100 commits

Author SHA1 Message Date
Mark Pizzolato
00b77c8533 TMXR: Packet, Loopback and Half-Duplex enhancements
- Added halfduplex mode for network connections and corrected modem signal DSR to reflect connection status (vs original attach status), and DCD follows DSR (except in halfduplex mode where it follows CTS).

- Enhance tmxr_set_get_modem_bits to also return the modem DTR and RTS state.

- Separate RTS from DTR when manipulating modem state bits

- Minor fixes to loopback functionality after direct testing with the first loopback client device (DMC11).

- Fix clearing of break input buffer now that input buffers are dynamically allocated

- Changed Modem bit logic to have CTS reflect RTS as expected by devices which may expect this.

- Changed receive buffers to be dynamically allocated and the same size as transmit buffers when transmit buffers are non-default sized.

- Added TMXR line attach in loopback mode.  Fixed loopback buffer management

- Added loopback support to TMXR lines

- Added functioning connect poll capability to revised DMC

- Added connection destination display to connection status even when a connection has not yet been established.

- Added extended packet sending and receiving semantics to TMXR allowing for an optional frame byte to exist between length prefixed data packets
2013-11-20 12:18:02 -08:00
Mark Pizzolato
6f4e718fda PDP8: Refinement to prior fix for issue #86. Avoid data loss if prior character hasn't been read yet when a poll event happens. 2013-11-03 13:08:17 -08:00
Mark Pizzolato
db964d126c SCP/TMXR: Fix crashing bug when a multiplexer line has logging enabled before a mux attach, 2013-10-17 07:04:04 -07:00
Mark Pizzolato
5a21db5df6 Fix TMXR line transmit buffer allocation to always be allocated if a listening socket is open 2013-06-24 10:58:28 -07:00
Mark Pizzolato
486ef58595 Compiler warning cleanup 2013-06-01 23:04:45 -07:00
Mark Pizzolato
4d34547b05 Cleanup DUP11 implementation and refactor for shared use by another device (KMC11). 2013-05-31 11:58:09 -07:00
Mark Pizzolato
4ba152db79 Fix packet transmit overrun behaviors which caused DECnet circuit failures. 2013-05-28 17:35:49 -07:00
Mark Pizzolato
f30d43209e Fixes to:
1) retain the buffered/unbuffered line specific details across save/restore
 2) retain modem control outgoing bits (CTS and DTR) accross line resets which may occur due to carrier/connection loss.
 3) change the behavior which sends  the prior contents of the transmit buffer on a line reconnect to only happen for buffered telnet lines.
 4) avoid crash in SHOW MULTIPLEXER output when only specific lines have been attached instead of
2013-05-27 15:14:54 -07:00
Mark Pizzolato
1eb15fc917 Fix to support multiplexer devices which call tmxr_open_master directly instead of tmxr_attach so that the resulting TMXR will be in the open multiplexer list 2013-05-24 17:53:12 -07:00
Mark Pizzolato
44d6651f99 Added hex debug output for tcp session data on non-telnet line debug 2013-05-19 06:50:12 -07:00
Mark Pizzolato
784bc5daa2 Added new tmxr_line_attach_string API to return the attach string specific to a a particular multiplexer line.
Added parsing logic to allow tcp port and connect strings to end in either ";notelnet" or ";telnet" as desired to specifically describe a port setup.
Fixed bug in single line multiplexer attach which returned failed status when it should not have if a tcp connect destination was specified.
Relaxed parsing rules to allow a single line multiplexer to have a listen port specified at either the line level or the mux level.
2013-05-17 08:07:00 -07:00
Mark Pizzolato
e8e751c2fd Added randomization to the checking for success of outgoing connections and the arrival of incoming connections 2013-05-15 15:34:45 -07:00
Mark Pizzolato
7edcf5f36e Added stability to virtual null modem connections by consuming all incoming per line connections until a good one (or none) is found.
Extended debugging to describe the socket endpoints when connections are established.
Extended XMT and RCV debugging to include the line number in debug messages.
2013-05-15 13:53:32 -07:00
Mark Pizzolato
145b5c6a00 Added per line Modem Control capabilities to TMXR 2013-05-15 05:42:36 -07:00
Mark Pizzolato
3448edf608 enhanced the relatively new tmxr_linemsgf api to dynamically flush a completely full transmit buffer as needed. 2013-05-13 08:16:25 -07:00
Mark Pizzolato
671644ff41 Avoid passing negative values (i.e. signed characters) to isprint() which is not happy with doing this on some platforms. 2013-05-12 11:58:34 -07:00
Mark Pizzolato
9faef6ea89 Added separate debugging ability to trace line connect/disconnect activities to better debug virtual null modem cable activities. 2013-05-06 07:50:09 -07:00
Mark Pizzolato
67712d0095 Added more extensive debug output of tmxr telnet parameter and data 2013-05-01 13:43:10 -07:00
Mark Pizzolato
b1e31a7034 Fixed Remote Console to tolerate bare LF as a line terminator and enhanced the tmxr debug output for special characters 2013-04-30 08:37:11 -07:00
Mark Pizzolato
d364571c2c Added tmxr_linemsgf api to send formatted messages to a multiplexer line. 2013-04-24 09:00:36 -07:00
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