Punter (protocol)
Encyclopedia
Punter is a generic term referring to any of various protocols for file transfer developed in the 1980s by Steve Punter, or their variants.

PET Transfer Protocol

The PET Transfer Protocol (PTP), also known as Punter or Old Punter, was developed ca. 1980 by Steve Punter for use with his PETBBS and BBS64 bulletin board system
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...

 (BBS) software. The "PET" in the name comes from the Commodore PET
Commodore PET
The Commodore PET was a home/personal computer produced from 1977 by Commodore International...

 computer.

Compared to other contemporary protocols, PTP was slower than YMODEM
YMODEM
YMODEM is a protocol for file transfer used between modems. YMODEM was developed by Chuck Forsberg as the successor to XMODEM and MODEM7, and was first implemented in his CP/M YAM program...

 and ZMODEM
ZMODEM
ZMODEM is a 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...

 but faster and more reliable than XMODEM
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. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...

.

The earliest version of Punter supported only 7-bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

 transfers and used a back-correction algorithm involving two checksum
Checksum
A checksum or hash sum is a fixed-size datum computed from an arbitrary block of digital data for the purpose of detecting accidental errors that may have been introduced during its transmission or storage. The integrity of the data can be checked at any later time by recomputing the checksum and...

s for failsafes. One of the two checksums was additive, and the other was 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 - made it significantly more accurate than the single-byte checksum used by XMODEM
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. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...

, its major competitor in the early 1980s. Regardless of the potential for errors to creep in, in comparison to the YMODEM
YMODEM
YMODEM is a protocol for file transfer used between modems. YMODEM was developed by Chuck Forsberg as the successor to XMODEM and MODEM7, and was first implemented in his CP/M YAM program...

 protocol of the late 1980s, which was arguably superior, it has been widely used on Commodore PET and Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...

 based bulletin boards.

What It Looked Like to the User

Not all of the transmission was visible to the user. The most noticeable part of the transmission was 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 allowed 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 PC computers, the C-64 and C-128 could poll the User Port (where the modem
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...

 was 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 could actually be transmitted faster than at higher BAUD rates, inasmuch as there were fewer re-sends in a given transfer.
An improved Punter protocol, C1, was in use after 1988.

C1

C1, also known as New Punter, was developed in 1984 by Steve Punter as a successor to PTP. C1 was the standard protocol for use on Commodore BBS
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...

es, and was rarely supported by terminal
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....

 or BBS software for other operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s.

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
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 for the original implementation into the public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...

.

Technical information

C1 could transmit block sizes up to 255 byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

s 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 on Commodore
Commodore International
Commodore is the commonly used name for Commodore Business Machines , the U.S.-based home computer manufacturer and electronics manufacturer headquartered in West Chester, Pennsylvania, which also housed Commodore's corporate parent company, Commodore International Limited...

 computers, whose DOS
Commodore DOS
Commodore DOS, aka CBM DOS, was the disk operating system used with Commodore's 8-bit computers. Unlike most other DOS systems before or since—which are booted from disk into the main computer's own RAM at startup, and executed there—CBM DOS was executed internally in the drive: the DOS...

 treats executable, sequential, and random-access 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 circa 1985 by Steve Punter. Like C1, it is optimized for transferring files stored on Commodore computers.

Another variant was developed circa 1987 by Alan Peters
Alan Peters
Alan Peters OBE was a British furniture designer maker and one of the very few direct links with the Arts and Crafts Movement, having apprenticed to Edward Barnsley. He set up his own workshop in the Sixties...

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK