home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / misc / emu / transnib / transnib.doc < prev    next >
Text File  |  1993-12-21  |  6KB  |  176 lines

  1.  
  2.                                TransNib V1.00
  3.                                ==============
  4.  
  5.            Devised by Matt Francis (m.p.francis@newcastle.ac.uk)
  6.  
  7.  The disclaimer and copyright information cover all parts of this package.
  8.  
  9.  
  10. CREDITS
  11. -------
  12.  
  13. TransNibAm V3.11 (Amiga front-end) and TransNib64 V2.0 (C64 front-end) by
  14. Matt Francis.
  15.  
  16.  
  17. DISCLAIMER
  18. ----------
  19.  
  20. This package comes with no warranty, either expressed or implied.  The
  21. author is in no way responsible for any damage or loss that may occur due to
  22. direct or indirect usage of this software.  Use this software entirely at
  23. your own risk.
  24.  
  25. If you damage any of your equipment as a consequence of using a cable
  26. designed in correct or incorrect accordance to the instructions given
  27. elsewhere in this document, I most definitely CANNOT be held responsible.
  28. Having said that, I (the author) have been using this system without
  29. problems for some time now.
  30.  
  31.  
  32. COPYRIGHT
  33. ---------
  34.  
  35. This package is freely distributable, BUT all programs and documentation are
  36. copyright 1993 Matt Francis.  The ReqTools library is copyright to Nico
  37. François.  Permission is NOT given to re-release this package if it has been
  38. altered in any way.
  39.  
  40.  
  41. DISTRIBUTION
  42. ------------
  43.  
  44. Permission is given to include this program in a public archive (such as a
  45. BBS, FTP site or PD library) providing that all parts of the original
  46. distribution are kept intact.  These are as follows:
  47.  
  48.     TransNib/TransNib.doc
  49.     TransNib/TransNib.doc.info
  50.     TransNib/TransNib.guide
  51.     TransNib/TransNib.guide.info
  52.     TransNib/TransNibAm/TransNibAm
  53.     TransNib/TransNibAm/TransNibAm.info
  54.     TransNib/TransNibAm/TransNibAm.guide
  55.     TransNib/TransNibAm/TransNibAm.guide.info
  56.     TransNib/TransNibAm.info
  57.     TransNib/TransNib64/transnib64
  58.     TransNib/TransNib64/transnib64s
  59.     TransNib/TransNib64/TransNib64.doc
  60.     TransNib/TransNib64/TransNib64.doc.info
  61.     TransNib/TransNib64.info
  62.     TransNib.info
  63.     Libs/reqtools.library
  64.  
  65. No charge may be made for this program, other than a _reasonable_ copying
  66. fee, and/or the price of the media.
  67.  
  68.  
  69. INTRODUCTION
  70. ------------
  71.  
  72. TransNib is a fast, simple parallel data transfer protocol.  It was designed
  73. to make linking any type of machine to any other type as easy as possible.
  74. All that is required is six 5V I/O lines at each end.  It doesn't matter how
  75. fast or slow each machine is, as the protocol uses a two-line handshake
  76. procedure, ensuring the two machines cannot possibly go out of sync.
  77.  
  78. TransNib was designed to be used simply to port data from one machine to
  79. another, so the only real requirement is a noise-free link, as there is no
  80. error checking.  TransNib has been extensively used, without problems, over
  81. a three metre long cable.
  82.  
  83. Any two computers supporting the TransNib V1.00 protocol can be linked.  So
  84. far, front-ends for the TransNib V1.00 protocol exist for the Amiga and the
  85. Commodore 64.
  86.  
  87. Anyone who is interested in writing a front end for another platform (or who
  88. has already written one) should contact me first (via e-mail) to discuss
  89. releasing the software as part of the TransNib suite.  I will happily answer
  90. any queries about how to implement the TransNib protocol.  Obviously, any
  91. documentation for the new program will be included, and full credit will be
  92. given in this document.  I am especially keen on getting a TransNib program
  93. written for the PC, but please, contact me before releasing anything.
  94.  
  95.  
  96. THE PROTOCOL
  97. ------------
  98.  
  99. In all, six lines are used.  Four are data lines, the other two being used
  100. for handshaking.  The handshaking lines are designated data-ready (DRDY) and
  101. data-received (DRCV).  This method is a trade-off between efficiency and
  102. stability.
  103.  
  104. At the lowest level, nibbles are transfered as follows.  Before a transfer
  105. begins, the sender should pull DRDY low and the receiver should pull DRCV
  106. low.  The transfer procedure for one nibble is as follows:
  107.  
  108.     - Receiver starts waiting for DRDY to go high.
  109.     - Sender puts nibble on data lines, pulls DRDY high and waits for
  110.       DRCV to go high.
  111.     - Receiver gets nibble, pulls DRCV high and waits for DRDY to go
  112.       low.
  113.     - Sender pulls DRDY low and waits for DRCV to go low.
  114.     - Receiver pulls DRCV low and loops.
  115.     - Sender loops.
  116.  
  117. The file transfer protocol is extremely simple and is one-way, but allows
  118. for batch sends.  The format of data for each file sent or received is as
  119. follows:
  120.  
  121.     - A filename (a string of characters terminated by a zero).  A blank
  122.       filename (ie.  just the terminating zero) signals end of transfer.
  123.       The filename must not include a path.  Note that it is the
  124.       receiver's responsibility to filter/translate the filename as
  125.       appropriate.
  126.     - The file size N (four bytes in least-significant to most-
  127.       significant order).
  128.     - N bytes of data.
  129.  
  130. Software should cater for the "no-files" situation (ie.  the first byte
  131. received is zero).
  132.  
  133.  
  134. CABLE
  135. -----
  136.  
  137. Please read the DISCLAIMER section if you haven't already.
  138.  
  139. These details cover the Amiga<->C64 cable.  Cables for other configurations
  140. will differ, but shouldn't be too hard to make up.
  141.  
  142. You will need:
  143.  
  144.     - 25-pin D-type connector (female) to fit Amiga parallel port.
  145.     - 22-pin edge connector to fit C64 user port.
  146.     - Some cable (at least six-core, preferably more - eg. nine - in
  147.       case extra lines are added in the future).
  148.     - Solder, patience etc..
  149.  
  150. Connect the pins as follows (the numbers correspond to the Amiga's parallel
  151. port.  The letters correspond to the C64's user port).
  152.  
  153.                          Amiga    2 <-> C    C64
  154.                                   3 <-> D
  155.                                   4 <-> E
  156.                                   5 <-> F
  157.                                   8 <-> K
  158.                                   9 <-> L
  159.  
  160. A ground pin or pins at the Amiga end (pins 18-22 for example) should be
  161. connected to a ground pin or pins at the C64 end (pins 1, 12, A or N for
  162. example).
  163.  
  164. Note of caution:  it is imperative that you don't get the numbers confused!
  165. Secondly, some C64 user-port connectors are a bit dodgy in that they can be
  166. plugged in upside-down if you're not careful.  It is advisable that you mark
  167. the upper surface of the plug in some way so it doesn't get put in the wrong
  168. way round (I've seen the consequences of this happening - the C64 survived
  169. perfectly, but the Amiga at the other end got totally geeked).
  170.  
  171.  
  172. HISTORY
  173. -------
  174.  
  175. V1.00    - First public release.
  176.