Is it possible to remove slowdown in emulators?

Announce new emulators, discuss which games run best under each emulator, and much much more.

Moderator: General Mods

Post Reply
IglooBob
Rookie
Posts: 12
Joined: Mon Apr 26, 2010 6:02 am

Is it possible to remove slowdown in emulators?

Post by IglooBob »

I remember reading on the Project64 forums about someone who had worked on some sort of business that would remove the slowdown/sluggish framerate from Goldeneye and Perfect Dark in emulation, making them more playable than they would ever be on original hardware. I'm aware that the goal of most emulators is accuracy to the original hardware, but would it be doable to add an option to an emulator (a checkbox, or something perhaps) that allows you to run the games outside of the original hardware's technical limits and grab a constant speed? Games like Gradius III for instance immediately suggest themselves as games that would benefit from that sort of thing. Would that be difficult to pull off, or would it break something in legit emulation, anything like that? I suspect that I'm not nearly the first person to think of this and the fact that I haven't seen it in an emulator yet suggests that perhaps there's a good reason why it isn't done, but I'm curious about the subject.

Thanks and apologies if this is in the wrong place.
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: Is it possible to remove slowdown in emulators?

Post by Gil_Hamilton »

IglooBob wrote:Would that ... break something in legit emulation

Yes.

Also, you can play the original version of Gradius 3 on MAME. And get even MORE bullshit to go with your less slowdown.
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
odditude
Official tech support dood
Posts: 2107
Joined: Wed Jan 25, 2006 7:57 am

Re: Is it possible to remove slowdown in emulators?

Post by odditude »

Gil_Hamilton wrote:original version of Gradius 3

moar frustration pleez
Why yes, my shift key *IS* broken.
grinvader
ZSNES Shake Shake Prinny
Posts: 5626
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Re: Is it possible to remove slowdown in emulators?

Post by grinvader »

Overclocking will make all the interrupt-based timings fubar, with wildly varying consequences.
And noone really wants to recode the games just to get around those issues, so...
皆黙って俺について来い!!

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
IglooBob
Rookie
Posts: 12
Joined: Mon Apr 26, 2010 6:02 am

Re: Is it possible to remove slowdown in emulators?

Post by IglooBob »

Alrighty, thanks all for the responses. I expected as much. I had asked on the bsnes forums about Super Bomberman 2 running slower in multiplayer on bsnes vs zsnes/snes9x and they told me that was a result of bsnes being more accurate timing-wise. Of course, my friends don't dig the slowdown so we end up running it on zsnes most of the time. Assuming that's all true, it's an interesting realization that as zsnes for instance gets more accurate and closer to hardware, it'll actually decrease the enjoyability of the experience for some games.

EDIT: Ah, I'm already quite sure that I have no business playing Gradius III in MAME. That thing's ridiculous.
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: Is it possible to remove slowdown in emulators?

Post by Gil_Hamilton »

Gradius is ridiculous in general.
Gradius 3 is just more so. Even on SNES. I know for a fact one stage has a continue point that is unrecoverable. You NEED one speed up, and if you die, you are physically unable to move as fast as the screen scrolls, and will never make it to the first powerup.
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: Is it possible to remove slowdown in emulators?

Post by grinvader »

Gradius (and thus Parodius) is a game where the life counter is only there for show. You only have one life.
皆黙って俺について来い!!

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
paulguy
Zealot
Posts: 1076
Joined: Sat Jul 02, 2005 2:01 am
Contact:

Re: Is it possible to remove slowdown in emulators?

Post by paulguy »

Aren't there already reports of games like goldeneye and perfect dark running somewhat better in emulators just because of the stuff like HLE and timing and stuff? I figure it's because of certain functions happening "instantly" rather than the emulator waiting the amount of time the original console would've taken to execute the same function.

Not much of a programmer and I've never wrote an emulator, but I've read a good bit on the subject so I don't claim to know too much about it, just going by things I've heard.
Maybe these people were born without that part of their brain that lets you try different things to see if they work better. --Retsupurae
IglooBob
Rookie
Posts: 12
Joined: Mon Apr 26, 2010 6:02 am

Re: Is it possible to remove slowdown in emulators?

Post by IglooBob »

Alright, so not to be bothersome, but I was reading some stuff at the bsnes forums, where someone made a feature request for overclocking the cpu, and byuu mentioned:

"ZSNES is all the proof you need that you can be way, way, way off on timing and things will still work fine in most games. My timing tests peg it as running ~40-60% faster than the real thing. You only need the insane precision for a few dozen titles, which with a library of 4,000+ games isn't half bad."

