[go: nahoru, domu]

Jump to content

Kansas City standard: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m →‎External links: Corrected broken external links by switching reference to archived pages
The standard was not tied to cassettes and other media was also used
 
(47 intermediate revisions by 22 users not shown)
Line 1: Line 1:
{{Short description|Data storage standard}}
[[File:SWTPC AC30 Cassette Interface.jpg|thumb|200px|right|The SWTPC AC-30 Cassette Interface implemented the Kansas City standard. It sold for $80 in May 1976.]]
[[File:SWTPC AC30 Cassette Interface.jpg|thumb|The SWTPC AC-30 Cassette Interface implements the Kansas City standard. In May 1976, it was sold for {{US$|80|1976|about=yes|round=-2}}.]]


The '''Kansas City standard''' ('''KCS'''), or '''''Byte'' standard''', is a way of storing digital data on standard [[Cassette tape|Compact Audio Cassettes]] at data rates of 300 to 2400 bits per second (at 300–2400 [[baud]]) that was first defined in 1976. It originated in a symposium sponsored by [[Byte (magazine)|''Byte'' magazine]] in November 1975 in [[Kansas City, Missouri]] to develop a standard for storage of digital [[microcomputer]] data on inexpensive consumer quality cassettes.
The '''Kansas City standard''' ('''KCS'''), or '''''Byte'' standard''', is a data storage protocol for standard [[cassette tape]]s or other [[Sound recording and reproduction|audio recording]] media at {{val|300|ul=bits per second}}. It originated in a symposium sponsored by [[Byte (magazine)|''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 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 Computers|Acorn]] and the [[MSX]]. The later 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.
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 Computers|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.


Although the KCS standard existed from the earliest days of the microcomputer revolution, it failed to prevent a proliferation of alternative encodings. Most [[home computer]]s of the era used their own formats that were incompatible with KCS or each other.
KCS originated from the earliest days of the microcomputer revolution, among other prolific protocols. Most [[home computer]]s of the era have [[List of cassette tape data storage formats|unique formats]] that are incompatible with anything.


