Misplaced Pages

Atari SIO

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

The Serial Input/Output system, universally known as SIO , was a proprietary peripheral bus and related software protocol stacks used on the Atari 8-bit computers to provide most input/output duties for those computers. Unlike most I/O systems of the era, such as RS-232 , SIO included a lightweight protocol that allowed multiple devices to be attached to a single daisy-chained port that supported dozens of devices. It also supported plug-and-play operations. SIO's designer, Joe Decuir , credits his work on the system as the basis of USB .

#239760

79-554: SIO was developed in order to allow expansion without using internal card slots as in the Apple II , due to problems with the FCC over radio interference . This required it to be fairly flexible in terms of device support. Devices that used the SIO interface included printers, floppy disk drives, cassette decks, modems and expansion boxes. Some devices had ROM based drivers that were copied to

158-521: A de facto standard was Altair with the Altair 8800 , developed 1974–1975, which later became a multi-manufacturer standard, the S-100 bus . Many of these computers were also passive backplane designs, where all elements of the computer, (processor, memory, and I/O) plugged into a card cage which passively distributed signals and power between the cards. Proprietary bus implementations for systems such as

237-443: A riser card in part because they project upward from the board and allow expansion cards to be placed above and parallel to the motherboard. Expansion cards allow the capabilities and interfaces of a computer system to be extended or supplemented in a way appropriate to the tasks it will perform. For example, a high-speed multi-channel data acquisition system would be of no use in a personal computer used for bookkeeping, but might be

316-411: A single serial RS232 port or Ethernet port. An expansion card can be installed to offer multiple RS232 ports or multiple and higher bandwidth Ethernet ports. In this case, the motherboard provides basic functionality but the expansion card offers additional or enhanced ports. One edge of the expansion card holds the contacts (the edge connector or pin header ) that fit into the slot. They establish

395-459: A "data frame" from or to the selected device. This frame would then be acknowledged by the receiver with a "C" for Complete or "E" for error. Since every packet of 128 data bytes required another command frame before the next could be sent, throughput was affected by latency issues; the Atari 810 disk drive normally used a 19,200 bit/s speed, but was limited to about 6,000 bit/s as a result of

474-523: A PCI Bus. Generally speaking, most PCI expansion cards will function on any CPU platform which incorporates PCI bus hardware provided there is a software driver for that type. PCI video cards and any other cards that contain their own BIOS or other ROM are problematic, although video cards conforming to VESA Standards may be used for secondary monitors. DEC Alpha, IBM PowerPC, and NEC MIPS workstations used PCI bus connectors. Both Zorro II and NuBus were plug and play , requiring no hardware configuration by

553-500: A TTL digital bus, the SIO system used two of the POKEY's four sound channels to produce steady tones that represented clock signals of a given frequency. A single-byte buffer was used to send and receive data; every time the clock signal toggled, one bit from the buffer would be read or written. When all eight bits were read or written, the system generated an interrupt that triggered the operating system to read or write more data. Unlike

632-499: A cable would mean Colleen would fail the RF tests, which presented a serious problem. Additionally, convection cooling the cards would be very difficult. During a visit in early 1978, a Texas Instruments (TI) salesman demonstrated a system consisting of a fibre optic cable with transceivers molded into both ends. Joe Decuir suggested they could use this to send the video signal to an external RF modulator, which would be as simple to use as

711-467: A cassette interface, where only a single device would normally be used, an external expansion port would need to be able to support more than one device. To support this, a simple protocol was developed and several new pins added to the original simple cassette port. Most important among these was the COMMAND pin, which triggered the devices to listen for a 5-byte message that activated one of the devices on

790-401: A checksum byte. The COMMAND pin went high again when the frame was complete. On reception of the packet, the device specified in the first byte was expected to reply. This consisted of a single byte containing an ASCII character, "A" for Acknowledge if the packet was properly decoded and the checksum matched, "N" otherwise. For commands that exchanged data, the command frame would be followed by

869-725: A countdown timer or divisor for the pulses from the POKEY clock. So, smaller values permit more frequent output of pulses from POKEY, and larger values, less frequent. The values $ 0 hex /0 dec to $ FF hex /255 dec are incremented by POKEY to range from $ 1 hex /1 dec to $ 100 hex /256 dec . The actual audible sound pitch is dependent on the POKEY clock frequency and distortion values chosen. See Audio Channel Control and Audio Control . Audio Channel 1 Frequency Audio Channel 2 Frequency Audio Channel 3 Frequency Audio Channel 4 Frequency The Audio Channel control registers provide volume and distortion control over individual sound channels. Audio may also be generated independently of

