ZSNES on 360 via XNA

Strictly for discussing ZSNES development and for submitting code. You can also join us on IRC at irc.freenode.net in #zsnes.
Please, no requests here.

Moderator: ZSNES Mods

Post Reply
rapterj
New Member
Posts: 4
Joined: Sun Mar 11, 2012 11:39 am
Location: City of Rapture
Contact:

ZSNES on 360 via XNA

Post by rapterj »

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!
I am the Patron Saint of Lost Words and Forgotten Memories.
rapterj
New Member
Posts: 4
Joined: Sun Mar 11, 2012 11:39 am
Location: City of Rapture
Contact:

Re: ZSNES on 360 via XNA

Post by rapterj »

Oh yeah - I'll also be posting my progress on here...
I am the Patron Saint of Lost Words and Forgotten Memories.
odditude
Official tech support dood
Posts: 2106
Joined: Wed Jan 25, 2006 7:57 am

Re: ZSNES on 360 via XNA

Post by odditude »

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).
Why yes, my shift key *IS* broken.
rapterj
New Member
Posts: 4
Joined: Sun Mar 11, 2012 11:39 am
Location: City of Rapture
Contact:

Re: ZSNES on 360 via XNA

Post by rapterj »

odditude wrote:unless you're intimately familiar with x86 ASM, i'd use a different emulator as your starting point (like snes9x).


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.
I am the Patron Saint of Lost Words and Forgotten Memories.
odditude
Official tech support dood
Posts: 2106
Joined: Wed Jan 25, 2006 7:57 am

Re: ZSNES on 360 via XNA

Post by odditude »

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.
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: ZSNES on 360 via XNA

Post by Gil_Hamilton »

rapterj wrote:... Even more promising is that I think the WP7 might actually be capable of handling the ZSNES engine as well...

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.
Squall_Leonhart wrote:
You have your 2s, 4s, 8s, 16s, 32s, 64s, and 128s(crash course in binary counting!). But no 1s.
DirectInput represents all bits, not just powers of 2 in an axis.


KHDownloads
grinvader
ZSNES Shake Shake Prinny
Posts: 5626
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Re: ZSNES on 360 via XNA

Post by grinvader »

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...
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)

Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
rapterj
New Member
Posts: 4
Joined: Sun Mar 11, 2012 11:39 am
Location: City of Rapture
Contact:

Re: ZSNES on 360 via XNA

Post by rapterj »

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...


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.
I am the Patron Saint of Lost Words and Forgotten Memories.
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: ZSNES on 360 via XNA

Post by Gil_Hamilton »

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).
Squall_Leonhart wrote:
You have your 2s, 4s, 8s, 16s, 32s, 64s, and 128s(crash course in binary counting!). But no 1s.
DirectInput represents all bits, not just powers of 2 in an axis.


KHDownloads
Post Reply