| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
| hardware:gate_array [2026/04/25 00:19] – [GATE ARRAY] jesus | hardware:gate_array [2026/05/12 18:33] (actual) – jesus |
|---|
| ~~NOTOC~~ | ~~NOTOC~~ |
| ===== GATE ARRAY ===== | |
| |
| ---- | <html> |
| | <style> |
| | /* --- MOTOR VISUAL RETRO CRT --- */ |
| | .pcw-monitor-ultra { |
| | background-color: #000b00; |
| | border: 12px solid #2a2a2a; |
| | border-radius: 15px; |
| | padding: 25px; |
| | margin: 25px 0; |
| | font-family: 'Courier New', Courier, monospace; |
| | position: relative; |
| | overflow: hidden; |
| | box-shadow: inset 0 0 60px rgba(0,255,0,0.15), 0 10px 30px rgba(0,0,0,0.7); |
| | } |
| |
| <WRAP justify> | .pcw-monitor-ultra::after { |
| El Amstrad PCW 40028 (o Gate Array) es un chip de diseño personalizado (ASIC) fundamental en la arquitectura de la familia de ordenadores PCW8256, 8512 y 9512. Este componente integró múltiples funciones en un solo encapsulado para reducir drásticamente los costes de fabricación y la complejidad de la placa base. | content: " "; |
| | position: absolute; |
| | top: 0; left: 0; bottom: 0; right: 0; |
| | background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), |
| | linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); |
| | background-size: 100% 3px, 2px 100%; |
| | z-index: 2; |
| | pointer-events: none; |
| | animation: flickering 0.15s infinite; |
| | } |
| |
| A continuación, se detalla la información técnica y referencias disponibles: | @keyframes flickering { 0% { opacity: 0.98; } 100% { opacity: 1; } } |
| |
| **__Funciones Principales del Gate Array (40028)__** | .retro-text-green { |
| | color: #00ff00 !important; |
| | font-family: 'Courier New', Courier, monospace; |
| | text-shadow: 0 0 10px rgba(0, 255, 0, 0.7), 0 0 2px rgba(0, 255, 0, 0.8); |
| | text-transform: uppercase; |
| | letter-spacing: 1px; |
| | text-decoration: none !important; |
| | } |
| |
| Este chip actúa como el "corazón" lógico del sistema, gestionando las siguientes áreas críticas: | .pcw-title-ultra { |
| | font-size: 1.6em; |
| | font-weight: bold; |
| | margin-bottom: 25px; |
| | display: block; |
| | } |
| |
| * **Controlador de Vídeo:** Genera la señal para el monitor monocromo de alta resolución (720x256 píxeles) y gestiona la **Roller RAM**, una sección de memoria de 512 bytes que permite el desplazamiento (scroll) rápido de la pantalla. | .pcw-title-ultra::after { content: "_"; animation: cursor-blink 1s infinite; } |
| | @keyframes cursor-blink { 0%, 100% { opacity: 0; } 50% { opacity: 1; } } |
| |
| * **Gestión de Memoria (Bank Switching):** Permite al procesador Z80 (de 8 bits) acceder a más de 64 KB de RAM mediante el intercambio de bancos de memoria, soportando hasta 512 KB en modelos como el 8512. | .content-body { position: relative; z-index: 3; color: #00ff00; line-height: 1.6; text-align: justify; } |
| | |
| | /* Enlace Retro Activo */ |
| | .pcw-link { color: #00ff00; font-weight: bold; text-decoration: underline !important; } |
| | .pcw-link:hover { background: #00ff00; color: #000 !important; } |
| |
| * **Controlador de Disquetera e Impresora:** Integra la lógica para manejar las unidades de 3 pulgadas (o 3.5" en modelos posteriores) y la comunicación con la impresora matricial o de margarita específica de Amstrad. | .content-body ul li { color: #00ff00; margin-bottom: 10px; } |
| | .content-body b, .content-body strong { font-weight: bold; text-decoration: underline; } |
| |
| * **Lógica de Interrupciones:** Gestiona los tiempos y señales necesarias para el funcionamiento coordinado del hardware. | /* Contenedor visor */ |
| | .osd-container { |
| | border: 2px solid #00ff00; |
| | background: #000; |
| | margin: 20px 0; |
| | position: relative; |
| | z-index: 3; |
| | } |
| | </style> |
| |
| **__Detalles de Fabricación__** | <!-- BLOQUE 1: DESCRIPCIÓN TÉCNICA ÍNTEGRA --> |
| | <div class="pcw-monitor-ultra"> |
| | <div class="pcw-title-ultra retro-text-green"> A> GATE ARRAY (40028) </div> |
| | <div class="content-body"> |
| | <p>El Amstrad PCW 40028 (o Gate Array) es un chip de diseño personalizado (ASIC) fundamental en la arquitectura de la familia de ordenadores PCW8256, 8512 y 9512. Este componente integró múltiples funciones en un solo encapsulado para reducir drásticamente los costes de fabricación y la complejidad de la placa base.</p> |
| | |
| | <p>A continuación, se detalla la información técnica y referencias disponibles:</p> |
| |
| * **Diseño:** Fue comisionado por Amstrad a la empresa MEJ Electronics, la misma firma que desarrolló el hardware del Amstrad CPC 464. | <p><strong>Funciones Principales del Gate Array (40028)</strong></p> |
| | <p>Este chip actúa como el "corazón" lógico del sistema, gestionando las siguientes áreas críticas:</p> |
| |
| * **Variantes:** Aunque el 40028 es el más común en las series 8000/9000, existen variantes menores dependiendo de la revisión de la placa base (como el 40010 utilizado en los modelos CPC, que comparte principios de diseño similares). | <ul> |
| | <li><strong>Controlador de Vídeo:</strong> Genera la señal para el monitor monocromo de alta resolución (720x256 píxeles) y gestiona la <strong>Roller RAM</strong>, una sección de memoria de 512 bytes que permite el desplazamiento (scroll) rápido de la pantalla.</li> |
| | <li><strong>Gestión de Memoria (Bank Switching):</strong> Permite al procesador Z80 (de 8 bits) acceder a más de 64 KB de RAM mediante el intercambio de bancos de memoria, soportando hasta 512 KB en modelos como el 8512.</li> |
| | <li><strong>Controlador de Disquetera e Impresora:</strong> Integra la lógica para manejar las unidades de 3 pulgadas (o 3.5" en modelos posteriores) y la comunicación con la impresora matricial o de margarita específica de Amstrad.</li> |
| | <li><strong>Lógica de Interrupciones:</strong> Gestiona los tiempos y señales necesarias para el funcionamiento coordinado del hardware.</li> |
| | </ul> |
| |
| * **Encapsulado:** Se presenta generalmente como un chip SMD (montaje superficial) en las revisiones más modernas o como un chip de gran tamaño en las primeras placas. | <p><strong>Detalles de Fabricación</strong></p> |
| | <ul> |
| | <li><strong>Diseño:</strong> Fue comisionado por Amstrad a la empresa MEJ Electronics, la misma firma que desarrolló el hardware del Amstrad CPC 464.</li> |
| | <li><strong>Variantes:</strong> Aunque el 40028 es el más común en las series 8000/9000, existen variantes menores dependiendo de la revisión de la placa base (como el 40010 utilizado en los modelos CPC, que comparte principios de diseño similares).</li> |
| | <li><strong>Encapsulado:</strong> Se presenta generalmente como un chip SMD (montaje superficial) en las revisiones más modernas o como un chip de gran tamaño en las primeras placas.</li> |
| | </ul> |
| |
| El Gate Array es el integrado encargado de hacer la mayoría de las funciones del PCW. | <p>El Gate Array es el integrado encargado de hacer la mayoría de las funciones del PCW.</p> |
| |
| Para profundizar en la programación de este chip, se recomienda consultar la [[es:guia_hardware|Referencia de hardware del Amstrad PCW]], que explica cómo manipular los registros del Gate Array a través de puertos de E/S (como el puerto &F5 para la Roller RAM). | <p>Para profundizar en la programación de este chip, se recomienda consultar la <a href="doku.php?id=es:guia_hardware" class="pcw-link">Referencia de hardware del Amstrad PCW</a>, que explica cómo manipular los registros del Gate Array a través de puertos de E/S (como el puerto &F5 para la Roller RAM).</p> |
| </WRAP> | </div> |
| ---- | </div> |
| |
| <HTML> | <!-- BLOQUE 2: MICRO-FOTOGRAFÍA --> |
| <script type="text/javascript" src='zooms/40028/openseadragon/openseadragon.js'></script> | <div class="pcw-monitor-ultra"> |
| <div> | <div class="pcw-title-ultra retro-text-green"> A> REFERENCIA VISUAL (DIE SHOT) </div> |
| Amstrad PCW 40028 ASIC (Metal layer). | |
| </div> | <div class="content-body"> |
| <div id="contentDiv" style="background:black;height:800px"></div> | <p>Amstrad PCW 40028 ASIC (Metal layer).</p> |
| <script type="text/javascript"> | </div> |
| |
| var viewer = OpenSeadragon({ | <div class="osd-container"> |
| debugMode: false, | <div id="contentDiv" style="background:black; height:800px; width:100%;"></div> |
| id: "contentDiv", | </div> |
| prefixUrl: "zooms/40028/openseadragon/images/", | |
| tileSources: "zooms/40028/40028_Metal.dzi", | |
| showNavigator: true | |
| }); | |
| |
| </script> | <script type="text/javascript" src="/zooms/40028/openseadragon/openseadragon.js"></script> |
| | <script type="text/javascript"> |
| | var intOSD = setInterval(function() { |
| | if (typeof OpenSeadragon !== 'undefined') { |
| | clearInterval(intOSD); |
| | OpenSeadragon({ |
| | id: "contentDiv", |
| | prefixUrl: "/zooms/40028/openseadragon/images/", |
| | tileSources: "/zooms/40028/40028_DZI/40028_Metal.dzi", |
| | showNavigator: true, |
| | navigatorPosition: "TOP_RIGHT", |
| | debugMode: false |
| | }); |
| | } |
| | }, 500); |
| | </script> |
| | </div> |
| | </html> |
| |
| </HTML> | |
| |
| ---- | |