BeagleSNES project

This is for people involved in the developement of Snes9x, or SNES emulators in general.
BUG REPORTS BELONG IN TECH SUPPORT/BUG TRACKING!
Post Reply
hendersa
Snes9x White Belt
Posts: 1
Joined: Mon May 20, 2013 3:28 pm

BeagleSNES project

Post by hendersa »

Hello all. I've been working on getting a modified version of SNES9X running on the BeagleBoard-xM and BeagleBone Black embedded hardware platforms. It began as a graduate course project for an embedded systems course in my PhD program, but I ended up releasing my work at the end of the term and am currently maintaining it.

http://www.beaglesnes.org

I release source tarballs of the kernel, bootloader, and emulator, as well as full-system pre-built disk images that can be dd'd onto a microSD card and put into your system to get up and running quickly. It has a simple front-end GUI that I wrote for it that allows you to use a USB gamepad to control everything. With the BeagleBone Black, you are even able to hook the board directly to your HDMI television for video and audio.

Most of the engineering work is in the patches to the Linux kernel and bootloader, as well as stripping down the OS environment, though I did make a few system-specific source code changes to the emulator (support for hotplugging of controllers, sync()-ing of SRAM saves to the file system, etc.) and a I reduced some of the slow-down by making a few changes where the profiler detected hotspots (making local variables static, using key variables "register" variables, etc.). I used the SNES9X-SDL port as a base, since the boards are Linux systems with the framebuffer as the video target and the stock SNES9X uses X for its Linux support. I found that titles like F-Zero would run at around 7-10 FPS with the base SNES9X code, but after my system and platform-specific emulator source code tuning it is running around 20-30 FPS for the same titles.

While the majority of the project is GPL code, the emulator component itself is still licensed under SNES9X's custom license, and this is addressed in both the project documentation and the license text files included within the source code. Anyway, this seemed like a place where I should announce a project like this, so here it is. Thanks, guys.

Image
Post Reply