Editing Overclocking

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 80: Line 80:
  
 
==MAME==
 
==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.
+
By default [[MAME]] allows you to change the clock speed of the systems it emulates (including consoles) to anything between 50% to 200% of the original clock speed, the only requirement is that you enable cheats for that game/system.
  
 
==NES==
 
==NES==
Line 95: Line 95:
 
==SNES==
 
==SNES==
 
===Main CPU===
 
===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).<ref name="Fullsnes - No$SNS Specs">http://problemkaputt.de/fullsnes.htm#cpuclockcycles</ref>
+
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 - 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):
 
In testing overclocks on the original hardware, the following issues occur (speeds listed represent the maximum effective clock rate):
Line 104: Line 104:
 
* 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 250% 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 200% 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.
 
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.

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)