Difference between revisions of "Overclocking"

From Emulation General Wiki
Jump to navigation Jump to search
(Sega Genesis)
m (Fixed reference)
(23 intermediate revisions by 16 users not shown)
Line 1: Line 1:
Overclocking is the process by which the CPU clockspeed is increased. The reason for doing this would be to reduce slowdown in games, or to increase the frame rate. However, as this is a hack and not intended by designers, it can result in many issues. Certain systems can have an overclocked CPU with few if any issues, while others can not overclock without major issues.  
+
Overclocking is the process by which the CPU clock speed is increased. The reason for doing this would be to reduce slowdown in games or to increase the frame rate. However, as this is a hack and not intended by designers, it can result in many issues. Certain systems can have an overclocked CPU with few if any issues, while others can not overclock without major issues.  
  
 
==Chart==
 
==Chart==
{| class="wikitable"
+
{| class="wikitable" style="text-align:center;"
 
|-
 
|-
! scope="col" style="text-align: center;"|System
+
! scope="col"|System
! scope="col" style="text-align: center;"|Normal clock
+
! scope="col"|Normal clock
! scope="col" style="text-align: center;"|Hardware Overclock
+
! scope="col"|Hardware Overclock
! scope="col" style="text-align: center;"|Emulation Overclock
+
! scope="col"|Emulation Overclock
! scope="col" style="text-align: center;"|Overclock levels
+
! scope="col"|Overclock levels
 
|-
 
|-
| style="text-align: center;"|[[Nintendo Entertainment System emulators|NES]]
+
|[[Nintendo Entertainment System emulators|NES]]
| style="text-align: center;"|1.79 MHz
+
|1.79 MHz
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|?
+
|?
 
|-
 
|-
| style="text-align: center;"|[[Super Nintendo emulators|SNES]] (Main CPU)
+
|[[Super Nintendo emulators|SNES]] (Main CPU)
| style="text-align: center;"|3.58 MHz
+
|3.58 MHz
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|4.1 -7.6 Mhz
+
|4.1-7.6 Mhz
 
|-
 
|-
| style="text-align: center;"|[[Super Nintendo emulators|SNES]] (Super FX 1)
+
|[[Super Nintendo emulators|SNES]] (Super FX 1)
| style="text-align: center;"|10.5 MHz
+
|10.5 MHz
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|40-60 Mhz
+
|40-60 Mhz
 
|-
 
|-
| style="text-align: center;"|[[Super Nintendo emulators|SNES]] (Super FX 2)
+
|[[Super Nintendo emulators|SNES]] (Super FX 2)
| style="text-align: center;"|21 MHz
+
|21 MHz
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|40-60 Mhz,
+
|40-60 Mhz,
 
|-
 
|-
| style="text-align: center;"|[[Sega Genesis emulators|Sega Genesis]]
+
|[[Sega Genesis emulators|Sega Genesis]]
| style="text-align: center;"|7.7 MHz
+
|7.7 MHz
| style="text-align: center;"|Yes<ref name="kyorune">http://kyorune.com/modding/article.php?id=73</ref>
+
|{{✓}}<ref name="kyorune">http://kyorune.com/modding/article.php?id=73</ref>
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|13.1-25.4 MHz<ref name="kyorune"/>
+
|13.1-25.4 MHz<ref name="kyorune"/>
 
|-
 
|-
| style="text-align: center;"|[[PlayStation]]
+
|[[PlayStation emulators|PlayStation]]
| style="text-align: center;"|33.8 MHz
+
|33.8 MHz
| style="text-align: center;"|Yes<ref name="kraut">https://www.youtube.com/watch?v=HapnSOseDfw</ref>
+
|{{✓}}<ref name="kraut">https://www.youtube.com/watch?v=HapnSOseDfw</ref>
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|66Mhz<ref name="kraut"/>
+
|66Mhz<ref name="kraut"/>
 
|-
 
|-
| style="text-align: center;"|[[Sega Saturn]]
+
|[[Sega Saturn emulators|Sega Saturn]]
| style="text-align: center;"|28.6 MHz*
+
|28.6 MHz*
| style="text-align: center;"|No
+
|{{✗}}
| style="text-align: center;"|No
+
|{{✗}}
| style="text-align: center;"|-
 
 
|-
 
|-
| style="text-align: center;"|[[Nintendo 64]]
 
| style="text-align: center;"|93.75 MHz
 
| style="text-align: center;"|Yes<ref name="n64oc">http://www.gamesx.com/misctech/n64oc.htm</ref>
 
| style="text-align: center;"|Yes
 
| style="text-align: center;"|125-187.5 Mhz<ref name="n64oc"/>
 
 
|-
 
|-
| style="text-align: center;"|[[Neo Geo]]
+
|[[Nintendo 64 emulators|Nintendo 64]]
| style="text-align: center;"|12 MHz
+
|93.75 MHz
| style="text-align: center;"|Yes<ref name="neooc">http://www.neo-geo.com/forums/showthread.php?158016-68K-s-guide-to-overclocking-your-Neo-Geo-AES</ref>
+
|{{✓}}<ref name="n64oc">http://www.gamesx.com/misctech/n64oc.htm</ref>
| style="text-align: center;"|Yes
+
|{{✓}}
| style="text-align: center;"|14-18 MHz<ref name="neooc"/>
+
|125-187.5 Mhz<ref name="n64oc"/>
 +
|-
 +
|[[Neo Geo emulators|Neo Geo]]
 +
|12 MHz
 +
|{{✓}}<ref name="neooc">http://www.neo-geo.com/forums/showthread.php?158016-68K-s-guide-to-overclocking-your-Neo-Geo-AES</ref>
 +
|{{✓}}
 +
|14-18 MHz<ref name="neooc"/>
 +
|-
 +
|[[3DO emulators|3DO]]
 +
|12.5 MHz
 +
|{{na|text=Unknown}}
 +
|{{✓}}
 +
|{{na}}
 
|-
 
|-
 
|}
 
|}
 
<nowiki>*</nowiki> Sega Saturn has two SH-2 CPUs
 
<nowiki>*</nowiki> Sega Saturn has two SH-2 CPUs
 +
 +
==MAME==
 +
By default [[MAME]] allows you to change the clock speed of the systems it emulates (including consoles) to anything between 50% to 250% of the original clock speed, the only requirement is that you enable cheats for that game/system.
  
 
==NES==
 
==NES==
Line 76: Line 85:
 
[[Mesen]] as of 0.2.2 includes the same feature, as well as CPU overclocking. Both are found under Options > Emulation > Overclocking.
 
[[Mesen]] as of 0.2.2 includes the same feature, as well as CPU overclocking. Both are found under Options > Emulation > Overclocking.
  
For PPU Overclocking, the number of additional scanlines is user defined. 240 Post-render Scanlines (Referred to as "Before NMI" in Mesen) should be more than enough for most games. If you happen to experience graphical glitching or crashes with a PPU overclock, try the VBlank Scanlines ("After NMI" in Mesen) option instead. Though uncommon, this is required for some games, a notable example being Contra Force.
+
For PPU Overclocking, the number of additional scanlines is user-defined. 240 Post-render Scanlines (Referred to as "Before NMI" in Mesen) should be more than enough for most games. If you happen to experience graphical glitching or crashes with a PPU overclock, try the VBlank Scanlines ("After NMI" in Mesen) option instead. Though uncommon, this is required for some games, a notable example being Contra Force.
  
 
==SNES==
 
==SNES==
 
===Main CPU===
 
===Main CPU===
The main SNES CPU ran at 3.58 MHz and can be overclocked. However it causes issues. With those who have tested it, the following issues occur:  
+
For an NTSC SNES, the master clock rate is approximate ~21.477 MHz, but the CPU's effective clock rates are ~3.58 MHz, ~2.68 MHz, or ~1.79 MHz. This is because any CPU operation takes 6 master cycles (i.e. 21.477/6 = 3.58) and memory access can take 6, 8, or 12, depending on the area of RAM is accessed. In the case of ROM access, it also depends on whether bit 0 of CPU register 420D is set to 0 (SlowROM, 8) or 1 (FastROM, 6).<ref name="Fullsnes - No$SNS Specs">http://problemkaputt.de/fullsnes.htm#cpuclockcycles</ref>
 +
 
 +
In testing overclocks on the original hardware, the following issues occur (speeds listed represent the maximum effective clock rate):
  
 
* 4.1 MHz: Small amounts of sprite breakup occasionally; very little slowdown.
 
* 4.1 MHz: Small amounts of sprite breakup occasionally; very little slowdown.
Line 87: Line 98:
 
* 7.6 MHz: Color palette errors; sprites fail to render. Freezes after a few minutes.<ref name="SNES overclock">http://web.archive.org/web/20070629163744/http://www.undergroundcm.com/index.php?option=com_content&task=view&id=15&Itemid=38</ref>
 
