Difference between revisions of "Overclocking"
(Added some info about 3DO)
|Line 63:||Line 63:|
| style="text-align: center;"|Yes
| style="text-align: center;"|Yes
| style="text-align: center;"|14-18 MHz<ref name="neooc"/>
| style="text-align: center;"|14-18 MHz<ref name="neooc"/>
|Line 215:||Line 221:|
Windows version of [[4DO]] allows up to 400% of the original 3DO clock speed, making some low frame rate titles such as Doctor Hauzermore playable. libretroversion of 4DOdoes not seem to contain overclocking features.
Revision as of 16:09, 14 June 2019
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.
|System||Normal clock||Hardware Overclock||Emulation Overclock||Overclock levels|
|SNES (Main CPU)||3.58 MHz||Yes||Yes||4.1 -7.6 Mhz|
|SNES (Super FX 1)||10.5 MHz||Yes||Yes||40-60 Mhz|
|SNES (Super FX 2)||21 MHz||Yes||Yes||40-60 Mhz,|
|Sega Genesis||7.7 MHz||Yes||Yes||13.1-25.4 MHz|
|Sega Saturn||28.6 MHz*||No||No||-|
|Nintendo 64||93.75 MHz||Yes||Yes||125-187.5 Mhz|
|Neo Geo||12 MHz||Yes||Yes||14-18 MHz|
* Sega Saturn has two SH-2 CPUs
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.
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.
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.
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).
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.
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 builds of all Snes9x libretro cores 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.
The main CPU can be overclocked on real hardware but will also speed up audio.
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.
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 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
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.
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.
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.
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.
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 (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.
The original hardware can be overclocked leading to faster/smoother gameplay.
Regen allows overclocking in the dev build version. 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.
Phoenix and 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 and Killing Time more playable. But since this function have theoretical possibility to break (like incorrect physic and unplayable speed) games, the libretro version of 4DO does not seem to contain overclocking features.