ZX-BATTLE
COMPUTADOR ZX SPECTRUM
Emuladores
Jogos
Programação
Sites
Utilitários
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LINKS
 
Inicio Site
 
 

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.

zx

    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.

zx

     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






P
U
B
L
I
C
I
D
A
D
E
Copyright 2005-2023 ZX-Battle. Todos os direitos Reservados