Placa adaptadora para interface ZXMMC

A interface ZXMMC é uma placa para alguns computadores da linha ZX Spectrum. Inserida no slot do Z80, e o Z80 sobre ela, permite acesso a cartões de memória SD/MMC.

Segundo o sítio (em inglês):

Na verdade, esta interface pode ser usada em QUALQUER projeto baseado em Z80 com um soquete DIL de 40 pinos, desde que as portas $1F e $3F não estejam em uso.

Como a ZXMMC não faz nenhuma "tradução" de sinais entre a placa e o Z80, funcionando "em paralelo" com o barramento, me parece que ela poderia ser encaixada (sem o Z80) em uma outra placa, fora do computador, desde que os mesmos sinais lhe sejam fornecidos.

Infelizmente a porta $3F não está livre no MC1000. O circuito interno do MC-1000 que faz a distinção entre as portas $20, $40, $60 e $80 só considera os três primeiros bits do número da porta, de modo que o endereço $3F (%00111111) coincide com $20 (%00100000).

Devemos então escolher um número de porta não problemático e nossa placa deve traduzi-lo para $3F. Optei por um endereço vizinho ao $1F, o $1E (%00011110). Se ele for identificado, nossa placa deve ativar os bits 0 e 5 do endereço (produzindo $3F) antes de passá-lo à ZXMMC.

Conectar à                                Conectar EXPANSION PORT                            a outros do MC-1000                            dispositivos <=:===:==========:=======:=====:====:============>   |   |A0,A5-A7  |A1-A4  |A0   |A5  |A1-A4,A6-A7   |  [NOR]       |       |     |    |   |   '--------. |       |     |    |   |           [AND]      |     |    |   |             '------*-|---. |    |   |                    | |   | |    |   |   .-----------.   [OR ] [OR ]   |   |   |   ZXMMC   |     |A0'  |A5'  |   |`--|+5V      A0|-----'     |     |   |`--|GND      A5|-----------'     |   |`--|CLK      A1|----------------´|   |`==|D0-D7    A2|----------------´|   |`--|~IORQ    A3|----------------´|   |`--|~WR      A4|----------------´|   |`--|~RD      A6|----------------´|    `--|~NMI     A7|----------------´       '-----------'