Atari POKEY

Atari POKEY

Atari POKEY

Atari POKEY (C012294)

El sonido en los microcomputadores Atari de 8 bits era controlado por POKEY que se encargaba también de leer el teclado, generar números aleatorios y leer el puerto serial de comunicaciones {en inglés:Serial I/O o SIO}. Manejaba cuatro canales de 8 bits con 256 tonos y 16 niveles de volumen. Se le podía aplicar una 'distorsión' de 15 niveles. Controlable por la orden SOUND del BASIC. Los 4 canales podían combinarse por parejas obteniendo 2 canales de 16 bits con 65536 tonos. Los computadores Atari poseían un altavoz interno, a través de él se simulaban los clics de teclado, pero con una programación adecuada podía usarse como un quinto canal de sonido.

Contenido

Descripción

El Atari POKEY es un circuito integrado digital de E/S (Entrada/Salida) {en inglés: I/O Input/Output} que se encuentra en la familia de microcomputadores Atari de 8 bits y en muchos juegos de arcade (máquinas recreativas o flippers) de los años 1980. Su nombre se deriva de POtentiometer (potenciómetro o resistencia variable) y KEYboard (teclado), ya que se usaba comúnmente para "leer" las señales capturadas desde potenciómetros (como las "paletas" de juego {en inglés: game paddles}), haciendo una conversión analógico-digital. También procesaba "arreglos o matrices de interruptores" (como los teclados de computadora). POKEY fue conocido por su capacidad para generar música y efectos de sonido, produciendo un característico sonido de onda cuadrada {en inglés: square wave} popular entre los aficionados a la micromúsica {chiptunes}. El circuito integrado a gran escala {en inglés: LSI, Large Scale Integration} tenía 40 patitas {del inglés:pins} y se identifica con el código C012294.

La Oficina de Patentes y Marcas de EE.UU. (USPTO) otorgó a Atari la patente Nº 4.314.236 el 2 de febrero 2 de 1982 por un "Aparato para producir una variedad de audio y efectos de sonido"[1] , destacando solamente la sección de audio del circuito. Los inventores mencionados en la patente fueron Steven T. Mayer y Ronald E. Milner.

El POKEY ya no se fabrica, pero es emulado en software por los emuladores de Atari de 8 bits y los emuladores de consolas clásicas de arcade (por ejemplo MAME).

  • Audio
    • 4 canales de audio semi-independientes
    • Los canales pueden tener una de las siguientes configuraciones:
      • Cuatro canales de 8 bits
      • Dos canales de 16 bits
      • Un canal de 16 bits y dos canales de 8 bits
    • Cada canal manejaba atributos de volumen, frecuencia, y forma de onda (onda cuadrada con "ciclo de actividad variable" {en inglés duty cycle} o ruido polinómico {polynomial noise} - es decir con variaciones aleatorias de la duración del pulso de la onda cuadrada[2] .)
    • Filtro de paso alto
  • Lectura del teclado (hasta 64 teclas)
  • Puertos de potenciómetro (8 puertos independientes, cada uno con 8 bits de resolución)
  • Temporizadores {en inglés: timers} (los canales de audio 1, 2, y 4 pueden configurarse para producir una interrupción de temporización cuando llegan a cero)
  • Generador de números aleatorios (puede leer 8 o 9 bits de un contador polinómico de 17 bits)
  • Puerto serial de comunicaciones Serial I/O
  • Petición de Interrupción IRQ

Música POKEY

El diseño de POKEY posibilitó que los juegos tuvieran música polifónica y efectos de sonido de hasta cuatro canales. Uno de los sistemas de manejo de sonido desarrollados para la familia de Atari de 8 bits se llamó AMP engine {Advanced Music Processor} (en castellano: dispositivo AMP)

Hoy en día es posible emular por software las capacidades de sonido de POKEY usando el programa reproductor SAP player.

Generación de sonido con POKEY

POKEY poseía 4 canales de audio, con controles separados de frecuencia, ruido y volumen.

Cada canal tenía un divisor de frecuencia de 8 bits y un registro de 8 bits para seleccionar ruido y volumen.
AUDF1 a AUDF4(AUDio Frequency) registro de frecuencia
AUDC1 a AUDC4(AUDio Control) registro de volumen y ruido
AUDCTL(AUDio ConTroL) registro general, que controla los generadores.

Descripción de los registros AUDIOC1-4

Bit
0-3 - Control del volumen, desde 0 hasta F (hexadecimal).
4    - Control del divisor de frecuencia "1" encendido {on}, "0" apagado {off}.
        Cuando el divisor de frecuencia está desactivado, se generan sonidos constantes con el volumen escrito en los bits 0-3.
