sábado, 30 de maio de 2020

Aventuras com Z80 - capítulo 0x2

Aventuras com o processador preferido da galera ;) o Ze oitenta! 

Depois de um longo e tenebroso inverno foi possivel retomar este negocio. Bom o que fiz agora? Utilizei como base o site https://maker.pro/pic/projects/z80-computer-project-part-1-the-cpu que avanca um pouco mais no que havia feio na parte 1. E o que foi feito? Primeiro montei este circuito abaixo (disponivel no mesmo site ja mencionado):


Tive uma dificuldade com o circuito de clock proposto. Para contornar isto,  utilizei um Arduino como gerador de clock, para poder variar a frequencia a meu gosto. Percebi que com frequencias muito baixas ( <3 Hz) o processador nao se comportava como eu esperava, por isto defini a frequencia em torno de 3,5 Hz (a saber, utilizei a funcao de pisca led do arduino, com o periodo de 300 ms, 150 ms on e 150 ms off = 3,33 Hz) e assim ele passou a se comportar. Com esta frequencia e possivel visualizar o que ocorre com os pinos que vamos observar. 


Para facilitar fiz a mao este desenho abaixo que explica a funcao de cada led (o led esta conectado ao respectivo pino do Z80, cada um com um resistor de 1k para limitar a corrente)


Inicialmente alimentei o circuito com clock e o Vcc, os dip switches todos desligados. Pressionei o reset, o que ocorreu?
- Os pinos de enderecamento (A0 a A3) foram todos para 0.
- Os demais todos foram para 5 V.

Soltando o reset M1 vai para 0, indicando que o processador ira buscar alguma instrucao na RAM (que nao ha, ele esta recebendo 0x00 (instrucao nop - no operation).

Ainda vou completar...


Blá blá blá 







domingo, 17 de maio de 2020