* 7.6 MHz: Color palette errors; sprites fail to render. Freezes after a few minutes.<ref name="SNES overclock">http://web.archive.org/web/20070629163744/http://www.undergroundcm.com/index.php?option=com_content&task=view&id=15&Itemid=38</ref>
  
Only MAME has an option to change the main CPU frequency, which requires you to enable cheats. MAME SNES emulation is very demanding by default, and activating the overclock only makes it worse. It is more stable than the real hardware while overclocked and won't exhibit the same issues, but it is still very unstable especially if you adjust the frequency multiple times. It also does not allow you to go over 200% clock speed, which isn't enough to fully get rid of slowdowns in some games.
+
Only MAME has an option to change the main CPU frequency, which requires you to enable cheats. MAME SNES emulation is very demanding by default and activating the overclock only makes it worse. It is more stable than the real hardware while overclocked and won't exhibit the same issues, but it is still very unstable especially if you adjust the frequency multiple times. It also does not allow you to go over 250% clock speed, which isn't enough to fully get rid of slowdowns in some games.
 +
 
 +
The latest standalone version of [[Snes9x]] and all of the [[libretro]] cores builds can overclock by reducing the number of emulated CPU/memory access cycles from 6, 8, and 12 to either 4, 5, and 6 (Compatible) or 3, 3, and 3 (Max) respectively. Just for comparison, that means the Max option is effectively 7.16 MHz. Gameplay is not sped up (assuming the game is not in a constant state of some slowdown, to begin with, like Out of This World) and the issues experienced on real hardware are not present, though stability will vary depending on the game and which option you use. Also to note, some games may work better with the Max option rather than Compatible, as appears to be the case for Mega Man X1 which has a bit of graphical corruption under very specific conditions when using the Compatible option, so try both if you encounter issues.
  
 
===Super FX chip===
 
===Super FX chip===
Line 94: Line 107:
 
The SFX chip can be overclocked on real hardware or emulation with fewer issues than overclocking the CPU. However, tests have shown that overclocking can increase the speed of the game, in addition to increasing the frame rate and removing slowdown.<ref name="Dragon50hztest">https://www.youtube.com/watch?v=tfNI3HpUt-4</ref>
 
The SFX chip can be overclocked on real hardware or emulation with fewer issues than overclocking the CPU. However, tests have shown that overclocking can increase the speed of the game, in addition to increasing the frame rate and removing slowdown.<ref name="Dragon50hztest">https://www.youtube.com/watch?v=tfNI3HpUt-4</ref>
  
{| class="wikitable"
+
{| class="wikitable" style="text-align:center;"
 
|-
 
|-
! scope="col" style="text-align: center;"|Clock speed
+
! scope="col"|Clock speed
! scope="col" style="text-align: center;"|Time
+
! scope="col"|Time
! scope="col" style="text-align: center;"|Increase
+
! scope="col"|Increase
 
|-
 
|-
| style="text-align: center;"|Normal
+
|Normal
| style="text-align: center;"|1'46'02
+
|1'46'02
| style="text-align: center;"|-------
+
|&mdash;
 
|-
 
|-
| style="text-align: center;"|50hz
+
|50Hz
| style="text-align: center;"|1'23'78
+
|1'23'78
| style="text-align: center;"|27.711%<ref name="Dragon50hztest"/>
+
|27.711%<ref name="Dragon50hztest"/>
 
 
 
|}
 
|}
  
[[RetroArch|Snes9x-Next]] allows for SFX overclocking, as well as [[higan|bsnes-mercury]], though in the latter the increase in CPU requirements can be noticeable.
+
The latest standalone version of [[Snes9x]], as well as [[RetroArch|Snes9x-Next]] and [[higan|bsnes-mercury]] allows for SFX overclocking. Though in the latter the increase in CPU requirements can be noticeable.
  
 
==PC-Engine (TG-16)==
 
==PC-Engine (TG-16)==
Line 118: Line 130:
  
 
==N64==
 
==N64==
Some emulators like the [[Libretro|libretro]] port of [[Mupen64Plus]] have an overclocking option called "VI Refresh", and 1964 UltraFast (a very old fork of 1964) have an option to overclock the CPU.
+
Some emulators like the [[libretro]] port of [[Mupen64Plus]] have an overclocking option called "VI Refresh", and [[1964]] UltraFast (a very old fork of 1964) have an option to overclock the CPU.
  
 
Some games (see the list below) can take advantage of overclocking and improves frame rate, while most others (such as Super Mario 64) have built-in frame rate limiter and unaffected by overclocking.<ref>http://forum.pj64-emu.com/showpost.php?p=51810&postcount=6</ref><ref>http://www.emucr.com/2011/02/1964-ultrafast-v3.html</ref>
 
