The Pixbox is a Beaglebone Black-based 2-player "arcade stick", embedding several emulators tuned for the project, and a custom-made launcher. The aim was to emulate up to the 16-bit generation of consoles. I ended up with the following systems being emulated:
- Arcade: with AdvanceMame. Not totally satisfying, a bit slow, but functional for several games
- Gameboy: with AdvanceMess, works great
- NES: with AdvanceMess, works great
- Game Gear: with AdvanceMess. Blue-ish picture, but fully functional
- Master System: with PicoDrive, works great
- Genesis/Megadrive, Sega CD/Mega CD: with PicoDrive, works great
- Super NES: with snes9x. Works fine on some games
- NeoGeo: with gngeo, works great
- Playstation: with Pcsx-rearmed, works great given the lack of hardware acceleration
- PCEngine: with Hu-Go!: Work in progress, but already playable!
I hope this blog will help save time for fellow developers working on Beaglebone, Raspberry Pi and other systems. I intend to share the steps I have taken, and how to make every piece work as intended, from adapting/compiling emulators to developing the controls - and more!
Here are a few photos of the final steps of the projects.
And a video I recorded to send a demo to friends. Do not expect many comments...
Here is a list of the steps I followed and tried to expose in this blog:
- An OS for my 'Bone
- A word on the file system
- Building the compiler and a few essential libraries
- Turning the Beaglebone Black into a joystick controller
- NeoGeo emulation: gngeo
- Megadrive/Genesis, Master System, MegaCD/SegaCD, 32x emulation: Picodrive
- Super NES emulation: snes9x-sdl
- Arcade emulation: AdvanceMame
- Playstation emulation: pcsx-rearmed
- Misc. emulation: AdvanceMess
- A custom launcher
- Misc. configuration
- PCEngine emulation: Hu-Go! [WIP]