ZsnexBox 3.0 Final

What's new:

-Reverted back to the old input polling code to hopefully fix the Xbox adapter issue one user was having
-Added an option to specify the screen refresh. Options are 
Vsync (recommended)
No Vsync 
Every other screen refresh
Every third screen refresh
Maybe this will result in more responsiveness for the users who were experiencing some input lag.
-Added an option to have the screen dim when resizing.


Extract and copy over to your Xbox hard drive. Run "default.xbe" to start.

If you want to run from the DVD, then you must edit the Path.ini to reflect where on your Xbox the needed directories are. They MUST exist on your Xbox (i.e. you must create them) or ZsnexBox will hang when it loads.


This is the final release of ZsnexBox. 

I'm sure many of you will be disappointed to read this, so I apologize. My new work is keeping me far from my personal PC, and I'm struggling to find time to work on this project anymore. I really can't see when I'm going to get time to add the last few features I talked about adding. So, I decided to release the source and make my final release. 

It's been a great run and it has (in my humble opinion) become the best SNES experience to be had anywhere (PC or console - including the Wii). It progressed into something far beyond anything I ever intended it to become. And in the end I brought the greatest SNES emulator to the greatest home console. I'm also really thankful for the chance to meet all the great people here at Xbox-Scene. 

It's truly a great community. A special thanks goes out to Xbox Scene, Xantium, Andrew_Roy, Diontae18, VampX, Xport, Carcharius (I didn't misspell it this time), Consoleman!, Hopefull, and neverwill (THE best skinner past or present in the Xbox scene). I'm sure I likely forgot someone, so thanks to everyone else.

To future developers:
This includes a full source code release. In my whirlwind of releases, I have had little time to clean up the code. So be warned, it is absolutely atrocious from a developers standpoint. Even experienced developers will likely have trouble making heads or tails of much of it. Meaningful variable names and comments are few and far between. So, I don't really recommend anyone picking up this project if they are not willing to suffer through the code for a LONG while. However, much of the code is VERY sophisticated and I'm very proud of it, but a lot of it is written with a speed/hack/get it done anyway I could mentality. Structure and organization are also elusive contents of the source tree. It's an absolute mess. I'm the first to admit it. It is also in a very delicate state and can be broken very easily.

The DSP1 code seems to break every other compile with no apparent reason. If you make a new build, load up Super Mario Kart and Pilot wings. Once the game starts make a save state (I do this on the title screen animations). Then load that save state. Repeat the loading of this savestate a few times repeatedly. If the game doesn't crash, you have a good build. Otherwise, rebuild it again. This seems to happen randomly (and recompiling often will fix it), but I always test this before I make a release. Tweaking the compiler settings is a really easy way to break DSP1 support. There is also a stack corruption issue that I never was able to solve (never had a debug Xbox). I have essentially hacked around it (by increasing the stack size) but it is still there. This project is NOT for the beginner or the timid. So any future developers who intend to pick up the project: good luck and I'm sorry =) 

This project pretty much consumed my life for 8 straight months. Thanks to all that contributed to ZsnexBox with code, answering posts on the forums, researching, testing, or just offered a "good job" in one of my threads. The support is the only reason I kept going. It was actually at a state I wanted it to be many months ago. I don't have any plans for any more ports. So with a lot of regret (and satisfaction over the end result), ZsnexBox has been officially retired. 

And to all the "would be porters": It's not nearly as hard as you might think. All it takes is the desire and dedication and you can port anything you want. ZsnexBox is living proof of that.