home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / telecomm / storm100 / storm.doc < prev    next >
Text File  |  1993-10-30  |  41KB  |  925 lines

  1. Storm Main features:
  2.  
  3. GEM-based terminal in a window. Custom font and text routines for
  4. high-speed operation.
  5.  
  6. Multiple editing windows and capture buffer window are resizable, and
  7. moveable. Full word wrap is implemented. With MultiTOS, the number of
  8. windows is limited only by available memory.
  9.  
  10. MultiTOS compatible. Uses memory sparingly and releases unused memory back
  11. to the system.
  12.  
  13. Uses GEM clipboard for cutting and pasting text.
  14.  
  15. The script language is interpreted Basic, with powerful command extensions
  16. for telecommunication. Basic runs in its own window.
  17.  
  18. Background dialing of multiple phone numbers.
  19.  
  20. No fixed limit on dial directory entries.
  21.  
  22. Background file transfer without requiring a reset-proof ramdisk.
  23.  
  24. File transfer modules are loadable and unloadable.
  25.  
  26. Terminal emulations are loadable and unloadable.
  27.  
  28. Windows-style menu dropdowns and hotkeys.
  29.  
  30. Support for extra serial ports on TT and MegaSTE as well as Falcon serial
  31. port.
  32.  
  33. Capture buffer can be active at all times, not just when using terminal
  34. screen. You can edit or scroll through the capture buffer while continuing
  35. to capture text from the terminal or while uploading or downloading, or
  36. dialing phone numbers, or running a Basic program.
  37.  
  38. Even without MultiTOS, this is a highly multitasking program.
  39.  
  40. Installation:
  41.  
  42. Create a folder and extract the contents of the LZH file into it.
  43.  
  44. STORM.PRG is the terminal program.
  45. STORM.RSC is the resource file for the program.
  46.  
  47. Loadable file transfer modules
  48.     BPLUS.TRF: CompuServe BPlus file transfer.
  49.     XYMODEM.TRF: Xmodem and    Ymodem.
  50.     ZMODEM.TRF: Zmodem.
  51.  
  52. Loadable terminal emulations
  53.     VIDTEX.EMU: CompuServe VIDTEX terminal emulation.
  54.     VT100.EMU: VT100 and VT52 terminal emulation.
  55.  
  56. HELP.INI is a help file for Storm Basic.
  57.  
  58. As you use the program, other files may be created. They are:
  59.  
  60. STORM.INI is the initialization file containing all the user defaults.
  61. STORMKEY.INI contains the keyboard macro definitions.
  62. DIALDIR.INI contains the dial directory entries.
  63.  
  64. Double-click on STORM.PRG to run the program. The menu bar and terminal
  65. window will appear.
  66.  
  67. The terminal window always occupies a full 80 columns, which is full-width 
  68. on the normal ST monitors. The window is split into two pieces. The bottom 
  69. part is the typeahead window. The typeahead is five lines in ST Monochrome, 
  70. but only a single line in ST Medium resolution.
  71.  
  72. While you can't size the terminal window, you can move it around and
  73. overlap it with other windows. You can even close it, and terminal
  74. activity will continue on.
  75.  
  76. Using the mouse, you can select text from the terminal window. Just
  77. position the mouse cursor where you want to start and press down the left
  78. mouse button. Drag the mouse pointer to the ending location. When you
  79. release the left mouse button, you will get a popup menu letting you choose
  80. what to do with the selected text.
  81.  
  82. "Copy" copies it to the GEM clipboard. "Save" lets you save it as a text
  83. file. "Xmit" sends it out the serial port. "Upload" copies it to the
  84. GEM clipboard folder and then uploads it using the Ascii file transfer
  85. protocol, and "Print" prints it to the parallel port.
  86.  
  87. To cancel out of the popup menu, press Escape or Undo, or click the left
  88. mouse button outside the popup menu area.
  89.  
  90. ====================================================
  91.     Using the Menu bar.
  92.  
  93. Try pressing Alt-F. The File menu dropdown should appear. Now you can use
  94. the cursor keys to go up and down through the available menu items. Or,
  95. use the left and right cursor keys to move to other menu dropdowns. (Note:
  96. the Desk menu dropdown can only be accessed using the mouse, as it is
  97. controlled exclusively by GEM).
  98.  
  99. Pressing the Return key selects the currently highlighted menu selection.
  100. Escape or Undo exits.
  101.  
  102. Most menu items also have a keyboard shortcut key, which is underlined.
  103. For example, press Alt-S (for the Settings menu) and then 'S' (or Alt-S)
  104. for the Serial Port entry. You should see the serial settings dialog box
  105. appear.
  106.  
  107. I think you will find this type of menu keyboard shortcut easier to
  108. remember than assigning one unique key to every menu selection, because it
  109. is easier to remember the first letters of words than dozens of wierd
  110. control-shift-alt key combinations.
  111.  
  112.     Dialog Boxes
  113.  
  114. If you looked at the serial port setup dialog, you will see that also has
  115. keyboard shortcuts. Just press Alt-B for 'Baud' and the popup menu for
  116. baud selection appears. Since there is no editable text in this dialog box,
  117. you could have just pressed the letter 'B'. Or, click on the button beside
  118. "Baud Rate".
  119.  
  120. You can scroll through the baud rate popup menu with the cursor keys, or
  121. use the mouse. You have three ways to select an entry. Press return to
  122. select an entry, or click on it with the mouse. Some baud rate entries have
  123. underlined numbers. Press the appropriate number key to select those
  124. entries.
  125.  
  126. To cancel, press Undo, or click the mouse outside the dropdown.
  127.  
  128. To exit the dialog press Return, or press Undo to cancel and exit.
  129.  
  130. Many popup menus have the current selection indicated with a checkmark.
  131. The current selection is highlighted by default, unless the mouse is over
  132. another entry.
  133.  
  134. =========================================
  135.     Capture buffer.
  136.  
  137. The capture buffer is available at any time by selecting it from the
  138. Window menu, or by the keyboard shortcut ALT-2. (The terminal window
  139. keyboard shortcut is ALT-1.) The capture window is a GEM-based editor in a
  140. window. The window can be sized and moved anywhere on the screen. Cut and
  141. paste uses the GEM clipboard.
  142.  
  143. You toggle capture on and off by selecting the first item in the Capture
  144. menu. This item is either "Capture On" or "Capture Off", depending on
  145. whether the capture is currently on or off. When capture is enabled, a
  146. plus sign '+' appears beside the Capture menu heading. Note: Capture
  147. strips out all control codes and escape sequences.
  148.  
  149. You don't have to have the terminal window on top, or even open, for
  150. capture to operate. You don't even have to have the capture buffer window
  151. open. This is particularly useful with high speed modems. You could turn
  152. capture on, close the terminal window, switch to the capture buffer window,
  153. and read messages at your own pace.
  154.  
  155.     Editing text
  156.  
  157. In the capture buffer, or other editing windows, you can use the cursor
  158. keys to move around. Up and down move up and down one line. Left and right
  159. move up and down one line. Shift-left moves to the start of the line,
  160. shift-right moves to the end. Shift-up moves up a screenful of text,
  161. shift-down moves down a screenful of text.
  162.  
  163. Clr/Home moves to the start of text, Shift-Clr/Home moves to the end of
  164. text in an editing window.
  165.  
  166. You can also position the cursor by using the mouse and clicking where you
  167. want the cursor to appear.
  168.  
  169. 'Delete' deletes the character under the cursor, backspace deletes to the
  170. left of the cursor. Shift-delete deletes to the end of the line.
  171.  
  172. The number of lines and the current cursor location is displayed in an
  173. information line at the top of the screen. This information line updates a
  174. couple of times a second. (Continuous updating would have been too slow.)
  175.  
  176. Unlike the original Flash, this editor does full wordwrap, whether
  177. inserting or deleting text. However, pressing the Return key forces a hard
  178. end of line. Also, the editor will NOT slow down when editing large files,
  179. and it allocates and releases memory dynamically.
  180.  
  181. When loading a file, an alert appears asking whether to wrap the text or
  182. not. The program figures out what should be word wrapped by looking at the
  183. ends of lines. A single space at the end of a line means a line gets
  184. wrapped. By default, saving text will leave that space at the end of the
  185. line whereas trailing spaces get removed from lines with hard returns. So
  186. most files you save and load can still be wordwrapped.
  187.  
  188. Unfortunately some files may contain extra spaces at the ends of lines or
  189. other formatting which should not be wrapped. You can choose not to word
  190. wrap text files when loading them. In the Edit Window Settings dialog box
  191. you have three choices for word wrapping when you load a file; Yes, No, and
  192. Ask. 'Ask' means that an alert box will always appear (after you have
  193. selected a file to load) asking you if you want to word wrap the file or
  194. not. Choosing 'Yes' or 'No' in the settings dialog box instead of 'Ask'
  195. means the alert box will not appear.
  196.  
  197. This setting is saved separately for the capture buffer, the typeahead,
  198. and all other edit window, depending on what window is on top when the
  199. dialog box appears. My recommendation is to set AutoWrap to "Yes" for the
  200. Capture Buffer, and "Ask" for other edit windows.
  201.  
  202.     Setting tab size and word wrap
  203.  
  204. The "Editor" selection in the "Settings" menu lets you select tab size and 
  205. line width. I recommend that you leave word wrap at 80 for the capture 
  206. buffer to avoid problems when capturing text.
  207.  
  208.     Cutting and pasting
  209.  
  210. Move the mouse to where you want the text selection to start. Hold down
  211. the left mouse button and drag the mouse in the direction you want to
  212. select text. Moving past the window boundaries will scroll the window.
  213.  
  214. When you release the mouse button, you get a popup menu of choices; Cut,
  215. Copy, Save, Delete, Upload, Xmit and Print. 'Cut' copies the text to the
  216. clipboard and deletes it. 'Copy' copies the text to the clipboard and
  217. leaves the original text intact. 'Delete' deletes the selected text
  218. entirely. The other options were described previously for the terminal
  219. window.
  220.  
  221.     File Menu
  222.  
  223. "Save" saves the file to the filename it was originally loaded from. If
  224. there is no filename associated with the window, then you are prompted for
  225. a filename.
  226.  
  227. "Save As..." lets you save the text to a file. If the file on disk already 
  228. exists, you get the option of overwriting it, appending the current buffer 
  229. to it, or cancelling.
  230.  
  231. "Load..." lets you load a new file into the buffer. Any existing text is 
  232. lost.
  233.  
  234. "Clear" erases the buffer.
  235.  
  236. "Open" creates a new editing window and then lets you use the file selector
  237. to load a file into it.
  238.  
  239. "Open New" creates a new editing window, initially empty.
  240.  
  241. While there is only one capture buffer, you can have multiple editing 
  242. windows. The number of windows is limited by GEM. With MultiTOS, there is
  243. no fixed limit.
  244.  
  245. The File menu choices always act on whatever editing window which is
  246. currently on top. If the terminal window is on top and the typeahead is
  247. active, the File menu choices act on the typeahead.
  248.  
  249.     Edit menu
  250.  
  251. "Paste" pastes the contents of the clipboard into the current editing
  252. window. It's used when cutting and pasting between windows. Shift-Insert is
  253. the keyboard shortcut to Paste text.
  254.  
  255. "Find" searches for text. If you want to search for a hard return, type
  256. Control-M and a tiny 'c/r' symbol will appear. You can search forwards or
  257. backwards, and select case-insensitive searches.
  258.  
  259. "Find Next" continues the previous search.
  260.  
  261. "Replace" is not yet implemented. This item is always disabled.
  262.  
  263. Capture menu.
  264.  
  265. The first item in the capture menu appears as "Capture On" if capture is
  266. currently off, or "Capture Off" if capture is on. Press ALT-C twice to
  267. toggle capture on or off.
  268.  
  269. "Erase Buffer" works just like the "Clear" option in the File menu, except
  270. it only affects the capture buffer.
  271.  
  272. "New Capture" turns the capture buffer into a normal editing window and
  273. creates a new capture buffer window. If you log on to several BBS'S or
  274. online services, you can create a new capture buffer for each one.
  275.  
  276. "Save As..." acts like the "Save As..." in the File menu, but only acts on
  277. the capture buffer. This is useful for saving the capture buffer from the
  278. terminal screen without having to switch to the capture buffer window.
  279.  
  280. Window menu
  281.  
  282. The Window menu lists the available windows you can switch between. The
  283. first three windows, Terminal, Capture, and Basic, are always available.
  284. The next seven entries are for editing windows. When you open an editing
  285. window, it is listed in the Window menu. The final entry is for the File
  286. Transfer window, which is only active during file transfers.
  287.  
  288. You may wonder why there are slots for ten windows, when GEM only allows a
  289. maximum of eight. Well, MultiTOS allows as many windows as memory permits.
  290. Also, there is a German program that increases the number of windows,
  291. though I have not been able to get it to work with my MegaSTE.
  292.  
  293. The Basic command TOPW n will force the specified window to the top. e.g.
  294. "TOPW 1" puts the terminal window on top.
  295. =========================================
  296.  
  297. Settings menu
  298.  
  299. Serial Port settings should work with all ST's and TT's. Most items should
  300. be self-explanatory. Just click on the button, or press the keyboard
  301. equivalent key to either pop up a menu or toggle a selection.
  302.  
  303. You should always have some sort of flow control enabled. Otherwise, if
  304. you go into a menu or dialog box, text coming in the serial port will be
  305. lost. If you are using a high-speed modem, I recommend CTS/RTS, otherwise
  306. use XON/XOFF. You may need one of the serial patch programs if you have
  307. one of the many TOS versions with broken serial port routines.
  308.  
  309. Terminal Settings
  310.  
  311. BS Erases controls whether backspace just moves the cursor backwards, or
  312. erases the character as well (in the terminal screen). Other options are
  313. Half Duplex, Reverse Video, adding line feeds to inbound and/or outbound
  314. carriage returns, and whether text automatically continues on the next
  315. line after the end of line is reached.
  316.  
  317. A popup menu for Emulation lets you choose terminal emulation. Currently
  318. there are three choices, VT100, Vidtex, and TTY. TTY is a build-in dumb
  319. terminal emulation.
  320.  
  321. IMPORTANT NOTE:
  322.     These are default settings that are activated when you first run the 
  323. program. In the dial directory editor you can choose specific terminal 
  324. settings for a particular BBS or online service. When you dial and make a 
  325. connection, your terminal settings are updated to reflect the dial 
  326. directory settings. If you haven't made ANY selections in the dial 
  327. directory editor, then the terminal settings are not changed.
  328.  
  329.  
  330. Emulations
  331.  
  332. The terminal emulations dialog box lets you load, unload, and configure
  333. the loadable terminal emulations. Currently available emulations include
  334. TTY, VIDTEX, and VT100. There are slots for seven terminal emulations, six
  335. of which can be loadable. (TTY is always resident).
  336.  
  337. Click on a slot marked "Empty" and select "Load" to load a new terminal
  338. emulation.
  339.  
  340. Click on an occupied slot and you can select Unload or Config. (You cannot
  341. unload TTY). Selecting Config brings up a configuration dialog box.
  342.  
  343.  
  344. Typeahead
  345.  
  346. The typeahead window is located below the terminal screen window. You can
  347. reach the typeahead window either by clicking the mouse inside it, or by
  348. pressing the Insert key. Exit the typeahead window with the Escape key.
  349.  
  350. The typeahead window is actually a full editing window. You can load any
  351. size file into it (using the File menu) as well as cut and paste to and
  352. from it. You can compose complete messages inside it.
  353.  
  354. In the settings menu you can choose one of three keys which will transmit
  355. the typeahead window out the serial port; Return, Control-Return, or
  356. Keypad Enter. Once the typeahead is transmitted, the typeahead window is
  357. cleared.
  358.  
  359. You can also choose whether carriage returns are added at the end of EACH
  360. line, or just when hard returns are present. Some conferencing systems
  361. will accept multiple lines with only one carriage return at the end.
  362. Others limit lines to 80 characters.
  363.  
  364. "Prefix" and "Suffix" are text strings that are send at the start and end
  365. of lines.
  366.  
  367. All control characters are automatically passed through directly to the
  368. terminal screen. e.g. Control-S and Control-Q.
  369.  
  370. =======================================================
  371.  
  372. Modem Settings.
  373.  
  374. These are used by the dialer to dial numbers. The default values should
  375. work for most modems.
  376.  
  377. Modem Init is sent once only, when you first run the program. Unless your
  378. modem specifically requires a setup each time you run the program, I
  379. suggest you leave this blank.
  380.  
  381. Wait XX seconds for connection allows you to set the delay before the
  382. carrier detect times out.
  383.  
  384. Dial Prefix is the dialing command. Dial Suffix is send after the dialing
  385. command and phone number. It is normally a single carriage return, entered
  386. using Control-M.
  387.  
  388. Hardware DCD (Data Carrier Detect) works on all TT, MegaSTE and
  389. Falcon serial ports.
  390.  
  391. Inter-Character delay is actually the number of vertical blank periods to
  392. skip between sending characters to the modem. It should only be necessary
  393. to set a delay for older modems. Most moderm modems will accept commands
  394. at full speed.
  395.  
  396. Keyboard Macros
  397.  
  398. These let you assign strings to function keys and the cursor keys, both
  399. normal and shifted. In some cases, terminal emulations may override cursor
  400. key macros. In any case, the cursor key macros are only active when the
  401. terminal window is active. The function key macros are active in whatever
  402. window is currently on top.
  403.  
  404. Keyboard macros can also be defined as Basic commands. These are also
  405. available at any time, even if a Basic program is currently running.
  406.  
  407. Macro strings are recorded in the STORMKEY.INI file. They are indexed
  408. according to the GEM scan code they produce (in hexidecimal format),
  409. modified to include information about shift-control-alt key status.
  410.  
  411. Example:
  412.  
  413. F1 returns a GEM scancode of 0x3b00 (hexadecimal) and is listed in the
  414. STORMKEY.INI file under the heading [3b00].
  415.  
  416. Shift-F1 returns a GEM scancode of 0x5400 (hexadecimal). However, shift is
  417. represented by 0x30000 (either left or right shift keys or both are
  418. represented by 0x30000). So Shift-F1 is stored under the heading [35400].
  419.  
  420. Control is represented by 0x40000, ALT by 0x80000.
  421.  
  422. What this means is that most keystrokes that can be described by scancode
  423. and shift-control-alt code can be inserted into the STORMKEY.INI file,
  424. though there is no user interface for doing this at present - you have to
  425. do it by hand.
  426.  
  427. The program first lets the keystroke get interpreted by the currently
  428. active window. If the window uses/understands the keystroke, for example
  429. in editing text, or dropping down a menu, then the keystroke is not looked
  430. up in the STORMKEY.INI table. This is why cursor key macros are only
  431. active in the terminal window, not in an editing window. Conversely,
  432. control key macros are inactive in the terminal and typeahead windows.
  433. Note: You cannot define a macro for any printable Ascii character.
  434.  
  435. You can also choose whether a keyboard macro is a command for the Basic
  436. interpreter or not. Macros that are Basic commands actually interrupt any
  437. Basic program that is running.
  438.  
  439. How Basic keys macros work.
  440.  
  441. Storm will create and initialize a new Basic interpreter for the key macro. 
  442. The macro can contain any Basic commands, or a command to run a Basic 
  443. program.
  444.  
  445. Normally, when the command finishes executing, the Basic interpeter will
  446. pop back to the previously Basic and continue where it left off. However,
  447. there are a few cases where this will not happen.
  448.  
  449. For example, if there is an error when running the program, the program 
  450. will stop and remain in the new Basic interpreter. To exit, type END. The 
  451. same thing happens if you press UNDO or the STOP command is executed.
  452.  
  453. Another situation that will leave you in the new Basic interpeter is if
  454. you have a PAUSE, WAIT or other command in the key definition that pauses
  455. execution. The solution there is to add an END at the end of the key
  456. definition to ensure that you exit properly.
  457.  
  458. Note: Keyboard macros interrupt any currently running Basic program, at
  459. the end of executing the current line, or if the current Basic in a WAIT
  460. or PAUSE condition. Try defining a function key as "RUN "BUBBLE.BAS" for
  461. example. You can keep pressing the function key to run new copies of the
  462. program as much as you want.
  463.  
  464. ALT-key macro editor.
  465.  
  466. Lets you define Basic commands for Alt key combinations that are not used
  467. by the menu bar handler. The Alt key macros are Basic commands by default.
  468. You can edit the STORMKEY.INI file and manually change the UseBasic entry
  469. if you must, and the Alt key editor will not set it back to using Basic.
  470.  
  471. If you want an ALT key macro to always clear the current editor window,
  472. whether it is the typeahead, capture or whatever, try this:
  473.  
  474.     if Alert(1,"[2][Erase?][Yes|No]")=1 then menu 1,4
  475.  
  476.     Sample macros to hang up the modem.
  477.  
  478. (hardware method)
  479.     DTR OFF:PAUSE 1:DTR ON:END
  480. (Software method)
  481.     PAUSE 1:TYPE"+++";:PAUSE 1:END
  482.  
  483. You need to put END at the end of macros with PAUSE or WAIT or POPUP and
  484. other commands that don't execute immediately, else the new Basic
  485. interpreter created for the macro won't exit.
  486.  
  487. Key macros are limited to 128 characters in length. However, macros
  488. longer than 70 characters should be restricted to keys which are
  489. not visible in the function key or alt key dialogs, otherwise the dialog
  490. procedure will truncate the macro text.
  491.  
  492. The Find dialog and the Find Next dialog always look at the STORM.INI 
  493. profile
  494. file [Search] section. This allows keyboard macros of the following form:
  495.  
  496. The following define Control-S to initiate a new forward search,
  497. Shift-Control-S for a repeat forward search,
  498. Control-R to initiate a new reverse search and
  499. Shift-Control-R for a repeat reverse search.
  500.  
  501. The \" sequences are absolutely necessary to handle embedded quote 
  502. characters.
  503.  
  504. If you want the previous search text cleared out, add the statement:
  505.  
  506.     SET \"STORM\",\"Search\",\"Text\",\"\"
  507. to the appropriate macro.
  508.  
  509.  
  510. [41f13]
  511. UseBasic=1
  512. Key="SET \"STORM\",\"Search\",\"Direction\",1:MENU 2,1"
  513. ;Control-S prompts for forward search
  514.  
  515. [71f13]
  516. UseBasic=1
  517. Key="SET \"STORM\",\"Search\",\"Direction\",1:MENU 2,2"
  518. ;Control-Shift-R calls repeat forward search
  519.  
  520. [41312]
  521. UseBasic=1
  522. Key="SET \"STORM\",\"Search\",\"Direction\",0:MENU 2,1"
  523. ;Control-R prompts for reverse search
  524.  
  525. [71312]
  526. UseBasic=1
  527. Key="SET \"STORM\",\"Search\",\"Direction\",0:MENU 2,2"
  528. ;Control-Shift-R calls reverse repeat search
  529.  
  530.  
  531. Storm will automatically ignore these macros in the terminal screen and
  532. typeahead, since control characters are required for the proper
  533. operation of these areas.
  534.  
  535. Some Flash-compatible Alt-key macros.
  536.  
  537. ALT-A:  f$ = FSEL$("\*.BAS",""):IF LEN(f$) THEN RUN f$
  538. ALT-L:  LFEED /
  539. ALT-P:  DUPLEX /
  540. ALT-Q:  CD FSELPATH$("")
  541. ALT-R:  x = DLOAD("XMODEM")
  542. ALT-T:  TOPW 1:MENU 4,2
  543. ALT-X:  MENU 1,10
  544.  
  545. =======================================
  546.  
  547. Dial Directory Editor
  548.  
  549. The dial directory editor is deceptively simple. There are two fields, one
  550. for the BBS/online service name, another for the phone number. However, if
  551. you double-click on a name you get a menu of additional choices; Serial
  552. Setup, Terminal, and Auto-Logon.
  553.  
  554. Serial Setup lets you specify baud rate and other serial settings.
  555. However, you cannot specify a particular serial port (on machines with
  556. extra serial ports.) Instead, the dialer will use whatever serial port is
  557. currently selected. The reason for this is that most people will probably
  558. keep their modem on the same serial port, and if you do switch the modem to
  559. another port, you won't want to have to go through the dial directory and
  560. change the serial port for every entry.
  561.  
  562. Terminal lets you specify terminal preferences. e.g. Select Half Duplex
  563. for Genie but full duplex for most others. These will override any default 
  564. settings you may have made and will be activated when the modem connects.
  565.  
  566. Auto-Logon lets you specify an auto logon file. This should be the
  567. filename (without path or drive) of the Basic program that gets run when a
  568. connection is made. The path for the auto-logon files is selected with the
  569. Auto-Logon Path button in the dial directory editor.
  570.  
  571. As with function keys, the auto-logon Basic program is able to interrupt
  572. any currently running Basic program and run in its own Basic interpreter.
  573. When the logon finishes, any interrupted Basic program starts running
  574. again.
  575.  
  576. The dialer entries are saved in a file named "DIALDIR.INI". That file is
  577. similar in layout to the storm.ini file so I use much of the same code for
  578. it.
  579.  
  580. Each entry is numbered in the DIALDIR.INI file from [1] to the number of
  581. entries. However, blank entries don't get saved. You can change the serial
  582. settings and terminal preferences by double clicking on a name. A popup
  583. menu appears, then you go to the appropriate setup dialog.
  584.  
  585.  
  586. DIALDIR.INI is saved every time you exit the program if there are changes
  587. to be saved. Only if you actually set serial port settings or terminal
  588. preferences are these entered into the dialdir.ini file. That saves a lot
  589. of file space and simplifies matters if you have a 9600 baud modem and
  590. always use the same settings.
  591.  
  592. In the STORM.INI file, in the [Dialer] section, there is a setting for
  593. Entries. The default is Entries=60. Change this number to add or remove
  594. the number of available entries in the dial directory editor. The number
  595. of entries is limited only by memory.
  596.  
  597. Dialing
  598.  
  599. To dial, select "Dial" from Dial menu. Select names from the list of
  600. available entries. You can select more than one name, and the list of
  601. names will be dialed in order, until a connection is made.
  602.  
  603. The number of redials is zero by default. You can select 1 to 999 redials
  604. and the program will redial the list that many times, until a connection
  605. is made.
  606.  
  607. Dialing is handled in a vertical blank interrupt. So you can be editing
  608. files, or whatever, while dialing is going on in the background. However,
  609. the auto-logon is not done in the background. So if you are busy in the
  610. menu bar or a file selector or a dialog box and a connection is made, the
  611. logon will not start till you go back to the main program.
  612.  
  613. A special feature of Storm is that the dialer auto-logon creates a new copy
  614. of the Basic interpreter and runs the auto-logon in that copy. When the
  615. auto-logon terminates, control passes back to the original Basic
  616. interpreter. This means that you can be in the middle of running a Basic
  617. program and still dial and auto-logon. This applies even if the Basic
  618. program was in the middle of a WAIT or PAUSE. However, the WAIT or PAUSE
  619. will not be in effect during the auto logon. It will pick up where it left
  620. off when the auto logon finishes.
  621.  
  622. When the auto-logon finishes, the Basic interpreter it was running it is 
  623. removed and the auto-logon program disappears from memory. However, if 
  624. there was an Basic error, then the auto-logon program will remain in 
  625. memory, together with an error message that will (hopefully) assist you in 
  626. figuring out what went wrong.
  627.  
  628. =====================================================
  629.  
  630. File Transfer Setup
  631.  
  632. File transfer protocols are loaded, unloaded, or configured via the
  633. "Transfer Protocols" dialog box (Select File Transfer... from the Settings 
  634. Menu.) The transfer protocols included with this version include
  635. BPLUS.TRF, ZMODEM.TRF and XYMODEM.TRF. The XYMODEM.TRF file handles
  636. XMODEM, XMODEM-1K, YMODEM, and YMODEM-G protocols. The ZMODEM.TRF file
  637. handles ZMODEM protocol. The BPLUS.TRF file does CompuServe BPlus file
  638. transfer protocols including resumable downloads.
  639.  
  640. Select File Transfer from the Settings menu. Currently loaded protocols
  641. are listed in the Transfer Protocols dialog box. There are slots for up to
  642. seven loadable protocol modules, however the first slot is reserved for
  643. ASCII file transfer, which is a build-in protocol. The empty slots are
  644. marked with the word 'Empty'.
  645. For a loaded protocol, the options are Unload and Config. Unload removes
  646. the loaded protocol from memory. Config brings up the protocol
  647. configuration dialog box, which is built-in to the transfer protocol
  648. module.
  649.  
  650. If you select one of the "Empty" slots then the only available options is
  651. Load, which brings up a file selector. Choose a transfer module and it
  652. will be loaded into the blank slot.
  653.  
  654. Download Path
  655.  
  656. This button now appears in all the file transfer setup boxes. It brings up
  657. a file selector that lets you choose the download directory. This sets the
  658. global download path that applies to all file transfers. i.e. you only
  659. need to set the download path ONCE, and not in each and every file
  660. transfer setup.
  661.  
  662. File Transfers
  663.  
  664. The File menu includes two menu items, Download and Upload. When you
  665. select one of these, the program interrogates each file transfer modules
  666. for a list of available protocols, which it displays in a popup menu.
  667. There are slots for up to twelve transfer protocols. (BPlus is started
  668. automatically by CompuServe and so it doesn't appear in the popup menu.)
  669.  
  670. Depending on the transfer protocol, you may or may not get a file selector 
  671. box. Ymodem and Ymodem-G downloads receive the file name from the sending 
  672. system, so selecting either of them just brings up the file
  673. transfer window.
  674.  
  675. Note: Currently you can only pick a single file for uploads and you cannot 
  676. use wildcards. You can use multiple files if you call a protocol
  677. from Basic.
  678.  
  679. File transfer information is displayed in a file transfer window, which
  680. can be moved around the screen and overlapped by other windows. All file
  681. transfer serial operations are carried out in the vertical blank interrupt,
  682. which permits background file transfer, with a few limitations.
  683.  
  684. The transfer protocols use a 64K buffer to hold file data being 
  685. transferred. As the buffer empties (during uploads) or fills (during 
  686. downloads) the main program periodically refills it or empties it as 
  687. appropriate. The only times you can run into problems are if you keep the
  688. mouse in the menu bar, a file selector, or an alert box for an extended
  689. period of time so that the transfer buffer fills up (during downloads) or
  690. empties (during uploads). At 9600 baud, this takes about a minute. At 2400
  691. baud it takes four minutes. You CAN keep any of the programs dialog boxes
  692. or up on the screen as long as you wish without interrupting the file
  693. transfer. If the file is smaller than the transfer buffer, you don't have
  694. a problem. Obviously, you cannot quit the program during file transfer,
  695. but you can edit, load, or save files and review the capture buffer. Note:
  696. The 64K buffer is allocated at the start of a file transfer, and released
  697. at the end.
  698.  
  699. This is not a true background file transfer in the sense of Shadow or
  700. other such background file transfer programs, but on the positive side, it
  701. doesn't require the setting aside of large amounts of memory for
  702. reset-proof ramdisks.
  703.  
  704. When used with MultiTOS, you will be able to switch to other programs and
  705. the file transfer will continue.
  706.  
  707. I don't currently have a module for Shadow support because I wanted to
  708. work out the techniques for my own file transfer modules first. Shadow
  709. support will simply be another loadable module.
  710.  
  711. With CompuServe BPlus file download, if a file already exists you get an
  712. alert box with the options of cancelling the file transfer, overwriting
  713. the file, or resuming the file transfer. Obviously, you should only resume
  714. the file transfer if the file transfer was interrupted in the first
  715. place.
  716.  
  717. Exiting
  718.  
  719. When exiting the program, you get a dialog box where you can select
  720. whether to update the preference file, dial directory, and keyboard
  721. macros. This is useful if you update these files using the Storm text
  722. editor and don't want to have what you did overwritten. Or, you may want
  723. to always come up with the same defaults. The buttons in this dialog box
  724. are selected only if the corresponding ".INI" file has been changed.
  725.  
  726. The appropriate section of the STORM.INI file is:
  727.  
  728. [Exit]
  729. SaveProfile=n
  730. SaveDialDir=n
  731. SaveFunctionKeys=n
  732.  
  733. If n is zero, then the ".INI" file is marked as "not changed" which means
  734. that in the exit dialog box, the button corresponding to that file will
  735. always be cleared.
  736.  
  737. You can also put in an entry: QuitDialog=0 which will prevent the exit 
  738. dialog from coming up at all. In any case, if none of the INI files have
  739. been changed, and none of the edit buffers have been changed and not
  740. saved, the exit dialog will not appear.
  741.  
  742. If you want to make manual changes to any of the .INI files, the correct
  743. way is to load the file into the text editor, make the changes, save the
  744. file, then quit the program and deselect the appropriate "Save" button in
  745. the exit dialog. Even better, edit the file using a separate text editor.
  746.  
  747. Zmodem options.
  748.  
  749. Most of the time you can leave the options alone, but they are offered to
  750. help you deal with unusual situations and special requirements.
  751.  
  752. CRC-32
  753.  
  754. Don't disable this unless you are having problems with a (probably very
  755. old) Zmodem program. Even programs that don't support 32-bit CRC's should
  756. know how to use the documented Zmodem way to tell the other size to use
  757. 16-bit CRC's.
  758.  
  759. Long Timeouts
  760.  
  761. You may need to enable this for Genie or other networks. Leave it off
  762. otherwise, as it may slow down error recovery.
  763.  
  764. Escape Controls
  765.  
  766. Only needed for certain networks or environments that choke on control
  767. codes. Slows down file transmission because two characters are send for
  768. every control character.
  769.  
  770. Full Pathnames
  771.  
  772. Normally, only the bare filename is sent/received and downloaded files are
  773. placed in the download directory. The full pathname feature may be useful
  774. if you are transferring files and want certain files to go in specified
  775. directories. In that case, set the default path to the root of the
  776. destination drive. e.g. C:\. Zmodem will NOT create directories that don't
  777. already exist!
  778.  
  779. Force Binary Mode
  780.  
  781. When uploading, the program will check the file to see if it's really a
  782. text file. Any characters over 126 ascii, or wierd control characters, and
  783. the file gets sent as binary. If you never upload text files with Zmodem,
  784. or you don't care about carriage return/line feed translation, select this
  785. option.
  786.  
  787. Autostart Transfers
  788.  
  789. This causes downloads to start automatically when the other system sends
  790. the appropriate message to Storm. Only disable it if you are running on a
  791. system that sends CAN (Control-X) for reasons other than starting Zmodem.
  792. Or, if you suffer from a lot of line noise that might generate spurious
  793. Control-X's.
  794.  
  795. Note: To force resumption a file download, you should use the Zm. Resume
  796. options under the "Download" or "Upload" file menu.
  797.  
  798.  
  799. Upload and Download file management options.
  800.  
  801. Upload options are commands sent to the receiver telling it how to decide
  802. whether to actually transfer a file or not. For example, transfer only
  803. files that are newer or longer. The receiver is free to accept or ignore
  804. the file management commands.
  805.  
  806. Normally, it is the job of the file sender to specify file managment.
  807. Download options can be used to override the file sender commands, or when
  808. the sender never sends file management commands.
  809.  
  810. Some of the file management commands rely on comparing file timestamps in
  811. the source and destinations systems. The file timestamps need to be
  812. adjusted to GMT (Greenwich Mean Time) for transmission. Storm assumes that
  813. the ST system file dates are based on the local time zone. In order to
  814. tell Storm how to adjust the timestamp, you will need to set the
  815. environment variable TZ to your local time zone, using the ENVIRON command
  816. (described elsewhere). e.g ENVIRON "TZ=EST5". (You may also be able to set
  817. the TZ environment variable from the Environment CPX.) The first three
  818. letters are the abbreviation for your time zone, the digit is the number
  819. of hours offset from GMT, which is the important part.
  820.  
  821. The most useful file management commands (in my opinion) are:
  822.  
  823. 'Overwrite destination'
  824.  
  825. Always overwrites the destination file, erasing any existing file.
  826.  
  827. 'Never overwrite'
  828.  
  829. If the file already exists, skip that file.
  830.  
  831. 'Change name if file exists'
  832.  
  833. This protects you from accidentally overwriting a file. Changes the last 
  834. letter of the filename to a digit, starting at '0' and continuing to '9' 
  835. until a filename is found that doesn't already exist. If this fails, skips 
  836. that file.
  837.  
  838. If you don't choose any file management commands, and the sender doesn't
  839. specify any either, then the default behaviour is to overwrite the
  840. destination file, even if it already exists.
  841.  
  842. Ascii Upload/Download
  843.  
  844. This is a built-in file transfer. You can configure it through the transfer 
  845. protocols dialog box. There is no progress indicator for Ascii
  846. transfers, though the Terminal window title bar will display the message
  847. [Ascii UL] or [Ascii DL] while a transfer is in progress.
  848.  
  849. Available options for Upload are Strip Line Feeds, Prompting, Pause, and
  850. Expand Blank Lines. Strip Line Feeds removes line feed characters.
  851. Prompting lets you specify a prompt, up to four characters long, that the
  852. program will wait for before sending the next line. You can also specify a
  853. pause before sending the next line, in units of 1/2 second. It is possible
  854. to combine the Pause and Prompt settings. If you use both, then the next
  855. line gets send when the prompt is received or the pause internal expires,
  856. whichever comes first. By default, the program will wait a maximum of five
  857. seconds for the prompt before sending the next line, even if Pause is not
  858. selected. If you have a system that is sometimes slow to respond, specify
  859. a longer pause and select the Pause button.
  860.  
  861. Expand Blank Lines sends a single space when a blank line is encountered.
  862. This is useful with systems that might otherwise ignore a blank line.
  863.  
  864. Ascii upload strips trailing blanks (except in the case of expanded blank
  865. lines) to avoid problems with systems that reformat text and would leave
  866. extra spaces in the middle of lines.
  867.  
  868. Ascii Download captures raw serial data from the serial port, including all
  869. escape sequences and control codes. Options for Download include Add Line
  870. Feeds and Control-Z is End of File. Add Line Feeds is needed if the other
  871. end doesn't send line feeds and the terminal emulations is adding them.
  872. Control-Z is End of File is useful if the other end sends a control-z at
  873. the end of a download.
  874.  
  875. If you don't use the Control-Z option, then Ascii Download continues until
  876. you abort the file transfer, either from the menu bar or from Basic.
  877.  
  878. If you started the Ascii Download from Basic, it may seem at first glance
  879. that there is no way to abort the transfer since Basic is stuck in the
  880. DLOAD command waiting for the transfer to complete. The following sample
  881. program shows how to do it using Basic event trapping. It also illustrates
  882. the use of WAIT during an event handler.
  883.  
  884. ON TIMER(2) GOSUB click
  885. 'Pause briefly before entering event handler to allow transfer to start.
  886. TIMER ON
  887. PRINT DLOAD("ASCII","DELETE.ME")
  888. TIMER CLEAR
  889. 'N.B. Do NOT clear the timer event inside the timer event subroutine!
  890. END
  891.  
  892. 'The following subroutine is entered roughly two seconds after the start
  893. 'of the program. It waits for the string "end!" to indicate the end of the
  894. 'file transfer. It then stops further timer events and returns. Soon
  895. 'thereafter, the DLOAD function exits with a return code of 1, indicating
  896. 'that one file has been transferred. I have arbitrarily put a five minute
  897. 'timeout for the wait so that the file transfer will not continue forever.
  898.  
  899. click:
  900. WAIT 300,"end!"
  901. ABORT XFER:'Basic command to stop the file transfer
  902. TIMER OFF
  903. RETURN
  904.  
  905. The reason this method works is that Basic is suspended during file
  906. transfers, but still checks for event traps. WAIT in an event trap is
  907. allowed and Ascii Download still allows characters to be processed by
  908. Basic (using the event trap technique) and in fact still allows capturing
  909. of text by the capture buffer.
  910.  
  911. You might think that the TIMER(2) command would cause the "click:"
  912. subroutine to be called every two seconds, but the timer event is turned
  913. off automatically when the timer event handler is entered so that while
  914. the WAIT command is executing, no futher timer events occur.
  915.  
  916. Ascii Upload is one of the options when selecting text from the terminal
  917. screen or an editing window. The text is copied to the GEM clipboard as
  918. "SCRAP.UPL" and then uploaded using all the Ascii Upload settings. The
  919. "SCRAP.UPL" file is overwritten each time you upload a new block of text
  920. and is automatically deleted when you exit the program.
  921.  
  922.  
  923.  
  924.  
  925.