SECTION 10

#1732781096240

948-503: A custom 13-pin D-connector arrangement (although not D-subminiature ) with the male connectors on the devices and the female connectors on either end of the cables. The connectors were physically robust to allow repeated use, with very strong pins in the device socket and sprung connectors in the cables, as opposed to friction fit as in a typical D-connector. Most devices had in and out ports to allow daisy chaining peripherals, although

1027-412: A discrete GPU. Most other computer lines, including those from Apple Inc. , Tandy , Commodore , Amiga , and Atari, Inc. , offered their own expansion buses. The Amiga used Zorro II . Apple used a proprietary system with seven 50-pin-slots for Apple II peripheral cards , then later used both variations on Processor Direct Slot and NuBus for its Macintosh series until 1995, when they switched to

1106-508: A game cartridge to contain a POKEY, providing better sound than the system's audio chip. Only two licensed games make use of this: the ports of Ballblazer and Commando . The LSI chip has 40 pins and is identified as C012294. The USPTO granted U.S. Patent 4,314,236 to Atari on February 2, 1982 for an "Apparatus for producing a plurality of audio sound effects". The inventors listed are Steven T. Mayer and Ronald E. Milner. By part number: Atari used several different manufacturers for

1185-429: A key part of a system used for industrial process control. Expansion cards can often be installed or removed in the field, allowing a degree of user customization for particular purposes. Some expansion cards take the form of "daughterboards" that plug into connectors on a supporting system board. In personal computing , notable expansion buses and expansion card standards include the S-100 bus from 1974 associated with

1264-543: A passive adapter can be made to connect XT cards to a PLUS expansion connector. Another feature of PLUS cards is that they are stackable. Another bus that offered stackable expansion modules was the "sidecar" bus used by the IBM PCjr . This may have been electrically comparable to the XT bus; it most certainly had some similarities since both essentially exposed the 8088 CPU's address and data buses, with some buffering and latching,

1343-642: A second connector for extending the address and data bus over the XT, but was backward compatible; 8-bit cards were still usable in the AT 16-bit slots. Industry Standard Architecture (ISA) became the designation for the IBM AT bus after other types were developed. Users of the ISA bus had to have in-depth knowledge of the hardware they were adding to properly connect the devices, since memory addresses, I/O port addresses, and DMA channels had to be configured by switches or jumpers on

1422-409: Is a printed circuit board that can be inserted into an electrical connector , or expansion slot (also referred to as a bus slot) on a computer's motherboard (see also backplane ) to add functionality to a computer system. Sometimes the design of the computer's case and motherboard involves placing most (or all) of these slots onto a separate, removable card. Typically such cards are referred to as

1501-600: Is a digital I/O chip designed by Doug Neubauer at Atari, Inc. for the Atari 8-bit computers . It was first released with the Atari 400 and Atari 800 in 1979 and is included in all later models and the Atari 5200 console. POKEY combines functions for reading paddle controllers ( potentiometers ) and computer keyboards as well as sound generation and a source for pseudorandom numbers . It produces four voices of distinctive square wave audio, either as clear tones or modified with distortion settings. Neubauer also developed

1580-412: Is an expansion card that attaches to a system directly. Daughterboards often have plugs, sockets, pins or other attachments for other boards. Daughterboards often have only internal connections within a computer or other electronic devices, and usually access the motherboard directly rather than through a computer bus . Such boards are used to either improve various memory capacities of a computer, enable

1659-401: Is distinctive: when the four channels are used independently, there is noticeable detuning of parts of the 12-tone equal temperament scale, due to lack of pitch accuracy. Channels may be paired for higher accuracy; in addition, multiple forms of distortion are available, allowing a thicker sound. The distortion is primarily used in music for bass parts. One of the sound-engines developed for

SECTION 20

#1732781096240

1738-545: Is essentially a compact version of the ISA bus. The CardBus expansion card standard is an evolution of the PC card standard to make it into a compact version of the PCI bus. The original ExpressCard standard acts like it is either a USB 2.0 peripheral or a PCI Express 1.x x1 device. ExpressCard 2.0 adds SuperSpeed USB as another type of interface the card can use. Unfortunately, CardBus and ExpressCard are vulnerable to DMA attack unless

