Changes

Jump to navigation Jump to search

Overclocking

12 bytes added, 12:39, 23 August 2018
grammar
Overclocking is the process by which the CPU clockspeed 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==
==MAME==
By default [[MAME]] allows you to change the clockspeed clock speed of the systems it emulates (including consoles) to anything between 50% to 200% of the original clockspeedclock speed, the only requirement is that you enable cheats for that game/system.
==NES==
[[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 approximately 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 being 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 - Nocash SNES 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):
* 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.
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===
[[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 many cases.
==PlayStation==
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 (the libretro fork of Mednafen's PS1 core) also support overclocking, by way of removing timing penalties instead of increasing clock speed.
==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>
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.
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 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.
1,809
edits

Navigation menu