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.

PORTA 54016 $D300

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.


BitFunciónN° JoystickPines de JoystickDirecciónPaddle
7PA7Joystick 2Pin 4DerechaPaddle 4 botón PTRIG3
6PA6Joystick 2Pin 3IzquierdaPaddle 3 botón PTRIG2
5PA5Joystick 2Pin 2AbajoNo usado
4PA4Joystick 2Pin 1ArribaNo usado
3PA3Joystick 1Pin 4DerechaPaddle 2 botón PTRIG1
2PA2Joystick 1Pin 3IzquierdaPaddle 1 botón PTRIG0
1PA1Joystick 1Pin 2AbajoNo usado
0PA0Joystick 1Pin 1ArribaNo usado

PORTB 54017 $D301

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.


BitFunciónN° JoystickPines de JoystickDirecciónPaddle
7PA7Joystick 3Pin 4DerechaPaddle 8 botón PTRIG7
6PA6Joystick 3Pin 3IzquierdaPaddle 7 botón PTRIG6
5PA5Joystick 3Pin 2AbajoNo usado
4PA4Joystick 3Pin 1ArribaNo usado
3PA3Joystick 4Pin 4DerechaPaddle 6 botón PTRIG5
2PA2Joystick 4Pin 3IzquierdaPaddle 5 botón PTRIG4
1PA1Joystick 4Pin 2AbajoNo usado
0PA0Joystick 4Pin 1ArribaNo usado

En modelos XL/XE es para manejo de memoria :


BitFunciónDirección
7$5000-$57FF0=Self Test, 1=RAM
6 No usado
5ANTIC0=ANTIC tiene acceso a extra RAM, 1=ANTIC tiene acceso normal RAM
4CPU0=CPU tiene acceso a extra RAM, 1=CPU tiene acceso normal RAM
3BancoVer tabla de combinación
2BancoVer tabla de combinación
1$A000-$BFFF0=ATARI BASIC ROM, 1=RAM
0$C000-$FFFF0=RAM, 1=OS-ROM

Combinación de los bancos


Bit 2Bit 3N° Banco
00Numero 0
01Numero 1
10Numero 2
11Numero 3

PACTL 54018 $D302

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


BitFunciónDescripción
7PA7Sólo lectura: Estado de interrupción de PROCEED, 1=Interrupción
6PA6Siempre 0
5PA5Siempre 1
4PA4Siempre 1
3PA3Control del motor del reproductor de cassettes: 0=Encendido, 1=Apagado
2PA21=Utilizar el PORTA para la entrada/salida de datos, 0=Definir la dirección de los datos
1PA1Siempre 0
0PA0Interrupció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".

PBCTL 54019 $D303

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


BitFunciónDescripción
7PA7Interrupción del estado de SIO 
6PA6Siempre 0
5PA5Siempre 1
4PA4Siempre 1
3PA3Estado de la línea de comando de SIO 
2PA21=Utilizar el PORTB para la entrada/salida de datos, 0=Definir la dirección de los datos
1PA1Siempre 0
0PA0Interrupció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".