Why SNES hardware is running faster than expected—and why it’s a problem

Why SNES hardware is running faster than expected—and why it’s a problem

As an Amazon Associate I earn from qualifying purchases.

Woodworking Plans Banner



got ta go specifically the best speed

Low-cost, undependable ceramic APU resonators result in “constant, pervasive, unavoidable” concerns.

Sir, do you understand how quick your SNES was going?


Credit: Getty Images

Preferably, you ‘d anticipate any Super NES console– if effectively preserved– to run identically to any other Super NES system ever made( in the very same area, a minimum of). Provided the very same base ROM file and the very same set of specifically timed inputs, all those consoles ought to ideally offer the exact same gameplay output throughout private hardware and throughout time.

The TASBot neighborhood counts on this type of solid-state predictability when developing tool-assisted speedruns that can be carried out with robotic accuracy on real console hardware. On the SNES in specific, the group has actually mainly had a hard time to get replicated speedruns to sync up with shown outcomes on genuine consoles.

After considerable research study and screening on lots of real SNES systems, the TASBot group now believes that an inexpensive ceramic resonator utilized in the system’s Audio Processing Unit (APU) is to blame for much of this disparity. While Nintendo’s own paperwork states the APU ought to perform at a constant rate of 24.576 Mhz (and the associated Digital Signal Processor sample rate at a flat 32,000 Hz), in practice, that rate can differ simply a bit based upon heat, system age, and small physical variations that establish in various console systems in time.

Casual gamers would just observe this issue in the type of a nearly imperceptibly greater pitch for in-game music and sounds. For TASBot, Allan “dwangoAC” Cecil states this undependable clock has actually ended up being a “constant, pervasive, unavoidable” issue for getting frame-accurate consistency in hardware-verified speedruns.

Not to spec

Cecil checking his own SNES APU in 2016.

Cecil checking his own SNES APU in 2016.


Credit: Allan Cecil

Cecil states he initially started to presume the APU’s function in TASBot’s SNES issues back in 2016 when he burst his own console to check it with an external frequency counter. He discovered that his APU clock had “degraded substantially enough to cause problems with repeatability,” triggering the console to toss out unforeseeable “lag frames” if and when the CPU and APU load cycles stopped working to line up in the anticipated way. Those lag frames, in turn, suffice to “desynchronize” TASBot’s input on real hardware from the outcomes you ‘d see on a more regulated emulator.

Unlike the quartz crystals utilized in lots of electronic devices(consisting of the SNES’s more constant and in a different way timed CPU ), the more affordable ceramic resonators in the SNES APU are “known to degrade over time,” as Cecil put it. Documents for the resonators utilized in the APU likewise appears to recommend that excess heat might affect the clock cycle speed, indicating the APU may accelerate a bit as a particular console warms up.

The APU resonator handbook reveals small variations in running limits based upon heat and other elements.

The APU resonator handbook reveals minor variations in running limits based upon heat and other aspects.


Credit: Ceralock ceramic resonator handbook

The TASBot group was not the very first group to discover this sort of audio disparity in the SNES. In the early 2000s, some emulator designers discovered that specific late-era SNES video games do not run properly when the emulator’s Digital Signal Processor (DSP) sample rate is set to the Nintendo-specified worth of specifically 32,000 Hz (a number stemmed from the speed of the APU clock). Developers checked real hardware at the time and discovered that the DSP was in fact performing at 32,040 Hz which setting the imitated DSP to perform at that particular rate unexpectedly repaired the misbehaving industrial video games.

That little however required emulator fine-tune suggests that “the original developers who wrote those games were using hardware that… must have been running slightly faster at that point,” Cecil informed Ars. “Because if they had written directly to what the spec said, it may not have worked.”

Study states …

While research study and screening verified the presence of these APU variations, Cecil wished to identify simply how huge the issue was throughout real consoles today. To do that, he ran a casual online study last month, cryptically alerting his social networks fans that “SNES consoles seem to be getting faster as they age.” He asked participants to run a DSP clock measurement ROM on any working SNES hardware they had lying around and to rerun the test after the console had time to heat up.

After getting 143 actions and crunching the numbers, Cecil stated he was amazed to discover that temperature level appeared to have a very little influence on determined DSP speed; the measurement just increased an irrelevant 8 Hz typically in between “cold” and “warm” readings on the exact same console. Cecil even put his own console in a freezer to see if the DSP clock rate would alter as it defrosted out and discovered just a 32 Hz distinction as it warmed back up to space temperature level.

A sample arise from the DSP sample test program.

Credit: Allan Cecil

A sample arise from the DSP sample test program.


