JMODEM
   HOME

TheInfoList



OR:

JMODEM is a
file transfer File transfer is the transmission of a computer file through a communication channel from one computer system to another. Typically, file transfer is mediated by a communications protocol. In the history of computing, numerous file transfer protoc ...
protocol developed by
Richard Johnson Richard or Dick Johnson may refer to: Academics * Dick Johnson (academic) (1929–2019), Australian academic * Richard C. Johnson (1930–2003), professor of electrical engineering * Richard A. Johnson, artist and professor at the University of ...
in 1988. It is similar to the seminal
XMODEM XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. It allowed users to transmit files between their computers when both sides used MODEM. Keith Petersen made a ...
in most ways, but uses a variable-size packet in order to make better use of the available
bandwidth Bandwidth commonly refers to: * Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range * Bandwidth (computing), the rate of data transfer, bit rate or thr ...
on high-speed
modem The Democratic Movement (, ; MoDem ) is a centre to centre-right political party in France, whose main ideological trends are liberalism and Christian democracy, and that is characterised by a strong pro-Europeanist stance. MoDem was establis ...
s. JMODEM uses variable-length records called blocks. These blocks start with 512 data-bytes and increase in length to a maximum of 8192 bytes per block. There is a 6-byte overhead associated with each block so the percentage of overhead starts at a fairly high 1.1 percent and decreases to a very low 0.07 percent as the transmission progresses. The block length will increase in 512-byte increments as long as there are no errors requiring retransmission. Should an error occur, the block-size is cut in half. This continues until the block-size is as short as 64 bytes. JMODEM also included a basic RLE
data compression In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compressi ...
system, which replaces strings of repeated characters with a counter. If a string of many similar characters are found, JMODEM sends a "sentinel byte" (hexadecimal 0xBB) followed by a two-byte number, followed by the byte to be repeated. JMODEM applied RLE on a block-by-block basis, as opposed to the file as a whole. Since many files were already compressed with systems like .zip, JMODEM only used RLE on blocks where it actually reduced the size of the block. JMODEM is explained in some detail in the
John Dvorak John is a common English name and surname: * John (given name) * John (surname) John may also refer to: New Testament Works * Gospel of John, a title often shortened to John * First Epistle of John, often shortened to 1 John * Second ...
book ''Dvorak's Guide to PC Telecommunications''.


References


External links


JMODEM program and source code
BBS file transfer protocols Computer-related introductions in 1988 {{computer-stub