Kansas City standard
From Wikipedia, the free encyclopedia
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 (micro)computer 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 audio tones, this is known as 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 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. Process Technology developed the S-100 bus CUTS Tape I/O interface board. This board offered Kansas City Standard to any S-100 system. Processor Technology sold many programs on cassette tape. CUTS format on one side, and Kansas City Standard on the other side.
Contents[hide] |
[edit] Participants of the Kansas City symposium
- Ray Borril, 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 "sound sheets" 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 33⅓ 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 a 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
- 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)
Home/personal computers:
- ABC 80
- 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)
- Heathkit
- Heathkit H8 (300 and 1200 baud)
- Heathkit H89 - also sold as the Zenith Z89 (300 and 1200 baud)
- MicroBee Systems
- MicroBee (300 and 1200 baud)
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)
[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://www.startupgallery.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 5 1/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.
- ^ Robert S. Jones (May 1977). "The Floppy-ROM Experiment". Interface Age (McPheters, Wolfe & Jones) 2 (6): 28, 83.
- ^ http://www.evatone.com/AboutEvatone_History.aspx
- ^ William W. Turner (May 1977). "Robert Uiterwyk's 4K BASIC". Interface Age (McPheters, Wolfe & Jones) 2 (6): 40–54.
- ^ William Blomgren (May 1977). "Platter BASIC: The Search for a Good, Random Access, Record Cutting Juke Box". Interface Age (McPheters, Wolfe & Jones) 2 (6): 29–36.
- ^ Gary Kay (December 1976). "The Designer's Eye View of the AC-30". BYTE (BYTE Publications) 1 (16): 98–108.
[edit] See also
- UEF - a popular file format for archiving Kansas City standard audio
[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
|
||||||||||||||||||||||||||||||||||||
