LMODEM is a Maclisp implementation of the MODEM/XMODEM protocol that is often used for transferring files between microcomputer systems running the CP/M operating system. It requires the MODEM program on the CP/M end. (See the files MC:CPM;MODEM 206ASM, MODEM 206DOC, MODEM 926, and MODEM DOC ; the file MBOOT ASM may also be of interest.) In order to use LMODEM you should be connected to AI, MC, or ML through one of the following connection paths: (1) TIP connection (2) Dialup (MC only) (3) Connected to the machine in one of those ways and running the CRTSTY program LMODEM cannot be used through the AI or ML dialups without modifying the program that runs on the CP/M end. When LMODEM starts up it will tell you whether it intends to use "7-bit" or "8-bit" protocol; 7-bit protocol CANNOT be used without a modified CP/M MODEM program. LMODEM can deal with text (7-bit, ASCII) or binary (8-bit, "COM") files. You must specify what kind of file because different kinds are stored on ITS in different ways. The basic usage of LMODEM is as follows: Run MODEM T on your CP/M system, connect to ITS and run LMODEM, and give LMODEM one of the following commands, including the parentheses: (send-ascii-file "") (send-com-file "") (receive-ascii-file "") (receive-com-file "") (receive-file "") (send-file "") (SEND means send from ITS, RECEIVE means receive onto ITS.) Wait until LMODEM types the message READY; then exit the MODEM T option by typing whatever escape character is assembled into your MODEM program and (quickly) issue one of the following CP/M commands: MODEM R fn.ft MODEM S fn.ft Obviously you should use R on CP/M if you told LMODEM to SEND, S on CP/M if you told LMODEM to RECEIVE. The transfer will then proceed, either terminating successfully or aborting due to excessively numerous errors or timeouts. After the transfer LMODEM will await another command. (Note: In typing a filename, the slash character "/" must be doubled.) LMODEM must adjust your ITS console and your TIP connection in a strange way in order to do its transfers. If a file transfer terminates normally then everything will be restored, but if a transfer aborts then control-Z may no longer get you back to DDT. If this happens you can do (RESTORE-TTY) to fix things back; the (QUIT) command, which kills LMODEM, will also restore things. If for some reason these commands fail, or you get some cryptic message like ;BKPT WRNG-NO-ARGS from LISP, type control-G and try things again. Control-L and control-K will redisplay LMODEM commands while you are typing them. The commands (ascii-stat "") and (com-stat "") can be used to print the size that a file would be on CP/M. LMODEM keeps a log file named LMDLOG that tries to indicate what kinds of errors happen during transfers. The file can be examined after you kill LMODEM with (QUIT) (or ^Z and :kill). In problematic cases it is also possible to find out the entire sequence of characters sent and received by LMODEM if a flag is set before the transfer; contact BUG-LMODEM if you need this. SEND-ASCII-FILE, etc. may be abbreviated as SAF, SCF, RAF, and RCF. Send mail to BUG-LMODEM at AI, ML, or MC if you have problems or questions.