Is there any way to change the clock speed on the NES via a variable clock, such as the gameboy versions used changing a pitch?
Depends on the frequency range you want. 555 timers can be wired in a astable mode which outputs a square wave determined by an RC equation. Make sure you calculate the duty cycle to be exactly 50%.
http://www.next.gr/oscillators/astable/ l7889.html
But the common method the gambeoy uses is with an LTC1799 IC. It is easier to calculate the frequency range. One pot, and two resistors.
read the datasheet.
As discussed here though, Overclocking the 2a03 affects both the sound and video. Also the maximums and minimums have never really been tested. A high clock frequency could cause over heating.
Here is a French site that might be of interest. Over/under clocking with an
LTC1799 variable clock
http://furrtek.free.fr/?a=nesclock
May try this at some point.
Yogi
Here is yet another over clocking how-to
http://kyorune.com/modding/article.php?id=67
With a 'turbo' switch setup.
Yogi
I was about to make a thread asking this! Sweet!
So I would be able to deal with a switch but it would be much cooler to have a pot. Would you be able to add this in addition to the switch?
So I would be able to deal with a switch but it would be much cooler to have a pot. Would you be able to add this in addition to the switch?
Easily but most systems are prone to sudden crashes when switching between crystals or other oscillators like the LTC1799. That being said, if all you wanted to do was use a regular clock sometimes, then switch off the console and flip the clock switch, then power it back on; you'd be alright. Once you're using the LTC1799 as your clock source, the pot should not crash the system, similar to the gameboy.
I heard that if you used a good switch it wouldn't crash as easily?? Either way I'm probably just going to shove a getlofi kit into it. Thanks for the info.
A higher quality switch won't have as much noise/resistance which lowers the chance of a crash when switching between clock speeds.
Last edited by MostlyToast (Jan 21, 2014 3:59 am)
A higher quality switch won't have as much noise/resistance which lowers the chance of a crash when switching between clock speeds.
If indeed it is noise causing the problems. Take for example your LTC clock trace, which overlaps with the defulat clock. If the leading edge of your default clock occurred after the leading edge of the LTC, say for example only 1ns afterward, then the microcontroller may see this as 60MHz as opposed to the 33Mhz, or 4.193MHz.
Switches are noisy by default, if you want a clean switch over you have to debounce some how. For clocks, you could use a 2 to 1 mux, controlled with a switch and a RC debounce circuit. Of course, this doesn't help at all if the CPU can't handle the phase errors between the clocks.
Also with overclocking, it's not just the CPU but the whole system that is running faster, so if rom and ram chips can't respond fast enough, there will be glitches and crashing.
Another idea, if you used the LTC, you could have a fixed R for the normal NES clock f, and a pot for variable f; and then switch between the two.This might avoid phase error.
Yogi