POKEY

POKEY

POKEY is a digital I/O chip found in the Atari 8-bit family of home computers and many arcade games in the 1980s. Its name comes from POtentiometer and KEYboard, as it was commonly used to sample (ADC) potentiometers (such as game paddles) and scan matrices of switches (such as a computer keyboard). POKEY is also well known for its sound effect and music generation capabilities, producing a distinctive square wave sound popular among chip tune aficionados. The LSI chip has 40 pins and is identified as C012294. POKEY was designed by Atari employee Doug Neubauercite web | url=http://www.dadgum.com/halcyon/BOOK/NEUBAUER.HTM | title=Interview with Doug Neubauer | author=James Hague | work =Halcyon Days | date=2002-06-01 | accessdate=January 14 | accessyear=2008 ] , who also programmed the original Star Raiders.

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".cite web | url=http://patft.uspto.gov/netacgi/nph-Parser?patentnumber=4314236 | title=Apparatus for producing a plurality of audio sound effects | date=1979-01-24 | author = Atari, Inc. | work=United States Patent | accessdate=January 14 | accessyear=2008] This referred to POKEY's sound generation abilities. The inventors listed were Steven T. Mayer and Ronald E. Milner.

No longer manufactured, POKEY is emulated in software by classic arcade emulators (e.g. MAME) and Atari 8-bit emulators.

Features

* Audio
** 4 semi-independent audio channels
** Channels may be configured as one of:
*** Four 8-bit channels
*** Two 16-bit channels
*** One 16-bit channel and two 8-bit channels
** Per-channel volume, frequency, and waveform (square wave with variable duty cycle or polynomial noise)
** High-pass filter
* Keyboard scan (up to 64 keys)
* Potentiometer ports (8 independent ports, each with 8-bit resolution)
* Timers (audio channels 1, 2, and 4 can be configured to cause timer interrupts when they cross zero)
* Random number generator (8 or 9 bits of a 17-bit polynomial counter can be read)
* Serial I/O port
* IRQ interrupts

POKEY music

The design of the POKEY made it possible for games to have polyphonic music and sound effects of up to four channels. One of the sound-engines developed for the Atari 8-bit family was called the AMP engine (Advanced Music Processor). This was used by the musician Gary Gilbertson.

It is now possible to emulate the POKEY's sound capabilities in software. This can be done with the SAP player [http://asma.atari.org/] .

Generating sound with POKEY

Pokey contains four audio channel, with separate frequency, noise and voice level control.

Each channel has 8-bit frequency divider and 8-bit register to select noise and volume.AUDIOF1 to AUDIOF4 – frequency register (AUDio Frequency)
AUDC1 do AUDC4 – volume and noise register (AUDio Control)
AUDCTL – general register, which controls generators (AUDio ConTroL)

AUDIOC1-4 registers description

Bit0-3 - Control over volume level, from 0 to F.
4 - Frequency divider control "1" on, "0" off. When frequency dividier is set to off, constant sounds with volume wrote in bits 0-3 are being generated.
5-7 – Shift register responsible for noises - distortion:

000 = 5- and 17-bit register 001 = 5-bit register 010 = 5- and 4-bit register 011 = 5-bit register - doubled, non-used 100 = 17-bit register 101 = without shift register - pure tones 110 = 4-bit register 111 = without shift register - doubled, non-used

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 probed independently by four audio channels in channel's divider's rate.

AUDIOCTL register description

„1” means "on", if not descripted:
Bit 0 – (15 kHz), choice of frequency divider rate „0” - 64 kHz, „1” - 15 kHz 1
Bit 1 – (FI2+4), high-pass filter for channel 2 rated by frequency of channel 4,
Bit 2 – (FI1+3), high-pass filter for channel 1 rated by frequency of channel 3,
Bit 3 – (CH4+3), connection of dividers 4+3 to obtain 16-bit accuracy,
Bit 4 – (CH2+1), connection of dividers 2+1 to obtain 16-bit accuracy,
Bit 5 – (1,79CH3), set channel 3 frequency „0” - 1,77 MHz PAL, „1” - 1,79 MHz NTSC
Bit 6 – (1,79CH1), set channel 1 frequency „0” - 1,77 MHz PAL, „1” - 1,79 MHz NTSC
Bit 7 – (POLY9), switch shift register „0” - 17-bit, „1” – 9bit

All frequency dividers (AUDIOF) can be at the same time driven by 64 kHz or 15 kHz rate.

Frequency dividers 1 and 4 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:- four 8-bit channels- two 8-bit channels and one 16-bit channel- two 16-bit channels

Additional information

