COMPUTADOR
- ZX SPECTRUM
TUTORIAIS
"Como Ligar o ZX
Spectrum ao Raspberry PI3"
-
Parte 1 de 10 - Hardware
Necessário para o Projecto.- Ver
- Parte 2 de 10 -
Instalação do S.O. do
Raspberry PI3. - Ver
- Parte 3 de 10 -
Instalação de alguns
utilitários
necessários.- Ver
- Parte 4
de 10 -
Teste da Conexão entre Raspberry e ZX Spectrum.- Ver
- Parte 5
de 10 - Apresentação dos Programas utilizados no
Projecto.- Ver
- Parte 6
de 10 - Adaptação dos Programas para o ZX
Spectrum 128K.
Cá
estamos para mais um tutorial. Até agora falamos
só do ZX Spectrum 48k mas no nosso projecto
também podemos usar o Spectrum 128k, +2 e +3. Nestes modelos
o controle das portas RS232 é feito através do
chip de som. O chip AY-8912 possui 16 registos, 14 são
usados nas funções de gerador de som e os
restantes controlam 2 portas de Entrada/Saida de dados. Só
é usado 1 registo para controlar as portas RS232. Vejamos a
descrição dos registos do chip de som.
Reg.
Função
==============================================
0-1 Frequência Canal A
2-3 Frequência Canal B
4-5 Frequência Canal C
6 Frequência Gerador de Ruído
7 Mixer
8 Volume Canal A
9 Volume Canal B
10 Volume Canal C
11-12 Frequência da Envolvente dos canais
A,B,C
13 Tipo de Envolvente
14 Porta A (usada para controlar as Portas RS232 e
AUX)
15 Porta B (Sem uso, serve só para
memorizar 1 byte)
No nosso tutorial vamos usar só os registos 7 e
14 . O registo 7 é usado para ligar/desligar os
canais de
som e configurar as portas de dados A e B. Os bits quando
são colocados a "0" activam os canais
correspondentes.
Detalhes do
Registo 7
Bit Função
===============================================================
0 Liga/Desliga Canal de Som A
1 Liga/Desliga Canal de Som B
2 Liga/Desliga Canal de Som C
3 Liga/Desliga Canal de Ruido A
4 Liga/Desliga Canal de Ruido B
5 Liga/Desliga Canal de Ruido C
6 Seleciona modo da Porta A (0=Entrada, 1=Saida)
7 Seleciona modo da Porta B (0=Entrada, 1=Saida)
Sinais do Registo 14
Bit Direção Sinal
===============================================================
0 Saida TXD (AUX Pino 2)
1 Saida RTS (AUX Pino 4)
2 Saida RTS (RS232 Pino 5)
3 Saida TXD (RS232 Pino 3)
4 Entrada RXD (AUX Pino 3)
5 Entrada CTS (AUX Pino 5)
6 Entrada CTS (RS232 Pino 4)
7 Entrada RXD (RS232 Pino 2)
Todos os modelos do Spectrum 128K possuem 2 conectores Serial. No nosso
projecto vamos usar o conector RS232, observe a foto 6.1 para ter uma
ideia mais concreta sobre a sua localização.
O
cabo RS232 é composto por uma ficha BT631W (do lado do
Spectrum) e
uma
DB9 Macho (do lado do Raspberry). A ficha do ZX Spectrum é
muito
dificil de encontrar mas nós no nosso site vamos colocar
todos estes artigos para aquisição brevemente.
Para aqueles que quiserem fabricar o cabo aqui vai a
descrição das ligações.
ZX Spectrum
128k (BT631W)
Raspberry (DB9 Macho)
============================================================
Pino 1 GND <--------------------> Pino 5 GND
Pino 2 RXD <--------------------> Pino 2 TXD
Pino 3 TXD <--------------------> Pino 3 RXD
Veja a
figura 6.2 para identificar a posição dos pinos
das Fichas.
A comunicação com o chip de som é
feita através de 2 portos de dados. Usa-se o porto 65533
para selecionar o registo (0 a 15) que pretendemos aceder, esta
operação só é
necessária quando queremos mudar de registo.
O porto 65533 também é utilizado para
ler um registo. Para escrever os dados num registo temos que
utilizar o
porto 49149. Segue um exemplo na linguagem BASIC.
Ler um
Registo:
out 65533,7
print in 65533
Escrever num
Registo:
out 65533,7
out 49149,255
As alterações que foram feitas nos programas para
funcionarem no Spectrum 128K são mínimas. Foi
só necessário mudar algumas
instruções das
rotinas que controlam a porta RS232 pois os portos são
diferentes. Foram feitas também algumas
optimizações no código ASM para
conseguir atingir
a velocidade de 19200 bauds.
Está na hora de apagar as versões antigas e
copiar as novas. Seguem os links para fazer o download.
Programa
SOS48K (19200 Bauds) - download
Programa SOS128K (19200 Bauds) - download
Programa RPI3SERVER (19200 Bauds) - download
O modo de usar o programa nos modelos 128k é igual ao 48k.
Começamos por carregar o programa "sos128k-boot.tap"
através duma cassete, disquete ou outro meio qualquer. O
programa só tem 600 bytes de tamanho, por isso carrega muito
depressa, ficando logo o sistema pronto a usar. Podemos
escrever o
comando "dir" para ver os nomes dos Jogos/Programas que existem no
Raspberry, depois é só digitar o nome do
Jogo/Programa para executa-lo. Os jogos que
tinham sido adaptados para este sistema foram entretanto alterados para
suportar a velocidade de 19200 bauds, sendo necessário
descarrega-los novamente deste site. E terminamos por agora, fiquem
atentos ao próximo tutorial.
Até
à Próxima!
Anterior
Seguinte
|