home *** CD-ROM | disk | FTP | other *** search
- COM3COM4.DOC:
-
- Tips on Using COM3 and COM4 Serial Ports
-
- Part I - Port Address Problems
-
- Part II - Converting the IBM Asynchronous Communications
- Adapter to use as COM3 or COM4
-
-
- Part I - Port Address Problems
-
- SETCOM3 - Set base address of COM3 serial port
-
- Al Stangenberger
- Dept. of Forestry & Resource Mgt.
- University of California
- Berkeley, CA 94720
-
- (forags@violet.berkeley.edu)
-
- This discussion and program is adapted from the MS-Kermit User Guide.
-
- Some programs trying to use serial ports COM3 or COM4 will not
- run because the base addresses of these serial ports are not
- stored in the proper low-memory addresses. There are no
- standards for the values for these addresses (unlike for COM1 and COM2),
- hence they may not be in the system ROM Bios boot code which is run
- when the computer is turned on.
-
- This condition may easily be confirmed by attempting to use the
- MS-DOS MODE command to set parameters for COM3 or COM4. If an otherwise
- valid MODE command returns diagnostics such as "Illegal device" or
- "Invalid parameters," then these addresses have not been defined yet.
-
- The code in SETCOM3.RAW is a prototype of input to DEBUG
- which can be used to construct a small .COM program to
- correct this problem for serial port COM3. A slight
- modification would make it suitable for COM4. Normally,
- SETCOM3 is only executed once as part of the AUTOEXEC.BAT
- procedure.
-
- To adapt SETCOM3.RAW to your situation, consult the
- documentation for your serial card or modem to find the base
- address used when the card or modem is set for COM3.
- A typical value would be 02E8 (hexadecimal).
- Modify lines 4 and 5 in SETCOM3.RAW to have this value.
-
- To construct the program, type the command:
-
- A> DEBUG < SETCOM3.RAW
-
- It's a good idea to use DEBUG to examine the result to be
- sure it is correct. To do this:
-
- A> DEBUG setcom3.com
- -u
- (the assembled code will be listed here)
- -q
-
- The program is executed by the command
-
- A> SETCOM3
-
-
- To change from COM3 to COM4, find the base address for COM4 as
- described above, and change lines 4 and 5 accordingly.
- Also change line 7 from [4] to [6] to store this address at the
- proper location in memory. Finally, change the name of the file
- written (line 12) to SETCOM4.COM for clarity.
-
- Following is a commented version of SETCOM3.RAW:
-
- Line # Instruction Comment
- ------ ------------ -----------------------------
- 1 a Assemble command (to DEBUG)
- 2 mov ax,40 value 40H
- 3 mov es,ax put in register es
- 4 mov ah,02 02 part of 02E8H
- 5 mov al,e8 E8 part of address
- 6 es:
- 7 mov [4],ax store in 40:4 for com3 (change to [6] for COM4)
- 8 int 20 return to DOS
- 9 blank line ends assemble mode
- 10 r cx Show contents of register cx
- 11 0f Set cx to write 0fh bytes
- 12 n setcom3.com name file setcom3.com
- 13 w write the file
- 14 q quit debug
-
- Following is an un-commented version of SETCOM3.RAW. Use a
- text editor to alter it as needed, and write it to a
- separate file (SETCOM3.RAW) for use as input to DEBUG.
-
- ------------------------------- cut here -------------------
- a
- mov ax,40
- mov es,ax
- mov ah,02
- mov al,e8
- es:
- mov [4],ax
- int 20
-
- r cx
- 0f
- n setcom3.com
- w
- q
-
-
- ------------------------------- cut here -------------------
-
-
- Part II - Converting the IBM Asynchronous Communications
- Adapter to use as COM3 or COM4
-
-
- From: uw-beaver!tektronix!tekgen!ferrouss (Ferrous Steinka)
- Newsgroups: comp.sys.ibm.pc
- Subject: Serial ports 3 and 4
- Date: 25 Mar 88 17:55:48 GMT
-
- So, you've upgraded to a multifunction card and you have an old
- IBM asynchronous communications adapter laying around that is
- just taking up space. Well, with a simple mod to the board, it
- can be made to respond to COM3 or COM4. Of course you will need
- to have appropriate software to take advantage of your new serial
- port. IBM MSDOS 3.3 knows about ports 3 and 4, MSDOS 3.1 doesn't
- and I'm not sure about 3.2 or 3.21. I tested ProComm and it DOES
- know about the secondary ports. The addresses of COM1 and COM2
- are 3F8(h) and 2F8(h) respectively. The addresses for COM3 and
- COM4 are 3E8(h) and 2E8(h) respectively. The difference is address
- line A4, and all you have to do is invert it on the board prior to
- the decoding logic. This can be done by cutting pin 5 of U-2, a
- 74LS30, at the surface of the board and gently bending it up so
- that it may be soldered to. The pad to which pin 5 of U-2 was
- soldered is A4, which connects via the edge card connector to the
- system bus. Pin 5 of U-2 is an input to the decoding circuitry. I
- chose to use a 74LS04 as the inverter (piggy-backed onto U-3, also
- a 74LS04, to provide power and mechanical stability) . Connect pin
- 3 of the tacked on 74LS04 to A4 and pin 4 of the 74LS04 to pin 5 of
- U-2. CAUTION: There are unused buffer/inverters on the board but
- they are open collector type devices. Using these could lead to
- timing problems.
-
- For additional information, consult an IBM Technical Reference
- Guide for either the PC or the XT. Both have schematics of the
- asynchronous communications adapter.
-
-