Each operation of input output caues value change of shift registers with controls generator, so when we use Pokey to generate sound, after each operation its reinitialisation is needed.

erial input output port

Contains:
- serial input line
- serial output line
- serial clock output line
- two-way serial clock data line
- registers SKRES, SEROUT, SERIN, SKCTL, SKSTAT

POKEY is a sort of UART. Usually one of the doubled audio channels is used as baudrate generator. The standard baudrate is 19,2 kbit/s, the maximum possible baudrate is 127 kbit/s. A byte put into the SEROUT register is automatically sent over the serial bus. The data frame contains 10 bits: 1 start bit, 8 data bits, 1 stop bit. The voltage levels are 0V (logical 0) and +4V (logical 1). It is possible to connect the Atari serial port with an RS-232 port by means of a simple voltage converter.

Eight IRQ interrupts

BREAK - Break (BREAK key interrupt)
K - Keyboard (keyboard interrupt)
SIR - if Serial Input Ready (read interrupt from serial rail)
ODN - if Output Data Needed (write interrupt from serial rail)
XD - if eXmitend Data (serial transmission end interrupt)
T1 - Timer 1, timer 1 interrupt
T2 - Timer 2, timer 2 interrupt
T4 - Timer 4, timer 4 interrupt
Interrupts can be set on or off from software by register IRQEN.
IRQSTAT register contains interrupts status.

Keyboard

Six key register of actually pushed keys (K0 K5), which contains values from 00 to 3F. Contains 2 control values. One of them acts as decoder of all 6 values. Second control values is used to decode special key values - CTRL, SHIFT and BREAK.

Potentiometers

Eight ports to measurement increase of input. Each input has 8-bit timer, counting time when each TV line is being displayed. Each input has drop transistor, which can be set on or off from software.

Additionally pokey offers

* Three timers, which uses audio channel. When timer is being used, audio channels are reset.
* Random number generator.

POKEY register table

ee also

*Atari 8-bit TIA (CTIA and GTIA)
*ANTIC
*Sound chip
*Chiptune
*AMP engine
*MOS Technology SID
*General Instruments AY-3-8912
*Atari SAP music format

References

External links

* [http://asma.atari.org/ ASMA — Atari SAP Music Archive] A collection of POKEY chip-music (SAP) players and SAP music from various Atari 8-bit games.
* [http://asap.sourceforge.net/ ASAP - Another Slight Atari Player] An Atari module player/plugin for foobar2000, Winamp, XMMS, and more.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Pokey — may refer to:* Pokey the Penguin, a surrealistic online comic strip * Pokey (Gumby character), a character from the Gumby television series * Atari POKEY, a digital I/O chip found in the Atari 8 bit family of home computers and many arcade games… …   Wikipedia

  • Pokey — Saltar a navegación, búsqueda Pokey Personaje de Super Mario Bros. Pokey en Super Mario 64 Primera aparición Super Mario Bros. 2 (1988) Creador(es) Shi …   Wikipedia Español

  • pokey — UK / US or poky UK [ˈpəʊkɪ] / US [ˈpoʊkɪ] adjective Word forms pokey : adjective pokey comparative pokier superlative pokiest British small and uncomfortable a pokey little flat …   English dictionary

  • Pokey — Pok ey, a. See {Poky}. [1913 Webster] …   The Collaborative International Dictionary of English

  • pokey — [pō′kē] n. pl. pokeys or pokies [< ?] Slang a jail: also poky …   English World dictionary

  • POKEY — Anschlüsse des 40 poligen POKEY Chips POKEY war der Name des Soundchips der 8 Bit Computer der Firma Atari. Der Name steht für POtentiometer and KEYboard Integrated Circuit. Der Chip war auch für die Tastatursteuerung zuständig. Er verfügte über… …   Deutsch Wikipedia

  • pokey — {{11}}pokey (adj.) also poky, 1849, confined, shabby, later (1856) slow, dull; from POKE (Cf. poke) (v.) + Y (Cf. y) (2). {{12}}pokey (n.) jail, 1919, perhaps altered from pogie poorhouse (1891), of unknown origin …   Etymology dictionary

  • pokey — n Jail or prison. When his brother got out of the pokey, he went right back to making book. 1910s …   Historical dictionary of American slang

  • pokey — jail, prison, behind bars, in the clink    Don t mention pokey in your resume. You don t want to advertise your time in jail …   English idioms

  • Pokey (Nintendo) — Un Pokey est un ennemi de jeu vidéo qu on retrouve dans la série Mario. Les Pokey attaquent soit en lançant une partie de leur corps, composé de petits cactus empilés, soit en se jetant par terre, ou tout simplement, en se déplaçant très… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”