#BeagleSNES v0.5 has been released, and it incorporates much of the feedback and requests that have been coming in over the last six months. Among other things, support for many different game controllers (including the PS3 and X-Box controllers) has been added and ROMs, the system configuration, and the front-end GUI are now all easily modified and copied using your desktop PC. These files all live on a VFAT filesystem now, so popping the microSD card into your Windows PC will mount the partition and give you direct access to everything that you need automatically.
The front-end GUI is now set up using an XML-based configuration file. It is far more forgiving when setting up your game entries, and default information is filled in for many fields. The setup process is now far less error-prone and it is much quicker to get the system up and running to play your favorite #SNES games.
BBB experimenters will be happy to see that there is now a #Circuitco LCD3 display target for BeagleSNES! If you are interested in making a handheld gaming system, the documentation discusses a prototype that I put together as a proof-of-concept. The prototype is also shown in the trailer video.
Feel free to give BeagleSNES a try and send me some feedback. I have only my particular hardware to test with, so there is always a chance that someone out there has a problem that I don’t see here, but that I can quickly fix. Grab the newest copy of BeagleSNES via http://www.beaglesnes.org
BeagleSNES v0.5 Release Trailer - YouTube
I wonder if the base kernel of BeagleSNES could be incorporated with RetroArch for their massive stock of Emulator cores, or for mega fun, a BeagleBoy cape that could read original cartriges from all sorts of old systems. Would that either those be feasible without rewriting the architexture, or would there have to be BeagleNES, BeagleGenesis, and other spins as opposed to one big one?
The purpose of BeagleSNES has always been to serve as a reference platform for other projects that are interested in turning the BBB and BBxM platforms into a dedicated multimedia appliance. While it is an emulator, its main goal is to “figure out” the limitations of these hardware platforms and engineer solutions around those limitations that don’t hamper system performance. That way, other developers can see my solutions and work-arounds and spend their time writing software and designing systems, rather than fighting with bootloaders, kernels, and system libraries.
You could probably get more emulators working with BeagleSNES as a base, and I even included an XML tag to demarcate the SNES game titles in BeagleSNES’s games.xml file. But, before I integrate more emulators into the mix, there are still more technical issues that need to be ironed out. Because people enjoy the novelty of trying out old SNES titles, I get the benefit of having a wider base of users trying out the software and giving me feedback on what works and what doesn’t. This feedback helps me, students that I work with, and anyone that contacts me to talk about BeagleSNES, Android on the BBB, or any other projects that they are working on.
As for GPIO interfacing to cartridges, you’ll find that for most cartridges that you’ll need a line-level converter to 5V and a clock line to interface with them. Pulling data from the cartridge is going to be a tug-of-war between the circuitry on the cart and the logic within the emulator that emulates that circuitry. You’ll have to rework the emulator code a bit to get something like that working.