Some games (see the list below) can take advantage of overclocking and improves frame rate, while most others (such as Super Mario 64) have built-in frame rate limiter and unaffected by overclocking.<ref>http://forum.pj64-emu.com/showpost.php?p=51810&postcount=6</ref><ref>http://www.emucr.com/2011/02/1964-ultrafast-v3.html</ref>
  
 
===List of games that can take advantage of overclocking===
 
===List of games that can take advantage of overclocking===
<pre>
+
* ''A Bug's Life''
A Bug's Life
+
* ''Aidyn Chronicles - The First Mage''
Aidyn Chronicles - The First Mage
+
* ''Armorines - Project S.W.A.R.M.''
Armorines - Project S.W.A.R.M.
+
* ''Big Mountain 2000''
Big Mountain 2000
+
* ''Carmageddon''
Carmageddon
+
* ''Conker's Bad Fur Day''
Conker's Bad Fur Day
+
* ''Destruction Derby 64''
Destruction Derby 64
+
* ''Disney's Donald Duck - Goin' Quackers / Donald Duck - Quack Attack''
Disney's Donald Duck - Goin' Quackers / Donald Duck - Quack Attack
+
* ''Duck Dodgers Starring Daffy Duck / Looney Toons - Duck Dodgers''
Duck Dodgers Starring Daffy Duck / Looney Toons - Duck Dodgers
+
* ''Earthworm Jim 3D''
Earthworm Jim 3D
+
* ''Extreme-G''
Extreme-G
+
* ''Extreme-G XG2''
Extreme-G XG2
+
* ''F1 Racing Championship''
F1 Racing Championship
+
* ''F-1 Pole Position 64''
F-1 Pole Position 64
+
* ''Gex 3 - Deep Cover Gecko''
Gex 3 - Deep Cover Gecko
+
* ''GoldenEye 007''
GoldenEye 007
+
* ''Hot Wheels Turbo Racing''
Hot Wheels Turbo Racing
+
* ''Human Grand Prix - New Generation''
Human Grand Prix - New Generation
+
* ''Jet Force Gemini / Star Twins''
Jet Force Gemini / Star Twins
+
* ''Jeremy McGrath Supercross 2000''
Jeremy McGrath Supercross 2000
+
* ''Kobe Bryant's NBA Courtside''
Kobe Bryant's NBA Courtside
+
* ''Madden Football 64''
Madden Football 64
+
* ''Madden NFL 99-2002''
Madden NFL 99-2002
+
* ''Mario Kart 64 (Multiplayer and some tracks only)''
Mario Kart 64 (Multiplayer and some tracks only)
+
* ''Milo's Astro Lanes''
Milo's Astro Lanes
+
* ''Monaco Grand Prix - Racing Simulation 2''
Monaco Grand Prix - Racing Simulation 2
+
* ''Monster Truck Madness 64''
Monster Truck Madness 64
+
* ''NASCAR 99/2000''
NASCAR 99/2000
+
* ''NBA In the Zone 98 / NBA Pro 98''
NBA In the Zone 98 / NBA Pro 98
+
* ''Off Road Challenge''
Off Road Challenge
+
* ''Perfect Dark''
Perfect Dark
+
* ''Quake II''
Quake II
+
* ''Racing Simulation 2''
Racing Simulation 2
+
* ''Rakuga Kids''
Rakuga Kids
+
* ''Rayman 2 - The Great Escape''
Rayman 2 - The Great Escape
+
* ''Roadsters Trophy''
Roadsters Trophy
+
* ''San Francisco Rush - Extreme Racing (Multiplayer only)''
San Francisco Rush - Extreme Racing (Multiplayer only)
+
* ''San Francisco Rush 2049 (Multiplayer only)''
San Francisco Rush 2049 (Multiplayer only)
+
* ''South Park Rally''
South Park Rally
+
* ''StarCraft 64''
StarCraft 64
+
* ''Starshot - Space Circus Fever''
Starshot - Space Circus Fever
+
* ''Super Robot Spirits''
Super Robot Spirits
+
* ''Taz Express''
Taz Express
+
* ''The New Tetris''
Tom Clancy's Rainbow Six
+
* ''Tom Clancy's Rainbow Six''
Tonic Trouble
+
* ''Tonic Trouble''
Toy Story 2
+
* ''Toy Story 2''
Transformers - Beast Wars Transmetal
+
* ''Transformers - Beast Wars Transmetal''
Turok 2 - Seeds of Evil / Violence Killer - Turok New Generation
+
* ''Turok 2 - Seeds of Evil / Violence Killer - Turok New Generation''
V-Rally Edition 99
+
* ''V-Rally Edition 99''
WCW vs. nWo - World Tour
+
* ''WCW vs. nWo - World Tour''
World Cup 98
+
* ''World Cup 98''
</pre>
 
  
 
