Snes9x-GX 2.0

Nintendo GameCube port of Snes9x 1.50
softdev[at]tehskeen.com July 2006

Snes9x-GX 2.0 WIP 4

* SDD1 decoding enabled. (Star Ocean)

* SMB Time out detection. (Windows XP Home)


Snes9x-GX 2.0 WIP 3

* SDCard Load ROM


Snes9x-GX 2.0 WIP 2

* DVD ROM Loading

* SMB ROM Loading

* SMB SRAM Save / Load

* Memory Card SRAM Save / Load


Snes9x-GX 2.0 WIP 1

Wow! After 18 months of development the new 1.50 release is available! On first inspection, the graphics look better, the sound is fuller, and even more games have been fixed.

However, it's not all good news. To enable all the new features also means more grunt power required, which sadly, the good old GameCube has issues with - but hey - lots of games still play fullspeed!

Now on to the port. A lot of things have changes since 1.43, so much so, that 1.50 contains very little code from it's predecessor. This is good news in that I can incorporate a lot of new methods I've come across while doing other ports. For example, the rendering comes straight from Genesis Plus Project, so you may well be familiar with it already :)

Development Notes

This is a collection of development notes, which may help you out in some way

What you need to compile

As usual, this is developed with devkitPPC and libOGC. You'll need the LWP patches, which are included in the latest CVS of libOGC. To maximise flexibility with the on screen fonts, I've used libfreetype 2.2.1 as the renderer. You can pretty much use any TrueType, Mac, PostScript or BDF font, in any size or orientation. WARNING The fonts in your Windows directory are copyright protected, so don't use them! Go to typenow for patent free public domain fonts.

I'll post a pre-compiled version of libfreetype for libOGC on tehskeen to get you up and compiling.

You will need zlib 1.2.3 to get zip file support

Ok, now on to the compilation ...

tile.cpp takes forever to compile! - Is my setup f*!ked?

In short, no. For whatever reason, DevkitPPC likes to munch on this file for a while. Leave it compiling and all will be well.

Ok, the Gods were with me and I got it compiled ... How do I test it?

Starting with this port, I've settled on a single interface for loading ROMs. Snes9x will expect any ROM to be found in ARAM:AR_SNESROM. This makes it much simpler to add file system support. The only downside is that we will only be able to 'append' ROMs up to 4 Mbytes in size, for those who don't use SD, DVD or Network ROM loading. The huge benefit is that the GC main RAM remains free for our use, and the intial 'non-appended' dol remains small enough to be used as is from a gc-linux boot disc

An appended ROM is simply copied from it's load point into ARAM when InitGCVideo is called.

For now, you can use the utility provided in source/pcutil.

Hey - I can't run Star Ocean anymore!

As there only two supported SDD1 games, Star Ocean and Street Fighter Alpha, these are considered low priority. That doesn't mean that they won't be back in a future WIP.

Can I save my SRAM as before?

Not with this WIP! - It is a high-priority for WIP2.

Can I load from DVD?

Not with this WIP! - It is a high-priority for WIP2.

Can I use Zip files?

Again not with this WIP! - It is a high-priority for WIP2.

Contributing

If you wish to help getting a function included, please mail me softdev[at]tehskeen.com. Any assistance with SDCard, SMB etc would be appreciated.

If you are not a developer, but can help us with graphics, icons etc, again, mail me.


SRAM Saving

The format for controls has changed quite dramatically in Snes9x 1.50. You should be aware that Snes9x-GX 2.0 will NOT be backwards compatible.


Enjoy and have fun! - See you again for WIP 2 - REAL SOON!