Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] Option to overclock SuperFX chip #140

Closed
jcdenton2k opened this issue Nov 3, 2016 · 7 comments
Closed

[Request] Option to overclock SuperFX chip #140

jcdenton2k opened this issue Nov 3, 2016 · 7 comments

Comments

@jcdenton2k
Copy link

Continuing the brief conversation from here:
#124 (comment)

Just would like to see the option (in the GUI or INI files or command line) to overclock the SuperFX chip (both v1 and v2) for StarFox 1, StarFox 2, and other SuperFX games if desired.

I understand it is not 'accurate' and may interfere with those who want accuracy foremost. But let's be real. Higan/bsnes (and forks) are the most accurate so accuracy isn't the top priority for SNES9X.

I enjoy that I can run SNES9X on older hardware and I feel that end-user customization and usability should distinguish SNES9X from the other emulators.

This would be an OPTION and NOT enabled by default. Once enabled it would only affect SuperFX games and would NOT affect anything if the SuperFX chip is not present for the original game.

I'd like to see the community speak their mind on this issue.

@qwertymodo
Copy link
Collaborator

Star Fox 1, at least, has no frame limiting, and simply relies on the GSU access waits to set the game speed, so overclocking the GSU doesn't just increase the framerate, it actually speeds up the entire game, making it considerably more difficult. I can't speak for other games, but it's unlikely to really be of much use for that reason, and even in the best case, it wouldn't be much more than a curiosity. That being said, if it's not a lot of work, eh, why not?

@jcdenton2k
Copy link
Author

jcdenton2k commented Nov 3, 2016

There's already a branch of libretro based on v1.52 so I'm hoping that existing code can be ported over for v1.54.1

Info:
http://wiki.libretro.com/index.php?title=Snes9x_2010&redirect=no

Source:
https://github.com/libretro/snes9x2010

If I knew coding I'd throw out some commits but as of now I'm just an issues guy. Wondering how many of those 'optimizations' could be backported as well.

@jcdenton2k
Copy link
Author

I've found some additional information & precedent for permitting the overclocking of the SuperFX chips.
From what I've read, the 'divide clock speed' is reprogrammed to act as a clock speed multiplier instead.

Doing this, you can get StarFox 1 and 2 running at over 50 Mhz! (compared to around 10 Mhz on the original). Someone calling themselves 'Drakon' has done SuperFX overclocks using client-provided donor hardware and the results are pretty amazing.

https://www.youtube.com/watch?v=ZLcw3O7aTgo
https://www.youtube.com/watch?v=qqi1aow6GZI
https://www.youtube.com/watch?v=U4pm8WCtGX0

Previously he was unable to get it overclocked without affecting game speed, but with the newer information I believe he has done so.

http://forums.nesdev.com/viewtopic.php?p=110879#p110879
http://www.sega-16.com/forum/showthread.php?23839-Guide-How-to-overclock-your-SNES-Super-FX-games

I would ask any devs to strongly consider adding this type of functionality into the emulator itself. I realize it is a specific use-case but considering how many people would love to play StarFox 1 and 2 at 'normal' smoother speeds above ~10 FPS would be phenomenal :)

@stubl
Copy link

stubl commented Nov 8, 2016

overclock options are in some of the snes emulators on the wii I use, and would be great in windows too

@jcdenton2k
Copy link
Author

I wouldn't mind a slider/multiplier to adjust speeds for the SuperFX chip (and possibly other chips) as far as their internal speeds. Sometimes they will break (as Drakon showed) but just leave things at default for an 'accurate' experience and overclock things a bit for better in-game FPS in SuperFX games like StarFox 1.

Even with the sped-up gameplay it is still very playable because the inputs are sped up as well and so on.

Aka 'Street Fighter 2 Turbo mode' but for the SuperFX chip ;)

@stubl
Copy link

stubl commented Feb 13, 2017

perhaps someone can port code from the snes9x wii emulator that has a SuperFX overclock feature implemented:

https://github.com/dborth/snes9xgx

@bearoso
Copy link
Collaborator

bearoso commented Oct 24, 2018

Done.

@bearoso bearoso closed this as completed Oct 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants