madmab
Apr 19 2011, 12:32 AM
Ok I've updated to the 1.53 core.. here is the current changes (outside of the fixes that come with the core change)..
*** important note *** - Old savestates do not work anymore.. Sorry guys..
* Running NTSC ROM's on a PAL xbox on a PAL tv should work properly now..

* Perfect Pixel code now active. For real! Promise!

* New game config option to "Show ROM Info On Game Start - Yes/No".
* "Show FPS" now works.
So if you have something you want activated now is the time to say it. No guarantees but I will give it a shot if I can.
I do plan on trying to add IPS support and a couple other "unnamed" features that I don't wanna go into just yet.
Master13
Apr 19 2011, 03:40 AM
cool nice work madmab can't wait
XTecuterX73
Apr 19 2011, 03:42 AM
QUOTE(madmab @ Apr 18 2011, 07:32 PM)

Ok I've updated to the 1.53 core.. here is the current changes (outside of the fixes that come with the core change)..
*** important note *** - Old savestates do not work anymore.. Sorry guys..
* Running NTSC ROM's on a PAL xbox on a PAL tv should work properly now..

* Perfect Pixel code now active. For real! Promise!

* New game config option to "Show ROM Info On Game Start - Yes/No".
* "Show FPS" now works.
So if you have something you want activated now is the time to say it. No guarantees but I will give it a shot if I can.
I do plan on trying to add IPS support and a couple other "unnamed" features that I don't wanna go into just yet.
hey madmab, in terms of comparability and the like, is it a noticeable upgrade as far as something like sound is concerned?
also is therea way to implement blaargs ntsc snes filter into this?
great work and would love to hear from ya!
XT-
madmab
Apr 19 2011, 08:12 AM
Drat I was hoping the dreaded "N" word (NTSC filter) wouldn't come up.

