byuu wrote:
So should we be emulating the M21440C as 21440000hz or as 21477272hz?
As it reads 21440, it should be clearly 21.440xxxMHz. There might some reason why haven't used 21.477272Mhz: Probably the 21440 part was just cheaper, or maybe they wanted to avoid video interference, or (unlikely) 21.477 was too fast for the chip.
Of course, emulating it as 21.477272Mhz would be ways easier and won't make too much of a difference.
byuu wrote:
I'm sure you are right. I don't even know what an inductor is. It was cap-like (eg cyllindrical.)
Actually, that shape is more common for resistors (small capacitors usually look more like flat pan-cakes).
An inductor is a piece of wire wrapped around a metal core. Like all wires it does (basically) just work as this: You input a voltage at one end, and it does output the same voltage at the other end. Which is just boring. The thing doesn't do much.
The special feature is that it behaves like a heavy wheel that gets accellerated by the electrons flowing through it. If you increase/decrease the voltage then it will rotate faster/slower, but as it acts like a
heavy wheel it will take some time, and won't accellerate/deaccelerate instantly. In practice: It will keep a constant output voltage even if the input voltage goes up or down for a moment.
It could be used to eliminate high frequency noise (unlikely in this case, as it shall certainly pass the 21MHz, and I can't see where higher frequency noise could come from). Or (more likely & as lidnariq said) it's intended to filter out overtones. Eg. if the SNES were outputting something like a 21MHz square-wave, then the signal would (try to) accellerate the wheel instantly on raising and falling edges, but the inductor would refuse to pass the voltages like that, and instead it would spit-out some kind of 21MHz sine-wave.
byuu wrote:
How do you feel about emulating the tolerances of these oscillators?
I wouldn't go that far as doing that. And it would have it's ups and downs. Normal users (gamers) will probably just want the game to work as intended, they won't appreciate it if you make the emulation more unstable (unless a game should rely on unstable timings).
It might be useful for developers, though if you are doing it behind their back, then they won't have a clue why their games are crashing once or when. Best might be some stress test option with maybe 4 settings (Normal Clock, Slightly Faster, Slightly Slower, and Randomly Increasing/Decreasing Clock).
I doubt that there are too many developers for co-processor games, but for the APU it might be actually useful.