home *** CD-ROM | disk | FTP | other *** search
- Contents
- --------
-
- - Smodem protocol overview
- - Multiplexed Serial Link Protocol (MSLP)
- - Command line options
- - Error levels
- - Error messages
- - Keyboard
- - Menu options
-
-
- Smodem protocol overview
- ------------------------
-
- Smodem is a new generation file transfer protocol. Unlike older protocols,
- like Zmodem, it has a separate low level multiplexed transfer layer (MSLP)
- and a high level file transfer layer. This new design simplifies protocol
- design and will give a maximum efficiency of as high as 99,5%.
-
- Multiplexing has made it possible to send one or more files in one
- continuous stream without any breaks between files. This will boost
- multiple file transfers dramatically.
-
- Multiplexing has also made it possible to add a full screen ANSI-BBS
- terminal emulator with a local full featured line editor and colored
- back scroll buffer of unlimited size to Smodem. Locally buffered terminal
- emulation allows you to chat during full speed bidirectional file transfers.
-
- The protocol has a symmetrical nature. You can connect Smodem with itself
- by looping transmitted characters back to the receiver. There is no reason
- to limit transfers in one direction. Smodem will transfer files in both
- directions at the same time without noticeable performance loss.
-
- Smodem detects DESQview and DPMI (Windows, OS/2) and will free all unused
- processor capacity to the host system.
-
- Smodem is *totally* written in the C language and compiled with Microsoft
- Visual C++ v1.0 compiler using full optimizations for the i286 CPU. It
- needs over 200KB free memory to function properly and more if you want
- to shell from Smodem. There is no magical multitasking to continue file
- transfer if you drop to DOS!
-
-
- Multiplexed Serial Link Protocol (MSLP)
- ---------------------------------------
-
- MSLP has the capability to manage 32 independent channels simultaneously.
- Every single channel uses a traditional two phase ack/nak type subprotocol.
- Maximum efficiency is achieved by using multiple parallel channels
- simultaneously to keep the transmitter busy.
-
- Maximum packet size floats between 16 to 1024 bytes. Transfer errors will
- reduce packet size depending on error frequency. One important detail is,
- that MSLP needs to resend only failed packets. The transmitter window size
- (total size of transmitted packets which have not been acknowledged) can be
- limited to get faster response.
-
- The packet frame contains one byte for channel number and two bytes
- for a 16-bit CCITT(ITU)-CRC. (Same algorithm, which is used in error
- correcting modems.) Acknowledgements and enquiries will be included
- in the packet frame when needed.
-
- Packet separators contain two bytes. If those two bytes are found in
- transferred data, one byte is inserted for capsulation. The possibility
- to find those separator bytes in random data is so small, that it will
- not affect protocol efficiency like old style one byte separators do.
-
- Maximum efficiency in one-direction error free transfers will be:
-
- max packetsize 1024
- --------------------------- = -------- = 0.9951 = 99.5%
- max packetsize + frame size 1024 + 5
-
- If packet size is limited to 256 bytes, the efficiency will be 98.1% and
- still better than original Zmodem!
-
- If the data link can not transfer some special characters, then the
- traditional character encapsulation mode could be activated. This mode
- encapsulates selected character codes, which inflicts performance about
- 0.4% + additional 0.4% for every selected code.
-
- If the data link is limited to 7 data bits, then a special bit collection
- mode could be activated. The highest bits for every seven bytes are
- collected to one byte. This collection inflicts performance about 12.4%
- and doubles character encapsulation possibility.
-
- Maximum transfer line correction mode of MSLP uses five characters to
- transmit four characters using only printable 7-bit ASCII codes. This
- mode should work on almost every non transparent transmission line.
- Maximum correction mode inflicts performance 20%. It should be used only
- for test purposes, if default settings do not work, or, if limitations
- of transfer line are unknown or too complex to handle with separate
- adjustments.
-
-
- Command line options
- --------------------
-
- /-
-
- Disables MSLP initialization messages. This option prevents user
- information to scroll out from screen in some situations. See also
- /l and /L options.
-
- /+
-
- Displays transfer statistics screen. You can add this option for your
- convenience. Without this option you can still open statistics screen
- with F2 key.
-
- /0
-
- Special option (rs-port close). Try this if program hangs when you
- exit from Smodem.
-
- /4
-
- Disables 16550 fifos (16450 mode). Try this if protocol hangs or you get
- receiving errors with 16550 type uart.
-
- /5:size
-
- Selects 16550 input fifo size 1-16 bytes. (Default 8).
- Large fifo uses more CPU time than small fifo. If you select too small
- fifo size, you will get transfer errors.
-
- /6
-
- Use 16650 hardware rts/cts. This option may slow down your transfer
- but it can prevent all receive overrun type errors.
-
- /@:setupfile (Pro version only)
-
- Reads setup parameters from specified file. If your parameters doesn't
- fit to the command line limits (128 characters) you can use smodem
- environment setting to expand this limit or you can use external file
- with this option.
-
- /a:addr
-
- Uses special uart chip address (100..3ff). You need this parameter if
- you are not using one of the standard communication ports COM1-COM4.
- See also /p: and /i: options.
-
- /A:file (Pro version only)
-
- Selects ASCII capture file name. Normally terminal screen is captured
- in binary format for colored backscroll. This option enables capturing
- to file, which you can read using a standard ASCII browser.
-
- /b
-
- Uses black and white colors. This is normally detected automatically.
- Use this when you use monocrome display with color adaptor. See also
- /B option.
-
- /B
-
- Forces to use colors. This is normally detected automatically.
- Use this when you use computer with color monitor to control computer
- with black and white video adapter.
-
- /c
-
- Disables carrier detection. You need this option if you are dialing out
- from terminal mode (/t) or if your modem does not inform carrier status
- properly. Some modems drop the carrier signal occasionally. Use this
- option if you get erraneous "Carrier lost" messages.
-
- /C
-
- Enables maximum corrections for a non transparent transfer line. This
- option is only for test purposes. Use it only if you have problems to
- initiate file transfer or transfer hangs. If this option removes your
- problem, then it is possible to configure Smodem to work properly.
- See also /I, /I:, /O, /O:, /h and /H options.
-
- /d
-
- Downloads subsequent files and selects default download path. After /d
- parameter you can enter download directory paths or file names or a list
- of them with at (@) sign. You have to use this option for file names only
- when you need to force received filename different than original filename
- and limit the number of received files. Only first download directory is
- used to store downloaded files but every directory is scanned for
- duplicates before accepting new files. See also /U, /u, /f, /o, /j, /w,
- /R, /N, /x and /X options.
-
- /D
-
- Download startup with download trigger string ^XSMODEM^Y. This option
- allows user to start uploading manually if the BBS software can not
- request files automatically from the user. It is also possible to
- activate upload selection in terminal program with this alternate trigger
- string. Default trigger string is ^XSMODEM^X. ^X is ASCII character 18h
- and the alternate character ^Y is 19h. See also /F, /U, /u and /d options.
-
- /e:sec
-
- Exits after inactivity (0..600 sec) when all file transfers done. This
- option is useful in BBS environment to stop chatting when file transfer
- is done and user is not chatting any more. There is a fixed delay of 120
- seconds at the beginning of transfer to allow user to select files to
- upload. See also /E: and /T: options.
-
- /E:sec
-
- Exits after delay (0..600 sec) when all file transfers done. This option
- is useful in BBS environment to stop chatting when file transfer is done.
- There is a fixed delay of 120 seconds at the beginning of transfer to
- allow user to select files to upload. See also /e: and /T: options.
-
- /f (Pro version only)
-
- Frees up/download path restrictions. If you specify this option, then
- user from other end of connection can download from and upload into any
- directory in your computer. Use with care! You have to use this option
- if you want to select separate download directory from download dialog.
-
- /F
-
- Removes control codes from startup trigger string. Some transmission
- lines can not handle ^X and ^Y codes, which are used in trigger string
- of Smodem. With this option no control codes are sent to the line. It
- is also necessary to add /C or /O: option to prevent sending of ^X codes
- in transmitted data. See also /D, /C and /O: options.
-
- /g
-
- Disables default terminal log file. Default name is smodem.$$$.
- Log is used for coloured back scroll buffer. This log is not in ASCII
- format. You can not read it with editor. See also /g: and /G options.
-
- /g:file
-
- Selects terminal log file name. This option changes default log file
- name SMODEM.$$$. You can also specify different drive or directory for
- the log file. See also /G and /g options.
-
- /G
-
- Removes terminal log file after use. Normally log file is saved for
- later use. With this option log file will be removed after use.
- See also /g and /g: options.
-
- /h
-
- Disables rts/cts flow control. Normally rts/cts handshakes are used
- to control modem buffering. Use this option if your modem does not
- support this kind of action. See also /H and /n options.
-
- /H
-
- Enables xon/xoff flow control. Use this option only if your modem
- does not support rts/cts handshakes because it reduces maximum transfer
- speed. See also /h option.
-
- /i:irq
-
- Uses special uart chip irq (2..15). You need this parameter if your
- communication port irq is changed from default setting or you are
- using special uart chip address. See also /p: and /a: options.
-
- /I:hex[-hex]|S|X (Pro version only)
-
- Encapsulates specified input characters. You can enter only one character
- code or a range on codes. There are two special codes available. Code S
- will use a 7-bit transmission line and code X will use maximum
- encapsulation mode. See also /O: and /C options.
-
- /j
-
- Disables auto download. This option prevents downloads totally.
- It should be used in BBS systems which do not support bidirectional
- file transfers when downloading from BBS system. See also /r option.
-
- /J (Group chat version only)
-
- Adds user name into transfer log. This option is useful when creating
- special doors for user supported file transfers. All transfers can be
- logged into same log file with the user name.
-
- /k
-
- Disables wild cards. This option can be used in BBS systems to prevent
- users from downloading files from upload directory without specifying
- full filename. See also /j option.
-
- /l:lines
-
- Selects number of rows (20-50) from bottom of the screen. If your BBS
- system displays user information at the top of the screen, then you
- can reserve part of the screen from this information. See also /L: option.
-
- /L:lines
-
- Selects number of rows (20-50) from top of the screen. If your BBS
- system displays user information at the bottom of the screen, then you
- can reserve part of the screen from this information. See also /l: option.
-
- /m
-
- Disables error messages. In BBS system there is no need to show error
- messages locally. This option hides them. See also /q and /q: options.
-
- /M:file (Pro version only)
-
- Enables message file display. This option is useful when you build a
- host system using Smodem. Smodem displays the contents of specified
- file to the remote user. You can create a new message file before Smodem
- is started and during external command execution. See also /S: and /@:
- options.
-
- /n
-
- Disables slow RTS handshakes from disk operations. This option may give
- slightly better performance or it can ruin the whole thing depending
- on your hardware performance. Some modems need this option to work
- properly. See also /h option.
-
- /N (Group chat version only)
-
- Disables "Press enter to join group chat." prompt. This option is
- available only in the Group chat version for PCBoard.
-
- /o
-
- Allows to overwrite files. Without this option you can not download
- files which already exists on your disk. You can still resume aborted
- downloads. See also /j and /w options.
-
- /O:hex[-hex]|S|X (Pro version only)
-
- Encapsulates specified output characters. You can enter only one
- character code or a range on codes. There are two special codes
- available: Code S will use 7-bit transmission line and code X will use
- maximum encapsulation mode. See also /I:, /C and /F options.
-
- /p:port
-
- Selects com port number (1..4). This setting is mandatory. Without this
- or corresponding setting, you will only get internal help information.
- See also /a: and /i: options.
-
- /P:prompt
-
- Displays user defined prompt. With this option you can enter 1-39
- characters long prompt to your local line editor.
-
- /q
-
- Quiets alarm bell. This option prevents you to hear warning message
- beeps and yelling noise. You can change the quiet status from menu.
- See also /q: and /m options.
-
- /q:hh-hh (Pro version only)
-
- Disables alarm bell at specified hours. This option lets you to hear
- warning message beeps and yelling noise during selected time range.
- You can still change the quiet status from menu. See also /q and /m
- options.
-
- /Q:count
-
- Selects multitasking idle loop count. Defaults automatically to 1 when
- DPMI detected. Using larger values may free more CPU time. 0 disables
- multitasking idle feature totally.
-
- /r
-
- Enables auto upload. If you specify this option, then user from other
- end of connection can download files from your computer. See also /f
- option.
-
- /R
-
- Allows to renumber files. Normally existing files are overwritten or
- transfer is aborted. When this option is enabled, new files are
- renumbered to prevent conflicts. For example file ABC.DEF is renamed
- to ABC.DE0 and next ABC.DEF is renamed to ABC.DE1. See also /R option.
-
- /s:speed
-
- Changes dte baud rate (50..115200) using 8,N,1 configuration. If this
- parameter is omitted, then baud rate and line parameters are reserved
- on their current values.
-
- /S:file (Pro version only)
-
- Enables external command shell. This option is useful when you build a
- host system using Smodem. External command shell is a program or batch file,
- which interpretes commands entered by the remote user. See also /M: and /@:
- options.
-
- /t (Pro version only)
-
- Enables terminal mode. In this mode Smodem does not send initialization
- strings until it receives one. You may need ansi.sys or some replacement
- for full ANSI support.
-
- /T:min (Pro Version only)
-
- Exits after selected time. Normally users can stay unlimited time in
- transfer protocol. This option limits this time. See also /T option.
-
- /T (Pro Version only)
-
- Disables time limit while transferring. Normally time limit is checked
- during file transfers. This option allows to transfer longer than time
- limit but still prevents to stay chatting after such transfer.
-
- /u
-
- Uploads subsequent files and selects default upload path(s). After /u
- parameter you can enter upload directory paths or file names or a list
- of them with 'at' (@) sign. You can enter as many upload directories
- as you need. All upload directories will be scanned when uploading
- a file without pathname. See also /U, /d, /f, /k and /y options.
-
- /U
-
- Requests subsequent files and selects download path(s). After /U
- parameter you can enter download directory names, file names or list
- of directory or file names with at (@) sign. You have to use this
- option only for requesting files for download. Only first download
- directory is used to store downloaded files but every directory is
- scanned for duplicates before accepting new files. See also /d, /u,
- /f, /o, /j, /w, /R, /N, /x and /X options.
-
- /v:mode
-
- Changes default packet and transmitting window size. Possible values
- are T(iny), S(mall), C(ompact), M(edium), L(arge) and H(uge) (default).
- Larger values will give slightly better throughput. Smaller values will
- give much faster terminal response.
-
- /V
-
- Disables virtual screen memory when used in DESQview. This option has
- meaning only when used in DESQview environment. In some cases there are
- problems to update display properly. If you can not change virtual
- display settings from DESQview, then you have to use this option to correct
- the problem.
-
- /w
-
- Disables resumed downloads. Normally file transfer will continue
- if it has broken in some reason. This option can be used in BBS systems
- to prevent users to resume uploads in some reason. See also /x option.
-
- /W[:init] (Pro version only)
-
- Wait for carrier and drop dtr at exit. This option is useful when you
- build a host system using Smodem. Using additional init string you can
- dial out (ATDT<number>) or enable autoanswer (ATS0=1).
-
- /x
-
- Removes aborted downloads. This option can be used in BBS system which
- does not support resumed uploading. See also /w and /X options.
-
- /X
-
- Enables aborted download entries to transfer log file. This option
- is added to get more specified information about file transfers. Normally,
- when upload is aborted, the BBS system will not be informed to remove
- aborted file. See also /x, /w and /z: options.
-
- /y
-
- Removes successfully uploaded files. This option can be used in some
- special situations to keep upload directory automatically clean.
-
- /z:file
-
- Enables file transfer log file. Created log file is DSZLOG compatible.
- File transfer information is appended to the end of this file. If there
- is no /z: parameter, then DSZLOG environment string will be used.
- See also /X option.
-
-
- Error messges
- -------------
-
- Can not open file transfer log file: nnn
-
- Transfer log is not available for some reason.
- Check path and directory rights.
-
- Carrier lost.
-
- Carrier signal dropped from modem. Use /c option to disable
- carrier check.
-
- CTS signal is not ready.
-
- Modem is not ready for communication. Use /h to disable CTS.
-
- Download aborted
-
- Remote station can not receive file for some reason.
-
- Download request denied
-
- Attempt to download files when it is not allowed.
-
- Duplicate file ignored
-
- Same file has already queued for upload.
-
- Error initializing rs-port.
-
- Specified rs-port does not exist. Try /a and /i options to correct.
-
- Fatal internal error
-
- Internal protocol check error.
-
- File already exist
-
- Uploaded file already exists and is not allowed to overwrite.
-
- File already transferred
-
- Uploaded file has already been transferred.
-
- File not found: nnn
-
- Up-/download list file not found. Check path and command syntax.
-
- File open error
-
- Can not open file for some reason.
-
- File read error
-
- Disk read error while sending file.
-
- File size error
-
- File size has changed unexpectedly during transfer.
-
- File write error
-
- Disk write error while receiving file.
-
- Incompatible program version.
-
- Remote station has a different program version.
-
- Invalid parameter: nnn
-
- Specified option value is out of range. Check available range.
-
- Initialization cancelled.
-
- User interrupted initialization phase.
-
- Initialization interrupted.
-
- Remote station interrupted initialization phase.
-
- MSLP data link error.
-
- Protocol has lost synchronisation and terminated.
-
- MSLP data link failure.
-
- Excessive errors in transmit line detected. Try /C option
- for maximum transmit line corrections.
-
- MSLP data link interrupted.
-
- Remote station interrupted link.
-
- MSLP data link terminated.
-
- Link terminated by remote station.
-
- MSLP data link time-out.
-
- Remote station stopped responding.
-
- Waiting for MSLP termination... cancelled
-
- User interrupted termination phase.
-
- Waiting for MSLP termination... time-out
-
- Remote station stopped responding at termination phase.
-
- Out of memory.
-
- Not enough conventional memory to initialize protocol.
-
- Requested file not found
-
- Requested file does not exist or wild cards have been disabled.
-
- This test release is not valid!
-
- New version is available and this version is not supported.
- New versions are available from many sites.
-
- Too many files to transfer
-
- Out of memory to queue more files to transfer.
-
- Unknown option: nnn
-
- Used option is unknown. Check available options.
-
- Upload aborted
-
- Remote station can not send file for some reason.
-
- Upload request denied
-
- Attempt to upload files when it is not allowed.
-
-
- Error levels
- ------------
-
- Available error leves are:
-
- 0 transfer completed
- 1 download error
- 2 upload error
- 3 upload & download error
- 4 (or greater) initialization error
-
-
- Keyboard
- --------
-
- Use esc to hide popup windows and dialogs. Use cursor keys to edit
- your entry or to move back scroll window position. You can open menu
- by pressing Alt+letter or F10.
-
-
- Menu options
- ------------
-
- File/About Shows information about program version.
- File/Tools Opens file manager window.
- File/Download Displays download selection dialog.
- File/Upload Displays upload selection dialog.
- File/Edit Batch Displays selected files.
- File/Yell Sends calling noise to other end of connect.
- File/Erase Log Erases backscroll buffer file contents.
- File/DOS Shell Drops to dos temporarily.
- File/Exit Aborts all file transfers and terminates protocol.
- Set/Packet size Selects one of the possible packet/window sizes.
- Set/Exit when done Terminates protocol after file transfer if checked.
- Set/Command mode Enabled or disables external command processing.
- Set/Quiet Quiets alarm sounds if checked.
- Set/Clear screen Clears terminal screen.
- View/Statistics Displays transfer statistics.
- View/Log File Displays back scroll buffer.
-