Seletor de ROM

Em 7 de Maio de 2011.


O Flavio Matsumoto a um bom tempo atrás fez um mod muito interessante no TK dele. Trata-se de um seletor de ROM pelo botão de Reset. Pedi autorização para publicar o texto aqui no site e ele prontamente me atendeu. O texto e as fotos são de autoria do Flávio, reproduzidos aqui com autorização dele.



Seletor de ROM TK/ZX


Os TK 90X/95 possuem certas incompatibilidades com o ZX Spectrum devido às modificações feitas na ROM. Como há programas que usam rotinas da ROM, ou esperam que determinados valores estejam armazenados lá, simplesmente não funcionam nos micros nacionais. Isto tem sido contornado com a substituição da ROM original da Microdigital por uma cópia em EPROM tipo 27C128 da ROM do ZX Spectrum.

Uma alternativa mais atraente é gravar as duas ROM em uma EPROM de 32 kb (27C256), e selecionar uma ou outra através da linha A14 do endereço desta memória (pino 27). Isto normalmente é feito através de uma chave de 2 posições, em que se pode ligar +5V (nível alto ou 1) ou 0V (nível baixo ou 0) no pino 27 do 27C256. Com isto pode-se ter ora o TK, ora o Spectrum, para a alegria dos que são nostálgicos como eu.

Entretanto há o inconveniente de se necessitar colocar uma chave no gabinete do TK, modificando o seu aspecto externo. Entretanto algumas pessoas apreciariam manter seu micro o mais original possível, pelo menos externamente. Pensando nisto, cheguei à idéia de chavear a ROM quando for dado um sinal RESET durante 2 segundos, aproximadamente. Periféricos como interfaces de drives padrão Beta ou a Multiface 1 trazem um botão de reset que pode ser utilizado para essa finalidade. Alternativamente, um botão de reset pode ser colocado no próprio TK.

Esta idéia não é totalmente inédita, pois cheguei a conhecer um equipamento nacional (Seria da Arcade? Não me lembro mais.) contendo a ROM do Spectrum. A cada RESET ocorria a troca de ROM, que era sinalizada por um LED bicolor. Isto ainda não era satisfatório, pois o meu desejo era de se pudesse ter a opção de manter a ROM entre um RESET e outro.

Apresento aqui a modificação que fiz no meu TK 90X com esta finalidade.

Advertência

Apesar do procedimento ter sido realizado por mim conforme descrito a seguir, não há garantias de que nada de errado possa ocorrer. Modificações em equipamentos devem ser feitas somente por pessoas qualificadas. Esta página tem caráter meramente informativo, não há garantias de que o que estiver publicado aqui esteja isento de erros ou de riscos, nem de que tenha qualquer utilidade. Não estou recomendando ninguém a fazer isto, e se o fizer será de sua única e exclusiva responsabilidade. Você foi devidamente advertido.

O circuito e o funcionamento

O diagrama elétrico do circuito que foi montado é o seguinte:
Warning: imagejpeg(): Unable to open 'sel_rom_esquema_300dpi_t.jpg' for writing: Permission denied in /home/panet/victortrucco.com/funcoes.php on line 111



O único circuito integrado é o CMOS 4013, um duplo flip-flop tipo D. O flip-flop 1 é utilizado em configuração pouco usual apenas para isolar a sinal /RESET do Z80 da entrada do flip-flop 2 (isto é, como um buffer). A entrada data e o clock estão desativados, e normalmente o clear e o preset estão em nível alto (1). Nesta situação a saída /Q e Q ficam em nível 1, e o capacitor é rapidamente carregado via diodo D1.

Quando o /RESET fica em nível baixo deixando clear em 0, a saída /Q passa para a 0, e o capacitor C1 é lentamente descarregado através do resistor R1. Caso o /RESET volte logo para nível alto, /Q volta a 1 e o capacitor é rapidamente recarregado via D1.

Porém quando /RESET ficar em nível baixo por um tempo mais longo (tipicamente 2 s), o capacitor é descarregado o suficiente para que a entrada clock do segundo flip-flop fique em 0.

Quanto /RESET volta ao nível 1, o capacitor é rapidamente recarregado e a entrada clock do flip-flop 2 recebe uma rápida transição 0 para 1. Neste momento o flip-flop é engatilhado e, como data recebe o sinal de /Q, ocorre a troca de estados tanto de Q como de /Q. Assim o A14 do EPROM muda de estado, chaveando o endereço da ROM. Note que clear e preset do flip-flop 2 não são utilizados.

Detalhes da montagem

Confeccionei uma placa de circuito impresso específico para esta finalidade, mas não vou mostrar sua figura pois a fiz porcamente com canetinha e ainda cometi erros. Como o circuito é muito simples, não imagino que quem já elaborou tais placas encontre algum problema. Alternativamente pode-se utilizar uma placa padrão, isto simplifica as coisas.