As far as sound goes, yes it is better for the most part. For example the power up sounds in Super mario world. It seems some games get a little static here and there, but it is possible that is a performance issue. I'll have to tinker with the sound settings a little and see what I come up with.
The reason being they switched from asm code for the cpu and a couple of the processors to just regular 'old C code. So it's possible performance in some areas may be slower. But my guess would be performance wise it's comparable to the Wii version.
As for the filter I think I will be able to enable some of them rather easily. (Don't get your hopes up just yet). However do not be surprised if there is a big performance hit with them activated.
Two of the biggest things for sure.. are better sound, and better savestate support for some of the exotic cart processors (like DSP, C4, etc). As well as numerous fixes that had unspecified results. I'll include the huge honkin changelist for anyone who feels like reading it..
Koitsu
Apr 19 2011, 11:58 AM
it's like being a kid and having your dad ask you if you want anything from the candy store...and you can't think of anything before he walks off...
brandonheat8
Apr 19 2011, 02:45 PM
QUOTE(Koitsu @ Apr 19 2011, 11:58 AM)

it's like being a kid and having your dad ask you if you want anything from the candy store...and you can't think of anything before he walks off...
Yup I know that feeling

so I better say this now, can you implement the rewind feature from Zsnexbox? I apologize in advance if this feature is already in

other than that just give it the old Madmab touch, you'll know what to do.
Consoleman!
Apr 19 2011, 06:19 PM
This is great news. Thanks madmab!
It looks like the Snes9x team fixed the Mode 7 problems in Secret of Mana, so the solution I had posted for that shouldn't be needed now.
However, I still get a gold bar across the very bottom of the game screen whenever I select any of the software filters in v2. Anyone else notice this?
iamturok
Apr 19 2011, 10:18 PM
QUOTE(Consoleman! @ Apr 19 2011, 11:19 AM)

I still get a gold bar across the very bottom of the game screen whenever I select any of the software filters in v2. Anyone else notice this?
I get this too, albeit a blue bar.
I have a request, I noticed that in v2, when you change the keymaps, they change for every game. Would it be possible to make these a per game change?
XTecuterX73
Apr 20 2011, 12:52 AM
hey madmab thanks for the answers. after reading the official release looks like it was updated and the ntsc filter was added into it. cant wait to hear the sound, hopefully no more crackling on games like mortal kombat 2, and super mario worlds mushroom sound doesnt like crap anymore i hope, it always made me chuckle.

please do let us know. and also if i could be of help, pm me. i might be able to look at some stuff and maybe help get the filter in place. let me know.
madmab
Apr 20 2011, 08:07 AM
QUOTE(iamturok @ Apr 19 2011, 05:18 PM)

I get this too, albeit a blue bar.
I have a request, I noticed that in v2, when you change the keymaps, they change for every game. Would it be possible to make these a per game change?
Just like any other x-port emu.. if you change settings in one game, exit, and then load another game that has no configuration settings. It will adapt those controller settings you previously set. One way you can avoid this is to set the "Default Game Configuration" and then go into the "General Settings" and set "Automatically Use Default Game Configuration?" to Yes.
QUOTE(XTecuterX73 @ Apr 19 2011, 07:52 PM)

hey madmab thanks for the answers. after reading the official release looks like it was updated and the ntsc filter was added into it. cant wait to hear the sound, hopefully no more crackling on games like mortal kombat 2, and super mario worlds mushroom sound doesnt like crap anymore i hope, it always made me chuckle.

please do let us know. and also if i could be of help, pm me. i might be able to look at some stuff and maybe help get the filter in place. let me know.

Have not tried MK2 yet but Super Mario World sounds much better now.

I got most of the filter stuff setup the other night.. but it was not quite right and I just ran out of steam.

So I may have to save that one for when I have a bit more time to do it. Since fooling with filters can be tricky.
Retroplay
Apr 20 2011, 11:31 AM
QUOTE(madmab @ Apr 19 2011, 01:32 AM)

Ok I've updated to the 1.53 core..
YESSS!!, for the first time we have correct sound emulation in Konami games such as Axelay, Super Castlevania IV, Contra III etc..
No other SNES emu on XBOX can brag about that.
zorglub
Apr 20 2011, 01:48 PM

Lightgun/mouse support feasible ?
Xtra sound engine is very good news indeed, thanks alot!
XTecuterX73
Apr 20 2011, 06:46 PM
sounds good man cant wait to check it out. as stated before hit me up and i might be able to help you getting the filter implemented. im also looking at implementing something like this for turbografx games and possibly others.
any timeline on a release as well madmab>? no rush of course, but cant wait and ill help you any way i can. im back in the full swing of things so im good to do whatever man.
XT-
madmab
Apr 21 2011, 08:04 AM
QUOTE(Retroplay @ Apr 20 2011, 06:31 AM)

YESSS!!, for the first time we have correct sound emulation in Konami games such as Axelay, Super Castlevania IV, Contra III etc..
No other SNES emu on XBOX can brag about that.
Well just for kicks I loaded these games up and they sounded ok and all.. But then I don't know adam from eve when it comes to sound.

However I can confirm that Super Mario sounds much better!

It has, however, been reported to me by my crack team. Yes they are cracked!.. That sound is much better and I was also told that alot of games in the compatibility spreadsheet listed as "not working" work now. The biggest problem now is FX games (and maybe other custom chip games?) do not quite perform as well as snes9xbox v2. This could be due to all the processor cores being switched from ASM to C. I'm hoping I can figure something out over at the snes9x dev forums. Maybe I'll even be lucky enough to get some help from the team itself. Although most emu devs seem to run scared when the word Xbox is mentioned.
QUOTE(zorglub @ Apr 20 2011, 08:48 AM)


Lightgun/mouse support feasible ?
Xtra sound engine is very good news indeed, thanks alot!
Yeah I can give it a go. Not sure how long it may take. Depends on how easy the core makes it..

QUOTE(XTecuterX73 @ Apr 20 2011, 01:46 PM)

any timeline on a release as well madmab>? no rush of course, but cant wait and ill help you any way i can. im back in the full swing of things so im good to do whatever man.
XT-
No timeline at the moment. Hopefully it wont be too long. Depends on how many stumbling blocks I run into. For the most part things have been going fairly smoothly.

I got the Blarggg NTSC filters going. However as I suspected they do cause a performance hit and I've only come across one game that even plays full speed with them enabled...
XTecuterX73
Apr 21 2011, 04:21 PM
hey madmab thanks again for the replies man. will you still leave the filter in so we can check it out? maybe theres a way to get everything running smoothly with it. awesome work man! cant wait to check it out. looking forward to any updates from you friend.
XT-
yougottabecrazy
Apr 21 2011, 08:52 PM
You mentioned the few issues with the new core, so is it possible at all to have it like PSCSXBox, and have core selection. That would fix the speed issues you're mentioning, in a sense...
Also, although off topic, what is the max cache size?
madmab
Apr 21 2011, 10:20 PM
QUOTE(yougottabecrazy @ Apr 21 2011, 03:52 PM)

You mentioned the few issues with the new core, so is it possible at all to have it like PSCSXBox, and have core selection. That would fix the speed issues you're mentioning, in a sense...
Also, although off topic, what is the max cache size?
Not really... Pcsxbox is built around a plugin system so it's alot easier to let the user change the GPU and SPU plugins. Plus it had three seperate "Base" cores that it loaded. I could possibly go the seperate core route. But that would mean porting 1.52 which is where alot of the significant changes occured, including sound improvements and possibly including the switch to C based processor cores.. so it may not be possible.
Well I just took a look at the 1.52 source and it looks like it still has support for the Zsnes_FX ASM core.. so it may be worth a look for FX based games.. Possible C4 games as well. All the other special chips were not ASM.. If I remember right. However when I ported 1.51 a couple of the ASM cores had a bunch of unresolved externals.. either because they were renamed or removed from the C portion of the code.
Of course.. this is assuming the lack of ASM cores is where the speed loss is occuring.

"max cache size?" Where'd you hear that terminology?
yougottabecrazy
Apr 21 2011, 11:05 PM
QUOTE(madmab @ Apr 21 2011, 10:20 PM)

Not really... Pcsxbox is built around a plugin system so it's alot easier to let the user change the GPU and SPU plugins. Plus it had three seperate "Base" cores that it loaded. I could possibly go the seperate core route. But that would mean porting 1.52 which is where alot of the significant changes occured, including sound improvements and possibly including the switch to C based processor cores.. so it may not be possible.
Well I just took a look at the 1.52 source and it looks like it still has support for the Zsnes_FX ASM core.. so it may be worth a look for FX based games.. Possible C4 games as well. All the other special chips were not ASM.. If I remember right. However when I ported 1.51 a couple of the ASM cores had a bunch of unresolved externals.. either because they were renamed or removed from the C portion of the code.
Of course.. this is assuming the lack of ASM cores is where the speed loss is occuring.

"max cache size?" Where'd you hear that terminology?
True.
Why would you have to port 1.52 to go with separate cores?
Hopefully the speed loss is some other minor or strange occurrence.
I haven't heard the term, however I was referring to the cache on the hard drive... I'm rather curious, because PSCSXBox has gzip support, if you could have the ISO or BIN be unzipped for use into the cache, as opposed to what I was interpreting as happening.
madmab
Apr 22 2011, 12:52 AM
I thought I explained it rather well.. 1.52 was (from what it looks) the last CORE where it was possible to compile and use the ZSNES Super FX ASM core. 1.52 was also the core where the sound improvement occured. So anything prior to that would be rather pointless.
1.53 removed the ability to use the ZSNES Super FX ASM core by completely removing any references or calls to the ZNES Super FX ASM core. 1.53 relies on a C based Super FX core.
Actually 1.52 is where they switched away from the ASM cores.. but the did not remove any references of it and it should be compilable.
yougottabecrazy
Apr 22 2011, 03:07 AM
Sorry, I just got a little (a lot) lost.
It's pretty nifty that they left the references in there, I suppose. I didn't realize that they called the cores separate, and remember reading once that SNES9x (or some emulator, at least) was written in assembly for speed.

A fool am I, I suppose.
XTecuterX73
Apr 22 2011, 05:09 AM
thanks again madmab for doing all this, im wondering is some optimizations can fix the speed issues due to the filter. if i recall correctly i thought his new filters where very low level ones now, not like when he first stated making them, they needed super pcs to run haha.
XT-
madmab
Apr 22 2011, 07:26 AM
Could be.. but sadly as the xbox gets older it's gonna get harder and harder to update cores. Because most emulators are based on the PC world. Which is a constantly evolving platform. So as the PC's get faster the emulators get more accurate (because they can afford to) but then they get harder to run on older slower machines.
Skater4599
Apr 22 2011, 05:07 PM
Madmab I just had to say THANK YOU for this update! I don't have any real additions I wanted that aren't already there, My only real wish was to update the core which you have already done, I have snes9x on my Wii too but the save states didn't play well with xbox version since the wii uses the new core, now I can go back to my trusty old box

I know some games don't work well with new core but some others also started working better with it too. Sound accuracy bonus!
XTecuterX73
Apr 23 2011, 01:50 AM
maybe im off here, but do you think the speed issue might be due to some core changes from asm to C? also im thinking of how i could help to get all the games running full speed even with ntsc filter activated. i know snes is a different beast than the nes code wise and performance wise but this emu could be the top of the line for xbox, it sounds stunning and amazing and would prob take a little work and tweaking without sacrifice of the code changes.
XT-
madmab
Apr 23 2011, 08:24 AM
I don't think tweaking around is gonna help much. Unless you are a CPU core expert. There are very few CPU core programmers out there in the emulation world as it is. It may be possible to somehow combine the old ASM cores and the new ones in a "driver/plugin" type format. But that would require a substantial amount of rewriting and testing of the code. On top of that it would make updating the core to future versions even more of a headache.
It's hard to say how much of a diff the ASM core makes.. it all depends on how much of the rest of the code (The C part) was changed to accomodate better emulator accuracy. So it is possible those are playing a factor. As it is some of the games that relied on the old ASM parts are runnig 10-15 fps slower than normal.. so it may be that the ASM is making up for that difference.
I'll have a better idea when I port the 1.52 core.. since the 1.51 core seems to run things at a pretty decent speed. But there were ALOT of changes made between 1.51 and 1.52. Including switching to all new sound code, the addition of the filters, and a whole restructuring of the main loop, sound, and graphics code. But it looks like it is possible that the 1.52 core will be compilabl in the same manner as I currently have 1.51 setup.
pkbunghole
Apr 23 2011, 09:21 AM
sounds great! im sure this could already run amazingly on trusty box
Excelsis
Apr 23 2011, 04:14 PM
Just wondering, how come Xport emulators cant display games properly like on a real SNES without scaling (and either introducing aliasing or blurring) while for exemple, SNES Station ps2 can? I believe the Wii emulator can as well.
This is actually really bothering me in the case of SNES emulation, almost as much as the sound issues that was in previous versions of the various SNES emulators for Xbox (though this will be fixed, thanks to you!).
I'll try to make a guess on the issue of scaling. The Xports run at a 4:3 resolution while the SNES was 8:7 and then the TV would do its magic, which is why when we choose the 1:1 pixel perfect option in snes9xbox there's black bars on both sides even on a 4:3 SDTV.
Now the question is... Is this a limitation of the Xbox or Xports? If it is a Xport issue, would it be possible to fix this?
In any case, I cant wait for this. I've been meaning to play FF6 again but no option to play it with blargg's sound core on my good ol' TV made me feel like I would cheat myself out of a one of the best part of FF6.
Edit: Read up a bit on this case and it seems that it might be possible but no one really bothered trying it out. That's a shame. Guess I'll have to get myself a modded Wii down the line if I want perfect emulation. :\
-{TETSUO}-
Apr 23 2011, 08:29 PM
I'm just hoping they do away with that Godawful SKIN.
PM3 skins in all these emulators look bloody awful with no soul and look out of place when most dont even use the skin in xbmc anymore.
It's the only reason I still cling to zsnesxbox as that looks amazing.
bigby
Apr 23 2011, 09:03 PM
gilles9999 has updated the skins

]
Movax
Apr 24 2011, 04:05 AM
Is there anyway to include support for TAS videos, if they aren't working already?
http://tasvideos.org/Movies-SNES.html
Dante_Ali
Apr 24 2011, 02:21 PM
Hi there, I'm Squarepusher from the psx-scene forums - long-time fanboy of the Xbox scene though - it's what gave me the motivation to update these PS3 emulator ports regularly because I wanted to see it flourish like the Xbox 1 scene.
Great that somebody has finally ported over a recent version of SNES9x to Xbox 1 now.
I do know for a fact that zones' IRQ/SA-1 changes have had a big performance impact in 1.53 (Jikkyou Oshaberi Parodius for instance is well above 60fps in the character select screen without them - with the zones IRQ/SA-1 changes, it dips below 53fps) - that's why I'm not using them (I develop the PS3 port) and neither does the Wii devs (dborth).
It would be interesting to see how well this code runs on x86. I know a couple of games that are very demanding on PS3 that you could test:
1 - Star Fox 2 - this will drop to 55/56fps regularly - perhaps even a bit more in some of the indoor areas.
2 - Romancing Saga 3 - when you go to the 'equip'/'menu screen' (with the 6 characters/sprites on top of a hi-res 512x224 screen) - the framerate will drop to 40fps.
3 - Seiken Densetsu 3 - if you select Angela as your first character and bring up the 'equip/menu screen' when you're outside, it will drop to 40fps. The equip menu screen is another one of these instances where the SNES goes into hi-res 512x224 - but for some reason, it seems to only drop down massively with these two games in particular - Kirby's Dreamland 3 runs at well above 60fps in levels where 512x224 gets used.
Now the weird thing is - for ANY of the other characters (Duran/Hawk/Kevin/Riesz/whatever), this does not happen at all. That's what makes me think it's some kind of display bug in SNES9x.
4- Vortex - similarly slow as Star Fox 2 - drops to about 57/55/53fps depending on the situation.
I've put most of these performance problems down to the fact that the original code is full of branches and made some amends to make the code blocks bigger so there are less branches which would flush the pipeline all the time.
One way I cut down on some of the branches is to make three codepaths - one for SuperFX games, one for SA-1 and one for regular games - no SA-1/SuperFX basically. That way, I can leave out all of the SuperFX/SA-1 branches in the regualr codepath - you can setup these codepaths easily in SNES9x because Settings.SA1 or Settings.SuperFX always gets set in memmap.cpp while the ROM is loaded by SNES9x - so we know when a game has been loaded that has a SA-1 or SuperFX co-chip. Based on that knowledge, we can point it to a modified S9xMainLoop.
Now obviously, an x86 out-of-order CPU should have far less problems with this codebase, so let's hear how this Xbox version performs with the above mentioned games. Hell, I'd gladly whip out my Xbox 1 and go test it myself - it will certainly be laughable if a Celeron 733 performs better than the Cell 3.2GHz PPU.
Another thing that made a big difference on PS3 - removing virtual function call overhead - you can take a look at how I modified the APU code in the PS3 port - perhaps it will make a difference on Xbox 1 as well.
madmab
Apr 24 2011, 06:56 PM
Hey man.. thanks for the tips. It's nice to see advice from someone doing a port for another console system.