So with that in mind, there couldn't be an option, with a warning attached or in the readme that it will break some games, and a suggestion to keep it off for the most part? I'm not making a feature request, but if the timing inaccuracy would only cause issues with a few dozen games, it seems like it'd be desirable to make it an option. There's quite a few games that would be more fun without slowdown. Super Bomberman 2 is an example of a game where if you have the choice, you never want to play on the original hardware or in bsnes, because the slowdown with 4 players while not huge, is a bit distracting.

So yeah, I'll be clear that I'm not challenging any assertions or trying to irritate anyone, but it seems to me there's a pretty noticeable upside for an overclocking feature, and a pretty limited downside (no downside really, if you make the issue clear in the documentation and trust people to read before making bug reports).
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: Is it possible to remove slowdown in emulators?

Post by Gil_Hamilton »

IglooBob wrote:Alright, so not to be bothersome, but I was reading some stuff at the bsnes forums, where someone made a feature request for overclocking the cpu, and byuu mentioned:

"ZSNES is all the proof you need that you can be way, way, way off on timing and things will still work fine in most games. My timing tests peg it as running ~40-60% faster than the real thing. You only need the insane precision for a few dozen titles, which with a library of 4,000+ games isn't half bad."

So with that in mind, there couldn't be an option, with a warning attached or in the readme that it will break some games, and a suggestion to keep it off for the most part? I'm not making a feature request, but if the timing inaccuracy would only cause issues with a few dozen games, it seems like it'd be desirable to make it an option. There's quite a few games that would be more fun without slowdown. Super Bomberman 2 is an example of a game where if you have the choice, you never want to play on the original hardware or in bsnes, because the slowdown with 4 players while not huge, is a bit distracting.

So yeah, I'll be clear that I'm not challenging any assertions or trying to irritate anyone, but it seems to me there's a pretty noticeable upside for an overclocking feature, and a pretty limited downside (no downside really, if you make the issue clear in the documentation and trust people to read before making bug reports).

You cite the argument that ZSNES already has roughly a 50% overclock as evidence why ZSNES should have a further overclock added?


And being familiar with the BSNES thread, I'm pretty sure if the folks in question had played Super Bomberman on real hardware or BSNES first, they wouldn't be bothered at all. They learned the game when it was running wrong, and now it throws them off when it runs right.
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: Is it possible to remove slowdown in emulators?

Post by grinvader »

it is useless trying to interpret posts such as these the way you did




i.e. nonlinear stuff doesn't extrapolate that way, dood
皆黙って俺について来い!!

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
IglooBob
Rookie
Posts: 12
Joined: Mon Apr 26, 2010 6:02 am

Re: Is it possible to remove slowdown in emulators?

Post by IglooBob »

You cite the argument that ZSNES already has roughly a 50% overclock as evidence why ZSNES should have a further overclock added?


Not really. I'm just aware that the end goal for a lot of emulators is complete accuracy, which of course means emulating every bit of slowdown present on original hardware. My question is pretty general, really, I'm not trying to advocate anything for ZSNES. Overall the quest for accuracy makes sense, it just strikes me that the gameplay experience of a few games here and there is improved by inaccurate timing. If that subjective improvement disappears, oh well I suppose, I was just curious as to if it was possible to do it both ways.
Gonzo
Regular
Posts: 280
Joined: Wed Sep 22, 2004 3:46 am
Location: Tromaville

Re: Is it possible to remove slowdown in emulators?

Post by Gonzo »

IglooBob wrote:(no downside really, if you make the issue clear in the documentation and trust people to read before making bug reports).


Yeah, I see a problem right there.
magitek369
Hazed
Posts: 70
Joined: Sat Apr 24, 2010 2:19 am

Re: Is it possible to remove slowdown in emulators?

Post by magitek369 »

I can understand both schools of thought on the subject, but I'm of the belief that if you can improve on the original then you should at least try. If accuracy is to be the primary concern of emulation, then certainly improvement should be the second.
grinvader
ZSNES Shake Shake Prinny
Posts: 5626
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Re: Is it possible to remove slowdown in emulators?

Post by grinvader »

magitek369 wrote:if you can improve on the original then you should at least try

i'm of the belief of "listen to the doods who know it will break stuff all over as soon as you get anything close to a minor removal of slowdowns and just stop while you're ahead since those doods spent time you didn't on that topic years before you even thought about it"

seriously, all it requires is a whole rewrite of most games.
time better spent recoding these games for portable platforms, if you're actually thinking about that.
皆黙って俺について来い!!

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
magitek369
Hazed
Posts: 70
Joined: Sat Apr 24, 2010 2:19 am

Re: Is it possible to remove slowdown in emulators?

