Linguagem do ano: BASIC |
Recordando, montei em protoboard um computador minimalista (do ponto de quantidade de chips) baseado no 6502. O projeto usado é de Grant Searle, as modificações foram apenas acrescentar um circuito de reset e usar uma ROM 27E512 no lugar da 27128, como descrito na primeira parte.
Nesta segunda parte acrescentei a Ram (uma 62256 de 32K bytes) e a UART (6850). Na ROM eu gravei o BASIC preparado pelo Grant. Esta versão de BASIC utiliza a UART para comunicação com um terminal. Por enquanto estou usando um PC como terminal, mas pretendo testar algumas outras alternativas.
A UART recebe como clock a saída do oscilador principal (1.8432MHz), o que resulta em um baud rate de 115200 bps. Um adaptador TTL USB foi usado para ligar a UART ao PC, não são usados sinais de controle de fluxo.
A decodificação de endereços é bem simples:
- A 6850 possui três sinais de seleção (um deles negado), que são ligados aos sinais mais significativos de endereço (A15, A14 e A13). O resultado é que a UART fica nos endereços A000 e A001 (para ser mais preciso, os endereços são 101xxxxxS onde x não importa e S seleciona entre o registrador de dados (1) e os registradores de comando e status (0),
- A seleção da RAM é feita por A15, o que a coloca de 0000 a 7FFF (32K)
- A seleção da ROM é feita por um NAND de A15 e A14, ficando em C000 a FFFF (16K)
O vídeo abaixo mostra o computador funcionando.
Não estava nos planos mas acho que vou acabar montando em uma placa soldada (como fiz com o Cosmac ELF).
No ano que vem pretendo montar um outro computador baseado no 6502, uma réplica do KIM-1. Já tenho as peças, mas é um projeto mais trabalhoso.
Nenhum comentário:
Postar um comentário