Kansas City standard#Floppy ROM
{{Short description|Data storage standard}}
File:SWTPC AC30 Cassette Interface.jpg
The Kansas City standard (KCS), or Byte standard, is a data storage protocol for standard cassette tapes or other audio recording media at {{val|300|ul=bits per second}}. It originated in a symposium sponsored by Byte magazine in November 1975 in Kansas City, Missouri to develop a standard for the storage of digital microcomputer data on inexpensive consumer quality cassettes. The first systems based on the standard appeared in 1976.
One variation on the basic standard is CUTS, which is identical at 300 bit/s, but with an optional 1200 bit/s mode. CUTS is the default encoding used by several later machine families, including those from Acorn and the MSX. MSX added a higher 2400 bit/s mode that is otherwise similar. The 1200 bit/s mode of CUTS was used as the standard for cross-platform BASICODE distribution.
KCS originated from the earliest days of the microcomputer revolution, among other prolific protocols. Most home computers of the era have unique formats that are incompatible with anything.
History
Early microcomputers generally use 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 (Hobbyists' Interchange Tape System), using two tones to represent 1s and 0s. Soon after, several manufacturers started using similar approaches, all incompatible.Les Solomon, [http://www.atariarchives.org/deli/solomons_memory.php "Solomon's Memory"], Digital Deli, 1984
Wayne Green, who had just started Byte magazine, wanted all the manufacturers to collaborate on a single cassette standard. He organized a two-day meeting on 7–8 November 1975 in Kansas City, Missouri.{{cite magazine |title = BYTE Sponsors ACR Standards Meeting |magazine = Computer Notes |last = Bunnell |first = David |author-link = David Bunnell |volume = 1 |issue = 6 |page = 1 |publisher = Altair Users Group, MITS Inc. |date = December 1975 |url = http://startup.nmnaturalhistory.org/gallery/notesViewer.php?ii=75_12 |access-date = 2007-05-04 |url-status = dead |archive-url = https://web.archive.org/web/20120323162247/http://startup.nmnaturalhistory.org/gallery/notesViewer.php?ii=75_12 |archive-date = 2012-03-23 }} The participants settled on a system based on Don Lancaster's design. After the meeting, Lee Felsenstein (of Processor Technology) and Harold Mauch (of Percom) wrote the standard, which was published in Byte magazine's first issue.{{cite magazine|magazine=BYTE|title=Serial Interface|last=Lancaster|first=Don|page=22|date=September 1975|issue=1|author-link=Don Lancaster|url=https://archive.org/stream/byte-magazine-1975-09/1975_09_BYTE_00-01_The_Worlds_Greatest_Toy#page/n23/mode/2up|access-date=2018-04-10|publisher=Green Publishing}}
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 (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 "0" start bit, followed by eight data bits (least significant bit first) followed by two "1" stop bits, so each frame is 11 bits, for a data rate of {{frac|27|3|11}} bytes per second.
The February 1976 issue of Byte has a report{{cite magazine
|author = Manfred and Virginia Peschke
|date=February 1976
|title = Report: BYTE's Audio Cassette Standards Symposium
|magazine= BYTE
|issue = 6
|pages = 72–73
|publisher = BYTE Publications
|url = https://archive.org/stream/byte-magazine-1976-02/1976_02_BYTE_00-06_Color_Graphics#page/n73/mode/1up
}} on the symposium, and the March issue features two hardware examples by Don Lancaster{{cite magazine
|author = Don Lancaster
|date=March 1976
|title = Build the Bit Boffer
|magazine= BYTE
|issue = 7
|pages = 30–39
|publisher = BYTE Publications
|url = https://archive.org/stream/byte-magazine-1976-03/1976_03_BYTE_00-07_Cassette_Interfaces#page/n31/mode/2up
}} and Harold Mauch.{{cite magazine
|author = Harold A. Mauch
|date=March 1976
|title = Digital Data on Cassette Recorders
|magazine= BYTE
|issue = 7
|pages = 40–45
|publisher = BYTE Publications
|url = https://archive.org/stream/byte-magazine-1976-03/1976_03_BYTE_00-07_Cassette_Interfaces#page/n41/mode/2up
}} The 300 baud rate is reliable, but slow; a typical 8-kilobyte BASIC program takes five minutes to load. Most audio cassette circuits 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 these:
- 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, Pacific Cyber/Metrix, 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 Corporation, Bountiful, Utah
Enhancements
The original standard records data as "marks" (one) and "spaces" (zero). A mark bit consists of eight cycles at a frequency of 2400 Hz, and a space bit consists of four cycles at a frequency of 1200 Hz. A word, usually one byte (8 bits) long, is recorded in little endian order, which is least significant bit first. 7-bit words are followed by a parity bit. As each 8-bit byte is encoded into 11-bits for transmission, the total throughput is 27 bytes per second.{{cite magazine |first=Don |last=Tarbell |title=Meet the Tarbell/KC Interface |magazine=Kilobaud |date=April 1977 |pages=44-46 |url=https://archive.org/details/kilobaudmagazine-1977-04/page/n45/mode/2up}}
The Tarbell Cassette Interface, which, according to early PC retailer Stan Veit, "became a de facto standard for S-100 computers", supported the Kansas City Standard in addition to the Tarbell "native" mode ("Tarbell standard").{{Cite web|url=http://pc-history.org/imsai.htm|title=The IMSAI 8800|website=pc-history.org|access-date=2018-09-24}} The Tarbell format is very different than the KC standard and normally operated at 187 bytes per second, and able to read as high as 540 bytes per second.
Processor Technology developed the popular CUTS (Computer Users' Tape Standard), which works at either 300 or 1200 baud. The 1200 baud version simply reduced the number of cycles per bit, with a mark being two cycles of 2400 and a space being one cycle at 1200. It was otherwise the same as the original KC standard, with a single "0" for the start bit and two trailing "1"s as stop bits, giving an effective data rate of 873 bits per second. The company provided the S-100 bus CUTS Tape I/O interface board, which offers both CUTS and Kansas City standard support to any S-100 system.
The Quick CUTS standard proposed by Bob Cottis and Mike Blandford and published in the Amateur Computer Club newsletter operated at 2400 baud, encoding "0" as a half-cycle of 1200 Hz and "1" as a whole cycle of 2400 Hz. The receiver was self-clocking using a phase-locked loop.{{cite web | title=Amateur Computer Club Newsletter | date=August 1978 | volume=6 | issue=3 | url=http://smrcc.org.uk/members/g4ugm/ACC/Vol6-Issue3.pdf | access-date=September 29, 2022}} Published in 1978, it predates the 1982 patent for the similar coded mark inversion proposal.
Acorn Computers Ltd used a variation of 1200 baud CUTS for the BBC Micro,{{cite report |author=R. T. Russell, BBC Engineering Designs Department|title=The BBC Microcomputer System. PART II — HARDWARE SPECIFICATION|publisher=The British Broadcasting Corporation |date=1981|url=http://chrisacorns.computinghistory.org.uk/docs/BBC/HardwareSpecification.txt }} which removed one of the two stop bits to improve the throughput to 960 bits per second. Additionally, the machines used a format for data that broke files into 256-byte blocks which included sequence numbers; if there was an error during a read, the user could rewind the tape just enough to get past the bad block and try again, the system would ignore those block that had been successfully loaded previously.
MSX supports both the 1200 baud variation of the CUTS standard, as well as a new 2400 baud variant which encodes a "0" bit as one cycle of a 2400 Hz wave and a "1" bit as two cycles of a 4800 Hz wave.{{cite book |title=The MSX Red Book|chapter=4, ROM BIOS |publisher=Kuma Computers |isbn=0-7457-0178-7 |date=1985 }} This gives an effective rate of approximately 1,745 bits per second. The machine's BIOS can read data at up to 3600 baud from an ideal audio source.
Implementations
= Early microcomputers =
Several use the S-100 bus.
- 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 (KIMSI), standard 300 bit/s mode and a hypertype 1200 baud variant.
- Lucas Nascom 1, 2 (which also supports a 1200 bit/s variant, see below)
- MITS Altair 8800
- Motorola MEK D1 6800 board
- 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 (300 baud CUTS — faster 2400 non-CUTS format also available)
- Eltec (German Company) Eurocom 1
- Z80 Starter Kit (1977 — Development board by SD Systems — 300 bauds — S-100 bus)
= Personal computers =
- ABC 80
- Acorn Computers Ltd
- Acorn System 1 (300 baud only)Acorn System 1 Technical Manual, p.15: "On the keyboard is a Computer Users Tape Standard interface"
- 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 ET/ETW-3400 and 3400A Microprocessor Trainers (300, 1200, 2400 baud){{Cite web|url=http://www.thorssell.net/PIC/cassette.html|title=Cassette replacement for a Heathkit ET-3400A trainer}}
- Heathkit H8 (300 and 1200 baud)
- Zenith Z-89 — also sold as the Heathkit H89 (300 and 1200 baud)
- MicroBee Systems
- MicroBee (300 and 1200 baud)
- MSX (1200 and 2400 baud)
- Nascom (300 and 1200)
- Ohio Scientific C1P/Superboard II, C2-4P/C4P, C2-8P/C8P
- Sega SC-3000 A slightly different 600 baud variant
- Triumph-Adler
- Alphatronic PC
- Alphatronic PC16
- Z80NE Nova Elettronica with LX.385 interface
- Chaos Homebrew Computer
- {{ill|Irisha|ru|Ириша (компьютер)}} (1200 baud, 2 stop bits, same as MSX)
= 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)
- Casio FX-750P with FA-20 interface (300 baud)
- Casio PB-700 with FA-11 interface (300 baud)
= Other devices =
- Casio PT-50 electronic keyboard with TA-1 tape interface module.
- Roland TR-707 drum machine and other musical equipment.
Alternative formats
File:FloppyRom Magazine.jpg 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.{{cite magazine |last = Jones| first = Robert S. |date=May 1977 |title = The Floppy ROM Experiment |magazine = Interface Age |volume = 2 |issue = 6 |pages = 28, 83 |publisher = McPheters, Wolfe & Jones }} Daniel Meyer and Gary Kay of Southwest Technical Products (SWTPC) 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.{{cite magazine |last = Penchansky |first = Alan |title = New Building for 'Soundsheets' Firm |magazine= Billboard |volume = 91 |issue = 45 |page =88 |publisher = Billboard Publications |location = New York |date = November 10, 1979 |url = https://books.google.com/books?id=HiUEAAAAMBAJ&pg=PT85 |issn = 0006-2510 }} Bill Turner{{cite journal |last = Turner |first = William W. |date=May 1977 |title = Robert Uiterwyk's 4K BASIC | journal=Interface Age | volume=2 | issue=6 |pages=40–54 |publisher=McPheters, Wolfe & Jones }} and Bill Blomgren{{cite journal | last = Blomgren |first = William |date=May 1977 |title = Platter BASIC: The Search for a Good, Random Access, Record Cutting Juke Box |journal = Interface Age |volume = 2 |issue = 6 |pages =29–36 |publisher = McPheters, Wolfe & Jones }} of MicroComputerSystems Inc. along with Bob Jones[8] 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{{cite magazine |author = Gary Kay |date=December 1976 |title = The Designer's Eye View of the AC-30 |magazine= BYTE |volume = 1 |issue = 16 |pages =98–108 |publisher = BYTE Publications }} cassette interface was connected directly to the record cutting equipment. The May 1977 issue of Interface Age contains the first "Floppy ROM", a 33{{1/3}} 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".
See also
Further reading
- {{cite book |author-first=Herwig |author-last=Feichtinger |title=Arbeitsbuch Mikrocomputer |trans-title=Microcomputer work book |chapter=1.8.3. Kassettenaufzeichnung |trans-chapter=1.8.3. Cassette recording |language=de |location=Munich, Germany |publisher=Franzis-Verlag GmbH |isbn=3-7723-8022-0 |date=1987 |edition=2 |pages=230–235}}
- {{cite book |editor-first1=Rainer |editor-last1=Erlekampf |editor-first2=Hans-Joachim |editor-last2=Mönk |author-first=Bernd |author-last=Hübler |pages=92–99, 164–165 |title=Mikroelektronik in der Amateurpraxis |trans-title=Micro-electronics for the practical amateur |chapter=2.6. Kassetteninterface |trans-chapter=2.6. Cassette interface |publisher=Militärverlag der Deutschen Demokratischen Republik, Leipzig |location=Berlin |date=1987 |orig-year=1986 |edition=3 |language=de |isbn=3-327-00357-2 |id=7469332}}
- {{cite web |title=CASsette IO Utilities |author-first=Marcus |author-last=von Cube |date=2015-03-15 |url=http://www.mvcsys.de/doc/casioutil.html |access-date=2017-03-14 |url-status=live |archive-url=https://web.archive.org/web/20170314182607/http://www.mvcsys.de/doc/casioutil.html |archive-date=2017-03-14}}
References
{{reflist}}
External links
- [https://web.archive.org/web/20161224113109/http://www.swtpc.com/mholley/AC30/KansasCityStandard.htm The original Byte Magazine article]
- [https://web.archive.org/web/20190221000254/http://www.swtpc.com/mholley/AC30/memcon1.wav 2-second sound sample of stored KCS file]
- [https://web.archive.org/web/20190215012705/http://www.swtpc.com/mholley/AC30/AC30_Index.htm SWTPC.com's article on the AC-30 cassette interface]
- [http://www.robomargo.com/percom/ Percom Data CIS-30 Cassette Interface Brochure] {{Webarchive|url=https://web.archive.org/web/20060728085608/http://www.robomargo.com/percom/ |date=2006-07-28 }}
- [http://www.gkc.org.uk/martin/software/#CUTS Kansas City Tape Decoder]
- [http://vegaja.orgfree.com/kcs05/ Kansas City Tape Decoder (Modern win32 version)]
{{magnetic tape data formats}}