5-7registro de desplazamiento responsable de los ruidos - distorsión:

 000 = registro de 5 y 17 bits
 001 = registro de 5 bits
 010 = registro de 5 y 4 bits
 011 = registro de 5 bits - duplicado, no se usa
 100 = registro de 17 bits
 101 = sin registro de desplazamiento - tonos puros
 110 = registro de 4 bits
 111 = sin registro de desplazamiento - duplicado, no se usa

La generación de ruidos al azar se logra leyendo 8 bits desde el extremo superior del registro de desplazamiento de 17 bits. Esos registros son controlados por la frecuencia de 1,79 MHz para NTSC o 1,77 MHz para PAL. Su salida puede ser medida independientemente por cuatro canales de audio en la frecuencia divisora de los canales {en inglés: channel's divider's rate}.

Descripción del registro AUDIOCTL

Si no se especifica, „1” significa "activado" {"on"}:
Bit 0 – (15 kHz), permite seleccionar la frecuencia divisora „0” - 64 kHz, „1” - 15 kHz 1
Bit 1 – (FI2+4), filtro de paso alto para el canal 2, modulado por la frecuencia del canal 4,
Bit 2 – (FI1+3), filtro de paso alto para el canal 1, modulado por la frecuencia del canal 3,
Bit 3 – (CH4+3), combinación de los divisores 4+3 para lograr 16 bits de precisión,
Bit 4 – (CH2+1), conexión de divisores 2+1 para conseguir una exactitud de 16 bits,
Bit 5 – (1,79CH3), determina la frecuencia del canal 3 „0” - 1,77 MHz PAL, „1” - 1,79 MHz NTSC
Bit 6 – (1,79CH1), establece la frecuencia para el canal 1 „0” - 1,77 MHz PAL, „1” - 1,79 MHz NTSC
Bit 7 – (POLY9), conmuta el registro de despalzamiento entre „0” - 17 bits, y „1” – 9 bits

Todos los divisores de frecuencia (AUDIOF), pueden ser controlados al mismo tiempo por 64 kHz o 15 kHz de frecuencia.

Los divisores de frecuencia 1 y 4 pueden ser controlados alternativamente por el reloj de la CPU (1,79 MHz NTSC, 1,77 MHz PAL).

Los divisores de frecuencia 2 y 4 pueden ser controlados alternativamente por la salida de los divisores 1 y 3.

De esta manera, POKEY hace posible la conexión de canales de 8 bits para crear sonidos con 16 bits de precisión.

Configuraciones de canales posibles: - cuatro canales de 8 bits - dos canales de 8 bits y un canal de 16 bits - dos canales de 16 bits

Información adicional

Toda operación de entrada/salida reemplaza los valores de los registros de desplazamiento {shift registers} con el contenido de los controles del generador, por lo tanto, cuando cada vez que se usa POKEY para generar sonido, debe ser reinicializado.

Puerto Serial de entrada y salida

Contiene:
- línea de entrada serial
- línea de salida serial
- línea de salida de reloj serial
- línea de datos de reloj serial de dos vías
- registros SKRES, SEROUT, SERIN, SKCTL, SKSTAT

POKEY es un tipo de UART. Generalmente se usa uno de los canales de audio duplicados como generador de baudrate (velocidad o frecuencia de transmisión en baudios). El baudrate estándar es 19,2 kbit/s, el baudrate máximo posible es 127 kbit/s. Un byte puesto en el registro SEROUT se envía automáticamente a través del bus serial. La estructura de datos {data frame} contiene 10 bits: 1 bit de arranque, 8 bits de datos, 1 bit de detención. Los niveles de voltaje son 0V (0 lógico) y +4V (1 lógico). Así se puede conectar el puerto serial de Atari con un puerto RS-232 mediante un simple convertidor de voltaje.

Ocho peticiones de interrupción IRQ

BREAK - Break (interrupción de la tecla BREAK)
K     - Keboard (interrupción de teclado)
SIR   - if Serial Input Ready (si la entrada serial está lista) entonces (leer la interrupción del bus serial)
ODN - if Output Data Needed (si se requiere datos de salida) entonces (escribir una interrupción desde el bus serial)
XD    - eXmitend Data (interrupción de fin de transmisión serial)
T1    - Timer 1, interrupción del temporizador 1
T2    - Timer 2, interrupción del temporizador 2
T4    - Timer 4, interrupción del temporizador 4
Las interrupciones pueden ser activadas (on) o desactivadas (off) por software a través del registro IRQEN.
El registro IRQSTAT contiene el estado de las interrupciones.

Teclado

POKEY tiene un registro de las seis últimas teclas presionadas (K0 ... K5), los cuales contienen valores entre 00 y 3F (hexadecimal). Se almacenan 2 valores de control. Uno de ellos actúa como decodificador de los 6 valores. El segundo dato de control se usa para decodificar los valores de las teclas especiales - CTRL, SHIFT y BREAK.

Potenciómetros