Indeed trying to squeeze any kinda performance outta this thing is tough. I'd love to be able to get it running with the NTSC filters at 60fps for most of the games. It seems to do ok with PAL games running at 50fps.. for what it is worth.

Here is what I posted over at the snes9x forums.
QUOTE
ok. Well I managed to get 1.52 working with the SuperFX and C4 ASM cores. Took a little bit of finagling to get it to compile but it finally did. So SMW2 seems to run a fair bit better. Also threw in the EWJ 2 sound fixes too boot. Plus for some reason SM RPG seems to be going at a fair speed as well. In fact I noticed some mistakes I made when doing the svn (1.53 whatever) so I might go back over that one again with those changes just to see how it performs.
Had a bit of a scare there when I noticed the messed up background tiles in Donkey Kong Country.. but I found the fix in the fix4 fix.. fix.. fix..
NTSC filters still pretty much suck but they do run pretty fair on PAL roms.. (talk about ironic).
Once I clean up the 1.53 stuff.. I'll look into what you mentioned for the APU code. I suspected the APU code may be contributing a little to slow down.
Dante_Ali
Apr 24 2011, 07:45 PM
Yeah, as soon as I saw that they removed the ASM cores I realized future Xbox porters were not going to be pleased

. Those ASM cores are very old though and might contain many inaccuracies.
Just for your information - here is the last commit before Zones added the SA-1/IRQ improvements that costs you about 10-15fps - this is the one commit I skip - as does the Wii port.
https://github.com/snes9xgit/snes9x/commit/...d844291e234ad9aIt is possible to not apply this single patch (
https://github.com/snes9xgit/snes9x/commit/...8fbc3ddc25cc173 ) and still backport the patches after that - it requires a little manual labor but I think the extra speed is absolutely worth it.
BTW - with regards to NTSC filters and graphics filters - this is the one saving grace the PS3 has - we can rely on the GPU (RSX is like a SLI Geforce 7800) and run Cg shaders - we have ported over most of the popular filters to Cg (well, they were already ported to GLSL by guest earlier - we just took them and converted most of them to Cg shaders, along with some of our own additions) - so we can avoid the performance impact that running these filters imposes on the CPU..
The only 'filter' we have not yet ported to Cg in fact is Blargg's NTSC filter - this is BTW to my knowledge the most CPU-intensive filter there is, so yeah, there might be no hope getting that to run at 60fps with most games on Xbox 1.
Hmmm, Xbox 1 supports Pixel Shader 1.0x, right? Perhaps you can rely on that instead.
madmab
Apr 24 2011, 08:38 PM
Whoops.. sorry.. forgot to mention I took those SA1/IRQ changes out from the start.
Yeah sadly taking out the ASM cores does not help us xbox users..

