Atariware Wiki: Chip Pia

https://www.atariware.cl/wiki     Versión: 6 (16/01/2026 22:58)

Chip Pia




El circuito integrado del adaptador de interfaz periférica (PIA) es un microprocesador especial que se utiliza para controlar los puertos Atari, los conectores del controlador uno a cuatro. Los puertos se pueden utilizar tanto para la entrada como para la salida de forma simultánea o alternativa.

1. 54016 $D300 PORTA

Leer o escribir datos desde los puertos del joystick, dependiendo de cómo se configure la dirección de los datos (por defecto es 0 "lectura/entrada"). Para fijar la dirección, ponga el Bit 2 de PACTL a 0 y defina la dirección fijando los bits de PORTA (0=lectura, 1=escritura) para cada línea de entrada/salida. A continuación, vuelva a poner el Bit 2 de PACTL a 1.

Bit Función N° Joystick Pines de Joystick Dirección Paddle
7 PA7 Joystick 2 Pin 4 Derecha Paddle 4 botón PTRIG3
6 PA6 Joystick 2 Pin 3 Izquierda Paddle 3 botón PTRIG2
5 PA5 Joystick 2 Pin 2 Abajo No usado
4 PA4 Joystick 2 Pin 1 Arriba No usado
3 PA3 Joystick 1 Pin 4 Derecha Paddle 2 botón PTRIG1
2 PA2 Joystick 1 Pin 3 Izquierda Paddle 1 botón PTRIG0
1 PA1 Joystick 1 Pin 2 Abajo No usado
0 PA0 Joystick 1 Pin 1 Arriba No usado

2. 54017 $D301 PORTB

Esta posicion cambia de funcion dependiendo del modelo, partimos con 400/800.

Leer o escribir datos desde los puertos del joystick, dependiendo de cómo se configure la dirección de los datos (por defecto es 0 "lectura/entrada"). Para fijar la dirección, ponga el Bit 2 de PBCTL a 0 y defina la dirección fijando los bits de PORTB (0=lectura, 1=escritura) para cada línea de entrada/salida. A continuación, vuelva a poner el Bit 2 de PBCTL a 1.

Bit Función N° Joystick Pines de Joystick Dirección Paddle
7 PA7 Joystick 3 Pin 4 Derecha Paddle 8 botón PTRIG7
6 PA6 Joystick 3 Pin 3 Izquierda Paddle 7 botón PTRIG6
5 PA5 Joystick 3 Pin 2 Abajo No usado
4 PA4 Joystick 3 Pin 1 Arriba No usado
3 PA3 Joystick 4 Pin 4 Derecha Paddle 6 botón PTRIG5
2 PA2 Joystick 4 Pin 3 Izquierda Paddle 5 botón PTRIG4
1 PA1 Joystick 4 Pin 2 Abajo No usado
0 PA0 Joystick 4 Pin 1 Arriba No usado

En modelos XL/XE es para manejo de memoria :

Bit Función Dirección
7 $5000-$57FF 0=Self Test, 1=RAM
6 No usado
5 ANTIC 0=ANTIC tiene acceso a extra RAM, 1=ANTIC tiene acceso normal RAM
4 CPU 0=CPU tiene acceso a extra RAM, 1=CPU tiene acceso normal RAM
3 Banco Ver tabla de combinación
2 Banco Ver tabla de combinación
1 $A000-$BFFF 0=ATARI BASIC ROM, 1=RAM
0 $C000-$FFFF 0=RAM, 1=OS-ROM

Combinación de los bancos

Bit 2 Bit 3 N° Banco
0 0 Numero 0
0 1 Numero 1
1 0 Numero 2
1 1 Numero 3

3. 54018 $D302 PACTL

Control del PORTA, dependiendo del valor es su función según la siguiente tabla :

Bit Función Descripción
7 PA7 Sólo lectura: Estado de interrupción de PROCEED, 1=Interrupción
6 PA6 Siempre 0
5 PA5 Siempre 1
4 PA4 Siempre 1
3 PA3 Control del motor del reproductor de cassettes: 0=Encendido, 1=Apagado
2 PA2 1=Utilizar el PORTA para la entrada/salida de datos, 0=Definir la dirección de los datos
1 PA1 Siempre 0
0 PA0 Interrupción de la línea PROCEED on/off, puesta a 0 por el OS

Para definir la dirección de datos del PORTA, establezca el bit 2 de PACTL en 0. Luego escriba un byte en PORTA, donde los bits establecidos en 1 indican ESCRITURA y los bits establecidos en 0 indican LECTURA. Normalmente, PORTA se establece en %00000000 "todas las entradas".

4. 54019 $D303 PBCTL

Control del PORTB "Sólo modelos 400/800", dependiendo del valor es su función según la siguiente tabla :

Bit Función Descripción
7 PA7 Interrupción del estado de SIO
6 PA6 Siempre 0
5 PA5 Siempre 1
4 PA4 Siempre 1
3 PA3 Estado de la línea de comando de SIO
2 PA2 1=Utilizar el PORTB para la entrada/salida de datos, 0=Definir la dirección de los datos
1 PA1 Siempre 0
0 PA0 Interrupción de la línea PROCEED on/off, puesta a 0 por el OS

Para definir la dirección de datos del PORTB, establezca el bit 2 de PBCTL en 0. Luego escriba un byte en PORTB, donde los bits establecidos en 1 indican ESCRITURA y los bits establecidos en 0 indican LECTURA. Normalmente, PORTB se establece en %00000000 "todas las entradas".