home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / telecomm / jekl138 / jekyll.txt < prev    next >
Text File  |  1992-11-22  |  73KB  |  1,810 lines

  1.               User manual for Jekyll version 1.38
  2.                     3rd rewrite, 4nd revision.
  3.  
  4.          Written & revised by Pascal Haakmat, 22/11/1992
  5.  
  6.      Jekyll was developed and written by Vincent Partington
  7.                        Copyright (C) 1992
  8.  
  9.   Jekyll, the protocol, is public domain. However, Jekyll as in
  10.    the ST-implementation is shareware, and should be paid for.
  11.  
  12.                   Vincent Partington
  13.                   Lindenlaan 637
  14.                   1185 LZ Amstelveen
  15.                   Holland
  16.  
  17.                   FidoNet   : 2:281/202.15
  18.                   NeST      : 90:500/202.15
  19.                   NeST-echo : N_JEKYLL
  20.                   Usenet    : vincent@nextjk.wlink.nl
  21.  
  22.  
  23.                   Pascal Haakmat
  24.                   Geerdinkhof 130
  25.                   1103 PT Amsterdam
  26.                   Holland
  27.  
  28.                   FidoNet   : 2:281/202.13
  29.                   NeST      : 90:500/202.13
  30.                   NeST-echo : N_JEKYLL
  31.  
  32. TABLE OF CONTENTS:
  33. ------------------
  34.  
  35.      Titlepage ...................................... 1
  36.      Table of contents .............................. 2
  37.  
  38.     I   : Introduction .............................. 4
  39.  
  40.           I.I  : What is Jekyll? .................... 4
  41.           I.II : Why was Jekyll called Jekyll? ...... 4
  42.           I.III: System requirements ................ 4
  43.           I.IV : Functional overview ................ 4
  44.           I.V  : Installation ....................... 4
  45.  
  46.     II  : Getting started ........................... 6
  47.  
  48.           I.I : Making a private Jekyll connection .. 6
  49.           I.II: Making a BBS Jekyll connection ...... 7
  50.  
  51.     III : Using Jekyll .............................. 8
  52.  
  53.           III.I  : Getting to know Jekyll ........... 8
  54.           III.II : The statuswindow ................. 8
  55.           III.III: Configuring Jekyll ............... 9
  56.  
  57.     IV  : The configuration files .................. 10
  58.  
  59.           IV.I  : JEKYLL.CFG ....................... 10
  60.           IV.II : JEKYLL.MAG ....................... 10
  61.           IV.III: JEKYLL.FKS ....................... 11
  62.           IV.IV : JEKYLL.BAN ....................... 11
  63.           IV.V  : JEKYLL.LOK ....................... 12
  64.           IV.VI : JEKYLL.FLO ....................... 13
  65.  
  66.     V   : Jekyll's switches ........................ 14
  67.  
  68.           V.I   : Toggle switches .................. 14
  69.           V.II  : Resume switches .................. 15
  70.           V.III : Special switches ................. 16
  71.  
  72.     VI  : More Jekyll functions .................... 19
  73.  
  74.          VI.I  : The fileselector .................. 19
  75.          VI.II : The send queue .................... 20
  76.          VI.III: The fileviewer .................... 21
  77.          VI.IV : The host mode ..................... 21
  78.          VI.V  : The terminal ...................... 21
  79.          VI.VI : Special features .................. 22
  80.  
  81.     VII : Shareware message ........................ 24
  82.  
  83.     VIII: Copyright notice ......................... 25
  84.  
  85.     IX  : Disclaimer ............................... 26
  86.  
  87.     X   : Credits .................................. 27
  88.  
  89.     XI  : Greetings ................................ 28
  90.  
  91.     XII : Which BBSes use Jekyll?................... 29
  92.  
  93.     Appendix A: Key overview ....................... 30
  94.     Appendix B: Troubleshooting guide .............. 31
  95.     Appendix C: Examples ........................... 32
  96.     Appendix D: Update history ..................... 35
  97.     Appendix E: Jargon guide ....................... 39
  98.  
  99. I: Introduction
  100. ===============
  101.  
  102. I.I: What is Jekyll?
  103. --------------------
  104.  
  105. Jekyll,  like  Zmodem  and Xmodem,  is a transfer  protocol  that
  106. allows errorfree filetransfer. However, Jekyll is far more power~
  107. ful,  since  it  was written for,  and on,  the  powerful  micro-
  108. computers of today.
  109.  
  110. I.II: Why was Jekyll called Jekyll?
  111. -----------------------------------
  112.  
  113. Jekyll was named after the well-known character in the book  "The
  114. strange case of dr. Jekyll & mr. Hyde" by Robert Louis Stevenson.
  115. The  book tells about the split personality of  dr.  Jekyll,  and
  116. since   Jekyll   (the  protocol)  is   capable   of   full-duplex
  117. transmission, it was thought to be a good and logical name.
  118.  
  119. I.III: System requirements
  120. --------------------------
  121.  
  122. Jekyll should run on any ST/STE/TT with TOS in ROM,  and at least
  123. half  a megabyte of memory,  though when using it in  conjunction
  124. with  Hyde 1 megabyte is required.  Jekyll will run  from  floppy
  125. disks, but a hard disk is strongly recommended.
  126.  
  127. I.IV: Functional overview
  128. -------------------------
  129.  
  130. It is pretty hard to give a full functional overview,  due to the
  131. large number of functions Jekyll sports.  However,  a few of  the
  132. most interesting features are ...
  133.  
  134.      - Full-duplex (both way) transmission of files.
  135.      - Split screen full-duplex chat.
  136.      - Host-mode, making it possible to scan the other drive.
  137.      - Fileviewer, to prevent boredom.
  138.      - Highly  configurable,   using  both  the  commandline  and
  139.        seperate configuration files.
  140.      - Little terminal, for private use of Jekyll.
  141.      - Lots of BBS-related switches.
  142.      - Data  compression  'on  the  fly',  increasing  throughput
  143.        efficiency.
  144.      - Up to 20 function keys may be defined.
  145.      - Magics supported.
  146.  
  147. I.V: Installation
  148. -----------------
  149.  
  150. Installation  is very simple:  copy JEKYLL.TTP onto  your  comms.
  151. drive/directory, and run it whenever you want to transfer a file.
  152.  
  153. However,  this  way  you will use little of Jekyll's  very  large
  154. potential!  It's best you read this whole document,  and  perhaps
  155. you could print the part about the switches.  Then you can easily
  156. set up Jekyll using Hyde.
  157.  
  158. If  you are a sysop and want to install Jekyll on your BBS as  an
  159. external protocol, refer to Appendix D: Examples.
  160.  
  161. II: Getting started
  162. ===================
  163.  
  164. II.I: Making a private Jekyll connection
  165. ----------------------------------------
  166.  
  167. Jekyll  boasts a lot of functions especially designed for a  user
  168. <-> user filetransfer, i.e. between you and a friend.
  169.  
  170. To  make a private connection,  follow the steps mentioned  below
  171. (NOTE:   this   step-by-step-guide  assumes  you've  linked   the
  172. telephone via the modem!):
  173.  
  174.      - Run  Jekyll,  with an empty commandline.  After the  title
  175.        screen has been displayed,  Jekyll will throw you into the
  176.        Jekyll terminal.
  177.  
  178.      - Call a friend that owns a copy of Jekyll,  and tell him to
  179.        run Jekyll just like you did.
  180.  
  181.      -  Now make  sure both modems are on,  and both  modems  are
  182.         Hayes-compatible.  You  should  also  check  the  current
  183.         bpsrate, and adjust it as required using F4 to F9.
  184.  
  185.      - Tell your friend to press F2,  which will cause Jekyll  to
  186.        send  'ATA' to the modem.  A sharp,  high-pitched tone  is
  187.        heard.  When  you hear  this tone,  you should  press  F1,
  188.        which  will cause Jekyll to send 'ATD' to the modem.
  189.  
  190.      -  When  you  hear the high-pitched whistles change  into  a
  191.         sort   of crackling sound,  you can safely  hang  up  the
  192.         telephone,  since the modems have made a connection (it's
  193.         even better to leave the phone off-hook,  so that you can
  194.         easily   pick  it  up  later  to   go   back   to   voice
  195.         communication).
  196.  
  197.      - The terminal will notice the connection,  and  will  enter
  198.        Jekyll automatically. You will see the title  screen again
  199.        and on the bottom line it says: "Connecting ...".
  200.  
  201.      - After  a few seconds (2 to 3,  usually) the  two  Jekyll's
  202.        will  have connected,  and you will have  entered  Jekyll.
  203.        The  screen  is  divided in three parts:  the  upper  part
  204.        shows  everything   you  type,   the  middle   part  shows
  205.        everything  your friend types,  and the lower  part  shows
  206.        how far the transfer is progressing.
  207.  
  208. Having done this, it is time to explore Jekyll. If you need help,
  209. press the [HELP] key.  You can scroll through the helptext  using
  210. cursor  keys  UP and DOWN.  You may also jump to  section  III.I:
  211. "Getting to know Jekyll".
  212.  
  213. II.II: Making a BBS Jekyll connection
  214. -------------------------------------
  215.  
  216. This  is somewhat simpler than a private  connection,  since  the
  217. modems have already connected; this part assumes you are inside a
  218. BBS, and have given the BBS the command to send you some files.
  219.  
  220.      - Select  a Jekyll  transfer  in the BBS.  How  to  do  this
  221.        depends  totally  on what BBS program is being  used.  Ask
  222.        your sysop for details.
  223.  
  224.      - Run Jekyll, using the 'Execute program ...' option in your
  225.        terminal  program  (if it has one),  or  by  quitting  the
  226.        terminal program and running Jekyll from the desktop.
  227.  
  228.      - Jekyll  will  show it's title screen,  with on the  bottom
  229.        line the message: "Connecting ...".
  230.  
  231.      - Once  connected,  you will receive the requested  file(s),
  232.        and,  depending on whether the sysop is available, you can
  233.        chat  with the sysop (if the "page" function  is  enabled,
  234.        you can even call him to the console using CTRL-J).
  235.  
  236. III: Using Jekyll
  237. =================
  238.  
  239. III.I: Getting to know Jekyll
  240. -----------------------------
  241.  
  242. Once inside Jekyll,  the screen is divided into three parts:  the
  243. upper part (henceforth called 'window'), the middle part, and the
  244. lowest part.
  245.  
  246. The upper window shows you everything you type during a transfer.
  247. It will be sent towards the other side,  which will receive it in
  248. the lower window.
  249.  
  250. The middle window shows you everything the other side types.
  251.  
  252. And  finally,  the  lower window shows you (most)  messages  from
  253. Jekyll,  what file you are currently receiving/sending, etc. etc.
  254. Jump to section III.II for information on this window.
  255.  
  256. Try  typing  something.  You  will see the  characters  you  type
  257. appearing in the upper window.  When your friend types something,
  258. those characters will appear in the middle window.
  259.  
  260. Now  we  will  send  a  file.   Press  Ctrl-F  to  call  on   the
  261. fileselector  (see  section  VI.I:   "The   fileselector").   The
  262. cursorkeys  up and down allow you to scroll through the  list  of
  263. files,  whilst pressing RETURN sends the highlighted  file.  UNDO
  264. takes you back to the chat window.
  265.  
  266. We  have made every function in Jekyll as intuitive as  possible,
  267. and you shouldn't have any trouble using them.  It might be  wise
  268. to print out Appendix A, "Key overview".
  269.  
  270. III.II: The statuswindow
  271. ------------------------
  272.  
  273. The statuswindow is used by Jekyll to show all errors,  messages,
  274. and the status of the current filetransfer.  The statuswindow  is
  275. built up like this:
  276.  
  277. <message line, where all messages arrive>
  278. Send:  <name> <sent bytes> <size>b <CPS> <time to go> <pack rate>
  279. Recv: <name> <recvd bytes> <size>b <CPS> <time to go> <pack rate>
  280.  
  281. The  <message  line>  contains all important  (and  certain  less
  282. important) messages, keep a close eye on it. Many of the messages
  283. displayed  here will also be put in the logfile.  See section  V:
  284. Jekyll's switches.
  285.  
  286. <name>  is,  in  both cases,  the filename of the  file  you  are
  287. sending/receiving.
  288.  
  289. <sent bytes/recvd bytes> respectively is the number of bytes  you
  290. have sent/received already.
  291.  
  292. <size> is the size of the file you are sending/receiving.
  293.  
  294. <CPS>  is  the  number of characters  that  are  transmitted  per
  295. second.
  296.  
  297. <time  to go> is the amount of time (in  minutes:seconds)  before
  298. the  file is finished.  This is merely a rough estimate,  and  it
  299. will give ridiculous results with very short files (smaller  than
  300. 3K).  However,  with  somewhat  larger  files  it  gives  a  good
  301. impression.
  302.  
  303. <pack  rate>  is  the percentage that  Jekyll's  compression  has
  304. shrunk  the file.  On already packed files (LZH,  ARC) this  will
  305. probably be zero percent, this is normal.
  306.  
  307. These   two   bars  also  indicate  how  far  the   transfer   is
  308. progressing: they slowly invert.
  309.  
  310. III.III: Configuring Jekyll
  311. --------------------------
  312.  
  313. Jekyll  is  highly configurable to cater for  all  the  different
  314. configurations,  setups and wishes of  people.  However,  because
  315. Jekylls  configuration possibilities are so immense,  you  should
  316. take some time to fully understand how it works.
  317.  
  318. There are two ways of configuring Jekyll:
  319.  
  320. 1) The commandline.
  321.  
  322. The commandline can be used to put switches on,  and file(s)  you
  323. want to send.  Switches that are put on the commandline  override
  324. switches    contained   in   JEKYLL.CFG   (see   section    IV.I:
  325. "JEKYLL.CFG").
  326.  
  327. 2) The configuration files.
  328.  
  329. For  default settings,  you can create a file called  JEKYLL.CFG.
  330. This  file  contains all settings you'd normally pass  using  the
  331. commandline,  except for files; these still need to be put on the
  332. commandline.
  333.  
  334. Furthermore  Jekyll  has  a JEKYLL.MAG file  for  the  magics,  a
  335. JEKYLL.FKS file for the functions keys, a JEKYLL.BAN file for the
  336. banner,  a JEKYLL.LOK for the locked paths, and a JEKYLL.FLO file
  337. that contains all files to send (only for BBS'ses, really).
  338.  
  339. Section  V,   "Jekyll's  switches",   contains  all  of  Jekyll's
  340. switches. For information on the configuration files, jump to the
  341. next section, section IV: "The configuration files.".
  342.  
  343. IV: The configuration files
  344. ===========================
  345.  
  346. A  lot of Jekyll's power lies within these  configuration  files,
  347. that  enable you to customize Jekyll to YOUR needs.  You can  use
  348. Hyde to easily create (most) of these  files,  or,  alternatively
  349. you can use a text-editor that produces plain ASCII.
  350.  
  351. IV.I: JEKYLL.CFG
  352. ----------------
  353.  
  354. JEKYLL.CFG is nothing more than a commandline in a file. The only
  355. difference is that JEKYLL.CFG cannot contain files to send  (pass
  356. these using the commandline or JEKYLL.FLO.  Or better yet,  using
  357. the built-in fileselector).
  358.  
  359. Refer  to  section  V,   "Jekyll's  switches",   for  a  complete
  360. description of all switches.
  361.  
  362. An  example JEKYLL.CFG might look like this (the arrows '->'  and
  363. beyond are not a part of the configuration file,  and should  not
  364. be included!):
  365.  
  366. [start of JEKYLL.CFG]
  367. -auto0term1cheq0pack1oser1oscr1    -> switches
  368. -bpsr2400                          -> bpsrate
  369. -blok512                           -> block size
  370. -cash16384                         -> cache size
  371. -sendD:\                           -> upload path
  372. -recvE:\DATA\DLOADS\               -> download path
  373. -logfD:\COMMS\BINKLEY\LOGFILE.LOG  -> logfile
  374. [end of JEKYLL.CFG]
  375.  
  376. Would  it have been put on the commandline,  it would  look  like
  377. this:
  378.  
  379. -auto0term1cheq0pack1oser1oscr1 -bpsr2400   -blok512 -cash16384 -
  380. sendD:\ -recvE:\DATA\DLOADS\ -logfD:\COMMS\BINKLEY\LOGFILE.LOG
  381.  
  382. Which leaves you no room for files to send ...  And it would have
  383. to  be  typed  in  everytime you run Jekyll  which  is  not  very
  384. convenient.
  385.  
  386. IV.II: JEKYLL.MAG
  387. -----------------
  388.  
  389. JEKYLL.MAG contains all the magics you want to use.  It's  format
  390. is  simple,  and consists of a number of two line  'blocks',  the
  391. first line of every block containing the 'source'  sentence,  the
  392. second  containing  the  'destination'  sentence.   The  'source'
  393. sentence is case independant, meaning that 'CASE', 'case', 'CaSe'
  394. and 'cASe' all mean the same to Jekyll.
  395.  
  396. Various control codes have been incorporated as well.
  397.  
  398. ASCII code 1 (arrow UP) or '\u' will cause the cursor to go up.
  399. ASCII  code 2 (arrow DOWN)  or '\d' will cause the cursor  to  go
  400. down.  If  the cursor  is on the lowest  line,  the  screen  will
  401. scroll up.
  402. ASCII  code 3 (arrow RIGHT) or '\r' will cause the cursor  to  go
  403. right.
  404. ASCII  code  4 (arrow LEFT) or '\l' will cause the cursor  to  go
  405. left.
  406. ASCII  code  5 (closebox) or '\c' will  cause  your  chat  window
  407. to be cleared.
  408. ASCII  code  13  (small  CR) or '\n'  moves  the  cursor  to  the
  409. beginning of the line, and one line down. If the cursor is on the
  410. last line, the screen will scroll up.
  411.  
  412. To  get  a  backslash into your JEKYLL.MAG  file,  it  should  be
  413. doubled, i.e. use '\\'.
  414.  
  415. An example JEKYLL.MAG file:
  416.  
  417. [start of JEKYLL.MAG]
  418. Pascal
  419. //Pascal\\\\
  420. Jekyll
  421. =[! Jekyll !]=
  422. [end of JEKYLL.MAG]
  423.  
  424. When  the  person  with  this  JEKYLL.MAG  file  types  'Pascal',
  425. 'pascal',  'PASCAL' or 'pAScaL' it is converted into  //Pascal\\.
  426. 'jekyll' will be converted into '=[! Jekyll !]='.
  427.  
  428. IV.III: JEKYLL.FKS
  429. ------------------
  430.  
  431. JEKYLL.FKS contains the definitions of the functionkeys. It is by
  432. far  the simplest file of all,  and consists of a maximum  of  20
  433. lines, each line defining a function key. For example:
  434.  
  435. An example JEKYLL.FKS file:
  436.  
  437. [start of JEKYLL.FKS]
  438. This text will appear when you press F1
  439. This will appear when you press F2
  440.  
  441.  
  442. And this text will appear when you press F5
  443. [end of JEKYLL.FKS]
  444.  
  445. IV.IV: JEKYLL.BAN
  446. -----------------
  447.  
  448. JEKYLL.BAN  contains  the text you want the remote  to  see  upon
  449. entering Jekyll. This may be anything you like, ranging from your
  450. name to your favorite movie.  We recommend sysops to put the name
  451. of their BBS over here,  together with some propaganda talk and their
  452. FidoNet/NeST/Olympic ... addresses and the name of the sysop.
  453.  
  454. An example JEKYLL.BAN file:
  455.  
  456. [start of JEKYLL.BAN]
  457. SuperBBS Amsterdam, phone number: +31 - 7654321
  458. Online  24 hours a day,  300 - 19200 baud!  Over 10.000 files  on
  459. download!
  460.  
  461. System Operator: Al Capone
  462. FidoNet address: 2:281/201
  463. [end of JEKYLL.BAN]
  464.  
  465. IV.V: JEKYLL.LOK
  466. ----------------
  467.  
  468. JEKYLL.LOK contains the paths you want to LOCK from the host mode
  469. (see  section  V.IV:   "The  host  mode").  It  consists  of  the
  470. paths/files  you want to lock,  AND/OR the paths/files you  DON'T
  471. want to lock.  Paths/files you want to lock should be precede  by
  472. '-' and those you want to unlock by '+'.
  473.  
  474. For  example,  let's say you've got drives A,  B and  C.  Now  if
  475. you're JEKYLL.LOK would look like this:
  476.  
  477. [start of JEKYLL.LOK]
  478. -A:\
  479. -B:\
  480. -C:\
  481. [end of JEKYLL.LOK]
  482.  
  483. ...  The  remote wouldn't be able to access any of  your  drives.
  484. However, if you add the following line:
  485.  
  486. [start of JEKYLL.LOK]
  487. -A:\
  488. -B:\
  489. -C:\
  490. +C:\AUTO\*.PRG
  491. [end of JEKYLL.LOK]
  492.  
  493. ...  The  remote would ONLY have access to all files ending  with
  494. '.PRG'  in  the AUTO folder of your drive C.  You  can  also  use
  495. wildcards on paths & drives, like this:
  496.  
  497. [start of JEKYLL.LOK]
  498. -A:\
  499. -B:\
  500. -C:\
  501. +C:\C*.*\*.PRG
  502. [end of JEKYLL.LOK]
  503.  
  504. The  remote now has access to all folders on your C:\ drive  that
  505. start with a 'C' (Coding,  Comms,  ...)., and all files contained
  506. in  those folders that have a '.PRG' extension.  A somewhat  more
  507. complicated example (assumed drives are A:\, B:\, C:\ and D:\):
  508.  
  509. [start of JEKYLL.LOK]
  510. -A:\
  511. -B:\
  512. -C:\
  513. -D:\
  514. +D:\UTILS\
  515. -D:\UTILS\SECRET\
  516. [end of JEKYLL.LOK]
  517.  
  518. This gives the user access to your D:\UTILS\ directory, but locks
  519. out the D:\UTILS\SECRET\ folder inside it.
  520.  
  521. IV.VI: JEKYLL.FLO
  522. -----------------
  523.  
  524. The  JEKYLL.FLO  file may contain filenames  that  Jekyll  should
  525. send. It is a simple succession of filenames. If you put a '^' in
  526. front of a file it will be deleted when it has been transmitted.
  527.  
  528. [start of JEKYLL.FLO]
  529. D:\TEST.PRG
  530. E:\DATA\MUSIC\STING.MOD
  531. ^D:\COMMS\MAIL.PKT
  532. [end of JEKYLL.FLO]
  533.  
  534. V: Jekyll's switches
  535. ====================
  536.  
  537. The   switches  are  used  to  customize  Jekyll  to   your   own
  538. environment,  and  can be passed using either the commandline  or
  539. JEKYLL.CFG. Whichever way you choose to use, the switches must be
  540. preceded by a '-'.
  541.  
  542. V.I: Toggle switches
  543. --------------------
  544.  
  545. These switches cater for many different needs.  Most of them  can
  546. be set to either on (1) or off (0).  -logl and -hand can take  on
  547. four different values.
  548.  
  549. help or ?:     These are no toggle switches,  actually.  You  can
  550.                use them to display the HELP screen.
  551.  
  552. test0/1:  Enable test mode. Default: 0/off. When you put this on,
  553.           you  can  use Jekyll without connecting -  Jekyll  will
  554.           connect with itself. This way, you can check your setup
  555.           and  adjust it as required without logging in on  BBSes
  556.           all the time.
  557.  
  558. auto0/1:  Terminate when done. Default: 0/off. This causes Jekyll
  559.           to quit when all files have been sent and received.
  560.  
  561. cheq0/1:  Check diskspace. Default: 0/off. Putting this switch on
  562.           will cause Jekyll to check whether there's enough  room
  563.           left on the disk before receiving a file. BBSses should
  564.           put this on (cheq1).
  565.  
  566. hand0/1/2/3:   Set handshake  method.  Default:  2/RTS/CTS.  This
  567.               determines the kind of hardware handshaking Jekyll
  568.           should use. 0 stands for nothing, 1 for XON/XOFF, 2 for
  569.           RTS/CTS and 3 stands for both methods.
  570.  
  571. host0/1:  Allow host mode.  Default:  1/on.  The host mode allows
  572.           the remote to request files from your drive(s).  If you
  573.           don't want him to, turn it off.
  574.  
  575. hstm0/1:  HST mode.  Default:  0/off.  This switch should only be
  576.           used  when you have a HST modem,  and are  transferring
  577.           with another HST modem (NOTE:  if you put HST mode  on,
  578.           and the other side doesn't,  HST mode will be activated
  579.           anyway!).
  580.  
  581. iled0/1:  "Smart" LED's.  Default:  0/off.  This switch should be
  582.           used  by diskbased users (iled1).  It's not  necessary,
  583.           but will improve transfer-convenience.
  584.  
  585. logl0/1/2/3:   Set loglevel. Default: 3/everything. This sets the
  586.                Level of Log (new spectacular  SF-book,  no,  just
  587.                kidding)   ...   When   put   to   3,   everything
  588.           gets  logged,  when  put to 0 only  severe  errors  are
  589.           logged. 1 & 2 are in-between values.
  590.  
  591. port[port]:    Sets  the port Jekyll should  use.  Default:  1/ST
  592.                serial.  You can use this switch to transfer along
  593.                the  MIDI  port,  or you can make use  of  the  TT
  594.           serial ports.  1 = ST serial,  3 = MIDI,  6 = Modem #1,
  595.           7 = Modem #2, 8 = serial #1, 9 = serial #2.
  596.  
  597. nocd0/1:  Don't check carrier.  Default:  0/off.  Turning this on
  598.           will  cause Jekyll not to watch the CD,  which in  most
  599.           cases  means the modems have  a  connection.  Normally,
  600.           Jekyll disconnects when the carrier is gone.
  601.  
  602. oscr0/1:  Use own screen routines.  Default:  1/on.  With the own
  603.           screen  routines,  the  screen  scrolling  is  somewhat
  604.           faster. If your screen messes up, turn it off.
  605.  
  606. oser0/1:  Use own R③232 routines.  Default: 1/on. This determines
  607.           whether  Jekyll  should use it's  own,  built-in  RS232
  608.           routines.  If it doesn't work on your machine,  turn it
  609.           off.
  610.  
  611. pack0/1:  Compress   data.   Default:   1/on.   Turning   it   on
  612.           consumes   as  much  as  60K  of   memory,   but   will
  613.           increase throughput  efficiency  remarkably  on   files
  614.        
  615.        
  616.        
  617.        
  618.         it would have
  619. to  be  typed  in  everytime you run Jekyll  which  is  not  very
  620. convenient.
  621.  
  622. IV.II: JEKYLL.MAG
  623. -----------------
  624.  
  625. JEKYLL.MAG contains all the magics you want to use.  It's  format
  626. is  simple,  and consists of a number of two line  'blocks',  the
  627. first line of every block containing the 'source'  sentence,  the
  628. second  containing  the  'destination'  sentence.   The  'source'
  629. sentence is case independant, meaning that 'CASE', 'case', 'CaSe'
  630. and 'cASe' all mean the same to Jekyll.
  631.  
  632. Various control codes have been incorporated as well.
  633.  
  634. ASCII code 1 (arrow UP) or '\u' will cause the cursor to go up.
  635. ASCII  code 2 (arrow DOWN)  or '\d' will cause the cursor  to  go
  636. down.  If  the cursor  is on the lowest  line,  the  screen  will
  637. scroll up.
  638. ASCII  code 3 (arrow RIGHT) or '\r' will cause the cursor  to  go
  639. right.
  640. ASCII  code  4 (arrow LEFT) or '\l' will cause the cursor  to  go
  641. left.
  642. ASCII  code  5 (closebox) or '\c' will  cause  your  chat  me the file.  Jekyll will compare the  incoming
  643.        and   the  already  existing  file.   When   they're   not
  644.        identical,  Jekyll  will delete the existing file &  start
  645.        receiving the incoming.  When they ARE  identical,  Jekyll
  646.        assumes the existing file did not fully come across in  an
  647.        earlier transfer,  and will to append the incoming file to
  648.        the existing file.
  649.  
  650. delx:  Always  delete  the  existing  file.  Jekyll  will  simply
  651.        delete the  existing  file  on  disk,   and  receive   the
  652.        incoming file.
  653.  
  654. skpx:  Always  skip the incoming file.  Jekyll will  just  ignore
  655.        the incoming file.
  656.  
  657. renx:  Always rename the existing file.  The file on disk will be
  658.        renamed,  and the incoming file will be received. The file
  659.        on  disk  (assuming  it's  called  "JEKYLL.LZH")  will  be
  660.        renamed to "JEKYLL.LZ1", "JEKYLL.LZ2" and so forth.
  661.  
  662. V.III: Variable switches
  663. ------------------------
  664.  
  665. The variable switches are variable, because they require variable
  666. input.  When used,  these switches should be followed by a  SPACE
  667. and another switch denoter ('-'), like: "-blok512 -...".
  668.  
  669. appl[...]:     This  switch can be used by external  applications
  670.                to write something in the JEKYLL.CFG file.  Jekyll
  671.                simply  skips  this  switch.   Behind  "appl"  one
  672.                should put a 4-char program ID,  like: "applHyde",
  673.                and  behind  that you can put whatever  you  like,
  674.                but make sure it DOES NOT include CR's or LF's!
  675.  
  676.                Hyde uses this switch to store the path + filename
  677.                of Jekyll.
  678.  
  679. blok[block  size]:   This is used to set the default  block  size
  680.                      Jekyll should use. it defaults to 512 bytes.
  681.  
  682. bpsl[baud  rate]:    This   sets  the  baudrate  Jekyll  uses  to
  683.                      calculate whether  the  remote  has   enough
  684.                time left to request a certain file.  This is only
  685.                useful  for  BBSses, and should be passed  on  the
  686.                commandline,   by  the BBS.   When  you  use  this
  687.                switch,  you should also use the 'timl[x]' switch,
  688.                described below.
  689.  
  690. bpsr[baud  rate]:   This sets the default baudrate.  [baud  rate]
  691.                     may be any of the following numbers:
  692.  
  693.                          300 for   300 baud.
  694.                         1200 for  1200 baud.
  695.                         2400 for  2400 baud.
  696.                         4800 for  4800 baud.
  697.                         9600 for  9600 baud.
  698.                        19200 for 19200 baud.
  699.  
  700. cash[cache size]:    This switch sets the cache size.  The  cache
  701.                       size may  not be larger than  65536  bytes,
  702.                and  not smaller than 1024 bytes.  If you set  the
  703.                cache size  to 0,  they're turned off.  The  cache
  704.                size defaults to 16KB (cash16384). If there is not
  705.                enough  memory,  the caches will automatically  be
  706.                turned off.
  707.  
  708. send[path]:    This  sets  the default path  for  uploading,  or:
  709.                when first opened the fileselector will be  inside
  710.                this path.
  711.  
  712. recv[path]:    This sets the path for downloads.  Everything  you
  713.                download will be dropped over here.
  714.  
  715. cout[1st chatlog]:  This sets the path + filename of the outgoing
  716.                     chatlog.  Everything you type gets stored  in
  717.                     this file.
  718.  
  719. c_in[2nd chatlog]:  This sets the path + filename of the incoming
  720.                     chatlog.  It  contains everything the  remote
  721.                     types.
  722.  
  723. fill[no.  files]:    This   switch  sets the  maximum  number  of
  724.                      files  that can be requested by the  remote.
  725.                      Useful  for  BBSses.   By  default  one  can
  726.                request an infinite amount of files (fill0).
  727.  
  728. kbsl[no.  KB's]:    This  sets  the  maximum number of  KB's  the
  729.                     remote side can request.  Again,  only really
  730.                     useful  for BBSses.  Defaults to an  infinite
  731.                number of KB's (kbsl0).
  732.  
  733. logf[logfile]:    This   sets   the  path  +  filename   of   the
  734.                   logfile,  to  which  Jekyll  will  write  every
  735.                   notable  event  that has  happened  during  the
  736.                transfer (received files,  sent files etc.).  This
  737.                logfile  is  compatible  with  Binkley's   logfile
  738.                format.
  739.  
  740. nact[no.  minutes]:  This  sets the  amount of time  after  which
  741.                      Jekyll  should  disconnect when  there's  no
  742.                      activity  (no files being sent,  no  chatting
  743.                ...). Defaults to an infinite timeout (nact0).
  744.  
  745. pagb[HHMMHHMM]:   Set page times.  Default: 00000000/always. This
  746.                   sets the time between  which you may be  paged.
  747.                   The   format   should   ALWAYS   be   HHMMHHMM,
  748.                like:  "pagb07302330".  This allows paging between
  749.                7:30 AM and 11:30 PM.
  750.  
  751. pagl[length]:  Set page length.  Default: 60 seconds.  This  sets
  752.                the number of seconds the paging should  continue.
  753.                There's a maximum of 60 seconds.
  754.  
  755. timl[no.  minutes]:    This sets the number of minutes the remote
  756.                        has left,  before Jekyll disconnects  him.
  757.                        Again, should be passed by the BBS.
  758.  
  759. "user[username]":   This  tells  Jekyll the name  of  the  REMOTE
  760.                     user.  It was meant to be used by BBSses. The
  761.                     quote marks are absolutely  necessary!  Since
  762.                Gemini   'pre-parses'  the  commandline,   it   is
  763.                impossible  to  use  this  switch  correctly  from
  764.                within it.
  765.  
  766. code[byte]:    This will DLE-encode byte [byte].  This means that
  767.                it (the byte) will not be sent literally:  it will
  768.                be  encoded  first.  This  might  be  useful  when
  769.                working  with  other systems,  who  sometimes  get
  770.                upset by certain bytes.
  771.  
  772. VI: More Jekyll functions
  773. =========================
  774.  
  775. Jekyll  features a lot of sub-functions,  like the  fileselector,
  776. the fileviewer,  and the send queue viewer.  If you want to leave
  777. whatever  subfunction,  you can press UNDO,  which will take  you
  778. back to the chat-window.
  779.  
  780. Also,  when you're inside (for example) the fileselector, you can
  781. directly access the (for example) fileviewer,  you don't have  to
  782. go back to the chat-window first.
  783.  
  784. Universal keys you can press in all subfunctions are:
  785.  
  786. Help              : Access help screen
  787. Undo              : Back to chat screen
  788. Cursor Up         : Scroll the window up one position.
  789. Cursor Down       : Scroll the window down one position.
  790. Shift-Cursor Up   : Scroll the window up one screen.
  791. Shift-Cursor Down : Scroll the window down one screen.
  792. ClrHome           : Go  to  top of window (clears screen when  in
  793.                     chat-window).
  794. Shift-ClrHome     : Goes to end of window.
  795. Ctrl-Cursor Up    : Select next music
  796. Ctrl-Cursor Down  : Select previous music
  797. Esc               : Disable chatting, enable auto-disconnect
  798. Ctrl-+            : Play  next  music (GMUS  protocol  should  be
  799.                     available!).
  800. Ctrl--            : Play  previous music (GMUS protocol should be
  801.                     available!).
  802. Ctrl-C            : Enable chatting, disable auto-disconnect
  803. Ctrl-F            : Access local directory
  804. Ctrl-H            : Access remote directory
  805. Ctrl-I            : Abort incoming file
  806. Ctrl-J            : Page remote
  807. Ctrl-O            : Abort outgoing file
  808. Ctrl-Q            : Disconnect
  809. Ctrl-T            : Access send queue
  810. Ctrl-V            : Access view buffer
  811. Ctrl-Z            : Rotate handshake info/remote uses/user name
  812.  
  813. VI.I: The fileselector
  814. ----------------------
  815.  
  816. The fileselector can be called upon by pressing Ctrl-F.  Your own
  817. chat-window  will  dissappear,  and it will be  replaced  by  the
  818. fileselector.  The current directory will be displayed,  together
  819. with  the size of every file,  it's creation date and  the  file-
  820. attributes.  You can scroll through the list using the cursorkeys
  821. UP and DOWN.
  822.  
  823. You can press a lot of keys in the fileselector,  to send  files,
  824. to delete them, rename them or view them. A list:
  825.  
  826. Return    : Send highlighted file. When the highlighted file
  827.             is a directory, Jekyll will enter that directory.
  828. Ctrl-K    : Kill the   current   file.  Jekyll  does  ask  for
  829.             confirmation first.
  830. Ctrl-L    : Load file  into  view-buffer. A message "Loading ..."
  831.             will appear  on the message line (see section  II.II,
  832.             "The statuswindow"),    which   will   change    into
  833.             "Loaded."  when  Jekyll is ready.  You can  now  view
  834.             the file using Ctrl-V (see V.III: "The fileviewer").
  835. Ctrl-M    : This will play the highlighted file, provided that a)
  836.             you have installed the Ultraplayer 2.20 or  GigaMusic
  837.             1.4, and b) the highlighted file IS a music file.
  838. Ctrl-N    : Rename  file. You will be asked to enter the new name
  839.             of the file.
  840. Ctrl-P    : Set  receive directory. This will cause Jekyll to use
  841.             the current directory as receive directory,  i.e. the
  842.             place where all incoming files (as from now on)  will
  843.             be placed.
  844. Ctrl-W    : Enter filename  to  send.  Allows  you to enter  the
  845.             filename  of  the  file that   Jekyll  should  send.
  846.             Wildcards are accepted,  so when  you,   for example,
  847.             enter  "*.*"  Jekyll  will  send  all  files  in  the
  848.             current directory.
  849. Ctrl-X    : Enter   wildcard  for  directory.  This  will  cause
  850.             Jekyll  only to show files that  match  the  entered
  851.             wildcard.
  852.  
  853. A-Z, 0-9 & '_': These 'normal' keys activate the autolocator. For
  854.             example, when you're inside a 400 file directory, and
  855.             you want to get to a file called "K_AIMB.ACC" you can
  856.             scroll for quite some time,  but an easier way is  to
  857.             press the 'K' key.  This will cause Jekyll to jump to
  858.             the first file in the directory starting with a  'K'.
  859.             Pressing  it again will cause Jekyll to jump  to  the
  860.             next file with a 'K' (perhaps "K_BIMB.ACC").
  861.  
  862. Alt-(A-Z)  :  Pressing  Alternate  in conjunction  with  a  drive
  863. letter, that drive will be accessed in the file selector.
  864.  
  865. VI.II: The send queue
  866. ---------------------
  867.  
  868. The  send queue contains those files that still need to be  sent.
  869. It can be accessed by pressing Ctrl-T. The higher the file stands
  870. in the queue,  the sooner it will get sent.  Files can end up  in
  871. the send queue for the following reasons ...
  872.  
  873. - If  Jekyll  is currently sending a file,  and you want  to send
  874.   another,  it  is added to the queue and sent when  the  current
  875.   file is finished or aborted.
  876.  
  877. - If  the  remote side requests (see VI.IV:  "The  host  mode") a
  878.   file and Jekyll is already sending a file.
  879.  
  880. In the send queue window,  on top of the standard keys (mentioned
  881. above) you can press the following keys:
  882.  
  883. Ctrl-Y   : Kill highlighted file from send queue.  The file  will
  884.            not  be deleted  from your drive,  it will  merely  be
  885.            removed from the send queue,  and therefor it will
  886.            not be sent.
  887.  
  888. Ctrl-U   : Kills  complete send queue,  so  none  of  the  files
  889.            contained in it will be sent.
  890.  
  891. VI.III: The fileviewer
  892. ----------------------
  893.  
  894. The  fileviewer  allows  you  to take a  look  at  textfiles  and
  895. documents while transferring, which prevents boredom when there's
  896. nobody to chat with.  It is activated by pressing Ctrl-V, but you
  897. should  first load a file using the fileselector (see  V.I:  "The
  898. fileselector").
  899.  
  900. Inside  the  fileviewer the standard  keys  are  available,  plus
  901. Ctrl-M,  which  dumps the page you are currently viewing  to  the
  902. other  side.  Don't do this too often,  since the CPS  will  drop
  903. quite considerably!
  904.  
  905. VI.IV: The host mode
  906. --------------------
  907.  
  908. The host mode is one of the most fascinating features of  Jekyll.
  909. It allows you to look at the drive of the host,  and request  the
  910. files  you'd like to have.  Likewise,  Jekyll  includes  advanced
  911. methods  of locking out specific parts on your drive  (see  IV.V:
  912. "JEKYLL.LOK").
  913.  
  914. The host mode can be called upon by pressing Ctrl-H.  The message
  915. line will display:  "<Drive Selector> requested".  After a while,
  916. you  will  be thrown into the drive  selector,  showing  you  the
  917. available drives of the host.  Using the cursor keys Up and  Down
  918. you  can  scroll through the list,  and make  your  selection  by
  919. pressing Return.  Again,  the status bar will  display:  "[drive]
  920. requested", where [drive] is the drive you requested.
  921.  
  922. Using the cursor keys and Return you can request files,  like  in
  923. the  fileselector.  All  files  that you request end  up  in  the
  924. remote's send queue (see V.II: "The send queue").
  925.  
  926. Keys to press in the host mode:
  927.  
  928. Return  : Requests the highlighted file.  If the highlighted file
  929.           is a directory, Jekyll will request that directory from
  930.           the remote, and, after a short pause, enter it.
  931.  
  932. Ctrl-W  : Request using wildcards.  Jekyll will  ask  you  to
  933.           enter the wildcard to request.
  934.  
  935. VI.V: The terminal
  936. ------------------
  937.  
  938. Jekyll  features  a  built-in terminal,  that  is  entered  when:
  939. there's  no  carrier,  you execute Jekyll and you have  left  the
  940. switch on (see section V.I: "General switches").
  941.  
  942. The  terminal  is not to be used as a  full-blown  communications
  943. program like Flash,  Rufus or Trapido, it is merely there so that
  944. you  can make a easy and fast connection with a  friend,  WITHOUT
  945. having to execute one of these full-blown communication programs,
  946. that eat memory and take a long time to load, while all you do is
  947. connect and run Jekyll.
  948.  
  949. When  you execute Jekyll without a carrier,  and the terminal  is
  950. on, you will see the Jekyll introscreen, and shortly after that:
  951.  
  952. Welcome to the Jekyll v1.38 Terminal
  953. (c) by vincent Partington, xx/xx/1992
  954. Press HELP for help.
  955.  
  956. Once inside this terminal, you can press the following keys:
  957.  
  958. F1     : Send ATD to your modem, which will (in case of a modem that
  959.          understands the Hayes instruction set) pick up the phone.
  960. F2     : Send ATA to your modem, which will then attempt to connect.
  961. F3     : Toggle  autostart.  Normally,  when the terminal notices  a
  962.          carrier,  it will enter Jekyll.  However, if  you  put  the
  963.          autostart off, it won't (logical ... huh?!).
  964. F4     : Set baudrate to 300 baud.
  965. F5     : Set baudrate to 1200 baud.
  966. F6     : Set baudrate to 2400 baud.
  967. F7     : Set baudrate to 4800 baud.
  968. F8     : Set baudrate to 9600 baud.
  969. F9     : Set baudrate to 19200 baud.
  970. F10    : Hang up the modem by dropping the DTR signal.
  971. Alt-Fx : Same as Fx in chat mode, own function key definition
  972.          from JEKYLL.FKS
  973. Ctrl-D : Toggle half duplex/ful duplex
  974. Ctrl-L : Toggle linefeeds
  975. Ctrl-Q : Quit Jekyll
  976. Help   : Display helptext.
  977.  
  978. VI.VI: Special features
  979. -----------------------
  980.  
  981. GMUS music loading
  982. ------------------
  983.  
  984. Jekyll  supports the GMUS protocol:  this protocol allows you  to
  985. access music players (like the Ultraplayer II/2.20 and  GigaMusic
  986. 1.4)  from within Jekyll.  Using the GMUS protocol you  can  load
  987. music files from Jekyll without having to leave Jekyll!
  988.  
  989. A  musicfile is loaded in rather the same way as a file  for  the
  990. fileviewer:  inside  the fileselector,  you highlight  the  music
  991. file to load,  and press Ctrl-M. Using the keys Ctrl-+ and Ctrl--
  992. you can check whether this music file houses more songs. Refer to
  993. the documentation supplied with your musicplayer for more info.
  994.  
  995. JEKYLL environment variabele
  996. ----------------------------
  997.  
  998. Jekyll  uses the environment variable "JEKYLL" to  determine  the
  999. path where it should look for it's configuration files. This way,
  1000. you  can  put Jekyll's configuration files in  directories  other
  1001. than Jekyll's home dir. There are several programs in the PD that
  1002. allow  you to use environment variables.  Gemini &  NeoDesk  also
  1003. allow  you  to  enter  environment  variables.   Refer  to  their
  1004. documentation for more info on that.
  1005.  
  1006. Return code
  1007. -----------
  1008.  
  1009. Since v1.32 Jekyll always returns a return code. This return code
  1010. is the total amount of kilobytes that have been transferred during
  1011. the last session. This includes files that were sent via the
  1012. command-line, the FLO-file or file-selector and those requested via
  1013. the host-mode. This value can be used by shell-programs in BBS's to
  1014. recalculate the access levels for a user. So please note that it is
  1015. NOT an error level!
  1016.  
  1017. VII: Shareware message
  1018. ======================
  1019.  
  1020. Shareware  is  a concept that enables you,  the user,  to  try  a
  1021. program for free, see if you like it and only pay for it when you
  1022. do.  This does NOT mean you can use a program for weeks &  weeks,
  1023. and  afterwards throw it away without paying for  it,  since  you
  1024. "won't  be  needing  it any longer.",  or that you  can  enjoy  a
  1025. shareware  game for months,  but get stuck at the dwarf with  the
  1026. candle  and thus find the game frustrating enough not to pay  for
  1027. it!  See  it from the other side:  when you do pay  for  it,  the
  1028. author might send you the solution ...
  1029.  
  1030. Jekyll is the result of over 8 months coding,  listening to other
  1031. users,  writing  manuals and implementing new  features,  and  we
  1032. think 25 Dutch guilders is a very reasonable fee.  You should pay
  1033. that amount of money (or any amount you feel is appropriate) when
  1034. you  are making frequent use of Jekyll.  Transfer that  money  to
  1035. giro/postbank-account nr.  6347972.  If this is an  international
  1036. transfer  please use an electronic 'swift'-transfer as  the  bank
  1037. otherwise charges nearly half of it as a transfer fee.
  1038.  
  1039. Please do,  it's not just the money, it's the feedback that keeps
  1040. programmers going!
  1041.  
  1042. VIII: Copyright notice
  1043. ======================
  1044.  
  1045. Jekyll  may be freely copied and spread as long as you  do  _NOT_
  1046. charge  anything for it,  and keep all the files in  the  archive
  1047. together! It should _ALWAYS_ contain:
  1048.  
  1049. JEKYLL.TTP
  1050. JEKYLL.DOC
  1051. HYDE.PRG
  1052. HYDE.RSC
  1053. README.138
  1054.  
  1055. If  you want to ask money for Jekyll in any way,  be it in  a  PD
  1056. library,  on  a  disk  magazine or on a disk  that  goes  with  a
  1057. magazine,  this  is  can  only be done  without  prior  _WRITTEN_
  1058. permission  of  the  author,  i.e.  Vincent  Partington.  If  you
  1059. refrain  from  doing so we will not hesitate to  undertake  legal
  1060. action! And believe me: we will.
  1061.  
  1062. For PD-libraries the following arrangement _CAN_ be made: You can
  1063. sell Jekyll for any price you like,  as long as the author,  i.e.
  1064. Vincent Partington,  gets at least 50% of the _PROFITS_, i.e. the
  1065. price minus your expenses.  Those expenses can be no more than  a
  1066. reasonable amount of money for the disk, package and postage.
  1067.  
  1068. We're  very sorry we have to be this harsh,  but if  PD-libraries
  1069. start  selling  Jekyll at the price of £10 pounds  (that's  about
  1070. the  shareware donation PLUS the disk it's on!)  without  sending
  1071. us any of the money we tend to get rather pissed-off!
  1072.  
  1073. IX: Disclaimer
  1074. ==============
  1075.  
  1076. When you use this program, you do so at your own risk! Any damage
  1077. done  to either you hard- and/or software through the use  and/or
  1078. misuse of Jekyll is considered to be _YOUR_OWN_ fault!
  1079.  
  1080. However,  we both use Jekyll a lot,  and both find it a  reliable
  1081. and  solid  piece  of work.  And since we  didn't  encounter  any
  1082. serious  bugs  in any of the previous  releases,  we  think  it's
  1083. unlikely  we'll ever find one in this version,  or in any of  the
  1084. versions that is still to come.
  1085.  
  1086. If you don't agree with the given conditions,  refrain from using
  1087. Jekyll,  and  find  yourself another  full-duplex  file  transfer
  1088. protocol.
  1089.  
  1090. X: Credits (from Vincent)
  1091. ==========
  1092.  
  1093. Credit  should  go  to  the following people  from  whom  I  have
  1094. learned things or borrowed pieces of code:
  1095.  
  1096. - Erno Meffert and Jon Webb for their sources and docs on CRC's.
  1097. - Chuck Forsberg for his docs about X-,  Y- and for Zmodem itself
  1098.   ofcourse!
  1099. - Jacob Ziv  and  Abraham  Lempel  for  their  great  compression
  1100.   alghorithms (LZ77 and LZ78).
  1101. - Terry Welch for his LZW-packing algorithm.
  1102. - Mark Nelson for his LZW-packing routine I use in Jekyll,  after
  1103.   having modified it a little bit.
  1104. - Jankowski, Reschke and Rabich for their great ProfiBuch.
  1105. - Ir. Ammeraal for his very clear books on C, ANSI C and C++.
  1106. - Whoever made the Xbios-music I use as paging-music.
  1107.  
  1108. XI: Greetings (from the both of us)
  1109. ===================================
  1110.  
  1111. I,  Vincent Partington,  would like to greet the following people
  1112. who have supported me during the whole project,  who have  giving
  1113. useful suggestions:
  1114.  
  1115. - Pascal Haakmat for his suggestions,  help, support, hints, Hyde
  1116.   and these docs!
  1117. - Joop  Koopman  and Erno Meffert for showing so  much  trust  in
  1118.   Jekyll and using it in their BBSes.
  1119. - Theo  Runia  for  updating  QuickBBS  to  v1.08  -  and  hereby
  1120.   supporting Jekyll.
  1121. - Gijs  v/d  Hammen for his critical  remarks,  especially  those
  1122.   concerning screen layout. Frain lives on!!!
  1123. - Arjen Wagenaar, Folkert van Heusden, Diederik Hoogenboom, Mario
  1124.   van  den Heuvel,  Marco Dijkman and Koos Kuil for  beta-testing
  1125.   and suggestions.
  1126. - Steve Caple,  Mark Matts,  Keith Frisby,  Steve  Basford,  Jeff
  1127.   Seifert, Paul Baker and many, many more for their useful hints.
  1128.  
  1129. And,  although  I'm way out of line here,  I - Pascal  Haakmat  -
  1130. would like to greet some people as well:
  1131.  
  1132. - Vincent Partington for lot's of hints and tips.
  1133. - Olaf  Meisiek  for his  MyDial  routines,   and  his  brilliant
  1134.   resource editor Interface.
  1135. - Marike Simons.
  1136.  
  1137. XII : Which BBSes use Jekyll?
  1138. =============================
  1139.  
  1140. Following is a list of all the BBSes that I know support Jekyll.
  1141. If your BBS also supports Jekyll and you feel that your BBS should
  1142. be put in this list, drop me a netmail stating your name, the name
  1143. of your BBS and the international telephone number to your BBS and
  1144. I'll put your BBS in the list.
  1145.  
  1146. BBS                         SysOp                   Telephone number
  1147. --------------------------------------------------------------------
  1148. 68000 Subsoft BBS           Harrie Beuvink          +31-53-777552
  1149. BearBoard QuickBBS ST       Ton Ketting             +31-10-4840224
  1150. CMS Spijkenisse             Ron de Reus             +31-1880-25521
  1151. Dutch Mountains QuickBBS ST Marcel Sacksen          +31-5723-1730
  1152. QuickBBS ST Arnhem          Erno Meffert            +31-85-644262
  1153. QuickBBS ST Leeuwarden      Theo Runia              +31-58-153849
  1154. QuickBBS ST Mergelland      John Nelissen           +31-43-251127
  1155. Star Communications         Jack Wilbers            +31-46-521353
  1156. ST QuickBBS Haarlem         Joop Koopman            +31-23-340077
  1157. Willie's BBS                Koos Kuil               +31-5978-18087
  1158.  
  1159. ======================== Appendices follow ======================
  1160.  
  1161. Appendix A: Key overview
  1162. ========================
  1163.  
  1164. This appendix contains a list of all keys used by Jekyll,  with a
  1165. short description.
  1166.  
  1167. Keys you can press anywhere
  1168. ---------------------------
  1169.  
  1170. Help              : Access help screen.
  1171. Undo              : Back to chat screen.
  1172. Cursor Up         : Scroll the window up one position.
  1173. Cursor Down       : Scroll the window down one position.
  1174. Shift-Cursor Up   : Scroll the window up one screen.
  1175. Shift-Cursor Down : Scroll the window down one screen.
  1176. ClrHome           : Go to top of window (clears screen when in  chat-window).
  1177. Shift-ClrHome     : Goes to end of window.
  1178. Ctrl-Cursor Up    : Select next music.
  1179. Ctrl-Cursor Down  : Select previous music.
  1180. Esc               : Disable chatting, enable auto-disconnect.
  1181. Ctrl-C            : Enable chatting, disable auto-disconnect.
  1182. Ctrl-F            : Access local directory.
  1183. Ctrl-H            : Access remote directory.
  1184. Ctrl-I            : Abort incoming file.
  1185. Ctrl-J            : Page remote.
  1186. Ctrl-O            : Abort outgoing file.
  1187. Ctrl-Q            : Disconnect.
  1188. Ctrl-T            : Access send queue.
  1189. Ctrl-V            : Access view buffer.
  1190. Ctrl-Z            : Rotate handshake info/remote uses/user name.
  1191.  
  1192. Keys that only work in the fileselector
  1193. ---------------------------------------
  1194.  
  1195. Return        : Send the highlighted file.
  1196. Ctrl-K        : Kill highlighted file.
  1197. Ctrl-L        : Load  a  file into the fileview buffer,  which can  be
  1198.                 viewed by pressing Ctrl-V.
  1199. Ctrl-M        : Load music.
  1200. Ctrl-N        : Rename highlighted file.
  1201. Ctrl-P        : The current path will become the receive path.
  1202. Ctrl-W        : Enter a file to send, using wildcards.
  1203. Ctrl-X        : Enter an wildcard to use on the directory.
  1204. Alt-(A-Z)     : Go to drive (Alt-A takes you to drive A, etc ...).
  1205. A-Z & 0-9 & _ : Autolocator.
  1206.  
  1207. Keys that only work in the fileviewer
  1208. -------------------------------------
  1209.  
  1210. Ctrl-M        : Dump page you are currently viewing to the other side.
  1211.  
  1212. Keys that only work in the send queue
  1213. -------------------------------------
  1214.  
  1215. Ctrl-Y        : Kill highlighted file from send queue.
  1216. Ctrl-U        : Kill all files in send queue.
  1217.  
  1218. Keys that only work in the host mode
  1219. ------------------------------------
  1220.  
  1221. Return        : Request highlighted file.
  1222. Ctrl-W        : Request file using wildcards.
  1223. A-Z & 0-9 & _ : Autolocator.
  1224.  
  1225. Appendix B: Troubleshooting guide
  1226. =================================
  1227.  
  1228. Problem:  Jekyll works fine from the desktop, but fails to launch
  1229.           when executed from a terminal program.
  1230.  
  1231. Solution: This  is  probably due to lack  of  sufficient  memory.
  1232.           When you call Jekyll from a terminal, you need at least
  1233.           1  megabyte  of memory,  depending on the size  of  the
  1234.           terminal  program.  You can also try to switch off  the
  1235.           caching  (using  cash0)  and  the  compression   (using
  1236.           pack0), which gives you some 60 KB's of extra memory.
  1237.  
  1238. Problem:  Jekyll's compression doesn't work.
  1239.  
  1240. Solution: Did  you  make  sure you turned  compression  on  using
  1241.           'pack1'? If  you did,  you probably only  send  already
  1242.           compressed files,  and these files can't be  compressed
  1243.           any further by Jekyll's compression algorithm.  Already
  1244.           compressed files can be recognized by their  extension,
  1245.           which mostly is .LZH, .ARC, .ZIP, .ZOO or .ARJ.
  1246.  
  1247. Problem:  Jekyll always quits after a transfer, but I didn't turn
  1248.           on terminate when done, 'auto1'.
  1249.  
  1250. Solution: The other side may have it turned on,  and it overrides
  1251.           your setting.
  1252.  
  1253. Problem:  The drive keeps whirring.
  1254.  
  1255. Solution: If you have turned on the smart LED's switch 'i1'  this
  1256.           is  normal:  it keeps TOS from constantly engaging  the
  1257.           drive motor,  which needs time. Jekyll simply keeps the
  1258.           motor on at all times.
  1259.  
  1260. Problem:  The screen gets messed up.
  1261.  
  1262. Solution: Turn off the own screen routines, using switch 'oscr0'.
  1263.  
  1264. Problem:  I've  set  the block size to [xx]  bytes,  but  I  keep
  1265.           receiving  with a block length of [yy]  bytes!  Sending
  1266.           does go okay, though.
  1267.  
  1268. Solution: This is normal.  When the remote sets his block size to
  1269.           2048 bytes,  he will send 2048 byte blocks, and receive
  1270.           with  the block size you specified,  whatever that  may
  1271.           be. In other words: the block size's on both sides work
  1272.           completely independant from eachother.
  1273.  
  1274. Problem:  Jekyll  doesn't work under MiNT or MultiTOS!  /  Jekyll
  1275.           does hardly work under MiNT or MultiTOS!
  1276.  
  1277. Solution: We have increased MiNT / MultiTOS compatibility in this
  1278.           new version,  yet it still doesn't work  100%.  Whether
  1279.           this is because of Jekyll,  TOSWIN or the speed of  the
  1280.           ST  we don't know.  BTW,  Jekyll _does_ transfer  under
  1281.           MiNT, however the display gets messed up. Also remember
  1282.           to put off the own screen routines (oscr0).
  1283.  
  1284. Appendix D: Examples
  1285. ====================
  1286.  
  1287. Some examples might be useful to clear things up for you.  All of
  1288. these examples are seriously meant,  and can help you greatly  in
  1289. setting up your Jekyll. The arrows ('->') should not be included.
  1290.  
  1291. Example setup for HST users
  1292. ---------------------------
  1293.  
  1294. Since   HST's   aren't   capable   of   sending   and   receiving
  1295. simulteaneously,  Jekyll includes a HST mode,  that allows you to
  1296. use  Jekyll  with HST's anyway.  Jekyll will then  send  a  file,
  1297. receive one, send one, etc.
  1298. [Example JEKYLL.CFG]
  1299. -hstm1
  1300. -recv[receive path]
  1301. -send[send path]
  1302. -logf[logfile]
  1303. [End of example]
  1304.  
  1305. Example setup for BBSses
  1306. ------------------------
  1307.  
  1308. To  integrate  Jekyll  into  your BBS,  you do  need  to  have  a
  1309. reasonable amount of memory,  because Jekyll needs about 200K and
  1310. BBS programs tend to be rather big.
  1311.  
  1312. Jekyll  has  a lot of switches that enable you to  calculate  the
  1313. download time, and much more.
  1314.  
  1315. Firstly, you create a JEKYLL.CFG file looking like this:
  1316.  
  1317. [Example JEKYLL.CFG file]
  1318. -host1                 -> host mode on
  1319. -on5                   -> timeout after 5 minutes
  1320. -recv[receive path]    -> Jekyll inbound area; see below
  1321. -logf[logfile]
  1322. [End of example]
  1323.  
  1324. This JEKYLL.CFG file has the host mode enabled,  so that the user
  1325. can  request  files.   However,   if  your  BBS  program  is  not
  1326. sophisticated  enough to pass all the parameters required  for  a
  1327. good  usage of the host mode,  it might be better to turn it  off
  1328. (switch  'host1'  on  the  first  line  should  be  changed  into
  1329. 'host0').  Also remember that when you put the host mode on,  the
  1330. user has access to all of your drives;  so you'd better create  a
  1331. good JEKYLL.LOK file.
  1332.  
  1333. Then  you create a JEKYLL.BAN file,  looking like this  (this  is
  1334. only a proposition;  but to keep things standard it might be best
  1335. to use this proposition):
  1336.  
  1337. [Example JEKYLL.BAN file]
  1338. You are connected to the Super BBS, online 24h a day!
  1339.  
  1340. -> some room for advertisement <-
  1341. System operator: John Smith
  1342. FidoNet address: 1:1/1
  1343. HaasNet address: 20:20/20
  1344. -> all your other addresses here <-[End of example]
  1345.  
  1346. This JEKYLL.BAN file is not necessary,  but it's nice to have it,
  1347. being a BBS.
  1348.  
  1349. Having  managed it so far,  you still have to pass the  following
  1350. parameters to Jekyll:
  1351.  
  1352. - the files to send
  1353. - the time the user has left
  1354. - the number of kilobytes the user can request
  1355. - the number of files the user can request
  1356. - the baudrate at which the user got a connection
  1357.  
  1358. The  last three parameters are only useful when you  have  turned
  1359. the host mode on.  The commandline that the BBS passes to  Jekyll
  1360. should thus be:
  1361.  
  1362. -timl[users  amount of time left] -kbsl[KB's  requestable   (ONLY
  1363. when host mode is on] -fill[no.  files] -bpsl[baudrate] [files to
  1364. send]
  1365.  
  1366. or:
  1367.  
  1368. -timl53 -kbsl900 -fill40 -bpsl9600 GEMINI12.LZH GEMUTLS.LZH
  1369.  
  1370. Which will let Jekyll send the files GEMINI12.LZH and GEMUTLS.LZH
  1371. from the current directory.  If you turn the host mode  off,  you
  1372. won't  be  needing  the '-kbsl900',  the  '-fill40'  and  the  '-
  1373. bpsl9600' switches.
  1374.  
  1375. Files can also be sent using the JEKYLL.FLO file:  this gives the
  1376. user  an unlimited amount of files to request(the maximum  length
  1377. for the command line is 124 characters). The BBS program should then write a
  1378. JEKYLL.FLO file,  containing all the files (with full path).  For
  1379. example:
  1380.  
  1381. [start of JEKYLL.FLO]
  1382. E:\BBS\AREAS\GEMINI\GEMINI12.LZH
  1383. E:\BBS\AREAS\GEMINI\GEMUTLS.LZH
  1384. [end of JEKYLL.FLO]
  1385.  
  1386. After the transfer, the BBS program should check whether the user
  1387. sent some files,  or not. If the user did indeed send some files,
  1388. there are two things you can do. Either you ...
  1389.  
  1390. 1) ...  make a special Jekyll directory,  where all of the  files
  1391.    that are sent using Jekyll arrive (you move them to the  right
  1392.    areas later on), or ...
  1393.  
  1394. 2) ...  make a program/get a program that allows the user to move
  1395.    the  sent file from the Jekyll inbound directory to a  certain
  1396.    file-area afterwards.
  1397.  
  1398. In either case the user should be asked for a description of  the
  1399. file he just uploaded.
  1400.  
  1401. Appendix D: Update history
  1402. ==========================
  1403.  
  1404. Jekyll  has  evolved since version 0.91beta,  and  lot's  of  new
  1405. features have been added from version to version ...  The  update
  1406. history (in chronological order)!
  1407.  
  1408. ***
  1409.  
  1410. Jekyll v1.38, released 22/11/1992, some bugs fixed.
  1411.  
  1412. -       Major RTS/CTS-bug in serial routines fixed
  1413. -       Some bugs in Hyde fixed
  1414. -       BBS-list started
  1415. -       Now works OK on TT (You may want to use -oscr0 and -oser0)
  1416.  
  1417. ***
  1418.  
  1419. Jekyll v1.37,  released 18/11/1992, especially released for the
  1420. HCC-days at Utrecht, 20 & 21/11/1992. Just 1 bug fixed and a few changes
  1421. in v1.32 and v1.36 have finally been mentioned.
  1422.  
  1423. changes finally mentioned:
  1424. -       Cache size can now go up to 64K and caches are now
  1425.         dynamically allocated
  1426. -       4K-Caches for (chat)logfiles
  1427. -       Jekyll now returns a return-code, it is the amount of
  1428.         kilobytes sent this can be useful for access level-calculations
  1429.         if a BBS uses the host-mode
  1430. -       Host-mode now by default OFF, some sysops complained about
  1431.         it being by default on
  1432. -       Bug fixed that caused Freeze Dried to run Jekyll a few times
  1433.         when you installed it with an autostart-string and that
  1434.         caused QuickBBS to sometimes get incorrect descriptions
  1435.         like "Jekyll v1.32" etc.
  1436. bugfix:
  1437. -       A small bug in the (chat)log-caches fixed
  1438.  
  1439. ***
  1440.  
  1441. Jekyll v1.36,  released 04/11/1992,  eighth release version.  Not
  1442. many new features, bugs fixed. Development is stabilising.
  1443.  
  1444. The new features in v1.36 are:
  1445.  
  1446. -       Progress bar
  1447. -       GMUS-protocol  support:  select music files for  GigaMusic  and
  1448.         Ultraplayer from within Jekyll! (Ctrl-M, Ctrl-Cursors)
  1449. -       Switches have been reassigned to four letters so their
  1450.         meaning is clearer
  1451. -       Now MiNT/MultiTOS compatible
  1452. -       Chatlog, saves everything you and the remote type in a file  (-
  1453.         cout, -c_in & -chat)
  1454. -       Environment variable for configuration (JEKYLL=)
  1455. -       Files can be automatically deleted when succesfully sent (^..)
  1456. -       Screen routines improved, now work a lot better when Jekyll's
  1457.         own routines have been turned off, no more juddery scrolling
  1458. -       TT-ports can be used (-port)
  1459. -       Many bugs fixed and other small features added....
  1460.  
  1461. ***
  1462.  
  1463. Jekyll v1.32, released 29/06/1992.  Seventh release version,  now
  1464. with    host-mode ... Why is it, everytime we THINK Jekyll's done
  1465. with, it isn't? But it's really finished now ... :-/ ...
  1466.  
  1467. The new functions in Jekyll v1.32 are:
  1468.  
  1469. -       A host-mode: one side can view the directories  of  the
  1470.         other side and even request files from it!!! (Ctrl-H)
  1471.  
  1472.         This host-mode can be controlled in several ways:
  1473.                - path/file-locking (JEKYLL.LOK)
  1474.                - limit amount of time for requests (-ol and -ob)
  1475.                - limit amount of Kb's that can be requested (-ok)
  1476.                - limit amount of files  that  can  be  requested
  1477.                  (-ov)
  1478. -       A yell/page-function (CTRL  + J)  with  page-times  for
  1479.         BBSses (-ov).
  1480. -       Hyde  has been completely redesigned and re-written  in
  1481.         C. As a direct result it finally works.
  1482. -       The documentation  has been completely rewritten:  READ IT!
  1483. -       Some timeouts that can be useful for BBSes:
  1484.  
  1485.                - amount of time left to user (-ol)
  1486.                - disconnect after a certain period of no activity
  1487.                  (-on).
  1488.                - auto-locator in file selector
  1489. -       Deleting and renaming files is now possible from within
  1490.         the fileselector (CTRL + K and CTRL + N).
  1491. -       Connection info can be redisplayed any time (CTRL + Z).
  1492. -       Version number of Jekyll is now sent to the other  side
  1493.         (Remote uses ...).
  1494. -       The text in the file JEKYLL.BAN is  sent to  the  other
  1495.         side  via the chat window after   connection.  A   BBS
  1496.         can put some info in this file.
  1497. -       Auto-disconnect (-t) can be turned off (CTRL + C).
  1498. -       Jekyll prints the estimated time  left  for  the  files
  1499.         being sent/recvd.
  1500. -       Progress-counters for resume and view-buffer-loading.
  1501. -       View buffer is quicker with long files
  1502. -       You can now dump a screen of the view  buffer  to   the
  1503.         remote (CTRL + M).
  1504. -       A small clock in the upper black bar.
  1505. -       Duplex- and linefeed toggle in  terminal (CTRL + D  and
  1506.         CTRL + L).
  1507. -       Finally works OK on TT (I hope!!!!).
  1508. -       Bug fixed in calculation of free space on disk.
  1509. -       Switch -oq removed.
  1510. -       Switch -or and -op are now ON by default!
  1511. -       Switch -oh is set to 2 (RTS/CTS) by default!
  1512. -       A lot of little things and bugs fixed
  1513.  
  1514. ***
  1515.  
  1516. Jekyll v1.20, released 25/04/1992. Sixth release   version,   now
  1517. with data compression!
  1518.  
  1519. -       Real-time data compression.
  1520. -       TT-bugs fixed.
  1521. -       Possibly better CPS-rates at high bps rates.
  1522. -       Jekyll v0.94beta, v0.95beta, v1.00  and  v1.20  are   all
  1523.         compatible!    Jekyll v0.91beta and v0.93beta   are   now
  1524.         considered obsolete.
  1525. -       Diskspace checking is now right.
  1526. -       Switches -e and -l removed because they were useless.
  1527. -       Source made easier to port (I think :-)
  1528.  
  1529. ***
  1530.  
  1531. Jekyll v1.00, released 03/04/1992. Fifth release   version,    no
  1532. longer beta!
  1533.  
  1534. -       Own RS-232 routines that allow for a faster transfer   at
  1535.         high bps rates and have a built-in RTS/CTS patch.
  1536. -       Own screen routines that make the screen display a lot
  1537.         better.
  1538. -       Send and receive caches that will prevent the drive  from
  1539.         constantly reading and writing data. This way, the CPS at
  1540.         high bps rates may also increase and you won't be  nagged
  1541.         by the drive no longer.
  1542. -       Logfile  output has been improved (both in  quantity  and
  1543.         quality!)
  1544. -       All kinds of other bugs fixed and features updated.
  1545.  
  1546. ***
  1547.  
  1548. Jekyll v0.95beta, released 15/03/1992. Fourth release    version,
  1549. some things changed:
  1550.  
  1551. -       Block size is now configurable.
  1552. -       Baud rate is configurable.
  1553. -       Fall-back in case of an error: when an    error    occurs
  1554.         Jekyll will switch to 128 byte blocks.
  1555. -       Default block size set to 512 bytes instead of 1024 bytes.
  1556. -       Setup tester added.
  1557.  
  1558. This version IS compatible with 0.94beta.
  1559.  
  1560. ***
  1561.  
  1562. Jekyll v0.94beta, released 03/03/1992.  Third   release  version,
  1563. feedback  has  finally started! Lot's of things have changed   in
  1564. this version:
  1565.  
  1566. -       Fileviewer which enables you to view through files  (also
  1567.         through 1st Wordplus files!).
  1568. -       Some protocol updates.
  1569. -       Some rather major code cleanups.
  1570. -       Send queue viewer.
  1571. -       Intro screen has been changed.
  1572. -       This doc has been COMPLETELY  rewritten,   as  lot's   of
  1573.         peoples had trouble installing Jekyll.
  1574. -       It is now possible to abort Jekyll's handshake  procedure
  1575.         by pressing CTRL + X several times.
  1576. -       Simple terminal has been added.
  1577.  
  1578. And please note the fact that EVERYTHING you do is multitasking!
  1579. Viewing, loading of a file to view ... It's fully multitasking!
  1580.  
  1581. As version 0.93beta was incompatible with version 0.91beta, this
  1582. version is incompatible with 0.93beta ... Sorry guys!
  1583.  
  1584. ***
  1585.  
  1586. Jekyll v0.93beta, released 15/02/1992. Second  release   version,
  1587. incorporating, as new stuff:
  1588.  
  1589. -       Fully multitasking item selector.
  1590. -       Smart resume added.
  1591. -       Some bugs fixed, protocol updated.
  1592. -       Name changed from Jeckyll to Jekyll (thanks to Bart   van
  1593.         Herk for this ...)
  1594.  
  1595. Version 0.93beta is NOT compatible with version 0.91beta!
  1596.  
  1597. ***
  1598.  
  1599. Jeckyll v0.91beta, released 01/02/1992. The first beta version to
  1600. be released on QuickBBS ST Arnhem (2:281/801).
  1601.  
  1602. Appendix E: Jargon guide
  1603. ========================
  1604.  
  1605. In no other field of computer-related activity jargon is used  so
  1606. much  as in the modem-world.  For those new to modeming  a  short
  1607. list with descriptions of possibly vague words is given ...
  1608.  
  1609. A
  1610. -
  1611. ASCII     ASCII   stands   for   American   Standard   Code   for
  1612.           Information  Interchange,  and is (as the name says)  a
  1613.           standard  way  of saving data.  On  every  computer,  a
  1614.           certain  letter  has a number.  The  capital  'A',  for
  1615.           instance,  has number 65 in ASCII.  And like that,  all
  1616.           numbers  between  32 and 128  have  been  standardized,
  1617.           allowing  for  a great compatibility (an ST  owner  can
  1618.           call a IBM BBS, for instance).
  1619.  
  1620. ATA       On  a  modem  using the  Hayes  commandset,  it  means:
  1621.           Answer  the phone.  Every Hayes command is preceded  by
  1622.           AT (ATtention).
  1623.  
  1624. ATD       Lets  the  modem dial,  or,  when no  number  has  been
  1625.           specified,  pick up the phone. This only works when the
  1626.           modem supports the Hayes instruction set!
  1627.  
  1628. Autolocator    The    autolocator   was   implemented   in    the
  1629.                fileselector to easily locate a file. If you press
  1630.           a key (for instance,  the 'J'), Jekyll will jump to the
  1631.           first  file  that starts with a 'J'.  If you  press  it
  1632.           again,  Jekyll will jump to the next file with a   name
  1633. that starts with a 'J'.
  1634.  
  1635.  
  1636.  
  1637. B
  1638. -
  1639. Banner    A text you want to display upon connection.
  1640.  
  1641. Bpsrate   The  number  of bits that are transferred  through  the
  1642.           line every second (Bits Per Second).
  1643.  
  1644. C
  1645. -
  1646. Cache     Jekyll's  caches  save and load everything into  memory  before
  1647.           saving/loading it to/from disk.  This causes the drive to work  only
  1648.           scarcely,   which  is  much  nicer  to  hear  than  the
  1649.           usual rattle and shake.
  1650.  
  1651. Chat      Chatting  is talking to eachother using  the  keyboard.
  1652.           You type something, the remote types something, etc.
  1653.  
  1654. Commandline    Inherited   from  MS-DOS,   the  ST   provides   a
  1655.                convenient  way of passing variables  and  strings
  1656.           (like filenames, switches ...). When, on the desktop,
  1657. you double-click on a program with the extension ".TTP"  (Tos Takes Parameters),  the desktop  comes  up
  1658.           with  a  box  asking you to fill  in  the  commandline.
  1659.           Depending  on the application,  this can  be  anything,
  1660.           ranging  from the name of the fourth vice-president  in
  1661.           America, to the number '8'.
  1662.  
  1663. Compression    Compression is used to shrink files,  without loss
  1664.           of   data.   Compression  is  done  through   a   very
  1665.           complicated mathematic algorithm,  and as the algorithm
  1666.           becomes  more complex the compression will get  better.
  1667.           However,  the  time  required  to  compress  will  also
  1668.           increase.  Jekyll uses LZW compression,  which has just
  1669. the right balance between speed and efficiency.
  1670.  
  1671. CTRL      Short form of CONTROL. Used to indicate the CONTROL key
  1672.           on your keyboard has to be pressed.
  1673.  
  1674. Cursorkeys     The  cursorkeys are the keys used to  control  the
  1675.                cursor.   They  are  the  second  block  on   your
  1676.           keyboard,  together with the HELP and UNDO keys. INSERT
  1677.           and CLR-HOME are also placed here.
  1678.  
  1679. D
  1680. -
  1681. Desktop   The  desktop  is a program that allows  you  to  easily
  1682.           delete,  copy and rename files.  It was,  together with
  1683.           the operating system (TOS and GEM) burned into your ST,
  1684.           and  is  ALWAYS  present (there's  no  system  disk  or
  1685.           whatever required).
  1686.  
  1687. Directory    Either  a  'folder' on a  disk,  or  just  the  main
  1688.              directory (contents).
  1689.  
  1690. DTR       Data Terminal Ready.  Most modems are set up to hang up
  1691.           when the DTR gets lost (in other words:  when you reset
  1692.           or  turn off the computer).  A keyboard reset will  not
  1693.           cause the DTR signal to get lost!
  1694.  
  1695. F
  1696. -
  1697. File-attributes     Another thing inherited from MS-DOS.  If  you
  1698.                     look at a file on the desktop,  you only  see
  1699.           it's name,  and whether or not it's a program. However,
  1700.           internally,  the operating system keeps some  invisible
  1701.           attributes,  like whether the file was copied,  hidden,
  1702.           read-only, etc ...
  1703.  
  1704. Fileselector   The  GEM  fileselector probably  is  a  well-known
  1705.                entity.  It would have been nice to incorporate it
  1706.           into  Jekyll,  but that's just  simply  impossible.  So
  1707.           Jekyll has it's own fileselector,  of which a  complete
  1708.           description   can  be  found  in  section   V.I:   "The
  1709.           fileselector".
  1710.  
  1711. Full-duplex    A  full-duplex  modem is capable  of  transferring
  1712.                both  ways  across  (simulteaneously  sending  and
  1713.           receiving).  Jekyll  is a protocol that supports  full-
  1714.           duplex transfers.
  1715.  
  1716. Functionkeys   The  top  row  of your  keyboard  consists  of  10
  1717.                function keys,  labeled F1 to F10.  Their function
  1718.           depends on the program you're using:  in First WordPlus
  1719.           they can be used to set certain text-styles,  in Jekyll
  1720.           the user can define his own function keys (see  section
  1721.           IV.III: "JEKYLL.FKS").
  1722.  
  1723. H
  1724. -
  1725. Handshake    Every  Jekyll  tranfer is preceded  by  a  handshake
  1726.              between  the two Jekyll's.  During  this  handshake,
  1727.           the  two  Jekyll's get to  'know'  eachother,  and  the
  1728.           functions  each Jekyll supports.  Handshaking  is  also
  1729.           used on hardware level,  to tell the other computer  it
  1730.           has  to  stop sending data until the current  flow  has
  1731.           been processed.
  1732.  
  1733. Hayes     A company that builds modems, and that came up with the
  1734.           idea  of  creating a little programming  language  that
  1735.           enabled easy access to your modem.
  1736.  
  1737. Hyde      This program is the graphical shell around Jekyll: it allows
  1738.           you to easily configure Jekyll without losing track and
  1739.           sanity. It's really tremendous, works quick and simple,
  1740.           and oh yeah, I wrote it ...
  1741.  
  1742. L
  1743. -
  1744. Locked paths   Since  Jekyll  features a host mode  (see  section
  1745.                V.IV:  "The host mode"), a good protection of your
  1746.           drives is necessary.  Therefore the file JEKYLL.LOK was
  1747.           invented (see section IV.V: "JEKYLL.LOK").
  1748.  
  1749. M
  1750. -
  1751. Magics    This name might be misleading,  but no other one was
  1752.           found. The 'magic' option in Jekyll allow you to define
  1753.           a  number  of words that are converted  into  something
  1754.           else  when you type them.  You might wish  you  convert
  1755.           "shit"  into  "***!*!J&$(&$£!".   See  section   IV.II:
  1756.           "JEKYLL.MAG".
  1757.  
  1758. P
  1759. -
  1760. Page      "Paging" is often called "Yelling", and yells for/pages
  1761.           the  remote to come to the console,  so you can have  a
  1762.           chat with him.
  1763.  
  1764. R
  1765. -
  1766. Remote    "Remote"  refers  to 'the other  side',  whatever  'the
  1767.           other  side' may be (sysop,  your friend,  small  furry
  1768.           creature from Alpha Centauri B).
  1769.  
  1770. S
  1771. -
  1772. Shareware    Shareware is a kind of software that  is  completely
  1773.             free  to   try and use,  but if you use  the  program
  1774.           regulary,  you  are supposed to pay a small  amount  of
  1775.           money  to the author.  In Jekyll's case,  this  is  fl.
  1776.           25,- dutch guilders.
  1777.  
  1778. Switches  These are used to make Jekyll behave the way you'd like
  1779.           it to behave. Jekyll is HIGHLY configurable using these
  1780.           switches. Switches can be passed using the commandline,
  1781.           or  the  configuration  file  JEKYLL.CFG  (see  section
  1782.           IV.I: "JEKYLL.CFG").
  1783.  
  1784. W
  1785. -
  1786. Window    You  will probably know windows from the  GEM  desktop,
  1787.           and  various other programs.  When used in  conjunction
  1788.           with Jekyll every single part of the screen is called a
  1789.           window.
  1790.  
  1791. Wildcards     Wildcards, also  called   'jokers', are used when you want to send a lot  of
  1792.           files.   The  '*'  stands  for  zero  or  more   unknown
  1793.           characters,   and   a  '?'  stands  for   one   unknown
  1794.           character.   For   example, 'ME?AROID.*'   applies   to
  1795.           'MEGAROID.PRG',      'MEZAROID.PRX',     'MENAROID.BL',
  1796. 'METAROID' etc.
  1797.  
  1798. X
  1799. -
  1800. Xmodem    An  archaic  and obsolete protocol,  which  only  still
  1801.           exists  because it works on EVERY machine.  It is  very
  1802.           slow and extremely userUNfriendly.
  1803.  
  1804. Z
  1805. -
  1806. Zmodem    Used  to  be one of the  best  protocols  around.  Used
  1807.           to be marveled at for it's speed and  efficiency.  Used
  1808.           to be _THE_ big thing in modem-industry. Used.
  1809.  
  1810.