Quando eu era adolescente eu tive a oportunidade de mexer em muitos computadores de 8 bits. Um deles foi o TK3000 Compact, da Microdigital. Tive um por um breve período, depois acabei vendendo e comprando um MSX. O que sempre me fascinou nos Apples II foi a quantidade de aplicativos existentes e a facilidade de mexer no hardware, fuçar mesmo. O TK3000 é um Apple IIe brasileiro melhor que o original americano. Que máquina bacana. A versão “Compact” tem um dos designs mais bonitos da época. É de uma beleza única.

Recentemente adquiri um TK3000 Compact na versão de 128 kB de RAM (foto acima). Precisa de uma limpeza boa e de um bom RetroBright, vai para o banho em breve. Esta máquina vem com a maioria dos acessórios necessários na época (interface de disco, impressora e TKWorks). Mas, hoje em dia, tem muita coisa bacana nova para espetar no Apple II. Pretendo ter uma placa VGA, Aceleradora e a CFFA (interface IDE), além do bom e velho Z80 Softcard (rodar CP/M). Assim, o único slot de expansão da máquina não dá conta. O meu projeto é instalar conectores de slots internos na maquininha, tornando-a um Apple IIe com plena capacidade de expansão em um gabinete super-compacto. Vamos lá.
Abrindo o TK3000 Compact e olhando por dentro
A primeira coisa que fiz, depois de ligar, é claro, foi abrir a máquina e ver (na verdade lembrar) como ela é por dentro. Uma foto dele aberto está logo abaixo.

Do lado esquerdo tem a placa digital. Do lado direito tem a fonte de alimentação (que vai passar por uma revisão em breve). Logo abaixo da fonte tem o alto-falante interno. A minha ideia inicial era usar o conector de expansão externo e puxar o barramento dali para fazer os slots internos, mas quando abri o gabinete e olhei a placa mãe, para minha surpresa, a Microdigital tinha colocado um header para um slot interno (ver imagem abaixo). provavelmente eles pretendiam ter algum tempo de expansão interna mas desistiram da ideia, talvez por conta de que abrir o gabinete do TK3000 Compact não era tão simples como abrir o de um Apple II standard. Isso facilita demais a minha vida.

Antes de continuar, acho bom fazer uma pequena explicação de como os slots internos do Apple II são construídos e acessados. Vamos lá.
Os slots de expansão do Apple II
O Apple II padrão possui sete slots de expansão, numerados de 1 a 7 (tem também o slot 0 mas que não vem ao caso aqui). São slots de 50 pinos onde podemos encaixar uma placa de expansão qualquer (interface de drive, CP/M, etc.). Durante o boot do computador, os slots são escaneados do sete ao 1 e se houver alguma placa com alguma ROM que faça alguma ação durante este processo, sua ROM é executada. É assim, por exemplo, que fazemos o boot por disquete, cuja controladora, em geral, é colocada no slot 6.
Na figura abaixo temos um esquema dos pinos nos slots de expansão do Apple II. A maioria destes pinos são comuns a todos os slots, fazendo parte de uma bus comum. Assim, para fazer um novo slot basta puxar todos estes pinos comuns em paralelo. Fácil né? Mas o que diferencia um slot do outro? Como eu sei que estou acessando o slot 3 ou o slot 7? Isto fica a cargo de dois pinos no conector. O pino 1 (I/O SELECT) e o pino 41 (DEVICE SELECT) que devem ser baixados para selecionar o slot que vai ser acessado. Assim, se eu quero usar o slot 3 eu abaixo estes dois pinos neste slot e levanto estes dois pinos nos demais. Sendo assim, estes dois pinos são os únicos que devem ser individualizados para cada conector.

Seleção de slot no TK3000
O esquemático completo do TK3000 pode ser encontrando na web em vários lugares. Mesmo assim, tem uma cópia aqui. Um esquema em blocos, mas simples, pode ser obtido aqui. A seleção de slot é feita através da porta A do 6502. Alguns bits desta porta passam por dois 74LS138 (E4 e E5 no esquema). Um detalhe do esquema do TK3000 onde isso é feito é mostrado na figura abaixo.

