M7FNK COMM7LIB COMMDMLNK DOC MDM740 DOC MDMDIR COMMDMDIR MSGMDMLNK COM M7AP+5 ASM!"#$%&'()*+,-./0*>?#'#> ~, !J=_.:;,<>ɾw 7 $ t>u$ t$ tn$ ʠ$ $ Æ PY  BK a{!2ͣA:<2 w# 7&!~A´#K"#v* You can now change the INTERCEPT CHARACTER (key prefix), any of the ten function keys, or you can exit to CP/M. A - INT CHAR: ~#{ B - FNK 0 DM724 or higher). Aborting...  ERROR - drive/user spec invalid Ö DISK WRITE ERROR - FILE TRASHED  ERROR - file not found. Please restart.  *** END OF EXECUTION *** *M7AP+5 ASMM123456789:M7AP+5 HEX ;<MDM740 COM=>?@ABCDEFGHIJKLMDM740 COMMNOMDM740 DOCPQRSTUVWXYZ[\]^MDM740 DOCF_`abcdefgM7FNK DOC hiMDM730 DOC jklmram S - save and quit YOUR CHOICE? >ͷ~QʮS*ABXLX==G > ͷ_ Keep trailing ? ͨ _Y‡6 #6*~#~# ʵy=“*w#«X~# ¶~#ß ERROR - new string won't fit!X Type: W C - FNK 1 : W D - FNK 2 : W E - FNK 3 : W F - FNK 4 : W G - FNK 5 : W H - FNK 6 : W I - FNK 7 : W J - FNK 8 : W K - FNK 9 : W*$ }2' characters free. Q - abort prog>2%2&$կ@~#:\,ʷ!ڷH~, AuAp<2%#~:ʸ?2&#~:ʸmG~#:ʫ0m mOxGÏx m2&ø~:¿#~,! >?:%G:&O>~.#'!9"13 MDMFNK v1.10 (c) ESKAY 02-19-84 MDM7 installation program for function keys. NOTE: the version of MDM7 must be 24 or higher! Please enter the file name (and optional DU:) of the file to be installed/inspected : >ͷ3#README BAKnREADME BAK opREADME DOC qr the new INTERCEPT CHARACTER > ͨ *wXLa!~# 9ͭO:=26͓î#~ hq͹ W #n # ERROR - key definition table not found - aborting.  ERROR - NUMLIB not found at 0E00H - might not be a valid MDM7 file (M2  !~#o|g6: ʷ !~ʷ , w#ê !: ~#  {    y e hex file, then write a temporary file which is finally renamed to the output file name. The temporary file is used so that the input file can be the same as the output file, yet a disk error will not wipe out the original. Errors will be reported feaving original intact $ ++ UNABLE TO OPEN SOURCE FILE ++$ ++ OUTPUT FILE ALREADY EXISTS ++$ ++ NO DIRECTORY SPACE ++$ loading file...$ [Exiting program] $ ++ PHONE LIBRARY NOT FOUND ++$ PHONE LIBRARY LOCATED AT: $ DOES LIBRA |g}o }o|g}o|g}o|g3 #}/o|/gկ2 !"  i * }o|g" h >2 M * : !" | › }  *  " }o|gھ " }oÿ  ! mmand line parameters. Upon entry, MDMLNK will ask for the INPUT file name. Enter the name of the uninstalled MDM7xx.COM file and be sure to specify the full file name. Next, you are asked for the HEX file name. Enter the full name of the assembled ove> Ͷ{{<*b7! "({Q{ï***(|b}i-{ï>2x>27:0ʲ_YN—ò* M7LIB program for changing MDM7xx phone library - 02/20/84$ yG>GO> ͹  2B . >2B dC  C 0͹ M E yb :B b > ͹ ɯ2B y0͹ > ͹ > ͹ ҹ ʹ ʹ ʹ ʹ ʹ >^͹ @͹ *.  O*.  x2 y2 : _$ : _ $ YW FILE (Y/N)? $ hex $Printing $ $ ......1-XXX-XXX-XXXXhange, elete,

rint lib, ead, rite : $ ABORTING...NO CHANGES MADE$ DESC..............1-XXX-XXX-XXXX204 ʔ͞23x##p:3Ͷ>=Ͷ6:5ʔ ^6Gw#†:S70ڰ:_Aڰ[7*,|g}Ɛ'@'Ͷ:+A"!)*,".ʹxʲ_Y1Nxʐ_DCBNʐPwRhW7202w͜4*,ͣ> ͶͶͶͶ!Bͣ €"~¬~Ͷ#¬_> Ͷ> Ͷ !6#6#  4!6`or full directory, unable to write (disk full), file not found, and in case the hex file is corrupt. All errors will abort to CP/M, possibly leaving a file MDMLNK.$$$. MDMLNK not only works on any MDM7 file of any size (within reason), but it can alsther people in other cities. Since that time a number of other (very useful) features have been added, in addition to improved methods of program transfer. A list of some of the features offered by this particular program include: 1) Ability to data. The modem itself is a hardware utility, usually costing around $75 to $200 for a typical 300 Baud device and from $250 to $800 for a system offering 1200 Baud as well as 300 Baud. Some of these (such as the PMMI S-100 modem board) plug d#͈+͓+Ñ> G͝+:3Z] ͒ ͒!ͮ ͒> !ͮ͌N:>2!ͮÒ:>2!ͮÒATDT $+++$ATH $ATM0 $ATM1 $:2!ͮ͌ҧJ~$~4#î8͈+͓+ ͤ,Ñ>GB: 0O1f Cf 3T gital voltages. This discussion is centered around systems intended for use over distances ranging from several miles to literally around the world. FEATURES: -------- A program to communicate with another computer can range from very sby using standard telephone lines but with special audio tones sending serial data. Two common speeds are used, depending on the facilities available -- 300 Baud or 1200 Baud. A "modem" is used which provides these audio tones. This is an acronym foro (BONUS!!!) be used with XMODEM or any other file which will be overlaid by a HEX file which does not change its size. -Sigi  to specify the full file name. Next, you are asked for the HEX file name. Enter the full name of the assembled ovelude the Racal-Vadic, Hayes Smartmodem, U. S. Robotics, Signalman Anchor, etc. The program discussed in this guide allows each computer involved to directly control its own modem, converting DC pulses into audio tones which are sent to (or receiirectly into the computer itself, while others are totally independent of the computer and use an interconnect cable (usually a RS-232 type) to control the external modem. A Bell 212A is an excellent example of this type modem. Other examples would inc MDM740 (NOTES ON HOW TO USE) Copyright 1983,1984 Irvin M. Hoff W6FFC 7 May 1984 NOTE: MDM740 SUPPORTS AUTO-DIALING AND AUTOMATIC CONTINUOUS REDIALING FOR THE FOLLOWING MODEMS: SIGNALMAN Aimple to very complex. MDM740 is one of the more complex such programs available today. It started in 1977 as a relatively simple program. It was called MODEM at that time. It was intended to be used primarily as a means of exchanging programs with o "modulator and demodulator". The one section (modulator) provides the audio tones for sending over the telephone line and the other section (demodulator) then converts those audio tones back to digital pulses the computer uses to receive the incoming#,0:0> O:*ͤ,Ò:(WT0T8>ZTE>ZTR @>ZÒ̓ ++ Bad library number called ++ {+1K2I2:>Z2Q ̓ ++ NO DIAL TONE ++ Ñ::Tx<! >! ~$͝+Gved from) the telephone line. (The standard 1200 baud transmissions use "DPSK" (dibit phase shift keying) instead of "AFSK" (audio frequency shift keying). For short distances, no modems are required as the computer can provide the necessary diT SUPPORTS UP TO TWO LONG-DISTANCE DIALING SYSTEMS (SUCH AS 'MCI', 'SPRINT', 'TYMNET', ETC. FOR TOUCH-TONE DIALING SYSTEMS. INTRODUCTION: ------------ MDM740 enables a computer to communicate with another computer. This is normally done NCHOR MARK XII HAYES SMARTMODEM 300 OR 1200 MODEMS U. S. ROBOTICS 300/1200 MODEM PMMI 103 S-100 PLUG-IN MODEM IT CAN STILL BE EASILY USED WITH OTHER EXTERNAL MODEMS ITH MANUAL DIALING SUCH AS THE BELL 212A, RACAL-VADIC, ETC. Italk with another computer via keyboard at each end. (Called the "terminal mode".) 2) Ability to operate a remote mainframe computer such as TYM-SHAR, or special data bank systems now commonplace. This includes "bulletin board" systems forut changing from originate to answer mode, how to change Baud rates, how to disconnect, etc. Several commands are similar to those already used for CP/M, such as 'ERA', 'DIR' and the ability to change disk drives and user areas. This adds tremen can then be automatically redialed indefinitely. d) Auto-linking of 1-32 different numbers for continuous dialing until one of the group is available. e) Choice of beeping continuously when connected to get the operator's a into memory for automatic transfer to a disk file. 6) Accomodates any computer clock speed up to 25.5 MHz. in 0.1 Mhz. increments for uniform results. (The clock speed is actually of modest interest, it is only used for setting timing loo The cursor stops at point "x:" waiting for some sort of command. Typing a "M" followed immediately by a RETURN, shows the first page of a 4-page help guide. If you do not have a PMMI modem, you would have seen this (or a customized heading for you (if requested) until the other computer finally answers. a) Automatic selection of a particular phone number from a library of names and numbers. (These phone numbers can be very easily changed by using a special external p receiving, sending or just read- ing messges or other types of information. 3) Ability to upload (send) or download (receive) programs from other computers whether TYM-SHAR, data banks, remote hobby systems or just another individual in an the program is ready to use on your equip- ment. (Normally the user must make some modest changes to the program before it can be used. This includes changing the port numbers and some other personal options. These will be covered later in the sectiottention, or beep one time and go to terminal mode immediately to catch UNIX or IBM signon messages that assume you can copy when connected. USING THE PROGRAM THE FIRST TIME: -------------------------------- For now, we shall assumeps.) 7) Advanced type of error detection (CRC or Cyclic Redundancy Check) using automatically generated high-speed lookup tables. 8) Ability to send any of 11 different pre-programmed function keys. (These keys are very easy to reset, usingr particular equipment): MDM740 - (type M for Menu) Version for Non-Pmmi modem B>> COMMAND: In this case only a 3-page help guide is used, since the 4th page is used to assist those with the PMMI modem. It tells them a little aborogram.) b) Automatic dialing for alternate long-distance systems (where auto-dialing touch-tone modems are used). c) Entry of a hand-typed number. Although it might be as simple to manually dial the number as hand-type it, it other location. 4) Ability to copy incoming information on a printer. If the print- er is too slow to copy the data directly, the extra characters back into a large storage buffer until they can be printed. 5) Ability to copy incoming datan that describes how to adapt it to your equipment.) When the program is brought up is shows this display (if using the PMMI modem): MDM740 - (type M for Menu) Version for PMMI S-100 modem starting at port: C0H B>>COMMAND: x those using the PMMI 103 S-100 plug-in modem, the U. S. Robotics 300/1200, the Anchor Signalman Mark XII, the Hayes Smartmodem 300 or 1200 or other "Hayes-compatible" modems. Those features basically include automatic dialing and redialing a special external program.) 9) Automatic disconnect from the telephone line when using CTL-N, or "X" as an option during file transfer. Two other disconnect commands with the PMMI modem. 10) Additional features of special interest to dous flexibility while remaining in the modem command mode. To change disk drives, just say: B>>COMMAND: A: and you are in the same user area on the A: drive. You can also say: A>>COMMAND: A: 12 to change user areaall show a typical example later in this discussion. ^ - shows the function key intercept character. This may be easily changed using an external program. (You may prefer 'escape' or some seldom used control-character.) NOTE: typingTICS ALL APPLY. - - - - - - - - - - - - - - - - - - THE HELP GUIDE, PAGE 1: ---------------------- Single Letter Commands ? - Display current settings ^ - Function key intercept character, then (0-9) M - Display theem, etc.) Primary Options: E, L, M, R, S, T E = Echo mode (special type of full duplex) L = Local modem (no remote echo, half duplex) M = Menu display showing features that are available R = Receive a file from remote facility - - - - - - - - - - - - - - - - - - DISCUSSION OF HELP GUIDE PAGE 1: ------------------------------- There are basically three types of commands that may be used with this program: 1) Single-letter commands shownn of an ASCII file being transferred. Not often used as most ASCII files are now "squeezed" for minimum transfer time and disk space. X = Exit to CP/M when finished, disconnect from phone line 0 = Odd parity (PMMI modem) 1 = Even paris. When finished (using this example), say: A12>>COMMAND: CPM and you will go back to CP/M with the original driver and user area. OPTIONS: ------- There are 6 primary options and 13 secondary options that may be typed on S - Send CP/M file using Christensen Protocol COMMAND: R (or S) FILENAME.TYP R and S can use the following subcommands: B - Bulk transfer using wildcards (e.g., *.*) D - Disconnect when done, return to command mode Q - Quiet mode ( menu E - Terminal mode with echo L - Terminal mode with local echo T - Terminal mode For copying text to disk use T (or E or L) FILENAME.TYP Start or Stop toggles described on subsequent screen. R - Receive CP/M file using Christensen Protocol S = Send a file to a remote facility T = Terminal mode (full duplex, echo provived remotely) Secondary Options: A, B, D, J, O, Q, R, S, V, X, 0, 1 A = Answer mode (used only by PMMI modems) B = Batch mode -- allows automatic multiple on page one. 2) Three-letter commands shown on page 2, and 3) Control- commands shown on page 3. Going down the list: ? - shows current parameters. As these are closely tied in with some of the other options, we shty (PMMI modem) Although you can get the following information from the help guide in MDM740 itself, showing it here will allow us to discuss the various features in somewhat better detail. (*) INDICATES PMMI, ANCHOR, HAYES AND US ROBO the command line. In additon there are over 35 commands ranging from single character to three characters that can be used (such as DIR, ERA, LOG, etc.) Those are listed on the menu. (The exact number varies depending on whether you have the PMMI modno messages to console) V - View or bytes on console X - When done, disconnect, go to CP/M The single letter commands may also be used on the command line when the program is initially executed. Hit any KEY to CONTINUE nly by PMMI modems) Q = Quiet mode, special purpose feature rarely used except if operating through a "BYE" program. R = Receive data shown on CRT during file transfer S = Send data shown on CRT during file transfer V = Visual inspectio file transfer (This is normally only used from modem-to-modem as no RCP/M system supports batch mode file transfers.) D = Disconnect when done, stay in MDM740 J = Command mode when finished with a file transfer O = Originate mode (used o this character while in the command mode will display all the programmable function key definitions with the exception of the log-on string which uses CTL-L. M - shows the menu a page at a time. You may abort after any page is shown wy minutes and seconds it will take to send the program. If the other system is ready to receive, it starts the transfer, showing how many records have been sent. If any errors occur during transmission, it shows what they are and counts t B>>COMMAND: R HELLO.DOC and when he starts to send, you will receive the program which then goes directly to the disk. You could also have said: B>>COMMAND: RB This is called the "Batch mode" and is an extree re-sending the same character over and over. You can stop this by just returning to command mode (type control-E) and then retyping "T" rather than "E". L - terminal mode with local echo. Shows what you are typing but does not send an eche file finishes transferring normally, it will have been received error-free. Those error notices are merely to let the user know a momentary problem caused a resend. The error messages indicate phone line quality. - thing coming from the other computer with the exception of file transfers (use "R" to receive those). R - used only for receiving files from the other computer. These are usually sent in binary form with either checksum verification oith a control-C. E - terminal mode with echo. When talking with another terminal also also using MDM740 (or a comparable program), one of you must send an "echo-back" so you can both see what the other person is typing. This is needed for fge numbers of programs can be transferred completely automatically, including full disks. (Assuming you care to pay the toll calls for the time it will take!) NOTE: The ideal way to receive batch mode would be: B>>COMMAND: RB mely useful way to receive programs automatically, from another computer using a similar program. He will use the batch mode for sending the programs and that automatically provides the file names at the receiving end. In this manner, larho of the other person's typing back to him. Can be used at both ends, in place of one person using "E". Both "E" and "L" are useful at times for some types of modems that do not use full-duplex, or for some main frame units that run half-d S - used only to end programs. Similar to "R" but sends instead of receives. If the other system is ready to receive, you could then type: B>>COMMAND: S HELLO.DOC It will tell you how many records are involved and how manr more commonly, CRC (Cyclic Redundancy Checking). If ready to receive another file, you have several choices, depending on the program used by the other computer. After notifying him you are ready (or will be very shortly), you can type: ull-duplex operation. Usually the person originating the call will type "E" instead of "T". However either may do this. If "both" use the echo mode, the program usually starts typing a string of feedback characters since both computers ar since you may not know in advance how many programs he will be sending. NOTE: While receiving a file, any errors will be shown on the console CRT, indicating that portion of the program is being repeated. If tvide normal results. If the remote system does not supply a LF after a CR, you can get that from the 'TLF' command. T - puts the program directly into "terminal mode", allowing it to send from the keyboard to the other computer, and to copy anyuplex. The combination of "T", "E" and "L" gives an excellent choice to use on various systems. Normally the "T" mode is sufficient except when talking with another person and then the "E" mode at one end or "L" mode at both ends will prohem. It will resend any records not correctly received at the other computer. If too many consecutive errors occur (normally set at 10), the transfer is terminated. The 'batch mode' may also be used for sending: B>>COMMAND: SB MDMDIR MODEM Edits and replaces program MODEM.COM MDMDIR MODEM NEWMODEM Edits directory from program MODEM.COM and creates new program NEWMODEM.COM $ Unable to open Input File$ Output File Already Exists, !]P6#z>2͖>2:NDYN. *[ MDMDIR v2ommands: DEL - Delete memory buffer and file WRT - Write memory buffer to disk file Hit any KEY to CONTINUE - - - - - - - - - - - - - - - - - - DISCUSSION OF HELP GUIDE, PAGE 2: -------------------------------- CPM - HELLO.* (sending batch mode) will send all files starting with HELLO, or can send just one file, or can send several non-related files in this manner: B>>COMMAND: SB HELLO.DOC XDIR.COM TERM.* etc. Be sure to put a space between_> >  !:22D (S2͖ͨ## :2G>. :2o :>:):DYN͖y DD}H\MʨPʮReVRWXQ   2!6#w<i*"~ʱ :2_á*yO2 º"*"> *:2G~# :=2"* - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive/user no. (specify drive/user) and reset disks. e.g. LOG A0: or LOG B: (user # unchanged) SPD - Set speed of file output in termin.1 - Maintain Directory for MDM7xx$ Syntax: MDMDIR input[.COM] [output.[COM]] Input filename MUST be specified, type is optional. Default filetype is .COM. If output filename is not given, edited file will replace input file. Examples: (!9"[1[2!\͛2 !l͛2.2!~?D J%!~ [6C#6O#6M!~ x!~ 6C#6O#6M!͛!>$w#w#w>2~#  ~$±#y¾>. ©!r ͦͦ ͦ! ͦͦ ͦ ͦh   the various files. You can include the 'X' option: B>>COMMAND: SBX HELLO.* MDM740.LBR MDM740.AQM When the file transfer is completed it disconnects from the phone line and reverts to CP/M. This allows you to be absent when tG:2w#àj :2_!>)<6*~0SA[?0:L?*|͔}͔&o { |r{0͝Ɛ'@'AҴ0ö*2]!)*":: <Q ion TXO - Toggle XOFF testing in terminal mode file output NUM - List remote systems SET - Set modem baud rate BYE - Disconnect, then return to CP/M CAL - Dial number DSC - Disconnect from the phone line The following are terminal text buffer cal mode TIM - Select Baud rate for "time-to-send" message TCC - Toggle CRC/Checksum mode on receive TLC - Toggle local command immediate or after CTL- TLF - Toggle LF after CR in "L" or "T" mode for a disk file TRB - Toggle rubout to backspace conversOK to Purge? $ Output File cannot be purged!$ Input File cannot be purged!$ No Directory Space$ Input = XXXXXXXX.XXX Output = XXXXXXXX.XXX $Clearing file space, $loading file XXXXXXXX.XXX ... $ MDMDIR done ...$ Dial directory not found iMDMLNK $$$>22$կ~#:,B!B~FAA<2# =,Delay between chars. (0-9): ͈+(B͓+͝+C0 x?2,Delay at end of line (0-9): ͈+aB͓+͝+C0 x?2 , Char. delay (terminal file mode) is: :Gxo&ͽ+,0 ms. per character Line delay (terminal file mode) is: : Go&ͽ+, Re-Read directory from input file V V* View specified entry on console V? View entire directory W W Write new/modified file to disk X X EXIT program MDMDIR "*" signifies one letter, A-Z or DED. *|g.""ºx;* w# ."!%"͊z |ͩB͟ CKSUM ERROR IN HEX FILE ͩ*wK*~:#ͩOͩWͩ_ͩ"~AڱO#~AG#͟ HEX FILE LOADED ^Œ":=2*n the first 4k Bytes$ Found dial directory at $ Directory spacing is $ bytes $ Does this directory look OK? (Y/N): $ elete, elp, odify,

