Kansas City standard
The Kansas City standard, or Byte standard, is a way of storing digital data on standard Compact Audio Cassettes at data rates of 300 to 2400 bits per second that was first defined in 1976. It originated in a symposium sponsored by Byte magazine in November 1975 in Kansas City, Missouri to develop a standard for storage of digital microcomputer data on inexpensive consumer quality cassettes.
One variation on the basic standard was CUTS, which was identical at 300 bit/s, but had an optional 1200 bit/s mode as well. CUTS was the default encoding used by several machine families, including those from Acorn and the MSX. The latter added an even higher 2400 bit/s mode that was otherwise similar. CUTS' 1200 bit/s mode was also the standard used for cross-platform BASICODE distribution.
Although the KCS standard existed from the earliest days of the microcomputer revolution, it failed to prevent a proliferation of alternative encodings. Most home computers of the era used their own formats that were incompatible with KCS or each other.
History
Early cassettes
Early microcomputers generally used punched tape for program storage, an expensive option. Computer consultant Jerry Ogdin conceived the use of audio tones on a cassette to replace the paper tapes. He took the idea to Les Solomon, editor of Popular Electronics magazine, who was similarly frustrated by punched tapes. In September 1975 the two co-authored an article on the HITS, using two tones to represent 1s and 0s. Soon after, a number of manufacturers started using similar approaches, although each of these systems were incompatible.Kansas City symposium
, who had just started Byte magazine, wanted all the manufacturers to get together and produce a single cassette standard. He organized a two-day meeting on 7–8 November 1975 in Kansas City, Missouri. The participants settled on a system based on Don Lancaster's design. After the meeting, Lee Felsenstein and Harold Mauch wrote the standard, which was published in Byte magazine's first issue.A KCS cassette interface is similar to a modem connected to a serial port. The 1s and 0s from the serial port are converted to audio tones using audio frequency-shift keying. A "0" bit is represented as four cycles of a 1200 Hz sine wave, and a "1" bit as eight cycles of 2400 Hz. This gives a data rate of 300 baud. Each frame starts with one "0" start bit, followed by eight data bits followed by two "1" stop bits, so each frame is 11 bits, for a data rate of bytes per second.
The February 1976 issue of Byte had a report on the symposium, and the March issue featured two hardware examples by Don Lancaster and Harold Mauch. The 300 baud rate was reliable, but slow; a typical 8-kilobyte BASIC program took five minutes to load. Most audio cassette circuits would support higher speeds.
According to Solomon, the efforts were unsuccessful, "Unfortunately, it didn't last long; before the month ended, everyone went back to his own tape standard and the recording confusion got worse."
The participants of the Kansas City symposium include the following individuals —
- Ray Borrill, Bloomington, Indiana
- Hal Chamberlin, The Computer Hobbyist, Raleigh, North Carolina
- Richard Smith, The Computer Hobbyist, Raleigh, North Carolina
- Tom Durston, MITS, Albuquerque, New Mexico
- Bill Gates, MITS, Albuquerque, New Mexico
- Ed Roberts, MITS, Albuquerque, New Mexico
- Bob Zaller, MITS, Albuquerque, New Mexico
- Lee Felsenstein, LGC Engineering / Processor Technology, Berkeley, California
- Les Solomon, Popular Electronics Magazine, New York, New York
- Bob Marsh, Processor Technology, Berkeley, California
- Joe Frappier, Mikra-D, Bellingham, Massachusetts
- Gary Kay, Southwest Technical Products Corp, San Antonio, Texas
- Harold A Mauch, Pronetics/Percom Data, Garland Texas
- Bob Nelson, PCM, San Ramon, California
- George Perrine, HAL Communications Corp, Urbana, Illinois
- Paul Tucker, HAL Communications Corp, Urbana, Illinois
- Michael Stolowitz, Godbout Electronics, Oakland, California
- Mike Wise, Sphere, Bountiful, Utah
CUTS
Tarbell
The Tarbell Cassette Interface, which, according to early PC retailer Stan Veit, "became a de facto standard for S-100 computers", supported, in addition to the Tarbell "native" mode, also supported the Kansas City Standard.Floppy ROM
In August 1976 at the Personal Computing show in Atlantic City, New Jersey, Bob Marsh of Processor Technology approached Bob Jones, the publisher of Interface Age magazine, about pressing software onto vinyl records. Processor Technology provided an Intel 8080 program to be recorded. This test record did not work and Processor Technology was unable to devote more time to the effort.Daniel Meyer and Gary Kay of Southwest Technical Products arranged for Robert Uiterwyk to provide his 4K BASIC interpreter program for the Motorola 6800 microprocessor. The idea was to record the program on audio tape in the Kansas City format and then make a master record from the tape. Eva-Tone made Soundsheets on thin vinyl that would hold one song, these were inexpensive and could be bound in a magazine.
Bill Turner and Bill Blomgren of MicroComputerSystems Inc. along with Bob Jones of Interface Age and Bud Schamburger of Holiday Inn worked with Eva-Tone and developed a successful process. The intermediate stage of recording to tape produced dropouts, so a SWTPC AC-30 cassette interface was connected directly to the record cutting equipment.
The May 1977 issue of Interface Age contains the first "Floppy ROM", a 33 RPM record containing about six minutes of Kansas City standard audio. The September 1978 Floppy ROM Number 5 has two sides: Apple BASIC, "the automated dress pattern", and IAPS format, "A program for writing letters".
300 baud
The original standard recorded data as "marks" and "spaces". A mark bit consisted of eight cycles at a frequency of 2400 Hz, while a space bit consisted of four cycles at a frequency of 1200 Hz. A word, usually one byte long, was recorded in little endian order, i.e., least significant bit first. 7-bit words were followed by a parity bit.1200 baud
implemented a 1200-baud variation of CUTS in their BBC Micro and Acorn Electron microcomputers, which reduced a "0" bit to one cycle of a 1200 Hz sine wave and a "1" bit to two cycles of a 2400 Hz wave. Standard encoding includes a "0" start bit and "1" stop bit around every 8 bit piece of information, giving an effective data rate of 960 bits per second.Also, these machines record data in 256-byte blocks interspersed with gaps of carrier tone, each block carrying a sequence number and a CRC checksum, so that it is possible to rewind the tape and retry from the failed block when a read error occurs.
2400 baud
The MSX by default supports both a 1200 baud variation of the standard with the same bit encoding as Acorn's, and a 2400 baud variant which doubles the audio rate — a "0" bit is one cycle of a 2400 Hz wave and a "1" bit is two cycles of a 4800 Hz wave. Unlike Acorn machines, the MSX uses two "1" stop bits in addition to one "0" start bit, so the effective rate at 1200 baud is approximately 873 bits per second, and the effective rate at 2400 baud is approximately 1,745 bits per second. The machine's BIOS can read data at up to 3600 baud from an ideal audio source.The Quick CUTS standard proposed by Bob Cottis and Mike Blandford and published in the also operated at 2400 baud, encoding "0" as a half-cycle of 1200Hz and "1" as a whole cycle of 2400Hz. The receiver was self-clocking using a phase-locked loop. Published in 1978, it predates the 1982 patent for the similar Coded mark inversion proposal.
Computers using the Kansas City standard
Early microcomputers
- Compukit UK101
- Exidy Sorcerer Optional S-100 expansion bus, standard 300 bit/s mode and a 1200 baud variant by default.
- Kim-1, MOS Technology Optional S-100 expansion bus, standard 300 bit/s mode and a hypertype 1200 baud variant.
- Lucas Nascom 1, 2
- MITS Altair 8800
- Motorola MEK D1 6800 board
- Ohio Scientific C1P/ Superboard II
- Processor Tech Sol-20 Terminal Computer
- Processor Tech CUTS S-100 bus Tape I/O interface board
- SWTPC's Motorola 6800-based computers
- Tangerine Microtan 65
- Eltec Eurocom 1
- Z80 Starter Kit
Home and personal computers
- ABC 80
- Acorn Computers Ltd
- *Acorn System 1
- *Acorn Atom
- *BBC Micro
- *Acorn Electron
- Dick Smith Super-80
- Elektor Magazine National SC/MP Project
- Heathkit
- *Heathkit ET/ETW-3400 and 3400A Microprocessor Trainers
- *Heathkit H8
- *Zenith Z-89 — also sold as the Heathkit H89
- MicroBee Systems
- *MicroBee
- MSX
- Nascom
- Sega SC-3000 A slightly different 600 baud variant
- Triumph-Adler
- *Alphatronic PC
- *Alphatronic PC16
- Z80NE Nuova Elettronica with LX.385 interface
-
Programmable calculators
- Casio
- *FX-502P series with FA-1 interface
- *FX-602P series and FX-702P with FA-2 interface
- *Casio FX-603P and Casio FX-850P with FA-6 interface
- *Casio FX-750P with FA-20 interface
- *Casio PB-700 with FA-11 interface
Other devices
- Casio PT-50 electronic keyboard with TA-1 tape interface module.
- , Chris Covell's NES/Famicom cartridge dumping solution
- Roland TR-707 drum machine and other musical equipment.