Overclocking Your Sega Genesis/MegaDrive
Deven "Epicenter" Gallo writes "I've recently been working on a project to alleviate the slowdown inherent in older game systems. How you ask? By overclocking them! I've managed to perfect overclocking the Sega Genesis / MegaDrive. The processor (a Motorola 68000, running at a stock speed of 7.6 MHz) can be pushed to 16.0 MHz in my experience, and I am still working on higher. The machine doesn't overheat and is entirely stable at these higher speeds."
for those of you who don't know, 'genesis' is the north american term whilst 'mega drive' is the UK (and european?) term
here are the specs and some history
Marge, get me your address book, 4 beers, and my conversation hat.
Slowdown is an integral part of older consoles. Modern day emulators that can easily push these consoles with no slowdown at 60FPS impliment a technique to fake "slowdown." It's a lot easier to just grab a genesis emulator for your Dreamcast or Xbox than attempt a hardware mod like this.
"That may be justification alone for why the systems were underclocked at the factory. The clock in many games is based not on an actual clock but the speed of the processor... speed things up and you speed everything in the game up, and that's not very playable."
You're right. Even on newer consoles, like the Xbox, a 1.4 ghz cpu and 128 mb ram upgrade tends to have problems in certain games. Most console games, unlike their PC counterparts, run proportional to the CPU clock for actual game speed.
In a PC, overclocking the CPU will usually increase frame rate in newer games. Consoles, with their unified architecture, begin to run into compatibility problems when you make certain components run faster, or will usually speed up gameplay proportionally to the clock speed increase.
Yes, the above applies to the PC-like xbox too, but not to every game. From what I've been told, running Halo co-op splitscreen on that 1.4ghz xbox runs as smooth as silk.
Sigs are for losers
The center of your mindset should rest on the vertical blank - that's your 'unit of time', unless you're doing some splitscreen stuff (like the water effect in Sonic), then you utilize the horizontal IRQ (I also call it a line IRQ) to get there. No busywaiting necessary. Frame rate is mostly constant on the classic consoles, in the sense that it's mostly synched with the refresh rate.
FC Closer
His site explains that the games don't, in fact, run faster. Most Genesis games must actually be based on a clock instead of the processor speed. The only effect of the overclocking is that slowdown is eliminated. Don't you remember in Sonic games how if you had more than 20 or so rings and you got hit, the Genesis would slow to a crawl as it drew all the rings bouncing around on the screen? In two-player mode slowdown was even more common. Well if you overclock your Genesis, that can apparently be fixed.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}