Open affonsoamendola opened 6 years ago
Emulador tem diversos chamados para endereços não mapeados, como D550h, e chama uma função de um lugar onde não existe nada
Eu estou escrevendo um rascunho de driver de emulação para o 2600 neste branch do meu fork do MAME: https://github.com/felipesanches/mame/commits/nexus2600
Algumas pequenas PROMs da placa-mãe ainda não foram dumpadas. Elas parecem conter o mapas de memória da CPU, gerando os sinais de chip-select para os diversos chips da placa. Extrair o conteúdo dessas PROMs vai ajudar a entender melhor o layout de memória.
As PROMzinhas da placa mãe foram dumpadas usando a solução com arduino, agora precisamos entender o conteúdo delas e como isso pode ajudar em fazer o emulador bootar direito
Usando um multímetro em modo teste de continuidade, tente mapear de onde vêm os sinais que endereçam essas PROMs. E também Para onde vão os sinais de dados delas. Suspeito que os sinais de endereçamento das PROMs venham do próprio barramento de endereços da CPU e que os 8 sinais de dados de cada PROM estejam ligados a pinos de chip-select de vários dos chips principais usados nesse computador como a UART, o controlador de DMA, a PPI, o controlador de interrupções, etc...
Vou dar uma zoiada amanhã, mas n garanto nada, o multimetro que ta la no museu ta uma DESGRAÇA, eu acho que precisa trocar a bateria, vou levar uma 9v que eu tenho aqui e ver se melhora
O @affonsoamendola conseguiu extrair uma imagem de disco do HD do Nexus recentemente. E consegui bootar num driver genérico do MAME.
Um próximo passo pode ser rodar um dos programas que existe nessa imagem de disco que aforma "funcionar apenas no Nexus". Esse programa deve travar o emulador e, a partir daí, podemos inspecionar o assembly e descobrir quais são algumas diferenças do hardware. Com isso dá pra criar um driver derivado com a emulação das especificidades do Nexus 2600.
Usando as ROMS da placa mãe e o emulador de XT ja presente