Punter (protocol)

Last updated
Punter
Communication protocol
Steve Punter.jpg
Steve Punter in BBS: The Documentary .
Purpose File transfer protocol
Developer(s)Steve Punter
Introduction1980;44 years ago (1980)
Based on XMODEM
Hardware Modems

Punter is a protocol for file transfer developed in the 1980s by Steve Punter. There are various types of Punter such as PET Transfer Protocol (PTP), C1 and C2.

Contents

PET Transfer Protocol

The PET Transfer Protocol (PTP), also known as Punter or Old Punter, was developed c.1980 by Steve Punter for use with his PETBBS and BBS64 bulletin board system (BBS) software. The "PET" in the name comes from the Commodore PET computer.

Compared to other contemporary protocols, PTP is slower than YMODEM and ZMODEM but faster and more reliable than XMODEM.

The earliest version of Punter supports only 7-bit transfers and uses a back-correction algorithm involving two checksums for failsafes. One of the two checksums is additive, and the other is Boolean in nature (executing EOR instructions), making for an easy to understand algorithm for other programmers to understand and emulate. Having two checksums  both of them being 16 bits wide  makes it significantly more accurate than the single-byte checksum used by XMODEM, its major competitor in the early 1980s. Regardless of the potential for errors to creep in, in comparison to the YMODEM protocol of the late 1980s, which is arguably superior, it has been widely used on Commodore PET and Commodore 64 based bulletin boards.

Terminal output

Not all of the transmission is visible to the user. The most noticeable part of the transmission is the report of status codes like ACK, GOO, BAD, and SYN for handshaking results. A typical transmission might look like "ACKGOOGOOGOOGOOBADGOOGOOGOOBADGOO," with bad blocks reported to the user just as frequently as they occurred. This allows users to record the error rate according to hour and day of the week, and determine which hours of the day and which days of the week had cleaner phone lines. Unlike modern computers, the C64 and C128 can poll the User Port (where the modem is interfaced) at slightly different baud rates and connection speeds. For instance, a transmission at 1200 baud on Sunday evening might actually produce fewer errors than 2400 baud on Tuesday afternoon. By choosing slower baud rates, files can actually be transmitted faster, since there are fewer resends.

C1

In 1984, Steve Punter released a successor to PTP called C1, or New Punter. C1 was the standard protocol for use on Commodore BBSes, and was rarely supported by terminal or BBS software for other operating systems.

The C1 specification was rife with inaccuracies and ambiguities, making it difficult to implement from scratch. Nevertheless, the protocol came into widespread use because Punter released the source code for the original implementation into the public domain.

C1 could transmit block sizes up to 255 bytes with a recommended (but not enforced) minimum of 40 bytes and an overhead of 7 bytes per block. It is optimized for transferring files stored by 8-bit Commodore computers, whose DOS treats executable and sequential files identically.

Multi-Punter

The term Multi-Punter can refer to any one of three or four mutually incompatible third-party variants of C1 which permit batch-file transfers, as opposed to C1, which was designed for single-file transfers.

One such variant, C2, also known simply as Punter, was developed c.1985 by Punter. As with C1, it is optimized for transferring files stored by 8-bit Commodore computers.

Another variant was developed c.1987 by Alan Peters.

Related Research Articles

Kermit is a computer file transfer and management protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s. It provides a consistent approach to file transfer, terminal emulation, script programming, and character set conversion across many different computer hardware and operating system platforms.

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths.

UUCP is a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers.

<span class="mw-page-title-main">Kansas City standard</span> Data storage standard

The Kansas City standard (KCS), or Byte standard, is a data storage protocol for standard cassette tapes at 300 bits per second. It originated in a symposium sponsored by Byte magazine in November 1975 in Kansas City, Missouri to develop a standard for the storage of digital microcomputer data on inexpensive consumer quality cassettes. The first systems based on the standard appeared in 1976.

Modbus or MODBUS is a client/server data communications protocol in the application layer. It was originally published by Modicon in 1979 for use with its programmable logic controllers (PLCs). Modbus has become a de facto standard communication protocol for communication between industrial electronic devices in a wide range of buses and network.

