Snes9x 1.53

This is for people involved in the developement of Snes9x, or SNES emulators in general.
BUG REPORTS BELONG IN TECH SUPPORT/BUG TRACKING!

Moderator: Ryan

Locked
Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Fri Jul 22, 2011 2:39 pm

ok. Here is the video.. It's a little harder to see it over youtube but just pay real close attention to the lap timer.

I did two rounds. One with 1.53 xbox and the weird issue. The 2nd one is 1.51 xbox without the weird issue.

Sorry for the crappy driving. I've gotten used to playing in debug mode and I was/am half asleep when I recorded it.. :P
Xtras! We do the systems others dare not!

User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm
Location: /dev/null

Post by Camo_Yoshi » Fri Jul 22, 2011 5:26 pm

...Where's the video?
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Fri Jul 22, 2011 8:43 pm

Xtras! We do the systems others dare not!

User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm
Location: /dev/null

Post by Camo_Yoshi » Fri Jul 22, 2011 8:54 pm

Ok, I see what you're talking about, it seems the Xbox is sturggling to keep up with the immense amount of sprite/DSP activity. While this does happen on the SNES, it isn't as pronounced as I see here.

Seems it's auto-frame-skipping to prevent 100% load on the CPU.
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Fri Jul 22, 2011 11:29 pm

I was hoping you wouldnt say that.. :lol:

Although that is my initial suspicion.. the thing that is confusing me is the reported framerate of 60fps.

Shouldn't that be dropping? Also if I use the x-port framerate calculator (which calculates how often the screen_display function is called) it shows a consistent 60fps as well.

Best I can tell S9xDeinitUpdate is only called if IPPU.RenderThisFrame is true. So if this is the case I would think the fps display would drop below 60 during the slowdown.

On the other hand if I activate the NTSC filter than the onscreen fps displays match the framerate drop.

This is where I'm totally baffled. I've even tried setting debug points where IPPU.RenderThisFrame would be set to false and they never get hit. :?

On a side note I originally had the same issues with 1.51 (older sound core) but once I commented out all the frametimer stuff the problem went away.

Thanks
Xtras! We do the systems others dare not!

User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm
Location: /dev/null

Post by Camo_Yoshi » Fri Jul 22, 2011 11:59 pm

Well if the frame counters are saying it's running with no drop in FPS, either it's emulating the IRL lag, or auto-frameskip is turned on. (Probably the latter...)
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Sat Jul 23, 2011 12:24 am

I was gonna update my last message but you replied to it alreadyl.. I had as a test set the frameskip to 0 for kicks (maybe 1 too, cant remember) and it was still doing it. I was still getting the issue.

What is IRL lag?
Xtras! We do the systems others dare not!

User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm
Location: /dev/null

Post by Camo_Yoshi » Sat Jul 23, 2011 2:19 am

Basically, you're emulating the SNES's CPU, which mean that any games that naturally caused lag on the system will be present on the emulator.
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!

odditude
Snes9x Orange Belt
Posts: 354
Joined: Tue May 03, 2011 2:35 pm

Post by odditude » Sat Jul 23, 2011 2:44 am

Madmab wrote:What is IRL lag?
IRL = in real life

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Sat Jul 23, 2011 6:29 am

Camo_Yoshi wrote:Basically, you're emulating the SNES's CPU, which mean that any games that naturally caused lag on the system will be present on the emulator.
Does that mean I'm screwed when it comes to super mario kart? :lol: :(

Well it seems to run fine in 1.51 on the xbox. So I suppose that serves as an alternative. Hence why I'm trying different versions. So at this point I'd have to chalk it up to possibly the new sound core cause I think I've exhausted about every other possibility I can think of.
Xtras! We do the systems others dare not!

User avatar
OV2
Official Win32 Porter/Dev
Posts: 645
Joined: Thu Aug 30, 2007 10:15 pm

Post by OV2 » Sat Jul 23, 2011 1:09 pm

IPPU.RenderThisFrame is never set automatically. If you do not have your own frameskip code that sets this then snes9x will never do frame skipping.

The internal frame display should display two values: an fps value and a x/60 value. The first is simply the number of frames emulated per second (including skipped), the second is how many of the last 60 frames were displayed.


It's a rather strange issue you're having...
Did you try it without the coreupdate changes that were included in 1.53?

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Sat Jul 23, 2011 10:14 pm

OV2 wrote:IPPU.RenderThisFrame is never set automatically. If you do not have your own frameskip code that sets this then snes9x will never do frame skipping.

The internal frame display should display two values: an fps value and a x/60 value. The first is simply the number of frames emulated per second (including skipped), the second is how many of the last 60 frames were displayed.


It's a rather strange issue you're having...
Did you try it without the coreupdate changes that were included in 1.53?
You lost me on that last question. Coreupdate changes included in 1.53?

Thanks
Xtras! We do the systems others dare not!

User avatar
OV2
Official Win32 Porter/Dev
Posts: 645
Joined: Thu Aug 30, 2007 10:15 pm

Post by OV2 » Sat Jul 23, 2011 10:38 pm

1.53 includes rewritten IRQ handling which was in the coreupdate branch during testing. The merge is in this commit: https://github.com/snes9xgit/snes9x/com ... ddc25cc173

The changes seem to incur a speed penalty on some architectures, which is why the wii and ps3 port did not include them.

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Sun Jul 24, 2011 8:51 am

Yes I have zones IRQ/SA-1 changes removed from the get go. So no affect by them...
Xtras! We do the systems others dare not!

Predator82
Snes9x White Belt
Posts: 17
Joined: Thu Jun 16, 2011 7:48 am

Post by Predator82 » Sun Jul 24, 2011 9:07 am

Cant see any issue
Last edited by Predator82 on Sun Jul 24, 2011 5:58 pm, edited 2 times in total.

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Sun Jul 24, 2011 1:58 pm

Alright I figured it out. One of the many changes I made reverting various sections of code to try and fix some speed issues was the source of the problem. So I'm good now..

Thanks for the help!
Xtras! We do the systems others dare not!

User avatar
Camo_Yoshi
Snes9x Purple belt
Posts: 922
Joined: Thu Nov 08, 2007 7:59 pm
Location: /dev/null

Post by Camo_Yoshi » Sun Jul 24, 2011 3:35 pm

Glad to hear it works! :)
Snes9x FAQs | Forum Rules
What operating system are you using? 32 or 64bit? Version of Snes9x? Is the text at the bottom of the window white when you load the game?
These suggestions are usually the solution to your issue!

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Mon Jul 25, 2011 3:19 pm

Hey guys.. Just thought I would mention. I was implementing movie playback for the xbox and I noticed the movie I tried would not playback in 1.53 but it played back just fine in 1.51.

I confirmed this issue also exists on the PC builds.

I was using the Act Raiser movie from [url=http://tasvideos.org/Movies-SNES.htmlhere[/url] as a test.
Xtras! We do the systems others dare not!

User avatar
OV2
Official Win32 Porter/Dev
Posts: 645
Joined: Thu Aug 30, 2007 10:15 pm

Post by OV2 » Mon Jul 25, 2011 6:44 pm

What do you mean with "would not playback"?

I have no problem playing the movie, besides from the obvious desync due to the emulation changes.

Madmab
Snes9x White Belt
Posts: 27
Joined: Wed Apr 13, 2011 9:06 am

Post by Madmab » Mon Jul 25, 2011 10:08 pm

Sorry that's what I meant. It did not play back correctly. Due to the sync issues you mentioned. I figured there was a good chance it was due to the emulation changes. Just did not know if you guys were aware.
Xtras! We do the systems others dare not!

Locked