São 4 as ligações que devem ser feitas da placa do circuito chaveador de ROM para o TK.

O sinal /RESET fica no pino 26 do Z80 e é ligado a um dos terminais do resistor R29 de 1M. Foi neste resistor que soldei um fio para a entrada da minha placa.

A EPROM 27C256 com as ROM gravadas foi instalado no soquete onde ficava a ROM da Microdigital, mas com o pino 27 levantado com um alicate de bico. A este pino soldou-se um fio ligado à saída Q do flip-flop 2 na placa.

Finalmente +5V e 0V (terra) existem em muitos pontos da placa do TK, imagino que seja trivial achá-los e portanto desnecessário dizer mais.

Como acomodar a placa no gabinete do TK vai depender da habilidade e da imaginação de cada um, mas sendo um circuito de um integrado só, ocupa pouco espaço. Eu modificara o meu TK 90X para usar uma fonte PC AT, por isso tinha arrancado o regulador de tensão 7805 e o seu volumoso dissipador de calor. Como sobrou espaço, coloquei neste lugar a placa colada com fita adesiva de face dupla, intercalando uma espuma para proporcionar o devido isolamento elétrico.


Na foto pode-se perceber a placa situado no lugar anteriormente ocupado pelo 7805 e dissipador. No canto superior direito está um conector mini-DIN colado à placa do TK. Ele serve para ser ligado a uma fonte PC AT adaptada que fornece +5, -5, +12 V e 0V. Deste conector saem vários fios.

Da placa com o seletor vê-se um fio branco soldado a um dos terminais do resistor R29, que está ligado diretamente ao Z80. A outra ponta do fio está ligada ao pino 4 do integrado 4013.

No pino 13 do 4013 sai um fio laranja, este está soldado no pino 28 do EPROM, levantado para não entrar em contato com o encaixe do soquete.

Finalmente saem fios para +5V (marrom) e 0V (preto) que foram ligados em ilhas apropriadas na placa do TK.

Na foto seguinte pode-se ver uma espuma entre a placa do seletor de ROM e do TK. Utilizou-se pedaços de fita adesiva dupla face em cada face da espuma para a colar às placas.



Teste de funcionamento

Eu fechei o TK 90X, conectei a interface de drive IDS-91 e liguei o micro. Saindo do DOS e voltando para o BASIC, percebi que estava com a ROM do TK ativada. Dei alguns resets breves, e sempre estava com a ROM Microdigital.

Depois dei um reset mais demorado, e pude constatar que agora outra ROM tomara seu lugar. Resets curtos não mudaram o estado da ROM.

Fiz muitos testes e o circuito funcionou a contento. Cabe ressaltar que eu tinha montado previamente o circuito em um protoboard, e com os devidos testes estava confiante de que tudo funcionaria como esperado.

Não parece haver uma lógica para saber qual das ROM é acionada ao ligar a fonte de alimentação, pareceu-me aleatória. Na verdade eu poderia ter forçado para que uma das ROM fosse a padrão logo ao ligar o computador (usando um retardo RC no clear ou preset do flip-flop 2), mas julguei que não compensaria o esforço e o aumento nas dimensões da placa de circuito impresso. Quem estiver disposto, fica a sugestão.


Considerações finais

O projeto provou-se funcional dentro de sua simplicidade, e dentro do que se propunha. Foi emocionante ver que poderia satisfazer a necessidade de compatibilidade e a nostalgia por ver a escala de cores na tela, com o bip anunciando a chegada do TK.

Existem margens para modificações no circuito, é claro. Usei o integrado 4013 porque estava à mão, mas outros flip-flops tipo D podem ser usados, como o 74LS74 ou 74HC74, com o devido cuidado de se checar a pinagem obviamente. O diodo pode ser qualquer um de sinal, comutação ou até de retificação, com tensão inversa superior a 5V (acho que somente diodo zener pode não se encaixar nesta especificação). Finalmente, pequenas mudanças nos valores de R1 e C1 podem ser experimentadas para mudar o tempo de retardo à reação ao reset, mas cuidado, valores muitos extremos podem inviabilizar o chaveamento ou anular a temporização.

Finalmente gostaria de agradecer ao Nelson Antonio Gomes, por me ter gravado a EPROM com as duas ROM, ao pessoal do Yahoo Grupo TK90X e finalmente a você, caro leitor, que ainda aprecia este que foi um microcomputador fabuloso à sua época.

Flávio M. Matsumoto - 20/08/2010



Agradeço ao Flávio pela autorização para a publicação do circuito. Você poderá encontrar o artigo original dele bem como outras coisas relacionadas no "Cantinho do TK90X", a página oficial do Flávio para o TK.

Dúvidas ou sugestões, use o espaço abaixo.


Voltar - Home


Comente



COMENTÁRIOS DESABILITADOS NO MOMENTO! RETORNAM EM BREVE
É expressamente proibido a reprodução total ou parcial deste texto sem a minha devida autorização por escrito.