MXO-KP50.ASM (MAC) Revision history: 2/28/86 5.0 Major rewrite of this overlay, hence the version changed. Converted all code to lower case, tabified, and moved misc. equ's below this comment section. Heavily edited rev. history to save space in this file. Changed code to use Z80 opcodes to save code space. Separated SIO register storage so, it is now possible to use both modems at the same time, and switch back and forth at will. Removed all smartmodem support. Fixed faulty NITMOD logic that was only checking to see if the default modem was active, and only initializing that one. (If you used SET to switch modems, dropped to CP/M, and returned, it could hang up phone). Cleaned up SET cmd nomenclature, that had gotten confused in the comments and tables. Removed use of interrupts from dialer routine: was crashing 2.2u1 machines, and would lock up a machine without an internal modem if user issued a CALL or DIAL command. Now dialer just inserts an appropriate delay, and assumes chip is done. (Timing is better: now as fast as the Smartmodem's). Added support for tone dial '#' and '*' chars in dialer, now important for 'cancel call waiting'. Also added support for flash (exclamation mark), ';' and 'R' dial modifiers. All behave as on Smartmodem. Fixed PBAUD so MEX dialer cannot reset baud rate on external when dialing internal (possible before). Added routine to notify user of a carrier drop, and disconnect. Reason: carrier drop is not always obvious when it occurs on internal. Added flag to indicate that SET values displayed may not be correct when returning from CP/M (no way to read current params from SIO or CTC). Added code in NITMOD: and SYSVR: to tell user which (if any) modem(s) currently active when returning from CP/M: if one is active (carrier detected), then it is selected, regardless of the default modem. Added stripping of several garbage chars like DEL as they come in from modem, to clean up 1200 & 2400 baud. Added PARITV: and NOPARV: support, to shut off effect of this stripping. Made SET ?, and other displays and messages more consistent with other MEX messages. "SET xxxx " now displays current status of xxxx instead of an error message. MexPlus equate added, but not tested. Added rudimentary internal modem detection, based on DCD floating high after disconnect. -- Tim Farley ??/??/?? 4.3 This version, though mentioned in the overlay list and elsewhere, never showed up in my area. There apparently have been some other later versions as well, but I've been unable to find them, so I went ahead with my release. -- Tim Farley 1/11/85 4.2 Fixed SBREAK and DISCON routines to work properly when parity is set to other than NONE. -- John C. Smith 9/19/84 4.1 Fixed DISCON routine now lowers DTR & RTS for one sec. Added manual busy abort (hit any key) in smartmodem dial routine. -- Kim Levitt NOTE: around this time, the overlay was separated into MXO-K484.ASM and MXO-KPSx.ASM, for separate internal and Smartmodem overlays. This was done to make the overlays more adaptable, but compression and editing of the existing code had not been throughly pursued. -- Tim Farley 9/9/84 4.0 Added internal modem SET PARITY, STOPBITS, and LENGTH. Fixed internal modem auto-answer logic so it works. Corrected error when setting STOPBITS to 1.5, which was resetting parity. Now fully duplicates SUPRTERM support. Enhanced SET MANUAL for internal modem. Version level changed to eliminate confusion between 2.X and 3.X overlays. Updated comments & documentation. -- Terry Carroll 8/26/84 2.8 Added equate to support Anchor Signalman Mark XII modem. Affects DSC, dial abort and SET DELAY. Added the PARITY, STOPBITS and LENGTH commands from the Norm Saunders overlay (MXO-KP3x), for external only. Added modem id to SET ? command. -- Terry Carroll 8/03/84 2.7 Added call to DISCON: (disconnect routine) in the Smartmodem dialing routine. Avoids connect that comes right at timeout. -- John C. Smith 6/10/84 2.6 Undid revision 2.5. Both DCD detect on entry and internal modem initialization had been commented out. Cleaned up code in NITMOD: for PIO init and RS-232 init. -- John C. Smith 6/03/84 2.5 Commented DCD status check Dennis Quinn at NITMOD2, so Hayes could Royal Oak, MI be used at factory settings. 6/02/84 2.4 Code was turning off RTS Dennis Quinn after disconnect sequence. Royal Oak, MI This was causing problems with certain modems. Enabled 110 baud operation. 5/31/84 2.3 Changed code to be compatible John Smith - Manlius, NY with the older Kaypro models enabled 19,200 baud operation. 5/29/84 2.2 Corrected SET ? to display Steve Sanders proper SET ORIG command instead of SET ORIGINATE 5/28/84 2.1 Added conditional for old Steve Sanders Kaypro 2/4 5/27/84 2.0 Added internal modem and John Smith - Manlius, NY revised SET commands. 5/18/84 1.0 Original version John Smith - Manlius, NY