Mapper interna de 512K para o Sony HB-F1XV
Outro dia o Bruno me aparece com um XV e pergunta "Tem como expandir a mapper interna?" e eu respondo "claro, com um pé nas costas!"...
...coisa que até então, ninguem tinha feito... :o)
Os micros que usam o MSX Engine S1985 são micros razoavelmente faceis de se expandir. Desde que as SRAMs de 512K ficaram baratas, qualquer computador que use o S1985 se expande com apenas um integrado. Mais ou menos. Mas ficou muito mais facil de se expandir com SRAM do que com DRAM. Isso porque o S1985 ja tem a provisão pra 512K de mapper, basta apenas ligar os fios certos, no lugar certo. Ta, não é tão simples. Tanto que até então ninguem tinha feito no XV. E agora eu vou dar mastigadinho pra vocês. Vamos lá?
Primeiro, a teoria:
Basicamente você conecta uma SRAM no barramento do MSX da forma "padrao", ou seja:
- A0 a A13 da SRAM ligados ao barramento de endereços do MSX
- D0 a D8 da SRAM ligados ao barramento de dados do MSX
- /OE da SRAM vai ao pino /RD do Z80
- /WE da SRAM vai ao pino /WR do Z80
- A14 a A18 da SRAM vao ligados aos pinos MA14 a MA18 do S1985
- /CS da SRAM vai ligado ao pino do slot onde você quer alocar a RAM. No nosso caso, vai no slot 3.0 (slot 3, subslot 0)
Em alguns micros, basta ligar o /CS ao /CAS da RAM dinamica. no caso do XV tive que ligar direto no pino do MSX Engine.
Tambem, no S1985, você tem alguns pinos que tem função dupla, configurados no startup de acordo com a condição dos pinos de teclado (!). No caso da mapper, você so terá 256K de mapper a não ser que faça um pequeno circuito para dar um pulso a GND na inicialização na linha X5 do teclado. Note que essa linha tem um pull-up a VCC. O que você tem que fazer é joga-la a GND por 0.2 segundo (valor arbitrario, funciona, qualquer coisa consulte o data sheet) no RESET. Ai o S1985 habilita a linha MA18 da mapper, o que dá os 512K que almejamos.
Não é a coisa mais facil do mundo fazer essa expansão, meramente porque você tem que soldar fios MUITO finos. Mas fora isso, até uma criança faz. Se você não conseguir fazer, eu posso faze-lo mediante uma pequena taxa. Contacte-me pelo e-mail alexandre@tabalabs.com.br e posso realizar o serviço pra você.
Lista de componentes necessarios:
- SRAM de 512K. Eu uso a AS6C4008, tem na Farnell Brasil.
- Transistor 2N3906
- Diodo 1N4148
- Resistor de 10K x 1/8W
- Dois metros de fio de wire-up, preferencialmente 1 metro de cada cor ou varias cores (fio 30AWG, é um fio muuuuuuuuuuuuuuito fininho)
- Super Bonder
- (opcional) fita adesiva de kapton
Primeiro, vamos olhar o micro de cima :o)
Observe com cuidado cada detalhe da area onde você vai trabalhar. Se possivel, fotografe para você não esquecer. Retire a placa mae do gabinete, e vamos trabalhar apenas com ela na mesa.
Retire as duas DRAMs 4464. Dessolde com cuidado, ja que essa placa não é la grande coisa
Dobre para cima (com cuidado, porque são frageis) os pinos 1, 2, 3, 32, 31, 30, 29, 24, 22 da SRAM
A aparencia final é essa:
Vamos colocar esta memoria em cima do chip de ROM do computador, fazendo um "piggyback" (nome bonito para "gambiarra") e soldando os pinos que não estao levantados no chip de ROM
E os pinos que ficaram para cima, vamos soldar no Z80 e no S1985. Observem a foto abaixo:
Nessa foto temos os pinos ligados da seguinte forma:
Pino 24 da memoria (/OE) vai ligado ao pino 21 do Z80 (/RD)
Pino 29 da memoria (/WE) vai ligado ao pino 22 do Z80 (/WR)
Pino 22 da memoria (/CE) vai ligado ao pino 53 do S1985 (/SLT3-3.0) apos levantado da placa (mais sobre isso abaixo)
pino 32 da memoria (VCC) vai ligado ao +5 volts (na foto foi ligado ao pino 28 da ROM, que vai ligado ao +5 volts)
Essas são as conexoes que devemos fazer na parte de cima da placa. Agora as conexoes na parte de baixo
Sim, é isso que te espera :o)
Primeiro vamos alargar este furo. Ele estará coberto de solda, mas vamos usa-lo para passar os fios de wire-up
Teremos que fazer 5 soldinhas "from hell" nos pinos 3 a 7 do S1985. A foto diz tudo, não tem muito o que falar dessas soldas.
O pino mais de cima é o pino numero 1. Começamos as soldas a partir do pino 3. Na realidade deveriamos começar a partir do pino 7, que é o MA14. Mas fica um bocado mais facil você pre-cortar os fios, estanhar e soldar de cima para baixo, é a posição "menos incomoda" para tal.
Observe que você esta trabalhando com fios finissimos com um espaçamento absurdamente pequeno. Se você não tem pratica, não recomendo tentar faze-lo. Melhor morrer em algum dinheiro para alguem fazer DIREITO para você, do que ferrar seu MSX raro e caro. Todas as orientações aqui são precisas, porem assume-se que você tem pratica no manuseio do ferro de soldar.
Observe tambem que eu usei duas cores de fio (era o que tinha a mao, mal ae!) para diferenciar entre os pinos pares e impares. Isso facilita não apenas para descobrir um eventual defeito, como tambem deixa o serviço mais bonito. E sim, eu sou nacionalista, por isso usoverde e amarelo :)
Corte 5 pedaços de fio de aproximadamente 25 centimetros cada um, e solde da forma mostrada acima. O pino 7 (mais abaixo) é o MA18 e o pino 3 (mais acima) é o MA14. E solde na memoria da seguinte forma:
MA14 (pino mais abaixo na foto) no pino 3 da memoria
MA15 no pino 31 da memoria
MA16 no pino 2 da memoria
MA17 no pino 30 da memoria
MA18 (pino mais acima na foto) no pino 1 da memoria
Depois de soldar os fios no MSX Engine, use uma gota ou duas de super bonder para grudar os fios na placa. Não há problema algum em colocar a cola por cima das trilhas azuis (que são razoavelmente frageis e se eu fosse você ficava longe delas) mas recomendo colocar a cola na parte verde. Obvio que, antes disso, você se certificou que os fios estao soldados corretamente e não há nenhum curto entre eles, não é? :o)
Achou dificil? Sabe de nada, inocente :o) agora vamos a parte mais croca do trabalho!
Observe COM ATÉNÇÃO a foto abaixo:
O que eu fiz nessa foto foi levantar da placa o pino 53 do MSX Engine, colocar um pedacinho de fita de Kapton (porque ela aguenta alta temperatura, posso soldar em cima, etc), e soldar o fio que vai para o pino 22 da memoria. Observe que eu passei o fio por tras dos pinos soldados do MSX Engine. Isso porque o fio fica solto e pode quebrar o (finissimo, minusculo) pino. Ai babau. Você perdeu seu micro.
Apos essas soldas malditas, confira todas as ligações com aténção e ligue seu micro. Você deverá ver a seguinte tela (mas com 256K de memoria):
Se você viu essa linda tela de boot, mas com 256K, parabens! A pior parte ja passou :o) Isso significa que todas as ligações estao perfeitas, vamos pra proxima fase.
A LINHA MA18/KBDIR
O MSX Engine tem alguns pinos com funções duplas. Recomendo a você ler o data sheet (manual) do chip se quiser se aprofundar mais no assunto. Pra ficarmos na parte pratica, basta você saber que, no momento do reset, o pino X5 do teclado precisa estar em nivel baixo (GND) por 0.2 segundo. Senão, não habilita a linha MA18 e você so fica com 256K de RAM.
Há varios circuitos e varias "teorias" sobre isso na internet. O que mostro aqui não é "achismo", mas um circuito pensado e testado no mundo real, que sabidamente funciona e certificado por alguem que sabe o que está fazendo.
Vamos ligar um fio na linha X5 do teclado:
Eu até poderia ligar este fio direto no engine, mas é muito mais facil liga-lo aí. Estao vendo a bolinha pratéada dentro do quadrado preto? NUNCA ligue o fio ali. Ligue no pino que está dentro do quadrado vermelho. Você foi avisado :o)
Este fio, vamos conectar no seguinte circuitinho:
Este circuito é simples, mas FUNCIONA. Você pode monta-lo na "aranha" como eu fiz, sem necessidade de placa de circuito impresso. Monte-o dessa forma:
Nos vamos montar a gambiarra no pino mais a esquerda de Q1. Neste pino temos um pulso de 0,3 segundo indo a VCC. Raspe um pedacinho da PCB abaixo de Q1 para ligarmos o emissor do 2N3904
A foto é auto-explicativa. Solde o emissor do 2N3904 e deixe os outros pinos pra cima. Vamos soldar o resistor de 10K entre o pino mais a esquerda de Q1 e o pino do meio do 2N3904. E o pino mais a direita do 2N3904 vai ao "tracinho" do diodo que vai ao fio da linha X5
Viu?! Nem doeu :)
Visão geral de como fica a modificação por cima:
Com isso, você ja poderá bootar o micro e ver 512K de mapper na tela! :oD
Aproveitando que estamos com o micro aberto, dá pra trocar a batéria interna (que não vaza, mas ora pois...) da SRAM que vem com o micro. E que eu não conheço nenhuma utilidade pratica alem de guardar os Kanji mais usados para facilitar a entrada de dados.
Observe que eu soldei o negativo do soquete no capacitor a frente dele. Aquele jumper JW50 (ao lado do soquete) e o pino que eu usei o capacitor, ambos estao ligados ao GND da batéria. Fiz isso porque o suporte de batéria era maior que a furação original.
ARQUIVOS: