HOME

TheInfoList



OR:

Punter is a protocol for file transfer developed in the 1980s by
Steve Punter Steve Punter (born 1958 in Toronto, Ontario) is a Toronto-based programmer and media personality. Punter is noted for his work with Commodore microcomputers. He created WordPro, the first major word processor for the Commodore PET and Commodore ...
. There are various types of Punter such as PET Transfer Protocol (''PTP''), ''C1'' and ''C2''.


PET Transfer Protocol

The PET Transfer Protocol (''PTP''), also known as ''Punter'' or ''Old Punter'', was developed by Steve Punter for use with his PETBBS and BBS64
bulletin board system A bulletin board system (BBS), also called computer bulletin board service (CBBS), is a computer server running software that allows users to connect to the system using a terminal program. Once logged in, the user can perform functions such ...
(BBS) software. The "PET" in the name comes from the
Commodore PET The Commodore PET is a line of personal computers produced starting in 1977 by Commodore International. A single all-in-one case combines a MOS Technology 6502 microprocessor, Commodore BASIC in read-only memory, keyboard, monochrome monitor, ...
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 The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented a ...
transfers and uses a back-correction algorithm involving two
checksum A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify dat ...
s 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 A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by modulating one or more c ...
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 system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
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 In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
for the original implementation into the
public domain The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired, ...
. ''C1'' could transmit block sizes up to 255
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
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 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 by Punter. As with ''C1'', it is optimized for transferring files stored by 8-bit Commodore computers. Another variant was developed {{circa, 1987 by Alan Peters.


External links


Steve Punter's original C1 specificationC1 specification with interpretive annotationsPunter program for IBM PC systems
* ews:[email protected] Notes on implementing C1 and Peters' Multi-Punterbr>Thread discussing the details of the protocolModern description/analysis of the Punter protocol
BBS file transfer protocols Commodore 64