A beleza do circuito está na simplicidade: temos o 6502, um oscilador a cristal usando inversores, uma RAM, uma ROM, uma UART e uma decodificação dos sinais de controle feita com portas NAND. Trabalhando a 1.8MHz e ligando a UART a um conversor serial USB, precisamos de apenas seis integrados! O resultado final será um computador rodando BASIC com entrada e saída serial. Obs: veja o circuito na página do Grant.
Apesar de toda a simplicidade, a minha ansiedade é muito alta e resolvi procurar uma forma de fazer algo visível com apenas parte do circuito montado. Vamos deixar pelo menos um crítico bravo e piscar um LED!
Nesta parte 1 a montagem fica restrita a oscilador, 6502, Rom e decodificação dos sinais de controle. Eu resolvi viver perigosamente e trocar os 74LS por 74HC apesar de já ter lido recomendações em contrário. O write da Ram é usado como clock para um flip-flop, de forma que cada escrita em memória fará o LED mudar de estado:
Como não tinha a mão uma 27128 (EPROM de 16KBytes), usei uma 27E512 (EEPROM de 64KBytes, fixando as duas linhas de endereço adicionais em zero). Tive problemas com o reset ao ligar: o circuito do Searle usa apenas um resistor de 2K2 para Vcc e um interruptor para terra. Para alongar o reset, troquei o resistor por um de 100K e coloquei um capacitor de 1uF para terra. Um diodo em paralelo ao resistor cuida de descarregar o capacitor quando a fonte é desligada:
Agora é só escrever um programa assembler que faz uma escrita de temos em tempos, tomando o cuidado de usar somente os registradores pois não temos RAM:
C000 INICIO: C000 LDX #$00 A2 00 C002 LOPX: C002 LDY #$00 A0 00 2 C004 LOPY: C004 DEY 88 C005 BNE LOPY D0 FD C007 DEX CA C008 BNE LOPX D0 F8 C00A STA $0000 8D 00 00 C00D JMP INICIO 4C 00 C0E temos um LED piscando:
Na segunda parte vamos ver o circuito completo funcionando.
Nenhum comentário:
Postar um comentário