home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / altsrc / articles / 11296 < prev    next >
Text File  |  1994-10-04  |  2KB  |  61 lines

  1. Path: wupost!news.utdallas.edu!corpgate!bcarh8ac.bnr.ca!bcarh189.bnr.ca!nott!torn!howland.reston.ans.net!europa.eng.gtefsd.com!uhog.mit.edu!news.mtholyoke.edu!news.umass.edu!news2.near.net!news.delphi.com!usenet
  2. From: agony@delphi.com
  3. Newsgroups: alt.sources
  4. Subject: Can anyone help me on this?
  5. Date: Mon, 3 Oct 94 20:59:31 -0500
  6. Organization: Delphi (info@delphi.com email, 800-695-4005 voice)
  7. Lines: 50
  8. Message-ID: <J84Uh6L.agony@delphi.com>
  9. NNTP-Posting-Host: bos1e.delphi.com
  10.  
  11.  
  12. Ok, this question is about communications with C++, I have figured out how to
  13. use bioscom and have written the VERY simple terminal program shown below.
  14.  
  15. The problem I am having is that bioscom() is extremely slow and I can't do much
  16. with it, from looking at other sources I have seen functions like inport(),
  17. inpo  inportb(), outport(), and outportb() which I assume can do basically the
  18. same thing as I am doing with bioscom().
  19.  
  20. Well, anyone who knows C++ can they look at the following code and tell me how
  21. I would use another function to accomplish the same task?:
  22.  
  23. #include <bios.h>
  24. #include <stdio.h>
  25. #include <conio.h>
  26. #include <stdlib.h>
  27.  
  28.  
  29. int port;
  30.  
  31. void main(void)
  32. {
  33.     int ch, i, ok=1, x, y;
  34.     char s[81];
  35.  
  36.     printf("\nCom port: ");
  37.     gets(s);
  38.     port=atoi(s);
  39.     port--;  // bioscom takes 0 for com1, 1 for com2, ect.
  40.     clrscr();
  41.  
  42.     while(ok)  // Loop until !ok (when Alt-X pressed)
  43.     {
  44.         while(bioskey(1)==0)  // Check com port until key pressed
  45.         {
  46.             ch=bioscom(_COM_RECEIVE,0,port);  // Get 'ch' from 'port'
  47.  
  48.             if(ch!=-8192)  // Value being received when not receiving anything
  49.                 printf("%c",ch);
  50.         }
  51.         ch=bioskey(0);  // Get key that was pressed
  52.         if(ch==11520)  // If key pressed == Alt-X, then exit
  53.             ok=0;
  54.         else
  55.             bioscom(_COM_SEND,ch,port);  // Send 'ch' over 'port'
  56.     }
  57.  
  58.  
  59. I am not sure how well that ASCII UL worked, but I assume you can get the
  60. idea...  any help would be greatly appreciated.
  61.