home *** CD-ROM | disk | FTP | other *** search
- SOURCE FILE: SMODEM36.DOC
- NEW FILE: SMODEM37.DOC
-
- Use SSED to update your DOC file:
-
- SSED SMODEM36.DOC <SMO37DOC.DIF >SMODEM37.DOC
-
- Changes by Jim Mills of CACHE 02/14/82.
-
- ----------------------------------------------------------------
- ----------------------------------------------------------------
-
- *** SMODEM3 ***
-
- CP/M HAYES-SMARTMODEM PROGRAMME
- ===============================
- Version 3.6
- Adapted by Walter Blady
-
- A MODEM UTILITY FOR 8080 OR Z80 BASED COMPUTERS
- USING CP/M 2.+ AND AN EXTERNAL SMARTMODEM
-
- *****
-
-
- FOREWORD
-
- This programme was originally MODEM7.MAC written by
- Ward Christensen and revised by M.Zeiger and J.Mills for the
- PMMI modem board. Full credits for expertise and talent
- that made this programme possible, belong solely to these
- people.
-
- Many other individuals contributed to the developement
- of this programme, but mentioning them and their
- contributions here would make this file somewhat
- unmanagable. Rightful credits are documented in various
- versions of MODEM. My appologies.
-
- Many additional routines included are copyrighted
- (1980) by Mark M.Zeiger and J.Mills. Permission is granted
- to use, but not to sell these routnes.
-
- If your SMARTMODEM is connected to the serial RS232
- port of a DISK JOCKEY controller with primary address (D000H),
- and your system is 32k or better, then no modifications are
- needed to SMODEM36.MAC. The elementary I/O routines take
- advantage of the firmware on the DJ board. If you are using
- another board, then alterations are needed in the source file.
-
- 37 Note: SMODEM37.ASM is modified for use with Digital
- 37 Research's MAC macro assembler, not for use with
- 37 Microsoft's M80. See the .ASM file and set the
- 37 appropriate equates for your I/O.
-
- Enhancements were added to the original programme to
- take advantage of Smartmodem's Auto Dial feature, Escape to
- Command Mode and On Hook features.
-
- These features include...
-
- - Kill a disk file.
- - Terminal mode/Echo mode toggle.
- - List device toggle, (terminal mode).
- - Send/receive object-code informal file (terminal mode).
- - CRC - (cycle redundancy check option).
- - Auto line-feed is generated in the Echo mode.
- - Greatly enhansed menu.
- - Display number of file sectors in decimal and hex
- during SEND/RECEIVE file.
- - XON-XOFF recognition in transfer informal file mode.
- - Double sized telephone directory - 52 entries.
- - The telephone directory is a separate file. This allows
- fast editing without the need to recompile the modem
- programme. Also, many directories may be accessed.
- - Auto-dial from internal directory to SMARTMODEM.
- - Direct dial from programme intiation or from menu.
- - All macros are included in the source listing.
- - Adapted source code to conform to Microsoft's M-80
- macro assembler syntax.
-
-
- *** SMODEM3 MENU ***
-
- COMMANDS - IN MENU MODE
- =======================
- WRT - Write informal file to disk
- DEL - Erase informal file from disk
- RET - Return to terminal mode (no data loss)
- DSC - Disconnect phone (SMARTMODEM)
- CAL - Auto dial from list (SMARTMODEM)
- XPR - Expert mode (Toggle menu on/off)
- DIR - Directory <drive>
- CPM - Exit to CP/M
- K - Kill disk file [fn.ext]
- S... - Send CP/M file [fn.ext] SECONDARY OPTIONS
- R... - Receive CP/M file [fn.ext] =================
- T - Terminal mode <fn.ext> ...B - Batch file mode
- E - terminal mode with Echo ...S - show as Sent
- ...R - show as Received
- COMMANDS - IN TERMINAL MODE ...V - View as sent/received
- =========================== ...Q - Quiet, no messages
- ^O - Off line/exit to menu ...T - return to Terminal mod
- ^Z - END of file ...E - return to Echo mode
- ^S - XOFF character ...D - Disconnect phone
- ^Q - XON character ...C - CRC check/not checksum
- ^P - Printer (toggle on/off) (receive option only)
- ^T - Transmit informal file ...A - Answer Mode (& offhook)
- ^R - Receive informal file ...O - Orig. Mode (& offhook)
- ^E - Terminal/Echo (toggle on/off)
- ^D - Disconnect phone (SMARTMODEM)
- ^X - Cancel send/receive
-
-
- COMMANDS IN MENU MODE
- DETAILED EXPLANATION
-
- *****
-
- WRITE INFORMAL FILE TO DISK - 'WRT'
- -----------------------------------
- For the porpose of definition, an 'Informal file' is
- one which is set-up for recieving or transmitting data,
- without data validity checks, in the terminal mode.
-
- When data has been saved to an 'Informal file', the
- file must be closed before continuing with other options.
- The 'WRT' command writes all remaining buffered data to the
- disk and then closes the file. Information will be lost
- if this is not done.
-
-
- DELETE INFORMAL FILE - 'DEL'
- ----------------------------
- This command will delete the 'Informal file' and it
- won't be saved on the disk. All information held in memory
- from previous saves will be erased.
-
-
- RETURN TO TERMINAL MODE - 'RET'
- -------------------------------
- The 'RET' command is used to re-enter the terminal mode
- with no data loss.
-
- If information has been saved to an 'Informal file',
- the user may re-enter the menu mode, but all saved data
- will be lost if a return to the terminal mode is made with
- the 'T or E' options. Using the 'RET' allows re-entry to the
- terminal mode and preserves all saved information.
-
-
- DISCONNECT (SMARTMODEM) - 'DSC'
- -------------------------------
- When Disconnect is initiated, the HAYES default escape
- code '+++' is first sent to the modem to re-enter the
- command state, then the 'on-hook' command 'ATH' is sent.
- This causes the modem to hang up. The programme then enters
- the menu mode.
-
-
- AUTO-DIAL (SMARTMODEM) - 'CAL, C'
- ---------------------------------
- The Auto-dial feature allows the user to call a number
- automatically from one of several phone directories.
-
- Auto-dial primary option may be used in three different
- ways when initiating SMODEM3:
-
- eg. Initiate and ask for directory name.
-
- SMODEM3 C
- ^
- (primary option)
-
- eg. Initiate and load the default directory 'PHONE.001', then
- dial the number associated with the directory letter 'M'.
-
- SMODEM3 C M
- ^
- (directory-letter)
-
- eg. Initiate and dial the given number.
-
- SMODEM3 C 231-1898
- ^
- (any number)
-
- Auto-dial may also be used from the MENU mode with 'CAL',
- The commands are exactly the same except the code 'CAL' is
- used instead of the 'C' primary option.
-
- If the command 'CAL' is used alone, SMODEM3 will ask for
- a directory name.
-
- When the phone directory is up, any number in
- the directory may be dialed by entering a 'directory-letter
- and pressing return. Or any number may be typed in the
- command line. The dial command 'ATD' and the selected
- number are automatically sent to the SMARTMODEM.
-
- If you wish to cancel a call while the phone is ringing,
- press return. The 'NO CARRIER' message will be sent and
- SMARTMODEM will go to an on hook (hang-up) state. To redial
- the same number, give the command 'A/'. All the standard
- HAYES commands can be issued while in the terminal mode.
-
- A second option for dialing a number is from the terminal
- mode, using the standard SMARTMODEM dial command. Simply type
- ATD <phone number>
-
-
- TELEPHONE DIRECTORY
- -------------------
- Directories may be given any name and kept on any disk,
- but there must always be a 'Default directory' with the name
- 'PHONE.001' on the default drive. SMODEM3 automatically loads
- this file if a direct dial is called for.
-
- Phone directories may be set-up in two different ways;
- (see the models below). These models could be saved to
- separate files and used as actual directories. More may be
- set up by duplicating the model over and over. Only the
- entries need be changed.
-
-
- EXPERT MODE - 'XPR, X'
- ----------------------
- If the 'X' option is included in the command line when
- SMODEM3 is initiated, it will come up with the menu display
- turned off. The menu may be toggled on and off during run-
- time with the 'XPR' option.
-
-
- DIRECTORY - 'DIR <d:>'
- ----------------------
- This option prints the specified disk directory to the
- screen.
-
-
- RE-ENTER CP/M - 'CPM'
- ---------------------
- This option terminates the modem program and returns to
- the cp/m operating system.
-
-
- KILL A DISK FILE - 'K file.name'
- --------------------------------
- Files may be deleted from the disk without leaving the
- modem programme. CP/M rules apply.
-
- eg. >>K file.name, >>K *.ASM, >>K B:file.A?M
-
-
- PRIMARY AND SECONDARY OPTIONS
- DETAILED EXPLANATION
-
- *****
-
- There are eight primary options in SMODEM3.
-
- Originate and Answer options are not used since
- SMARTMODEM handles these automatically.
-
- 37 I don't understand what Mr. Blady means when he says
- 37 Smart Modem handles answer and originate automatically.
- 37 I can call up a fellow computer enthusiast and arrange to
- 37 transfer files, but If I didn't use the "C" option, there
- 37 are no provisions to put the modem on-line, except by
- 37 going into terminal mode and giving the command "AT O",
- 37 then exiting to command mode and giving the send or
- 37 receive instructions. I decided to re-enable the "A"
- 37 and "O" secondary options to tell the Smartmodem to
- 37 go online in a particular mode. Hope Mr. Blady doesn't
- 37 mind, but I think it's much more convenient.
- 37 Jim Mills, CACHE, 2/14/82.
-
- A primary option may be included in a command line when
- initiating SMODEM3, or while in the menu mode, but only ONE is
- allowed. The exception is with 'T', 'M' and 'E'. They may be
- used as secondary options during 'send' or 'receive'
-
- S... Send a file R... Receive a file
-
- T... Terminal mode E Echo mode
-
- X Expert mode C... Auto-dial mode
-
- M Menu mode K... Kill a CP/M file
-
- There are twelve secondary options. These options may
- be entered in a command line when initiating SMODEM3 or
- while in the menu mode.
-
- More than one secondary option may be included in a
- command line. If the (CRC) option is used, then a maximum of
- six may be included. As you can see, 'T', 'M' and 'E' are
- also used as secondary options.
-
-
- ...S Print to screen/sending ...R Print to screen/receiving
-
- ...V Print send & receive ...Q Don't print messages
-
- ...T Return to Terminal mode ...E Return to Echo mode
-
- ...D Disconnect ...B Batch files mode
-
- ...C (CRC) request ...M Return to Menu mode
- cyc. redundancy check
- (option in receive only)
-
- ...A Answer Tone connect ...O Originate Tone connect
- to phone line. to phone line.
-
- SENDING/RECEIVING WITH SMODEM3
-
- *****
-
- (Sending/Receiving FORMAL Files)
-
-
- The clasification 'FORMAL' means that all transmitted
- data are checked for validity against received data. There
- are two data-check options available. (See information below.)
-
- If a primary option is used in a command line when
- initiating SMODEM3, it must be the first character following
- the name SMODEM3, with one space preceeding it. Secondary
- options immediately follow the primary, with no spaces.
- Secondary options may be entered in any order.
-
- eg. SMODEM3 SQT B:file.name
- ^
- (primary option)
-
- The above command line means:
-
- SMODEM3...Initiate SMODEM3
- S...Send a file
- Q...Don't print any system messages on the screen
- T...After the file is sent, go to the terminal mode
- B:...The file is on drive B:
- file.name...The name of the file to be sent
- (File names may contain ambiguous references,
- according to the rules of CP/M)
-
- The 'B' batch file secondary option may ONLY be used
- from the menu mode. It may not be included in a command
- line during initiation of SMODEM3.
-
- Command lines entered from the menu mode are virtually
- the same, except the word 'SMODEM3' is not typed.
-
- eg. >>RRD file.name
- ^
- (primary option)
-
- The above command line means:
-
- R...Receive a file
- R...Type the file to screen as it is being received
- D...Disconnect the phone after the file is received
- file.name...The name of the received file.
- (The file.name doesn't have to match the sender's.
- Ambiguous reference in file.name is NOT allowed
- with the receive option.)
-
- When sending a batch of files, ambiguous references may
- be used according to the rules of CP/M.
-
- eg. >>SBST *.BAS
-
- S...Send files
- B...Batch mode
- S...Print files to the screen as they're being sent
- T...When through, enter the terminal mode
- *.BAS...Send all the files on the default disk with the
- extention of 'BAS'.
-
- eg. >>SBCM file.name1 file.name2...n
-
- S...Send files
- B...Batch mode
- M...Enter the menu mode after all files are sent
- file.name...The list of files to be sent.
-
-
- When receiving files in Batch mode, the file names are
- NOT specified. They are sent by the sender. SMODEM3
- automatically receives and uses these names on the disk.
-
- eg. >>RBCE
-
- R...Receive files
- B...Batch mode
- C...Send a (CRC) character redundancy request to the
- sender specifying a (CRC) check of data instead
- of the default CHECKSUM method.
- E...Go to the Echo mode after all files have been
- received.
-
-
- (Sending/Receiving INFORMAL Files)
-
-
- Files may be sent or received from the Terminal mode.
- The clasification 'INFORMAL' simply means that data validity
- checks are NOT made on transmitted data. (You takes your
- chances.)
-
- To save data to an informal file, a file.name must first
- be specified in the menu mode while giving the 'T' terminal
- command. The user is the asked if the received data is
- object code. (All data is either object code or ASCII.)
-
- eg. >>T file.name
-
- Once in the terminal mode, any incoming data may
- be saved to this file by simply pressing the '^R' receive
- toggle. Data may be intermitantly saved by toggling on or
- off. As soon as all desired data is saved, the file must be
- closed with the 'WRT' command, from the menu mode. Incoming
- material may be temporarily stopped and started by issuing the
- '^S' XOFF' and '^Q XON' commands.
-
- To send an informal file, the '^T' transmit command is
- given from the terminal mode.
-
- eg. ^T
-
- Following this command the user is asked if the file
- to be sent is 'object code', then prompted for the file.name.
- The data is sent immediately following a carriage return, so
- care must be taken that the receiver has enough time to
- prepare.
-
-
- OPTION SUMMARY
-
- *****
-
- PRIMARY OPTIONS
- ===============
-
- SEND A FILE - 'S...'
- --------------------
- Send CP/M files individually or in batch mode using
- CHECKSUMS or CRC checks.
-
-
- RECEIVE A FILE - 'R...'
- -----------------------
- Receive CP/M files individually or in batch mode using
- CHECKSUMS or CRC checks.
-
-
- TERMINAL MODE - 'T <file.name>'
- -------------------------------
- Enter terminal mode (without echo.). If <file.name> is
- specified, then an informal file is set up and data may be
- saved to this file using the (Receive) ^R' toggle.
-
-
- ECHO MODE - 'E'
- ---------------
- Enter echo mode. Echo all characters back to the
- sender. Auto line feeds are sent following each carriage
- return. Both terminals may NOT be in echo mode at the same
- time or SMODEM3 will go boobs up.
-
-
- EXPERT MODE - 'X'
- -----------------
- This mode surpresses the menu display upon initiation
- of SMODEM3.
-
-
- AUTO-DIAL (SMARTMODEM) - 'C <command>'
- --------------------------------------
- Dial a number directly or display the telephone
- directory and wait for command.
-
-
- SECONDARY OPTIONS
- =================
-
- ANSWER TONE - 'A'
- -----------------
- Selecting this option tells the smartmodem to go online
- using answer (higher frequency) tones.
-
- ORIGINATE TONE - 'O'
- --------------------
- Selecting this option tells the smartmodem to go online
- using originate (lower frequency) tones. If neither 'A' or 'O'
- are specified, SMODEM37 will assume you are already online and
- begin whatever command you gave it.
-
- SHOW FILE AS SENT - 'S'
- -----------------------
- Selecting this option will display the file being sent,
- on the screen.
-
-
- SHOW FILE AS RECEIVED - 'R'
- ---------------------------
- This option will display the file being received, on
- the screen.
-
-
- SHOW FILE - 'V'
- ---------------
- Display sent or received file on the screen.
-
-
- QUIET MODE - 'Q'
- ----------------
- Surpress all system messages; (don't display on the
- screen).
-
-
- TERMINAL MODE - 'T'
- -------------------
- Enter the terminal mode. <file.name> may not be
- specified when when using 'T' as a secondary option.
-
-
- DISCONNECT (SMARTMODEM) - 'D'
- -----------------------------
- Issue the 'Escape' code to the HAYES SMARTMODEM, then
- hang up the telephone and re-enter the menu mode.
-
-
- BATCH MODE - 'B'
- ----------------
- This option is used to send multiple files.
-
- File names can be individually specified in the command
- line, or they can be specified using ambiguous file names
- (CP/M convention). Individual file names are sent to the
- receiver first, then the file contents, until all files are
- sent.
-
-
- (CRC) cycle redundancy check - 'C'
- ----------------------------------
- SMODEM3 defaults to a 'checksum' method of checking data
- validity during send/receive. Although quite accurate, it
- is not virtually error free. The secondary option 'C' may
- be included in the command line to force a (CRC) check of
- data. The (CRC) methode is 99.99% error proof. The only
- restrictions are:
-
- - Both sender and receiver must use one of the MODEM series
- programmes that have the (CRC) option.
-
- - The (CRC) option may only be included in a RECEIVE
- command line.
-
- If SMODEM3 detects a request for (CRC) during a
- SEND file, it automatically switches over and informs the
- operater with a screen message.
-
-
- TERMINAL MODE OPTIONS
-
- *****
-
- OFF-LINE - ^O
- -------------
- This command will allow re-entry to the menu mode
- without disconnecting the phone.
-
-
- END OF FILE - ^Z
- ----------------
- This command sends an end of file ASCII character.
-
-
- XOFF - ^S
- ---------
- The XOFF character tells the sending computer to stop
- data transmission temporarily. (The sender must recognize
- XON/XOFF protocol). XOFF is used in conjunction with the XON.
-
-
- XON - ^Q
- --------
- The XON character tells the sending computer to resume
- data transmission.
-
-
- TERMINAL/ECHO (TOGGLE) - ^E
- ---------------------------
- Switching between Terminal mode and Echo mode can be
- accomplished by pressing ^E. A message is printed to warn if
- ECHO ON or ECHO OFF.
-
-
- PRINTER (TOGGLE) - ^P
- ---------------------
- All incoming data may be sent to the printer while in
- terminal mode. This feature does NOT operate while receiving
- a file using the 'R' (receive) primary option. A message is
- printed warning if PRINTER ON or PRINTER OFF.
-
-
- TRANSMIT INFORMAL FILE - ^T
- ---------------------------
- This command will send a disk file informally (without
- error checking).
-
- After pressing ^T, the user is prompted for the
- file.name, and if the file being sent is object code.
- The file is immediately sent following a carriage return.
- The transmission can be terminated with the cancel key ^X.
-
-
- OBJECT CODE (SCREEN PROMT)
- --------------------------
- Object code files may be SAVED or SENT while in the
- terminal mode. The user is prompted during informal file
- transfer/receive as to whether an object code file is being
- transmitted. There are no checks to ensure data validity,
- therefore this feature should only be used when it is not
- possible to use the 'R' (receive) or 'S' (send) primary
- options.
-
-
- RECEIVE INFORMAL FILE (TOGGLE) - ^R
- -----------------------------------
- The receive toggle may be used only if a <file.name> was
- specified when entering the terminal mode.
-
- eg. T <file.name>
-
- Alternately pressing 'R' turns the save feature ON and
- OFF and the user is prompted with 'SAVE ON' or 'SAVE OFF'
- message. When the save function is ON, data is
- simultainiously saved and printed on the screen, and each
- printed line is preceded by a colon ':' (The colon is not
- sent to the file.)
-
- ECHO MODE (TOGGLE) - ^E
- -----------------------
- Alternately pressing this key toggles between the
- terminal mode and echo mode. The user is prompted with an
- 'ECHO ON' or 'ECHO OFF' message.
-
-
- DISCONNECT (SMARTMODEM) - ^D
- ----------------------------
- This key sends the SMARTMODEM default escape code '+++'
- then issues the command 'ATH' causing the modem to go to
- an ON-HOOK state (hang up).
-
-
- CANCEL SEND/RECEIVE - ^X
- ------------------------
- This key may be used to cancel files being sent or
- received in the informal mode, or files being sent using the
- primary option 'S'. Files being received with the primary
- option 'R' can't be cancelled by the receiver. This ensures
- that line noise doesn't inadvertantly stop transmission.
-
-
- PHONE DIRECTORY
-
- *****
-
- Two types of directory formats may be set up.
-
- (a) TWO ENTRIES PER LINE
- ------------------------
-
- The directory itself begins with the letter 'A' and
- ends with the'$'. 'A' MUST BE THE FIRST CHARACTER IN THE
- FILE. (No CR/LF pairs preceding it.) Do not include the
- spacing guide below.
-
- 123456789012345678901234567890123456789012345678901234567890++
-
- A Apple CBBS.........499-2908 B Tony Bagshaw.......881-1532
- C Conn TRS Pick......839-4561 D Conn TRS Miss......266-9110
- E Conn TRS North Y...667-9981 F Frank Aylesworth...633-7497
- G Bill Groskuth IRN..421-1922 H Heathkit BBS ......273-3011
- I J K.Jeejeebhoy ......924-1517
- K Microm CBBS........226-7430 L Les Popelyak ......495-2086
- M Missisaga CBBS.....826-5394 N
- O P P.M.I.CBBS(Punter).624-5431
- Q Queens BBSNY.1-212-441-3755 R Robert L. .........621-8788
- S Sorcerer BBS 1-313-535-9186 T Tony Loutenbach ...223-9238
- U V
- W Walter Blady ......231-1898 X
- Y Z
- a b Heinz Benedikt ....483-5642
- c d Craig Dolbeer .....766-8457
- e Robert England ....823-4446 f
- g Dereck Gomes ......493-1270 h
- i j Jacques Giraud ....656-9646
- k l Duncan Lang .......461-2224
- m Ed McLean .........749-0691 n
- o p Perry Porter ......276-4629
- q r John Roy ..........691-2810
- s Ted Seki ..........741-2141 t
- u v
- w x
- y Yumpin Yiminy .....911-1123 z Good time Zelda ...337-1234
- $ ^ ^
- ^ | |
- | (two spaces) (carriage return
- | line feed pair
- (the $ MUST be the last character) not seen, but there)
-
-
- (b) ONE ENTRY PER LINE
- ----------------------
-
- THERE MUST BE EXACTLY 31 CHARACTERS per line, including
- the CR/LF pair. Other than that, the rules are the same
- as the directory above.
-
- 1234567890123456789012345678901
-
- A Alphons Stretch....423-1191
- B Bernice streetcar..222-0198
- C etc...n ^^
- $ ||
- (last 2 spaces rep.CR/LF pairs)
-
- The length of line in the second directory may be made
- longer, but alterations must be made in the 'dial routines',
- in the MAC file.
-
- CAUTION:
- --------
- All NUMBERS in the directory line will be sent to
- SMARTMODEM. Only the numbers to be dialed should be present.
-
-
- CONCLUSION
- ==========
-
- This programme does not include some of the options
- that were present in other versions:
-
- - Baud rate change
- - Parity select
- - Force-send last character typed
- - Auto dial source code for the PMMI modem
-
- The Baud rate and parity select options may be included
- in a future version. Auto-dial is a built-in feature of
- SMARTMODEM, and was not needed.
-
- SMODEM3 must be assembled with Microsoft's M80 Macro
- assembler. The assembly commands to create a CP/M COM file
- are:
- M80 =SMODEM36
- L80 /P:100,SMODEM36,SMODEM36/N/E
-
- 37 SMODEM37 is modified for assembly with Digital Research's
- 37 MAC macro assembler. See SMODEM37.ASM for instructions.
-
- If anyone adds features to this programme, or has any
- comments or suggestions, I would appreciate hearing them.
-
- W.B. 1-(416) 231-1898.
- 17 Bermuda Ave.
- Toronto, Ontario
- Canada
- M8Y 2P6
-
- Or leave a message on Mississaga Can. RIBBS 1-(416) 826-5394.
-
- END
-