Na placa mãe do TK3000 Compact estes 74LS138 estão localizados pouco abaixo do modulador de RF, como visto na figura abaixo, sendo o chip superior o responsável pelo DEVICE SELECT (pino 41 do slot) e o chip inferior o responsável pelo I/O SELECT (pino 1 do slot).

Fazendo o teste de continuidade entre o 74LS138 e o pino 1 do header interno na placa mãe do TK3000 Compact dá para saber que ali seria colocado o SLOT 4 do micro. Fazendo o mesmo para o slot externo, dá para identifica-lo como slot 2.
Preparando o TK3000 para receber um “expansor de slot”
No TK3000 Compact os slot estão usados da seguinte forma: slot 1 = impressora; slot 2 – expansão externa; slot 3 – TKWorks; slot 6 – Disk ][. Deste modo temos os slot 4, 5 e 7 livres. Minha ideia é usar o header do slot 4 interno no TK3000 e fazer uma pequena bus para três slot de expansão, o 4, 5 e 7.
A primeira coisa é preparar a placa mãe do TK3000. Vou colocar um conector na placa. Primeiramente tive que tirar a solda de todos os furos. Contudo, na foto abaixo, nota-se que tem um resistor no pino 24 que vai para o slot de expansão externo. Olhando a placa do lado inferior, este pino também está com um jumper de fio para um CI da placa mãe. Tem um outro jumper também em outro pino.


O que eu fiz foi mudar o resistor de lugar, na saída do CI, soldar um conector e soldar um conector em barra no header para o slot interno. No final ficou como nas fotos abaixo.


Na foto abaixo tem a placa mãe já remontada no TK3000 Compact.

O último passo é puxar os fios para DEVICE SELECT e IO SELECT para o expansor de slots. Estes fios vêm de dois 74LS138 na placa mãe, como discutimos acima. Neste caso, peguei os pinos para os slot 7 e 5. O slot 4 já tem os sinais carregados diretamente para o header interno, então não precisa fazer nada. Do CI mais para baixo saem os sinais do IO SELECT. No CI superior, do DEVICE SELECT. Os pinos para o slot 5 são o 7 em cada chip e para o slot 7 são os pinos 10 de cada chip. Soldei uns cabinhos e coloquei, do outro lado, um conector. o interessante da montagem que eu fiz é que, invertendo como eu conecto este cabo no expansor, eu consigo inverter a ordem dos slot 5 e 7 no expansor, o que pode facilitar a conexão de placas maiores ou menores. Veja a foto abaixo.

Montando o expansor de slots
A plaquinha do expansor de slots é bem simples. Os arquivos gerber para montar a sua estão disponíveis neste link. Sinta-se à vontade para baixar, modificar e mandar fazer a placa. Não pretendo vender. A cara da plaquinha, já fabricada, está mostrada na foto abaixo.

A montagem é bem simples. basta soldar os conectores, uma barra de pinos em L para conectar na placa mãe do TK3000, e os fios de DEVICE SELECT e IO SELECT. Vejam as fotos abaixo.



Um detalhe: Eu retirei o plastico preto que segura os pinos da barra de pinos em L de modo a poder baixar um pouco mais o expansor de slot, quando ele conecta na placa mãe. Dai dá uma folga a mais para fechar o gabinete. Note que foi tudo projetado bem justo, para poder fechar o gabinete mas mantendo a separação entre os conectores dos slot a maior possível.
Expansor montado no TK3000 compact
Nas figuras abaixo temos o expansor montado no tk3000 compact com algumas placas espetadas. Note como os fios de seleção de slot são conectados na placa mãe. Invertendo a conexão, eu inverto os slot 5 e 7 no expansor. O ordem dos slot e: slot 4 – mais próximo à placa mãe, depois o 5 e 7, que podem ser invertidos.

Nesta montagem eu tenho a FastChip IIe, no slot 4, CFFA no slot 7 (configurado para ser o conector do meio) e placa de mouse no slot 5 (configurado para ser o slot superior).
Qualquer dúvida é só perguntar.
Deixe um comentário