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[1][2] 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.[3]
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 Data Company) 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⁄11ths 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[4] and Harold Mauch.[5] 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.
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.
Contents |
[edit] 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
[edit] Floppy ROM
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.[6]
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.[7] These were inexpensive and could be bound in a magazine.
Bill Turner[8] and Bill Blomgren[9] 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[10] 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".
[edit] 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) in length, was recorded in little endian order, i.e. least significant bit first. 7-bit words were followed by a parity bit.
[edit] 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.
[edit] Computers using the Kansas City standard
Early microcomputers (several of them S-100 based):
- Compukit UK101
- Exidy Sorcerer Optional S-100 expansion bus, standard 300 bit/s mode and a 1200 baud variant by default.
- Lucas Nascom 1, 2 (which also supported a 1200 bit/s variant, see below)
- MITS Altair 8800
- MOS/CBM KIM-1
- 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 6800-based computers
- Tangerine MICROTAN 65 (300 baud CUTS - faster 2400 non-CUTS format also available)
- Eltec (German Company) Eurocom 1
Home/personal computers:
- Acorn Computers Ltd
- Acorn Atom (300 baud standard / 1200 baud with the "fast cos" program from utility pack 1)
- BBC Micro (300 and 1200 baud variations)
- Acorn Electron (1200 baud only)
- Dick Smith Super-80 (300 baud only)
- Elektor Magazine National SC/MP Project
- Heathkit
- Heathkit H8 (300 and 1200 baud)
- Heathkit H89 - also sold as the Zenith Z-89 (300 and 1200 baud)
- MicroBee Systems
- MicroBee (300 and 1200 baud)
- Sega SC-3000 A slightly different 600 baud variant
Programmable calculators:
- Casio
- FX-502P series with FA-1 interface (300 baud)
- FX-602P series and FX-702P with FA-2 interface (300 baud)
- Casio FX-603P and Casio FX-850P with FA-6 interface (300 and 1200 baud)
- PB-700 (with FA-11 interface)
Other devices:
- Casio PT-50 electronic keyboard with TA-1 tape interface module.
[edit] References
- ^ 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. http://startup.nmnaturalhistory.org/gallery/notesViewer.php?ii=75_12. 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.
- ^ 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-251. http://books.google.com/books?id=HiUEAAAAMBAJ&pg=PT85.
- ^ 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.
[edit] See also
- 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
[edit] External links
- 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
|
||||||||||||||||||||||||||||||||||||