Para los no creyentes:
LINKla segunda máquina tiene la PLA reemplazada por una EPROM 27c512
La PLA como ya se dijo, solo tiene compuertas dentro, creo que es una combinación de compuertas AND-NOR, no estoy seguro, de todas maneras, las compuertas estan dispuestas de manera que solo se pueden crear funciones CONVINACIONALES, no sequenciales, como registros, flip-flops, etc.
La pata que esta conectada al R/W del sistema, es una entrada generica de la PLA (I11), no una entrada de lectura/escritura. Y se usa en la PLA para saber si en las secciones donde esta seleccionada ROM, poder leer de la ROM (R/W = 1) o escribir a la RAM directamente por 'debajo', esto permite copiar el contenido de las ROM del sistema sin tener que mover el contenido a otra area de memoria:
Las salidas de la PLA se controlan con 16 entradas:
CHAREN, HIRAM y LORAM: Vienen del puerto de IO incorporado en el procesador y se controlan desde la direccion $0001. Su función es indicar si seleccionar las ROM, RAM o I/O en las distintas areas de memoria ($A000, $D000 y $E000)
GAME y EXROM: Vienen del puerto de expansión y son manejadas por los cartuchos con juegos o utilitarios. GAME es la linea que más altera el mapeado de memoria, desabilitando casi toda la RAM y habilitando la ROM externa creo que en $E000-$F000
VA12, VA13 y VA14: Son las bits más altos del bus de direcciones de video, generadas por una de las CIAs, se usan en la PLA para saber si el chip de video puede ver siempre la ROM de caracteres o no.
BA y AEC: Vienen del chip de video e indican si el bus del sistema esta siendo usado por el procesador o el chip de video (BA), y si el procesador esta 'separado' o no del bus del sistema(AEC).
CAS: Seleccion de Columna de direcciones, viene de la RAM, se usa en la PLA, junto con otras de las entradas para saber si efectivamente seleccionar una columna de direcciones o no (si lo que se va a leer es una ROM o la RAM estatica).
A12 a A15: junto con las otras entradas que ya explique, se usan para seleccionar RAM, ROM o I/O
y R/W que explique al principio.
Ahora las salidas (8):
CASRAM: esta pata va directamente a las patas CAS de las DRAMs internas.
BASIC, KERNAL y CHAROM: van directamente a las patas CS de las ROMS correspondientes.
GR/W: va la pata R/W de la SRAM de color.
I/O: selecciona el bloque de I/O entre $D000 y $DFFF, va, junto con A8, A9, A10 y A11 a 2 decodificadores que seleccionan cada chip por separado (SID, VIC y CIAs) ademas de manejar las dos salidas en el port de expansión I/O1 e I/O2
ROMH y ROML: Seleccionan las ROMs externas, ROMH entre $8000-$9FFF o $E000-$FFFF y ROML entre $A000-$BFFF