POKEY tiene ocho puertos para medir el incremento de la señal de entrada {increase of input}. Cada puerto tiene un temporizador de 8 bits, que calcula el tiempo durante el despliegue de cada línea de TV. Cada entrada tiene un transistor de caída de voltaje variable {variable voltaje drop transistor}, que puede ser activado o desactivado por software.

POKEY además ofrece

  • Tres temporizadores, que usan el canal de audio. Cuando se usa el temporizador, los canales de audio se reinicializan.
  • Generador de números aleatorios.

Tabla de registros de POKEY

16 registros de POKEY - $D200–$D20F
Registro Escritura Lectura
Nombre Descripción Nombre Descripción
$D200 AUDF1 frecuencia del canal 1 POT0 potenciómetro 0
$D201 AUDC1 generador en el canal 1 POT1 potenciómetro 1
$D202 AUDF2 frecuencia del canal 2 POT2 potenciómetro 2
$D203 AUDC2 generador en el canal 2 POT3 potenciómetro 3
$D204 AUDF3 frecuencia en del canal 3 POT4 potenciómetro 4
$D205 AUDC3 generador en el canal 3 POT5 potenciómetro 5
$D206 AUDF4 frecuencia en el canal 4 POT6 potenciómetro 6
$D207 AUDC4 generador en el canal 4 POT7 potenciómetro 7
$D208 AUDCTL control sobre los canales de audio POTSTAT lectura de las líneas de puerto de los 8 potenciómetros
$D209 STIMER lanzamiento (inicio) del temporizador KBCODE código de la última tecla presionada
$D20A SKRES reinicialización del status del puerto serial RANDOM valor del generador de números aleatorios
$D20B POTGO inicio de la secuencia de exploración de puertos
$D20C
$D20D SEROUT registro de salida del puerto serial SERIN registro de entrada del puerto serial
$D20E IRQEN activación de la interrupción IRQ IRQSTAT estado de las peticiones de interrupción IRQ
$D20F SKCTL control sobre el puerto serial SKSTAT status del puerto serial

Véase también

Referencias

  1. Atari, Inc. (1979-01-24). «Apparatus for producing a plurality of audio sound effects». United States Patent. Consultado el 5 de Enero  de 2008.
  2. Bob DuHamel (1987). «Atari System Reference Manual - chap.17 Sound». Atari Inc.. Consultado el 7 de enero  de 2009.

Enlaces externos

Obtenido de "Atari POKEY"

Wikimedia foundation. 2010.

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

Mira otros diccionarios:

  • Atari POKEY — POKEY производства AMI (Филиппины) на плате компьютера Atari 130XE Atari POKEY  электронный компонент, специально разработанная фирмой Atari микросхема генерации звука и интерфейса с устройствами управления. Использовалась в 80 х годах в… …   Википедия

  • Atari 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

  • Atari SAP — Saltar a navegación, búsqueda El formato de música Atari SAP almacena los datos de la música generada en un microcomputador Atari de 8 bits que usa el chip de sonido POKEY. Las melodías más populares en este formato para Atari de 8 bits se… …   Wikipedia Español

  • Atari SAP music format — is a format that stores music data from Atari 8 bit computers that uses the famous Atari POKEY sound chip. Most popular tunes for Atari 8 bits were written between 1981 1987.This format is similar to the SID, SPC or NSF formats, in that it is a… …   Wikipedia

  • 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

  • Atari 130XE — Dieser Artikel befasst sich mit den 8 Bit Computern der Firma Atari. Für die ST Serie siehe Atari ST. Die Atari Heimcomputer sind eine Heimcomputer Baureihe auf Basis des MOS 6502 Prozessors und wurden von 1979 bis 1989 produziert. Die gesamte… …   Deutsch Wikipedia

  • Atari 130 XE — Dieser Artikel befasst sich mit den 8 Bit Computern der Firma Atari. Für die ST Serie siehe Atari ST. Die Atari Heimcomputer sind eine Heimcomputer Baureihe auf Basis des MOS 6502 Prozessors und wurden von 1979 bis 1989 produziert. Die gesamte… …   Deutsch Wikipedia

  • Atari 400 — Dieser Artikel befasst sich mit den 8 Bit Computern der Firma Atari. Für die ST Serie siehe Atari ST. Die Atari Heimcomputer sind eine Heimcomputer Baureihe auf Basis des MOS 6502 Prozessors und wurden von 1979 bis 1989 produziert. Die gesamte… …   Deutsch Wikipedia

  • Atari 800 — Dieser Artikel befasst sich mit den 8 Bit Computern der Firma Atari. Für die ST Serie siehe Atari ST. Die Atari Heimcomputer sind eine Heimcomputer Baureihe auf Basis des MOS 6502 Prozessors und wurden von 1979 bis 1989 produziert. Die gesamte… …   Deutsch Wikipedia

Compartir el artículo y extractos

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