1817-483: Is produced only by setting volume bits 0:3 . This feature was used to create digital audio via pulse-code modulation . Bit 5-7: Shift register settings for noises/distortion. Bit values described below: Generating random noises is served by reading 8 bits from top of 17-bit shift register. That registers are driven by frequency 1.79 MHz for NTSC or 1.77 MHz for PAL. Its outputs can by used independently by each audio channels' divider rate. Audio Control allows

1896-696: Is solved for some registers by Operating System "Shadow" registers implemented in regular RAM that mirror the values of hardware registers. During the Vertical Blank the Operating System copies the Shadow registers in RAM for Write registers to the corresponding hardware register, and updates Shadow values for Read registers from the hardware accordingly. Therefore, writes to hardware registers which have corresponding shadow registers will be overwritten by

1975-593: The Apple II co-existed with multi-manufacturer standards. IBM introduced what would retroactively be called the Industry Standard Architecture (ISA) bus with the IBM PC in 1981. At that time, the technology was called the PC bus . The IBM XT , introduced in 1983, used the same bus (with slight exception). The 8-bit PC and XT bus was extended with the introduction of the IBM AT in 1984. This used

2054-685: The CP/M operating system , the 50-pin expansion slots of the original Apple II computer from 1977 (unique to Apple), IBM's Industry Standard Architecture (ISA) introduced with the IBM PC in 1981, Acorn 's tube expansion bus on the BBC Micro also from 1981, IBM's patented and proprietary Micro Channel architecture (MCA) from 1987 that never won favour in the clone market, the vastly improved Peripheral Component Interconnect (PCI) that displaced ISA in 1992, and PCI Express from 2003 which abstracts

2133-655: The Nintendo Entertainment System and the Sega Genesis included expansion buses in some form; In the case of at least the Genesis, the expansion bus was proprietary. In fact, the cartridge slots of many cartridge-based consoles (not counting the Atari 2600 ) would qualify as expansion buses, as they exposed both read and write capabilities of the system's internal bus. However, the expansion modules attached to these interfaces, though functionally

2212-696: The PCMCIA connector, is a PCI format that attaches peripherals to the Host PCI Bus via PCI to PCI Bridge. Cardbus is being supplanted by ExpressCard format. Intel introduced the AGP bus in 1997 as a dedicated video acceleration solution. AGP devices are logically attached to the PCI bus over a PCI-to-PCI bridge. Though termed a bus, AGP usually supports only a single card at a time ( Legacy BIOS support issues). From 2005 PCI Express has been replacing both PCI and AGP. This standard, approved in 2004, implements

2291-518: The RAM that mirrored registers in the various support chips like POKEY. The data bits were framed with a single zero start bit and a single one stop bit, and no parity was used. To write data in synchronous mode, the POKEY's main timer channels were set to an appropriate clock rate, say 9600 bit/s. Any data written to the SEROUT register was then sent one bit at a time every time the signal went high. It

2370-661: The VESA Local Bus Standard, were late 1980s expansion buses that were tied but not exclusive to the 80386 and 80486 CPU bus. The PC/104 bus is an embedded bus that copies the ISA bus. Intel launched their PCI bus chipsets along with the P5 -based Pentium CPUs in 1993. The PCI bus was introduced in 1991 as a replacement for ISA. The standard (now at version 3.0) is found on PC motherboards to this day. The PCI standard supports bus bridging: as many as ten daisy-chained PCI buses have been tested. CardBus , using

2449-456: The form factor of the motherboard and case , around one to seven expansion cards can be added to a computer system. 19 or more expansion cards can be installed in backplane systems. When many expansion cards are added to a system, total power consumption and heat dissipation become limiting factors. Some expansion cards take up more than one slot space. For example, many graphics cards on the market as of 2010 are dual slot graphics cards, using

Atari SIO - Misplaced Pages Continue

2528-942: The mezzanine of a theatre . Wavetable cards ( sample-based synthesis cards) are often mounted on sound cards in this manner. Some mezzanine card interface standards include the 400 pin FPGA Mezzanine Card (FMC); the 172 pin High-Speed Mezzanine Card (HSMC); the PCI Mezzanine Card (PMC); XMC mezzanines; the Advanced Mezzanine Card ; IndustryPacks (VITA 4), the GreenSpring Computers Mezzanine modules ; etc. Examples of daughterboard-style expansion cards include: POKEY POKEY , an acronym for Pot Keyboard Integrated Circuit ,