Credit: Allan Cecil

Those heat impacts faded in contrast to the natural clock variation throughout various consoles. The slowest and fastest DSPs in Cecil’s sample revealed a clock distinction of 234 Hz, or about 0.7 percent of the 32,000 Hz spec.

That distinction is little enough that human gamers most likely would not observe it straight; TASBot staff member Total approximated it may total up to “at most maybe a second or two [of difference] over hours of gameplay.” Knowledgeable speedrunners might discover little distinctions, however, if varying CPU and APU positionings trigger “carefully memorized enemy pattern changes to something else” in between runs, Cecil stated.

For a frame-perfect tool-assisted speedrun, however, the clock variations in between consoles might trigger countless headaches. As TASBot employee Undisbeliever discussed in his in-depth analysis: “On one console this might take 0.126 frames to process the music-tick, on a different console it might take 0.127 frames. It might not seem like much but it is enough to potentially delay the start of song loading by 1 frame (depending on timing, lag and game-code).”

Cecil’s study discovered variation throughout consoles was much greater than the impacts of heat on any single console.

Cecil’s study discovered variation throughout consoles was much greater than the impacts of heat on any single console.


Credit: SNES SMP Speed test study/ Grist

Cecil likewise stated the survey-reported DSP clock speeds were likewise a bit greater than he anticipated, at a typical rate of 32,076 Hz at space temperature level. That’s a fair bit greater than both the 32,000 Hz spec set by Nintendo and the 32,040 Hz rate that emulator designers picked after tasting real hardware in 2003.

To some observers, this is proof that SNES APUs initially produced in the ’90s have actually been accelerating somewhat as they age and might continue to get faster in the coming years and years. Cecil states the historic information they have is too circumstantial to make such a claim for specific.

“We’re all a bunch of differently skilled geeks and nerds, and it’s in our nature to argue over what the results mean, which is fine,” Cecil stated. “The only thing we can say with certainty is the statistical significance of the responses that show the current average DSP sample rate is 32,076 Hz, faster on average than the original specification. The rest of it is up to interpretation and a certain amount of educated guessing based on what we can glean.”

A primary step

For the TASBot group, understanding simply just how much genuine SNES hardware timing can vary from dry requirements (and emulators) is a crucial action to getting more constant outcomes on genuine hardware. That understanding hasn’t totally resolved their synchronization issues. Even when Cecil changed the ceramic APU resonator in his Super NES with a more precise quartz variation (tuned specifically to match Nintendo’s composed requirements), the group “did not see perfect behavior like we expected,” he informed Ars.

Beyond clock speed disparities, Cecil described to Ars that TASBot group screening has actually discovered an extra “jitter pattern” present in the APU tasting that “injects some variance in how long it takes to perform various actions” in between runs. That results in non-deterministic efficiency even on the exact same hardware, Cecil stated, which suggests that “TASBot is likely to desync” after simply a couple of minutes of play on a lot of SNES video games.

The order in which these elements begin when the SNES is reset can have a big effect on clock synchronization.

The order in which these elements begin when the SNES is reset can have a big effect on clock synchronization.


Credit: Rasteri

Comprehensive research study from Rasteri recommends that these disparities throughout same-console runs are most likely brought on by a “very non-deterministic reset circuit” that alters the particular start-up order and timing for a console’s specific parts whenever it’s powered on. That results in basically “infinite possibilities” for the relative location where the CPU and APU clocks begin in their “synchronization cycle” for each fresh run, making it difficult to anticipate particularly where and when lag frames will appear, Rasteri composed.

Cecil stated these type of “butterfly effect” timing concerns make the Super NES “a surprisingly complicated console [that has] resisted our attempts to fully model it and coerce it into behaving consistently.” He’s still enthusiastic that the group will “eventually find a way to restore an SNES to the behavior game developers expected based on the documentation they were provided without making invasive changes…”

In the end, however, Cecil appears to have actually established a nearly grudging regard for how the SNES’s odd architecture results in such unforeseeable operation in practice. “If you want to deliberately create a source of randomness and non-deterministic behavior, having two clock sources that spinloop independently against one another is a fantastic choice,” he stated.

Kyle Orland has actually been the Senior Gaming Editor at Ars Technica given that 2012, composing mostly about business, tech, and culture behind computer game. He has journalism and computer technology degrees from University of Maryland. He as soon as composed an entire book about Minesweeper

66 Comments

  1. Listing image for first story in Most Read: Everything you say to your Echo will be sent to Amazon starting on March 28

Find out more

As an Amazon Associate I earn from qualifying purchases.

You May Also Like

About the Author: tech