rint, ead, iew, rite, eit: $ ++ MDMDIR Command Summary ++ Cmd Syntax Des0-9, which corresponds to the directory entry you wish to work with. $ ++ Syntax Error ++ $ Aborting modify mode, no changes made$ Description$x-xxx-xxx-xxxx - Exactly $ Characters $ Disk Full$ Writing XXXXXXXX.XXX ...$ XXXXXXXX.~# "͂t S:͌^͟ FINISHED - RETURNING TO CP/M ͟ CANNOT CLOSE OUTFILE ͟ WRITE ERROR ͟ DIRECTORY FULL??? ͟ INPUT͟ HEX͟ file NOT FOUND - aborting. *,File erased =:I«A:I )AͦAAAx?23J͟AG:IdApA:IdArAA :3J_:=J_͡A= lA:IA͕AOxGxx?2=JI>/:I 0 x? ,++ Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ cription ----- -------- ------------- D D* Delete specified entry from directory H H Display this screen M M* Modify text for specified entry P P Print full directory on printer R R !9"12͟ MDMLNK v1.00 (c) ESKAY 03-26-84 Enter INPUT file name : >͖;͟ Enter name of .HEX file : >͖;͟ Enter OUTPUT file name : >͖:;"ªx* w# ":<2͟ INPUT FILE LOAXXX Written to Disk$ Open error on ead $ No changes made to directory$ Do you want to save new File (Y/N)? $ Renaming XXXXXXXX.XXX to XXXXXXXX.XXX$H (Absolute address) $$ters $ Disk Full$ Writing XXXX~:C?2#~:CG~#:60 OxGx 2C~:J#~,U!m >?Z:G:O>͇~.#͇`ͧ`Ͳʧ*™>?Û#‡Ͳ#ß> §~F!=_.:;,<>ɾ>>>> switches on the ; Versacard should be set as follows: -Tony Antonucci ; ; On switch bank #2: ; s2 - ON ; s3 - OFF ; s4 - OFF ; s5 - OFF ; ;============================================================================= ; ; TO USE: First ; a) CCS 7710 serial interface and external modem ; b) SSM serial interface and external modem ; c) Apple communications interface and external modem ; d) Mountain Hardware CPS Multifunction card and external modem ; e) Prometheus Versacard with soft**** * *>^*@*O*. 9a{_HZW{HpW{r# x{͛H ͤ Hͤ|µ}~# xµ ~+ xÿ!$.200 baud via software. ; A wire should be attached from Pin #12 on U16 (IC marked 8126) ; on the Versacard into Annunciator #3 (Pin #12) on the Apple game port. ; This will allow switch #4 on s2 of the Versacard to be toggled by setting ; or clearing ad compatible with the M7AP-2 overlay ; for the Apple ][ and an external modem. The major difference is the ; addition of code to allow the use of the MDM7xx program with the ALS ; CP/M Card using CP/M 3.0 or the PCPI Applicard under CP/M 2.2. ; Also e>@!$Q-# ͛# ͛>v>ɯ>>>etions that you can use to configure the program to suit your taste. ; Much of the information contained here is not in the MDM7xx.ASM file. ; ; Edit this file for your preferences then follow the "TO USE:" example. ; ; Use the "SET" command to change ware baud select and ext. modem ; f) ALS Dispatcher serial interface. ; ; note: When using the ALS Dispatcher at 1200 baud, you must ; enable hardware interrupts. ; ; You will want to look this file over carefully. There are a number of ; op ; M7AP+5.ASM Apple overlay file for MDM7xx. 06/01/84 ; ; Fixed error introduced in SSC baud rate initialization ; routine by previous revision for PCPI card. This error ; only occurred when assembled for the SSC with ALSCARD true.nnunciator #3. The default baud rate is set at MSPEED Below ; either (300 or 1200). Note: This method could be extended to all other ; Versacard baud rates and by using Annunciators 0,1,2 but 300 and ; 1200 are really needed for a modem program. The DIPquates have been added for the ALS Dispatcher. ; ; This overlay file enables Apple II computers with the Apple Super ; Serial card and external modem to use the MDM7xx phone modem program. ; It also supports the following Apple modem configurations: ;2d !~#o|g6:dʖ!~ʖFw#É!:ͥ~#    êê êyʪ êyG>GO> *ê the baudrate when desired. ; ; To use SET with the Prometheus Versacard a small hardware mod must be ; made, since the Versacard only supports baud rate selection via DIP ; switches. This Mod will allow the Versacard to be switched between ; 300 and 1all ; may benefit. ; ; Mark A. Howard - sysop ; CNY Technical RCP/M ; 319 Tower Ave. ; Syracuse, NY 13206 ; (315)-437-4890 ; ;-------------------------------------------------------------------------- ; ; This overlay intended to be upwar ; - Mark Howard ; ; Note: I have not tested this overlay with all permutations ; of cards, please relay any bugs, questions or comments ; to me via the CNY Technical RCP/M in Syracuse, NY or ; by mail. Please send all enhancements so that edit this file filling in answers for your own ; equipment. Also edit the phone number library, M7NM-6.ASM ; if the phone directory is desired. Optionally, M7LIB.COM ; may be used to change phone numbers later. Assemble these ; files with ASM.COM0AH ;linefeed ; YES: EQU 0FFH NO: EQU 0 ; ;========================== CUSTOMIZATION EQUATES ========================== ; SLOT: EQU 2 ;slot of serial interface ; ALSCARD: EQU NO ;YES if using ALS CP/M Card APPLICARD: EQU YES ;YES if using PCPIand renamed to M7AP+5.ASM ; 2/24/84 - Revised and renamed to M7AP+4.ASM ; Added PCPI Applicard support, added optional ; modification to SET command and corrected ; CCS coding to provide softward baudrate control. ; Richard Berg, ommand) ; -R ("R" loads in the .HEX file) ; NEXT PC ; 4580 0000 ; * -IM7NM-6.HEX (get the optional phone library) ; * -R ; * NEXT PC ; * xxxx 0000 ; -G0 (return to CP/M) ; A>SAVE xx MDM7.COM (now have a modified8 - Irv Hoff ; 04/11/83 - Updated to work with MDM707 - Irv Hoff ; 04/04/83 - Updated to work with MDM706 - Irv Hoff ; 02/27/83 - Updated to work with MDM705 - Irv Hoff ; 02/12/83 - Used MDM703CF to make this file ; for Apple computers using a va * xxxx aaaa 0100 xxxx ; #G0 (exit SID) ; ; CP/M 3 SAVE - Version 3.0 ; Enter file (Type return to exit) : MDM7.COM (name new file) ; Beginning hex address 100 (from PC above) ; Ending hex address 457F (MSZE - 1) ; ; A> or equivalent ; assembler. ; ;============================================================================= ; ;NOTE: Use of the MDMLNK utility is a much simpler process than what ; follows, if this program is available to you. ; ;================th ; software baud selection. Revised ; to allow easy serial card relocation ; made SYSVER more informative. - Tony Antonucci ; 11/11/83 - Renamed to M7AP-1.ASM, no changes - Irv Hoff ; 10/07/83 - Added CPS card support - Wally Hubb743 Azalea St., Thousand Oaks, CA 91360 ; I may be contacted thru Thousand Oaks Technical RCP/M ; ; 1/14/84 - Revised and renamed to M7AP+3.ASM. ; Added ALS CP/M Card and Dispatcher.- Mark Howard ; ; 12/26/83 - Added Versacard support wi .COM file.) ; * - This step is optional, as this overlay does not support ; dialing, however library may be displayed for convenience. ; ;======================== ASSEMBLY WITH CP/M 3.0 ========================= ; ; Use SID to overlay ther- ; iety of serial interface cards ; with external modem. - Bruce Kargol ; ; = = = = = = = = = = = = = = = = = = = = ; BELL: EQU 07H ;bell CR: EQU 0DH ;carriage return ESC: EQU 1BH ;escape LF: EQU (you now have modified .COM file) ; ; * This step is optional ; ;============================================================================ ; Revision History: ; ; 06/01/84 - Changed to work with MDM740 - Robert Flagg ; 4/25/84 - Revised ========== ASSEMBLY WITH CP/M 2.2 =========================== ; ; Use DDT to overlay the the results of these program(s) ; to the original .COM file: ; ; A>DDT MDM7xx.COM ; DDT VERS 2.2 ; NEXT PC ; xxxx 0100 ; -IM7AP+5.HEX (note the "I" card ; 07/27/83 - Renamed to work with MDM712 - Irv Hoff ; 07/01/83 - Revised to work with MDM711 - Irv Hoff ; 06/22/83 - Revised to work with MDM710 - Irv Hoff ; 05/27/83 - Updated to work with MDM709 - Irv Hoff ; 05/15/83 - Revised to work with MDM7000 xxxx (xxxx depends on your sys) ; #RM7AP+3.HEX (load overlay, note "R" command) ; NEXT MSZE PC END ; xxxx aaaa 0100 xxxx (xxxx's are insignificant) ; * #RM7NM-2.HEX (get the optional phone # overlay) ; * NEXT MSZE PC END ; results of these program(s) ; to the original .COM file: ; ; A>SAVE (load the CP/M 3.0 SAVE transient) ; (note no messages) ; A>SID MDM7xx.COM (load the original .COM file) ; CP/M 3 SID - Version 3.0 ; NEXT MSZE PC END ; aaaa bbbb 01 Applicard CPM2CARD: EQU NO ;YES if using Softcard or other CP/M 2.2 card ; Only one of the three may be YES! ; CCS: EQU NO ;YES for CCS 7710 VERSA: EQU NO ;YES for Prometheus Versacard COMCARD: EQU NO ;YES for Apple comcard SSC: EQU YES ; transfer NOOFCOL: DB 5 ;number of DIR columns shown 10AH SETUPTST: DB YES ;yes=user-added Setup routine 10BH SCRNTEST: DB YES ;Cursor control routine 10CH RETRY: DB NO ;yes=reset the error limit to try again 10DH ;no=abort after 10 consecutMODRCVR: EQU 02H ;value when ready MODSNDB: EQU 01H ;bit to test for send MODSNDR: EQU 01H ;value when ready ; ENDIF ;CPS ; ; Apple status bit equates for CCS, Comcard, Versacard, Dispatcher, and SSM ; IF NOT SSC AND NOT CPS ; MODS ENDIF ;ALSCARD ; IF CPM2CARD ; MAPOFF: EQU 2000H ;Microsoft strikes again ; ENDIF ;CPM2CARD ; IF VERSA ; AN3SET: EQU 0C05FH+MAPOFF ;set annunciator #3 AN3CLR: EQU 0C05EH+MAPOFF ;clr " ; ENDIF ;VERSA ; IF CCS ; Mpulse (Smartmodem-only) 105H CLOCK: DB 10 ;clock speed in MHz x10, 25.5 MHz max. 106H ;20=2 MHz, 37=3.68 MHz, 40=4 MHz, etc. MSPEED: DB 5 ;0=110 1=300 2=450 3=600 4=710 5=1200 107H ;6=2400 7=4800 8=9600 9=19200 default BYTDLY: DB 5 ;0=0 deleady to send MODSNDR: EQU 10H ;modem send ready bit ; ENDIF ;SSC ; ; ; (Any slot with any CPS function assigned to it may be used.) ; IF CPS ; MODCR: EQU 0C0FEH+SLOT*100H+MAPOFF ;control port of CPS card MODDATP: EQU 0C0FAH+SLOT*100HYES for Super Serial Card SSM: EQU NO ;YES for SSM serial card CPS: EQU NO ;YES for CPS card ALSDSP: EQU NO ;YES for ALS Dispatcher ; Pick only one interface. ; SETMOD: EQU NO ;if YES, make sure CMDBUF: points ; ;to correct location iand ; Versacard if hardware mod is made), so SETUPRTST is YES for ; those cards, below. ; ORG 100H ; ; Change the clock speed to match your equipment. The Microsoft Softcard ; operates at 2 MHz. The Applicards operate at either 4 or 6 MHz dependiNDB: EQU 02H ;bit to test for send MODSNDR: EQU 02H ;value when ready MODRCVB: EQU 01H ;bit to test for receive MODRCVR: EQU 01H ;value when ready ; ENDIF ;NOT SSC AND NOT CPS ; ; We have software control over the Super Serial, CPS & CCS cards (ODDATP: EQU 0C081H+SLOTOFF+MAPOFF ;data port of CCS 7710 MODCTL1: EQU 0C080H+SLOTOFF+MAPOFF ;status port of CCS 7710 ; ENDIF ;CCS OR ALSDSP ; IF COMCARD OR VERSA OR ALSDSP ; MODDATP: EQU 0C08FH+SLOTOFF+MAPOFF ;data port of Comcard MODCTL1:ay 1=10ms 5=50 ms - 9=90 ms 108H ;default time to send character in ter- ;minal mode file transfer for slow BBS. CRDLY: DB 5 ;0=0 delay 1=100 ms 5=500 ms - 9=900 ms 109H ;default time for extra wait after CRLF ;in terminal mode file+MAPOFF ;data port of CPS card MODCTL1: EQU 0C0FBH+SLOT*100H+MAPOFF ;status port of CPS card MODCPST: EQU 0C0F9H+SLOT*100H+MAPOFF ;printer status port MODCPRT: EQU 0C0FDH+SLOT*100H+MAPOFF ;printer data port MODRCVB: EQU 02H ;bit to test for receive n MDM7xx.COM! CMDBUF: EQU 43FEH ; ; ;=========================================================================== ; SLOTOFF: EQU 16*SLOT ;serial card slot offset ; IF ALSCARD OR APPLICARD ; MAPOFF: EQU 0 ;no memory remapping for ALS or PCPI ; ng ; on which card you purchased. The ALS Card operates at 2 mhz. ; ; DS 3 ;(for "JMP START" instruction) ; PMMIMODEM: DB NO ;yes=PMMI S-100 Modem 103H AUTODIAL: DB YES ;yes=HAYES Smartmodem, no=non-Hayes 104H TOUCHPULSE: DB 'T' ;T=touch, P= ; MODDATP: EQU 0C088H+SLOTOFF+MAPOFF ;data port of Apple SSC MODCTL1: EQU 0C089H+SLOTOFF+MAPOFF ;modem status port of SSC MODRCVB: EQU 08H ;bit to test for received data MODRCVR: EQU 08H ;modem receive ready MODSNDB: EQU 10H ;bit to test for r EQU 0C08EH+SLOTOFF+MAPOFF ;status port of Comcard ; ENDIF ;COMCARD OR VERSA OR ALSDSP ; IF SSM ; MODDATP: EQU 0C085H+SLOTOFF+MAPOFF ;data port of SSM MODCTL1: EQU 0C084H+SLOTOFF+MAPOFF ;status port of SSM ; ENDIF ;SSM ; IF SSCive errors BAKUPBYTE: DB YES ;yes=change any file same name to .BAK 10EH CRCDFLT: DB YES ;yes=default to CRC checking 10FH TOGGLECRC: DB YES ;yes=allow toggling of CRC to Checksum 110H CONVRUB: DB NO ;yes=convert rub to backspace 111H TOGGLEBK: DB should terminate by 0400H (601 bytes ; available after start of SYSVER) if using the Hayes Smartmodem ; or by address 0C00H (2659 bytes) otherwise. ; ; ; You can put in a message at this location which can be called up with ; CTL-L if TRANLOGON ha 168H JMP$INITMOD: JMP INITMOD ;go to user written routine 16BH RET ! NOP ! NOP ;(by-passes PMMI routine) 16EH RET ! NOP ! NOP ;(by-passes PMMI routine) 171H RET ! NOP ! NOP ;(by-passes PMMI routine) 174H JMP$SETUPR: JMP SETUPR ; 177HXTCHR 118H LSTTST: DB YES ;yes=printer available on printer port 119H XOFFTST: DB NO ;yes=checks for XOFF from remote while 11AH ;sending a file in terminal mode XONWAIT: DB NO ;yes=wait for XON after CR while 11BH ;sending a file in terminal IF VERSA DB 'Versacard' ENDIF ; IF SSC DB 'Super Serial Card' ENDIF ; IF COMCARD DB 'Comcard' ENDIF ; IF CPS DB 'CPS card - serial function' ENDIF ; IF CCS DB 'CCS 7710 Card' ENDIF ; IF ALSDSP modem data port 134H DS 7 IN$MODDATP: JMP LDADATP ;in modem data port 13EH DS 7 ;spares if needed ; ANI$MODRCVB: ANI MODRCVB ! RET ;bit to test for receive ready 148H CPI$MODRCVR: CPI MODRCVR ! RET ;value of rcv. bit when ready 14BH ANI$MODYES ;yes=allow toggling of rub to backspace 112H ADDLF: DB NO ;no=no LF after CR to send file in 113H ;terminal mode (added by remote echo) TOGGLELF: DB YES ;yes=allow toggling of LF after CR 114H TRANLOGON: DB NO ;yes=allow transmission of logonDEM: DS 3 ; 18CH JMP$NXTSCRN: DS 3 ; 18FH JMP$TIMER: DS 3 ; 192H ; ; CLREOS: CALL JMP$ILPRT ; 195H EOSCLR: DB ESC,'Y',0,0,0 ; 198H RET ; 19DH ; CLRSCRN: CALL JMP$ILPRT ; 19EH DB ESC,'*',0,0,0 ; 1A1H RET ; JMP$SPCLMENU: JMP SPCLMENU ; 17AH JMP$SYSVER: JMP SYSVER ; 17DH JMP$BREAK: JMP SENDBRK ; 180H ; ; ; Do not change the following six lines. ; JMP$ILPRT: DS 3 ; 183H JMP$INBUF: DS 3 ; 186H JMP$INLNCOMP: DS 3 ; 189H JMP$INMO mode TOGXOFF: DB YES ;yes=allow toggling of XOFF checking 11CH IGNORCTL: DB YES ;yes=CTL-chars above ^M not displayed 11DH EXTRA1: DB 0 ;for future expansion 11EH EXTRA2: DB 0 ;for future expansion 11FH BRKCHR: DB 'B'-40H ;^B = Send 300 ms. br DB 'ALS Dispatcher' ENDIF ; IF SSM DB 'SSM Serial Interface' ENDIF ; DB ' in slot ',SLOT+30H,CR,LF ; DB 0 RET ;..... ; ; ; NOTE: You can change the SYSVER message to be longer or shorter. The ; end of your last routineSNDB: ANI MODSNDB ! RET ;bit to test for send ready 14EH CPI$MODSNDR: CPI MODSNDR ! RET ;value of send bit when ready 151H DS 12 ;PMMI only calls 154H ; LOGONPTR: DW LOGON ;for user message. 160H DS 6 ; 162H JMP$GOODBYE: JMP GOODBYE ; 115H ;write logon sequence at location LOGON SAVCCP: DB YES ;yes=do not overwrite CCP 116H LOCONEXTCHR: DB NO ;yes=local command if EXTCHR precedes 117H ;no=external command if EXTCHR precedes TOGGLELOC: DB YES ;yes=allow toggling of LOCONE 1A6H ; SYSVER: CALL JMP$ILPRT ; 1A7H DB 'Apple ][ and ' ; IF CPM2CARD DB 'CP/M 2.2 Card' ENDIF ;CPM2CARD ; IF APPLICARD DB 'PCPI Applicard CP/M' ENDIF ; IF ALSCARD DB 'ALS CP/M Card' ENDIF ; DB CR,LF ; Transmit file to remote 125H SAVECHR: DB 'Y'-40H ;^Y = Open input text buffer 126H EXTCHR: DB '^'-40H ;^^ = Send next character 127H DS 2 ; 128H ; IN$MODCTL1: JMP LDACTL1 ;in modem control port 12AH DS 7 OUT$MODDATP: JMP STADATP ;outeak tone 120H NOCONNCT: DB 'N'-40H ;^N = Disconnect from the phone line 121H LOGCHR: DB 'L'-40H ;^L = Send logon 122H LSTCHR: DB 'P'-40H ;^P = Toggle printer 123H UNSAVE: DB 'R'-40H ;^R = Close input text buffer 124H TRANCHR: DB 'T'-40H ;^T =s been set TRUE. You can put in several lines if ; desired. End with a 0. ; LOGON: DB 'Hello there from an Apple II',CR,0 ; ; ; You can add your own routine here to send a break tone to reset time- ; share computers, if desired. ; IF NOT CPS 1200 ? JZ OK1200 ; ENDIF ;VERSA ; RET ;THIS IS RET FOR INITMOD ;..... ; IF CPS ; ; Substitute routines for status checks and printing: ; PRCHECK: CALL LDACPST ;read the status port ANI 040H ;mask off unused bits RET ;..... 300 by storing CALL STADATP ;35H in MODDATP (same address - the two ;registers cycle with each write) XRA A ;close the command register CALL STAMDCR ;by storing 00 in MODCR ; ; ; The MDM716.COM routine that checks to see if the printer isS LXI D,60H ; DAD D ; SHLD APREAD+1 ; INX H ; INX H ; INX H ; SHLD APWRITE+1 ; ; ENDIF ;ALSCARD ; ; ; The following address is used to set data bits, parity, stop bits ; and baud rate on the Super Serial Card. ; IF SSC ; Maddress of the SHLD GOLIST+1 ;PRCHECK routine at GOLIST+1 LXI H,PRINTCHAR ;store the address of the SHLD GOLIST+15 ;PRINTCHAR routine ; ENDIF ;CPS ;..... ; ; The following routine initializes the Versacard to the default ; baud rate which iware CPS ; Multifunction Card for eight bits, no parity, one stop bit, and ; 300 baud. This does not alter the CPS defaults outside of MDM7xx. ; IF CPS INITBR: MVI A,1 ;set MSPEED at 1 (=300 baud) STA MSPEED MVI A,80H ;open the command regist; SENDBRK:RET ; ENDIF ;NOT CPS ; IF CPS ; SENDBRK:MVI A,80H ;open the command register CALL STAMDCR ;by storing 80H in MODCR MVI A,3FH ;send a break by storing CALL STACTL1 ;$3F in MODCTL1 XRA A ;close the command register JMP STAMDCR need for the CPS patches. ; ; ******************************************************** ; * - - - - - - - - > C A U T I O N < - - - - - - - - - -* ; * GOLIST: will be a different address depending on * ; * what version of MDM7xx you are using. M ready ; does not work with the CPS card. This routine changes it. Check ; to make sure the original code sequence CALL 0000H, ORA A, RZ, is ; located at GOLIST. A new routine to send the character to the ; printer is also provided, to eliminate theODDLL: EQU 0C08BH+SLOTOFF+MAPOFF ;SSC ACIA control register ; ; ; Control over number of data bits, parity and number of stop ; bits (thru MSB300:) has not been implemented. These must be ; set using the slide switches on the Super Serial Card. ; ;s set at MSPEED above. If MSPEED is set to something ; other then 300 or 1200 this routine does'nt alter The annunciator ; settings. ; IF VERSA ; INITBR: LDA MSPEED ;set annunciators to known state CPI 1 ;is it 300 ? JZ OK300 CPI 5 ;is it er CALL STAMDCR ;by storing 80H in MODCR MVI A,37H ;initialize the serial chip CALL STACTL1 ;by storing 37H in MODCTL1 MVI A,4EH ;set 1 stop bit, no parity CALL STADATP ;by storing $4E in MODDATP ; INITMOD1: MVI A,35H ;set baud rate at ;by storing 00H in MODCR ; ENDIF ;CPS ; ; You can add your own routine here to set DTR low and/or send a break ; tone to disconnect. ; GOODBYE: RET ; ;..... ; INITMOD: EQU $ ; IF ALSCARD ; LHLD 1 ;initialize our local jumps to the BIOake sure * ; * you check the source listing before overlaying * ; * for Mountain CPS Card. * ; ******************************************************** ; GOLIST: EQU 01C86H ;MDM716.COM location of GOLIST LXI H,PRCHECK ;store the MODL ;current baudrate from MODDLL ANI 0F0H ;zero the last 4 bits ; INITMOD1: ORI 06H ;get default baudrate (300) CALL STAMODL ;store default baudrate ; ENDIF ;SSC ;..... ; ; ; The following may be used to initialize the Mountain Hard The following is used to initialize the Apple SSC on execution of the ; program. Change it to initialize the modem port on your micro if you ; wish. It initializes to 300 baud. ; INITBR: MVI A,1 ;default transfer time to 300 STA MSPEED CALL LDA; ; PRINTCHAR: MOV A,C ;move char to A JMP STACPRT ;send it to the printer ; ENDIF ;CPS ; IF CCS ; INITBR: MVI A,5 ;set default speed to 1200 baud STA MSPEED ; INITMOD1: MVI A,00010101B ;set 8 data, 1 stop bit, 1200 baud ;usPUSH H ; LXI H,MODDLL ; JMP APRD ; ; ENDIF ;ALSCARD AND SSC ; IF ALSCARD ; LDACTL1: PUSH H ; LXI H,MODCTL1 ; JMP APRD ; ; LDADATP: PUSH H ; LXI H,MODDATP ; ; APRD: PUSH D ; PUSH B ; CALL APREAD ; POP B ; OK1200: CALL LDAAN3S ;Set Annunciator #3 for 1200 baud MVI A,5 ;Set MSPEED.. STA MSPEED ;..for 1200 baud RET ; ; ENDIF ;Versacard ; ; ; Table of baud rate parameters ; IF SSC ; BD300: DW 0006H BD600: DW 0007H BD1200: DW 0008H hen command is of form SET 300, etc DB '300',0 ; JNC OK300 ; IF NOT CCS ; CALL JMP$INLNCOMP ; DB '600',0 ; JNC OK600 ; ENDIF ;NOT CCS CALL JMP$INLNCOMP ; DB '1200',0 ; JNC OK1200 ; ;fall thru if speed is not properly ;IF CPM2CARD AND VERSA ; LDAAN3C: LDA AN3CLR !RET ; LDAAN3S: LDA AN3SET !RET ; ; ENDIF ;CPM2CARD AND VERSA ; IF ALSCARD AND SSC ; STAMODL: PUSH H ; LXI H,MODDLL ; JMP APWRT ; ; ENDIF ;ALSCARD AND SSC ; IF ALSCARD ; ; ST LOADBD ;go load them ; IF NOT CCS OK600: MVI A,3 LHLD BD600 JMP LOADBD ENDIF OK1200: MVI A,5 LHLD BD1200 ; LOADBD: STA INITBR+1 MOV A,L ;get baud rate byte STA INITMOD1+1 ;store in INITMOD JMP INITBR ;reset ACIA baud rate ; Ee 00010110B for 300 baud- ;MAKE SURE CARD SWITCHES ARE SET FOR ;1200 BAUD! CALL STACTL1 ;ccs acai control reg RET ENDIF ;CCS ; IF NOT SSC AND NOT CPS AND NOT VERSA AND NOT CCS ; SETUPR: RET ;routine to change baud rates, if neededTES ; ;============================= APPLE I/O =============================== ; IF CPM2CARD ; STACTL1: STA MODCTL1 !RET ; STADATP: STA MODDATP !RET ; LDACTL1: LDA MODCTL1 !RET ; LDADATP: LDA MODDATP !RET ; ; ENDIF ;CPMCARD ; IF CPM2 ; ENDIF ;SSC ; IF CPS ; BD300: DW 0035H BD600: DW 0036H BD1200: DW 0037H ; ENDIF ;CPS ; IF CCS BD300: DW 0016H BD1200: DW 0015H ; ENDIF ;CCS ; BAUDBUF:DW 10,0 ;TELLS CLEARBUF ROUTINE IT CAN.. DS 10 ;..CLEAR NEXT 10 BYindicated in SET command ENDIF ;SETMOD ; LXI D,BAUDBUF ;point to input buffer for INLNCOMP CALL JMP$ILPRT IF NOT CCS DB 'Input Baud Rate (300,600,1200): ',0 ENDIF IF CCS DB 'Input Baud Rate (300,1200): ',0 ENDIF CALL JMP$INBUF LXIACTL1: PUSH H ; LXI H,MODCTL1 ; JMP APWRT ; ; STADATP: PUSH H ; LXI H,MODDATP ; ; APWRT: PUSH D ; PUSH B ; CALL APWRITE ; POP B ; POP D ; POP H ; RET ; ; ENDIF ;ALSCARD ; IF ALSCARD AND SSC ; LDAMODL: NDIF ;endif SSC or CPS or CCS ; IF VERSA ; OK300: CALL LDAAN3C ;Clear Annunciator #3 for 300 baud MVI A,1 ;Set MSPEED.. STA MSPEED ;..for 300 baud RET ; ; OK600: CALL JMP$ILPRT DB '300 or 1200 baud only on Versacard',CR,LF,0 RET ; ; ENDIF ;NOT SSC AND NOT CPS AND NOT VERSA ;..... ; ; ; Changes the modem baud rate with SET command. ; IF SSC OR CPS OR VERSA OR CCS ; SETUPR: IF SETMOD ; LXI D,CMDBUF+6 ;point to loc of speed in command buffer CALL JMP$INLNCOMP ;wCARD AND CPS ; STACPRT: STA MODCPRT !RET ; STAMDCR: STA MODCR !RET ; LDACPST: LDA MODCPST !RET ; ; ENDIF ;CPM2CARD AND CPS ; IF CPM2CARD AND SSC ; LDAMODL: LDA MODDLL !RET ; STAMODL: STA MODDLL !RET ; ; ENDIF ;CPM2CARD AND SSC ; hes failed - tell operator DB '++ Incorrect entry ++',CR,LF,BELL,0 JMP SETUPR ;try again ; ENDIF ;SSC or CPS or VERSA or CCS ; IF SSC OR CPS OR CCS ; OK300: MVI A,1 ;MSPEED 300 baud value LHLD BD300 ;get 300 baud parameters in HL JMP D,BAUDBUF+2 CALL JMP$INLNCOMP ;compare BAUDBUF+2 with characters below DB '300',0 JNC OK300 ;go if got match IF NOT CCS CALL JMP$INLNCOMP DB '600',0 JNC OK600 ENDIF CALL JMP$INLNCOMP DB '1200',0 JNC OK1200 CALL JMP$ILPRT ;all matc POP D ; POP H ; RET ; ; ; These are the jump locations to the ALS BIOS ; APREAD: JMP $-$ ; APWRITE: JMP $-$ ; ; ENDIF ;ALSCARD ; IF ALSCARD AND CPS ; STACPRT: PUSH H ; LXI H,MODCPRT ; JMP APWRT ; ; STAMDCR: PUSH H 261746520283330302C3630302CE0 :1002450031323030293A2000CD860111B802CD89EE :100255000133303000D29102CD890136303000D2E1 :100265009902CD89013132303000D2A102CD83010E :100275002B2B20496E636F727265637420656E74F3 :100285007279202B2B0D0A0700C31B023E012AB0F1 sers of this equipment. If using the Hayes Smartmodem ; this is unavailable without a special address change. ; SPCLMENU: RET ; ;----------------------------------------------------------------------- ; ; ; NOTE: MUST TERMINATE PRIOR TO 0400H (witE0H ;READ 1 BYTE FROM APPLE (A = BYTE) WRBYTE: EQU 0FFE3H ;WRITE 1 BYTE TO APPLE (C = BYTE) RDWORD: EQU 0FFE6H ;READ 2 BYTES FROM APPLE (DE = WORD) WRWORD: EQU 0FFE9H ;WRITE 2 BYTES TO APPLE (DE = WORD) PEEK1BYTE: EQU 6 ;COMMAND POKE1BYTE EQU 0C90000C3CA :0B0178001B02C30803C3A701C3090258 :10019500CD83011B59000000C9CD83011B2A000036 :1001A50000C9CD83014170706C65205D5B20616E77 :1001B500642050435049204170706C6963617264DA :1001C5002043502F4D0D0A5375706572205365728B :1001D50069616C2043617264206F APPLICARD AND SSC ; LDAMODL: PUSH D ; LXI D,MODDLL ; JMP APRD ; ; STAMODL: PUSH D ; LXI D,MODDLL ; JMP APWRT ; ; ENDIF ;APPLICARD AND SSC ; IF APPLICARD AND VERSA ; LDAAN3C: PUSH D ; LXI H,AN3CLR ; JMP APRD ; ; L; LXI H,MODCR ; JMP APWRT ; ; LDACPST: PUSH H ; LXI H,MODCPST ; JMP APRD ; ; ENDIF ;ALSCARD AND CPS ; IF ALSCARD AND SSC ; LDAMODL: PUSH H ; LXI H,MODDLL ; JMP APRD ; ; STAMODL: PUSH H ; LXI H,MODDLL ; JMP APWh Smartmodem) ; 0C00H (without Smartmodem) ; END T ; ;----------------------------------------------------------------------- ; ; ; NOTE: MUST TERMINATE PRIOR TO 0400H (wit7 ;COMMAND ; STACTL1: PUSH D ; LXI D,MODCTL1 ; JMP APWRT ; ; STADATP: PUSH D ; LXI D,MODDATP ; ; APWRT: PUSH B ; MOV B,A ; MVI C,POKE1BYTE ; CALL WRBYTE ; CALL WRWORD ; MOV C,B ; CALL WRBYTE ; POP B ; POP 96E20736C6F7471 :1001E50020320D0A00C948656C6C6F207468657211 :1001F500652066726F6D20616E204170706C6520A0 :1002050049490D00C9C93E01320701CDFA02E6F0A0 :10021500F606CD0103C9CD89013132303000D2A1B6 :100225000211B602CD8301496E7075742042617565 :1002350064205DAAN3S: PUSH D ; LXI H,AN3SET ; JMP APRD ; ; ENDIF ;APPLICARD AND VERSA ; ;----------------------------------------------------------------------- ; ; The following routine can be used to display commands on the screen ; of interest to uRT ; ; ENDIF ;ALSCARD AND SSC ; IF ALSCARD AND VERSA ; LDAAN3C: PUSH H ; LXI H,AN3CLR ; JMP APRD ; ; LDAAN3S: PUSH H ; LXI H,AN3SET ; JMP APRD ; ; ENDIF ;ALSCARD AND VERSA ; ; ; IF APPLICARD ; ; RDBYTE: EQU 0FF:1001030000FF540A05050505FFFF00FFFFFF00FF81 :1001130000FF00FF00FFFF0000FFFF0000020E0CC6 :05012300101214191E6A :03012A00C3E0022D :03013400C3CB0238 :03013E00C3E70212 :0C014800E608C9FE08C9E610C9FE10C98F :02016000EB01B1 :10016800C30A02C30B02C90000C9000DIF ;APPLICARD ; IF APPLICARD AND CPS ; STACPRT: PUSH D ; LXI D,MODCPRT ; JMP APWRT ; ; STAMDCR: PUSH D ; LXI D,MODCR ; JMP APWRT ; ; LDACPST: PUSH D ; LXI D,MODCPST ; JMP APRD ; ; ENDIF ;APPLICARD AND CPS ; ID ; RET ; ; LDACTL1: PUSH D ; LXI D,MODCTL1 ; JMP APRD ; ; LDADATP: PUSH D ; LXI D,MODDATP ; ; APRD: PUSH B ; MVI C,PEEK1BYTE ; CALL WRBYTE ; CALL WRWORD ; CALL RDBYTE ; POP B ; POP D ; RET ; ; EN:1002950002C3A6023E032AB202C3A6023E052AB441 :1002A50002320C027D321602C30B0206000700085B :0502B500000A0000003A :1002C400D511A9C0C3CF02D511A8C0C5470E07CD0B :1002D400E3FFCDE9FF48CDE3FFC1D1C9D511A9C0E2 :1002E400C3EB02D511A8C0C50E06CDE3FFCDE9FFCF :1002F40hecking will be part of the file transfer protocol. Speed Options: After entering your primary and secondary options, you can set the modem speed by placing a "." after the options followed by the speed e.g., 300>]ZQ r1K:IX̓ Redial? (C/Y/N/Q): ͪ+{+YXCSQ”U>2I:g2͒l͒{+::IW͒̓ CONNECTED:N ~:I~̓ - any key for terminal mode  ͈+͓+~͒>͝+͝+R{ʅ Gx*al modem ++Ñ>?]Z2N >2O 2I@!IIÛ,:O <<2O O:IG >O2O !I F T͈+k ͓+s Q 7+:͏, Additional Subcommands for PMMI Modems Modem control: A - Answer tone for send or receive O - Originate::j2N 2O 2I!"I!I~9Ow#!I0!OH"͛,HB"͛,H F>$bH O̓ Enter library code or phone number, Hit RET to abort this function now or CTL-X quits while dialing or ringing: I>/!I~ʑ2P :I/0CDE0FFC1D1C9D511ABC0C3EB02D511AB61 :05030400C0C3CF02C9D7 :0000000000 C0C3CF02D511A8C0C5470E07CD0B :1002D400E3FFCDE9FF48CDE3FFC1D1C9D511A9C0E2 :1002E400C3EB02D511A8C0C50E06CDE3FFCDE9FFCF :1002F40#͈+͓+Ñ> G͝+:3Z] ͒ ͒!ͮ ͒> !ͮ͌N:>2!ͮÒ:>2!ͮÒATDT $+++$ATH $ATM0 $ATM1 $:2!ͮ͌ҧJ~$~4#î8͈+͓+ ͤ,Ñ>GB: 0O1f Cf 3T #,0:0> O:*ͤ,Ò:(WT0T8>ZTE>ZTR @>ZÒ̓ ++ Bad library number called ++ {+1K2I2:>Z2Q ̓ ++ NO DIAL TONE ++ Ñ::Tx<! >! ~$͝+GT    ç ,>/0Ð 2HF ̓Y̓*̓Apple ][ and PCPI Applicard CP/M Super Serial Card in slot 2 Hello there from an A tone for send or receive Parity option: 1 - Set and check for odd parity 0 - Set and check for even parity Both ends must be capable of these options which are available only in R and S modes. The parity c , ͤ:O / :P 2IҀ!I~AB %0 B 5h!"{W~h M"Ip͛,:ě!I^#~͝+#ʑ.ʍo:ě!I~^#~h͈+͓+:ʑͤ, ¬ ͤ,> ͝+Ñ#̓ - try #*I#"Iͽ+> ͝+: ͤ,͌>]͒NT 4G EG 5t  ͈+4 ͓+4  ͤ,Ñ͌ ̓busy! ̓abort ̓no carrier ̓on liner̓on at 1200r: :I=2I#Q Ҡ ì F T ̓ringback set, first ring 2͒ͤڑ:P Ҁc̓ ++ No ringback for autodi :, Enter new Baudrate: !e6 ͓+ {+[00:0w͝+#0::[Ia:Im:ZI:I 2IZ::IZpple II >2͉1200ҡ̓Input Baud Rate (300,600,1200): ͉͆300ґ͉600ҙ͉1200ҡ̓++ Incorrect entry ++ >*æ>*æ>*2 }2  o${hGH, 600. EXAMPLE: SBO.600 will set the modem for 600 baud ͌H G {+ }0_.!~w+u o *.̓for Menu) Copyright (c) 1984 - Irvin M. Hoff xxxxxxx,,,,,,xxxxxxxx,,$xxxxxxx,,,,,,xxxxxxxx,,$ #><)Q(><)>u<), ++ ERROR sending name ++ xͅ)ͤ2i3[lG&!123456789 !\͒!&,Awaiting file name Q͕ʓ7>2,J!](>2+J(2+J&,Time out receiving filename Iͤw#}à2,JyQ>J!O"I>2I :I ͈+͓+G::::IQx0^:^ù:^2I2I:I>2I::'Õ:'Ž>2I:́:!+:%ʪ:ʴ:"T::#:I/2I{+{+͉{+: ʮ ::)n:$ :&Pasadena RBBS.....1-213-577-9947Q= R= S= T=TCBBS, Dearborn...1-313-846-6127U=AnaHUG RCPM.......1-714-774-7860V= W= +# :͝+:đA͝+4 :  L<:O: O:I_ W!:~!:I~:I~!ʹ,:đ{ƒ8>̠8®>͈+ʠ͓+ :PIU&>2zI, Multiple errors encountered. Type Q to quit, R toe M ͚ }]2͏ʹ:I!21Kͫ:3:B:ICb:O3+:ID+M3RSTk2I2IõEz2I2IõL‰2I2Iõ~?2*"+"+"+!"J ͟A2;J̀ k:2h> @M>^2h32i3]2I  !OI OG>xA>2I6A=A.P.P.L.E. Crate........251-0543B= C= D= E= F= G= H= +͙"Ͳ&]':PI5&,File open, ready to receive :IT&,CRC in effect >Cn&,Checksum in effect >,Waiting.....<)ͫ"ژ:r(ͧ&ͤÃ͌(ͤ')><)!_J͐!!l͐!, File name to send? (CR to abort): I>/:I ~I!_J,_J:I 2I2Iͫ:PIt,Ready to send in batch mode t>2 ͝+|>B2PI><)):] <'ͪ'Ϳ'xh)F&'ڴͧ&>2zIF&%Q%:In%r%́%ژÇ><)́%ڴ):2It:PI>2B2PI):] <'#> ͝+͏!"{ X= Y= Z=Spare.............1-xxx-xxx-xxxx0= 1= 2= 3= 4=Ta retry: ͓+{+ʹ+Rʫ"QU&:UI!]26J p# 1:UI*xI#, Received # ͽ+, : ,(+,H) :6J<26J ʃ~ ĝ+~ >.͝+|(͝+ҏ&,Awaiting name NAK ́%ܤ!5J5*9J\ ͛,"9J><)7( !]~<)(#~?2:XI2UI:IDEMLTG:9:=xC:IHæ2xSXR’:PI:m ,++ Enter primary option plus file name ++ 2, ++ Bad option ++ 8>ë:PI>B2PIx?2I:I:] 2I2IͲ&!>J͐!!\>J ͛,>J I= J= K= L= M= N= O= P=::,Want to include time delays? (Y/N): ͪ+N:2I{+I_Jq=ʧ?,++ DISK READ ERROR ++$ʧH, (in Terminal-mode now) Jͫ, [Transfer completed]~, ++ FILE NAME ERROR ++ ö!IF~ ͈+͓RBBS (vacant)(vacant)(vacant) Nice chatting, see you again soon... !9"K1K!pʹ,".J!'ʹ,"0J, MDM740 modem pgm (typmpa Bay Bandit..1-813-937-36085=Thousand Oaks.....1-805-492-54726= 7=Spare.............1-xxx-xxx-xxxx8=Spare.............1-xxx-xxx-xxxx9=Spare.............1-xxx-xxx-xxxx^DIR DIR *.* $U0AD XMODEM S XMODEM R BYE <)(I  !\͒!&, ** Checksum error ** 2,JQÖ2,J2,JF&><)(WU&>2I25Jͦ!!"9J!!\J,,0ڱ:fŒ*9J\ ͛,"9J!5J4Ì!8J5€!"9J:5JA>@25J, ** Memory buffer :I,open ** ;,close0n+,CTL-@͝+,~$,n+#,~8,:UI~n+#', :,>͝+{+>2I:PI*U&:;J_͡A xl,͉,:IcG:*K É,~#›,Jx4I!\,:=º,5-#^#6 ^-p- !- , p- !- -2zI ?, ++ SEND-FILE CANCELLED ++$, ++ TIMEOUT - no ACK - $%:UI͈+͓+1K(X&><)(e&> <)>B2PI2I2I:IRS#, ++ FILE CANCELLED ++ ÷**xI#"xI}!\ #~?'·&:PI'\<,File exists - erase? (Y/N): ͪ+Y2{+4!Nz24J:4JW!8 N w͝+GU ́!# "I!"IJ>4s ^#"I:7J s !"I"I*I*I|}::ʌ 27J!?ʹ,DM8¦ > xš 7: :I]F :I]̀*I6}l&)>oO :IN!͆*:UIj* !I*>w#* !]I*>6*~ ,*#xD**~ D*>.*, , Transferred :\22J!\͐!:2J2\!iIwI͛,Jͫ:2I(ڥ#W(ڥ#/J$:UI #, ++ Bad record # in header #z2wI>2I!"I!(ڥ#w,^$2I:I”$Q(ڥ#$:wIG:xI$/,Printer buffer is :Iʯ,ON ,OFF !#½]2Iͤ,:I:Ix͝+U> :I: I͙,"}I:|I7O\I(=X(?,++ FILE READ ERROR ++$! (^((>2|Iy2I!O"}I'*}I!͙,"}I:I<2IO(:IOO\!! •(2I!O"}I:Iy(y: ͫ!+J^*0J(*.J8(z((F&7>\,++ NO WILDCARDS ALLOWED FOR TEXT FILES ++ 2,++ NO FILE SPECIFIED ++ 2\J͆!ѷX+| <)'?,++ DISK FULL, SAVING PARTIAL FILE ++$lG',++ Nothing to save, erasing file ++ ÷*>;Ý+6# 6 #•!6#ž!!8J6!IN!I 6 !IF#!~ ¾!#!~ !")J+#!~ !:8J<28J#!~ !!6 *)J+, << DISCONNECTED >> h:e:eæ2!l\͛,2|2h n+ n+ n+ _+n+>(n++>)n+_> ͝+> ͝+O͓+ʹ+͝+a{_ + |Ľ+{0n+|+}++ , U&:UI?%, Sending # *xIͽ+, : >%,(+,H) ><):xI<):xI/<)>2I!"I!~<),a%2Iy<)*I|<)}<)>2-J2+J(GҘ%2-J2+Jxʰ%ƒ%:-J%&:I%:UI%,++ x%+,H%,NAK, received not ACK - $2I:zI<8>G:,x ,x͝+U:I@ͤ,> :IJ ,:I*Ip#"I> p> ͝+́!|!yJ>4!N>2I*I !ON w͝+G ́!#¢"IJ>4͌ w#:I*Ip#"I:7JJ> ).)!,J^(͈2O:VI1):XI6):I6)F+F&:WIR):XIW):IW)F+͈2OA^)4,Waiting ready signal {+F&(U&Cʣ))…)U&&,CRC request received >2I:PI&,Got checksum request &,Name NAK received :PIx+,H received not SOH - $F&:I>:#:I>:#>C<):zI<2zI ڰ": U&ý1K'', ++ RECEIVED FILE CANCELLED ++ ++ UNFINISHED FILE DELETED ++ ÷*:UI#, ++ Timeout $# #:zI:I:I/2I2&,** Switching to Checksum mode **J~ "#"#~ "")J!Jp \. ~N"#~+] ͛,!e~w#~w\!\l ͛,!u6B#6A#6Kl!l6\:\2zI (ڥ#O7>2-J2+J{y"(G"G2-Jx2+J$z":-Jʥ#:UI #{+, ^-p- !- p-#̈́- ̈́-6# > W-W- > W-W-w#W-:n-_@w# . p-w#p-~*ʔ-#†-×-ͩ-~*ʥ-#™-ͩ-6?#©-ͦAA2/25/- I!\,!_J͐!:l2_J:m ...: 28J_J<- Toggle printer > ͝+:&, - Start copy into buffer :$, - Stop copy into buffer Start & Stop may be toggled as often as desired. A ";" at start of line indicates buffer is copying. XOFF automatically us> or bytes on console X - When done, disconnect, go to CP/M The single letter commands may also be used on the command line when the program is initially executed. ͏, Three Letter Commands CPM - ExitF##> w# 0~(0!0#0#"07#2h:Iy0>2I!\J 0:\2J!J\ 0\í0!J\ 0\!J\ 0\<7¶02I=Ɓo&J 0] 02h2|><0~# x0,File open:ect, then return to CP/M :)::@:,CAL - Dial number ,DSC - Disconnect from the phone line The following are terminal text buffer commands: ,DEL - Delete memory buffer and file WRT - Write memory buffer to disk file 2H,rminal mode For copying text to disk use T (E or L) FILENAME.TYP Start or Stop toggles described on subsequent screen. R - Receive CP/M file using Christensen Protocol S - Send CP/M file using Christensen Protocol COMMAN.,++ FILE NOT FOUND ++u..#5.00, . _J? !`Jw#.!m`J 0=ƀo&:_J/et file output speed in terminal mode vDb8,TIM - Select Baud rate for "time-to-send" msg. :ʘ8,TCC - Toggle CRC/Checksum mode on receive :8,TLC - Toggle local command immediate or after :', :"9,TLF - Toggle LF after CR in from this program to CP/M DIR - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive/user no. (specify drive/user) and reset disks. e.g. LOG A0: or LOG B: (user # unchanged) SPD - S *Iͽ+: 1, (+,H), records Send time: :_!1^#V*I&2i`ͽ+, mins, !1:_~:2E2E2E2E2&ͽ+, secs at 1&,To cancel: use CTL-X  0`@J0(  !1:__ , bps 110$300$450$600$ Local Commands while in Terminal Mode : , - Send a break tone for 300 ms. :;:), - Change baud rate >, - Exit to command mode :;:", - Send log-on message :!, - Disconnect from the phone line :<:#, D: R (or S) FILENAME.TYP R and S can use the following subcommands: B - Bulk transfer using wildcards (e.g., *.*) D - Disconnect when done Q - Quiet mode (no messages to console) V - View ͝+> ͝+>͝+L/123456789 4L/>#͝+{+B/G>#͝+{+xL/͝+/L/>͝+5L/{+L/{+"L" or "T" mode for a disk file :Z9,TRB - Toggle rubout to backspace conversion :ʝ9,TXO - Toggle XOFF testing in terminal mode file output :9:9,NUM - List remote systems : 9,SET - Set modem baud rate ,BYE - DisconnOI ͛,2I2+J2,J2I=bH, Single Letter Commands ? - Display current settings ^ - Function key intercept character, then (0-9) M - Display the menu E - Terminal mode with echo L - Terminal mode with local echo T - Te710$1200$2400$4800$9600$19200${/_z/W12 !<=?2}o|g>o*I|>!L!yg)x2>g>!ol2r$s%# b2*IO!L ~W$^"I:I2, ** File still open, use DEL, DIR, WRT, E, L or T ** 22I!iIwI͛,!\Ied to stop input when writing full buffer to disk, XON sent to resume. :%, - Transfer ASCII file to remote ::'=, - Send local control character to remote =, - Next character will be used for local control z{se XON waiting after (Y/N): MF+F2ͶF:=/2,Therefore jF=I>/:I ?GN>xY>x?,XOFF testing :ŠF,NOT ,used, in terminal mode file output ,XON :F,NOT ,automatically tested after CRÒF: x?Iw:rcept character ! #~0͝+> ͝+#~@@ :@,$@͝+$@{+@{+=:h:{@h, << Exit to CP/M >> Z,F !ͮF > !@ͮ(Җ@ATZ $23Jͱ-:3J_=I!\,3+:] x?\<@,++ File not found ++ =\ Enter value: ͉A x?2 D=vD`D,Rate for the S mode time-to-send message is set to sD,Modem speed is 1: G:::x?:/2͘D=,Mode: :ʳD,CRC ,CHECKSUM :x?:/2D=:D,Rub is backspace ,Rub is ru+:I'>7I, Bytes of buffer free A͝+͟A>>&oͽ+>>͝+>>͝+,COMMAND: 2II>/:I'>^ʛ??zH >:I:#CI0CPMZ,{+0LOGA0DIRҤ@0ERAһ@0SPDB0TIM]C0TCC҄D0TRBD0TLCE0TLFnE0TXOE: ?: ?$ O{+{+=> > > F#1H'H7,HIT any KEY to CONTINUE͈+MH͓+bH{+=: ž> ͝+ > ͝+rHbH, Current Settings ͘DD:ʴH͉ D,Terminal mode file buffer is :IH,in,active Unused portion o=Aͤ,Tͤ, ͤ,=:IyG:?J yG>J2I2I!>J͐!!O"I=:IyGcG2I2I!>J͐!!O"I=:?J >J2I,++ No File Open ++ =bH, Library of Phone Numbers of Remote Systems!OH## ͛,H##B ͛,H G>,File erased =:I«A:I )AͦAAAx?23J͟AG:IdApA:IdArAA :3J_:=J_͡A= lA:IA͕AOxGxx?2=JI>/:I 0 x? ,++ Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ b :x?:/2E=,Use ::'GE, before local command , to send local command to remote :x?:/2͂E=,LF :˜E,NOT ,sent after CR in "L" or "T" for a disk file :x?,Use XOFF testing? (Y/N): MFE2jF, U0NUMҕG: ?0SETF0WRTDG0DELG0BYEM@0DSC+:Q?:c?0CALc?> 2Io?:I!HI&Hx?ͫ,~?=,++ Invalid command ++ :bH, SPECIAL FUNCTION KEY TABLE ?,CTL-@͝+, current function key intef buffer is 7I, bytes E͂EjFͶFzB{+{+{+=*I믓o|gͽ+SRTELMABDJLOQRSVX01ABDJLOQRSVX01OOO400 ms. per character =, :IAx?_:I =0LC:I0XC&x?_͡A=>LCvDx?,Use 0-8 to give baud rate for 'S' mode time-to-send message, where 0=110, 1=300, 2=450, 3=600, 4=710, 5=1200, 6=2400, 7=4800 8=9600 and 9=19200 Baud. =,Delay between chars. (0-9): ͈+(B͓+͝+C0 x?2,Delay at end of line (0-9): ͈+aB͓+͝+C0 x?2 , Char. delay (terminal file mode) is: :Gxo&ͽ+,0 ms. per character Line delay (terminal file mode) is: : Go&ͽ+,This returns to normal CP/M use, abandoning MDM740. It does not do a warm reboot unless selected on your overlay, saving time. CAUTION: It does not disconnect the modem from the phone line, which allows intentional return to CP/M temporarir control-chars. would operate in a similar manner. This gives extra flexibility in using this program for special systems like TYM-SHAR, etc. NOTE: If using control-^ is awkward, you can pick a different character when installing the prussed in the install section) can make this change automatically. This command does not show if using the PMMI* board as the speed is automatically changed to agree with the current Baud rate selection. It also does not show if the custome user to erase any files from any disk without the need to return to CP/M first. Wild cards (* and ?) accepted. LOG - When a new disk is inserted, you can see the directory and read files from it but cannot write to it without getting a "BDOS the local computer and not have it go to the remote system at the same time. Say a moment later you would like to send a control-E only to the remote computer. You would do this: control-E (goes to local computer only) delay between lines (in increments of 100 ms.). This is preset for most systems at 50 and 500 ms. They can be changed at any time. Current values can be checked by using the " ? " command. TIM - This option lets you set the file transferly. DIR - Enables the user to see the library of any disk without needing to return to CP/M first. Can be adjusted when installing the program to show 3, 4, or 5 groups depending on the width of your CRT display. Normally set to 5 for 80hich finds certain transmission errors the simple checksum system might overlook. This toggle allows the user to select checksum for those systems known to not offer CRC. When set normally to CRC, the program automatically switches to check- overlay uses the SET command to choose var- ious Baud rates as the transfer time is changed automatically. TCC - Most modem programs originally used simple checksum verification of received sectors. Most now use Cyclic Redundancy Checking w ERR". This command allows you to log in a new disk so you can immediately write on it without first returning to CP/M for a warm boot. You can select drive and user number. (This also enables DIR to show the correct free disk space remaicontrol-^ control-E (goes to the remote computer only) You can reverse the TLC toggle causing this response: control-E (goes to remote computer only) control-^ control-E (goes to the local computer only) All othe time from 110 Baud to 9600 Baud. You can preset it (when installing the program) to the value normally used, but at times it is nice to be able to conveniently change the time shown to a different rate. Some initialization routines (disc-column displays. Shows the amount of disk spacing remaining on the logged-in default drive. (You must log in any drive you wish to write on, or to see the correct free disk space remaining.) See the LOG feature below. ERA - Enables th sum after trying several times to use CRC. TLC - Nearly all computers use "control-characters" to do various tasks such as move the cursor around, clear the screen, reboot the system, etc. You might want to send a control-E character tontrol-T to upload a pre-typed file. Since most bulletin boards and TYM-SHAR systems normally use line editors that require a delay after they have received a line, you can add delay between characters (in increments of 10 ms.) and/or enter ning.) You can say: LOG for same drive, user area, new disk LOG A LOG A: LOG A14 (user areas are 0-15) LOG A11: SPD - Sets the delay between characters and/or delay between lines in the "T" mode when using coogram initially. TLF - If sending a file while in terminal mode (via CTL-T option) most mainframe computers will not want you to send a line feed. As all editors include the LF after CR, you have the option with this toggle of sending or sword on each. CTL-N - Disconnect the modem from the phone line. (CTL-D had been used for this command, but it was too easy to accidently type CTL-D when expecting to hit CTL-S or CTL-E or CTL-X. You can easily change this to whatng is shown that you may lose what has been saved unless you use WRT (write to disk). - - - - - - - - - - - - - - - - - - THE HELP GUIDE, PAGE 3: ---------------------- Local Commands while in Terminal Mode CTL-@ -your system from sending until it is ready for a new line. Used only in the terminal mode. NUM - Not shown if using PMMI*. This shows the non-PMMI* people the phone library numbers which can be used for manual dialing. SET - Not shown if usimputer. Used in some TYM-SHAR systems, etc. (Used only in PMMI mode) CTL-B - PMMI command, changes the Baud rate from 110-710, in addition changes the file transfer time accordingly. CTL-E - Returns to command modem from "T", "L", " also use an external program called M7LIB to rapidly change any phone numbers. DSC - Disconnects the modem from the phone line whenever selected. DEL - If copying incoming information into memory, and you decide you do not want to botnot sending a line feed. If typing manually in the "T" mode, you can get a line feed with CTL-J. It is automatically included after CR with "L" or "E" modes. TRB - Allows the rubout char. to be changed to backspace if desired. TXO - Used wheop copy into buffer Start & Stop may be toggled as often as desired. A ":" at start of line indicates buffer is copying. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. CTL-T - Transfer ASC Send a break tone for 300 ms. CTL-B - Change Baud rate (PMMI only) CTL-E - Exit to command mode CTL-L - Send log-on message CTL-N - Disconnect from the phone line CTL-P - Toggle printer CTL-Y - Start copy into buffer CTL-R - Stng PMMI, or if SETUPR is set to "NO" (indicating no user routine in the overlay for choosing different speeds.) BYE - Disconnects the modem from the phone line, closes any file that may be open and returns to CP/M. CAL - PMMI* command, shows E" modes. CTL-L - Will send the log-on message if TRANLOGON is set YES and a message has been included in the LOGON area. Can use this feature to sign on various bulletin board systems, although that would require an identical pasher saving it to disk after all, this closes (and then deletes) the disk file you had opened. WRT - saves what you have been copying to the disk file already opened for that purpose. When returning from the "T" mode to command mode, a warnin uploading pre-typed text files to other systems such as TYM-SHAR or bulletin boards, etc. Most of those have line editors that take a moment to move the line you just finished from their edit buffer into memory. The XOFF character halts II file to remote CTL-^ - Send local control character to remote - - - - - - - - - - - - - - - - - - DISCUSSION OF HELP GUIDE, PAGE 3: -------------------------------- CTL-@ - Sends a break character to the other coanual dialing.) NOTE: Use the phone number overlay to easily change the numbers that are stored. This overlay also accesses up to two alternate long distance dialing systems for the touch- tone auto-dialing modems. You canthe phone library for auto-dialing. If not using a PMMI*, this will not be shown, instead NUM is shown. It displays the telephone library. (Non-PMMI users will find the NUM display beneficial as it can display useful phone num- bers for mever you like in the overlay you use for your equipment.) CTL-P - Toggles the printer on-off. Very useful feature. Similar to normal control-P but in this case if the modem is running faster than normal printer speed, the characte>COMMAND: O.600 This puts the tones on the phone line for originate and at the same time sets the PMMI board for 600 Baud. Another typical response might be: B>>COMMAND: RAB.450 This places the answer tones on the O - Originate tone for send or receive Parity options: 1 - Set and check for odd parity 0 - Set and check for even parity Both ends must be capable of these options which are available only in R and S modes. The parity checking will be ol-Y is typed. This places a ";" (semicolon) at the start of each new line, indicating the memory is "hot" and is now copying for saving to a file. You can toggle this off by using control-R. NOTE: To open a file use: COMMANeen completed. If you want to use answer mode, you need to use the "A" command. If a speed is not included, it will stay at the default speed. Until a connection has been made, there are no tones applied to the line. Originate tones at 300 Bauboth). My own printer is a 300 Baud Teletype Corporation Model 43, yet it works great when I am using the Bell 212A at 1200 Baud. The printer falls behind, but misses nothing as it eventually catches up with the contents of thrs just back into a special buffer while the printer tries to catch up. Most dot matrix printers are considerably faster than most telephone modems, however. Can be toggled at any time you are in the "T", "L" or "E" modes. Ofte0 will set the modem for 600 baud Hit any KEY to CONTINUE - - - - - - - - - - - - - - - - - - DISCUSSION OF HELP GUIDE, SPECIAL PMMI PAGE: ------------------------------------------- When using MDM740 with the PMMI bpart of the file transfer protocol. Speed Options: After entering your primary and secondary options, you can set the modem speed by placing a "." after the options followed by the speed e.g., 300, 1200. EXAMPLE: SBOT.60D: T FILENAME.EXT and then CTL-Y and CTL-R will control what is copied to be placed in that file. CTL-R - Stops the copy into memory, shuts off the ";" at start of each line. These two commands (CTL-Y to start, and CTL-R d are automatically added at that time. In addition to telling the PMMI modem if it should use originate or answer tones, you can tell it what Baud rate to use. A typical command (once connection is made to another modem) would be: B>e large buffer.) - - - - - - - - - - - - - - - - - - THE HELP GUIDE, SPECIAL PMMI PAGE: --------------------------------- Additional Subcommands for PMMI Modems Modem control: A - Answer tone for send or receive n used to copy items from bulletin boards, etc. that are not worth permanently saving on disk. CTL-Y - Used only in terminal mode. If a file was opened prior to going to "T" (terminal) mode, nothing will be saved until controard, you will either dial out or (far less likely) answer some incoming call. Since the unit will be in "originate mode" about 98% of the time, it is set to automatically come up in the originate mode at default speed (300 Baud) whenever a call has b quired to commence saving to memory for the disk file you previously opened.) (These commands -- CTL-P, CTL-Y and CTL-R give MDM740 tremendous versatility. You can copy incoming data either to disk or to printer (or to stop) control what is being saved. When returning to command (via CTL-E), you will then be warned to save the information to disk via the WRT command or it will likely be lost. (You may never use CTL-R although CTL-Y is re- phone line, sets the program for receiving batch mode at 450 Baud. It returns to the terminal mode when the transfer is completed. Other optional PMMI commands seem self-explanatory, such as dis- connect, etc. - - - - - - - - - - - ly until a connected is made - at which time it beeps until a key is depressed. - - - - - - - - - - - - - - - - - - CASCADING COMMANDS: ------------------ Several commands may be used on the same line. Ones nrs. However, you might like to call any of a group of numbers and be happy to take whichever one first becomes available. Auto-linking allows a group of numbers to be listed and they are then continuously dialed one after the other, until one is avaise lines. Once the number has auto-dialed and there is no answer, it will ask you if you want it to continuously auto-redial until it does receive an answer (or you decide to abort). To get the phone library, type CAL on the command line.where some mainframes such as IBM and UNIX send a logon note assuming you are already able to copy as soon as connected. 4) just the one number is linked to itself and redials until connected. Beeps only once and goes to terminal mode. 5ber overlay and fill in the infor- mation regarding your access number, billing number, etc. It will then show how to enter a special character ahead of each phone number where alternate long distance system is desired. This only works where touch- - - - - - - - PMMI, ANCHOR, HAYES AND ROBOTICS AUTO-DIALING AND AUTO-REDIALING: ---------------------------------------------------------------- There are several very useful and versatile features offered for the PMMI, Anchor, Hay B>>COMMAND: CAL A,D,A,R,A,3,A,Z 5) B>>COMMAND: CAL F 6) 1) using a comma (,) will beep continuously when connected to the first available number - touching any key stops the beep and goes to terminal mode. 2) just lable. MDM740 permits from 1-32 numbers to be linked together in any way. There are two options: B>>COMMAND: CAL A,D,R,3,Z 1) B>>COMMAND: CAL F, 2) B>>COMMAND: CAL A/D/R/3/Z 3) B>>COMMAND: CAL F/ 4) You then normally just type the alphabetic character at the start of the ap- propriate line. It will show the number being dialed. You can also do this from the main command line if you know in advance what alphabetic character is associated with th) illustrates how one number can be given top priority. 6) system used previously - if connected on first try, beeps one time and jumps directly to terminal mode. If no connection, asks the operator if he wants to try again or try continuous-tone systems are in use. - - - - - - - - - - - - - - - - - - AUTO-LINKING PHONE NUMBERS: -------------------------- If the number you want to dial is busy, you would like to have it automatically redialed until it answees and Robotics users. These include alternate long distance dialing systems. There are several ways to auto-dial. 1) from the command line 2) from the phone number library line In addition you can auto-redial from either of thethe one number is linked to itself and redials until connected. Beeps continuously until stopped with any key. 3) using a slash (/) will beep only once when connected and then automatically go directly to terminal mode - this is useful nd it will dial the number specified. You can then do either of these on the library command line, as well. This gives a tremendous versatility. NOTE: To access the alternate long distance dialing systems (up to two are offered), use the phone numat particular number: B>>COMMAND: CAL P This calls up the "P" line in the library and dials that number, then if busy asks if you want it to continue redialing. You can use: B>>COMMAND: CAL 313-749-6569 aormally used are: A, B, D, E, J, L, O, Q, R, S, T, V, X (and Baud rate if PMMI). A typical PMMI selection might be: RABQJ.300 The commands have been listed previously but will be listed here again: A) answer tones for PMMI S-100 modethings like '1-' for long distance dialing in your area.) That file also is used to set the alternate long-distance dialing routines for SPRINT, MCI, TYMNET, etc. - - - - - - - - - - - - - - - - - - RETRY OPTION: ------------ ions and toggles have been set. The user can check on any of the major parameters at any time by: 1) Typing control-E to return to command mode and 2) Typing ? to see the list of current parameters. - - - - - - - - - - - - - -ecksum protocol. S) send file transfers, also shows transfer time. T) terminal mode - operates computer at other end like a remote terminal. Also stands for "text mode". When in "T" mode you can copy incoming to printer or to disk, anBRARY: --------------------------------- The phone numbers in the library may be easily changed using an external file called M7LIB.COM. This permits any of the 36 phone num- bers to be changed in only a few seconds. It works directly on the ing NOT used in terminal mode file output XON NOT automatically tested after CR in terminal mode file output Char. delay (terminal file mode) is: 50 ms. per character Line delay (terminal file mode) is: 500 ms. per character - - - - - - - m, puts tones online. B) batch mode (must be used at both ends if used at all) (usually only available modem-to-modem with operators present at each end.) E) echo mode for conversing with a system not offering echo. J) will return you to the c CTL-L log-on selection that is programmable in your overlay.) To view the contents of the function keys, type 'M' for menu while on the command line and it will show the character currently used for the function key intercept. (It will be '^' - - - - FUNCTION KEYS: ------------- There are 10 function keys which may be easily programmed with an external file called M7FNK.COM in just a few moments. It makes the changes directly to the MDM740.COM file. (There is an additionald send pre- typed ASCII text files via CTL-T. V) visual -- lets you see incoming ASCII files while being sent to the disk system. NOTE: The Baud rate is only used for the PMMI S-100 modem. Many of the custom overlays allow uMDM740.COM file. If extensive changes are to be made, you may prefer to use an overlay file called M7NM-6.ASM. This permits using your editor to make quick and selective changes, or to substitute an entire new library. (You may need to add or remove - - - - - - - - - - - DISCUSSION OF TYPICAL PARMETERS SHOWN BY THE "?" COMMAND: -------------------------------------------------------- By this time, most of these parameters are self-explanatory. They primarily show how the optommand mode after a file transfer. L) local echo shows what you are sending if no remote echo. O) originate tones for PMMI S-100 modem, puts tones online. Q) quiet mode, suppresses messages on local console. R) receive file transfers with CRC or chunless you select another.) You could then type that character (followed by ) on the command line and it will display the entire contents of the function keys. - - - - - - - - - - - - - - - - - - CHANGING THE PHONE NUMBER LI CRC Rub is backspace Printer buffer is OFF Modem speed is 300 baud Terminal mode file buffer is inactive Unused portion of buffer is 16384 bytes Use CTL-^ to send local command to remote LF NOT sent after CR in "L" or "T" for a disk file XOFF testse of the SET command to change Baud rate with non-PMMI modems. - - - - - - - - - - - - - - - - - - TYPICAL PARAMETERS SHOWN BY THE "?" COMMAND: ------------------------------------------- B>>COMMAND: ? Mode: The consecutive error limit has been set to 10. When transferring files from RCPM systems their XMODEM program aborts should this limit be reached. Each overlay has an option previously called ACKNAK. This has bee renamed to RETRY. It should be, which might be cur- rently set "NO". The "hard way" would be to get the 158k MDM740.ASM source code and then edit it to suit. This is likely to be quite unsatisfactory for most users as it will not contain the information peculiar to your com - - - - - - - - - - - INSTALLING THE PROGRAM: ---------------------- Although this is obviously the very first thing that needs to be done, it was saved until last for several reasons. The most important of these was the need tve contributed to the growth of this program since 1977. Two people have been particularly helpful to me in developing the MDM700 series modem programs: Keith Petersen (W8SDZ) and Frank Gaude' (ex-K6IBE). Their help and interest have been greatly apthe information in the front of the MDM740 source code itself. (Read the special message that gives the latest information and tells how many pages to SAVE, many of the illustrations say 66 pages, but the program has grown to 73 since that time.) set NO if working RCPM systems or other computers with a program similar to MDM7. If using large mainframe computers (such as ARPANET), they do get busy at times and will not accept additional information. This may give timeout errors at your ling capability of the PMMI, Anchor, Hayes or Robotics, it works quite well on non-PMMI modems. In the author's system a stock Bell 212A Dataphone is used together with a normal serial I/O that can be programmed to easily switch from 300 to 1200 bpsputer (which is in the individual overlay you select otherwise.) Thus various methods are available, one of which should provide the easiest method for your system. NOTE: Although designed with special emphasis on the auto-dialing and rediao first explain what some of the options will do when selected. By this time the user should have a fairly good idea what options would work best for him. When looking at the beginning of the program where the these are selected, it should now preciated. We hope this verstile program will give you hours of enjoyment and fulfill your modem needs. - Irv Hoff W6FFC  Generally no changes need to be made in specific overlays unless you have some particular requirement different from others using the same equipment. (Such as the log-on message, for example.) You may also wish to say "YES" to the AUTODIAL questionend, but not at the mainframe. If RETRY is set YES, after 10 consecutive errors it then asks if you wish to reset the error counter and keep trying. It should take some 100 seconds to get 10 consecutive errors in this situation. - - - - - - - . A great variety of other computers and modems can use this same program quite easily. This is likely the most versatile phone modem programs currently available for CP/M users. OUR THANKS TO: ------------- A great number of people haputer. You then edit the overlay (if needed) to suit your local needs, assemble it to get a .HEX file then use the simple instruction and DDT.COM to com- bine the standard MDM740.COM file with your overlay. The front end of each overlay contains all be rather easy to pick the ones that are most useful. There are various ways to change the program to suit a specific user. You are offered several methods. The "easy way" is to get the MDM740.COM file plus the appropriate overlay for your comDocumentation for M7FNK.COM v1.10 - by Sigi Kluger 02/19/84 NOTE: This program depends on NUMLIB being at 0E00H! ---- --------------------------------------------- M7FNK.COM is a program used to alter the function key assignments for ord count FF = show both hex and decimal count 0DFFH - SAVSIZ 20 = 4k file transfer buffer size (see table below for other options) 0E00H - NUMBLIB (start of telephone number library) To change the file transfer buffer sizMDM7xx.COM was only 66 sectors and the example included in each says to store 66 sectors.) For MDM730 use: B>SAVE 73 MDM730.COM NOTE: Use M7FNK.COM to easily and quickly change any of the 10 function key assignments. You can read thuch as an 'escape' or CTL-A. Enter a "B", "C", etc to change the respective key definition. The key can be as long as free memory allows. After entering the key definition you have a chance to retain or delete the trailing RETURN, and then the key source code at all. Just get MDM730.COM and then check one of the associated over- lay programs to obtain the overlay for your particular computer. Merge that with MDM730.COM according to the instructions near the start of the overlMDM724 and later versions. M7MFNK takes no arguments on the command line. You will be prompted for the full file name to be installed. Drive/user spec is ok. Next, the intercept character, the function key assignments and free memory are displayed.DOC if instructions are needed. M7NM-6.ASM is necessary for setting or altering numbers for 'SPRINT', 'MCI', etc. It would also be better if making a lot of changes such as adding or deleting '1-' required for long distance dialing in e M7FNK.DOC file for additional information. (by Sigi Kluger.) The log-on key (CTL-L can be changed in the overlay. NOTE: M7LIB.COM is a rapid and surprisingly easy way to quickly change any entries in the phone number library. See M7LIBwill be inserted into the table, provided it fits. To totally blank a key, enter a null string and answer "N" to the trailing CR question. When you are finished, you can use the "S" comamnd to save the file back to disk. As an alternative, you can aay file, using DDT.COM, etc. (See above note relative to saving 73 sectors. STAT.COM would then show 146 records for 20k.) The following bytes can be changed easily with DDT, then SAVE 73 0DFEH - HEXSHOW 00 = do not show hex recTOPIC: MDM730.ASM MODEM PROGRAM DATE : 22 MAR 84 NOTE: This program when assembled is 73 sectors long. Use this figure when merging the appropriate overlay file for your computer via DDT, etc. (Most of the overlays were written when . Command options are prefixed with a character (A..K, Q and S). Enter an "A" to change the intercept character. It can be set to almost anything, but should be a rarely used character (such as ^). It can also be a rarely used control character, ssome areas. NOTE: If using the phone number overlay to change the phone library numbers, be sure to use: M7NM-6.ASM The phone number library contains 36 numbers (A-Z plus 0-9) Most users will not need the lengthy (158k) lso abort without update. NOTE: a ^C aborts to CP/M anywhere except when entering a new INTERCEPT CHARACTER.  name to be CR question. When you are finished, you can use the "S" comamnd to save the file back to disk. As an alternative, you can ae via DDT, change byte 0DFFH: 20 (hex) = 32 records = 4k 40 (hex) = 64 records = 8K 60 (hex) = 96 records = 12k 80 (hex) = 128 records = 16k (Use the largest value that does not give errors during i newe version bu bot wor fine MDMDIR.MS i no fil tha type t th scree an read It' a overla fil wit th messages used by MDMDIR.COM. Th configuratio ca b change easil b editin M7AP+5.AS an reassemblin i wit slo 2 an Haye compatibl modem It' bee teste wit a Ancho Signalma Mark XII. MDM740.DOC is a user's document for the program. MDM730.DOC MDMLNK.DOC an M7FNK.DO ar additiona documentatio abou modifyin th program' confir T). This makes it extremely easy to use modem-to-modem communications in addition to normal file transfers. Added a 'J' option in the event a return to command mode is desired. Example: COMMAND: RJ FILENAME.Ext Changed max. timing delays i slo 2 an Haye compatibl modem It' bee teste wit a Ancho Signalma Mark XII. MDM740.DOC is a user's document for the program. MDM730.DOC MDMLNK.DOC an M7FNK.DO ar additiona documentatio abou modifyin th program' consfer improved. CREDITS: ------- MDM730 - Irv Hoff MDM728 - Bob Plouffe MDM727 - Irv Hoff MDM726 - Irv Hoff MDM724 - Sigi Kluger MDM722 - Bill Brehm with routines developed by Fred Viles MDM716 - Bob Plouffe E.Ext Changed max. timing delays file tranfers when the disk activates. You have about 10 seconds before a timeout error would occur. 8" systems can easily handle 16k per transfer in 3-4-5 seconds. 5-1/4" systems are usually much slower. In that case try 8k or 7AP+5.HE fil o th progra an produc th ne versio fo you. You don't have to bother with DDT unless you want to.figuratio ca b change easil b editin M7AP+5.AS an reassemblin i wit ASM.COM MDMLNK.CO wil overla you ne Mguration Th sourc fil M7AP+5.AS i als extensivel documente wit comments and modification instructions. Th configuratio ca b change easil b editin M7AP+5.AS an reassemblin i wit ASM.COM MDMLNK.CO wil overla you ne Mto optimize use with satellite al- ternate dialing systems. (Submitted by Bob Plouffe.) MDM728 - changed RCVRECD routine to move the test for EOT outside the SOH loop. MDM727 - function key character shown in menu. Typing that character onfiguration Th sourc fil M7AP+5.AS i als extensivel documente wit comments and modification instructions. M7LIB.CO an MDMDIR.CO ar tw utilit program t chang th program' librar o phon number use fo autodialing MDMDI MDM74 i CP/ mode progra fo seria interface an externa modems Variou version o CP/M seria cards an modem ar supported. Th versio o thi dis a MDM740.CO i configure fo PCP Applicar CP/ card Supe Seria Car i12k. Default is set for 4k as that is known to work satisfactorily on all disk systems.) - Irv Hoff RECENT CHANGES: -------------- MDM730 - After a file transfer, now automatically returns to the last terminal mode used (E, L o MDM74 i CP/ mode progra fo seria interface an externa modems Variou version o CP/M seria cards an modem ar supported. Th versio o thi dis a MDM740.CO i configure fo PCP Applicar CP/ card Supe Seria Carges MDM722 - phone number library now has 36 entries rather than 26 (has A-Z as usual plus 0-9). MDM716 - Robust addition to minimize problems due to intermittent noise. Gives added protection against timeouts on mainframes. Batch mode tran command line shows all function key definitions. MDM726 - 'T' no longer needed to return to terminal mode after a file transfer, i.e., 'RT' or 'ST' no longer used, just 'R' or 'S'. MDM724 - added 10 function keys for auto-typing preselected messa ASM.COM MDMLNK.CO wil overla you ne M7AP+5.HE fil o th progra an produc th ne versio fo you. You don't have to bother with DDT unless you want to. is a newer version, but both work fine. MDMDIR.MSG is not a file that typed to the screen and read. It's an overlay file with the messages used by MDMDIR.COM. The configuration can be changed easily by editing M7AP+5.ASM and reassembling it with MDM740 is a CP/M modem program for serial interfaces and external modems. Various versions of CP/M, serial cards, and modems are supported. The version on this disk as MDM740.COM is configured for a PCPI Applicard CP/M card, a Super Serial Card ASM.COM. MDMLNK.COM will overlay your new M7AP+5.HEX file on the program and produce the new version for you. You don't have to bother with DDT unless you want to. figuration. The source file M7AP+5.ASM is also extensively documented with comments and modification instructions. M7LIB.COM and MDMDIR.COM are two utility programs to change the program's library of phone numbers used