2607-437: The $ D2xx hex page and the Atari 5200 console maps it to the $ E8xx hex page. POKEY provides 29 Read/Write registers controlling Sound, Paddle input, keyboard input, serial input/output, and interrupts. Many POKEY register addresses have dual purposes performing different functions as a Read vs a Write register. Therefore, no code should read Hardware registers expecting to retrieve the previously written value. This problem

2686-462: The 4th bit of SKSTAT as they arrived, allowing direct reading of the data without waiting for the framing to complete. The system officially supported speeds up to 19,200 bit/s, but this rate was chosen only because the Atari engineer's protocol analyzer topped out at that speed. The system was actually capable of much higher performance. A number of 3rd party devices, especially floppy drives , used custom hardware and drivers to greatly increase

2765-403: The Atari 410 Program Recorder had to be placed at the end of the chain and thus did not include an out port. SIO was controlled by the Atari's POKEY chip, which included a number of general purpose timers. Four of these allowed fine control over the timing rates, and were intended to be used for sound output by connecting them to a digital-to-analog converter (D-to-A) and then mixing them into

2844-400: The Atari 8-bit killer application Star Raiders which makes use of POKEY features. POKEY chips are used for audio in many arcade video games of the 1980s including Centipede , Missile Command , Asteroids Deluxe , and Gauntlet . Some of Atari's arcade systems use multi-core versions with 2 or 4 POKEYs in a single package for more audio channels. The Atari 7800 console allows

2923-461: The Atari 8-bit family was called the AMP engine (Advanced Music Processor). This was used by the musician Gary Gilbertson . The AUDF* registers control the frequency or pitch of the corresponding sound channels. The AUDF* values also control the POKEY hardware timers useful for code that must run in precise intervals more frequent than the vertical blank. Each AUDF* register is an 8-bit value providing

3002-468: The POKEY clock by direct volume manipulation of a sound channel which is useful for playing back digital samples. Audio Channel 1 Control Audio Channel 2 Control Audio Channel 3 Control Audio Channel 4 Control Bit 0-3: Control over volume level, from 0 to F. Bit 4: Forced volume-only output. When this bit is set the channel ignores the AUDF timer, noise/distortion controls, and high-pass filter. Sound

3081-512: The POKEY were sent to the DATAOUT rather than the clock pins. The two channels were set to produce tones that were safe to record on the tape, 3995 Hz for a zero was in POKEY channel 2 and 5326 Hz for a one was in channel 1. In this mode, when the POKEY read bits from the SERIN, any 1's resulted in channel 1 playing into the data pin, and 0's played channel 2. In this fashion, a byte of data

3160-436: The SIO system, and Decuir blames this for "sinking the system". There were unsuccessful efforts to lower the cost of the system during the 8-bits' history. The name "SIO" properly refers only to the sections of the operating system that handled the data exchange, in Atari documentation the bus itself is simply the "serial bus" or "interface bus", although this is also sometimes referred to as SIO. In common usage, SIO refers to

3239-582: The addition of interrupts and DMA provided by Intel add-on chips, and a few system fault detection lines (Power Good, Memory Check, I/O Channel Check). Again, PCjr sidecars are not technically expansion cards, but expansion modules, with the only difference being that the sidecar is an expansion card enclosed in a plastic box (with holes exposing the connectors). Laptops are generally unable to accept most expansion cards intended for desktop computers. Consequently, several compact expansion standards were developed. The original PC Card expansion card standard

Atari SIO - Misplaced Pages Continue

3318-430: The basic functionality of an electronic device, such as when a certain model has features added to it and is released as a new or separate model. Rather than redesigning the first model completely, a daughterboard may be added to a special connector on the main board. These usually fit on top of and parallel to the board, separated by spacers or standoffs , and are sometimes called mezzanine cards due to being stacked like

3397-401: The board for limited changes or customization. Since reliable multi-pin connectors are relatively costly, some mass-market systems such as home computers had no expansion slots and instead used a card-edge connector at the edge of the main board, putting the costly matching socket into the cost of the peripheral device. In the case of expansion of on-board capability, a motherboard may provide