Post by magitek369 »

grinvader wrote:i'm of the belief of "listen to the doods who know it will break stuff all over as soon as you get anything close to a minor removal of slowdowns and just stop while you're ahead since those doods spent time you didn't on that topic years before you even thought about it"

Whoa, easy there, I'm just saying that if it's reasonably possible to accomplish something then it's usually worth attempting is all. Obviously there's a cost-benefit issue involved, and in regards to the issue at hand obviously you'd know better than I would.

Anyway, I was speaking more toward emulation in general. When I look at video filters and save states, I see improvements. Maybe it's not attainable, but wouldn't the Holy Grail of emulation be to actually improve on the original product?

Or am I just being the damn punk kid who doesn't know what the hell he's talking about here?
byuu

Re: Is it possible to remove slowdown in emulators?

Post by byuu »

I have no issues with allowing artificial enhancements of games over the originals, so long as nobody bugs me when things inevitably break as a result.

The problem I run into is that some of these enhancements require substantial additional overhead. For instance, to run the video processor faster than the main CPU, you'd have to add a new oscillator and could no longer share a single H/V counter for interrupts, which in turn would break out-of-order execution optimizations. You'd end up taking a good speed hit, and have to add a ton of extra complexity that could affect even your base-accuracy, for some novelty hack.

So I'd go with, if you can offer the option at no cost, sure. Just don't leave it enabled by default.
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: Is it possible to remove slowdown in emulators?

Post by Gil_Hamilton »

magitek369 wrote:Or am I just being the damn punk kid who doesn't know what the hell he's talking about here?

Yes. Now get off my e-lawn, you damn whippersnapper!
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
magitek369
Hazed
Posts: 70
Joined: Sat Apr 24, 2010 2:19 am

Re: Is it possible to remove slowdown in emulators?

Post by magitek369 »

Gil_Hamilton wrote:
magitek369 wrote:Or am I just being the damn punk kid who doesn't know what the hell he's talking about here?

Yes. Now get off my e-lawn, you damn whippersnapper!

You're not the boss of me! You're not my real dad!
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: Is it possible to remove slowdown in emulators?

Post by Gil_Hamilton »

magitek369 wrote:
Gil_Hamilton wrote:
magitek369 wrote:Or am I just being the damn punk kid who doesn't know what the hell he's talking about here?

Yes. Now get off my e-lawn, you damn whippersnapper!

You're not the boss of me! You're not my real dad!

Damn right I ain't your dad! If I was your pappy, I'd bend you over my knee and whip you so hard you couldn't sit for a week!

Now get out 'fore I whip out my shotgun!
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
PHoNyMiKe
Retrosexual
Posts: 1011
Joined: Wed Jul 28, 2004 2:09 am
Location: Rapture

Re: Is it possible to remove slowdown in emulators?

Post by PHoNyMiKe »

unfortunately I haven't used zsnes in a while, I don't know if this setting is still in zsnes.cfg but try it out:

Code: Select all

; Percent to Execute [50..150] - only modify if you know what you are doing
; Changing this value may help certain games run.
per2exec=100


use this thread as a warning as to why this probably won't work. it's like you're a secretary and are supposed to call people for appointments all day, but today you took some crack, so you start calling everybody early and a lot of those people are still sleeping or waiting for a call from the other people you've already called before they can talk to you. see kids, crack is whack.
pecijackson
New Member
Posts: 1
Joined: Thu Feb 02, 2012 8:39 am

Re: Is it possible to remove slowdown in emulators?

Post by pecijackson »

for a game like gradius or 1 life till death game , i would prefer using save state. n load state sir. and furthermore. i think it's possible to do frame skipping so the game will run faster. :D
Gil_Hamilton
Buzzkill Gil
Posts: 4267
Joined: Wed Jan 12, 2005 7:14 pm

Re: Is it possible to remove slowdown in emulators?

Post by Gil_Hamilton »

...
GOD. DAMMIT.
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
odditude
Official tech support dood
Posts: 2107
Joined: Wed Jan 25, 2006 7:57 am

Re: Is it possible to remove slowdown in emulators?

Post by odditude »

Gil_Hamilton wrote:...
GOD. DAMMIT.

awwwh, look, it's the internet version of a facial tic.
thank you, thread necromancer, for bringing me a smile due to the reaction to teh stupid.
Why yes, my shift key *IS* broken.
grinvader
ZSNES Shake Shake Prinny
Posts: 5626
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Re: Is it possible to remove slowdown in emulators?

Post by grinvader »

hahahahahahahahahaha

hahahaha
haha
皆黙って俺について来い!!

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
Post Reply