home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk55 / muserial / multiserial < prev   
Encoding:
Text File  |  1995-03-19  |  12.1 KB  |  329 lines

  1. CS-ID: #13336.amy/amynet@pro-pac 8442 chars 
  2. Date: Fri,  3 Feb 89 06:44:08 HST
  3. From: bryce@cbmvax.UUCP (Bryce Nesbitt)
  4. Subject: Multiple serial article from the European Developer's Conference
  5.  
  6. --------------------------------------------
  7. -- Amiga Multiple Serial Ports: User View --
  8. --------------------------------------------
  9.  
  10.  
  11. Software
  12. --------
  13.  
  14. The current version of the Amiga has only one serial port.  Since many 
  15. devices can interface with a serial port, having more serial ports is an 
  16. obvious improvement.  
  17.  
  18. New system software has been developed for the Amiga which will allow
  19. plug in cards with extra serial ports to be used.   A typical setup on a 
  20. four port machine might be:
  21.  
  22.         Port 1 - Connected to a MIDI keyboard
  23.         Port 2 - connected to a modem
  24.         Port 3 - connected to a printer
  25.         Port 4 - connected to a home-control device 
  26.  
  27. Extra serial ports will also allow applications such as a multiple line 
  28. bulletin board system (BBS) with several modems connected to a single 
  29. computer.  Such a BBS could support simultaneous users.
  30.                         
  31.  
  32.  
  33. Multiple serial ports are implemented in a way which is compatible with
  34. existing software.
  35.  
  36.     o  Old applications that ask for the serial port will be given 
  37.        the "default" port.  Using the Preferences tool, the user will
  38.        be able to set the default to any valid port.
  39.  
  40.     o  New programs will provide a way for the user to select the serial
  41.        port to use.   If the user selects the number "0" or the word 
  42.        "default", the program will connect to the default port which is set 
  43.        in Preferences.  The built-in port is unit 1.  Extra serial ports
  44.        are numbered from two upward.  
  45.  
  46.     o  From BASIC and the CLI, ports may be directly accessed in the
  47.        same manner as works today:
  48.  
  49.                     SER:    = the default port 
  50.                     SER1:   = the built-in port
  51.                     SER2:   = the second port
  52.                     SER3:   = the third port
  53.                     SER4:   = the fifth port
  54.  
  55.  
  56.  
  57.  
  58. Hardware
  59. ---------
  60.  
  61. In addition to the new software support, Commodore is developing a plug in
  62. card with multiple serial ports.  All Commodore multiple serial port cards 
  63. will have a simple installation procedure:
  64.  
  65.     o  Insert the serial card into a slot.
  66.     o  Boot up with the normal Workbench disk or hard drive.
  67.     o  Insert the disk that comes with each serial card.
  68.     o  Double click on the "Install Drivers" icon.
  69.     o  To remove a driver, double click on the "Remove Drivers" icon.
  70.  
  71. Any number of cards may be installed.  Advanced users may install the 
  72. driver software manually instead of using the installation icon.
  73.  
  74. Commodore's design for matching ports on cards with unit numbers is simple.
  75. Port number 1 is the serial port built into each Amiga.  Higher port numbers 
  76. indicate extra serial ports the user has added with a plug in card.
  77. The bottom plug on a card is given the lowest unit number.
  78.  
  79.  
  80.  
  81. ---------------------------------------------------
  82. --- Amiga Multiple Serial Ports: Device Driver  ---
  83. ---------------------------------------------------
  84.  
  85. A Commodre support document will be available for people who wish to write 
  86. multiple serial port device drivers.  The document is available by request 
  87. only.  We may send updates to the document, and require the name and 
  88. address of a contact person.
  89.  
  90. To request the support document, send your name, address, telephone number 
  91. and a short description of your hardware to:
  92.  
  93.             CATS
  94.             Commodore Business Machines
  95.             1200 West Wilson Drive
  96.             West Chester, PA  19380-4231
  97.             USA
  98.  
  99.  
  100. ------------------------------------------------------
  101. --- Amiga Multiple Serial Ports: Programmer's View ---
  102. ------------------------------------------------------
  103.  
  104. If you are writing serial port applications for the Amiga, you can now
  105. add support for multiple serial port cards.  This is easy to do and
  106. will give your program extra power.
  107.  
  108. On an Amiga with one serial port the code needed to open the serial port 
  109. looks like this:
  110.  
  111.     error = OpenDevice("serial.device", 0, myIORequest, 0);
  112.     /*
  113.      *      BYTE=OpenDevice(char *,ULONG,struct IORequest *,ULONG);
  114.      *
  115.      *      "serial.device" = name of the device
  116.      *      0               = unit number (unused)
  117.      *      myIORequest     = a blank extended trackdisk IORequest
  118.      *      0               = flags (unused)
  119.      */
  120.  
  121.  
  122. To work with multiple serial ports, just one very simple addition is
  123. required:
  124.  
  125.     error = OpenDevice("serial.device", myUnit, myIORequest, 0);
  126.     /*
  127.      *      BYTE=OpenDevice(char *,ULONG,struct IORequest *,ULONG);
  128.      *
  129.      *      "serial.device" = name of the device
  130.      *      myUnit          = which unit to try and open
  131.      *      myIORequest     = a blank extended trackdisk IORequest
  132.      *      0               = flags (unused)
  133.      */
  134.  
  135. Notice that the second parameter has changed.  Under the old system, unit
  136. number was always set to 0.  Now the unit number is used to identify
  137. which of the serial ports should be used.  The unit assignments are:
  138.  
  139.     Unit 0  =   default port, settable from Preferences
  140.     Unit 1  =   the built-in serial port
  141.     Unit 2  =   the first extended unit
  142.     Unit n  =   last extended unit
  143.  
  144. System support for a multiple port serial card requires changes to some of
  145. the system files on disk.  These files have been changed:
  146.  
  147.         devs:serial.device      ;exec support
  148.         l:port-handler          ;AmigaDOS support
  149.         Preferences             ;default port selector buttons
  150.  
  151.  
  152. User Interface
  153. --------------
  154.  
  155. Your application must allow the user to set the unit number.  There are
  156. several ways to do this.
  157.  
  158.    o  Use the TOOLTYPES field of the icon.  Each icon has a 
  159.       TOOLTYPES field which you can fill in with UNIT=0.
  160.       The user can modify the number later if needed.  You
  161.       could also go one more step, and add DEVICE=serial.device
  162.       to this field.
  163.  
  164.    o  Have an option that brings up a box with a "default" gadget
  165.       and a string gadget for typing in a number.
  166.  
  167.  
  168.    o  Add a menu or submenu like this:
  169.   
  170.         ---------------
  171.         |             |
  172.         | unit number |
  173.         |         -----------
  174.         ----------| default |
  175.                   |    1    |
  176.                   |    2    |
  177.                   |    3    |
  178.                   |    4    |
  179.                   |*   5    |
  180.                   |    6    |
  181.                   |    7    |
  182.                   |    8    |
  183.                   -----------
  184.  
  185.       There are two disadvantages to this method.  First, you
  186.       cannot find out how many units are connected with the
  187.       current serial.device.  Second, the number of ports 
  188.       available could exceed the vertical size of a menu.
  189.  
  190.  
  191.  
  192. Future Design Issues
  193. --------------------
  194.  
  195. Plans for the V1.4 serial.device include several sensible extensions to the
  196. current command set.  For example, the best way to read under the current 
  197. serial.device is:
  198.  
  199.     o  Send a CMD_QUERY to see how many bytes are in the buffer.
  200.  
  201.     o  If there are any bytes, get them ALL with a CMD_READ.
  202.  
  203.     o  Else post a CMD_READ for exactly one byte.  When it returns,
  204.        loop back to step #1.
  205.  
  206.  
  207. With the old serial.device, this was the only way to get acceptable 
  208. performance at high baud rates.  With the new serial.device, one will be 
  209. able to set a bit to request all available bytes from the serial port 
  210. (up to the size of the user buffer).  The request will be held by the 
  211. device until at least one byte is ready.
  212.  
  213. The OpenDevice() call does not support a version number check at present.  
  214. In most cases there is no need to check the version number since the new 
  215. serial device is backward compatible.  However, if you do need to find the 
  216. version number of the serial device, you should first open the device and 
  217. then look at the LIB_VERSION word in the device base.  Versions 36 and higher 
  218. support multiple ports.  Versions 35 and lower ignore the unit number field.
  219.  
  220. The Amiga's built-in serial port can generate any baud rate in the range
  221. 108 to 1,000,000 baud.  However, off-the-shelf serial chips usually only
  222. support the standard rates such as:
  223.  
  224.              110      600       9600     
  225.              150     1200      19200
  226.              300     2400      38400
  227.  
  228. Also, standard serial chips usually do not support the MIDI baud rate (31250).
  229. Since most multiple serial port cards will be using standard serial chips,
  230. the extra ports will not support all the different baud rates that the
  231. built-in serial port does.  There is no way for a serial.device client to
  232. find out the capabilities of a specific serial unit at present.
  233.  
  234.  
  235.  
  236. |\_/|  . ACK!, NAK!, EOT!, SOH!
  237. {o O} .     Bryce Nesbitt
  238.  (")        BIX: bnesbitt
  239.   U         USENET: cbmvax!bryce@uunet.uu.NET -or- rutgers!cbmvax!bryce
  240. CS-ID: #13339.amy/amynet@pro-pac 739 chars  
  241. Date: Fri,  3 Feb 89 06:44:28 HST
  242. From: 24847843%WSUVM1.BITNET@cunyvm.cuny.edu (Shawn Clabough)
  243. Subject: Re: 68020 boards
  244.  
  245. I have a short benchmark that I ran using my old Processor Accelerator
  246. benchmark.  It plots two sine waves on the screen and displays how long
  247. it took to complete.  In standard 68000 mode it took 51.3 seconds to
  248. complete.  With my A2620 in 68020 mode it took 1.5 seconds (yes 1.5).
  249. The program was compiled with the 1.3 IEEE libraries, so it took
  250. advantage of the 68881.  I imagine that if this program was written with
  251. inline code for the 68020/881 it would be even faster.
  252.  
  253. How much do the A2620's cost?  I'm selling them for $1575 (retail $1995)
  254.  
  255.                                         Shawn Clabough
  256.                                         Lombards Underground Computers
  257.                                         24847843@WSUVM1.BITNET
  258.  
  259.  
  260. CS-ID: #13345.amy/amynet@pro-pac 2544 chars 
  261. Date: Fri,  3 Feb 89 06:44:55 HST
  262. From: perry@madnix.UUCP (Perry Kivolowitz)
  263. Subject: Re: Serial Ports
  264.  
  265. Kim,
  266.  
  267. Your facts are all basically correct concerning the serial port solution
  268. provided by the Twin-X General Purpose I/O board. Let me clarify a few
  269. points:
  270.  
  271. The list prices are:
  272.  
  273. Twin-X board (supports 2 modules): $329
  274. SBX-Serial/2 (dual serial ports):  $199
  275. SBX-Serial/4 (quad serial ports):  $299 * you might have missed this one.
  276.  
  277. There's also
  278.  
  279. SBX-GPIB     (ieee-488 interface): $199
  280.  
  281. You might have missed the information on the SBX-Serial/4 which will
  282. allow up to eight serial ports on one Twin-X card. 
  283.  
  284. I agree with you that the general approach of the Twin-X concept comes
  285. with some added cost. Our goal was to be able to make the Amiga available
  286. to many hundreds of different input/output modules with one broad stroke.
  287. It is true that while providing the capability for adding rather esoteric
  288. i/o functions, we've caused the price of basic i/o functions to be a little
  289. higher (do keep in mind the average discount a dealer gives so the prices
  290. are actually a little lower).
  291.  
  292. Wouldn't it be nice though to be able to combine an esoteric function like
  293. a VPI interface (Versatec Plotter Interface) with a 16 bit a to d converter
  294. for that otherwise impossible application your boss may have just handed 
  295. you? Or maybe you need a stepper motor controller and a 32K static battery
  296. backed up ram module. Or......
  297.  
  298. It is no secret that ASDG has always provided industrial grade equipment (as
  299. opposed to consumer grade). And, we've never pretended our hardware products
  300. were the cheapest, either.
  301.  
  302. It is also no secret that we aren't consumer oriented when it comes to hardware
  303. (software is a different side of our business altogether). We 
  304. certainly don't entertain any false hopes of going one on one with consumer
  305. oriented producers competing solely on a basis of price. Especially with a white
  306. bread type function as serial ports.
  307.  
  308. But then... we do have the advantage of being first you see. And another
  309. advantage of high reliability and performance. So there'll be a large
  310. amount of consumer sales of even this product. When these advantages are
  311. gone (perhaps in 6 to 12 months) we still have our primary customer who
  312. requires some extra serial ports AND an i/o function that only Twin-X
  313. can provide.
  314.  
  315. So, in summary...sure our serial port solution might be higher in cost
  316. than some. But then again...its available now...and it works.
  317.  
  318. See ya.
  319.  
  320. Perry
  321.  
  322. -- 
  323. Perry Kivolowitz, ASDG Inc.
  324.                           
  325. ARPA: madnix!perry@cs.wisc.edu   {uunet|ncoast}!marque!
  326. UUCP:   {harvard|rutgers|ucbvax}!uwvax!astroatc!nicmad!madnix!perry
  327.  
  328.  
  329.