In addition typically making an emulator "more accurate" usually kills us as well.
As for shaders.. yes the xbox does have them.. but I do not have a clue how to do them. Anyway I could be pointed in the right direction?
Dante_Ali
Apr 25 2011, 01:43 AM
Unfortunately, I was mostly an end-user during the Xbox scene days - I did get the XDK and I did dabble somewhat with it, but it wasn't really much to be honest.
Would probably be fun coding for it now - now that there's a tight knit community around it and that it's basically an x86.
I don't know how limited the shader capabilities are since we are talking about a very old Shader Model that the Xbox 1 supports - but you should be able to do some stuff with it at least. I don't really have any experience beyond NVidia Cg at the moment, sorry.
madmab
Apr 26 2011, 08:42 AM
ok just a small little update. I spent most of the weekend working on 1.52 and getting the FX/C4 ASM cores going. Took a little bit of work since they stop using them at one point so I had to modify the code a bit to get them to compile. While doing this I realized I missed something in 1.53 so once I got 1.52 done and running fairly decent I went back over 1.53 and now they both seem to be running at comparable speeds. So I'm not sure whether the ASM core is helping much.
I then spent time tweaking around with the sound to get it running more smoothly since there were the occasional glitches and hiccups. So I got that taken care of. Unless the framerate starts getting low, at which point the sound gets rather choppy. I did break fast forward so I'm working on fixing that. NTSC filters are still a wash..

