home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 515.lha / NewSer / newser.doc < prev    next >
Text File  |  1991-06-08  |  3KB  |  72 lines

  1.                          Newser Device Doc File
  2.  
  3.  The first thing that I want to say, is that this is not my program. The
  4. code was written by Dan Babcock for an article that appeared in Amazing
  5. Computing Volume 6 No. 2, in February 1991. The article was called
  6. "More Ports for Your Amiga: An I/O Expansion Board" by Jeff Lavin. 
  7. It explains how to build a multi I/O serial/parallel board for your Amiga.
  8. The board and parts can be purchased from "The Puzzle Factory, Inc." in
  9. Veneta OR.
  10.  Now this is where I come in. I built the board for a friend to add to
  11. his computer. The source code for the device driver was included on a
  12. disk with the purchase of the parts. At this time, I was also working on
  13. SerServer Version 2.20. Well SerServer requires control of the DTR line
  14. to work properly. There was no method in newser, short of hitting the 
  15. hardware to control the line. I have always felt that Commodore made a 
  16. mistake in the code for the serial.device, not having provided a method 
  17. in message passing, to control the line. I feel that ASDG did it right in 
  18. the siosbx.device to provide the service in message passing. I then 
  19. decided to add the code to newser.device. This is how it works;
  20.  
  21.   Name - SetCtrlLines - Allows setting of various control lines
  22.  
  23.   Function - This function allows the state of various control lines to
  24.              be affected without closing the expansion serial device.
  25.          The effect of the command will take place immediately.
  26.  
  27.  IO Request Format
  28.  
  29.       io_Command - SIOCMD_SETCTRLLINES (16 decimal or 0x10 hex)
  30.       io_Offset  - A bit mask containing a one in each bit position which
  31.                    will be changed. Any bit position with a zero value 
  32.            will be unchanged irrespective of the value contained 
  33.            in io_Length.
  34.       io_Length -  The values each affected bit should be set to. Any bit
  35.                    position which has a zero in the corresponding position
  36.            in io_Offset will be ignored.
  37.  
  38.                    The valid bit positions (masks) are:
  39.  
  40.                    SIOB_SET_RTS - bit position 0.
  41.                    SIOB_SET_DTR - bit position 1.
  42.  
  43.  
  44.  To turn off RTS, you would send the following message;
  45.  
  46.     IOB->io_Command = 0x10;   /* The command               */
  47.     IOB->io_Offset  = 2;      /* specify bit 1 be changed  */
  48.     IOB->io_Length  = 0;      /* it will be changed to a 0 */
  49.  
  50.  
  51.  To turn RTS off and DTR on at the same time, the following message is sent;
  52.  
  53.     IOB->io_Command = 0x10;   /* The command                    */
  54.     IOB->io_Offset  = 3;      /* specify bits 0 & 1 be changed  */
  55.     IOB->io_Length  = 1;      /* bit 0 set and bit 1 unset      */
  56.  
  57.  
  58.  So thats how it works. If you want to use SerServer 2.20 with this card,
  59. then I suggest that you use this code (the device driver) to control the
  60. hardware. SerServer will not function properly, if you do otherwise. This 
  61. LHARC contains the executable, the modified source code, a header file and
  62. this doc file. I hope Dan or Jeff, see fit to change the original source,
  63. to handle this new command. 
  64.  
  65.  
  66.   Mike Mossman    CIS - 76515,3017
  67.                   FIDO- 1:255/1.4
  68.                   PUNTER - NODE 95
  69.  
  70.  
  71.                   
  72.