Cars · Wiring

Mcu Readers

Todos os leitores de MCU descritos aqui tiram partido de uma falha de design dos MCUs OKI (e a falha de design está presente em todos os MCUs que vimos até à data).

Avançado

Adaptado de pgmfi.org wiki

Todos os leitores de MCU descritos aqui tiram partido de uma falha de design dos MCUs OKI (e essa falha de design está presente em todos os MCUs que vimos até à data). Os MCUs podem utilizar tanto a ROM interna como a ROM externa para armazenamento da memória de programa, e um sinal GND ou +5V no _EA (EA prime - normalmente tem uma linha sobre o EA) é utilizado para controlar se é selecionada a memória de programa interna ou externa. *Os MCUs OKI não fazem o Latch do estado do pino _EA no arranque - através de um truque engenhoso, a memória de código interna pode ser desmascarada após o MCU ter começado a executar código. Todos os dumpers de ROM que tiram partido desta falha funcionam assim:

  • Ligar manualmente um pino de I/O ao pino _EA do MCU. Utilizar um resistor pull-up/pull-down se necessário.
  • Utilizar uma ROM que seja maior do que a ROM interna do MCU. Garantir que todas as linhas de endereço estão ligadas conforme necessário.
  • Inicializar a porta série do MCU para comunicação com o PC
  • Saltar para cima da área de ROM mascarada (32k para 66207, 48k para 66507, ...)
  • Inverter o estado do _EA usando o pino de I/O
  • Entrar num ciclo de atraso (delay loop) suficientemente longo para permitir que a ROM interna seja novamente mascarada na memória
  • Copiar o conteúdo da ROM para fora através da porta série

Existem vários designs que foram testados:

Um leitor para outros chips exigiria o ajuste do encapsulamento físico da placa e do código para a velocidade do relógio (clock speed) e tamanho da ROM.

Créditos e fonte

Fonte Adaptado de Mcu Readers em pgmfi.org wiki. Licenciado sob CC BY-NC-SA 1.0.