The Fletcher checksum is an algorithm for computing a position-dependent checksum devised by John G. Fletcher (1934–2012) at Lawrence Livermore Labs in the late 1970s. The objective of the Fletcher checksum was to provide error-detection properties approaching those of a cyclic redundancy check but with the lower computational effort associated with summation techniques.

Picture Transfer Protocol (PTP) is a protocol originally developed by the Photographic and Imaging Manufacturers Association (PIMA) to allow the transfer of images from digital cameras to computers and other peripheral devices without the need for additional device drivers. The protocol was standardized by the ISO in 2005. The current version of the standard is ISO 15740:2013.

ZMODEM is an inline file transfer protocol developed by Chuck Forsberg in 1986, in a project funded by Telenet in order to improve file transfers on their X.25 network. In addition to dramatically improved performance compared to older protocols, ZMODEM offered restartable transfers, auto-start by the sender, an expanded 32-bit CRC, and control character quoting supporting 8-bit clean transfers, allowing it to be used on networks that would not pass control characters.

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 minor update to always turn on "quiet mode", and called the result XMODEM.

YMODEM is a file transfer protocol used between microcomputers connected together using modems. It was primarily used to transfer files to and from bulletin board systems. YMODEM was developed by Chuck Forsberg as an expansion of XMODEM and was first implemented in his CP/M YAM program. Initially also known as YAM, it was formally given the name "YMODEM" in 1985 by Ward Christensen, author of the original XMODEM.

<span class="mw-page-title-main">Compunet</span> UK-based interactive service provider

Compunet was a United Kingdom-based interactive service provider, catering primarily for the Commodore 64 but later for the Amiga and Atari ST. It was also known by its users as CNet. It ran from 1984 to May 1993.

ZMax is a file transfer protocol developed in 1990-1991 by Mike Bryeans who also developed TMODEM.

The Microcom Networking Protocols, almost always shortened to MNP, is a family of error-correcting protocols commonly used on early high-speed modems. Originally developed for use on Microcom's own family of modems, the protocol was later openly licensed and used by most of the modem industry, notably the "big three", Telebit, USRobotics and Hayes. MNP was later supplanted by V.42bis, which was used almost universally starting with the first V.32bis modems in the early 1990s.

Qmodem was an MS-DOS shareware telecommunications program and terminal emulator. Qmodem was widely used to access bulletin boards in the 1980s and was well respected in the Bulletin Board System (BBS) community. Qmodem was also known as Qmodem SST and Qmodem Pro.

<span class="mw-page-title-main">ZTerm</span> Shareware terminal emulator

ZTerm is a shareware terminal emulator for Macintosh operating system. It was introduced in 1992 for System 7 and has been updated to run on macOS. Its name comes from its use of the ZModem file transfer protocol, which ZTerm implemented in a particularly high-performance package. In contrast to the built-in macOS Terminal app, which only communicates with other programs, ZTerm only communicates with hardware serial ports.

In data networking, telecommunications, and computer buses, an acknowledgment (ACK) is a signal that is passed between communicating processes, computers, or devices to signify acknowledgment, or receipt of message, as part of a communications protocol. The negative-acknowledgement is a signal that is sent to reject a previously received message or to indicate some kind of error. Acknowledgments and negative acknowledgments inform a sender of the receiver's state so that it can adjust its own state accordingly.

Janus is a file transfer protocol for use on bulletin board systems (BBSs). It has the relatively rare feature that it is fully bidirectional, allowing the protocol to upload and download files at the same time. It was written by Rick Huebner in 1987; Huebner had previously written a ZMODEM module for the Opus-CBBS system.

MEGAlink is a file transfer protocol for modem-equipped microcomputers written by Paul Meiners in 1987. Like many protocols of the era, MEGAlink is an expanded version of the seminal XMODEM. While it was a relatively simple and high-performance system, it remains relatively obscure because it was overshadowed by ZMODEM, which had been released a year earlier and saw rapid uptake.