home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / nicolet80 / nicoletdoc.txt < prev   
Text File  |  2020-01-01  |  29KB  |  673 lines

  1.                         Instructions for NIC-80 KERMIT
  2.  
  3.                    P V E McClintock
  4.                  Lancaster University
  5.                  1 July 1994
  6.  
  7.  
  8. 1. Introduction
  9.  
  10.     The NIC-80 KERMIT provides a basic implementation of the packet-exchange
  11. protocol described in Frank da Cruz's Kermit: a File Transfer Protocol
  12. (Digital Press, Bedford, Massachusetts, 1987).  It is applicable to Nicolet
  13. data-processors in the NIC-80 series (LAB-80, MED-80, NMR-80, BNC-12, etc),
  14. provided that they have the full 12 K of internal memory installed and that
  15. they operate in conjunction with either a floppy (NIC-298, NIC-299) or hard
  16. (NIC-294/Diablo 30) disk drive. Users of these systems will be able to utilize
  17. KERMIT to transfer programmes and data between their Nicolet systems and
  18. external computers, using the NIC-80 RS232 B-channel. Thus they will be able,
  19. for example, to send averaged spectra or data to a mainframe or PC for further
  20. analysis or plotting using modern plotting packages, and to exchange
  21. programmes and data-files with each other by e-mail on a world-wide basis.
  22.  
  23.     The present version of NIC-80 KERMIT is a relatively simple one.  It uses
  24. standard sized packets; and innovations such as sliding windows,
  25. repeat-prefixing, or 8th-bit-prefixing have not been implemented. Nonetheless,
  26. it seems to function satisfactorily and is likely to open a new dimension to
  27. many Nicolet users.
  28.  
  29.     The sections that follow describe the individual commands and
  30. facilities. Appendix A explains how to construct the executable programme from
  31. its source-code, Appendix B gives a very brief description of how the
  32. programme works, Appendix C describes how the RS232 B-channel can easily be
  33. added to a NIC-80 which does not already have it wired up (even though the
  34. internal circuitry usually exists) and Appendices D and E describe some minor
  35. modifications of the Nicolet hardware that vastly enhance the speed at which
  36. KERMIT can reliably operate.
  37.  
  38.     Comments, amendments, reports of bugs detected, and other suggestions
  39. should be sent to:
  40.  
  41.     P V E McClintock
  42.     School of Physics and Materials,
  43.     Lancaster University
  44.     Lancaster, LA1 4YB, UK.
  45.     Tel:+44-524-593073
  46.     Fax:+44-524-844037
  47.     E-mail: pya007@lancaster.ac.uk
  48.  
  49. from whom copies and updates of NIC-80 KERMIT can also be obtained.
  50.  
  51. 2. Command summary
  52.  
  53.     Once the programme has been installed on the disk it can be started with a
  54. *RUN KERMIT command.  The KERMIT commands, described in more detail in the
  55. sections that follow below, are -
  56.  
  57. B - call NIGBUG (octal debugging programme)
  58.  
  59. C - connect to external system (dumb terminal mode)
  60.  
  61.      ^G - return to command block
  62.  
  63. D - do a directory listing
  64.  
  65. E - set external echo (for a Unix machine)
  66.  
  67. H - help: print command summary
  68.  
  69. I -  toggle indicator symbol printing and packet archiving on/off
  70.  
  71. K - kill (switch off) external echo
  72.  
  73. L - login on remote system
  74.  
  75. M - return to DEMON monitor (same as Q)
  76.  
  77. N - print notes on operation
  78.  
  79. P - set KERMIT parameters (future implementation)
  80.  
  81. Q - quit, return to DEMON monitor (same as M)
  82.  
  83. R - receive programmes or data from external system and file them on disk
  84.  
  85.      ^G - unconditional return to command block
  86.  
  87.      ^X - abort transfer of current file
  88.  
  89.      ^Z - abort transfer of file series
  90.  
  91.      CR - retransmit last packet, and continue
  92.  
  93. S -  send programmes or data to external system and
  94.      file it on disk (with ^G, ^X, ^Z and CR as for R command)
  95.  
  96. T - toggle RS232 B-input off/on
  97.  
  98. U - configure username and password (for L command)
  99.  
  100.  
  101. 3. Data formats on Nicolet and external systems
  102.  
  103.     Files sent from the Nicolet are always sent as text files to the external
  104. system, but in two different formats, depending on whether or not they start
  105. off as text files or core-image files.
  106.  
  107.     Text files, which have a .A extension to the filename, are held on the
  108. NIC-80 in the form of packed 8-bit ASCII, with five characters per pair of
  109. 20-bit Nicolet words. Before transmission to the external system they are
  110. unscrambled, and then sent as a sequence of 7-bit ASCII characters (i.e.  with
  111. Nicolet's bit-7 removed) either in the usual Nicolet upper-case, or in
  112. lower-case, as appropriate. The file will therefore appear on the external
  113. system in readable form and, if necessary, can be edited there before being
  114. returned to the same (or a different) Nicolet machine.
  115.  
  116.     Non-text (core-image) files are sent to the external system in the form of
  117. decimal integers, one per 20-bit word, separated by commas, with a
  118. carriage-return/line-feed after every eighth number. This is a convenient
  119. format for FORTRAN, and is readily converted to whether other format may be
  120. needed by any particular plotting package.  Thus, core-image files such as
  121. specta and other forms of averaged data can be readily be analysed,
  122. manipulated, edited and plotted on the external system.  Nicolet programmes are
  123. also core-image files, but obviously mean nothing outside the Nicolet.
  124. Nonetheless, they can be transmitted, held on an external system, and sent to
  125. a different Nicolet or returned to the original one, where they are reproduced
  126. in identical form as 20-bit integers.
  127.  
  128.     All files sent to an external system, either text or integer, have a first
  129. line added consisting of three decimal integers.  These carry relevant
  130. directory information, and represent respectively: the length of the file, in
  131. 20-bit words; the load address in the Nicolet; and the programme starting
  132. address. One or more of these numbers will be used by the receiving Nicolet to
  133. indicate progress and to make an appropriate directory entry once the file has
  134. been stored.  Where, for some reason, a non-Nicolet file (or one not
  135. previously transferred by KERMIT) is to be sent to a Nicolet, a first line
  136. containing three appropriate numbers separated by commas should be edited 
  137. into the start of the file before it is sent.
  138.  
  139.     Filenames on the NIC-80 are all held in the form of packed 6-bit ASCII,
  140. with a maximum of six characters before the extension. The names are converted
  141. and transmitted to the external system as 7-bit ASCII, in lower case to
  142. conform with unix conventions.  When a file is received by the NIC-80, its
  143. name is converted to the packed 6-bit format.  Characters after the sixth are
  144. ignored.  So also are any points (periods) unless these are followed by an
  145. upper-case or lower-case "A", "B" or "C"; which are treated as filename
  146. extensions and converted to upper-case if they are not that already.  An "A"
  147. extension implies that the incoming file will be treated as a text file. It
  148. will be converted and stored in standard form as packed 8-bit ASCII, which can
  149. subsequently be read or edited using one of the NIC-80 editors (e.g. NED or
  150. FNED).
  151.  
  152. 4. Dumb terminal mode (C, ^G)
  153.  
  154.     Following the C (connect) command, the system enters its dumb terminal
  155. mode. Any characters entered at the keyboard are transmitted over the RS232
  156. B-channel to the external system; any incoming characters received on the
  157. B-channel are sent to the terminal and printed or displayed on the VDU screen.
  158. Thus it is straightforward to login to the remote system, in the usual way, if
  159. it is e.g.  a mainframe or workstation.  Once the remote system has been
  160. prepared for receiving or sending a file (see sections 5 and 6 below), control
  161. can be returned to the KERMIT command block by entry of a ^G.
  162.  
  163.     In dumb terminal mode, conventional (XON/XOFF) flow-control is operative.
  164. Thus the incoming data stream can be stopped by entry of a ^S (assuming that
  165. the remote system follows the same protocol), and restarted again with a
  166. ^Q. Likewise, the remote system can interrupt and restart the data stream from
  167. the NIC-80.
  168.  
  169.     In practice, large quantities of data (including login messages etc) often
  170. arrive very fast immediately after logging in to a mainframe. To avoid loss of
  171. characters caused by buffer-overflow in the Nicolet under such conditions, it
  172. is important that the baud-rate setting of channel-A should be equal to or
  173. higher than that of channel-B: see also Appendices C-E.
  174.  
  175.  
  176. 5. Sending files to the external system (S)
  177.  
  178.     To send a file to an external system the usual procedure is as follows.
  179. First login, using dumb terminal mode as described above.  Activate the remote
  180. Kermit and set it into receive mode, e.g.  by typing "receive".  Return to the
  181. NIC-80 KERMIT with a ^G, and enter the S send command.  The system will ask
  182. for the name of the file to be sent, which should be entered at the @ prompt.
  183. If the user does not respond to the prompt, the system will eventually
  184. time-out and jump back to the command block.  The same is true at all points
  185. where user-input is awaited except in the command block itself.
  186.  
  187.     Once the two Kermits have made contact, and transfer of the file has
  188. started, progress can be monitored by watching the arrow on the CRT display as
  189. it advances from left to right across the screen.  In the case of text files,
  190. which are always filed as complete disk records but usually only occupy part
  191. of them, progress of the arrow will tend to underestimate the proportion of
  192. the file that has been transferred; the transfer progress of core-image files
  193. will be indicated precisely.
  194.  
  195.     On completion of the file transfer, the system will ask whether any more
  196. files are to be sent. If the user answers with a Y, the @ prompt will appear
  197. for entry of the next filename; and if he or she answers with an N, control
  198. will return to the KERMIT command block.
  199.  
  200.     Multiple file-transfers can often be effected conveniently by means of a
  201. joker/wildcard convention. One or more "?"s can be used to replace one or more
  202. characters when entering the filename and/or extension (and the usual Nicolet
  203. "*" can also be used in place of the first or second triad of characters). All
  204. files whose names match the corresponding mask, where the "?" is assumed to
  205. represent any character, will then be sent to the external system.
  206.  
  207.     If necessary, transfer of the current file can be aborted with a ^X, and
  208. transfer of a file series can be aborted with a ^Z, provided of course that
  209. the external system supports these facilities. Alternatively, a ^G, can be
  210. entered to force an unconditional return to the command block. If the packet
  211. exchange somehow becomes stuck during file transfer, entry of a carriage
  212. return will cause the last outgoing packet to be re-sent, and may possibly get
  213. the transfer started again.
  214.  
  215.  
  216. 6. Receiving files from the external system (R)
  217.  
  218.     To receive a file, after one has logged in and activated the Kermit on the
  219. remote system, the normal procedure is as follows.  Place the remote Kermit in
  220. send mode, e.g.  with command "send filename" where filename is the name of
  221. the file that is to be sent to the Nicolet, return to the local KERMIT with a
  222. ^G, and enter the R receive command.  Once the transfer has started, the
  223. progress arrow will be seen advancing across the screen as described above for
  224. the S command; the arrow will be fainter, however, because it is displayed
  225. only during sending packets which, for receive mode, are relatively short
  226. acknowledgements of data packets received.
  227.  
  228.     If a file with the same name as the incoming one already exists on the
  229. Nicolet's disk, the usual "DELETE:" query will be printed and must be answered
  230. with a Y if the original file is to be overlaid. Multiple transfers of
  231. incoming files can be performed provided that the remote Kermit supports this
  232. facility.
  233.  
  234.     The ^Z, ^G and CR commands are available for aborting or attempting
  235. restart a file transfer, as described in the previous section.
  236.  
  237. 7. Transfer of files between two Nicolets
  238.  
  239.     To effect direct file transfer by KERMIT between two NIC-80s, a slightly
  240. different procedure to that described above under Sections 5 and 6 would
  241. obviously have to be used. KERMIT would have to be run on both machines,
  242. giving the commands locally in both cases. One of them would be put into
  243. receive mode with an R, and the S command would then be used to send files
  244. from the other one.
  245.  
  246.     However, it is equally easy, and somewhat faster, to transfer files
  247. between two NIC-80 systems by means of PNICL. This programme uses the same
  248. packet-exchange protocol as FILMOV on NIC-1180 and NIC-1280 Dexter systems.
  249. Thus PNICL can be used to transfer files between the NIC-80 and other types of
  250. Nicolet system, as well as between two NIC-80s. It is not compatible with
  251. KERMIT.
  252.  
  253.  
  254. 8. Diagnostic facilities (B, I)
  255.  
  256.     If KERMIT seems not to be functioning properly in relation to a particular
  257. external system, there are some simple facilities to help identify the
  258. problem. Entry of a B invokes the standard NICBUG NIC-80 octal debugging
  259. programme, with its usual facilities for placing breakpoints and for examining
  260. and modifying the contents of specified addresses.
  261.  
  262.     Entry of an I toggles on (or off) the packet-indicator printing facility
  263. and also causes the last few packets sent/received to be preserved for
  264. examination using NICBUG. The significances of the packet indicator symbols
  265. are as follows -
  266.  
  267. s - a packet has been sent
  268.  
  269. S - the same packet has been re-sent
  270.  
  271. r - a good (uncorrupted) packet has been received
  272.  
  273. w -the packet received has the wrong sequence number
  274.  
  275. l - the packet received has the wrong length specified
  276.  
  277. c - a checksum error in the received packet
  278.  
  279. n - a NAK (negative acknowledgement) has arrived
  280.  
  281. N -a NAK to the next packet has arrived
  282.  
  283. t - receiver has timed-out while awaiting a packet
  284.  
  285. T -a time-out occurred during reception of a packet
  286.  
  287.     Note that, because of the order in which KERMIT performs validity checks
  288. of an incoming packet, not all relevant symbols will be printed: only one
  289. error is noted for each invalid/corrupted packet.  Thus, if the same packet
  290. arrives a second time, only a w will be printed showing that the sequence
  291. number is wrong, regardless of whether or not the length and checksum of the
  292. packet are correct; this will normally be followed by an S to indicate
  293. retransmission of the NIC-80s last packet.
  294.  
  295.     With the I facility toggled on, the previous four outgoing packets are
  296. preserved at octal 200 intervals in addresses 102000-102777.  The previous
  297. four incoming packets are preserved within 103000-103777. They can be
  298. inspected by invocation of NICBUG under the B command as described above, and
  299. it is then usually fairly obvious where the problem lies.
  300.   
  301.    
  302. 9. Help commands (H, N)
  303.  
  304.     A command summary can be obtained by entry of an H, and some succinct
  305. notes on operation are printed after an N. The latter are intended mainly to
  306. help anybody who has acquired the NIC-80 KERMIT programme, but does not have a
  307. copy of these instructions.
  308.  
  309.  
  310. 10. Convenience commands (L, U, E, K)
  311.  
  312.     There are four commands that simply reproduce, automatically, what the
  313. user could otherwise do manually in dumb terminal mode (see Section 4).  They
  314. are particular to the system at Lancaster University, but could readily be
  315. modified for use under other conditions.  If there seems to be any demand,
  316. these commands could all be made user-configurable in a future version of
  317. KERMIT.
  318.  
  319.     The L command effects an automatic login, once KERMIT has been configured
  320. with the username and password by means of the U command.  Note that the U
  321. command should be entered for a newly loaded copy of KERMIT. This ensures
  322. that, when the configured version is re-stored (automatically) on the disk,
  323. the copy of FPP72 held initially at 102000 will be intact.  There are three
  324. stages to the login process.  First, KERMIT makes contact with a PAD, watching
  325. out for the ">" PAD prompt.  Secondly, it calls up the Lancaster Sequent
  326. Symmetry, coded as lancs.cent1, and looks out for the ":" prompts
  327. corresponding to the standard Unix "Username:" and "Password:" queries, which
  328. it answers appropriately. Thirdly, it watches out for a ">" prompt from
  329. operating system showing that the login has been completed.
  330.  
  331.     The K and E commands can be used to turn off (kill) or restore the echo
  332. from the remote system, assuming that this is operating a full-duplex
  333. protocol, and that it is running under Unix.
  334.  
  335.  
  336. 11. Miscellaneous commands (M, Q, D, P, T)
  337.  
  338.     An exit to the Nicolet Demon monitor can be effected by entry of either a
  339. Q or an M.  One can return to the programme again by typing GO 110000 to the
  340. DEMON * prompt.
  341.  
  342.     Entry of a D will cause the disk directory to be printed, without needing
  343. to leave the programme.
  344.  
  345.     The P command will be for setting the various KERMIT parameters.  It is
  346. not yet implemented, but parameters can readily be modified if need be by use 
  347. of NICBUG (B) in conjunction with a listing of KERMIT.
  348.  
  349.     The T command is a toggle that activates or de-activates the RS232 B-input.
  350.  
  351.  
  352. 12. Hardware considerations
  353.  
  354.     The NIC-80 was an extraordinary machine for its era, and has proved
  355. remarkably reliable (apart from contact problems) in service. Even after some
  356. twenty years of active use, it still performs very well the kinds of tasks for
  357. which it was designed. However, for efficient operation of KERMIT, a few minor
  358. changes are needed.
  359.  
  360.     First, many NIC-80s were delivered without an operative B-channel, even
  361. though most of the internal circuitry for the B-channel was in place. Appendix
  362. C describes the actions needed to complete the job.
  363.  
  364.     Secondly, it is assumed that the NIC-80 is being controlled from a
  365. standard VDU ASCII terminal, rather than the original ASR33 Teletype. As a
  366. result, the baud rates on both the A and B channels of RS232 can be raised
  367. above the original value of 110.
  368.  
  369.     Thirdly, the UART chip used by the NIC-80 for RS232 communications can be
  370. operated at very much higher speeds than were permitted by the original
  371. crystal.  Appendix D describes how the RS232 PCB can easily be upgraded. Note
  372. that this is a properly engineered official Nicolet upgrade, based on
  373. information that was provided by Don Parker.
  374.  
  375.     Finally, there is a need for a more subtle modification if full advantage
  376. is to be taken of the higher baud rates.  There is a cunning piece of
  377. circuitry in the NIC-80 that looks for carriage returns and implements a 100
  378. ms delay whenever one is detected. During this period all of the RS232
  379. circuitry is effectively paralysed, both for input and output.  Consequently,
  380. there can sometimes be considerable loss of incoming data. Fortunately, a
  381. trivial modification to the RS232 PCB will eliminate the delay facility, which
  382. presumably originated in the need to wait for a mechanical return in the old
  383. Teletype before it would accept the next character: see Appendix E. (This
  384. problem, although easily dealt with once it had been identified, took a long
  385. time to understand; it caused considerable mystification, partly because the
  386. delay facility does not seem to be documented other than in the NIC-80
  387. schematics).
  388.  
  389.     With the small modification described above, the Lancaster NIC-80s are
  390. normally operated with 19200 baud set on their RS232 channels-A, and 9600 baud
  391. on their channels-B, and seem to be entirely reliable at these speeds.
  392.  
  393.  
  394. 13. Emergencies
  395.  
  396.     It has been found prudent to keep some spare bootstraps in core, just in
  397. case the monitor head at 7600 should somehow become corrupted.  In the
  398. Lancaster system, the relevant code (BOOTS) is usually held on page 114000,
  399. just above NICBUG (which is also incorporated into almost all
  400. programmes). Thus, in the event of a system crash while (or just after) KERMIT
  401. is being run, after which the NIC-80 declines to start properly at 7600, it is
  402. worth attempting to start it at one of the following addresses using the
  403. switch register:
  404.  
  405. 115367 to read a new monitor head from a NIC-298/299 floppy disk
  406.  
  407. 115414 to read a new monitor head from a NIC-294/Diablo hard disk
  408.  
  409. 115436 to read in the NICOLODEON paper tape on the high-speed reader
  410.  
  411. If all of these fail, it may still be worth starting at 114700 to try to raise
  412. NICBUG, which provides a much quicker way of entering code to test the system
  413. than by using the switches.
  414.  
  415.     For NIC-80 systems fitted with a ROM bootstrap loader it is, of course,
  416. usually better to use it in preference to the resident disk bootstraps.
  417.  
  418. P V E McClintock
  419. 5 May 1994
  420.  
  421.  
  422.  
  423.                                         APPENDIX A
  424.  
  425.                            Construction of NIC-80 KERMIT
  426.  
  427.  
  428.     To start off with, NIC-80 KERMIT can be supplied on 8-inch floppy disk, 
  429. on a Diablo-30 front-loading disk cartridge, or on paper tape.  There is a 
  430. $100 handling charge (waived if the applicant provides new NIC-80 software
  431. of comparable utility in return): cheques to be made payable to "University
  432. of Lancaster"; and, if a disk copy is needed, please send a formatted disk.
  433. Future versions or upgrades of the programme can be sent by electronic mail 
  434. or ftp to a suitable local computer over Internet but, until the user has a 
  435. version of KERMIT on his NIC-80, he or she will probably have no way of 
  436. downloading the programme from the machine used for receiving mail.  Thus the 
  437. initial provision will almost certainly need to be on one of the media 
  438. mentioned above.  Users who wish to modify KERMIT to suit their own local 
  439. situation, or to add additional features, should ask for the sourcecode. 
  440. What follows is a description of how to construct the executable programme 
  441. from the sourcecode.
  442.  
  443.     There are two sections of code to be assembled.  The first, which provides
  444. the main part of the programme, is KERM**.A, where the ** are two numeric
  445. digits (i.e. not following the Nicolet joker/wildcard convention for
  446. filenames) representing the development number of the version in use.  The
  447. second, very short, piece of code is called BOOTS.A and provides the spare
  448. bootstraps (for the disk-drives or high-speed paper tape) for use in
  449. emergencies.  Both KERM**.A and BOOTS.A are assembled with ASM, creating
  450. binaries KERM**.C and BOOTS.C which can be loaded with LOADER. The sequence of
  451. commands for constructing NIC-80 KERMIT is then -
  452.  
  453. *RUN LOADER
  454.  
  455. @BOOTS.C:M
  456.  
  457. *STO BOOTS 115366 - 115476; 7600
  458.  
  459. (Once BOOTS has been assembled and stored, it of course need not be
  460. re-assembled when a future version of KERMIT is being constructed).
  461.  
  462. *RUN LOADER
  463.  
  464. @KERM**.C:M
  465.  
  466. *LOA FPP72 102000
  467.  
  468. *LOA NICBUG 114632
  469.  
  470. *LOA BOOTS
  471.  
  472. *STO KERMIT 102000-117777; 110000
  473.  
  474. where FPP72 is the standard Nicolet NIC-80 floating point package and NICBUG
  475. is the octal debugging programme.  The above description assumes that a
  476. Diablo-30 is in use.  To construct the programme on a NIC-298/299 floppy
  477. system, the procedure is identical except that the code is assembled with FASM
  478. and loaded with FLOAD.
  479.  
  480.  
  481.                                         APPENDIX B
  482.  
  483.                      Layout and operation of NIC-80 KERMIT
  484.  
  485.  
  486.     For users who wish to modify the sourcecode, some very brief notes on the
  487. operation of NIC-80 KERMIT may be helpful. The programme layout when in use is
  488. as follows -
  489.  
  490.      0 - 2777   I/O disk buffer (0-1777 for floppy)
  491.  
  492. 3000   - 5777   disk directory (4000 - 5777 for floppy)
  493.  
  494. 6000   - 7777   FPP72, DIRFUN overlays, DEMON monitor head
  495.  
  496. 100000 - 100777 input buffer for dumb terminal mode
  497.  
  498. 101000 - 101777 output buffer for dumb terminal mode
  499.  
  500. 102000 - 102777 output packet construction
  501.  
  502. 103000 - 103777 input packet construction
  503.  
  504. 104000 - 105777 text for command summary, notes, etc
  505.  
  506. 106000 - 107777 work routines for receive mode
  507.  
  508. 110000 - 117777 command block, controlling routines
  509.  
  510. 112000 - 113777 work routines for send, packet construction and deconstruction
  511.  
  512. 114000 - 115777 filename parsing, NICBUG, BOOTS
  513.  
  514. 116000 - 117777 disk routines, general utilities, arrow display
  515.  
  516. When first loaded, FPP72 occupies 102000 - 103577 but it is immediately moved
  517. to its operating position in 6000 - 7577 as soon as the programme starts; this
  518. arrangement allows KERMIT to be stored conveniently as a single file.
  519.  
  520.     The heart of the dumb terminal emulator mode lies in a routine called
  521. RSDUTY on page 110000. In effect, this simulates an interrupt system in
  522. software. It inspects, in turn, each of the four RS232 flags and takes action
  523. accordingly: there are no separate wait loops for the individual devices. The
  524. advantage of this approach is that is almost impossible to take the NIC-80
  525. unawares, e.g. for it to miss an incoming B-channel character while in a wait
  526. loop servicing the keyboard or printing a character.  Note that, even at 9600
  527. baud, the time taken for a character to arrive or be sent is 1 ms, which is a
  528. lot longer than the NIC-80 instruction time of 4-6 microsec.  Thus, rather than
  529. waiting while a character is being received/transmitted/entered/printed, it is
  530. much better for the NIC-80 to be doing other things.
  531.  
  532.     The packet send/receive modes also use RSDUTY. However, when receiving,
  533. the system watches out for the arrival of a ^A signifying the start of a
  534. packet, and then diverts the incoming data stream to the packet input buffer
  535. at 103000.  The output packets are constructed and sent from the buffer at
  536. 102000.  The current ouput packet is preserved there until it has been
  537. acknowledged, and so it can easily be re-sent if the first copy gets corrupted
  538. or lost.
  539.  
  540.     Note that, although the appearance of the "@" prompt for filename entry
  541. seems at first sight to imply use of the usual DCI routine, the routine
  542. actually employed is the more sophisticated one held on page 114000, enabling
  543. the use of jokers/wildcards.  (It is a slightly modified version of the
  544. keyboard input routine extracted from PNICL).
  545.  
  546.  
  547.                                         APPENDIX C
  548.  
  549.                               The NIC-80 RS232 B-channel
  550.  
  551.     Many NIC-80s were shipped with only the A-channel RS232 link, used by the
  552. Teletype or other terminal, operative.  However, it is usually very
  553. straightforward to get the B-channel running, as internal provision already
  554. exists for this in all cases that we have come across. All that is necessary
  555. is to complete the wiring in accordance with the schematics, which involves -
  556.  
  557.  
  558.   (a) Add the extra UART and associated chips and small components to the
  559. RS232 PCB from slot 11 (assuming that they are not already fitted). It will be
  560. found that empty positions are ready waiting for them, and it is simply a
  561. matter of soldering them in.
  562.  
  563.   (b) Add the additional RS232 "D-socket" to the back of the NIC-80, a few
  564. inches above the existing A-channel socket.
  565.  
  566.   (c) Connect the socket to appropriate pins on the underside of slot 11,
  567. simply paralleling the wiring of the A-channel in accordance with the
  568. schematics.
  569.  
  570.  
  571.  
  572.                                         APPENDIX D
  573.  
  574.                         Upgrade for the NIC-80 RS232 board
  575.  
  576.  
  577.     The information reproduced below was kindly provided at no cost by
  578. Nicolet.  The upgrade described has been carried out on the six Lancaster
  579. NIC-80s with complete success.  It is well worth implementing in view of the
  580. very substantial increase in speed and performance that is achieved: the
  581. maximum baud rate is thereby raised from its standard value of 2400 baud to
  582. 19200 baud, on both channels A and B.
  583.  
  584.  
  585. A. Modify Oscillator
  586.  
  587.    1. Replace 422.4 KHz crystal with 6.7584 MHz.
  588.  
  589.    2. Replace T16, T17, T18 (2N3302) with 2N5224.
  590.  
  591.    3. Replace 100K resistor with 22K.
  592.  
  593.    4. Replace 22K resistor with 3.3K.
  594.  
  595.    5. Replace 2.2K resistor with 4.7K (This resistor is connected to T18).
  596.  
  597.    6. Replace 0.01micF capacitor with 500pF.
  598.  
  599.    7. Replace 1000pF capacitor with 100pF.
  600.  
  601.    8. Replace 47pF capacitor with 100pF.
  602.  
  603.  
  604. B. Modification for 19.2K
  605.  
  606.    1. Cut run between IC 18 pin 14 and IC 17 pin 3.
  607.  
  608.    2. Piggy back new 7493 onto IC18, soldering pins 2, 3, 5, 10 of new
  609.       chip to the same pins of IC 18.  Leave other pins unconnected.
  610.  
  611.    3. Jumper pins 1 and 12 of new chip.
  612.  
  613.    4. Jumper IC 17 pin3 to pin 14 of new chip.
  614.  
  615.    5. Jumper IC 18 pin 14 to pin 11 of new chip.
  616.  
  617.    6. Jumper unconnected switch positions.
  618.  
  619.    7. Connect new baud rates to switches.
  620.       a. Pin 1 of new chip has 19.2K.
  621.       b. Pin 9 of new chip has 9.6K.
  622.       c. Pin 8 of new chip has 4.8K.
  623.  
  624.  
  625. C. Optional Modification for 110 baud
  626.  
  627.    1. Cut run between IC 19 pin 14 and IC 16 pin 13.
  628.  
  629.    2. Piggy back new 7493 onto IC 19, soldering pins 2, 3, 5, 10 of
  630.       new chip to the same pins of IC 19.  Leave other pins unconnected.
  631.  
  632.    3. Jumper pins 1 and 12 of new chip.
  633.  
  634.    4. Jumper IC 16 pin 13 to pin 14 of new chip.
  635.  
  636.    5. Jumper IC 19 pin 14 to pin 11 of new chip.
  637.  
  638.    6. If this modification is not made, the 110 switch position will no
  639.       longer be correct.
  640.  
  641.  
  642. Parts list for modification
  643.  
  644.    1. 6.7584 MHz crystal (one).
  645.  
  646.    2. 2N5224 (three).
  647.  
  648.    3. Resistors: 22K, 3.3K, 4.7K (one each).
  649.  
  650.    4. Capacitors: 500pF (one), 100pF (two).
  651.  
  652.    5. IC 7493 (two).
  653.  
  654.    6. Jumper wire.
  655.  
  656.  
  657.  
  658.  
  659.                                         APPENDIX E
  660.  
  661.                           Disablement of the Teletype delay
  662.  
  663.  
  664.     To disable the Teletype delay (see Section 12), which is highly advisable
  665. if the NIC-80 is no longer being controlled from a Teletype, is very
  666. simple. Proceed as follows -
  667.  
  668.   (a)  Cut the connection coming from pin 8 of IC 30.
  669.  
  670.   (b)  Connect pin 3 of IC 31 to earth.
  671.  
  672. (End)
  673.