home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
mex
/
mxo-kp50.lbr
/
MXO-KP50.IZF
/
MXO-KP50.INF
Wrap
Text File
|
1987-03-08
|
9KB
|
196 lines
Title MEX Overlay for the Kaypro Computer Version 5.0
NOTE: formerly this overlay provided Smartmodem
support and was thus a 'MIXED' overlay. This reduced it's usefulness.
All smartmodem code has been removed, and the user must, if planning
to use an external modem, obtain the appropriate modem overlay
(MXM-xxxx.ASM) to use with this overlay. Without one you can still
use the int modem (and the external serial port for direct connections),
but dialing on an external modem will not work through MEX.
This overlay has only been tested using MEX114.COM. Although
a MexPlus equate has been added, using existing MXH-*.ASM overlays
as a guide, the effect of this has not been fully tested. Hopefully
some MEX guru out there will test this with MexPlus and verify that
it works: I currently don't have access to MexPlus. --Tim Farley
If you plan to use both the internal and external modems,
you must MLOAD the modem overlay AFTER this overlay, so this
overlay can find the modem overlay's dialing code, etc. Example:
MLOAD MEX.COM=MEXxxx.COM,MXO-KPyy,MXM-zzzz
would prepare MEX to be used with the internal modem, and an external
modem (assuming both overlays were assembled properly). The modem
overlay (MXM-zzzz.ASM) must org above 0B00h or it will conflict
with this overlay. (Some modem overlays ORG at 0A00 or even as
low as 0900, you need to check yours.)
------------------------------------------------------------
SPECIAL FEATURES OF THIS OVERLAY:
* Supports both internal and external modems, with easy switching
between the two. You can even have both of them active
at the same time and switch 'on the fly', assuming you have
two phone lines, and don't get timed out by the host(s)!
* Automatically detects drop of carrier on a modem connection
and informs the user, disconnecting the phone in the process.
Avoids 'typing at a dial tone' when you don't realize you've
lost a connection (esp. on internal modem & during file xfers).
* Automatically detects active modem(s) when re-entering from CP/M,
notifies the user, and selects the modem in question for a speedier
return to your connection. 'Live' modems will be flagged with '(*)'.
* Flags communication paramaters and baud rate as possibly being wrong
when examined via SET, but connection will not be affected as
paramaters are NOT changed on a live connection. (Parameters so
affected will be marked with '(?)' until changed with SET).
* Strips DEL, '{' and '}' from input stream (converts to nulls) to clean
up noisy 1200 and 2400 baud lines. Shuts this off during file xfers.
* Supports use of most dial modifier characters in dial strings for
the internal modem: 'T' switches to tone, 'P' switches to pulse,
',' sends a delay set by DIALWT, '*' and '#' send the appropriate
Touch-Tone characters if dialer is currently in tone mode.
(Note that 'A,' 'B,' 'C,' and 'D' can't be generated by the chip.)
Exclamation mark sends a 'Flash' (1/2 second on hook--used for
three way calling and for call transfers on PBX systems),
'R' at end of string initiates call in answer mode (Reverse), and
';' at end of string returns to command mode with phone still off
hook. (NOTE: other Smartmodem dial modifiers 'W' and '@'
are physically impossible with internal modem. Also, since ';'
is the default multiple command separator for MEX, you
either have to STAT SEP to some other character than ';', or
assign the dial string to a label in a .PHN file.)
* Hit any key to manually time-out current dial, ^C to abort all dialing.
This allows you to manually skip to next number when auto-dialing,
when you hear a busy signal or no answer, avoiding the long wait
for a time-out.
* Software emulation of many Smartmodem features for 'dumb' internal
modem, including auto-answer.
* Designed to automatically work with logical modem overlays without
setting of any special equates.
------------------------------------------------------------
A full-featured SET command processor is implemented to select
between modems as well as set specific characteristics of the internal
modem and the communication characteristics of the external modem.
The following table outlines the SET command options:
Available for
SET Command Internal External
INTERNAL YES YES
EXTERNAL YES YES
TONE (dialing) YES YES (*)
PULSE (dialing) YES YES (*)
ANSWER (Auto-answer phone) YES NO (use SSET)
MANO (Manually turn on carrier YES NO
tone for Originate mode)
MANA (Manually turn on carrier YES NO
tone for Answer mode)
DELAY <n> (seconds) YES NO (use SSET)
BAUD <rate> NO YES
LENGTH (5, 6, 7, or 8) YES YES
PARITY (Odd, Even, None) YES YES
STOPBITS (1, 1.5, 2) YES YES
(*) Be sure your modem overlay maintains a TONE/PULSE
flag at the standard location TPULSE at 105H. Most
overlays do, but if yours doesn't, SET TONE and SET
PULSE will not affect the external modem.
------------------------------------------------------------
NOTE ON INSTALLATION:
(1) To make the garbage character strip work, the
overlay also ALWAYS strips the parity bit, regardless of
FILTER setting, except during file transfers.
Since MEX never sends high bits to the screen anyway,
this only effects DEBUG displays and TERM files. Set BADCH1,
BADCH2 and BADCH3 all to nulls and re-assemble if you need
to disable parity stripping for some application. (You
might want to do this if you plan only to use the internal
modem, since it never operates at 1200 or 2400 baud).
(2) Note that your external modem must operate
DCD for the Carrier detect logic to work properly. If
it always keeps DCD high (like the Hayes will on default
settings) when you enter from CP/M, MEX will 'think' you
have an active line. It will never erroneously hang up
your connection, unless your modem drops DCD low erroneously,
but it will keep flagging the modem with (*) because it
will think carrier is present. On the Hayes 1200, set
switch 6 (Carrier status detect) UP to enable carrier
detect. On the Hayes 2400, issue the command "AT&C1&W"
On other modems, consult your manual.
------------------------------------------------------------
NOTE ON COMPATIBILITY, FOR
OWNERS OF OLDER MODEL KAYPRO II OR 4
This overlay will work with ALL Kaypro 8-bit CP/M
computers released to date including the original
Kaypro II & 4 and the more recent models with graphics -
the 1, New 2, 2X, 4-84 and 10.
Version 5.0 has specifically been tested on old (1983 models)
2 and 10 (CP/M 2.2G and H); and on newest (1985) 1, 2X and 10
(CP/M 2.2u1).
Obviously, if your Kaypro has no internal modem, the
SET INTERNAL command will be non-functional.
If you never intend to use MEX on a Kaypro with such a
modem, you can set the symbol INTRN to NO and all internal
modem code will be left out at assembly time, saving room
in the overlay area. This also avoids erroneous carrier
detect on non-existant internal modem (DCD floats high on
many models without the SIO and modem chips present).
If you do leave the internal modem code in and use MEX on
units without internal modems, (maybe you have more than one Kaypro?)
typing DSC while the internal is selected will make MEX
attempt to recognize whether the internal modem is present.
If it can determine, that no internal modem is actually
present, it will flag all future references to
the internal modem as errors. You can put "SET INTERNAL;DSC"
in your INI.MEX file to do this every session, and only have
to have one version of MEX.COM around.
------------------------------------------------------------
This overlay is intended to be fully compatible with the
MEX structure and should be readily upward compatible with
the predicted MEX 2.0.
Calling conventions for the various overlay entry points
are detailed more fully in the PMMI overlay (MXO-PMxx.ASM,
where xx=revision number).
------------------------------------------------------------
Credits:
M7KP-1 overlay structure by Irv Hoff
Internal modem support by John Smith.
MXO-KP overlay structure also by John Smith.
------------------------------------------------------------
Updates, Bug Reports:
Previous 'owners' of this overlay seem to have
abandoned it, so I will take bug/update reports
on Tom Brady's Decibel RCP/M, 404-288-6858, 300/1200/2400.
--Tim Farley
Atlanta, GA
------------------------------------------------------------