ProComm on the IBM PCjr Setting up the IMB PCjr for communications software can lead to a variety of problems. Problems with ProComm fall into two categories, depending on the modem you are using. I. EXTERNAL MODEMS If you are using an external modem, particularly a Hayes or Hayes compatible, you must solve the problem of the jr's confusion of the COM1 and COM2 ports. This can be done quite easily through use of COMSWAP.COM and COMREST.COM as outlined on page 66 of the ProComm manual. You simply a) run COMSWAP.COM before you run ProComm, b) run COMREST.COM after you finish ProComm, and c) setup ProComm to run with COM2. COMSWAP and COMREST are available on many BBS's or directly from the ProComm board at (314) 449-9401. II. IBM INTERNAL MODEM A separate problem arises if you use ProComm with the jr's internal modem which uses its own unique command set. After much experimentation and quite a bit of help from a number of SYSOPs and junior owners, the following MODEM SETUP for ProComm has emerged as the most useful with the internal modem. After you run the program, type "Alt S" for the Setup Screen. Type "1" for MODEM SETUP. Insert the following values: __________________________________________________ 1) Modem init string .... ^NF 4! 2) Dialing command ...... ^NT 0,D . 3) Connect string ....... CONNECTED 4) No Connect string 1 .. BUSY 5) No Connect string 2 .. NO ANSWER 6) No Connect string 3 .. NO DIAL TONE 7) No Connect string 4 .. UNSUCCESSFUL 8) Hangup string ........ ^NH! 9) Redial timeout delay . 40 10) Redial pause delay ... 5 11) Modem CD mask ........ 128 _________________________________________________ When you finish, type "ESC" and then "S" to save your setup. Note: Be sure to copy these strings exactly. The spaces after the ^NF ^NT & 0,D are important because the junior's internal modem reads the spaces. Be sure the Connect and No Connect strings are in CAPS because ProComm looks for an exact match to what the internal modem sends. You should also make sure you are set for "ANSI-BBS" on the "Terminal Setup" screen. I'm particularly grateful for the help from Dan Sussman who passed on the final piece of the puzzle, some information about the transparent command in the Dial string. Dan passed on this information from Jody Davis on COMPUSERVE's PCjr SIG. Good luck! If you have a problem, a suggestion, or an improvement, please leave a message for me on the SAILboard BBS (201) 831-8152. Lawrence Knapp 8/3/86 ______________________________________________________________________ Hints for using Procomm 2.42 on the PCjr Following are some hints for using the PCjr internal modem with Procomm. But one quick hint on ALL internal modem commands (including ^NT 0). The command HAS TO BE FOLLOWED BY A CARRIAGE RETURN, even if you assign it to a Function Key, or the modem will ignore the command sequence. I'm running my PCjr with 640K and one disk drive. I use three device drivers in CONFIG.SYS. PCJRMEM.COM for memory management, RAMDISK.COM to create a ram disk, and ANSI.SYS. I specify 10 buffers and 15 files. My AUTOEXEC.BAT sets MODE CO80 and PATH=C:\;A:\ (among other commmands). I then copy all of the Procomm program files (except PROCOMM.EXE) and my *.CMD files into the ram disk. I change the current directory to C: and then start Procomm. Since the PCjr lacks DMA, a ram disk is essential. The data received by the modem is passed to the receive buffer in memory through the 8088 CPU. Without DMA, when the buffer is full and needs to transfer data to the diskette, the 8088 has to take care of that disk operation. Since the 8088 handles one task at a time the end result is lost data (unless it's an ASCII transfer using XON/XOFF flow control protocol). With a ram disk as the storage diskette (instead of a physical floppy) the transfer from buffer is an internal memory function and is managed such that the data stream is uninterrupted. The use of a ram disk also allows full use of all protocols available on Procomm. I've used XMODEM to BBS's and CompuServe with no problem. Set the Procomm Communication Parameter to COM1 and the internal modem will be addressed. And now, everyone's favorite topic, the internal modem command format. The format is [Ctrl N][command letter][space][arguments][,additional commands][carriage return]. The command structure for the internal modem can be very frustrating at times but I've found the following to work with Procomm. No space is needed between the "Ctrl N" and the "command letter" but the space between the command letter and its argument is CRITICAL; it is the delimiter. You MUST set the parity of the modem to match the Dialing Directory entry. If you don't, the modem will never dial out. The two most common are 8-N-1 and 7-E-1. The modem command for parity is FORMAT and can be assigned as Keyboard Macros. I use Alt-1 as ^NF 4! (8-N-1) and Alt-2 as ^NF 3! (7-E-1). ("^" is the default CTRL character and "!" is the default CR character). The modem defaults to 7-E-1 at start-up so if you're calling a BBS the first thing to do is use Alt-1 to set the modem to 8-N-1. This key sequence may need to be repeated until the modem responds with "OK". It sometimes sends back higher level ASCII codes but repeat the key sequence until you get the response "OK". The command for the Modem init string is ^NI! (I for INITIALIZE). This resets the modem to its default operating modes after either a cold or warm boot of the CPU. Remember, "!" is the CR that causes command execution. The Dialing command is ^NT 0,D (T for TRANSPARENT and D for DIAL). This command is NOT followed by "!". The Dialing Directory will insert the number for you and send the command to the modem. The digits are tone-dialed. Change the command to ^NT 0,D I if you want pulse- dialing. The transparency mode has given people fits. In order to get the modem to transmit binary files, you must tell it to ignore command sequences. This is what the TRANSPARENT command does. Unfortunately, once you tell the modem to do this there is no way to communicate additional commands to it. However, by making the TRANSPARENT command part of the same command line the DIAL command is on, you avoid this problem. The argument of "0" causes a permanent transparent mode which allows you to use any transfer protocol during your call without accidentally sending a command string that causes the modem to disconnect. When the host computer drops carrier at the end of your call, the modem exits the transparent mode and you can again communicate commands to it. Other people have tried moving into the transparent mode after establishing contact but putting it in the Procomm Dialing command has worked great for me. For some reason unknown to me, the Hangup string still works even during a call (when the modem is in transparent mode) so you can disconnect if you need to. The Hangup string is ^NH! (H for HANGUP). This causes the modem to go on-hook. The only other modem command is the Auto answer string ^NC 5,M! (C for COUNT and M for MODEM). This command is used when you place your PCjr into Host Mode. The call will be answered after 5 complete rings and MODEM forces the modem into the data state where the carrier is placed on the telephone line and proper connection protocols are followed. I've used the Host Mode to call my PCjr from work. The other Modem Setup strings are CONNECTED for the connect string, NO DIAL TONE for No Connect string 1, UNSUCCESSFUL for No Connect string 2, BUSY for No Connect string 3, and NO ANSWER for No Connect string 4. The Modem CD mask should be set to 128. Terminal setup options are ANSI-BBS for Terminal Emulation, FULL for Duplex, and XON/XOFF for Handshake. This covers all the critical settings. If you're communicating with a BBS, set the XMODEM mode (under General Setup) to NORMAL. On CompuServe, set the XMODEM mode to RELAXED. I've successfully uploaded and downloaded from both CompuServe and BBS's with this setup. ANSI.SYS color graphics also come across correctly. Procomm 2.42 also gives you CompuServe "B" protocol as a choice and the internal modem supports this protocol as well. [Jody Davis] _____Summary_____________________________________________________ I've reviewed all the PROCOMM vs. the PCjr material on PC-Rain Node V (305-487-4754) and found the material above to be the most pertinent to running ProComm Version 2.42 on PCjr. The files I examined were these: JRCOM.ARC...............(for ProComm 2.3 only) PCM22D31.ARC............(for ProComm 2.2 only) PRCMPCJR.ARC............(included above) JRTIPS.ARC..............(included above) I can't see why anyone would be running the down-level versions, so I left out the material pertaining only to those in order to avoid confusion. Here are some of my own observations about using ProComm 2.42 on PCjr: 1) I find that it's not necessary to run a RAMdisk to use ProComm on my Jr, even when up- or down-loading via XMODEM or YMODEM protocols. In fact, ProComm is the ONLY comm program I've found that can handle the disk writes without losing data. 2) To switch back and forth between communication modes for different on-line services, I've found it convenient to use command files called E71.CMD and N81.CMD containing the following: e71.cmd: n81.cmd: CLEAR CLEAR TRANSMIT "^NI !" TRANSMIT "^NI !" PAUSE 10 PAUSE 10 TRANSMIT "^NF 3,H !" TRANSMIT "^NF 4,H !" PAUSE 1 PAUSE 1 TRANSMIT "^NH !" TRANSMIT "^NH !" SET PARITY EVEN SET PARITY NONE SET DATABITS 7 SET DATABITS 8 SET STOPBITS 1 SET STOPBITS 1 Hope this helps! -Carl Kugler III, 3-2-87 Boca Raton, FL old or warm boot of the CPU. Remember, "!" is the CR that causes command execution.