Em 31 de julho de 2010.
Ontem publiquei o artigo mostrando a
Interface de Drive do Color Computer e no fim coloquei uma observação avisando que eu iria eventualmente desenvolver uma para o CP400 utilizando componentes mais "acháveis" por aqui.
Pois bem, hoje me deparo com um TONELADA de e-mails pedindo o desenvolvimento da interface, encomendas, gente querendo reservar, pedido de informações e afins... Pediram até numero de conta bancária pra já deixar pago(!)
Como respondi, tenhamos calma... Ainda tem um longo caminho pela frente até a interface ser uma realidade e para acalmar o animo do pessoal resolvi publicar esse artigo que mostrará todo o trabalho desde os primeiros estudos até (esperamos) o processo de fabricação final da placa.
Espero com este artigo mostrar o quanto é trabalhoso tocar um projeto como esse. E os comentários durante as diversas etapas serão sempre bem-vindos... ;)
31 de Julho
Bom, hoje era o dia de ajeitar tudo. Primeira coisa é saber o que tem na ROM da interface da Tandy e se o "programa" rodaria no CP.
O chip original é um TMS4764 que apesar de ter 8kb segue uma pinagem, digamos, não padrão. Consultando o datasheet percebi que eu poderia ler facilmente no programador de Eprom como uma 2764, bastando "rearrumar" os pinos que são diferentes.
Peguei então um soquete de 28 pinos e fiz um pequeno adaptador para le-la.
Acertei de primeira. O arquivo foi extraído do chip e pude ler algumas strings como "Disk Basic 1.1". Gravei então uma 2764 comum que será a nossa ROM de trabalho.
Mas como ligar essa ROM no barramento? Eu optei por criar um "cartucho" que puxasse todos os sinais do conector do CP para uma protoboard. Desse jeito eu poderia fazer os testes de um modo rápido e seguro.
Utilizando uma placa dupla face fiz um adaptador que na ponta recebeu uma barra de pinos e encaixa perfeitamente no conector EDGE de 40 pinos do CP.
Apesar de feia a placa fica firme no CP.
Para o encaixe na protoboard eu precisava de um esquema semelhante. Utilizei uma barra de pinos dupla igual a do cartucho num pedaço de placa padrão.
Soldei então duas fileiras de barras de pinos "simples", uma de cada lado para ficar mais ou menos da largura de um CI e entrar perfeitamente na proto.
A pinagem eu levantei quando estava fazendo meu cartucho do Emu de cartucho então era só ir casando sinal com sinal entre o nosso adaptador e a memoria.
Com os fios na proto...
Conferido e reconferido, agora é só ligar no CP. Será que vai funcionar?
Aeeee...
Vamos mandar formatar um disquete... :D
Óbvio que vai dar erro... Não tem mais nada além da ROM.
Por hoje vou parar por aqui. Montar todo esse circo para iniciar os testes deu MUITO trabalho e apesar de eu ter resumido isso em meia dúzia de fotos, consumiu meu sábado INTEIRO.
De todo jeito já dei um passo gigante porque consegui confirmar que a ROM da interface da Tandy funciona no CP.
2 de Agosto
Pesquisando sobre a pinagem do conector do CoCo, descobri com algumas comparações que o CP400 segue exatamente o mesmo padrão.
Foi uma grata surpresa, porque a Prológica tende a "inventar" seus próprios padrões, como o CP200 que usa uma pinagem completamente diferente do ZX81.
Como até a pinagem do CoCo foi meio chato de conseguir, reproduzo abaixo.
Dai resta a pergunta óbvia: se o CP usa mesma pinagem do CoCo, a interface da Tandy não vai funcionar direto? Tudo indicava que sim, mas só ligando pra saber.
Funciona! Note que o conector EDGE do CP400 é exatamente igual ao do CoCo e se não fosse a "infeliz" decisão da Prológica de colocá-lo internamente, (provavelmente) qualquer hardware do CoCo funcionaria direto, sem precisar de nenhum tipo de adaptação.
Uma pena...
3 de Agosto
Graças a pesquisa incansável do Daniel Viana, o esquema da interface da Tandy está disponível. Chequem também os outros links que ele passou na área de comentários porque são bem interessantes.
Daniel, mais uma vez agradeço a sua enorme ajuda em prol da interface do CP. Espero que chegue logo meus FDCs para que eu possa continuar meus testes por aqui.
Aguardem as próximas atualizações...
Dúvidas ou sugestões, comente no espaço abaixo.
Em 1/8/2010 17:45:00 por Daniel
Muito legal!
Eu procurei informaçoes a respeito da interface original mas não consegui encontrar.
Em 1/8/2010 23:57:00 por wanderson V8
aê!!! mais uma que sairá em breve! :)
Em 2/8/2010 13:02:00 por Victor Trucco
Fala Daniel, também não achei nada muito relevante, mas passando rapidamente com um multimetro, a ROM é ligada direto no barramento, assim como a entrada de dados do FDC. Alguns sinais partem do FDC para o conector de drive passando por alguns 74LS16. O LS04 está no gerador de clock de 4Mhz e este clock é dividido antes de ir pro FDC. Tudo é bem basico, com exceção talvez dos sinais de Motor ON e Disk select. Essas infos vem das linhas de dados passando por um daqueles chips MCM. Mas é isso... Conforme eu for aprendendo mais sobre o funcionamento vou publicando, mas minha idéia inicial é manter só a ROM e redesenhar a interface com um WD2793. Estou esperando chegar alguns que comprei em Sampa. Grande abraço
Em 2/8/2010 14:15:00 por Daniel
Salve Victor
Achei este diagrama aqui. pode ser util...
http://www.doki-doki.net/~lamune/computers/coco/hd-floppy/schematic.png
Em 2/8/2010 14:23:00 por Victor Trucco
Fala Daniel, olhando por alto é bem por ai mesmo. Se nao for esse o esquema é algo muito parecido. Agradeço pelo link.
Em 2/8/2010 14:29:00 por Daniel
Salve Victor. Se você for na raiz da página tem mais informações.
Neste outro link tem outros esquemas.
http://five.pairlist.net/pipermail/coco/2006-August/024474.html
Em 2/8/2010 16:18:00 por Daniel
Mais um link:
Biblioteca Eagle com vários componentes utilizados no TRS-80 Color, inclusive os conectores edge
http://www.coco3.com/community/2010/06/gimechip-eagle-library-updated-13-june-2010
Em 2/8/2010 19:06:00 por Nelson
Fantastico Victor!!! Parabens!!!
Chegou para mim a interface que eu comprei de fora, se vc precisar para alguma coisa eu te envio.
Abraço.
Em 3/8/2010 16:25:00 por Marcelo Martins
Victor, blz? Parabéns!
Se fizer um clone vou querer tb. rs! Mas gostaria de usar também no meu CoCo 3, será que rola?
Em 3/8/2010 16:52:00 por Marcelo Martins
Victor, estive pensando... se for clonar, não seria mais interessante clonar esta interface SUPER IDE: (http://www.frontiernet.net/~mmarlette/Cloud-9/Hardware/SuperIDE.html) Afinal, drive de disquete e disquetes estão cada vez mais difícil de conseguir, não?
Em 3/8/2010 19:41:00 por Victor Trucco
Marcelo, não sei se vai funcionar num CoCo 3, alias eu nem sabia que existiam oustros CoCos... Eu mal conheço essas máquinas e meu foco será no CP400. Mas é simples... Se as interfaces de drives funcionam nos diferentes modelos de CoCos, a nossa também funcionará. Sobre a SuperIDE, duas observações. 1a. Não me pareceu que ela seja hardware aberto, portanto para clonar seria muito dificil. 2a. Custa razoavelmente barato. Para fabricar isso no Brasil provavelmente custará pelo menos o dobro do preço aqui. Sobre os drives, sempre teremos os emuladores de drive, certo? Grande abraço
Em 3/8/2010 20:53:00 por Daniel
Mais uma página com informações úteis. Aqui também tem o esquema para discos de alta densidade.
http://www.reocities.com/idezilla/CoCoZilla/frontpage.html
Em 3/8/2010 22:40:00 por Alvaro Gamelas
Salve Victor. Vi os seus testes com a interface de disco original do CoCo no CP400. Eu ja sabia que funcionava, pois na epoca eu consegui que um amigo meu me comprasse uma quando ele viajou aos EUA (comprei na cega, sem saber se ia funcionar). Funcionou perfeitamente, cheguei ate a rodar o OS9. Inclusive funcionou num CoCo3 de um outro conhecido meu. Infelizmente vendi na epoca (para juntar grana e comprar um XT), mas era legal pacas.
Em 4/8/2010 14:06:00 por Daniel
Salve, Victor. Estava vendo aqui o data sheet da família WD279X. Eles têem o separador de dados integrado, dispensando o chip difícil de encontrar...
Em 4/8/2010 14:33:00 por Victor Trucco
Fala Daniel, o reprojeto vou fazer em cima do WD2793. Estou só esperando chegar as peças, porque acabou todo meu estoque com a historia da Beta do TK. ABraço
Em 4/8/2010 14:54:00 por Daniel
Outra opção que seria legal era o WD37c65, pois dá pra ligar direto no drive de disquette, mas acho que ele não é compatível com a família wd179x (ou não entendi direito a documentação).
Vou arrumar um tempinho pra desenhar o esquemático original no Eagle.
Será que vale a pena usar uns SMDs pra fazer esta interface e colocar dentro da caixa do TK, deixando de fora apenas o cabo?
[]s
Daniel
Em 4/8/2010 20:12:00 por Victor Trucco
Fala Daniel, o WD37c65 eu realmente não conheço nada sobre ele, teria que dar uma olhada pra saber sobre a compatibilidade. Estou vendo se consigo algumas peças dele para testar também, dai teria como ter certeza. Bem, eu odeio SMDs, principalmente porque são dificeis de conseguir por aqui, mas se conseguissemos fazer a interface pra caber dentro do espaço de cartucho do CP eu até toparia sim. Bem ou mal até consigo peças por encomenda. Sobre desenhar o esquema original, acredito que a gente vá não vá aproveitar muita coisa, não acho q vale a pena agora. Abraço
Em 6/8/2010 11:13:00 por Daniel
Victor,
Pelo que vi do manual de operação de disco do CP400 (do site datacassete), me pareceu que toda a eletrônica da interface de drive ficava dentro da unidade CP450. Talvez somente a ROM ficasse no cartucho. Desta forma o flat que vai à interface pode ter menos fios.
Em 6/8/2010 11:24:00 por Victor Trucco
Fala Daniel, O engraçado é que pensei a mesma coisa ontem hehe.. Colocar a ROM na placa do slot. Bem, a vantagem de usar o cabo de 40 vias é que eles ainda são bem comuns. Até mesmo o material para a confecção deles se for o caso se acha facil. Não sei como seria por exemplo se ó usassemos (chutando) um conector de 16 vias. Grande abraço
Em 6/8/2010 12:20:00 por Dieter Marno
Sensacional!!!
Quero muito uma! Só assim vou ter ânimo para usar meu CP!
Porque via cassette não tem como!
Conhece o Drive-Wire para ele?
Dá um toque: dieter@customdev.com.br
Em 6/8/2010 21:33:00 por Daniel
Salve Victor. Dei uma olhada mais cuidadosa nos datasheets dos controladores de drive. Infelizmente o WD37c65 é razoavelmente diferente do WD2793, tanto fisicamente quanto nos registros internos. Talvez até dê para adapatar a ROM, mas precisa de mais tempo e mais estudo.