Nova versão do emulador de Super Nintendo bsnes. Após vários meses sem acompanhar esse projeto fui até o site oficial em busca de informações para fazer a compilação desse emulador no Linux. Pois bem, varias melhorias em relação a última versão publicada no Site Emulação & Cia foram relatadas pelo desenvolvedor o projeto, com isso, atualizei a versão presente no Portal e também fiz um pequeno tutorial que explica como fazer a compilação do bsnes no Ubuntu.
Este emulador não faz uso de hacks em seu código, logo o requerimento mínimo para um resultado satisfatório é bem superior aos outros emuladores de Super Nintendo disponíveis no Portal Emulação & Cia.
Desta vez testamos vários jogos, entre eles:
- Chrono Trigger (USA)
- Donkey Kong Country (USA) (Rev B)
- Legend of Zelda, The - A Link to the Past (USA)
- Rock n' Roll Racing (USA) (Beta)
- Super Mario Kart (USA)
- Super Mario World 2 - Yoshi's Island (USA) (Rev A)
- Top Gear 2 (USA)
- Top Gear 3000 (USA)
No Windows, somente o jogo Super Mario World 2 - Yoshi's Island (USA) (REV A) não funcionou, todos os demais funcionaram a 60fps sem maiores problemas.
No Linux, o Super Mario World 2 também não funcionou e todos os demais apresentaram uma lentidão e falhas no som.
Como as máquinas usadas nesse teste são exatamente iguais, tenho duas teorias:
- Minha máquina Linux está com muita coisa instalada e também não está bem configurada.
- A compatibilidade do emulador seja realmente menor em ambiente Linux.
O interessante é que fiz a versão para Windows rodar a partir do Wine no Linux e o desempenho foi exatamente o mesmo da minha compilação para Linux.
Para a versão Windows pode acontecer de aparecer um erro pedindo pelo arquivo xinput1_3.dll. Para corrigir o problema basta instalar DirectX 9.0c run-time.
Como duas versão (0.044 e 0.045) vou listar as melhorias das duas versões (em inglês):
bsnes 0.045:
- Fix a crashing bug in S-DD1 games (Star Ocean, Street Fighter Alpha 2), and a video issue in games using the WAI instruction.
bsnes 0.044:
- 5a22 CPU core (bus-cycle accurate)
- Memory access timing
- SA-1 -> S-CPU interrupts (IRQ + CHDMA IRQ)
- S-CPU -> SA-1 interrupts (IRQ + Timer IRQ + DMA IRQ + NMI)
- SIV / SNV interrupt vector selection
- Timer unit (linear and H/V)
- Super MMC unit (ROM + BW-RAM)
- BS-X flash cart slot mapping
- Normal DMA
- Character-conversion 1 DMA (2bpp + 4bpp + 8bpp)
- Character-conversion 2 DMA (2bpp + 4bpp + 8bpp)
- BW-RAM virtual bitmap mode (2bpp + 4bpp)
- Arithmetic unit (multiplication + division + cumulative sum)
- Variable-length bit processing (fixed and auto increment)
Configuração Mínima:
- 2GHz Athlon 64 ou Core Solo
- 32MB RAM livre
- Windows port: Windows XP ou superior com DirectX 9.0c
Configuração recomendada:
- 2.4GHz Core 2 Duo
- 64MB RAM
- Placa de vídeo com suporte a Direct3D 9.0 ou OpenGL 2.0