SET UP ROUTINE FOR THE CP/M MODEM PROGRAM.   9/15/80

This information is given for those who do not wish to re-assemble
the modem program for their system because they do not have MAC, do
not have the source code, or are lazy. If you have a PMMI Modem board,
with base port set at E0H, and do want backup (.BAK) copies (if the file
being received already exists), the program will run as is. If not,
make the patches listed below.

Use the L command ( L100 ) of DDT or SID to list the program and
use the S command to make the following changes:

0100 C3 2D01    JMP 012DH  <---  Do not change

(Note: The L command of DDT or SID displays 0FFH as "RST 07" and 0 as "NOP")

0103 FF                    <--- 0FFH if PMMI modem, else zero

0104 FF                    <--- 0FFH if Imsai with front panel,
                               else zero.

0105 00                    <--- 0FFH if 4 MHz Z-80 (or maybe fast 8085)
                               else 0

0106 00                    <--- Zero if you want files that exist
                               to be deleted if a file of the same
                               name is sent in multifile transfer.
                               0FFH if you want the existing file
                               to be changed to type "BAK".

                               Note: In CP/M 2 existing R/O or
                                     SYS files are changed to
                                     type BAK whether this byte
                                     is set or not.

0107 FF                    <--- 0FFH if you want program to come
                               up in expert (XPR) mode without
                               calling A>MODEM X else zero if
                               you want menu or X command.

0108 7D                    <--- 7DH for 20 pulses/sec dialing
               PMMI            (PMMI modem only). 0FAH if your
               ONLY            phone exchange is older and needs
                               a slower dialing rate.


0109 DB XX      IN  XX     <--- Put modem status port in 010AH
010B C9         RET             (Base port if PMMI)


If you have a PMMI modem board, no other patches need be made.
Leave DDT with ^C and type

               SAVE 35 MODEM.COM       (OR M.COM)

If you do not have a PMMI modem, make the following patches also:

010C D3 XX      OUT XX     <--- Put modem data port in 010DH
010E C9         RET

010F E6 XX      ANI XX     <--- Put bit tested when modem ready to
0111 C9         RET             send in 0110H

0112 FE XX      CPI XX     <--- Same as 0110H if port uses positive logic (JZ).
0114 C9         RET             Hex zero if port uses negative logic (JNZ).

0115 DB XX      IN XX      <--- Put modem data port (again) in 0116H.
0117 C9         RET

0118 E6 XX      ANI XX     <--- Put bit tested when modem ready to receive
011A C9         RET             in 0119H

011B FE XX      CPI XX     <--- Same as 0119H if port uses positive logic.
011D C9         RET             Hex zero if port uses negative logic.

011E C3 XXXX    JMP XXXX   <--- 011EH contains a jump to a modem or port
                               initialization routine. If your modem does
                               not need to be initialized, put a RET (C9H)
                               in 011EH .If you need initialization, write
                               your routine for the memory location addressed
                               by the jump. The initialization routine
                               must end with a RET instruction. You have
                               approximately 190 (decimal) bytes for the
                               routine.

You are finished. Leave DDT (using ^C) and type

               SAVE 29 MODEM.COM