3476-525: The bus and asked it for data (or sent it commands). They also added the PROCEED and INTERRUPT pins which could be used by the devices to set bits in control registers in the host, but these were not used in the deployed system. Likewise, the timing signals generated by the POKEY were sent on the CLOCKOUT and CLOCKIN pins, although the asynchronous protocol did not use these. The SIO bus was implemented using

3555-530: The card to match the settings in driver software. IBM's MCA bus, developed for the PS/2 in 1987, was a competitor to ISA, also their design, but fell out of favor due to the ISA's industry-wide acceptance and IBM's licensing of MCA. EISA, the 32-bit extended version of ISA championed by Compaq , was used on some PC motherboards until 1997, when Microsoft declared it a "legacy" subsystem in the PC 97 industry white-paper. Proprietary local buses (q.v. Compaq) and then

3634-570: The chip, however AMI produced most of them in 1983 onward. Early chips were manufactured on a 5 micrometer process, this was later shrunk to 3 micrometers. AMI-produced POKEYs have been reported as having a high failure rate compared with other brands of the chip; the reasons for this are unclear, but speculated to be a fault of the chip packaging or bonding wires. Some limited success in reviving nonfunctional POKEYs by heating them in an oven has been reported. There also exist modern FPGA replacements such as POKEYOne. The Atari 8-bit computers map POKEY to

3713-903: The choice of clock input used for the audio channels, control over the high-pass filter feature, merging two channels together allowing 16-bit frequency accuracy, selecting a high frequency clock for specific channels, and control over the "randomness" of the polynomial input. "1" means "on", if not described: All frequency dividers (AUDF) can be driven at the same time by 64 kHz or 15 kHz rate. Frequency dividers 1 and 3 can be alternately driven by CPU clock (1.79 MHz NTSC, 1.77 MHz PAL). Frequency dividers 2 and 4 can be alternately driven by output of dividers 1 and 3. In this way, POKEY makes possible connecting of 8-bit channels to create sound with 16-bit accuracy. Possible channel configurations: POKEY has eight analog to digital converter ports most commonly used for potentiometers, also known as Paddle Controllers. The analog inputs are also used for

3792-584: The coaxial cable one needed to run the signal to the television anyway. Now the computer could have normal slots; like the Apple II, the RF portion would be entirely external and could be tested on its own separately from the computer. When Decuir explained his concept, the salesman's "eyes almost popped out." Unknown to the Grass Valley team, TI was at that time in the midst of developing the TI-99/4 and

3871-452: The computer to connect to certain kinds of networks that it previously could not connect to, or to allow for users to customize their computers for various purposes such as gaming. Daughterboards are sometimes used in computers in order to allow for expansion cards to fit parallel to the motherboard, usually to maintain a small form factor . This form are also called riser cards , or risers. Daughterboards are also sometimes used to expand

3950-423: The disk drivers could support four drives numbered $ 31 to $ 34. Design of what became the SIO had started as a system for interfacing to cassette recorders using the sound hardware to generate the appropriate tones. This capability was retained in the production versions, allowing the Atari 410 and its successors to be relatively simple devices. When set to operate the cassette, the outputs from channel 1 and 2 of

4029-468: The electrical contact between the electronics on the card and on the motherboard. Peripheral expansion cards generally have connectors for external cables. In the PC-compatible personal computer, these connectors were located in the support bracket at the back of the cabinet. Industrial backplane systems had connectors mounted on the top edge of the card, opposite to the backplane pins. Depending on

SECTION 50

#1732781096240

4108-469: The entire system from the operating system to the bus and even the physical connectors. The SIO system ultimately owes its existence to the FCC's rules on the allowable amount of RF interference that could leak from any device that directly generated analog television signals. These rules demanded very low amounts of leakage and had to pass an extensive testing suite. These rules were undergoing revisions during

4187-422: The host computer when booted allowing new devices to be supported without native support built into the computer itself. SIO required logic in the peripherals to support the protocols, and in some cases a significant amount of processing power was required - the Atari 810 floppy disk drive included a MOS Technology 6507 for instance. Additionally, the large custom connector was expensive. These drove up costs of

4266-416: The interconnect into high-speed communication "lanes" and relegates all other functions into software protocol. Vacuum-tube based computers had modular construction, but individual functions for peripheral devices filled a cabinet, not just a printed circuit board. Processor, memory and I/O cards became feasible with the development of integrated circuits . Expansion cards make processor systems adaptable to

