Um dos recursos ausentes nos micros da linha ZX81 mais sentidos pelos usuários é a geração de som. Embora seja possível gerar sons através da porta cassete do micro, não é possível sincronizá-los com a geração de imagem. Para suprir essa lacuna, foram lançados no exterior alguns geradores de som baseados no chip PSG AY-3-8912, entre eles o ZonX-81 da empresa inglesa Bi-Pak, na qual a Microdigital se baseou para lançar o seu próprio gerador de som, mantendo inclusive a compatibilidade. Mas uma coisa que não foi divulgada sobre o TK85 era que esse micro já vinha de fábrica com predisposição para receber o chip AY-3-8912, bastando então que se adquirisse os componentes necessários e os instalasse no micro para torná-lo apto a gerar sons complexos simultaneamente com a geração de imagem, como era o sonho de muitos usuários. Neste artigo, veremos então como instalar o AY-3-8912 internamente no TK85 e torná-lo apto a produzir os mesmos efeitos sonoros que um MSX, por exemplo.
Material necessário:
1 CI AY-3-8912, com o soquete de 28
pinos
1 CI 74LS00, com o soquete de 14 pinos
4 Diodos 1N4148
1 Resistor de 1K
1 Capacitor eletrolítico de 2.2uF
1 Plug P1 stereo fêmea
Fios finos para interligar
Solda, ferro de solda e sugador de solda.
Como fazer:
Depois de aberto o TK, localize os espaços onde
serão inseridos os novos componentes, eles estão
próximo ao modulador de vídeo e ao conector
esquerdo do teclado (veja foto abaixo). O 74LS00 será o IC27
e o AY será o IC29. Os diodos serão colocados ao
lado do cristal de clock (será necessário
levantá-lo, com cuidado).
Com a ajuda do ferro de solda e do sugador, desobstrua os furos para
inserção dos IC27, IC29 e dos diodos D6, D7, D8 e
D9. Abra também os furos para os componentes delimitados em
azul, laranja e vermelho na foto acima. Com os furos abertos, solde os
diodos(observe a polaridade) e os dois soquetes na placa. Em seguida,
insira os CI´s 74LS00 e o AY-3-8912 em seus respectivos
soquetes. Agora pegue o capacitor de 2.2uF e solde-o no lugar do C24
(dentro do retângulo azul na foto acima), com o polo positivo
voltado para cima, em direção ao modulador de
vídeo. O resistor de 1K, por sua vez, deve ser soldado no
espaço delimitado de vermelho. Então,
pegue um pequeno pedaço de fio e solde nos dois furos dentro
do retângulo laranja, unindo-os eletricamente; este fio
irá fazer o jumper das saídas do AY-3-8912 com o
resistor e com o capacitor recém instalados. O resultado
ficará como mostrado na foto a seguir:
O
pólo negativo do nosso capacitor está conectado
diretamente no ponto que seria o pino 3 do IC38, localizado no lado
direito da placa do TK85, abaixo do regulador de tensão e
próximo ao conector direito do teclado. Esse CI
provavelmente seria um LM386, mas ele não será
utilizado nessa montagem pois a conexão
será feita diretamente no plug de saída. Para
tanto, usando dois pedaços de fio de tamanho apropriado,
faça os dois jumpers indicados abaixo em amarelo, na foto da
esquerda. A foto da direita mostra os jumpers já prontos.
Feito isso, será
necessário ainda instalar o plug stereo, o que
deverá ser feito ao lado do plug de
alimentação do TK. Observe como foi montado o
plug da alimentação e faça do mesmo
modo com o plug do som. Na próxima foto, pode-se ver como
fica a montagem final.
Uma última alteração a ser feita
será abrir a janela para a saída de som no
gabinete do TK, sendo que o resultado final vai depender da
perícia manual e das ferramentas usadas. No meu caso, usei
uma furadeira elétrica e um estilete e (como era de se
esperar) o resultado não ficou perfeito, mas cumpre com o
seu objetivo:
Finalizada a montagem, é hora de fechar o micro e
começar a fazer uns barulhinhos. Como o BASIC do TK
não dispõe das instruções
IN/OUT ou do comando SOUND, é necessário fazer
uso da linguagem de máquina para poder programar o PSG.
Portanto, vamos implementar uma rotina que simula o comando SOUND:
sound:
rst
20h
;coleta o próximo caracter
call
$0d92
;interpreta uma expressão classe-6 (registrador AY)
rst
20h
;coleta o próximo caracter
call
$0d92
;interpreta uma expressão classe-6 (registrador AY)
call
$0bf5
;rotina stack-to-bc(registrador AY em C, dado em B)
ld a,c
out
($df),a
;seleciona o
registrador do PSG
ld a,b
out
($0f),a
;envia dado
para o registrador do PSG
rst
18h
;coleta o caracter corrente
cp
$1a
;checa por mais parâmetros
jr z,sound
ld
sp,($4002) ;retorna
ao BASIC, sem
executar a rotina do PRINT
ret
Obs.: Aqueles que quiserem uma saída stereo ACB, podem
montar o circuito proposto abaixo. Nesse caso, os pinos A, B e C do
AY-3-8912 deverão ser desconectados do soquete e ligados
diretamente aos pontos ABC do circuito, e os pontos R, L e GND
deverão ser ligados nos locais indicados na foto abaixo.
Neste caso, tornam-se desnecessários o capacitor e o
resistor da montagem acima, bem como os jumpers descritos.