Overclocking the Super Nintendo
Robert Ivy writes "The Super Nintendo is a tricky piece of hardware, but I have finally managed to overclock it up to 5.1 MHz. At this speed, the sprites scatter across the screen; this is likely a sync issue since the CPU is running so far out of spec. I plan on trying lower speeds soon and I will update the guide on UCM." Thank god we got that out of the way!
SNES Beowulf clusters FTW!
Just imagine a whole cluster of these.
iam expecting $university will be investing in a large bank of them now so they can calculate a 3D rendering of a chair
It really is Super Mario Bros. now.
Don't get me wrong, great job OCing your console, but ... what purpose does it serve? If it's done to prove that it's possible, then more power to you.
But if the plan was to get "more" out of your console, I guess it wasn't too bright. Console proggers always relied on the fact that consoles, unlike PCs, were set in stone. You had THAT CPU, THAT GPU, THAT memory and that's something you can rely on. I.e., they didn't do what PC game creators have to do today: Take into account different hardware specs and take care of timing.
More often than not, they used the CPU clock as the timing device (everyone who ever played Wing Commander on a 486 knows the effect you get when you do that on a platform that can very well change the hardware). So if you tweak the CPU, you get a game that runs "too fast".
But little else.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
The next post will either be "how to install a cooling unit to your SNES" or "how to install a fire-extinguisher to your SNES". Just kidding, unless your playing some sort of 3rd party...cartridge...I doubt there'd be anyway to fry your SNES...or would there?
Ginga no Rekshiya Mata Each page.
Now if only we could get you out of your parents' basement.
Who didnt see that coming? And here I was thinking I could get 233fps in starfox. Perhaps nextgen?
This should make his speedrun videos that much more exciting. (And yes, I'm aware you can get the same effect from emus.)
This guy's the limit!
Do they randomly overclock chips on the board? I know there are cycle-accurate Genesis emulators. If there are such for the SNES, wouldn't it make sense to hack the emulator first to see what effect overclocking particular components will have?
-mkb
Now I can have the full twelve cows in Harvest Moon without the slowdowns!
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
I'm sickened by the amount of people on here saying "... but why?".
Why?? WHY?? Because he's a GEEK, Dammit! Just because it doesn't have a buzzword associated with it, or because it's not to do with google, or didn't come out in the last 15 minutes, doesn't mean it's not cool.
*wanders off mumbling about these younguns..*
This may actually be useful! There are a number of games, among them that holy-of-holies, The Secret of Mana, that during very busy scenes with all three characters and a number of enemies, will experience slow-down and flickered sprites as an error. Does a sped-up CPU do anything at all to remedy this?
Once he's got it so it's only sped (and not fucked) up, I'd love to find out if that would help prevent those slow-downs
I'll bet nobody was expecting an actual response to this story, heh
what the hell is a 'junk character', anyway?
The headline should read: "taking a soldering iron to an snes renders it completely unplayable" ... I don't mean to bash too hard, but seriously, clock speed is something you can take as a constant for console video game development. Now, if he could get it to boot linux, and wire an ethernet cable through one of the controller ports, and play two player SNES games over the internet (in emulation), that would be cool.
The secret to creativity is knowing how to hide your sources. - Albert Einstein
Overclocking old embedded devices is like power: it is not a means, it is and end.
Psyche! * clicks fingers whilst waving forearm back and forth *
I'm off to watch The Fresh Prince of Bel-Air now bro..
maybe because.
360 = not worth it because it'll prolly just overheat like always.
snes = sweet peice of gaming machine.
Next up: Adding neon to your Whitney Cotton Gin.
Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)
http://www.lawrenceperson.com/
Your point is understandable, but I think you are missing a key idea: I don't think nerds really appreciate something technologically if it involves destroying a perfectly good piece of equipment. If I wrote up an article about modding an Xbox 360 into a totally awesome endtable that fell over every time I put a can of coke on the edge of it, that would probably piss most nerds off.
Nerds see the potential in things. An ordinary person looks at a 400MHz computer with a faulty power supply and sees something heading to the junkyard. I might see it as a mailserver, after I put some work into it. If you take a good piece of hardware and mess it up to the point that it won't even hold a stable image from a game, you just destroyed a lot of potential.
You guys are being jerks. The fellow just wanted to share what can be done by a Hacker who takes a chance, and learns to do something just for sake of doing it. That's the heart of innovation, invention, creativity.
My melano-deficient caucasoid friend. I believe your problem is that the SNES PPU is set to run at 3.58MHz, which is the NTSC frequency. Running the CPU faster is going to screw things up. Not sure, entirely the setup of the SNES architecture, between the CPU and PPU, and what exactly you're over-clocking. But the TV signal generated by the PPU must be closely at 3.58MHz (NTSC), otherwise you're out of sync, and would get a B/W signal (since the TV wouldn't lock onto the Color burst phase refence in the Hsync signal) - if slightly off phase, or flickering if very out of phase. From the looks of things it seems, you're still getting color and a rather normal picture (PPU is running independetly of CPU clock rate). The problem therefore is that the games, atleast most of them, are trying to perform operations at the Hsync (Sprite position/attribute manipulations), and due to the speed and resultance phase difference between the two systems, you're getting these glitches. I'd recommend you study the archietecture that you're overclocking, and write a simple program (say a super mario world clone) designed around the new speed. This should be an easy feat, assuming you have programming skills atleast.
:D
Interesting, anthropologically, you appear of an atlanto-mediterranid celtic stock, either of iberian or british isles ancestries. You also show a pinkalictic accretion in your complexion. Awesome
It's time to break out NBA JAM again....
I just tried it...wow. Problem is now the SuperMario brothers are stopping to light up crack pipes somewhere off screen...when they get back I can't keep up with the little twits!
Consoles encourage the old school method of timer programming:
for (int i = 0; i < SOME_BIG_NUMBER; i++) { int fakeval = 0; }
In fact, I don't know how many consoles, especially old consoles, would even have a system timer, let alone one (a) sufficiently high resolution and (b) with low enough access costs to make it practical to use for game timings.
Anybody remember the "turbo" button - ie the "underclock my PC when this is off" button? That was necessary for older games written for the 80386 that assumed a small range of clock frequencies and did delays that way. You'll run into the same issue with this console - it's going to be like turning "turbo" on for an old game. Well, probably.
I wonder how well StarFox would run on it. That game really could use a better frame rate. Or I could just grab my N64... I'm sure there are some games, perhaps StarOcean for example, that would run better with an OC'ed SNES?
Gentoo Linux - Wouldn't have it any other way. And fuck beta.
- apparently the system does not run very stable
- he is rather desperate to get an oscillator in between 35 and 25 MHz. You can just _buy_ these things in most electronics part shops and I can think of at least four people including myself who have a high chance of having one in their garbage collection.
On top of this it would surprise me if he was a very experienced electronics hacker as those would never punt ground high and power low in circuit (of course I don't know him).
Kudos to the guy, but get real people: he changed an oscillator. That's it.
and to those who ask, yes there are definitely games where even though
programmers *should* have been planning on a fixed number of cycles, they
made bad decisions, and they slow down when the action gets intense. A mod
like this might help that. Might because depending on architecture of hw and sw
it may speed up the wrong parts.
well, that's news to me!
shouldn't this be in the 'men-who-dont-date' department?
snes = sweet peice of gaming machine.
It was a reasonable piece of kit for the time, but the fact remains it was a 'sweet peice of gaming machine' because of the games that were on it.
And of course, the enhancements found on the game cartridges, i.e DSP-1 (Super Mario Kart etc) and the Super FX chip that was found on Starfox among others. The hardware designers decision to make it easy to interface special coprocessor chips to the console was a pretty sweet idea.
I see quite a few negative comments here about this and I really wonder why. When I was a student and a budding EE I used to tear apart all sorts of things and "tweak" them. I was always proud when I could get a meaningful result, an "improvement" or at lease a change that suited me (or hinted that with abit of work it could). I used to enjoy making contrived serial data transmitter adapters out of old cordless phones or other even more completely nutty things. Was I cool, probably not. Such silly junk experiments may seem simple and contrived to a real EE, but at the time I learned quite a bit from them, as much by failure as by success. As silly as it may sound in the end I really learned to properly rework and make my own simple boards. Such useful skills don't come easily to some, as many of you may know, it takes practice. Doing such projects just for fun, was if little else practice. Ultimately this curiosity taught more meaningful skills.
When I did a project well I wanted to tell others and show them, because at my level of skill it was cutting edge cool, for me. To all those that ask "why do his to a SNES?," I say this. There is no crime here, this may be one of the few simple projects that could have mass appeal to a certain subset of the slashdot crowd. Heck, thinking back, I wish I had tried doing something this cool as an undergrad. Keep up the good work.
I would prefer seeing the Xbox 360 overclocked.
,br> just wait till the end of the year, Microsoft is already supplying 360's with faster processors so they did all the work for you.
What you need to do is separate the video circuit from the rest of the SNES and build an independent 3.579 clock circuit for video generation. You can use a nand ttl IC and a colorburst crystal.
Then you can overclock the other part of the circuit.
The chips might be capable to run faster, but they will be run at the same speed. This is a cost reduction effort - smaller geometries means more chips per wafer.
The lower power consumption brought by the smaller geometry means MS can run the power supply cooler or save themselves with a smaller power supply.
Why expect a luser would think they crank out the clock speed ?
Some versions can clock up to 2 mhz, and you can add a potentiometer and vary the clock from below 1hz upwards (much below - you could run it at 1 cycle per week).
How cool would it be to slow a game down for a tricky part?
Just imagine a whole cluster of these.
...if Google started with a cluster of Super Nintendos. Bargain basement hardware indeed. Besides, when its considered obsolete you can then sell them as 'antiques'. ;)
So what? Anybody with a soldering iron can install an oscillator. Knowing how to do so whilst still maintaining the intended usability of the hardware is useful overclocking. This is nothing more than a clueless idiot with a soldering iron and a little time. He hasn't overlocked his SNES. He's broken it. I can do that myself, with a hammer, and it'll be a lot more satisfying. Can I have a Slashdot headline, too?
Move on, folks. Nothing to see here.
when you've got such a sprite-scattering issue? If so, I'd like to declare success on my overclocked TI-82 that promptly burst into flames in 2004.
I overclocked my watch. Boy time sure flies when you're having fun!
"Anybody remember the "turbo" button - ie the "underclock my PC when this is off" button? That was necessary for older games written for the 80386 that assumed a small range of clock frequencies and did delays that way."
:-)
:)
80386? Dude! In my dreams! The "Turbo XT" generation of PCs introduced the "Turbo" switch, because the new generation of 8086's ran at a blindingly fast 8 MHz, when the original PC/XT ran at 4 MHz. You had to down-clock to 4 for games that assumed 4 MHz. The Turbo switch on later PCs (which typically did something like 16 vs 33 MHz, or 20 vs 40, etc.) was more of a vestige than anything else. 16 MHz was still way too fast to run the Pac Man clone I had.
Not that this has anything to do with anything, but I'm bored.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
snes has actually a separate area for the sprite positions called Oam ram,and this ram may be slooow x.x
its pretty impressive if this be the only problem BTW,as some games need to change the processor speed to 2.6 mhz to run because they have sucky slow roms
Perhaps the most useless overclock to date? I think so!
SNES games run at a fixed 60 frames per second (they're syncronized with the TV signal) and most games have no trouble moving all the graphics around each frame. I can't see overclocking doing anything but screwing the games up.
Flicker comes from the hard limit of 32 sprites per scanline (and 34 sprite tiles). Games have to flicker the sprites otherwise the ones outside the limit would disappear entirely. On the NES this was a lot more noticeable since the limit was a measely 8 per line.
3.58 Mhz isn't the "NTSC frequency."
Anyway you can't update the sprite data on the SNES during h-blank reliably because the PPU pre-fetches sprite data. Also the sprite memory address selector is invalidated outside V-Blank so you can't write to the sprite memory anyway. You can only update sprites during V-blank.
Chances are it's not a syncronization issue but he just broke the processor by running it at that speed and is lucky the game runs at all.
Super mario at 75 FPS. Now lets kick in Dynamic Lighting. :-D
It's great and all he was able to do this, but should'nt we be working on something more crucial, like getting those god-awful slowdowns out of the PS1 port of Chrono Trigger?
Inter Arma Enim Silent Leges
Speaking as someone who used to program for the SNES, such a mod won't even alleviate the problem of in-game slowdown without causing the problems that our friend with the 5.1MHz SNES has seen. The SNES itself had a fairly insane timing system to begin with, and countless games have taken advantage of that - including (but not limited to) reliance on cycle-exact opcode and DMA behavior. We're not even talking cycle timing on a per-opcode basis - the SNES hardware is deranged enough that accessing different areas of memory space actually execute their cycles at different clock rates than the 65816's base speed.
The sprite issue is probably being caused by somewhat broken DMA -- which isn't totally unexpected, insofar as it was difficult enough to pull off a proper video DMA transfer with a standard SNES, let alone something so wildly out-of-spec. Additionally, anyone attempting to change system timing can also expect slow work-RAM corruption over time.
In short, this won't even fix slow games. I'll just break things. It's a lot of effort for naught.
games that let you regain your health slowly. Just wait at the corner of a dungeon.
If you delay pleasure infinitely, the pleasure will be infinite. (YM)
He sure gets a lot of light in his parents basement. I'm thinking it's a walkout.