home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / MODEMS / MODEM / NSD.ARK / NSD.DOC < prev   
Text File  |  1987-10-31  |  8KB  |  167 lines

  1. Not                                NSD - Copyright 1986, by Lee D. Rimar
  2. So                              ZBasic - Copyright 1986, by ZEDCOR, Inc.
  3. Dumb                     (distribute free, but with all notices intact!)
  4.  
  5. Terminal Program for:  KAYPRO CP/M computer with any external modem
  6.  
  7.  
  8. What is NSD:
  9.  
  10.      NSD is a simple terminal program for Kaypro computers.  I wrote it
  11. for a limited purpose, so it has strange functions not found in other
  12. programs.  Though written for my Kaypro, it should easily adapt to other
  13. computers.  See comments under "Programmer's Notes" below.
  14.      NSD was composed and debugged with a DEMO version of ZBasic, the
  15. compiler sold by ZEDCOR, Inc.  They distribute the demo version FREE, to
  16. advertise their fine product.  Look for ZBASDEMO.LBR on many RCP/Ms.
  17.      NSD runs under the demo version -- but when you see how good ZBasic
  18. is, you'll want to buy the full version.
  19.  
  20.  
  21. How to start NSD:
  22.  
  23.      1>  From CP/M's A> prompt, run ZBasic.
  24.      2>  In ZBasic, select (E) for Edit Mode.
  25.      3>  At the ZBasic Ready prompt, type:
  26.           LOAD NSD
  27.           and hit return.
  28.      4>  When it's done loading, and you get another "Ready"
  29.           message, type:
  30.           RUN
  31.           and hit return.
  32.  
  33.      ZBasic will take about 5 seconds to compile the program in memory.
  34. You'll get the NSD sign-on message,  and a prompt to "Hit any Key... "
  35.      If you have the full (commercial) version of ZBasic, you may also
  36. compile NSD to a stand-alone .COM file.  See your ZBasic manual for
  37. details.
  38.  
  39.  
  40. How to use NSD:
  41.  
  42.      Commands in NSD are given by hitting the ESCape key, and following
  43. it with a command key.  The very few commands are:
  44.  
  45.      ESC- B
  46.      Sets the Baud rate.  Supports 300, 600, 1200, 2400 baud. To keep
  47. keystrokes to a minimum, you don't have to type the zeros; you set 1200
  48. just by typing 12.
  49.  
  50.      ESC- E
  51.      Sets "Echo Mode" ON or OFF.  With echo OFF, NSD expects the system
  52. you're connected with to "echo" the characters you type.  Most BBSs do
  53. this; use "Echo ON" only if the other system doesn't.  You'll know
  54. that's the case if you type but don't see anything on your screen.
  55.  
  56.      ESC- <LINE FEED>
  57.      Turns the "line feed filter" ON or OFF.  With the filter ON, line
  58. feeds are stripped out of the data stream wherever they occur, and are
  59. added after carriage returns.  With it OFF, line feeds are passed "as
  60. is" both locally and remote.
  61.  
  62.      ESC- W
  63.      Turns "Word Wrap" ON or OFF.  When it's OFF, local and remote data
  64. is accepted "as is."  When it's ON, any SPACE character received after
  65. character 65 on a line is converted into a carriage return.  This keeps
  66. you from having to hit RETURN.  See comments under "Why I wrote NSD."
  67.  
  68.      ESC- T
  69.      Transmits a text file.  NSD prompts with:
  70.      "File? " -- Enter the name of the file you want to send, or just
  71. hit RETURN to cancel the command.
  72.      "Slow? " -- Enter a number to slow down the speed the text goes
  73. out.  Just hitting return will send text as fast as it can be read from
  74. the disk.  Some BBS programs can't handle that.  The delay is measured
  75. by 1/1000 second.  Enter 100 to delay each character 1/10 second.
  76.      Text files go out "as-is;" the line feed filter and word wrap are
  77. not used.  I may change this in a later version.
  78.  
  79.      ESC- Q
  80.      Quits from NSD.  If you're running directly under ZBasic, you will
  81. return to ZBasic's "Ready" prompt.  If you've compiled the program to a
  82. .COM file, you'll return to CP/M.
  83.  
  84.      That's the entire command set.  If you type an invalid command
  85. key after hitting ESCape, it's just ignored; you'll have to hit ESCape
  86. again to give the correct command.  If you need to send out an ESC to
  87. the other computer, hit ESCape twice (only the second one goes out).
  88.  
  89.  
  90. Why I wrote NSD:
  91.  
  92.      I normally use MEX, Ron Fowler's excellent Modem Executive.  But I
  93. often use PC-Pursuit to "chat" with friends in other cities.  For
  94. various reasons, MEX is clumsy and slow for this.
  95.      I use NSD for such chats.  Word-wrap, echo mode, and the line feed
  96. filter were written with that in mind.  The "switches" for these options
  97. are short 2-key sequences to make set-up easy.
  98.      That's the idea behind NSD.  It's very terse; messages are kept to
  99. a minimum.  Commands are short and few.  It makes the program very easy
  100. to use.  For me, at least...
  101.      One oddity you may notice:  If the cursor is on the first character
  102. of a line, NSD "swallows" backspaces.  This was done to compensate for a
  103. bug in one of my friend's terminal program -- if you try to backspace past
  104. the beginning of a line, the whole system crashes!  Sick, eh?  So we set
  105. up character echo to be handled by NSD, and her system never sees a
  106. disastrous backspace in column 0.
  107.  
  108.  
  109. Programmer's Notes And Other Quirks:
  110.  
  111.      ZBasic will LIST and LLIST the program somewhat differently than I
  112. typed it.  Apostrophes expand to "REM," and question marks (?) expand to
  113. PRINT.  Also, various loops and conditional structures are displayed with
  114. indentation.  If you SAVE the program from ZBasic, the expansions stay,
  115. but the indentations don't.
  116.      One oddity I don't understand:  If you save the program in token
  117. form (SAVE NSD) the resulting disk file is LARGER than if you save it as
  118. Ascii (SAVE +NSD).  But an Ascii saved version LOADSs a LOT slower.
  119.      The full version of ZBasic has support for serial ports; they are
  120. treated similar to random files.  The demo version doesn't offer such
  121. nicieties, so I addressed the Kaypro's serial ports with INP and OUT
  122. statements.  That's really the only "Kaypro Specific" part of NSD.
  123.      If you re-write the modem routines, NSD should run on just about
  124. anything.  That's a nice feature of ZBasic, programs code is portable
  125. between all versions:  CP/M, MS-DOS, APPLE and MACINTOSH, and TRS-80.
  126.      To adapt NSD to another computer, change these routines:
  127.  
  128.      LONG FN CheckRemote
  129.      Checks the serial port to see if there's a character waiting.  If
  130. so, it puts the character in A$, and the Ascii value of the character in
  131. integer variable A.  Otherwise, it returns A$="" and A=0.
  132.  
  133.      LONG FN Sendout
  134.      Sends the value in integer variable A out the serial port, and
  135. waits until the port returns Clear To Send.
  136.  
  137.      "Set Registers"
  138.      A bunch of OUT statements to initialize the Kaypro's Z80 SIO.  It
  139. initializes the serial port for 8 bit data, 1 stop bit, no parity.  I
  140. used Richard Walker's "UARTKPRO.DOC" file for reference on this.  This
  141. file is available on many RCP/Ms.
  142.  
  143.      "Set Baud"
  144.      Subroutine for setting the baud rate.  The initial definition
  145. section of the program includes an integer variable Rate.  This is only
  146. used to set the baud rate when you start the program, no other variable
  147. is affected by this routine.
  148.  
  149.      "Disconnect"
  150.      Subroutine to disconnect the modem by dropping the DTR signal.
  151. Again, my reference source was UARTKPRO.DOC.
  152.  
  153.      That's all the specific Kaypro stuff.  The keyboard is checked with
  154. a simple INKEY$, so it doesn't have to be changed.  If you have the full
  155. version of ZBasic and use built-in serial I/O routines, the resulting
  156. source program should be portable to ANY system.  I think.  Haven't
  157. tried it myself, I just have this Kaypro.
  158.      I do not consider this an "optimum" program.  I wrote it in about
  159. four hours one evening when I had nothing else to do.  It doesn't have
  160. "bells and whistles" -- it doesn't even have XMODEM support!  But it
  161. does what I need it to do.  Hope you find it useful or at least interesting
  162.  
  163. Later . . .
  164. Lee David Rimar
  165.  
  166. -eof-
  167.