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.
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.
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.
Next up: Adding neon to your Whitney Cotton Gin.
Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)
http://www.lawrenceperson.com/
Which is why we have the tried and true pick up line, "Does this smell like chloroform to you?"
It's not offtopic, dumbass. It's orthogonal.
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.
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.
- 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.
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.
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.
Wrong, and dead-on. The SNES was woefully underpowered next to the Genesis, TurboGrafx, Jaguar, etc. That Nintendo made intelligent design decisions to make games playable on the SNES, and leveraged their success with the 8-bit NES to lure in players and developers to begin with, made it a sweet gaming platform.
What Nintendo has always understood (Virtual Boy aside for a moment) is that the gameplay is really the most important element. That's why experiments like the DS worked. That's why the GameCube was routinely profitable, even though it was an also-ran in the marketplace.
The only surefire protection against Microsoft infections is abstinence. - The Onion
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.
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.