SuperGNESTM
SNES Emulator for Android Phones

Are we there yet?

October 6th, 2009

Okay so why is SuperGNES taking so long and why aren’t we there yet? First let me say sorry of the lack of insight into what’s been going on. It’s been a bit heck-it lately for different reasons but we want to ensure you that SuperGNES will get done … no matter what. We want to put out the highest quality and competitive product we possibly can. Unfortunately we don’t have a venture capitalist to fund development 24/7. It’s just us and the time we commit to making things happen. All that said SuperGNES is making great progress. We welcome you to join the Beta testers using the contact form to help us squash all the bugs.

On Screen Controls

August 31st, 2009

Using on screen controls Mario grabs the shell, jumps in the air and kicks the shell

After working hard to development on screen controls we finally found a control configuration that is easy to use and allows for precise game control. The newest screen only phones have been in desperate need of better controls as most games have been modeled around the hard keyboard. What we have created is a controller pad using on screen buttons, combined with the track ball or D-Pad for directional controls. For the track ball you simply scroll in the direction you want to go, press the ball in to continue your path of travel and release it to stop. When you want to super speed and jump hold the speed button down and then slide your thumb down to the jump button to press both buttons at the same time. Theses controls have proven to be quite effective in kicking some koopa shell and we hope to add some more controller skins in the future. Checkout the in-game screen shot using the new touch controls.

Beta Progress

August 13th, 2009

Since we released the Beta of SuperGNES we’ve gotten great feedback and help from the SuperGNES Beta testers. We’ve been able to cut our testing cycles down, quality has gone up, speed has increased and we’re very happy to say that a majority of the SNES titles are now fully playable. We are also very happy with the quality of the sound as it is right on par with the original SNES. There is still a little bit of lag it but we are certain it will go away once we put some more APU optimizations in. Special chips for the Mega Man X series are working. For those with Android Generation 2 phones, not to worry we are saving the best for last and are working on on-screen controls unlike any other emulators for Android.

Full Disclosure

July 31st, 2009


It’s game day and time to get the testing on with SuperGNES. However first we need to go over what’s working and what’s still a work in progress. Right now SuperGNES is not a finished product and needs some more love. So lets start with what IS working.

  • CPU and APU Cores
  • Keyboard Controls
  • Game Scanner with cover art
  • DSP1-4
  • Sound. It’s really slow right now but everything is rendering correct.

Here is what isn’t working yet or not available.

  • SA1, SuperFX, C4
  • Screen Controls (just ran out of time on this one)
  • Certain games are crashing an exhibit graphical glitches

And here is what will not be enabled for the beta.

  • Save State (Well technically you can save but just you can’t load)
  • Save / Load SRAM or battery backup

We are working on a release candidate right now and will email everyone today as soon as we get it together.

Public Beta

July 28th, 2009

We are announcing a public beta of SuperGNES to everyone who has signed up for updates and is interested in participating. The beta will be available in a few days for everyone who has signed up on the contact page. We will send out an email with a download location on our website to install SuperGNES on your phone. This will allow everyone to get a preview of SuperGNES, squash any remaining bugs and get feedback on enhancements for a final release.

New Core, again

July 14th, 2009

Sorry it’s taken so long to put out a new post as we’ve been buried in massive code. We’ve yet again had to do major changes to SuperGNES and we wanted to make sure we got it right for you. We’ve created a new CPU core from scratch in ARM assembly that is very fast and also quite accurate. This is not the same regurgitated and hacked up GP2X code that everyone else has used. We expect a 100% CPU compatibility for all games. Also we designed the new core to support the SA1 chip. The C++ CPU core just wasn’t doing enough so we had to code it in ARM assembly. However we have retained the C++ core so we can easily compile for Intel Android mini-notebooks whenever they are available. We are running our regression tests now to make sure the new CPU integrates with everything correctly. We are determined to make the perfect SNES emulator for Android.

Game Genie Database

June 29th, 2009

In designing SuperGNES we wanted to elevate the expected emulator standards and make a very fun and easy experience for you the gamer. Game Genie codes add new possibilities and make game play easier for the sometimes different phone controls. Also it’s a pain to find codes and enter them one by one in the middle of your game. That’s why we put together a Game Genie code database that is instantly available while playing your game. Just check the codes you want to use. We’ve painstakingly compiled a database for your favorite titles with 4,010 Game Genie codes currently. This database will grow as we get more entires from you.

Schedule, Performance or Quality, pick 2 of 3

June 21st, 2009

30 days until the space station explodes
The SuperGNES release is being pushed from June to July out of the main necessity of quality. With the changes we’ve had to make for our performance numbers, at this point we wouldn’t be doing anyone a favour by rushing to release. Anyway, this will allow us to put out a distinct and high quality product. Like the title of the blog says Schedule, Performance or Quality, pick two. We picked Performance and Quality so the Schedule will have to slide.

Okay now that’s over here is the good news. Sound is working great! We love some of the tunes the SNES games pumped out and it’s awesome to hear them working fully on SuperGNES.

Under the gun

June 15th, 2009

So the end of June is coming up about as fast as we are writing code. We are regression testing the new CPU and APU cores and adding more speed tweaks. Configurable controls and selectable screen sizes are done. Also the graphics engine is getting what I will call for now some “special sauce”. Unfortunately we still are not at our target FPS but this new graphics enhancement should put the graphics performance problems to bed perminately. We’ve been getting alot of great feed back from everyone for new product features and we can’t wait to start cracking on them after to get through this performance cycle.

Chipping away at the bottle necks

June 4th, 2009

The ARM CPU (in which most mobile devices run on) is a very interesting processor to optimize for. Your typical Intel chip has few registers, tons of MHz and a fatty L2 and L3 memory cache. ARM is different. It’s RISC based, has 16 registers and has a small CPU cache (which the Linux kernel hogs :( ). The lack of cache makes you code differently. You instead need to get as much work done as possible within those 16 registers before you have to read or write to memory. This can make a big difference in speed. In C++ terms this means local variables and constants are your friends. Using the output to assembly code option on gcc has revealed how certain routines of ours are killing the memory bus. On Intel taxing the memory bus is not a problem because the L2 cache is so fast. However for ARM we’ve took the small cache to mind and refactored our code to be more memory IO efficient and that so far it has increased our performance. More FPS improvement news will follow soon.

For more optimization info check out Writing Efficient C and C Code Optimization.