Friends

Open source incubator extraordinaire

Get your game on
ZSNES

I've always been interested in software-based hardware emulators. Now that desktop PCs are powerful enough to emulate low-end hardware at full speed, the possibilities of emulation are expanding. Plus, you learn a ton when you have to implement an entire set of opcodes in software. You can start to get a good appreciation for what all those computer engineers do for a living.

ZSNES is a GUI and emulator core that provides excellent emulation of the 65c816 CPU and SPC700 sound chipset found within the Super Nintendo video game console. Using ZSNES, you can play SNES games right on your desktop. In fact, the adventurous people in the crowd can even use a real SNES gamepad to play the emulated software.

When it was announced that ZSNES was going to become open source software, I contacted the authors of the software to discuss some details of the codebase. They explained to me that the majority of the code was assembly and that the asm assumed that a linear frame buffer was going to be the target of the rendering output. So, we discussed a few different ways of leveraging the DOS and Win32 ZSNES ports for the Linux porting effort.

I did the initial pass through the ZSNES codebase and ported the DirectX portions of the Win32 port to Linux by using the SDL library. Once that was done, I stepped back and watched a few other volunteers complete the porting process. I haven't touched it since then other than to help troubleshoot some input problems.

Video mode emulation tweaks Custom input key mapping Everyone loves Mario Kart

You can see more information on ZSNES here:

  • ZSNES's main web site (I am the "Prometheus" fellow listed under the Contributors section)
  • ZSNES at the Linux Game Tome



  • All materials copyright 1997-2009 by Andrew Henderson. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later.