Call me crazy, but for some reason I felt like a challenge.
So my plan is this: I'm going to cannibalize the XNA compliant pieces of SharpNES (the POC NES emulator for XNA dev kit - its a little out of date, but for the most part, they got an initial framework right, just needs a solid update and good tuning) and mesh what I can from ZSNES src files to build a functional emulator with the latest dev kits from XNA in VS 2010. Ideally, one solid-built set of code would be releasable on Windows, Xbox 360 (for those of us with dev-linked 360's), and the WP7.5 (Again for those of us with dev-linked Windows phones). Now because MS got its act together with audio and DirectX in the latest XNA SDK releases (as well as multithreading and backgrounding tasks in the WP7), this effort shouldn't be too out of reach. Even more promising is that I think the WP7 might actually be capable of handling the ZSNES engine as well, as long as I can cut cut out a significant portion of the frontend. Now, all that being said, I'm a long way from a solid product (or a short way, really depends on how much mountain dew and sleep my body needs) and right now, as I lay everything out in front of me, I was wondering if anyone had attempted such a stupid feat before, because ideally, I'd like to not re-invent as much of the wheel as humanly possible.
Otherwise, wish me luck and feel free to drop me any tips or pointers!
ZSNES on 360 via XNA
Moderator: ZSNES Mods
ZSNES on 360 via XNA
I am the Patron Saint of Lost Words and Forgotten Memories.
Re: ZSNES on 360 via XNA
Oh yeah - I'll also be posting my progress on here...
I am the Patron Saint of Lost Words and Forgotten Memories.
Re: ZSNES on 360 via XNA
unless you're intimately familiar with x86 ASM, i'd use a different emulator as your starting point (like snes9x).
if you ARE intimately familiar with x86, and can make solid headway with the code, i'd recommend volunteering towards zsnes 2.0 (assuming the devs are looking for outside input).
if you ARE intimately familiar with x86, and can make solid headway with the code, i'd recommend volunteering towards zsnes 2.0 (assuming the devs are looking for outside input).
Why yes, my shift key *IS* broken.
Re: ZSNES on 360 via XNA
Well, I am familiar. Maybe not as intimately as I would like, but enough to trudge through it. my query would be how good of an emulation engine is snes9x, tho? I started with zsnes simply because its a VERY stable emulation engine, and I think they've got the cpu, video, and audio emulation pretty solid.odditude wrote:unless you're intimately familiar with x86 ASM, i'd use a different emulator as your starting point (like snes9x).
I am the Patron Saint of Lost Words and Forgotten Memories.
Re: ZSNES on 360 via XNA
it's significantly better than zsnes 1.51 in terms of accuracy and compatibility. i've never had application stability issues with either program, so i can't comment if that's the kind of stability you're referring to.
Why yes, my shift key *IS* broken.
-
- Buzzkill Gil
- Posts: 4295
- Joined: Wed Jan 12, 2005 7:14 pm
Re: ZSNES on 360 via XNA
Windows Phone standards explicitly specify ARM CPUs. A WinPhone device is as incapable of handling ZSNES as it is possible to be while still being a digital computer.rapterj wrote:... Even more promising is that I think the WP7 might actually be capable of handling the ZSNES engine as well...
KHDownloadsSquall_Leonhart wrote:DirectInput represents all bits, not just powers of 2 in an axis.You have your 2s, 4s, 8s, 16s, 32s, 64s, and 128s(crash course in binary counting!). But no 1s.
-
- ZSNES Shake Shake Prinny
- Posts: 5632
- Joined: Wed Jul 28, 2004 4:15 pm
- Location: PAL50, dood !
Re: ZSNES on 360 via XNA
You're a fair bit optimistic about the quality of the currently released zsnes, dood.
Not that there's anything wrong with a crazy project...
Not that there's anything wrong with a crazy project...
皆黙って俺について来い!!
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Code: Select all
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Re: ZSNES on 360 via XNA
Yeah I did say I felt like a challenge. And optimism is necessary for insane little projects like this. And just because someone said it was "impossible" for the Windows Phone to run ZSNES, I am now that much more determined to make that actually happen. Using a hybrid of an older NES emulator and an old PoC SharpNES, I've already got NES games to load and run successfully on X360 and WP7. Right now I'm adding in a selection screen for running multiple ROMs within the same emulator, then the real work begins.grinvader wrote:You're a fair bit optimistic about the quality of the currently released zsnes, dood.
Not that there's anything wrong with a crazy project...
I am the Patron Saint of Lost Words and Forgotten Memories.
-
- Buzzkill Gil
- Posts: 4295
- Joined: Wed Jan 12, 2005 7:14 pm
Re: ZSNES on 360 via XNA
Because god forbid I actually know what a program being written in x86 assembly MEANS.
For ZSNES to run on a Windows Phone's ARM CPU(or a 360's PowerPC CPU) would require a COMPLETE rewrite. The codebase as it exists now is fundamentally and inextricably linked to Intel CPUs. It WILL NOT run on anything else.
You have probably cobbled C-based emulators together with your mad cut&paste skills. That is a fundamentally different issue, as the C family of languages designed to be at least semi-portable and NOT directly linked to a specific CPU architecture.
And once you've rewritten the entire thing, it's not ZSNES anymore. Your rewrite won't even be ZSNES 2.0.
It will be a completely new emulator that uses ZSNES for documentation purposes only(and there's better documentation available).
For ZSNES to run on a Windows Phone's ARM CPU(or a 360's PowerPC CPU) would require a COMPLETE rewrite. The codebase as it exists now is fundamentally and inextricably linked to Intel CPUs. It WILL NOT run on anything else.
You have probably cobbled C-based emulators together with your mad cut&paste skills. That is a fundamentally different issue, as the C family of languages designed to be at least semi-portable and NOT directly linked to a specific CPU architecture.
And once you've rewritten the entire thing, it's not ZSNES anymore. Your rewrite won't even be ZSNES 2.0.
It will be a completely new emulator that uses ZSNES for documentation purposes only(and there's better documentation available).
KHDownloadsSquall_Leonhart wrote:DirectInput represents all bits, not just powers of 2 in an axis.You have your 2s, 4s, 8s, 16s, 32s, 64s, and 128s(crash course in binary counting!). But no 1s.