home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1998 February / PCOnline_02_1998.iso / filesbbs / dos / smodem.arj / TECHINFO.DOC < prev    next >
Encoding:
Text File  |  1996-09-05  |  22.1 KB  |  662 lines

  1. Contents
  2. --------
  3.  
  4. - Smodem protocol overview
  5. - Multiplexed Serial Link Protocol (MSLP)
  6. - Command line options
  7. - Error levels
  8. - Error messages
  9. - Keyboard
  10. - Menu options
  11.  
  12.  
  13. Smodem protocol overview
  14. ------------------------
  15.  
  16. Smodem is a new generation file transfer protocol. Unlike older protocols,
  17. like Zmodem, it has a separate low level multiplexed transfer layer (MSLP)
  18. and a high level file transfer layer. This new design simplifies protocol
  19. design and will give a maximum efficiency of as high as 99,5%.
  20.  
  21. Multiplexing has made it possible to send one or more files in one
  22. continuous stream without any breaks between files. This will boost
  23. multiple file transfers dramatically.
  24.  
  25. Multiplexing has also made it possible to add a full screen ANSI-BBS
  26. terminal emulator with a local full featured line editor and colored
  27. back scroll buffer of unlimited size to Smodem. Locally buffered terminal 
  28. emulation allows you to chat during full speed bidirectional file transfers.
  29.  
  30. The protocol has a symmetrical nature. You can connect Smodem with itself
  31. by looping transmitted characters back to the receiver. There is no reason
  32. to limit transfers in one direction. Smodem will transfer files in both
  33. directions at the same time without noticeable performance loss.
  34.  
  35. Smodem detects DESQview and DPMI (Windows, OS/2) and will free all unused
  36. processor capacity to the host system.
  37.  
  38. Smodem is *totally* written in the C language and compiled with Microsoft
  39. Visual C++ v1.0 compiler using full optimizations for the i286 CPU. It
  40. needs over 200KB free memory to function properly and more if you want
  41. to shell from Smodem. There is no magical multitasking to continue file
  42. transfer if you drop to DOS!
  43.  
  44.  
  45. Multiplexed Serial Link Protocol (MSLP)
  46. ---------------------------------------
  47.  
  48. MSLP has the capability to manage 32 independent channels simultaneously.
  49. Every single channel uses a traditional two phase ack/nak type subprotocol.
  50. Maximum efficiency is achieved by using multiple parallel channels
  51. simultaneously to keep the transmitter busy.
  52.  
  53. Maximum packet size floats between 16 to 1024 bytes. Transfer errors will
  54. reduce packet size depending on error frequency. One important detail is,
  55. that MSLP needs to resend only failed packets. The transmitter window size
  56. (total size of transmitted packets which have not been acknowledged) can be
  57. limited to get faster response.
  58.  
  59. The packet frame contains one byte for channel number and two bytes
  60. for a 16-bit CCITT(ITU)-CRC. (Same algorithm, which is used in error
  61. correcting modems.) Acknowledgements and enquiries will be included
  62. in the packet frame when needed.
  63.  
  64. Packet separators contain two bytes. If those two bytes are found in
  65. transferred data, one byte is inserted for capsulation. The possibility
  66. to find those separator bytes in random data is so small, that it will
  67. not affect protocol efficiency like old style one byte separators do.
  68.  
  69. Maximum efficiency in one-direction error free transfers will be:
  70.  
  71.        max packetsize           1024
  72. --------------------------- = -------- = 0.9951 = 99.5%
  73. max packetsize + frame size   1024 + 5
  74.  
  75. If packet size is limited to 256 bytes, the efficiency will be 98.1% and
  76. still better than original Zmodem!
  77.  
  78. If the data link can not transfer some special characters, then the
  79. traditional character encapsulation mode could be activated. This mode
  80. encapsulates selected character codes, which inflicts performance about
  81. 0.4% + additional 0.4% for every selected code.
  82.  
  83. If the data link is limited to 7 data bits, then a special bit collection
  84. mode could be activated. The highest bits for every seven bytes are
  85. collected to one byte. This collection inflicts performance about 12.4%
  86. and doubles character encapsulation possibility.
  87.  
  88. Maximum transfer line correction mode of MSLP uses five characters to
  89. transmit four characters using only printable 7-bit ASCII codes. This
  90. mode should work on almost every non transparent transmission line.
  91. Maximum correction mode inflicts performance 20%. It should be used only
  92. for test purposes, if default settings do not work, or, if limitations
  93. of transfer line are unknown or too complex to handle with separate
  94. adjustments.
  95.  
  96.  
  97. Command line options
  98. --------------------
  99.  
  100. /-
  101.  
  102. Disables MSLP initialization messages. This option prevents user
  103. information to scroll out from screen in some situations. See also
  104. /l and /L options.
  105.  
  106. /+
  107.  
  108. Displays transfer statistics screen. You can add this option for your
  109. convenience. Without this option you can still open statistics screen
  110. with F2 key.
  111.  
  112. /0        
  113.  
  114. Special option (rs-port close). Try this if program hangs when you 
  115. exit from Smodem.
  116.  
  117. /4
  118.  
  119. Disables 16550 fifos (16450 mode). Try this if protocol hangs or you get
  120. receiving errors with 16550 type uart.
  121.  
  122. /5:size
  123.  
  124. Selects 16550 input fifo size 1-16 bytes. (Default 8).
  125. Large fifo uses more CPU time than small fifo. If you select too small
  126. fifo size, you will get transfer errors.
  127.  
  128. /6
  129.  
  130. Use 16650 hardware rts/cts. This option may slow down your transfer
  131. but it can prevent all receive overrun type errors.
  132.  
  133. /@:setupfile    (Pro version only)
  134.  
  135. Reads setup parameters from specified file. If your parameters doesn't
  136. fit to the command line limits (128 characters) you can use smodem 
  137. environment setting to expand this limit or you can use external file
  138. with this option.
  139.  
  140. /a:addr
  141.  
  142. Uses special uart chip address (100..3ff). You need this parameter if
  143. you are not using one of the standard communication ports COM1-COM4.
  144. See also /p: and /i: options.
  145.  
  146. /A:file        (Pro version only)
  147.  
  148. Selects ASCII capture file name. Normally terminal screen is captured
  149. in binary format for colored backscroll. This option enables capturing
  150. to file, which you can read using a standard ASCII browser.
  151.  
  152. /b
  153.  
  154. Uses black and white colors. This is normally detected automatically.
  155. Use this when you use monocrome display with color adaptor. See also
  156. /B option.
  157.  
  158. /B
  159.  
  160. Forces to use colors. This is normally detected automatically.
  161. Use this when you use computer with color monitor to control computer
  162. with black and white video adapter.
  163.  
  164. /c
  165.  
  166. Disables carrier detection. You need this option if you are dialing out
  167. from terminal mode (/t) or if your modem does not inform carrier status
  168. properly. Some modems drop the carrier signal occasionally. Use this
  169. option if you get erraneous "Carrier lost" messages.
  170.  
  171. /C
  172.  
  173. Enables maximum corrections for a non transparent transfer line. This
  174. option is only for test purposes. Use it only if you have problems to
  175. initiate file transfer or transfer hangs. If this option removes your
  176. problem, then it is possible to configure Smodem to work properly.
  177. See also /I, /I:, /O, /O:, /h and /H options.
  178.  
  179. /d
  180.  
  181. Downloads subsequent files and selects default download path. After /d 
  182. parameter you can enter download directory paths or file names or a list 
  183. of them with at (@) sign. You have to use this option for file names only 
  184. when you need to force received filename different than original filename 
  185. and limit the number of received files. Only first download directory is 
  186. used to store downloaded files but every directory is scanned for 
  187. duplicates before accepting new files. See also /U, /u, /f, /o, /j, /w, 
  188. /R, /N, /x and /X options.
  189.  
  190. /D
  191.  
  192. Download startup with download trigger string ^XSMODEM^Y. This option
  193. allows user to start uploading manually if the BBS software can not 
  194. request files automatically from the user. It is also possible to
  195. activate upload selection in terminal program with this alternate trigger 
  196. string. Default trigger string is ^XSMODEM^X. ^X is ASCII character 18h 
  197. and the alternate character ^Y is 19h. See also /F, /U, /u and /d options.
  198.  
  199. /e:sec
  200.  
  201. Exits after inactivity (0..600 sec) when all file transfers done. This
  202. option is useful in BBS environment to stop chatting when file transfer
  203. is done and user is not chatting any more. There is a fixed delay of 120 
  204. seconds at the beginning of transfer to allow user to select files to 
  205. upload. See also /E: and /T: options.
  206.  
  207. /E:sec
  208.  
  209. Exits after delay (0..600 sec) when all file transfers done. This option
  210. is useful in BBS environment to stop chatting when file transfer is done.
  211. There is a fixed delay of 120 seconds at the beginning of transfer to
  212. allow user to select files to upload. See also /e: and /T: options.
  213.  
  214. /f            (Pro version only)
  215.  
  216. Frees up/download path restrictions. If you specify this option, then
  217. user from other end of connection can download from and upload into any
  218. directory in your computer. Use with care! You have to use this option
  219. if you want to select separate download directory from download dialog.
  220.  
  221. /F
  222.  
  223. Removes control codes from startup trigger string. Some transmission 
  224. lines can not handle ^X and ^Y codes, which are used in trigger string 
  225. of Smodem. With this option no control codes are sent to the line. It 
  226. is also necessary to add /C or /O: option to prevent sending of ^X codes 
  227. in transmitted data. See also /D, /C and /O: options.
  228.  
  229. /g
  230.  
  231. Disables default terminal log file. Default name is smodem.$$$.
  232. Log is used for coloured back scroll buffer. This log is not in ASCII 
  233. format. You can not read it with editor. See also /g: and /G options.
  234.  
  235. /g:file
  236.  
  237. Selects terminal log file name. This option changes default log file
  238. name SMODEM.$$$. You can also specify different drive or directory for
  239. the log file. See also /G and /g options.
  240.  
  241. /G
  242.  
  243. Removes terminal log file after use. Normally log file is saved for
  244. later use. With this option log file will be removed after use.
  245. See also /g and /g: options.
  246.  
  247. /h
  248.  
  249. Disables rts/cts flow control. Normally rts/cts handshakes are used
  250. to control modem buffering. Use this option if your modem does not
  251. support this kind of action. See also /H and /n options.
  252.  
  253. /H
  254.  
  255. Enables xon/xoff flow control. Use this option only if your modem
  256. does not support rts/cts handshakes because it reduces maximum transfer
  257. speed. See also /h option.
  258.  
  259. /i:irq
  260.  
  261. Uses special uart chip irq (2..15). You need this parameter if your
  262. communication port irq is changed from default setting or you are
  263. using special uart chip address. See also /p: and /a: options.
  264.  
  265. /I:hex[-hex]|S|X    (Pro version only)
  266.  
  267. Encapsulates specified input characters. You can enter only one character
  268. code or a range on codes. There are two special codes available. Code S
  269. will use a 7-bit transmission line and code X will use maximum 
  270. encapsulation mode. See also /O: and /C options.
  271.  
  272. /j
  273.  
  274. Disables auto download. This option prevents downloads totally.
  275. It should be used in BBS systems which do not support bidirectional
  276. file transfers when downloading from BBS system. See also /r option.
  277.  
  278. /J            (Group chat version only)
  279.  
  280. Adds user name into transfer log. This option is useful when creating
  281. special doors for user supported file transfers. All transfers can be
  282. logged into same log file with the user name.
  283.  
  284. /k
  285.  
  286. Disables wild cards. This option can be used in BBS systems to prevent
  287. users from downloading files from upload directory without specifying
  288. full filename. See also /j option.
  289.  
  290. /l:lines
  291.  
  292. Selects number of rows (20-50) from bottom of the screen. If your BBS
  293. system displays user information at the top of the screen, then you
  294. can reserve part of the screen from this information. See also /L: option.
  295.  
  296. /L:lines
  297.  
  298. Selects number of rows (20-50) from top of the screen. If your BBS
  299. system displays user information at the bottom of the screen, then you
  300. can reserve part of the screen from this information. See also /l: option.
  301.  
  302. /m
  303.  
  304. Disables error messages. In BBS system there is no need to show error
  305. messages locally. This option hides them. See also /q and /q: options.
  306.  
  307. /M:file        (Pro version only)
  308.  
  309. Enables message file display. This option is useful when you build a 
  310. host system using Smodem. Smodem displays the contents of specified
  311. file to the remote user. You can create a new message file before Smodem
  312. is started and during external command execution. See also /S: and /@: 
  313. options.
  314.  
  315. /n
  316.  
  317. Disables slow RTS handshakes from disk operations. This option may give
  318. slightly better performance or it can ruin the whole thing depending
  319. on your hardware performance. Some modems need this option to work
  320. properly. See also /h option.
  321.  
  322. /N            (Group chat version only)
  323.  
  324. Disables "Press enter to join group chat." prompt. This option is
  325. available only in the Group chat version for PCBoard.
  326.  
  327. /o
  328.  
  329. Allows to overwrite files. Without this option you can not download
  330. files which already exists on your disk. You can still resume aborted
  331. downloads. See also /j and /w options.
  332.  
  333. /O:hex[-hex]|S|X    (Pro version only)
  334.  
  335. Encapsulates specified output characters. You can enter only one 
  336. character code or a range on codes. There are two special codes
  337. available: Code S will use 7-bit transmission line and code X will use 
  338. maximum encapsulation mode. See also /I:, /C and /F options.
  339.  
  340. /p:port
  341.  
  342. Selects com port number (1..4). This setting is mandatory. Without this 
  343. or corresponding setting, you will only get internal help information.
  344. See also /a: and /i: options.
  345.  
  346. /P:prompt
  347.  
  348. Displays user defined prompt. With this option you can enter 1-39
  349. characters long prompt to your local line editor.
  350.  
  351. /q
  352.  
  353. Quiets alarm bell. This option prevents you to hear warning message
  354. beeps and yelling noise. You can change the quiet status from menu.
  355. See also /q: and /m options.
  356.  
  357. /q:hh-hh        (Pro version only)
  358.  
  359. Disables alarm bell at specified hours. This option lets you to hear 
  360. warning message beeps and yelling noise during selected time range. 
  361. You can still change the quiet status from menu. See also /q and /m 
  362. options.
  363.  
  364. /Q:count
  365.  
  366. Selects multitasking idle loop count. Defaults automatically to 1 when 
  367. DPMI detected. Using larger values may free more CPU time. 0 disables
  368. multitasking idle feature totally.
  369.  
  370. /r
  371.  
  372. Enables auto upload. If you specify this option, then user from other
  373. end of connection can download files from your computer. See also /f
  374. option.
  375.  
  376. /R
  377.  
  378. Allows to renumber files. Normally existing files are overwritten or
  379. transfer is aborted. When this option is enabled, new files are
  380. renumbered to prevent conflicts. For example file ABC.DEF is renamed
  381. to ABC.DE0 and next ABC.DEF is renamed to ABC.DE1. See also /R option.
  382.  
  383. /s:speed
  384.  
  385. Changes dte baud rate (50..115200) using 8,N,1 configuration. If this
  386. parameter is omitted, then baud rate and line parameters are reserved
  387. on their current values.
  388.  
  389. /S:file        (Pro version only)
  390.  
  391. Enables external command shell. This option is useful when you build a 
  392. host system using Smodem. External command shell is a program or batch file,
  393. which interpretes commands entered by the remote user. See also /M: and /@: 
  394. options.
  395.  
  396. /t            (Pro version only)
  397.  
  398. Enables terminal mode. In this mode Smodem does not send initialization
  399. strings until it receives one. You may need ansi.sys or some replacement
  400. for full ANSI support.
  401.  
  402. /T:min        (Pro Version only)
  403.  
  404. Exits after selected time. Normally users can stay unlimited time in 
  405. transfer protocol. This option limits this time. See also /T option.
  406.  
  407. /T            (Pro Version only)
  408.  
  409. Disables time limit while transferring. Normally time limit is checked 
  410. during file transfers. This option allows to transfer longer than time 
  411. limit but still prevents to stay chatting after such transfer.
  412.  
  413. /u
  414.  
  415. Uploads subsequent files and selects default upload path(s). After /u 
  416. parameter you can enter upload directory paths or file names or a list 
  417. of them with 'at' (@) sign. You can enter as many upload directories 
  418. as you need. All upload directories will be scanned when uploading 
  419. a file without pathname. See also /U, /d, /f, /k and /y options.
  420.  
  421. /U
  422.  
  423. Requests subsequent files and selects download path(s). After /U 
  424. parameter you can enter download directory names, file names or list 
  425. of directory or file names with at (@) sign. You have to use this 
  426. option only for requesting files for download. Only first download 
  427. directory is used to store downloaded files but every directory is 
  428. scanned for duplicates before accepting new files. See also /d, /u, 
  429. /f, /o, /j, /w, /R, /N, /x and /X options.
  430.  
  431. /v:mode
  432.  
  433. Changes default packet and transmitting window size. Possible values
  434. are T(iny), S(mall), C(ompact), M(edium), L(arge) and H(uge) (default).
  435. Larger values will give slightly better throughput. Smaller values will
  436. give much faster terminal response.
  437.  
  438. /V
  439.  
  440. Disables virtual screen memory when used in DESQview. This option has
  441. meaning only when used in DESQview environment. In some cases there are
  442. problems to update display properly. If you can not change virtual 
  443. display settings from DESQview, then you have to use this option to correct 
  444. the problem.
  445.  
  446. /w
  447.  
  448. Disables resumed downloads. Normally file transfer will continue
  449. if it has broken in some reason. This option can be used in BBS systems
  450. to prevent users to resume uploads in some reason. See also /x option.
  451.  
  452. /W[:init]    (Pro version only)
  453.  
  454. Wait for carrier and drop dtr at exit. This option is useful when you
  455. build a host system using Smodem. Using additional init string you can
  456. dial out (ATDT<number>) or enable autoanswer (ATS0=1).
  457.  
  458. /x
  459.  
  460. Removes aborted downloads. This option can be used in BBS system which
  461. does not support resumed uploading. See also /w and /X options.
  462.  
  463. /X
  464.  
  465. Enables aborted download entries to transfer log file. This option
  466. is added to get more specified information about file transfers. Normally,
  467. when upload is aborted, the BBS system will not be informed to remove
  468. aborted file. See also /x, /w and /z: options.
  469.  
  470. /y
  471.  
  472. Removes successfully uploaded files. This option can be used in some
  473. special situations to keep upload directory automatically clean.
  474.  
  475. /z:file
  476.  
  477. Enables file transfer log file. Created log file is DSZLOG compatible.
  478. File transfer information is appended to the end of this file. If there
  479. is no /z: parameter, then DSZLOG environment string will be used.
  480. See also /X option.
  481.  
  482.  
  483. Error messges
  484. -------------
  485.  
  486. Can not open file transfer log file: nnn
  487.  
  488.         Transfer log is not available for some reason.
  489.         Check path and directory rights.
  490.  
  491. Carrier lost.
  492.  
  493.         Carrier signal dropped from modem. Use /c option to disable
  494.         carrier check.
  495.  
  496. CTS signal is not ready.
  497.  
  498.         Modem is not ready for communication. Use /h to disable CTS.
  499.  
  500. Download aborted
  501.  
  502.         Remote station can not receive file for some reason.
  503.  
  504. Download request denied
  505.  
  506.         Attempt to download files when it is not allowed.
  507.  
  508. Duplicate file ignored
  509.  
  510.         Same file has already queued for upload.
  511.  
  512. Error initializing rs-port.
  513.  
  514.         Specified rs-port does not exist. Try /a and /i options to correct.
  515.  
  516. Fatal internal error
  517.  
  518.         Internal protocol check error.
  519.  
  520. File already exist
  521.  
  522.         Uploaded file already exists and is not allowed to overwrite.
  523.  
  524. File already transferred
  525.  
  526.         Uploaded file has already been transferred.
  527.  
  528. File not found: nnn
  529.  
  530.         Up-/download list file not found. Check path and command syntax.
  531.  
  532. File open error
  533.  
  534.         Can not open file for some reason.
  535.  
  536. File read error
  537.  
  538.         Disk read error while sending file.
  539.  
  540. File size error
  541.  
  542.         File size has changed unexpectedly during transfer.
  543.  
  544. File write error
  545.  
  546.         Disk write error while receiving file.
  547.  
  548. Incompatible program version.
  549.  
  550.         Remote station has a different program version.
  551.  
  552. Invalid parameter: nnn
  553.  
  554.         Specified option value is out of range. Check available range.
  555.  
  556. Initialization cancelled.
  557.  
  558.         User interrupted initialization phase.
  559.  
  560. Initialization interrupted.
  561.  
  562.         Remote station interrupted initialization phase.
  563.  
  564. MSLP data link error.
  565.  
  566.         Protocol has lost synchronisation and terminated.
  567.  
  568. MSLP data link failure.
  569.  
  570.         Excessive errors in transmit line detected. Try /C option 
  571.         for maximum transmit line corrections.
  572.  
  573. MSLP data link interrupted.
  574.  
  575.         Remote station interrupted link.
  576.  
  577. MSLP data link terminated.
  578.  
  579.         Link terminated by remote station.
  580.  
  581. MSLP data link time-out.
  582.  
  583.         Remote station stopped responding. 
  584.  
  585. Waiting for MSLP termination... cancelled
  586.  
  587.         User interrupted termination phase.
  588.  
  589. Waiting for MSLP termination... time-out
  590.  
  591.         Remote station stopped responding at termination phase.
  592.  
  593. Out of memory.
  594.  
  595.         Not enough conventional memory to initialize protocol.
  596.  
  597. Requested file not found
  598.  
  599.         Requested file does not exist or wild cards have been disabled.
  600.  
  601. This test release is not valid!
  602.  
  603.         New version is available and this version is not supported.
  604.         New versions are available from many sites.
  605.  
  606. Too many files to transfer
  607.  
  608.         Out of memory to queue more files to transfer.
  609.  
  610. Unknown option: nnn
  611.  
  612.         Used option is unknown. Check available options.
  613.  
  614. Upload aborted
  615.  
  616.         Remote station can not send file for some reason.
  617.  
  618. Upload request denied
  619.  
  620.         Attempt to upload files when it is not allowed.
  621.  
  622.  
  623. Error levels
  624. ------------
  625.  
  626. Available error leves are:
  627.  
  628.     0 transfer completed
  629.     1 download error
  630.     2 upload error
  631.     3 upload & download error
  632.     4 (or greater) initialization error
  633.  
  634.  
  635. Keyboard
  636. --------
  637.  
  638. Use esc to hide popup windows and dialogs. Use cursor keys to edit
  639. your entry or to move back scroll window position. You can open menu 
  640. by pressing Alt+letter or F10.
  641.  
  642.  
  643. Menu options
  644. ------------
  645.  
  646. File/About          Shows information about program version.
  647. File/Tools          Opens file manager window.
  648. File/Download       Displays download selection dialog.
  649. File/Upload         Displays upload selection dialog.
  650. File/Edit Batch        Displays selected files.
  651. File/Yell           Sends calling noise to other end of connect.
  652. File/Erase Log      Erases backscroll buffer file contents.
  653. File/DOS Shell      Drops to dos temporarily.
  654. File/Exit           Aborts all file transfers and terminates protocol.
  655. Set/Packet size     Selects one of the possible packet/window sizes.
  656. Set/Exit when done  Terminates protocol after file transfer if checked.
  657. Set/Command mode    Enabled or disables external command processing.
  658. Set/Quiet           Quiets alarm sounds if checked.
  659. Set/Clear screen    Clears terminal screen.
  660. View/Statistics     Displays transfer statistics.
  661. View/Log File       Displays back scroll buffer.
  662.