With a drop of up to 10fps that is gonna be a hard one to overcome.
XTecuterX73
Apr 26 2011, 05:32 PM
QUOTE(madmab @ Apr 26 2011, 03:42 AM)

ok just a small little update. I spent most of the weekend working on 1.52 and getting the FX/C4 ASM cores going. Took a little bit of work since they stop using them at one point so I had to modify the code a bit to get them to compile. While doing this I realized I missed something in 1.53 so once I got 1.52 done and running fairly decent I went back over 1.53 and now they both seem to be running at comparable speeds. So I'm not sure whether the ASM core is helping much.
I then spent time tweaking around with the sound to get it running more smoothly since there were the occasional glitches and hiccups. So I got that taken care of. Unless the framerate starts getting low, at which point the sound gets rather choppy. I did break fast forward so I'm working on fixing that. NTSC filters are still a wash..

With a drop of up to 10fps that is gonna be a hard one to overcome.
very great news indeed madmab! so in other words everything is pretty good looking unless you use the ntsc filters correct? and rewind being broken? even with that, this all sounds great. the new sound core is spot on and pretty accurate and the fixes make alot of games now playable. seems like snes9x has become more accurate then even zsnesxbox it seems.
Consoleman!
Apr 27 2011, 11:32 AM
QUOTE(madmab @ Apr 26 2011, 02:42 AM)

