Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Classic Games (Games) Entertainment Games Hardware

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."
This discussion has been archived. No new comments can be posted.

Overclocking Your Sega Genesis/MegaDrive

Comments Filter:
  • sega genesis (Score:5, Informative)

    by Coneasfast ( 690509 ) on Thursday March 11, 2004 @12:56AM (#8529101)
    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 [retrofaction.com]
  • Re:hrm (Score:2, Informative)

    by Anonymous Coward on Thursday March 11, 2004 @12:57AM (#8529105)
    well, if you're trying to run an old DOS game you can do that with DOSBox [sourceforge.net], which comes in handy a lot of the time.
  • Comment removed (Score:5, Informative)

    by account_deleted ( 4530225 ) * on Thursday March 11, 2004 @12:57AM (#8529109)
    Comment removed based on user account deletion
  • by Talez ( 468021 ) on Thursday March 11, 2004 @12:58AM (#8529121)
    NeoRageX lets you overclock the 68K in the .ini file. Set it to 24MHz and no more Metal Slug slowdown! :D
  • Most of them... (Score:3, Informative)

    by LucidityZero ( 602202 ) <sometimesitsalex@noSpAM.gmail.com> on Thursday March 11, 2004 @01:08AM (#8529165) Homepage
    Most (if not all) of them, I'd assume.

    When you're developing a game for a specific platform that will never change, why would developers use any sort of time-based algorithm to determine game speed? You'd end up with a smoother/prettier game if you merely used the limits of the hardware to control the speed of your game.

    Especially back in those days where most of the games really DID push the limits of the hardware. Almost any game would slow down with too many sprites on the screen, etc.

    I'd assume almost any Genesis game would play very, very quickly on an overclocked system.
  • Re:sega genesis (Score:5, Informative)

    by IntergalacticWalrus ( 720648 ) on Thursday March 11, 2004 @01:14AM (#8529197)
    In fact "Mega Drive" is the original japanese name too. That stupid "Genesis" name was in north america only.
  • by Epicenter713 ( 761169 ) on Thursday March 11, 2004 @01:18AM (#8529224) Homepage
    Just no slowdown! :)
  • Sega slowdown... (Score:5, Informative)

    by Anubis333 ( 103791 ) on Thursday March 11, 2004 @01:18AM (#8529226) Homepage
    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 [dcemulation.com] or Xbox [xbox-emulation.co.uk] than attempt a hardware mod like this.
  • by Epicenter713 ( 761169 ) on Thursday March 11, 2004 @01:23AM (#8529245) Homepage
    It works great .. only thing is, DO NOT boot the Sega/Mega CD over 12 MHz or it will get panicky. The best method is to boot at 7.6, run the game. Then once at the title screen halt and go to the higher speed. The 32x works great in my experience as it doesn't rely on the 68000 much .. it uses a pair of its own SH-2 chips.
  • by SavannahLion ( 701337 ) on Thursday March 11, 2004 @01:25AM (#8529252) Homepage
    I've had a cached URL [vuni.ne.jp] to overclocking your Genesis/Mega Drive for a long time. Unfortunately, it's in Japanese and Babel Fish makes it really tough to understand technical instructions.

    I wonder if the author of the article at Epic Gaming read the Japanese article and got the idea from there?

  • Re:And this is good? (Score:3, Informative)

    by Pr0xY ( 526811 ) on Thursday March 11, 2004 @01:29AM (#8529268)
    I've also mad a NES emualtor before, and there is a reason the games arent running any faster.

    firstly, many of the games wait for an event (such as the vblank to occur), or sit in an infinite loop waiting for an NMI to process the next frames work.

    Firstly, as you probably know, NES games tend to be very timming critical. Switch to a game that does any cycle counting to determine with things should happen (just about anything made by RaRE should do) and it'll be all fscked up :)

    And as for the speed itself, you aren't executing the instructions any faster, just waiting till more work is done before showing rendering the scanline. This is not the same as the effect of overclocking would have on a real thing. The real with would still execute 113.66667 (or whatever the cycle count it) CPU cycles per scanline...just faster.

    proxy
  • Re:Most of them... (Score:3, Informative)

    by LocalH ( 28506 ) on Thursday March 11, 2004 @01:33AM (#8529285) Homepage
    If the game just updates the screen whenever the hell it feels like it, busywaiting until it's time, then yeah, it'll fuck up. But any properly coded game will utilize the VINT to synch to the refresh rate. Sonic 2 does this for sure, you can even see the garbage in the bottom border where the game is initializing the VDP for the next frame.
  • by xangsta ( 75410 ) on Thursday March 11, 2004 @01:35AM (#8529294)
    also drains them batteries pretty fast too heh
  • by Cornelius the Great ( 555189 ) on Thursday March 11, 2004 @01:38AM (#8529308)
    "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 [gamestron.com] 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.
  • i'd be surprised if even sega games were so poorly programmed that they depended on the hardware clock speed. Generally what one does is define a unit of time (actual time, clock ticks, cycles, etc -- doesn't matter as long as its uniform), then you define all the motion/game logic as functions of a time delta (time elapsed between the last frame and this current one), since the frame rate is never constant. This way, things happen at a constant rate regardless of frame rate.

    That being said, ive never done any console programming, so who knows :)

  • by Epicenter713 ( 761169 ) on Thursday March 11, 2004 @01:46AM (#8529342) Homepage
    Heh, sorry to burst your bubble, but even at higher clockrates the SNES can't outperform the MegaDrive/Genesis. Too inefficient. Let's call it the 16-bit intel/amd war. ;) But I am working on SNES overclocking. It'll take time, but it's the same basic procedure as with the NES ..
  • by LocalH ( 28506 ) on Thursday March 11, 2004 @01:48AM (#8529352) Homepage
    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.
  • All units of the same console execute the code at the same rate, so it is common practice to use the hardware speed or frame rate as your time reference. This may not be the ideal, but it's how things are done in the console world (and was common in PC games before computers got so fast it was highly unreliable).
  • by LocalH ( 28506 ) on Thursday March 11, 2004 @01:50AM (#8529368) Homepage
    www.tototek.com They sell a flash cart in 32Mbit and 64Mbit varieties. The 64Mbit one also supports 32x games.
  • by Spy Hunter ( 317220 ) on Thursday March 11, 2004 @01:54AM (#8529381) Journal
    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.
  • by Epicenter713 ( 761169 ) on Thursday March 11, 2004 @02:04AM (#8529430) Homepage
    The Z80 is barely used by games save for music .. so it generally doesn't need to be raised. Also, cranking up its clock will likely make sound pitch shoot up..
  • Re:lol (Score:2, Informative)

    by PACHUKA ( 560824 ) on Thursday March 11, 2004 @02:20AM (#8529501)
    http://www.vuni.ne.jp/~tamari/megadrive/md.html here's where the original information was stolen from. It's a fairly common item, that's been passed on in SEGA development communities since 1999, when this article first surfaced. So Epicenter's "work" basicly means "copy and paste".
  • by gklinger ( 571901 ) on Thursday March 11, 2004 @02:36AM (#8529568)
    Rather than overclocking the 68000, he should consider upgrading the CPU. The Motorola 68010 is both pin and insstruction compatible and it has a slightly higher range of operational clock speeds. Way back in the day (I've always wanted to say that!) I upgrade dozens of Amiga 1000s without a problem. And yes, the upgrade was, for all intents and purposes, useless. I would tell people that and they would still want the upgrade so I let commerce take its natural course.
  • by Quietust ( 205670 ) on Thursday March 11, 2004 @02:56AM (#8529644) Homepage
    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.
    The CPU speed is usually NOT used for game timing in cases like this (well, in older NES games it was, but usually not for the faster systems). The main source of timing in video games is the video refresh which, on game consoles, is always 60Hz. Increasing the clock speed simply allows the game to get more work done during each frame so it doesn't have to slow the game down to catch up.
  • by forgotmypassword ( 602349 ) on Thursday March 11, 2004 @03:05AM (#8529680)
    Seeing that the 32X removed all of the slowdown from all of my games anyhow, I really don't see the point of any of this.
  • by The Vulture ( 248871 ) on Thursday March 11, 2004 @03:07AM (#8529688) Homepage
    Almost every computer-like machine in existance has a clock in it. This clock isn't necessarily a clock like you'd use for viewing the current date/time, but is in some cases internal to the CPU.

    What units this clock runs in varies from chip to chip, but most of the time, the OS that you're using provides you with a decent way of using it, in some sort of standard measure of time (vxWorks with the BSPs that I've used, for example, provides you with 60ths of a second, which is very convenient).

    This is very important, since especially in cable modems, there are a lot of events that need to be synchronized, and the CPUs change in clock speed (i.e. MHz) on a regular basis.

    In terms of consoles, timing things to the VSYNC is generally popular. In order to properly do double buffering, you need to swap the buffers during the point of time when the raster isn't being shown within the visible screen, or at least in the section you're drawing (otherwise, you'll get tearing).

    That, and it's a fixed timing, either 50Hz (PAL) or 60Hz (NTSC). :)

    -- Joe
  • by Anonymous Coward on Thursday March 11, 2004 @03:36AM (#8529794)
    Many, if not most, games drive their logic using the vertical refresh interrupt. This tells them that the scanline is not in a visible part of the screen, so that now is a good time to do redrawing and so forth.

    The logic parts of the game (AI and so forth) are usually done asynchronously, then the redraw is done on that edge so as to avoid tearing.

    It's much the same as modern day graphics cards frequency lock settings, except that in older games everything tends to be dependant on the graphics refresh.
  • No... (Score:4, Informative)

    by hyc ( 241590 ) on Thursday March 11, 2004 @03:52AM (#8529845) Homepage Journal
    You're off by at least a decade. Maybe the original Pong and Atari 2600 were cycle-counters. Everything made after that used VBI timing. Newer arcade boxes like the NeoGeo used 68020s, which of course had instruction caches that made cycle-counting impossible.

    I'd love to get an Atari ST emulator up and running Spectrum Holobyte's Falcon, overclocked. It would be cool to see it running at a smooth frame rate.

    As I recall, by the end of life the Motorola 68000s were all made as 16MHz parts. The slower parts were simply not made or sold any more. Also, even when they were genuine 8MHz parts, they were pretty reliable with 50% overclocking; we did this sort of thing all the time in Atari STs before the 68020 and 68030 upgrades got popular.

    There were limits to what you could gain though, since the 68000 had no on-chip caches of any kind and the system bus generally couldn't handle as much of a speedup. The better upgrades included a memory cache with the accelerated 68000 on a daughterboard that plugged into the original CPU socket, to allow the processor to run at full speed without disturbing the rest of the system. It was all a dicey job though; the tolerances in the rest of the system were pretty ragged. I remember having to desolder a bunch of 74LS series buffers and replace with 74HC or AS series or somesuch that worked at faster clock rates, more noise immunity, etc., adding tantalum capacitors everywhere, etc... Ah, the good old days.

  • by Chordonblue ( 585047 ) on Thursday March 11, 2004 @04:03AM (#8529886) Journal
    At least with the SNES. Take Gradius 4 for example - one of the first releases for the SNES. The slowdown in that damn game was unbelievable at times and yet you look at something like Pilotwings or Mario and you'd never see it.

    Why?

    Well, as it turns out, Nintendo underpowered the SNES' processor BIG TIME. In the first releases only Nintendo was permitted to use cartridge-based 'assist' chips that assisted with animation of larger objects. This explains why Nintendo's games always looked so golden on SNES.

    Later Nintendo licensed the chips for 3rd parties but really screwed them for it. This was back in the day when Nintendo made all the games themselves, chose which ones would see the light of day (yes, even 3rd party ones!), and charged an arm an a leg for those assist chips.

  • Nintendo did this... (Score:5, Informative)

    by Chordonblue ( 585047 ) on Thursday March 11, 2004 @04:12AM (#8529913) Journal
    A lot of SNES stuff had 'assist' chips in the cartridges. Most were basic 'blitter' chips, but there were some that actually had co-processing on board for 3D graphics (SuperFX). Games like Starfox and Stunt Race FX simply would not have been possible on that console otherwise.

    I wonder if you're thinking of a special version of Ecco that ran on the 32X Genesis co-processor.
  • by TrancePhreak ( 576593 ) on Thursday March 11, 2004 @05:07AM (#8530100)
    Most consoles at that time operated in a fairly similar fashion. The video hardware would draw the frame, and then a v-blank would be triggered. During the v-blank, you could execute code and manipulate the video data. When not in v-blank, you could calculate game related things. For example, a common game would manipulate a local set of data with the information for the sprites. The v-blank is triggered and the local data is copied into vram. V-blank ends and the process begins again.
  • by Eil ( 82413 ) on Thursday March 11, 2004 @10:00AM (#8531022) Homepage Journal

    You can often "overclock" emulators too. Many have a setting somewhere that say something like "instructions per scanline" or "percent of instructrions to execute". Just increase that number and you have an instantly faster (emulated) processor.
  • by ByteSlicer ( 735276 ) on Thursday March 11, 2004 @11:04AM (#8531523)
    In windows, the uptime is derived from the Tick Count. The tick count is incremented by the kernel, based on a hardware timer source. This source is usually an Intel 8253 Programmable Interval Timer (or compatible device). Some implementations of this timer have been known to be buggy (actually the first one was meant to tick every 20ms instead of the now common 18.2ms). Probably in these Dell laptops, the timer got initialized with the wrong value somehow.

1 + 1 = 3, for large values of 1.

Working...