65C02 Plus ATmega4809 é igual ao VR65C02 de Colin Maykish, um computador funcional de dois chips



65C02 Plus ATmega4809 é igual ao VR65C02 de Colin Maykish, um computador funcional de dois chips

O experimento de fim de semana de Colin Maykish resultou em um computador de dois chips e oito bits, o VR65C02. Esta construção mínima apresenta um microprocessador 65C02 actual e um microcontrolador AVR ATmega4809 de oito bits (MCU). O 65C02 é a CPU do computador, executando código nativo 6502, enquanto o AVR emula efetivamente a RAM, ROM e dispositivos de E/S do computador.

O Microchip ATmega4809 é o mesmo AVR MCU usado no atualizado Arduino Nano Cada. O processador megaAVR tem 6 kilobytes de RAM, 48 kilobytes de Flash e até 31 GPIOs dedicados na variante DIP de 40 pinos.

Construir código para rodar no VR65C02 é simples. O primeiro passo é montar ou compilar o código 65C02 em um arquivo binário. Maykish fornece um script Python que converte o binário em um arquivo C-header que um esboço Arduino usa para compilar e carregar código para o AVR.

O ATmega4809 emula RAM, ROM e os sinais de controle de barramento do 65C02. A RAM e a ROM são essencialmente grandes matrizes nos 6 KB de RAM do 4809. Um esboço do Arduino simula todos os ciclos de barramento usados ​​pelo 65C02 físico. Dois dos pinos GPIO do AVR fornecem uma UART pass-through, e quatro pinos são acessíveis pelo 65C02.

Emular dispositivos como RAM e ROM no microcontrolador de oito bits de 20 MHz vem com algumas compensações. A mais notável é a velocidade máxima do clock do 65C02. A CPU emite duas cópias do seu clock. Usando uma dessas cópias, PHI2, Maykish mediu uma velocidade efetiva do clock de 183 kHz.

Olhando para o futuro, há possibilidades de aprimorar o VR65C02. Por exemplo, redirecionar alguns GPIOs do ATmega4809 para funcionar como seletores de chip poderia permitir que o 65C02 transferisse dados para uma RAM externa, aumentando a velocidade do clock do computador. Outra opção intrigante é construir um computador baseado na variante QFP de 48 pinos do ATmega4809. No entanto, uma das razões pelas quais Maykish selecionou este MCU é a simplicidade de construir o {hardware} com um DIP de 40 pinos!

O script de construção, o esboço do Arduino e o utilitário Python estão disponíveis no Repositório GitHub VR65C02. Esse repositório também contém um excelente artigo detalhando a interação entre o AVR e o 65C02. Informações adicionais estão disponíveis neste página do projeto.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *