ArqueologiaDigital / EmuHC

Planejamento para as atividades de "Emulação e História da Computação"
0 stars 0 forks source link

Emulação do Scopus Nexus 2600 no MAME (clone brasileiro de IBM PC XT) #2

Open affonsoamendola opened 6 years ago

affonsoamendola commented 6 years ago

Usando as ROMS da placa mãe e o emulador de XT ja presente

affonsoamendola commented 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

felipesanches commented 6 years ago

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

felipesanches commented 6 years ago

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.

affonsoamendola commented 6 years ago

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

felipesanches commented 6 years ago

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...

affonsoamendola commented 6 years ago

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

felipesanches commented 6 years ago

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.