5

I discovered quite a number of videos on youtube demonstrating the effectiveness of over-clocking the CPU of Sega Genesis/MasterDrive. The video features games that are known for their intensive rendering procedures such as Flash Back, Pebble Beach Golf and Hard Drivin'. As one might have guessed, the games ran at a much higher fps rate and looked smoother. It also appears that the actual modification of the console is surprisingly simple, involving connecting the clock pin of the 68000 to new crystal.

This naturally made me wonder how such behavior was possible. It is known that many older 8bit computers such as the C64 where unable to support over clocking since the CPU clock was also tied to the video clock. Any changing of video clock would result in unstable video output. For over clocking to be useful, a system that supports chips with different clocking rates would be needed. Hence, only game logic would be speed up and not core system I/O interface. The Genesis does in fact satisfy this precondition.

Doing a quick search for over clocking on SNES results in a limited success. I can only find examples with the SuperFX chip. At the hardware level, why has the SNES seen so little success in over clocking of games?

2
  • 2
    I imagine the SNES is like the C64 and overclocking the main CPU would screw up the video timing. Even if you could (say like you could on an emulator) it wouldn't actually get you much because most games are going to be synchronized to the video interval anyways. A faster CPU would just mean more cycles spent waiting for the next refresh. The SuperFX would be different because it's already clocked differently than the CPU and was used more like a modern GPU.
    – user722
    Jul 14, 2018 at 17:54
  • If my vague understanding is correct, the SNES is one of those where the CPU cannot interact with the tile map while pixels are being output, isn't it? That is, unlike the Mega Drive. If so then you'd expect a lot more deliberate programmatic synchronisation between the two things.
    – Tommy
    Jul 16, 2018 at 18:04

2 Answers 2

15

The Super NES (SNES) has a much different hardware architecture than the Sega Genesis, and is built around the custom Ricoh 5A22 ASIC. As opposed to the discrete, stock, Motorola 68000 CPU employed in the Sega Genesis/MegaDrive, the SNES ASIC contains multiple components that internally operate at different clock speeds. The ASIC has the 65C816 CPU core, along with the interfaces to the coprocessors and I/O, which are designed to operate at different clock frequencies, but all under the control of the ASIC. So, unlike in the Sega console, where you can simply overclock the CPU, attempting to overclock the SNES ASIC actually affects the speed of multiple component interfaces. There's just no way to overclock the CPU core by itself, because of this high degree of integration within the single chip ASIC.

Besides the fact that the Sega console uses a discrete component CPU, allowing its clock source to be substituted with a faster clock, it also has a split-memory design allowing asynchronous sharing of the bus and RAM between the CPU and the Video Display Processor (VDP). Access to VRAM (other than the VDP using it to draw the display) is fully asynchronous to the CPU and usually done either via the VDP's FIFO queue or through DMA. Thus, the 68000 running at a higher clock speed is only going to be accessing Program RAM or VRAM during blanking. For this reason, the faster CPU processing doesn't break the normal display handling, but does allow the game to run smoother since the CPU can do more when it is in control. Likewise, sound playback will also not be effected by the faster CPU since that is done asynchronously by the Z80 coprocessor, still running at its normal speed.

3
  • 1
    It might be worth being a bit more explicit about the Mega Drive's architecture? I (think I) know the MD has a VDP with its own RAM and what amounts to an asynchronous bus with it, and probably the Z80 has another little pocket of RAM that it fully owns? If so then that's probably why the one component can be independently overclocked? You've already got my vote, I just thought that maybe explaining why the SNES can't easily be overclocked isn't quite the whole answer.
    – Tommy
    Jul 15, 2018 at 18:09
  • @Tommy I added some more details about the Genesis architecture.
    – Brian H
    Jul 15, 2018 at 20:04
  • 1
    Btw, some games on Genesis definitely worth overclocking. For example, Sonic series have straighforward game controlling loop, where within a frame, CPU must step the game situation and also present new gfx arrangement to the VDP. Sometimes 20ms is not enough for that -- and the FPS goes abruptly down to 25 everything slowing down. Same effect could be found in Metal Slug series on Neo-Geo and always the (emulated) CPU overclocking helps.
    – lvd
    Jul 16, 2018 at 11:23
6

It's an issue of integration. On the early Genesis systems the custom chips and CPU were physically separate from each other so it was easy to isolate the various clock signals and replace the CPU with a part rated for faster operation.

The SNES has a more tightly integrated design where an ASIC contains both the CPU and other components, making it harder to isolate and control one clock domain (say the CPU) from another (video or sound).

The later revisions of the Genesis hardware have this same limitation as they started merging more custom parts, as well as the CPUs into a smaller amount of larger custom chips to reduce cost. So an overclock modification on a single-custom-chip Genesis 3 is difficult compared to the original hardware with three-custom-chips and a stock CPU.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .