HOME

TheInfoList



OR:

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''.


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 a computer bulletin board service (CBBS), is a computer server running list of BBS software, software that allows users to connect to the system using a terminal program. Once logged in, the user perfor ...
(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 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 f ...
and ZMODEM but faster and more reliable than
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 ...
. The earliest version of Punter supports only 7-
bit The bit is the most basic unit of information in computing and digital communication. 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 as ...
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 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 ...
, its major competitor in the early 1980s. Regardless of the potential for errors to creep in, in comparison to the
YMODEM 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 f ...
protocol of the late 1980s, which is arguably superior, it has been widely used on Commodore PET and
Commodore 64 The Commodore 64, also known as the C64, is an 8-bit computing, 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in ...
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 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 ...
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 and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
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 or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
for the original implementation into the
public domain The public domain (PD) consists of all the creative work to which no Exclusive exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly Waiver, waived, or may be inapplicable. Because no one holds ...
. ''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 un ...
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 DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
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 systemsNotes on implementing C1 and Peters' Multi-PunterThread discussing the details of the protocolModern description/analysis of the Punter protocol
*https://codebase64.org/doku.php?id=magazines:chacking13 *https://bbs.magnum.uk.net/?page=001-forum.ssjs&sub=fidonet_syncsyso&thread=5630 BBS file transfer protocols Commodore 64