Kansas City standard
The Kansas City standard (KCS), or Byte standard, is a digital data format for audio cassette drives. Byte magazine sponsored a symposium in November 1975 in Kansas City, Missouri to develop a standard for storage of digital microcomputer data on inexpensive consumer quality cassettes, at a time when floppy disk drives cost over $1000 USD each. In spite of the standard existing from the earliest days of the microcomputer revolution, very few systems actually used it as their standard.
- 1 Early cassette use
- 2 Standards effort
- 3 Floppy ROM
- 4 The original 300 baud standard
- 5 1200 baud variation
- 6 Computers using the Kansas City standard
- 7 See also
- 8 References
- 9 External links
Early cassette use
Early microcomputers generally used punch tape for program storage, an expensive option. Jerry Ogdin, a computer consultant, came up the idea of using 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 punch tapes. In September 1975 the two co-authored an article on the HITS (Hobbyists' Interchange Tape System), using two tones to represent 1's and 0's. Soon after a number of manufacturers started using similar approaches, although each of these systems were incompatible.
Wayne Green, who had just started Byte magazine, wanted all the manufacturers to get together and produce a single cassette standard. The site picked was Kansas City, Missouri. The two-day meeting was attended by 18 people who settled on a system based on Don Lancaster's design, published in Byte magazine's first issue. After the meeting, Lee Felsenstein (Processor Technology) and Harold Mauch (Percom) wrote the standard.
A 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 (AFSK). 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 start bit (a '0') followed by eight data bits (least significant bit first) followed by two stop bits ('1's). So each frame is 11 bits, for a data rate of 27 3⁄11 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. (The 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."
Participants of the Kansas City symposium
- Ray Borrill, Bloomington IN
- Hal Chamberlin, The Computer Hobbyist, Raleigh NC
- Richard Smith, The Computer Hobbyist, Raleigh NC
- Tom Durston, MITS, Albuquerque NM
- Bill Gates, MITS, Albuquerque NM
- Ed Roberts, MITS, Albuquerque NM
- Bob Zaller, MITS, Albuquerque NM
- Lee Felsenstein, LGC Engineering / Processor Technology, Berkeley CA
- Les Solomon, Popular Electronics Magazine, New York NY
- Bob Marsh, Processor Technology, Berkeley CA
- Joe Frappier, Mikra-D, Bellingham MA
- Gary Kay, Southwest Technical Products Corp, San Antonio TX
- Harold A Mauch, Pronetics/Percom Data, Garland TX
- Bob Nelson, PCM, San Ramon CA
- George Perrine, HAL Communications Corp, Urbana IL
- Paul Tucker, HAL Communications Corp, Urbana IL
- Michael Stolowitz, Godbout Electronics, Oakland Airport CA
- Mike Wise, Sphere, Bountiful UT
Processor Technology developed the popular CUTS (Computer Users' Tape Standard) which worked at either 300 or 1200 baud. They provided the S-100 bus CUTS Tape I/O interface board which offered both CUTS and Kansas City standard support to any S-100 system. Processor Technology also sold many programs on cassette tape. CUTS format on one side, and Kansas City standard on the other side.
In August 1976 at the Personal Computing show in Atlantic City, Bob Marsh of Processor Technology approached Bob Jones, the publisher of Interface Age magazine, about pressing software onto vinyl records. Processor Technology provided an 8080 program to be recorded. This test record did not work and they were 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 6800 microprocessor. The idea was to record the program on audio tape in the "Kansas City" standard format 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. 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 contained the first "Floppy ROM", a 331⁄3 RPM record with about 6 minutes of "Kansas City" standard audio.
The September 1978 Floppy ROM Number 5:. Side 1 Apple Basic "the automated dress pattern". Side 2 IAPS format "A program for writing letters".
The original 300 baud standard
The original standard recorded data as "marks" (one) and "spaces" (zero). 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 (8 bits) long, was recorded in little endian order, i.e. least significant bit first. 7-bit words were followed by a parity bit.
1200 baud variation
Acorn Computers Ltd 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 recorded data in 256-byte blocks interspersed with gaps of carrier tone, each block carrying a sequence number, so that it was possible to rewind the tape and resume at the proper block when a read error occurred.
Computers using the Kansas City standard
(several use S-100 bus)
- UEF - a popular file format for archiving Kansas City standard audio
- BASICODE - a common basic platform using the 1200 baud KCS
- Flexi disc
- Tarbell Cassette Interface
- IBM cassette tape
- Virginia Peschke (February 1976). "BYTE's Audio Cassette Standards Symposium". BYTE (BYTE Publications) 1 (6): 72–73.
- Bunnell, David (December 1975). "BYTE Sponsors ACR Standards Meeting". Computer Notes (Altair Users Group, MITS Inc.) 1 (6): 1. Retrieved 2007-05-04.
- The MITS 88-DCDD Altair Disk (controller board, 8 inch disk drive, case and power supply) sold for $1480 kit and $1980 assembled. (December 1975 BYTE magazine, page 45). It could store 300,000 bytes on a disk. The Shugart SA400 51⁄4 inch drive became available in late 1976 for $450 USD. It could store around 90,000 bytes on a disk. By 1977 this became a popular option for hobbyist computers.
- Les Solomon, "Solomon's Memory", Digital Deli, 1984
- Don Lancaster (March 1976). "Build the Bit Boffer". BYTE (BYTE Publications) 1 (7): 30–39.
- Harold A. Mauch (March 1976). "Digital Data on Cassette Recorders". BYTE (BYTE Publications) 1 (7): 40–45.
- Jones, Robert S. (May 1977). "The Floppy ROM Experiment". Interface Age (McPheters, Wolfe & Jones) 2 (6): .pp 28, 83.
- Penchansky, Alan (November 10, 1979). "New Building for 'Soundsheets' Firm". Billboard (New York: Billboard Publications) 91 (45): p. 88. ISSN 0006-2510.
- Turner, William W. (May 1977). "Robert Uiterwyk's 4K BASIC". Interface Age (McPheters, Wolfe & Jones) 2 (6): .pp 40–54.
- Blomgren, William (May 1977). "Platter BASIC: The Search for a Good, Random Access, Record Cutting Juke Box". Interface Age (McPheters, Wolfe & Jones) 2 (6): pp. 29–36.
- Gary Kay (December 1976). "The Designer's Eye View of the AC-30". BYTE (BYTE Publications) 1 (16): pp. 98–108.
- The original Byte Magazine article
- Sound sample of stored KCS file
- SWTPC.com's article on the AC-30 cassette interface
- KCS decoding software for MS-DOS
- Percom Data CIS-30 Cassette Interface Brochure
- MakeUEF - KCS audio to UEF file conversion software
- FreeUEF - standalone UEF to KCS audio conversion software
- UEFReader - UEF to KCS audio conversion plugin for Java Sound applications
- Perl script to decode a wav file in KCS format to a text file using Fast Fourier Transforms