4345-414: The laptop has an IOMMU that is configured to thwart these attacks. One notable exception to the above is the inclusion of a single internal slot for a special reduced size version of the desktop standard. The most well known examples are Mini-PCI or Mini PCIe . Such slots were usually intended for a specific purpose such as offering "built-in" wireless networking or upgrading the system at production with

4424-402: The leading zero. It then rapidly read the port and timed the transitions of the timing bits from 0 to 1 and back to determine the precise data rate. The next byte was a control byte specifying if this was a normal record of 128 data bytes, a short block, or an end-of-file. Up to 128 bytes of data followed, itself followed by a checksum byte, including everything before the checksum. The operation

4503-526: The logical PCI protocol over a serial communication interface. PC/104(-Plus) or Mini PCI are often added for expansion on small form factor boards such as Mini-ITX . For their 1000 EX and 1000 HX models, Tandy Computer designed the PLUS expansion interface, an adaptation of the XT-bus supporting cards of a smaller form factor. Because it is electrically compatible with the XT bus (a.k.a. 8-bit ISA or XT-ISA),

4582-465: The name Sup'R'Mod . This meant the Apple did not, technically, generate television signals and did not have to undergo FCC testing. One of Atari's major vendors, Sears , felt this was not a suitable solution for their off-the-shelf sales, so to meet the interference requirements they encased the entire system in a cast-aluminum block 2 mm thick. Colleen was originally intended to be a game console ,

4661-557: The needs of the user by making it possible to connect various types of devices, including I/O, additional memory, and optional features (such as a floating point unit ) to the central processor. Minicomputers, starting with the PDP-8 , were made of multiple cards communicating through, and powered by, a passive backplane . The first commercial microcomputer to feature expansion slots was the Micral N , in 1973. The first company to establish

4740-414: The overhead. Devices were enumerated mechanically, typically using small DIP switches . Each class of device was given a different set of 16 potential numbers based on hexadecimal numbers, the $ 30 range for disk drives and $ 40 for printers, for instance. However, each driver could support as many or as few devices as it wanted; the Atari 820 printer driver supported only a single printer numbered $ 40, while

4819-506: The period when Atari's Grass Valley group was designing the Colleen machine that would become the Atari 800. The Apple II , one of the few pre-built machines that connected to a television in that era, had avoided this problem by not including the RF modulator in the computer. Instead, Apple arranged a deal with a local electronics company, M&R Enterprises, to sell plug-in modulators under

SECTION 60

#1732781096240

4898-411: The problem of providing expansion through an external system of some sort. By this time, considerable work had been carried out on using the Atari's POKEY chip to run a cassette deck by directly outputting sounds that would be recorded to the tape. It was realized that, with suitable modifications, the POKEY could bypass digital-to-analog conversion hardware and drive TTL output directly. To produce

4977-547: The same as expansion cards, are not technically expansion cards, due to their physical form. The primary purpose of an expansion card is to provide or expand on features not offered by the motherboard. For example, the original IBM PC did not have on-board graphics or hard drive capability. In that case, a graphics card and an ST-506 hard disk controller card provided graphics capability and hard drive interface respectively. Some single-board computers made no provision for expansion cards, and may only have provided IC sockets on

5056-582: The second slot as a place to put an active heat sink with a fan. Some cards are "low-profile" cards, meaning that they are shorter than standard cards and will fit in a lower height computer chassis such as HTPC and SFF . (There is a "low profile PCI card" standard that specifies a much smaller bracket and board area). The group of expansion cards that are used for external connectivity, such as network , SAN or modem cards, are commonly referred to as input/output cards (or I/O cards). A daughterboard , daughtercard , mezzanine board or piggyback board

5135-402: The slight variation in the rates over time. One example was the cassette deck, where tape stretch could alter the speed, another is a modem, there the remote system may not be exactly clocked to a given speed. The SIO system allowed devices to be daisy chained, and thus required some way of identifying that information on the various data pins was intended for a specific device on the chain. This

5214-410: The successor to the Atari 2600 . The success of the Apple II led to the system being repositioned as a home computer , and this market required peripheral devices. On machines like the Apple II, peripherals were supported by placing an adapter card in one of the machine's internal card slots, running a cable through a hole in the case, and connecting the device to that cable. A hole large enough for such

