quinta-feira, 23 de agosto de 2012

TK90X com 128KB

A comunidade dos fãs do TK90X sempre sonharam com um TK que fosse clone do ZX Spectrum 128, mas isto não se concretizou, pois a linha Sinclair acabou sendo orfanada pela Microdigital. Uma pequena parte deste sonho vingou quando Ricardo Suzuki e Jorge Braga da Silva criaram a interface Explorer, que providenciava o som do Spectrum 128 ao TK90X. 

Fonte: Wikipédia.

Victor Trucco conseguiu transformar um TK90X no "TK128", porém teve que mexer de forma drástica o interior do equipamento. Não seria exagero dizer que o TK128 é praticamente uma outra máquina, mas serve como equipamento-conceito do que seria possível se a Microdigital tivesse intenção de lançar um real sucessor do TK90X (o TK95 não conta, pois é praticamente um TK90X em  outro gabinete).

Já há algum tempo eu venho alimentando a seguinte hipótese: a grande maioria dos programas do Spectrum 128, particularmente os jogos, poderiam funcionar sem a ROM 0 e a segunda página de vídeo.  Seguindo este raciocínio, bastaria adicionar uma RAM extra, com um esquema de chaveamento que já era conhecido. Aparentemente Velesoft teve uma ideia semelhante, pois tivera projetado uma interface que fazia justamente isto. Composta de poucos componentes (RAM estática, latch TTL e circuito lógico programável GAL), a interface daria 128KB ao TK90X. Como não há forma de desabilitar a RAM interna através do conector de expansão, o TK90X deve ser de 16KB ou então ter os 32KB superiores de RAM desabilitados.

Como o Eduardo Luccas tinha relatado estar aprendendo a trabalhar com GAL, não me contive e lhe propus que montasse a interface do Velesoft. Prontamente ele topou e os resultados foram animadores: funciona com carregamento de fita cassete e com a DivIDE.  Segundo sua estimativa, em torno dos 95% dos programas em formato TAP funcionam, quando carregados por DivIDE.

Um problema surgiu quando Eduardo testou com interface tipo Beta 48. O computador travava e não inicializava o DOS. Estudando as documentações do ZX Spectrum 128, da interface do Velesoft e o relatório Beta do Jorge Braga, eu consegui entender o que acontecia: como a decodificação da porta 32765 (responsável pelo chaveamento da RAM) era incompleta, acabava coincidindo com a porta 252 usada pela Beta 48. Felizmente a solução era relativamente simples e, uma vez implementada, tornou ambas as interfaces compatíveis entre si. A modificação consiste em desconectar a ligação do pino 7 da GAL (I5) do pino 23B do conector de expansão (A5), para a ligar ao pino 9B do conector de expansão (A0).

Agora simplesmente o céu é o limite! Vai ser uma delícia começar a adaptar programas do TK90X para as interfaces TKMEM-128 e Beta 48! Ah, sim, eu dei um nome provisório para a interface que, se o pessoal gostar, vai ficar em definitivo: TK Memory Expansion Module - 128KB.

Foi um produtivo trabalho coletivo feito principalmente na lista TK90X e no fórum Sinclair Brasil, todo o histórico está registrado nesses dois locais. Agradeço a todos os membros da lista e do fórum pelo incentivo e, em particular, ao Fabio Belavenuto pela sugestão da SRAM a usar. Eu quero agradecer ao Velesoft, um grande conhecedor do Spectrum e que fez o projeto original. Não posso esquecer do Eduardo Luccas, afinal foi ele quem botou a mão na massa e fez a interface acontecer.

Nenhum comentário:

Postar um comentário

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.