MAME/MESS: Engenharia Reversa e Emulação de Dispositivos Digitais

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar

Email propondo a atividade

Eu dei uma palestra no FISL sobre emuladores (link do video no final desse email). Gostaria de dar a mesma palestra novamente no Garoa, talvez como uma atividade do Turing Clube, e quem sabe também em outros hackerspaces quando tivermos uma oportunidade de visita (por exemplo, na conferência TOSCONF do LHC). Essa palestra é resultado do trabalho que temos feito semanalmente nas Oficinas de Retroprogramação do Garoa (exceto no último mês e meio em que tive muito compromissos profissionais).

Segue um link para o vídeo da palestra sobre emulação de dispositivos digitais com MAME e MESS que dei no Fórum Internacional de Software Livre (FISL15), ontem, aqui em Porto Alegre.

http://hemingway.softwarelivre.org/fisl15/high/41d/sala41d-high-201405101601.ogv

happy hacking, Felipe "Juca" Sanches

Resumo da Atividade

Nesta palestra será apresentada uma visão geral da abordagem modular do código fonte dos sistemas MAME (Multiple Arcade Machine Emulator) e MESS (Multi Emulator Super System) de emulação de dispositivos eletrônicos digitais.

Serão também apresentadas técnicas de engenharia reversa úteis para a investigação e aprendizado a respeito do funcionamento de equipamentos, mesmo quando os designers do hardware não tenham colaborado formalmente com documentação técnica oficial.

Descrição detalhada

O projeto MAME (Multiple Arcade Machine Emulator), e posteriormente seu projeto irmão MESS (Multi Emulator Super System), nasceram com o propósito de documentar a história da eletrônica digital, por meio da emulação fiel dos circuitos digitais de placas-mãe de arcades, computadores, consoles de video-game, e diversos outros equipamentos.

Por meio do estudo do código-fonte desses projetos podemos entender melhor como esses dispositivos funcionam, e poder interagir com esses equipamentos mesmo depois de tornarem-se raros ou inacessíveis. Podemos também aprender mais sobre técnicas de projeto de hardware e de desenvolvimento de software embarcado, arquiteturas de computador, etc.

Por fim, as técnicas que precisamos dominar para o desenvolver novos emuladores com base no framework MAME/MESS, envolvem procedimentos de engenharia reversa que são também muito úteis no processo árduo de criação de soluções livres que substituam os firmwares proprietários utilizados nos mais diversos dispositivos do nosso cotidiano, ou no processo de port de sistemas operacionais para novas plataformas de hardware.

Nesse sentido, estes conhecimentos de engenharia reversa não são somente o meio para se conseguir matar as saudades dos jogos de video-game das décadas passadas, mas também ferramenta de reconquista da autonomia no uso de computadores de hoje em dia. Precisamos formar uma comunidade de hardware hackers habilidosos na prática de engenharia reversa, para que possamos solucionar os problemas de liberdade dos usuários denunciados por projetos como o Linux-Libre.