5293-420: The tape was subject to stretching and other mechanical problems that could speed or slow transport across the heads, the system used asynchronous reads and writes. Data was written in blocks of 132 bytes per record, with the first two bytes being the bit pattern "01010101 01010101". An inter-record gap between the blocks with no tones allowed the operating system to know when a new record was starting by looking for

5372-534: The television signal before entering the RF modulator. These were re-purposed as the basis of the SIO system, used as clocks in some modes, or to produce the output signals directly in others. The system included a single "shift register" that was used to semi-automate most data transfers. This consisted of a single 8-bit value, LSB first, that was used to buffer reads and writes. The user accesses these through two memory locations known as SEROUT for writing and SERIN for reading. These were "shadow registers", locations in

5451-400: The television. This was often combined with direct motor control to produce interactive language learning tapes and similar programs. Some software companies would record sounds or music on this channel to make the loading process more enjoyable. Expansion card In computing , an expansion card (also called an expansion board , adapter card , peripheral card or accessory card )

5530-439: The transmission speeds to as much as 72,000 bit/s. Although the system had CLOCKOUT and CLOCKIN pins that could, in theory, be used for synchronous communications, in practice only the asynchronous system was used. In this case, a base speed was set in as above in the POKEY, which would follow changes of up to 5% from this base rate. This made it much easier to work with real devices where mechanical or electrical issues caused

5609-400: The user. Other computer buses were used for industrial control, instruments, and scientific systems. One specific example is HP-IB (or Hewlett Packard Interface Bus) which was ultimately standardized as IEEE-488 (aka GPIB). Some well-known historical standards include VMEbus , STD Bus , SBus (specific to Sun's SPARCStations), and numerous others. Many other video game consoles such as

5688-550: The value being overwritten during the vertical blank. If the application needs to know the last value written to the register then it is the responsibility of the application to implement its own shadow value to remember what it wrote. In the individual register listings below the following legend applies: Pokey contains a programmable sound generator ; four audio channels with separate frequency, noise and voice level controls. Each channel has an 8-bit frequency divider and an 8-bit register to select noise and volume. POKEY's sound

5767-452: The value of the Shadow registers during the next vertical blank. Reading values directly from hardware at an unknown stage in the display cycle may return inconsistent results (an example: reading potentiometers). Operating System Shadow registers for Read registers would usually be the preferred source of information. Some Write hardware registers do not have corresponding Shadow registers. They can be safely written by an application without

5846-407: Was accomplished with the COMMAND pin. The COMMAND pin was normally held high, and when it was pulled low, devices on the bus were required to listen for a "command frame". This consisted of a 5-byte packet; the first byte was the device ID, the second was a device-specific command number, and then two auxiliary bytes of data that could be used by the driver for any purpose. These four were followed by

5925-443: Was connected directly to the sound output circuits between the POKEY's D-to-A converters and the final output so that any signal on the pin mixed with the sound from the POKEY (if any) and was then sent to the television speaker. This was connected to the left sound channel in the cassette, while the right channel was connected to the data pins. This allowed users to record normal sounds on the left channel and then have them play through

6004-407: Was converted into tones on the tape. Reading, however, used a different system, as there was no A-to-D converter in the computer. Instead, the cassette decks included two narrow-band filters tuned to the two frequencies. During a read, the output of one or the other of these filters would be asserted as the bits were read off the tape. These were sent as digital data back to the host computer. Because

6083-472: Was facing the same problem with RF output. When Decuir later explained the idea to his boss, Wade Tuma, Tuma replied that "No, the FCC would never let us get away with that stunt." This proved to be true; TI used Decuir's idea, and when they took it to the FCC in 1979, the FCC rejected it out of hand. TI had to redesign their system, and the resulting delay meant the Atari's reached the market first. With this path to allowing card slots stymied, Decuir returned to

6162-509: Was further controlled by the MOTOR pin in the SIO port, dedicated to this purpose. When this pin was low, the motor in the deck was turned off. This allowed the user to press play or play and record without the tape beginning to move. When the appropriate command was entered on the computer, MOTOR would be asserted and the cassette would begin to turn. Another dedicated pin was the AUDIOIN, which

6241-502: Was timed so the signal returned low in the middle of the bit. When all 10 bits (including the start and stop) had been sent, POKEY sent a maskable interrupt to the CPU to indicate it was ready for another byte. On reading, if another byte of data was received before the SERIN was read, the 3rd bit of the SKSTAT was set to true to indicate the overflow. Individual bits being read were also sent to

#239760