News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Super fx games: Special Overclock Edition  (Read 5316 times)

Drakon

  • Sr. Member
  • ****
  • Posts: 277
    • View Profile
    • 16 Bit Gamer
Super fx games: Special Overclock Edition
« on: April 09, 2013, 07:33:39 pm »
*edit*

Starfox 1 57 mhz:

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

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

*original post*

http://www.youtube.com/watch?v=U4pm8WCtGX0&feature=youtu.be

Starfox 2 running at an insane 53.3 mhz on a standard stunt race fx cart that's wired for eproms and overclocked.  To accomplish this I needed to do a little romhacking magic.  First I disabled the "double speed" clock mode.  Doing this allows me to overclock the framerate 2x what I can do with double speed mode engaged because the overclocking limit is doubled when the internal clock is running at single speed.

I did a bit of research on superfx registers, I came across a register that enables a high speed multiplier mode.  After doing a quick search I noticed starfox 2 and starfox are the only roms that don't set high speed multiplier mode.  Starfox 1 doesn't enable this mode I'm guessing because the mario chip doesn't have this mode, why starfox 2 doesn't enable the mode is beyond me, maybe because starfox 2 wasn't finished?

For testing purposes I burned a doom rom with high speed multiplier mode disabled and it ran like a complete slug compared to when the mode is enabled.  Since my starfox 2 has a disabled "double speed mode" register write I just reprogrammed this to write the register that enables high speed multiplier mode.  The results were better than expected.  The slowdown is greatly reduced with high speed multiplier mode enabled.  There's also an "IRQ Interrupt Mask" function within the same register, I changed this as well (not on purpose).  Interestingly changing the irq interrupt mask made starfox 2 stop flickering once overclocked beyond a certain speed, allowing me to overclock the game to the full limit of the superfx chip.

I'm fairly certain that 53 / 54 mhz is the top speed of the superfx chip since both starfox 2 and stunt race fx have the exact same top overclock speed.  This romhack was a little bit of skill, a little bit of experimentation, and a little bit of luck.  I'm also trying to enable this mode in the starfox 1 rom but for starfox 1 I'll need to find a way to insert the programming since there's no register writes I can hijack.  I'm going to need help inserting this little piece of code into the starfox 1 rom.
« Last Edit: April 14, 2013, 12:16:36 am by Drakon »

Marcelo_20XX

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Starfox 2: Special Overclock Edition
« Reply #1 on: April 11, 2013, 05:18:51 pm »
Nice work! Luckily we can achieve the same speeds on emulators too, by modifying the emulation speed of the FX chip and play Star Fox at an overclocked 60 Mhz with no noticeable glitches (or at least some minors ones). I already saw your Star Fox Route 3 video btw. Never finished the game on that route on the original console, done that in a matter of minutes on emus.

Bregalad

  • Hero Member
  • *****
  • Posts: 2651
    • View Profile
Re: Starfox 2: Special Overclock Edition
« Reply #2 on: April 13, 2013, 05:40:26 pm »
So, what is the difference between this and the original ?
A better frame rate ? Game playing faster or graphics being less jittering ?

Marcelo_20XX

  • Jr. Member
  • **
  • Posts: 25
    • View Profile
Re: Starfox 2: Special Overclock Edition
« Reply #3 on: April 13, 2013, 09:39:44 pm »
Smoother gameplay, because the chip can process more in less time with the added Mhz, still there are some slowdowns in heavily polygon filled areas, but I guess that's because the CPU and not the FX chip is satured.