ok just a small little update. I spent most of the weekend working on 1.52 and getting the FX/C4 ASM cores going. Took a little bit of work since they stop using them at one point so I had to modify the code a bit to get them to compile. While doing this I realized I missed something in 1.53 so once I got 1.52 done and running fairly decent I went back over 1.53 and now they both seem to be running at comparable speeds. So I'm not sure whether the ASM core is helping much.
I then spent time tweaking around with the sound to get it running more smoothly since there were the occasional glitches and hiccups. So I got that taken care of. Unless the framerate starts getting low, at which point the sound gets rather choppy. I did break fast forward so I'm working on fixing that. NTSC filters are still a wash..

With a drop of up to 10fps that is gonna be a hard one to overcome.
Too bad about the ASM cores. With exception to the NTSC filter, how's the speed with the other software filters on vs. leaving them off?
cheema201
Apr 27 2011, 07:43 PM
Brilliant to hear about your work mad dog! And it's great that Squarepusher has given the xbox scene some lovin.
A600 is back, madmab is in full flight. Squarpusher is gonna join the party (maybe haha). Next Xport is gonna stop by to give you a hand madmab haha.
I have no requests, you seem to have it under control. Someone has already mentioned light gun support - which would certainly be welcome.
Keep up the good work mate. You're an inspiration.
madmab
Apr 29 2011, 07:09 AM
Well I've gotten reports from someone with a souped up xbox that the NTSC filters run great on his xbox with the higher clock speed.
Anyways I noticed that 1.51 runs quite a bit faster than 1.52-1.53.. so chances are the new and improved sound engine is where the slowdown is. I'm gonna tinker with getting the old sound code working in 1.53 just for curiosity sakes. If the speed improves maybe I can find some way to modify the code so the sound engine can be selectable. For those who dont mind the poorer sound quality for speed improvements.
Dante_Ali
Apr 29 2011, 06:49 PM
Could you put the source up here on this page so I could test this core on it that I have been running on PS3?
I think it could work out well - there are no real platform-specific things in there - it's just a big cleanup of the core code overall - some big branches that got taken out in the process that might help speed.
BTW - I tested SNES9Xbox v2 yesterday - there seems to be something wrong with the sound - it doesn't sound like blargg's APU core to me - which should be nearly flawless sound on any game. You can hear this clearly even in Super Mario World - the Mario jumping sound doesn't sound right. Again, I don't know what's up in this regard since there is no source for me to look at. I do know that SNES9x PS3 and SNES9x Wii, being pretty much based on 1.52, sound flawless compared to this. (even though the Wii version has some sound pops)
On another note - I think it's relatively safe at this point to start putting up Google Code projects with just the source on there for Xbox 1 - I've done the same for PS3 (knowing full well you need the official SDK to compile it) and nothing happened whatsoever - and this is with the whole shit storm with Sony at the moment where every dev is looking over his shoulder quivering in fear of big bad Sony. So, given that Xbox 1 is obsolete, I think there's no harm in doing this - might even lead to some collaborative effort going.
BTW - just booting Xbox 1 again yesterday reminded me of just how good this console was for homebrew/emulators. Holy shit - even Streets of Rage v5 is playable on this - this is definitely still the best console out there for homebrew stuff - forget PS3/360/Wii at the moment, looking at it from a raw speed perspective - there's really nothing to be jealous of other than nearly zero-cost shaders (which means you can run something like HQ2x or even better with no speed loss). No homebrew coder ever coded for the SPUs, so it's all just running on the PPU - which is notoriously weak - probably a bit better than the Xbox 1 CPU if you rewrite the code well enough, but that's it.
It just sucks that you have to go out of your way to install an ancient version of Visual Studio - and especially the source code conventions are really 'ugh' after being accustomed to proper ANSI C/C++98 for so long on PS3 - Visual C++ is like a big 'WTF is this' in that regard.
madmab
Apr 29 2011, 10:15 PM
Xport made the source available some time ago...
Where's the source?Snes9xbox v1 and v2 were based on Snes9x 1.42.. which goes a way back hence the reason for sound differences. In fact the new APU was not implemented until 1.52. 1.51 runs on a comparable speed to 1.42 however it sounds the same. Hence the conclusion concerning the sound. Whether it's enough to gain a full 10fps needed to get some games running good is another story.
Dante_Ali
Apr 29 2011, 10:41 PM
Oh, so SNES9xbox v2 doesn't even use 1.52, but rather uses 1.42?
That would explain a lot.
Alright. Guess I know where to go from here then. I'll try the modified core and see what I get.
madmab
Apr 30 2011, 01:49 AM
Let me know how it works.. you can do a quick diff of x-ports vs the 1.42 code to get an idea of what he changed. It was not much.. mostly commenting stuff out and then of course there was a bit of restructuring.. but it did not take long to navigate that (mostly moving around of screen/sound and SSettings).
X-port does all his rendering in CXboxsample::Render_To_Texture.. Sound code is in sndxbox.cxx and is called from snes9xbox.cpp. I had to remove that call and replace it with the call back.. pointed the callback to the sound code ->process in sndxboxx.cxx.
That's just a quick summary.. Plenty of time.. I still have somethings I wanna do and I still have to take a looksey at mouse and lightgun stuff..

For the misinformed..
It's the NTSC filters and NOT the scanline filters that eat up CPU time.. In fact Blarggh himself says they are rather intensive and the SNES9X guys as well..
QUOTE
"Running the filter at 60 frames per second uses 8% CPU on a 2.0 GHz Athlon PC and 40% CPU on a 400 MHz PowerMac G3, making it suitable for use on almost any system"
QUOTE
2.)
The NTSC filter is very cpu intensive, I don't think you can do very much about that (other than hoping that someone creates a shader that does the same).
XTecuterX73
Apr 30 2011, 04:20 AM
so i guess for the time being a trusty xbox will play this with ntsc filters pretty full speed eh?
madmab
Apr 30 2011, 07:24 AM
Uhhhh... no.. unless we find a way to make up for the 10 frames per second lost on most games you aint gonna see much. People with overclocked xboxes are the ones that are gonna get NTSC filter enjoyment out of this one..
XTecuterX73
Apr 30 2011, 07:57 AM
QUOTE(madmab @ Apr 30 2011, 02:24 AM)

Uhhhh... no.. unless we find a way to make up for the 10 frames per second lost on most games you aint gonna see much. People with overclocked xboxes are the ones that are gonna get NTSC filter enjoyment out of this one..

lol i mean the trusty upgrade will pretty much do this full speed right? the 128mb ram and 1.4 thing right? lol.
madmab
Apr 30 2011, 07:59 AM
Dante_Ali
Apr 30 2011, 01:51 PM
I think honestly you guys should just give up on blargg's NTSC filter - it's not realistic you're ever going to get that running again on a modern version of SNES9x at fullspeed - they have simply upped the system requirements by too much for it to be realistic.
I don't even bother with blargg's NTSC filter on PS3 becaue I know a CPU filter will cause a massive speed hit.
One solution to this for PS3 would be to write a shader version - but it being very difficult code, nobody has yet succeeded.
You could look at HLSL on Xbox 1 - it will probably be very, very limited compared to what you have on Xbox 360, but perhaps it still provides you with all the necessary stuff you need to offload CPU filters like Blargg like that to the GPU.
I wonder though, has any Xbox 1 coder used shaders in the past? I don't seem to remember it.
madmab
Apr 30 2011, 02:47 PM
None that I know of. However the filters are not affected on a speed modded xbox. So I'm leaving them in there for the 5 or 6 people on the planet that have one. Maybe someday I'll be lucky enough to be able to get my hands on one. Maybe one with more memory so I can maybe have winuaex take advantage of that. The filters dont have to be used and there are some games where they actually run fine.
But yeah with the age going against it and the era of 720p and 1080i coming upon us the xbox emulators are definitely reaching their limits.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.