==History==
==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.<ref name=sol>Les Solomon, [http://www.atariarchives.org/deli/solomons_memory.php "Solomon's Memory"], Digital Deli, 1984</ref>
===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''' (Hobbyists' Interchange Tape System), 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.<ref name=sol>Les Solomon, [http://www.atariarchives.org/deli/solomons_memory.php "Solomon's Memory"], Digital Deli, 1984</ref>


[[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]].<ref name="byte">{{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 }}</ref> 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.<ref>{{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}}</ref>
===Kansas City symposium===
[[Wayne Green]], 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]].<ref name="byte">{{cite journal |title = BYTE Sponsors ACR Standards Meeting |journal = Computer Notes |last = Bunnell |first = David |authorlink = 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 |accessdate = 2007-05-04 |url-status = dead |archiveurl = https://web.archive.org/web/20120323162247/http://startup.nmnaturalhistory.org/gallery/notesViewer.php?ii=75_12 |archivedate = 2012-03-23 }}</ref> 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.<ref>{{cite magazine|magazine=BYTE|title=Serial Interface|last=Lancaster|first=Don|page=22|date=September 1975|volume=0|issue=1|authorlink=Don Lancaster|url=https://archive.org/stream/byte-magazine-1975-09/1975_09_BYTE_00-01_The_Worlds_Greatest_Toy#page/n23/mode/2up|accessdate=2018-04-10|publisher=Green Publishing}}</ref>


A KCS cassette interface is similar to a modem connected to a [[serial communication|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&nbsp;[[Hertz|Hz]] [[sine wave]], and a "1" bit as eight cycles of 2400&nbsp;Hz. This gives a data rate of 300&nbsp;[[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.
A KCS cassette interface is similar to a modem connected to a [[serial communication|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&nbsp;[[Hertz|Hz]] [[sine wave]], and a "1" bit as eight cycles of 2400&nbsp;Hz. This gives a data rate of 300&nbsp;[[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'' had a report<ref name=ByteReport>{{cite magazine
The February 1976 issue of ''Byte'' has a report<ref name=ByteReport>{{cite magazine
|author = Manfred and Virginia Peschke
|author = Manfred and Virginia Peschke
|date=February 1976
|date=February 1976
|title = Report: BYTE's Audio Cassette Standards Symposium
|title = Report: BYTE's Audio Cassette Standards Symposium
|magazine= BYTE
|magazine= BYTE
|volume = 0
|issue = 6
|issue = 6
|pages = 72–73
|pages = 72–73
|publisher = BYTE Publications
|publisher = BYTE Publications
|url = https://archive.org/stream/byte-magazine-1976-02/1976_02_BYTE_00-06_Color_Graphics#page/n73/mode/1up
|url = https://archive.org/stream/byte-magazine-1976-02/1976_02_BYTE_00-06_Color_Graphics#page/n73/mode/1up
}}</ref> on the symposium, and the March issue featured two hardware examples by Don Lancaster<ref>{{cite magazine
}}</ref> on the symposium, and the March issue features two hardware examples by Don Lancaster<ref>{{cite magazine
|author = Don Lancaster
|author = Don Lancaster
|date=March 1976
|date=March 1976
|title = Build the Bit Boffer
|title = Build the Bit Boffer
|magazine= BYTE
|magazine= BYTE
|volume = 0
|issue = 7
|issue = 7
|pages = 30–39
|pages = 30–39
Line 41: Line 38:
|title = Digital Data on Cassette Recorders
|title = Digital Data on Cassette Recorders
|magazine= BYTE
|magazine= BYTE
|volume = 0
|issue = 7
|issue = 7
|pages = 40–45
|pages = 40–45
|publisher = BYTE Publications
|publisher = BYTE Publications
|url = https://archive.org/stream/byte-magazine-1976-03/1976_03_BYTE_00-07_Cassette_Interfaces#page/n41/mode/2up
|url = https://archive.org/stream/byte-magazine-1976-03/1976_03_BYTE_00-07_Cassette_Interfaces#page/n41/mode/2up
}}</ref> 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.
}}</ref> 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."<ref name=sol />
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."<ref name=sol />


The participants of the Kansas City symposium include the following individuals&nbsp;—<ref name=ByteReport />
The participants of the Kansas City symposium include these:<ref name=ByteReport />
* [[Ray Borrill]], Bloomington, Indiana
* [[Ray Borrill]], Bloomington, Indiana
* Hal Chamberlin, The Computer Hobbyist, Raleigh, North Carolina
* [[Hal Chamberlin]], The Computer Hobbyist, Raleigh, North Carolina
* Richard Smith, The Computer Hobbyist, Raleigh, North Carolina
* Richard Smith, The Computer Hobbyist, Raleigh, North Carolina
* Tom Durston, [[Micro Instrumentation and Telemetry Systems|MITS]], Albuquerque, New Mexico
* Tom Durston, [[Micro Instrumentation and Telemetry Systems|MITS]], Albuquerque, New Mexico
Line 63: Line 59:
* Joe Frappier, Mikra-D, Bellingham, Massachusetts
* Joe Frappier, Mikra-D, Bellingham, Massachusetts
* Gary Kay, [[SWTPC|Southwest Technical Products Corp]], San Antonio, Texas
* Gary Kay, [[SWTPC|Southwest Technical Products Corp]], San Antonio, Texas
* Harold A Mauch, Pronetics/Percom Data, Garland Texas
* Harold A Mauch, Pronetics/[[Percom|Percom Data]], Garland Texas
* Bob Nelson, PCM, San Ramon, California
* Bob Nelson, [[Pacific Cyber/Metrix]], San Ramon, California
* George Perrine, HAL Communications Corp, Urbana, Illinois
* George Perrine, HAL Communications Corp, Urbana, Illinois
* Paul Tucker, HAL Communications Corp, Urbana, Illinois
* Paul Tucker, HAL Communications Corp, Urbana, Illinois
* Michael Stolowitz, [[Bill Godbout|Godbout Electronics]], Oakland, California
* Michael Stolowitz, [[Bill Godbout|Godbout Electronics]], Oakland, California
* [[Sphere 1|Mike Wise]], Sphere, Bountiful, Utah
* Mike Wise, [[Sphere 1|Sphere Corporation]], Bountiful, Utah


==CUTS==
== Enhancements ==
The original standard records data as "marks" (one) and "spaces" (zero). A mark bit consists of eight cycles at a frequency of 2400 [[hertz|Hz]], and a space bit consists of four cycles at a frequency of 1200&nbsp;Hz. A [[Word (computer architecture)|word]], usually one [[byte]] (8 bits) long, is recorded in [[Endianness#Little|little endian]] order, which is least significant bit first. 7-bit words are followed by a [[parity bit]].
[[Processor Technology]] developed the popular '''CUTS''' ('''''C'''omputer '''U'''sers{{'}} '''T'''ape '''S'''tandard''), which works at either 300 or 1200 baud. They 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.


[[Processor Technology]] developed the popular CUTS (Computer Users' Tape Standard), which works at either 300 or 1200 baud. They 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.
== 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 ("Tarbell standard"), also supported the Kansas City Standard.<ref>{{Cite web|url=http://pc-history.org/imsai.htm|title=The IMSAI 8800|website=pc-history.org|access-date=2018-09-24}}</ref>


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").<ref>{{Cite web|url=http://pc-history.org/imsai.htm|title=The IMSAI 8800|website=pc-history.org|access-date=2018-09-24}}</ref>
==Floppy ROM==
[[Image:FloppyRom Magazine.jpg|thumb|200px|right|''Interface Age'' magazine May 1977 issue, with a Kansas City standard [[flexi disc]] 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.<ref name = "Interface May 1977 Jones">{{cite journal |last = Jones| first = Robert S. |date=May 1977 |title = The Floppy ROM Experiment |journal = Interface Age |volume = 2 |issue = 6 |pages = .pp 28, 83 |publisher = McPheters, Wolfe & Jones }}</ref>


[[Acorn Computers Ltd]] implemented a 1200-baud variation of ''CUTS'' in its [[BBC Micro]]<ref>{{cite report |author=R. T. Russell, BBC Engineering Designs Department|title=The BBC Microcomputer System. PART II&nbsp;— HARDWARE SPECIFICATION|publisher=The British Broadcasting Corporation |date=1981|url=http://chrisacorns.computinghistory.org.uk/docs/BBC/HardwareSpecification.txt }}</ref> and [[Acorn Electron]] microcomputers, which reduced a "0" bit to one cycle of a 1200&nbsp;Hz sine wave and a "1" bit to two cycles of a 2400&nbsp;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 [[block (data storage)|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.
[[Daniel Meyer (engineer)|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 [[Flexi disc|Soundsheets]] on thin vinyl that would hold one song, these were inexpensive and could be bound in a magazine.<ref name ="Billboard Nov 1979">{{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 }}</ref>


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&nbsp;— a "0" bit is one cycle of a 2400&nbsp;Hz wave and a "1" bit is two cycles of a 4800&nbsp;Hz wave.<ref>{{cite book |title=The MSX Red Book|chapter=4, ROM BIOS |publisher=Kuma Computers |isbn=0-7457-0178-7 |date=1985 }}</ref> 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 Amateur Computer Club newsletter<ref name="ACCN">{{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}}</ref> also 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]]. Published in 1978, it predates the 1982 patent for the similar [[coded mark inversion]] proposal.
Bill Turner<ref name = "Interface May 1977 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=.pp 40–54 |publisher=McPheters, Wolfe & Jones }}</ref> and Bill Blomgren<ref name="Interface May 1977 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 }}</ref> of MicroComputerSystems Inc. along with Bob Jones<sup>[8]</sup> 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<ref name = "Byte Dec 1977">{{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 }}</ref> cassette interface was connected directly to the record cutting equipment.


== Implementations ==
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".
=== Early microcomputers ===
Several use the S-100 bus.


==300 baud==
The original standard recorded data as "marks" (one) and "spaces" (zero). A mark bit consisted of eight cycles at a frequency of 2400 [[hertz|Hz]], while a space bit consisted of four cycles at a frequency of 1200&nbsp;Hz. A [[Word (computer architecture)|word]], usually one [[byte]] (8 bits) long, was recorded in [[Endianness#Little|little endian]] order, ''i.e.'', least significant bit first. 7-bit words were followed by a [[parity bit]].

==1200 baud==
[[Acorn Computers|Acorn Computers Ltd]] implemented a 1200-baud variation of '''CUTS''' in their [[BBC Micro]]<ref>{{cite report |author=R. T. Russell, BBC Engineering Designs Department|title=The BBC Microcomputer System. PART II&nbsp;— HARDWARE SPECIFICATION|publisher=The British Broadcasting Corporation |date=1981|url=http://chrisacorns.computinghistory.org.uk/docs/BBC/HardwareSpecification.txt|quote=A cassette modem will be incorporated to allow storage of programs and data on a standard audio cassette recorder&nbsp;... The format will be&nbsp;... 300 baud and 1200 baud. ...&nbsp;It must be possible to switch between low-speed (CUTS) mode and high-speed mode}}</ref> and [[Acorn Electron]] microcomputers, which reduced a "0" bit to one cycle of a 1200&nbsp;Hz sine wave and a "1" bit to two cycles of a 2400&nbsp;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 [[Data-rate units|bits per second]].

Also, these machines record data in 256-byte [[block (data storage)|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&nbsp;— a "0" bit is one cycle of a 2400&nbsp;Hz wave and a "1" bit is two cycles of a 4800&nbsp;Hz wave.<ref>{{cite book |title=The MSX Red Book|chapter=4, ROM BIOS |publisher=Kuma Computers |isbn=0-7457-0178-7 |date=1985|quote=The MSX ROM uses a software driven FSK&nbsp;.. method for storing information on the cassette. At the 1200 baud rate this is identical to the Kansas City Standard&nbsp;... At 1200 baud each 0 bit is written as one complete 1200 Hz LO cycle and each 1 bit as two complete 2400 Hz HI cycles&nbsp;... When the 2400 baud rate is selected, the two frequencies change to 2400 Hz and 4800 Hz, but the format is otherwise unchanged.}}</ref> 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 [http://www.smrcc.org.uk/members/g4ugm/ACC/Vol6-Issue3.pdf Amateur Computer Club newsletter] 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===
(several use S-100 bus)
*[[Compukit UK101]]
*[[Compukit UK101]]
*[[Exidy Sorcerer]] Optional S-100 expansion bus, standard 300 bit/s mode and a 1200 baud variant by default.
*[[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.
*Kim-1, MOS Technology Optional S-100 expansion bus (KIMSI), standard 300 bit/s mode and a hypertype 1200 baud variant.
*[[Nascom (computer kit)|Lucas Nascom]] 1, 2 (which also supported a 1200 bit/s variant, see below)
*[[Nascom (computer kit)|Lucas Nascom]] 1, 2 (which also supports a 1200 bit/s variant, see below)
*[[Micro Instrumentation and Telemetry Systems|MITS]] [[Altair 8800]]
*[[Micro Instrumentation and Telemetry Systems|MITS]] [[Altair 8800]]
*[[Motorola]] MEK D1 6800 board
*[[Motorola]] MEK D1 6800 board
*[[Ohio Scientific]] C1P/ Superboard II
*[[Processor Technology|Processor Tech]] [[Sol-20]] Terminal Computer
*[[Processor Technology|Processor Tech]] [[Sol-20]] Terminal Computer
*Processor Tech CUTS S-100 bus Tape I/O interface board
*Processor Tech CUTS S-100 bus Tape I/O interface board
Line 116: Line 94:
*Z80 Starter Kit (1977&nbsp;— Development board by SD Systems&nbsp;— 300 bauds&nbsp;— S-100 bus)
*Z80 Starter Kit (1977&nbsp;— Development board by SD Systems&nbsp;— 300 bauds&nbsp;— S-100 bus)


===Home and personal computers===
=== Personal computers ===
*[[ABC 80]]
*[[ABC 80]]
*[[Acorn Computers|Acorn Computers Ltd]]
*[[Acorn Computers|Acorn Computers Ltd]]
Line 126: Line 104:
*[[Elektor]] Magazine National SC/MP Project
*[[Elektor]] Magazine National SC/MP Project
*[[Heathkit]]
*[[Heathkit]]
**Heathkit ET/ETW-3400 and 3400A Microprocessor Trainers (300, 1200, 2400 baud)<ref>http://www.thorssell.net/PIC/cassette.html</ref>
**Heathkit ET/ETW-3400 and 3400A Microprocessor Trainers (300, 1200, 2400 baud)<ref>{{Cite web|url=http://www.thorssell.net/PIC/cassette.html|title=Cassette replacement for a Heathkit ET-3400A trainer}}</ref>
**[[Heathkit H8]] (300 and 1200 baud)
**[[Heathkit H8]] (300 and 1200 baud)
**[[Zenith Z-89]]&nbsp;— also sold as the Heathkit H89 (300 and 1200 baud)
**[[Zenith Z-89]]&nbsp;— also sold as the Heathkit H89 (300 and 1200 baud)
Line 133: Line 111:
*[[MSX]] (1200 and 2400 baud)
*[[MSX]] (1200 and 2400 baud)
*[[Nascom]] (300 and 1200)
*[[Nascom]] (300 and 1200)
*[[Ohio Scientific]] C1P/Superboard II, C2-4P/C4P, C2-8P/C8P
*[[SG-1000#SC-3000|Sega SC-3000]] A slightly different 600 baud variant
*[[SG-1000#SC-3000|Sega SC-3000]] A slightly different 600 baud variant
*Triumph-Adler
*[[Triumph-Adler]]
**Alphatronic PC
**Alphatronic PC
**Alphatronic PC16
**Alphatronic PC16
* Z80NE Nuova Elettronica with LX.385 interface
* Z80NE Nova Elettronica with LX.385 interface
* [http://koo.corpus.cam.ac.uk/chaos/#CassetteInterface Chaos Homebrew Computer]
* Chaos Homebrew Computer
* {{ill|Irisha|ru|Ириша (компьютер)}} (1200 baud, 2 stop bits, same as MSX)


===Programmable calculators===
=== Programmable calculators ===
*[[Casio]]
*[[Casio]]
**[[Casio FX-502P series|FX-502P series]] with [[Casio FX-502P series#Interface|FA-1]] interface (300 baud)
**[[Casio FX-502P series|FX-502P series]] with [[Casio FX-502P series#Interface|FA-1]] interface (300 baud)
Line 148: Line 128:
**Casio PB-700 with FA-11 interface (300 baud)
**Casio PB-700 with FA-11 interface (300 baud)


===Other devices===
=== Other devices ===
*[[Casiotone|Casio PT-50]] [[electronic keyboard]] with TA-1 tape interface module.
* [[Casiotone|Casio PT-50]] [[electronic keyboard]] with TA-1 tape interface module.
* [[Roland TR-707]] drum machine and other musical equipment.
*[http://www.chrismcovell.com/TapeDump_Controls.html TapeDump], Chris Covell's NES/Famicom cartridge dumping solution

*[[Roland TR-707]] drum machine and other musical equipment.
== Alternative formats ==
[[File:FloppyRom Magazine.jpg|thumb|''Interface Age'' magazine May 1977 issue, with a Kansas City standard [[flexi disc]] 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.<ref name = "Interface May 1977 Jones">{{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 }}</ref> [[Daniel Meyer (engineer)|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 [[Flexi disc|Soundsheets]] on thin vinyl that would hold one song, these were inexpensive and could be bound in a magazine.<ref name ="Billboard Nov 1979">{{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 }}</ref> Bill Turner<ref name = "Interface May 1977 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 }}</ref> and Bill Blomgren<ref name="Interface May 1977 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 }}</ref> of MicroComputerSystems Inc. along with Bob Jones<sup>[8]</sup> 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<ref name = "Byte Dec 1977">{{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 }}</ref> 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==
== See also ==
* [[BASICODE]]
*[[BASICODE#The BASICODE data format|BASICODE]]&nbsp;— a common BASIC platform using the 1200 baud KCS
*[[Flexi disc]]
* [[Commodore Datasette]]
*[[IBM cassette tape]]
* [[Fast loader]]
* [[Flexi disc]]
*[[Tarbell Cassette Interface]]
* [[IBM cassette tape]]
*[[Unified Emulator Format|UEF]]&nbsp;— a popular file format for archiving Kansas City standard audio
* [[Tarbell Cassette Interface]]
* [[Unified Emulator Format]]


==Further reading==
== Further reading ==
*<!-- <ref name="Feichtinger_1987"> -->{{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=German |location=Munich, Germany |publisher=[[Franzis Verlag|Franzis-Verlag GmbH]] |isbn=3-7723-8022-0 |date=1987 |edition=2 |pages=230–235}}<!-- </ref> -->
* <!-- <ref name="Feichtinger_1987"> -->{{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|Franzis-Verlag GmbH]] |isbn=3-7723-8022-0 |date=1987 |edition=2 |pages=230–235}}<!-- </ref> -->
*<!-- <ref name="Huebler_1987_Kleincomputer"> -->{{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=German |isbn=3-327-00357-2 |id=7469332}}<!-- </ref> -->
* <!-- <ref name="Huebler_1987_Kleincomputer"> -->{{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}}<!-- </ref> -->
*{{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}}
* {{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==
== References ==
{{reflist}}
{{reflist}}


==External links==
== 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/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/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]
* [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]
* [http://www.robomargo.com/percom/ Percom Data CIS-30 Cassette Interface Brochure]
*[http://www.gkc.org.uk/martin/software/#CUTS Kansas City Tape Decoder]
* [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}}
{{magnetic tape data formats}}

Latest revision as of 18:12, 4 June 2024

The SWTPC AC-30 Cassette Interface implements the Kansas City standard. In May 1976, it was sold for US$80 (equivalent to about $400 in 2023).

The Kansas City standard (KCS), or Byte standard, is a data storage protocol for standard cassette tapes or other audio recording media at 300 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[edit]

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.[1]

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.[2] 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.[3]

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 27+311 bytes per second.

The February 1976 issue of Byte has a report[4] on the symposium, and the March issue features two hardware examples by Don Lancaster[5] and Harold Mauch.[6] 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."[1]

The participants of the Kansas City symposium include these:[4]

Enhancements[edit]

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.

Processor Technology developed the popular CUTS (Computer Users' Tape Standard), which works at either 300 or 1200 baud. They 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 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").[7]

Acorn Computers Ltd implemented a 1200-baud variation of CUTS in its BBC Micro[8] 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.

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.[9] 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 Amateur Computer Club newsletter[10] also 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. Published in 1978, it predates the 1982 patent for the similar coded mark inversion proposal.

Implementations[edit]

Early microcomputers[edit]

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[edit]

Programmable calculators[edit]

Other devices[edit]

Alternative formats[edit]

Interface Age magazine May 1977 issue, with a Kansas City standard flexi disc 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.[13] 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.[14] Bill Turner[15] and Bill Blomgren[16] 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[17] cassette interface was connected directly to the record cutting equipment. The May 1977 issue of Interface Age contains the first "Floppy ROM", a 3313 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[edit]

Further reading[edit]

  • Feichtinger, Herwig (1987). "1.8.3. Kassettenaufzeichnung" [1.8.3. Cassette recording]. Arbeitsbuch Mikrocomputer [Microcomputer work book] (in German) (2 ed.). Munich, Germany: Franzis-Verlag GmbH. pp. 230–235. ISBN 3-7723-8022-0.
  • Hübler, Bernd (1987) [1986]. "2.6. Kassetteninterface" [2.6. Cassette interface]. In Erlekampf, Rainer; Mönk, Hans-Joachim (eds.). Mikroelektronik in der Amateurpraxis [Micro-electronics for the practical amateur] (in German) (3 ed.). Berlin: Militärverlag der Deutschen Demokratischen Republik, Leipzig. pp. 92–99, 164–165. ISBN 3-327-00357-2. 7469332.
  • von Cube, Marcus (2015-03-15). "CASsette IO Utilities". Archived from the original on 2017-03-14. Retrieved 2017-03-14.

References[edit]

  1. ^ a b Les Solomon, "Solomon's Memory", Digital Deli, 1984
  2. ^ Bunnell, David (December 1975). "BYTE Sponsors ACR Standards Meeting". Computer Notes. Vol. 1, no. 6. Altair Users Group, MITS Inc. p. 1. Archived from the original on 2012-03-23. Retrieved 2007-05-04.
  3. ^ Lancaster, Don (September 1975). "Serial Interface". BYTE. No. 1. Green Publishing. p. 22. Retrieved 2018-04-10.
  4. ^ a b Manfred and Virginia Peschke (February 1976). "Report: BYTE's Audio Cassette Standards Symposium". BYTE. No. 6. BYTE Publications. pp. 72–73.
  5. ^ Don Lancaster (March 1976). "Build the Bit Boffer". BYTE. No. 7. BYTE Publications. pp. 30–39.
  6. ^ Harold A. Mauch (March 1976). "Digital Data on Cassette Recorders". BYTE. No. 7. BYTE Publications. pp. 40–45.
  7. ^ "The IMSAI 8800". pc-history.org. Retrieved 2018-09-24.
  8. ^ R. T. Russell, BBC Engineering Designs Department (1981). The BBC Microcomputer System. PART II — HARDWARE SPECIFICATION (Report). The British Broadcasting Corporation.
  9. ^ "4, ROM BIOS". The MSX Red Book. Kuma Computers. 1985. ISBN 0-7457-0178-7.
  10. ^ "Amateur Computer Club Newsletter" (PDF). August 1978. Retrieved September 29, 2022.
  11. ^ Acorn System 1 Technical Manual, p.15: "On the keyboard is a Computer Users Tape Standard interface"
  12. ^ "Cassette replacement for a Heathkit ET-3400A trainer".
  13. ^ Jones, Robert S. (May 1977). "The Floppy ROM Experiment". Interface Age. Vol. 2, no. 6. McPheters, Wolfe & Jones. pp. 28, 83.
  14. ^ Penchansky, Alan (November 10, 1979). "New Building for 'Soundsheets' Firm". Billboard. Vol. 91, no. 45. New York: Billboard Publications. p. 88. ISSN 0006-2510.
  15. ^ Turner, William W. (May 1977). "Robert Uiterwyk's 4K BASIC". Interface Age. 2 (6). McPheters, Wolfe & Jones: 40–54.
  16. ^ Blomgren, William (May 1977). "Platter BASIC: The Search for a Good, Random Access, Record Cutting Juke Box". Interface Age. 2 (6). McPheters, Wolfe & Jones: 29–36.
  17. ^ Gary Kay (December 1976). "The Designer's Eye View of the AC-30". BYTE. Vol. 1, no. 16. BYTE Publications. pp. 98–108.

External links[edit]