Slots internos no TK3000 Compact

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Facebook
  • Google
  • Twitter
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.


Foto do TK3000 Compact que adquiri.


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.


TK3000 Compact por dentro.


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.


Detalhe do conector de slot externo na placa mãe. Logo abaixo um header não utilizado para um slot interno no TK3000 Compact.


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.


Esquema de pinos dos slots de expansão do Apple II.


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.


Detalhe do esquema do TK3000 dos 74LS138 onde é feita a seleção do slot.


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).


Localização dos 74LS138 na placa mãe do TK3000 Compact.


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.


Detalhe do resistor ligado no pino 24 do conector de slot interno no TK3000.



Parte inferior da placa mãe com detalhes dos fios jumpeados no conector de slot interno


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.


Conector soldado no header para o slot interno no TK3000 Compact



Jumpers e resistor depois de realocados na placa


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


Placa mãe remontada após a preparação para o expansor de slots interno

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.


Fios para puxar o IO SELECT e DEVICE select dos slots 5 e 7.

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.

Placa do expansor de slots.

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.

Placa montada.



Placa montada - vista traseira com detalhe dos fios de seleção de slot.



Placa montada - vista dianteira com detalhe dos fios de seleção de slot.

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.

Expansor no TK3000 compact com placas espetadas.

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.
Alexandre Thursday 27 July 2017 at 8:12 pm | ¶ | retrocomputacao