BBS: Inland Empire Archive Date: 02-04-93 (14:37) Number: 371 From: CALVIN FRENCH Refer#: NONE To: DIK COATES Recvd: NO Subj: COM4 and COM3 Conf: (2) Quik_Bas
Hi Dik, Here's an example of how to do this... I think this should help. Also, Mr. Moderator, if the message is too long or if I'm violating someone's copyright, please tell me! I hope this helps out. ___------- Use Pork & Beans Can Lid To Slice Paper... ----------------- ____________________________________________________________ __________________ Using COM3: and COM4: from Microsoft QuickBASIC (tm) Copyright (C) 1987 HUMBLEWARE Custom Programming ____________________________________________________________ __________________ QuickBASIC does not support serial communications through COM3: or COM4: but this shortcomming can be worked around easily. The following explains what must be done to make QuickBASIC talk to COM3: and COM4:. Using COM3: and COM4: a little theory: When your PC boots up it fills in a table which lists the addresses of all the the serial communications ports installed in your system. This table exists within the BIOS data area of your PC and can store the addresses of up to 4 serial communications ports. Unfortunately, though the IBM PC hardware can handle 4 serial communications ports, QuickBASIC acknowledges only 2 such devices. So, if you want QuickBASIC to use a serial port addressed as COM3: you must fool QuickBASIC by changing the address in the BIOS data area that normally points to COM1: and put the address of COM3: there instead. Likewise, the address in the BIOS data area that normally points to COM2: can be changed to point to COM4: instead. Once this has been done, when QuickBASIC tries to read or write to COM1: the data will be redirected to COM3: and when QuickBASIC tries to read or write to COM2: the data will be redirected to COM4:. The following QuickBASIC programs illustrate how to access COM3: and COM4: 'EXAMPLE: Accessing COM3: from QuickBASIC 'move QuickBASIC segment pointer to BIOS data area DEF SEG=64 'change com1: address in BIOS data area to com3: POKE &H00,&HE8 'open com3: by issuing open com1: command OPEN "COM1:1200,N,8,1" FOR OUTPUT AS #1 'print to comm port PRINT #1,"ATDT844-1212" 'close comm port CLOSE #1 'restore com1: address in BIOS data area to com1: POKE &H00,&HF8 'EXAMPLE: Accessing COM4: from QuickBASIC 'move QuickBASIC segment pointer to BIOS data area DEF SEG=64 'change com2: address in BIOS data area to com4: POKE &H02,&HE8 'open com4: by issuing open com2: command OPEN "COM2:1200,N,8,1" FOR OUTPUT AS #1 'print to comm port PRINT #1,"ATDT844-1212" 'close comm port CLOSE #1 'restore com2: address in BIOS data area to com2: POKE &H02,&HF8 I hope this information helps you with your QuickBASIC programming projects! ____________________________________________________________ __________________ Best wishes, L.A.Westhaver HUMBLEWARE Custom Programming 247 Paul Martin Drive Baltimore, MD 21227 (301) 799-1975 ___------- Use Pork & Beans Can Lid To Slice Paper... ----------------- Well, I sure hope this helps! I haven't had too much luck with it, however. The other method is to use direct INP and OUT commands. This would seem Ok but actually there is much extra programming and unwanted or unneeded bugs if it's used. Error trapping COMn can often help you out if you're doing psuedo-multitasking with your COM program or if, like I, you're writing an over-the-modem game. I'm not sure what the addresses are, but I think the ones that are listed in TELIX or whatever should work. I haven't really tried too much with this yet. Well, Hope this helps out (and I hope Mr. Moderator diddn't terminate part of this message.. if he did, tell me and I'll see what I can do!). Always as happy as a bean, - Calvin - ... OFFLINE 1.39 * Oh beans... I just killed my tagline file. --- Maximus 2.01wb * Origin: RJ's Byteline =[HST/DS]= Calgary (403)247-3180 CANADA (1:134/75)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET