home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ti990.zip / ti990doc.txt < prev   
Text File  |  1988-08-16  |  19KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.           TEXAS INSTRUMENTS (TM) - 990 MINICOMPUTER - DX10 KERMIT (TM)
  6.  
  7.      Author: Paul W. Madaus
  8.      Johnson Controls, Inc. M-66
  9.      507 E. Michigan St.
  10.      Milwaukee, WI  53201
  11.      (414) 274-4528
  12.  
  13.      PLEASE READ THE LAST PAGE OF THIS DOCUMENT  BEFORE  CONTINUING.   This
  14.      version of KERMIT was written for  the  TI-990 family of minicomputers
  15.      running the DX10 operating system.  The KERMIT source used for this TI
  16.      version originated from a  version  of  KERMIT  designed to run on the
  17.      Sperry(UNIVAC) 1100.   I  chose  to  convert  this  version  of KERMIT
  18.      because of its  heavy  use  of  standard  Pascal.    Before continuing
  19.      further, I wish to credit the  base  of this TI version of KERMIT(i.e.
  20.      the Univac Pascal source code) to:
  21.  
  22.      Edgar Butt               (LAST KNOWN ADDRESS)
  23.      Computer Science Center
  24.      University of Maryland
  25.      College Park, Maryland 20742
  26.      Phone (301) 454-2946
  27.  
  28.      The TI version of KERMIT, referenced  herein  as  KERMIT,  was written
  29.      under  DX10  O/S  Rel.  3.7.0.    The  program  was  written  using TI
  30.      Pascal(TIP) Rel. 1.8.0.    TIP is a superset of standard Pascal.  Some
  31.      TIP procedures were used within KERMIT, especially  SVC$ for low level
  32.      I/O.  The program also consists of one external procedure,  written in
  33.      TI-990 assembly language, called SETPDT.  The TI  Pascal Configuration
  34.      processor(program  splitter)  was  not  used  for portability reasons,
  35.      however a  user  may split the program into modules and use XCONFIG if
  36.      one so desires.
  37.  
  38.      KERMIT can be initiated from  a  VDT931,  VDT940  or  VDT911 terminal;
  39.      other devices  have  not  been tested but may also work.  The included
  40.      SCI(DX10  System Command Interpreter) procedure is used to bid or call
  41.      the KERMIT task, and may have  to  be  modified  to  fit  a particular
  42.      system's environment.   The  KERMIT  port(i.e. remote port to modem or
  43.      remote system) is generated into the system using XGEN.  The following
  44.      device   configuration   was   extracted   from   a  .S$SYSGEN.<system
  45.      name>.CONFIG file and shows how I generated  the  KERMIT  port into my
  46.      system.
  47.  
  48.      DEVICE TYPE? VDT             STxx
  49.      ACCESS TYPE? RECORD
  50.      TIMEOUT? 0
  51.      CHARACTER QUEUE? 128
  52.      VDT TYPE? 931
  53.      ASSOCIATED PRINTER? NO
  54.      SWITCHED LINE? NO
  55.      SPEED? 1200
  56.      INTERFACE TYPE? CI403
  57.      TILINE ADDRESS? >F860
  58.      CHANNEL NUMBER? 0
  59.      INTERRUPT? 11
  60.  
  61.  
  62.  
  63.                                     Page  1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.      I was able to  gain  the  most  functionality by using the 931 DSR and
  72.      CI403 interface  board.    The PASSTHRU mode(ref. DX10 O/S Application
  73.      Programming Guide Vol. 3, Jan. 85, p. 9-38) of the  931 DSR is used to
  74.      control  echo   and   special   character   problems   by allowing the
  75.      application to gain direct control  of the terminal.  A KSRDSR and EIA
  76.      card were initially  tested  with  KERMIT,  but  extremely limited the
  77.      functionality of KERMIT to packet  transfer and one-way login.  A user
  78.      may implement other hardware configurations, but will probably have to
  79.      make some program changes  within  the  procedures    INITIO, CONNECT,
  80.      PRSCMD, and other procedures that use or are PASSTHRU  dependent.  The
  81.      above CHARACTER QUEUE,  and  INTERRUPT  LEVEL  may  be  fine  tuned as
  82.      necessary.    I  have  successfully tested KERMIT at 4800 & 9600 bauds
  83.      with an IBM-PC (TM) to TI-990 direct  connection,  but  recommend 1200
  84.      baud to start with.  The remote port(CI-403/931DSR)  defaults to 7-bit
  85.      data  and  odd  parity.    It  is  possible  to  dynamically set these
  86.      parameters on the CI-403 board from a user task(KERMIT), however I did
  87.      not have time to put these enhancements into KERMIT.  Therefore, users
  88.      will have difficulty talking to other  systems whose ports are not set
  89.      at 7-bit  data  and  odd  parity,  with  the  TI-990 as the initiating
  90.      system.  The cables used for remote connections  from  the CI-403 port
  91.      are:
  92.  
  93.      TI Part No. 2303070-0003   to modem - straight thru signal connections
  94.      (i.e. TD-TD, RCV-RCV etc.)
  95.  
  96.      TI Part No. 2303077-0001  direct connect -  (signals  are TD-RCV, RCV-
  97.      TD, RTS&CTS-DCD etc.)
  98.  
  99.      Homemade cables with the minimum RS-232  signals  work  fine.   An ISC
  100.      type terminal is mentioned both  in the KERMIT program and the bidding
  101.      SCI procedure.  This terminal type setting is  required  if your local
  102.      console  terminal is uppercase only, its DSR does not support PASSTHRU
  103.      mode, you cannot  suppress  echo,  or  some  other  unusual support is
  104.      needed.  The setting of an ISC terminal type is left as an expert mode
  105.      prompt in the bidding SCI procedure; of  course this may be changed as
  106.      needed.  Opening the TI-990 port locally for  connection  to  a remote
  107.      system(or modem) fails due to some port initialization problems.  This
  108.      problem  forced  me  to actually set two terminal init bits within the
  109.      remote port device's PDT, if the  SVC(low-level  I/O) open fails.  See
  110.      the procedure SETPDT  for  more  information  on  this.    It would be
  111.      advisable for the  system  administrator  to  hardcode the remote port
  112.      name into the calling  SCI  procedure as a safeguard against modifying
  113.      other 931 PDT's.  Since software checks do exist(see procedure CHKTRM)
  114.      to prevent  this, my main concern is to avoid the frustration that may
  115.      exist from a user not knowing the KERMIT remote port name.
  116.  
  117.      All commands entered within  KERMIT  should  be  uppercase  only.  The
  118.      program can be easily modified to handle lowercase commands if needed.
  119.      It  is  only  necessary  to  enter  the  first  three  characters of a
  120.      command,although full  file  pathnames must be used where appropriate.
  121.      KERMIT does not support  the use of synonyms within filenames that are
  122.      entered in any of the  commands  at  this  point  in  time.  Type HELP
  123.      within KERMIT  to  view  a  list  and  brief  syntax  of the following
  124.      supported commands.
  125.  
  126.  
  127.  
  128.  
  129.                                     Page  2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.      LOG <OPTIONAL FILENAME>  -  Set logging within KERMIT.  A filename may
  138.      be entered, or use the default filename  .KERLOGxx  where  xx  are the
  139.      digits of the user's console terminal number.  The name of the default
  140.      filename may be adjusted  within the bidding SCI procedure - parameter
  141.      number 5.   Send  and  receive  packets,  reads  and writes to a file,
  142.      remote port and  console  terminal  I/O  errors, problems in receiving
  143.      packets, send file sizes, remote  port  character  overflows, framing,
  144.      and parity errors, setting and resetting of XON and XOFF, and entering
  145.      server mode are all items that are logged when logging is enabled.
  146.  
  147.      CONNECT  -  Connect to the remote port.  This command is only valid in
  148.      local mode and will connect your console terminal via the local KERMIT
  149.      port to whatever is connected  to  your  remote  port(e.g.  modem, PC,
  150.      direct  system  connect).   Once connected, type two  @  (at signs) in
  151.      quick sequence to return to your  local  KERMIT  command  mode.  Other
  152.      special character sequences are allowed for  the  ISC  terminal, since
  153.      the non-PASSTHRU capability  of  this  terminal inhibits the user from
  154.      entering  important  keys  such  as  CMD,  BLNK-ORNG, or DC1.  If your
  155.      console is  an  ISC terminal, then these special key sequences will be
  156.      displayed  to  your  console upon connect.  Once connected to a remote
  157.      system, a user may logon to that system, bring up and place the remote
  158.      KERMIT into  a  server mode, and then escape back to your local system
  159.      to initiate file transfers.  It is the user's responsibility to logoff
  160.      a remote system, via BYE, FINISH and reconnect, etc.
  161.  
  162.      SEND <LOCAL  FILE>  <OPTIONAL REM FILE>  -  Send a file from the local
  163.      TI-990 system  to  some  remote  system.  The local filename must be a
  164.      full legal DX10 filename, no synonyms as  previously  mentioned.   The
  165.      optional remote filename can be entered in any  shape  or form that is
  166.      legal to the remote system(where the file is being sent).  If a remote
  167.      filename  is  NOT  entered,  then  the  local  filename(without parent
  168.      directories)  is  extracted  from  the  local pathname and used as the
  169.      remote name.  It  is recommended that only sequential files be sent to
  170.      another  system.    Other  file  types(e.g.  relative record, KIF-does
  171.      anybody use these??) may not produce consistent results.
  172.  
  173.      RECEIVE <DX10 RECEIVE FILE NAME>  -   Receive  a  file  from  a remote
  174.      system and  place  it  into  the  RECEIVE  FILE NAME.  RECEIVE is like
  175.      putting  your TI-990 KERMIT into a server mode for only one file.  The
  176.      file  to be received must be sent using the send command from a remote
  177.      system.  KERMIT returns to the command mode after a file is received.
  178.  
  179.      FINISH  -   SHUT DOWN the remote KERMIT or at least take it out of the
  180.      server mode, depending on how the remote system handles  this command.
  181.      I've seen it perform both of  the  above  operations.    If  issued to
  182.      another TI-990 system running this version of KERMIT, then the command
  183.      will both end the server  mode AND the KERMIT task.  The user can then
  184.      expect to connect to SCI upon connecting back to a TI-990 remote.
  185.  
  186.      BYE   -   SAME as above, but also log off the remote system.  If a TI-
  187.      990 KERMIT receives the BYE command while in server mode,  it will set
  188.      a special synonym to be checked by the  bidding  SCI  procedure.   The
  189.      bidding SCI procedure will check  the  value  of  this  synonym before
  190.      exiting and either invoke the DX10 Q(quit) command to log the user off
  191.      the system if BYE was received or return the user to SCI.
  192.  
  193.  
  194.  
  195.                                     Page  3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.      TEST  -  Place the TI-990 KERMIT into a send  only test mode.  Packets
  204.      are  sent  from  KERMIT  obeying   all   state   rules,   however,  NO
  205.      acknowledging packets from a  remote  system  are received.  This mode
  206.      can  be  used  in conjunction with logging(see LOG) to see exactly how
  207.      KERMIT is building and sending its packets.   Once the TEST command is
  208.      set,  a  user   must   exit   and   re-enter   KERMIT to resume normal
  209.      transmissions(i.e. you can  not  reset  the  TEST comnmand).  The TEST
  210.      command will only test the commands SEND, FINISH and BYE.
  211.  
  212.      EXIT  -  EXIT KERMIT and return to SCI.    If  used locally, it is the
  213.      user's responsibility to shut  down  and/or  log off any remote KERMIT
  214.      that may still be running.
  215.  
  216.      SERVER  -  Place  KERMIT  in  a server mode.  Once in the server mode,
  217.      KERMIT will accept  various commands(GET, BYE, FINISH, SEND) from your
  218.      local  machine.  If a serving KERMIT is inactive, it will periodically
  219.      send NAKs to your local machine to keep things from hanging(e.g. PCs).
  220.      A serving KERMIT  must  be  ended  by either receiving a BYE or FINISH
  221.      command.
  222.  
  223.      BINARY  -  SEND/RECEIVE a binary type file.    If  receiving  a binary
  224.      file, it is advised that  you let KERMIT create the (new)file for you.
  225.      If  sending  a binary file, the file must have a logical record length
  226.      of 80 bytes.   Binary data exists on TI most often as compiler object,
  227.      assembler object, compressed linked  object,  or  backup directory(BD)
  228.      data.    The  first  three items above are structured by default in 80
  229.      byte records.  Backup  directory  files,  which  can be used to handle
  230.      most  if  not  all  DX10  file types,  can be moved from one system to
  231.      another using KERMIT if blocked at 80 byte records.  If you block a BD
  232.      at 80 bytes, and let BD create a file for you, the BD file will adhere
  233.      to the  80 record size limitations.  KERMIT may blank fill records for
  234.      you if they are less than 80 byte records.   This  proved  to be of no
  235.      problem for  the  types of binary files described above.  Obviously, I
  236.      do  not  consider  moving  binary  data  as  critical  as  moving text
  237.      data(i.e. source  files),  and  likewise  only  covered the basics for
  238.      binary file transfer.
  239.  
  240.      TEXT  -  SEND/RECEIVE TEXT FILE data.    This mode of file transfer is
  241.      the  default  for  KERMIT.   However, users may switch while in KERMIT
  242.      from binary mode to text mode using this command.
  243.  
  244.      GET <REMOTE FILE NAME> <LOCAL FILE>  -    GET a file(REMOTE FILE NAME)
  245.      from a remote  KERMIT  that is in the server mode, and place that file
  246.      in LOCAL FILE.  Unlike most  KERMITs,  GET does not prompt you for the
  247.      names  of  the  remote   and   local   filenames.    In addition, both
  248.      filenames(remote & local) must be entered.  The remote filename may be
  249.      any lowercase(e.g. UNIX (TM)) or uppercase filename  that  is legal to
  250.      the remote system.  The local name must be a full legal DX10 pathname.
  251.  
  252.      HELP  -  Display the list of TI-990 KERMIT supported commands.
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                     Page  4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.      KERMIT may be compiled using the  standard  TI  XTIP command.  Some of
  270.      the options listed below may not be standard as supplied by TI.
  271.  
  272.  
  273.      XTIP (EXECUTE TI PASCAL COMPILER <VERSION: 1.8.0 83357>)=2,
  274.      SOURCE = <KERMIT source>
  275.      OBJECT = <KERMIT object>
  276.      LISTING =<KERMIT compiler listing>
  277.      MESSAGES = ME  <or some other name>
  278.      OPTIONS  =  FGND,FIN,GLOBALS,MAP,GLOBALOPT,NOL/P=255    <  or whatever
  279.      suits you>
  280.      MEM1 = <default>
  281.      MEM2 = <default>
  282.      MEM3 = 10,0          <note stack reduction for extra heap needed>
  283.  
  284.  
  285.      The SETPDT assembly language file must then be assembled using XMA.
  286.  
  287.  
  288.      To link KERMIT use the standard XLE command.
  289.  
  290.  
  291.      XLE (EXECUTE LINKAGE EDITOR) =2,
  292.      CONTROL ACCESS NAME = <control file as listed below>
  293.      LINKED OUTPUT ACCESS NAME = <a program file>
  294.      LISTING ACCESS NAME = <link edit listing>
  295.      PRINT WIDTH = <default>
  296.      PAGE LENGTH = <default>
  297.      MODE(F,B) = <either F or B>
  298.  
  299.  
  300.      The link edit control file that I used is:
  301.  
  302.  
  303.      FORMAT     IMAGE,REPLACE,4
  304.      LIBRARY    .SCI990.S$OBJECT
  305.      LIBRARY    .TIP.OBJ
  306.      TASK       KERMIT
  307.      INCLUDE    (MAIN)
  308.      INCLUDE    <filename of compiled KERMIT object code>
  309.      INCLUDE    <filename of assembled SETPDT object code>
  310.      INCLUDE    .TIP.MISC.ACCDXO
  311.        <used for TIFORMS clearscreen - may be omitted>
  312.        <if procedure declarations taken out of source>
  313.        <see procedure declarations in source file.>
  314.      END
  315.  
  316.      After successful compilation, assembly and linking,  perform  a Modify
  317.      Task Entry(MTE) to make the KERMIT task priviledged.  The priority may
  318.      be moved up here also, if you wish.
  319.  
  320.      After  installing  the  KERMIT proc(SCI procedure) onto an appropriate
  321.      proc library(e.g. .S$PROC), type the  proc  KERMIT to initiate KERMIT,
  322.      assumming that the proper hardware connections have been made.
  323.  
  324.  
  325.  
  326.  
  327.                                     Page  5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.      KNOWN AREAS FOR IMPROVEMENTS
  336.  
  337.      1. The connect procedure is probably the greatest.  In trying to avoid
  338.      any assembly language,  the connect procedure became very complex, and
  339.      is suseptable to losing characters to mention the least.
  340.  
  341.      2. If  TI-990  KERMIT  is  acting  as a server, and you type something
  342.      wrong on a  remote  machine,  you may lose state synchronization.  You
  343.      may have to  type  the  command  over  about  four  times  to  get the
  344.      server(TI-990) back in sync.
  345.  
  346.      3. Use of synonyms in DX10 filenames.
  347.  
  348.      4. Lowercase as well as uppercase command support.
  349.  
  350.      5. User setting of baud, parity and data  word  size - a capability of
  351.      the CI-403.
  352.  
  353.      6. Logging  in  TI  from  some  other  system  may require special 931
  354.      emulation.  If  you  can  put up with the garbage characters until you
  355.      actually get into TI KERMIT then you'll be OK.
  356.  
  357.      7. Switching back and forth from  binary  to  text  or  text to binary
  358.      modes may cause problems.
  359.  
  360.      8. VT-100 emulation.
  361.  
  362.      9. and whatever other bugs that you may find.
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                     Page  6
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.      Recompiled and  relinked TI-KERMIT on March 16, 1987.  Then tested TI-
  402.      KERMIT with an IBM-PC XT running  MS-KERMIT  2.29.    On  the  TI side
  403.      successfully tested: SEND,  GET,  FINISH, CONNECT-did a CTTY on PC and
  404.      ran "limited" MS-DOS  (TM)  commands  on  the  TI-911VDT and LOG.  The
  405.      following list of TI-KERMIT connections have worked in the past:
  406.  
  407.          a. TI-990 and TI-990
  408.          b. TI-990 and PC(PC means either IBM-XT, TI-PC, TI-Portable
  409.             or COMPAQ)
  410.          c. TI-990 and TI Explorer
  411.          d. TI-990 and TI-Nu Machine (running UNIX).
  412.  
  413.      However,  these  TI-KERMIT  connections  have not been tested recently
  414.      (except  for  the  IBM-PC)  and  the  current  working status of these
  415.      connections is UNKNOWN.
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                     Page  7
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.      ONE FINAL NOTE:
  468.  
  469.      Unfortunately, yet a reality most of us experience,  my  other project
  470.      work, my  school  work,  and  most  importantly  my  family  life have
  471.      prevented me from completing,  to  my  expectations,  this  version of
  472.      KERMIT.  This version has successfully transferred data between TI-990
  473.      systems and UNIX machines, PCs or other TI systems - using both direct
  474.      connect and modem communications, but still contains many bugs.   Once
  475.      a data transfer is initiated, you can expect the  process  to complete
  476.      with very good reliability.  Bugs  mainly  exist  within  the areas of
  477.      connection and state transition (between  commands).    The writer and
  478.      Johnson Controls, Inc.  is NOT liable for the use of this software, or
  479.      for any effects caused by the use of this software.  Anyone using this
  480.      software is using it at their own risk.  Any use of this software must
  481.      comply  with  all  rules,  regulations  and  copyrights that have been
  482.      established by Columbia University.   It  is the user's responsibility
  483.      to obtain,  to  read  and  to  understand  all  KERMIT regulations and
  484.      stipulations set forth by Columbia University.
  485.  
  486.  
  487.      TM - TRADEMARKS
  488.  
  489.      TEXAS INSTRUMENTS  IS  A  REGISTERED  TRADEMARK  OF  TEXAS INSTRUMENTS
  490.      INCORPORATED.
  491.  
  492.      KERMIT IS A REGISTERED TRADEMARK OF HENSON ASSOCIATES, INC.
  493.      (Creators of The Muppet Show)
  494.  
  495.      IBM IS  A  REGISTERED  TRADEMARK  OF  INTERNATIONAL  BUSINESS MACHINES
  496.      CORPORATION.
  497.  
  498.      UNIX IS A TRADEMARK OF AT&T.
  499.  
  500.      MS-DOS IS A REGISTERED TRADEMARK OF MICROSOFT CORPORATION.
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                     Page  8
  526.  
  527.  
  528.  
  529.