Overclocking Your Sega Genesis/MegaDrive 372
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."
Hmmm.. (Score:5, Interesting)
Pushing a 7.6 --> 16MHz is over 100% more than the original! I have yet to see most people get anywhere near that on normal processors.
hrm (Score:1, Interesting)
Boy do I remember the slowdowns (Score:4, Interesting)
Re:Hmmm.. (Score:5, Interesting)
Re:Correct me if I'm wrong... (Score:5, Interesting)
There isn't enough correction in the world. A lot of games get released for consoles with noticable periodic slowdown - the classic example is the Metal Slug series. Still happening today too, I notice the occasional wad of dropped frames playing my XBox or Gamecube.
Re:I already have a hard enough time... (Score:4, Interesting)
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.
Unless somebody's found a way to get this thing to run Linux and other non-cartrige programs, this isn't going to be very useful.
Re:And this is good? (Score:5, Interesting)
I've written my own Nintendo Emulator. Just modified it to execute 5000 CPU instructions per scanline instead of the typical 114. Fired up Super Mario Brothers, Contra, and a few other games and they all appear to work fine.
I suspect (and I would've thought otherwise before this test) that many games are sychronized with the v blank interval or interrupts. I haven't tested sound, however, since I haven't written that part of the emulator yet.
Re:Hmmm.. (Score:2, Interesting)
Re:That does it... (Score:2, Interesting)
How does it work with other genesis attachments? (Score:4, Interesting)
My guess is he hasn't tried it or it doesn't work, as he doesn't elaborate on it.
Re:And this is good? (Score:3, Interesting)
3D Graphics on a TI-85 (Score:3, Interesting)
A few years ago I gave it to a friend who needed a TI but I'm pretty sure the Intel Inside Pentium MMX sticker is still on the back of it.
Ben
Re:I already have a hard enough time... (Score:2, Interesting)
Err, you might be right about programmer's being relatively lazyish (/efficient) and relying on the processor speed for timing...but they could always easily slow down a game that was too fast, but not the opposite.
Actually...programers don't JUST use the processor speed, or else slowdown would never happen, there wouldn't be a "correct" pacing for a game, just a continuum...few objects -> fast game, some objects -> medium game, many objects -> slow game. Instead, a game has a 'desired' speed, and probably just burns cycles if it's done everything but it's not time to proceed. If there's too much happening, the gmae slows down, and no cycles are burned.
The underclocking was probably due to the tolerances of the manufacturing process at that point. At this lower clockrate, virtually every chip is usable, at this higher rate, more can't keep up.
Yeah... I rmemeber 12 years ago... (Score:1, Interesting)
WRONG, WRONG, WRONG, WRONG, ALL WRONG (Score:2, Interesting)
It'd also be nice to play around with in a C64-styled demo, banging on the VDP with the increased cycles available at the higher clock speed. I wonder what happens when you try to hit the VDP too fast. To compare, with a SCPU-equipped C64, the 65816 simply blocks until the 1MHz bus frees up, if it needs to.
street fighter 2 SNES (Score:2, Interesting)
my favorite combo... but lags in SNES...
jumping fierce + close fierce uppercut + sonic boom + referse fierce + sonic boom.
ironically this was under SF2 TURBO
Any way to get homebrews on real hardware? (Score:5, Interesting)
Meanwhile, anyone in the Perth area that wants a Mega Drive to try this on, you can have one of mine if you'll convert a second for me.
Re:WRONG, WRONG, WRONG, WRONG, ALL WRONG (Score:2, Interesting)
There were always hacks for the Amiga that allowed you to alter the timing for things like graphics, or in most common cases, the playing of music modules (MODS).
The Motorola MC68000 was a comparitivly fast cpu amongst it's peers (IIRC the MAC LCII & the Atari ST had this too), HOWEVER, the CPU was much slower that what was needed in the Amiga, and why job-specific custom chips were created.. but I digress...
Later revisions of the Amiga 500 included a Motorola MC68010 cpu which was electrically compatible with the MC68k, and was a reasonable replacement.. It ran at something like 11Mhz...
So... You should be able to do that to the Megadrive/Genesis also, without any real problems. I remember specifically playing Altered Beast, and each time you'd take on the 2nd level boss (the wierd octo-eye-puss thing) and it would get slow.. man that sucked.
What about the Z80?? (Score:3, Interesting)
Re:And this is good? (Score:2, Interesting)
Of course, if you insist on programming in BASIC, instead of assembler like a real programmer (ducks), you deserve to have you game made unplayable :D
<RAMBLE>
However, some games which rely on the CPU timing of the console to be a certain number of clock cycles per scan line may get messed up, if that timing is used do things like display a sprite in multiple places on a single scanline. Those of you who have seen/programmed C64 demos with the entire screen in use (no borders) will know about that - that required careful synchronisation with the scanline to fool the Video chip into not turning the border on at the end of the scanline - or simply moving the sprites "down" the scan field so that they are redisplayed. This allowed the 8 sprites the Video chip provided to be used over and over again, so long as the code didn't try to no display more than 8 sprites on a single scan line - extras would go missing - one thing that the game "Commando" violated - it didn't have a very good sprite management system to prevent this occuring. But that never caused it to crash thankfully.
</RAMBLE>
Re:This is about as interesting (Score:5, Interesting)
Ahh... the memories... back in middle school we used to glitch our solar powered calculators by doing 69! then covering the solar cells, which sometimes resulted in some pretty weird stuff (we could make TI-30's go into some kind of octal mode, also the calculator could sometimes go into some kind of trippy looped animation on the display, or it could change layouts to another TI model, like the TI-30STAT).
To bring things kind of back on topic, I once overclocked my TI-85. And some of the games did break, though the good ASM programmers didn't rely on the CPU speed, as it would slow down as the batteries wore out, even if you didn't overclock.
Re:I already have a hard enough time... (Score:3, Interesting)
Remembering back to my demo coding days (on various Acorn/ARM systems) the reason the game doesn't scream along at some insane rate when the machine is clocked higher is because the update of the framebuffer is synchronised with the v-sync of the display, which on TVs / non multisync monitors was either 50Hz or 60Hz depending on where in the world you bought your equipment.
If the machine is clocked higher, the only difference is that more code can execute between v-syncs, so the game appears not to slow down when more than a certain number of sprites are being thrown around, etc.
Kind'a hard to see the difference (Score:3, Interesting)
68k Amiga500 too (Score:1, Interesting)
The CPU in the Amiga500 could easily be overclocked to 11MHz or even 14.2MHz. This would obviously yield a massive improvement, making the computer significantly more usable as a desktop system. It's the difference between opening a drawer (folder) and it popping up almost instantly vs taking a second or two.
Fixed speed difficult without external timebase (Score:3, Interesting)
Depending on the CPU speed for short self-contained routines which access hardware in a time-critical way is probably more common, and not bad practice, since the older consoles were kept compatible at the hardware level. Keeping hardware the same across board revisions allowed elimination of a cycle-consuming software abstraction layer.
Re:I already have a hard enough time... (Score:5, Interesting)
Re:Wow (Score:2, Interesting)
I think it's ironic, in an industry where the common practice was to build chips targeted at a particular speed, and sell the ones that didn't pass certification as slower parts, that Motorola was stuck selling perfectly good 16MHz chips as 8MHz chips just to keep that price point open. (There was absolutely no difference between an 8MHz and 16MHz chip by the end of their product life.) And there were people routinely running their 16MHz chips at 32MHz, because the fact was that they were produced off the same process used to make the 25MHz 68020s, and that core was the same as the 32MHz 68030. It was all the same silicon, all of it good enough for 32MHz.
Re:I already have a hard enough time... (Score:2, Interesting)
Whenever I ran into an old DOS game that wast too fast on the newer machine I would just disable Turbo and it would run fine.
Turbo started disappearing on P.Cs around the time of the mid 486's. That would also coincide with Windows 95.
Re:Any way to get homebrews on real hardware? (Score:3, Interesting)
However, I don't know of any way to get ROMs onto a Genesis/Mega Drive -- is there one?
Cart copiers exist, but they tend to be either incredibly expensive, incredibly hard to get, or both because the companies that made them stopped selling them once new systems came out. The biggest market for copiers were asian countries with lax copyright laws and rampant piracy. Reportedly, a year or two after the PSX came out, it wasn't uncommon to see someone throwing their perfectly-working copier and stack of floppies (games) right into the dumpster. Now a decent SNES copier can go for upwards of $250 on ebay.
that 'slow-down' was a feature (Score:3, Interesting)
Since I couldn't afford a game genie, it was a nice substitute at times.
Or... (Score:3, Interesting)
I always thought the megadrive 68000 cpu was clocked at 12mhz anyway, it was the Amiga 500/600 series machines which used 7mhz 68000, and one cheap upgrade path was to pull the 12mhz cpu out of a megadrive
Re:That does it... (Score:3, Interesting)