Herramientas de usuario

Herramientas del sitio


hardware:perifericos:kempston_joystick_clones

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
hardware:perifericos:kempston_joystick_clones [2026/05/14 05:51] – creado jesushardware:perifericos:kempston_joystick_clones [2026/05/25 16:09] (actual) jesus
Línea 13: Línea 13:
   .content-body { position: relative; z-index: 3; color: #00ff00; line-height: 1.6; text-align: justify; }   .content-body { position: relative; z-index: 3; color: #00ff00; line-height: 1.6; text-align: justify; }
   .content-body b, .content-body strong { color: #00ff00; font-weight: bold; }   .content-body b, .content-body strong { color: #00ff00; font-weight: bold; }
 +  .content-body ul { list-style: square; margin-top: 10px; padding-left: 20px; }
 +  .content-body ul li { color: #00ff00; }
   .pcw-subtitle-box { background-color: #00ff00; color: #000b00 !important; padding: 5px 12px; font-weight: bold; display: inline-block; margin: 20px 0 15px 0; text-transform: uppercase; position: relative; z-index: 3; font-family: 'Courier New', Courier, monospace; }   .pcw-subtitle-box { background-color: #00ff00; color: #000b00 !important; padding: 5px 12px; font-weight: bold; display: inline-block; margin: 20px 0 15px 0; text-transform: uppercase; position: relative; z-index: 3; font-family: 'Courier New', Courier, monospace; }
      
Línea 31: Línea 33:
   .img-label { font-size: 0.72em; color: #00aa00; margin-top: 8px; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: 100%; }   .img-label { font-size: 0.72em; color: #00aa00; margin-top: 8px; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: 100%; }
      
 +  /* --- MODAL DE LIGHTBOX CON INTERRUPCIÓN DE LÍMITES PARA TAMAÑO REAL --- */
   .modal-pcw { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 10, 0, 0.95); overflow: auto; }   .modal-pcw { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 10, 0, 0.95); overflow: auto; }
   .modal-pcw:target { display: block; text-align: center; }   .modal-pcw:target { display: block; text-align: center; }
   .close-overlay { display: inline-block; min-width: 100%; min-height: 100%; padding: 40px; box-sizing: border-box; text-decoration: none !important; cursor: zoom-out; vertical-align: middle; }   .close-overlay { display: inline-block; min-width: 100%; min-height: 100%; padding: 40px; box-sizing: border-box; text-decoration: none !important; cursor: zoom-out; vertical-align: middle; }
-  .modal-content { max-width: 90% !important; max-height: 85vh !important; border: 4px solid #00ff00; box-shadow: 0 0 50px rgba(0, 255, 0, 0.5); margin: 5vh auto; display: inline-block; }+  .modal-content { border: 4px solid #00ff00; box-shadow: 0 0 50px rgba(0, 255, 0, 0.5); margin: 5vh auto; display: inline-block; max-width: none !important; max-height: none !important; height: auto !important; } 
 + 
 +  /* Tablas técnicas */ 
 +  .tech-table { width: 100%; border-collapse: collapse; margin: 15px 0; background: rgba(0, 20, 0, 0.4); z-index: 3; position: relative; } 
 +  .tech-table th, .tech-table td { border: 1px solid #004400; padding: 8px; text-align: left; font-family: 'Courier New', Courier, monospace; font-size: 0.9em; color: #00ff00; } 
 +  .tech-table th { background: rgba(0, 60, 0, 0.6); color: #00ff00; font-weight: bold; text-transform: uppercase; }
 </style> </style>
  
Línea 47: Línea 55:
      
   <div class="content-body">   <div class="content-body">
-    <p>Copias o clones de la interfaz oficial </html>[[Kempston Joystick]]<html>.</p>+    <p>Copias o clones de la interfaz oficial </html>[[hardware:perifericos:kempston_joystick]]<html>.</p>
   </div>   </div>
  
Línea 54: Línea 62:
   <div class="content-body" style="margin-bottom: -10px;">   <div class="content-body" style="margin-bottom: -10px;">
     <ul>     <ul>
-      <li><strong>Fabricante / Origen:</strong> Desconocido</li>+      <li><strong>Fabricante / Origen:</strong> Siren Software (Mánchester, Reino Unido) [Identificado mediante análisis de preservación de PCB]</li>
     </ul>     </ul>
   </div>   </div>
Línea 68: Línea 76:
       </div>       </div>
     </div>     </div>
 +  </div>
 +  <div class="pcw-subtitle-box">Descripción, Contexto e Historia de Preservación</div>
 +  <div class="content-body">
 +    <p>La unidad clonada que ilustra esta página corresponde de forma exacta a la **"Siren Software Joystick Interface"**, comercializada activamente a finales de los años 80 en el Reino Unido por la casa de hardware y utilidades **Siren Software** (dirigida por Philip y Michael Davenport con sede en Mánchester). El periférico era sumamente popular en la época por distribuirse originalmente en un llamativo embalaje de color verde brillante con letras blancas, convirtiéndose en el clon compatible con Kempston más extendido para la gama Amstrad PCW 8256 y 8512.</p>
 +    <p>Debido a que Amstrad omitió de fábrica cualquier puerto para mandos de juego con el fin de abaratar costes profesionales, Siren Software cubrió este nicho diseñando una interfaz económica y robusta que se pinchaba directamente en el bus de expansión lateral de 50 pines. Su gran ventaja competitiva era el diseño puramente electrónico <em>Plug and Play</em>: no requería de software ni drivers residentes en el sistema operativo CP/M. Además, el fabricante implementó un ingenioso "hardware hack" físico al incorporar <strong>dos puertos DE-9 paralelos cableados en espejo</strong> en la carcasa. Esto permitía tener dos joysticks conectados de manera simultánea para juegos multijugador cooperativos (como <em>Match Day II</em>), compartiendo eléctricamente la misma dirección de bus de datos en paralelo.</p>
   </div>   </div>
  
 +  <div class="pcw-subtitle-box">Arquitectura Electrónica y Mapeo del Puerto I/O 09Fh</div>
 +  <div class="content-body">
 +    <p>A nivel de circuitos integrados lógicos tradicionales de la serie TTL (74xx) visibles en la PCB superior e inferior, la placa funciona como una compuerta electrónica directa hacia el microprocesador Zilog Z80:</p>
 +    <ul>
 +      <li><strong>Mapeo del Puerto E/S:</strong> La lógica digital del decodificador de direcciones monitoriza las líneas lógicas de control del PCW y se activa exclusivamente cuando lee la dirección de Entrada/Salida fija estándar de Kempston: <code>09Fh</code> (Equivalente a <code>159</code> en formato decimal).</li>
 +      <li><strong>Lógica Activa en Alto (1):</strong> A diferencia de otros estándares de joystick de la plataforma (como Cascade o Spectravideo, que operan con lógica inversa activa en bajo), el estándar Kempston y este clon de Siren Software devuelven un <strong>'1' binario</strong> cuando se ejecuta una acción física. En estado de reposo, el puerto <code>09Fh</code> devuelve un byte limpio <code>00h</code>. El búfer de tres estados de la placa abre el canal y vuelca el estado de los interruptores mecánicos directamente al bus de datos del PCW cuando el software ejecuta la instrucción de lectura <code>IN A, (09Fh)</code>.</li>
 +    </ul>
 +
 +    <p><strong>Matriz de Mapeo de Bits en el Puerto 09Fh:</strong></p>
 +    <table class="tech-table">
 +      <thead>
 +        <tr>
 +          <th>Bit del Bus</th>
 +          <th>Estado Físico en Alto (1)</th>
 +          <th>Función Asignada del Joystick (Norma Atari)</th>
 +          <th>Pin Físico Conector DE-9</th>
 +        </tr>
 +      </thead>
 +      <tbody>
 +        <tr>
 +          <td><strong>Bit 7</strong></td>
 +          <td>0 (Fijo)</td>
 +          <td>Línea no utilizada / Reservada</td>
 +          <td>—</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 6</strong></td>
 +          <td>0 (Fijo)</td>
 +          <td>Línea no utilizada / Reservada</td>
 +          <td>—</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 5</strong></td>
 +          <td>0 (Fijo)</td>
 +          <td>Línea no utilizada / Reservada</td>
 +          <td>—</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 4</strong></td>
 +          <td>1</td>
 +          <td>Botón de disparo principal (<strong>FIRE</strong>) presionado</td>
 +          <td>Pin 6</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 3</strong></td>
 +          <td>1</td>
 +          <td>Dirección de palanca <strong>ARRIBA</strong> (Up) activa</td>
 +          <td>Pin 1</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 2</strong></td>
 +          <td>1</td>
 +          <td>Dirección de palanca <strong>ABAJO</strong> (Down) activa</td>
 +          <td>Pin 2</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 1</strong></td>
 +          <td>1</td>
 +          <td>Dirección de palanca <strong>IZQUIERDA</strong> (Left) activa</td>
 +          <td>Pin 3</td>
 +        </tr>
 +        <tr>
 +          <td><strong>Bit 0</strong></td>
 +          <td>1</td>
 +          <td>Dirección de palanca <strong>DERECHA</strong> (Right) activa</td>
 +          <td>Pin 4</td>
 +        </tr>
 +      </tbody>
 +    </table>
 +  </div>
 +
 +  <div class="pcw-subtitle-box">Soporte en Software y Emulación de Preservación</div>
 +  <div class="content-body">
 +    <p>Al ser el estándar de control por palanca más extendido, prácticamente la totalidad del catálogo de videojuegos de acción comerciales escritos para el CP/M Plus del PCW incluían de forma nativa la rutina de lectura directa al registro del puerto <code>09Fh</code> en sus selectores de control periférico. Actualmente, este comportamiento de hardware está plenamente soportado de manera virtual en los emuladores de preservación digital <strong>CP/M Box (Habisoft)</strong> y <strong>Joyce (John Elliott)</strong>, así como reproducido fielmente mediante compuertas lógicas de hardware en el Core oficial de Amstrad PCW de la plataforma <strong>MiSTer FPGA</strong>.</p>
 +  </div>
 </div> </div>
 </html> </html>
 +
  
hardware/perifericos/kempston_joystick_clones.1778737864.txt.gz · Última modificación: por jesus