MULTIFACE TWO AMSTRAD CPC

Fotos

 

 

Esquema y PCB

   Esquema del Multiface Two:



   Placa del Multiface Two:



Funcionamiento

    El Multiface two tiene 3 PAL en su diseño 2 PAL16L8 y una PAL16R4. La más importante es la PAL16R4 porque determinada como funciona el interface. Por ello los diseñadores, además de protegerla contra lectura, utilizaron un par de trucos para ofuscar el diseño y hacer algo más difícil comprender como funciona. Entender la PAL16R4, sortear las trampas de los diseñadores y sacar un JED para clonar la PAL original ha llevado tiempo y esfuerzo. El material utilizado lo podeís ver aquí.

    Los 2 trucos que usaron fueron:

    - Usar una patilla configurada como salida también como entrada.
    - Jugar, a su favor, con los tiempos de propagación de las puertas.

    Una vez sorteado estos obstáculos, se ha elaborado un diagrama de estados del funcionamiento de esta PAL.



   0000: (1) Encendemos el CPC.

   0100: Nada más encender, la señal de reloj arranca pero i5 (reset) está pasando de 0 a 1 por lo que la PAL pasa de 0000 a 0100. o19="1" y las salidas RF17-RF14 están en triestado.

   El estado 0100 es muy importante porque el interface permanecerá aquí hasta que pasen 2 cosas:
      - Se pulse el botón de STOP.
      - Queremos acceder nosotros al interface mediante el uso de los puertos 0xFEE8 (activar) y 0xFEEA (desactivar). Es el estado 0110.

   1100-1101: Estando en el estado 0100 pulsamos el botón de STOP. El interface pasa al estado 1100 donde activa la salida o18 (MNI del ordenador) y, en el siguiente ciclo de reloj, pasa al estado 1101. Ahora el interface esta esperando a que ocurra un momento muy concreto (paso por 0x66H) en el que o19 pasa de "1" a "0". En ese momento las salidas RF17-RF14 son visibles y la ROM del interface se activa y pasamos al estado 1111.

   1111: El interface está empezando a tomar el control del CPC. o19 se activa y desactiva constantemente (RF17-RF14 y la ROM se activan y desactivan), o18 sigue a "0" (indicando al CPC que tiene NMI activo) y o12 también puede activarse.

   1011: Tras pasar otra vez por 0x66H, el interface ya tiene el control del CPC. Desactiva la señal o18 y rf16. En el siguiente ciclo de reloj pasa a 1010.

   1010: Aparece en pantalla el menú del interface y permanecemos aquí hasta que queramos salir.

   0010: Iniciamos el proceso para salir.

   0000: (2) Hemos salido y el interface está desactivado. No podemos pasar al estado 0100 (necesitaríamos resetear el CPC) ni activar el interface por el puerto 0xFEE8 (estados 0010 o 0110). Sólo podemos pasar al estado 1100 si pulsamos el botón de STOP.

Documentación

   Ficheros eagle. Esquema y pcb.
    Eprom 2764.
    PAL. Ecuaciones y jed.

Links

  CPC Wiki.
  Grimware.
  CPC Hardware (web archive).

Dedicatoria

   Para Rafa.

2014 José Leandro Novellón