==GameCube/Wii==
 
==GameCube/Wii==
 
[[Dolphin]] supports overclocking and underclocking the CPU. Overclocking can remove slowdown from games that have them, pushing them closer to their actual target frame rate. It causes several issues with many games, so don't expect it to be a perfect solution.
 
[[Dolphin]] supports overclocking and underclocking the CPU. Overclocking can remove slowdown from games that have them, pushing them closer to their actual target frame rate. It causes several issues with many games, so don't expect it to be a perfect solution.
  
Dolphin used to have a VBeam Speed Hack that doubled GPU clock rate. This has since been removed, as the developers found that it didn't really help in any cases.
+
Dolphin used to have a VBeam Speed Hack that doubled GPU clock rate. This has since been removed, as the developers found that it didn't really help in many cases.
  
 
==PlayStation==
 
==PlayStation==
 
On real hardware, overclocking is possible using [http://djky2k3.tripod.com/psx_oc.html this modification].
 
On real hardware, overclocking is possible using [http://djky2k3.tripod.com/psx_oc.html this modification].
  
On emulators, [https://github.com/SonofUgly/PCSX-Reloaded/releases this modified build] of [[PCSX-Reloaded|PCSX-R]] as well as [http://ngemu.com/threads/pcsxr-pgxp.186369/ this fork] allow for overclocking, though most games will break past 1.5x clock speed. Recent builds of Beetle PSX (libretro fork of Mednafen's PS1 core) also support overclocking, by way of removing timing penalties instead increasing clock speed.
+
On emulators, [https://github.com/SonofUgly/PCSX-Reloaded/releases this modified build] of [[PCSX-Reloaded|PCSX-R]] as well as [http://ngemu.com/threads/pcsxr-pgxp.186369/ this fork] allow for overclocking, though most games will break past 1.5x clock speed. Recent builds of Beetle PSX (the libretro fork of Mednafen's PS1 core) also support overclocking, by way of removing timing penalties instead of increasing clock speed. EPSXe also natively supports overclocking up to 4x. Hydro Thunder benefits a lot from it, running at a constant 30 FPS without any other issues.
  
 
==PS2==
 
==PS2==
On original model PS2s you can overclock by a small amount without too much problem, but the biggest issue will be sped-up audio. Slim model PS2s use the GPU's clock rate as a base for the CPU (multiplying the GPU's clock by 2), so overclocking the CPU will also overclock the GPU resulting in many visual problems.<ref name="PS2OC">http://nfggames.com/forum2/index.php?topic=2220.0</ref>
+
On original model PS2s, you can overclock by a small amount without too much problem, but the biggest issue will be sped-up audio. Slim model PS2s use the GPU's clock rate as a base for the CPU (multiplying the GPU's clock by 2), so overclocking the CPU will also overclock the GPU resulting in many visual problems.<ref name="PS2OC">http://nfggames.com/forum2/index.php?topic=2220.0</ref>
  
 
All recent builds of [[PCSX2]] have a speed hack that allows you to increase the EE cycle-rate without having any effect on the audio, although it does still break a few games most of them run fine and with less slowdown. The emulator also has a speed hack called VU Cycle Stealing, which allows for increased GPU performance at the cost of CPU cycles. It gives an incorrect FPS readout, though.
 
All recent builds of [[PCSX2]] have a speed hack that allows you to increase the EE cycle-rate without having any effect on the audio, although it does still break a few games most of them run fine and with less slowdown. The emulator also has a speed hack called VU Cycle Stealing, which allows for increased GPU performance at the cost of CPU cycles. It gives an incorrect FPS readout, though.
Line 196: Line 207:
  
 
==Neo Geo==
 
==Neo Geo==
[[Final Burn Alpha]] allows for overclocking of Neo Geo games. MAMEUIFX (aka MAME32FX) also allows for overclocking.<ref>http://mame32fx.altervista.org/home.htm</ref>  All Neo Geo should run at full speed when overclocked.
+
[[FinalBurn Alpha]] allows for overclocking of Neo Geo games. MAMEUIFX (aka MAME32FX) also allows for overclocking.<ref>http://mame32fx.altervista.org/home.htm</ref>  All Neo Geo should run at full speed when overclocked.
  
 
==Sega Genesis==
 
==Sega Genesis==
Line 203: Line 214:
 
Most Genesis emulators don't allow overclocking. The [[Genesis Plus GX]] developer, for instance, says that implementing overclocking is "not easy to add without potentially break other things. <ref>https://code.google.com/p/genplus-gx/issues/detail?id=223</ref>
 
Most Genesis emulators don't allow overclocking. The [[Genesis Plus GX]] developer, for instance, says that implementing overclocking is "not easy to add without potentially break other things. <ref>https://code.google.com/p/genplus-gx/issues/detail?id=223</ref>
  
[http://aamirm.hacking-cult.org/www/regen.html Regen] allows overclocking in the dev build version.<ref>http://segaretro.org/Regen</ref> Games with sprite flicker, like Altered Beast, and games with slowdown, like Rambo III or Mega Man: The Wily Wars, play perfectly with Regen's "Overclock M68000" setting at 732 (1.5x original speed). The game speed and audio are unaffected by overclocking.
+
[http://aamirm.hacking-cult.org/www/regen.html Regen] allows overclocking in the dev build version.<ref>http://segaretro.org/Regen</ref> Games with sprite flicker, like Altered Beast, and games with some slowdown, like Rambo III or Mega Man: The Wily Wars, play perfectly with Regen's "Overclock M68000" setting at 732 (1.5x original speed). The game speed and audio are unaffected by overclocking.
  
Blastem and HazeMD also allow for overclocking but neither are really recommended for normal usage.
+
BlastEm and HazeMD also allow for overclocking but neither are really recommended for normal usage.
  
 
==3DO==
 
==3DO==
Standalone Windows version of 4DO allows up to 400% of the original 3DO clock speed, making some low frame rate titles such as Doctor Hauzer more playable. The libretro version of 4DO does not seem to contain overclocking features.
+
[[Phoenix (emulator)|Phoenix]] and standalone Windows version of [[4DO]] allows up to 4.0/400% of the original 3DO clock speed, making some low frame rate titles such as [[wikipedia:Doctor_Hauzer|Doctor Hauzer]] and [[wikipedia:Killing_Time_(video_game)|Killing Time]] more playable. Also possible to overclock CPU in [[libretro]] version of [[4DO]]<ref>https://docs.libretro.com/library/opera/#core-options</ref> in options in core's quick menu after game launch, but only to 2.0x speed, that still may seem slow.
 +
 
 +
The possibility of this function to break games (like incorrect physic and unplayable speed) is unknown.
  
 
==References==
 
==References==

Revision as of 17:40, 22 July 2020

Overclocking is the process by which the CPU clock speed is increased. The reason for doing this would be to reduce slowdown in games or to increase the frame rate. However, as this is a hack and not intended by designers, it can result in many issues. Certain systems can have an overclocked CPU with few if any issues, while others can not overclock without major issues.

Chart

System Normal clock Hardware Overclock Emulation Overclock Overclock levels
NES 1.79 MHz ?
SNES (Main CPU) 3.58 MHz 4.1-7.6 Mhz
SNES (Super FX 1) 10.5 MHz 40-60 Mhz
SNES (Super FX 2) 21 MHz 40-60 Mhz,
Sega Genesis 7.7 MHz [1] 13.1-25.4 MHz[1]
PlayStation 33.8 MHz [2] 66Mhz[2]
Sega Saturn 28.6 MHz*
Nintendo 64 93.75 MHz [3] 125-187.5 Mhz[3]
Neo Geo 12 MHz [4] 14-18 MHz[4]
3DO 12.5 MHz Unknown N/A

* Sega Saturn has two SH-2 CPUs

MAME

By default MAME allows you to change the clock speed of the systems it emulates (including consoles) to anything between 50% to 250% of the original clock speed, the only requirement is that you enable cheats for that game/system.

NES

Overclocking is possible on real hardware, but doing so also speeds up the audio unless you're using a special hardware mod like the HiDefNES which does allow for overclocking without changing the audio pitch[5].

FCEUX as of 2.2.3 includes an overclocking option which works by adding additional scanlines to the PPU loop. This method doesn't cause audio distortion. It is found under Config > Timing.

puNES as of 0.101 includes the same feature. It is found under Tools > PPU Hacks.

Mesen as of 0.2.2 includes the same feature, as well as CPU overclocking. Both are found under Options > Emulation > Overclocking.

For PPU Overclocking, the number of additional scanlines is user-defined. 240 Post-render Scanlines (Referred to as "Before NMI" in Mesen) should be more than enough for most games. If you happen to experience graphical glitching or crashes with a PPU overclock, try the VBlank Scanlines ("After NMI" in Mesen) option instead. Though uncommon, this is required for some games, a notable example being Contra Force.

SNES

Main CPU

For an NTSC SNES, the master clock rate is approximate ~21.477 MHz, but the CPU's effective clock rates are ~3.58 MHz, ~2.68 MHz, or ~1.79 MHz. This is because any CPU operation takes 6 master cycles (i.e. 21.477/6 = 3.58) and memory access can take 6, 8, or 12, depending on the area of RAM is accessed. In the case of ROM access, it also depends on whether bit 0 of CPU register 420D is set to 0 (SlowROM, 8) or 1 (FastROM, 6).[6]

In testing overclocks on the original hardware, the following issues occur (speeds listed represent the maximum effective clock rate):

  • 4.1 MHz: Small amounts of sprite breakup occasionally; very little slowdown.
  • 5.1 MHz: Sprite breakup; no slowdown
  • 6.6 MHz: Color palette errors; sprites fail to render
  • 7.6 MHz: Color palette errors; sprites fail to render. Freezes after a few minutes.[7]

Only MAME has an option to change the main CPU frequency, which requires you to enable cheats. MAME SNES emulation is very demanding by default and activating the overclock only makes it worse. It is more stable than the real hardware while overclocked and won't exhibit the same issues, but it is still very unstable especially if you adjust the frequency multiple times. It also does not allow you to go over 250% clock speed, which isn't enough to fully get rid of slowdowns in some games.

The latest standalone version of Snes9x and all of the libretro cores builds can overclock by reducing the number of emulated CPU/memory access cycles from 6, 8, and 12 to either 4, 5, and 6 (Compatible) or 3, 3, and 3 (Max) respectively. Just for comparison, that means the Max option is effectively 7.16 MHz. Gameplay is not sped up (assuming the game is not in a constant state of some slowdown, to begin with, like Out of This World) and the issues experienced on real hardware are not present, though stability will vary depending on the game and which option you use. Also to note, some games may work better with the Max option rather than Compatible, as appears to be the case for Mega Man X1 which has a bit of graphical corruption under very specific conditions when using the Compatible option, so try both if you encounter issues.

Super FX chip

The first version of the chip, commonly referred to as simply "Super FX", is clocked with a 21 MHz signal, but an internal clock speed divider halves it to 10.5 MHz. Later on, the design was revised to become the Super FX GSU-2; this, unlike the first Super FX chip revision, is able to reach 21 MHz.

The SFX chip can be overclocked on real hardware or emulation with fewer issues than overclocking the CPU. However, tests have shown that overclocking can increase the speed of the game, in addition to increasing the frame rate and removing slowdown.[8]

Clock speed Time Increase
Normal 1'46'02
50Hz 1'23'78 27.711%[8]

The latest standalone version of Snes9x, as well as Snes9x-Next and bsnes-mercury allows for SFX overclocking. Though in the latter the increase in CPU requirements can be noticeable.

PC-Engine (TG-16)

The main CPU can be overclocked on real hardware but will also speed up audio.[9]

Mednafen allows overclocking the CPU up to 100x, without affecting audio pitch, in its non-default pce_fast core via the pce_fast.ocmultiplier setting.

N64

Some emulators like the libretro port of Mupen64Plus have an overclocking option called "VI Refresh", and 1964 UltraFast (a very old fork of 1964) have an option to overclock the CPU.

Some games (see the list below) can take advantage of overclocking and improves frame rate, while most others (such as Super Mario 64) have built-in frame rate limiter and unaffected by overclocking.[10][11]

List of games that can take advantage of overclocking

  • A Bug's Life
  • Aidyn Chronicles - The First Mage
  • Armorines - Project S.W.A.R.M.
  • Big Mountain 2000
  • Carmageddon
  • Conker's Bad Fur Day
  • Destruction Derby 64
  • Disney's Donald Duck - Goin' Quackers / Donald Duck - Quack Attack
  • Duck Dodgers Starring Daffy Duck / Looney Toons - Duck Dodgers
  • Earthworm Jim 3D
  • Extreme-G
  • Extreme-G XG2
  • F1 Racing Championship
  • F-1 Pole Position 64
  • Gex 3 - Deep Cover Gecko
  • GoldenEye 007
  • Hot Wheels Turbo Racing
  • Human Grand Prix - New Generation
  • Jet Force Gemini / Star Twins
  • Jeremy McGrath Supercross 2000
  • Kobe Bryant's NBA Courtside
  • Madden Football 64
  • Madden NFL 99-2002
  • Mario Kart 64 (Multiplayer and some tracks only)
  • Milo's Astro Lanes
  • Monaco Grand Prix - Racing Simulation 2
  • Monster Truck Madness 64
  • NASCAR 99/2000
  • NBA In the Zone 98 / NBA Pro 98
  • Off Road Challenge
  • Perfect Dark
  • Quake II
  • Racing Simulation 2
  • Rakuga Kids
  • Rayman 2 - The Great Escape
  • Roadsters Trophy
  • San Francisco Rush - Extreme Racing (Multiplayer only)
  • San Francisco Rush 2049 (Multiplayer only)
  • South Park Rally
  • StarCraft 64
  • Starshot - Space Circus Fever
  • Super Robot Spirits
  • Taz Express
  • The New Tetris
  • Tom Clancy's Rainbow Six
  • Tonic Trouble
  • Toy Story 2
  • Transformers - Beast Wars Transmetal
  • Turok 2 - Seeds of Evil / Violence Killer - Turok New Generation
  • V-Rally Edition 99
  • WCW vs. nWo - World Tour
  • World Cup 98

GameCube/Wii

Dolphin supports overclocking and underclocking the CPU. Overclocking can remove slowdown from games that have them, pushing them closer to their actual target frame rate. It causes several issues with many games, so don't expect it to be a perfect solution.

Dolphin used to have a VBeam Speed Hack that doubled GPU clock rate. This has since been removed, as the developers found that it didn't really help in many cases.

PlayStation

On real hardware, overclocking is possible using this modification.

On emulators, this modified build of PCSX-R as well as this fork allow for overclocking, though most games will break past 1.5x clock speed. Recent builds of Beetle PSX (the libretro fork of Mednafen's PS1 core) also support overclocking, by way of removing timing penalties instead of increasing clock speed. EPSXe also natively supports overclocking up to 4x. Hydro Thunder benefits a lot from it, running at a constant 30 FPS without any other issues.

PS2

On original model PS2s, you can overclock by a small amount without too much problem, but the biggest issue will be sped-up audio. Slim model PS2s use the GPU's clock rate as a base for the CPU (multiplying the GPU's clock by 2), so overclocking the CPU will also overclock the GPU resulting in many visual problems.[12]

All recent builds of PCSX2 have a speed hack that allows you to increase the EE cycle-rate without having any effect on the audio, although it does still break a few games most of them run fine and with less slowdown. The emulator also has a speed hack called VU Cycle Stealing, which allows for increased GPU performance at the cost of CPU cycles. It gives an incorrect FPS readout, though.

PSP

PPSSPP allows over/underclocking of the main CPU. Due to Sony underclocking the CPU to 222 MHz then removing the underclock in a later firmware update to allow it to run at 333 MHz[13] (and thus not having games closely tied to clock rate), overclocking the system (and emulating an overclocked system) results to next to no ill effects.

Neo Geo

FinalBurn Alpha allows for overclocking of Neo Geo games. MAMEUIFX (aka MAME32FX) also allows for overclocking.[14] All Neo Geo should run at full speed when overclocked.

Sega Genesis

The original hardware can be overclocked leading to faster/smoother gameplay.[15]

Most Genesis emulators don't allow overclocking. The Genesis Plus GX developer, for instance, says that implementing overclocking is "not easy to add without potentially break other things. [16]

Regen allows overclocking in the dev build version.[17] Games with sprite flicker, like Altered Beast, and games with some slowdown, like Rambo III or Mega Man: The Wily Wars, play perfectly with Regen's "Overclock M68000" setting at 732 (1.5x original speed). The game speed and audio are unaffected by overclocking.

BlastEm and HazeMD also allow for overclocking but neither are really recommended for normal usage.

3DO

Phoenix and standalone Windows version of 4DO allows up to 4.0/400% of the original 3DO clock speed, making some low frame rate titles such as Doctor Hauzer and Killing Time more playable. Also possible to overclock CPU in libretro version of 4DO[18] in options in core's quick menu after game launch, but only to 2.0x speed, that still may seem slow.

The possibility of this function to break games (like incorrect physic and unplayable speed) is unknown.

References