Super Game Boy Clock Mod

This mod is now available for purchase on Tindie: https://www.tindie.com/products/qwertymodo/super-gameboy-clock-mod/

The original release of the Super Game Boy runs about 2.5% faster than an original Game Boy.  This is most noticeable in the audio playback, but it also means that the SGB is not allowed for use in speed-running, and is part of the reason why there is no link port available, since the speed difference would cause the communication to desync.  The later Japan-only Super Game Boy 2 fixed this problem by installing a crystal oscillator running at the correct speed.  There have been mods floating around online showing how to replace the clock in the SGB1 with a crystal oscillator running at the original Game Boy's speed.  However, the way these other mods are done actually breaks some cool features of the Super Game Boy where it's possible to speed up and slow down the gameplay using the Super Game Boy Commander controller from Hori.  After looking into the issue, I came up with my own mod, which not only retains that feature, but is also much easier to install (other mods require lifting pins on the CPU and carefully soldering wires to them).

Installation is simple.  First, remove the three components outlined in red (R1, R7, C15) and clean the pads of R1 with desoldering braid so they are nice and flat.  Next, place the board down and solder it to the four pads outlined in green (leave C5 on the board and just solder onto the left side of it).  Finally, if the board was delivered with the crystal separate, trim the leads and solder the crystal down to the available pads on the side of the PCB.  Early revisions of the clock board placed the crystal in a position where it was directly under a plastic standoff in the cart shell, which caused issues requiring the crystal to be mounted at a slight upward angle in order to avoid the standoff.  Later revisions have fixed this by moving the crystal's mounting pads.

    

ERRATA

Over the course of development, there have been a few issues identified and corrected in the design of this mod.  At this point, all known issues have been resolved, but some boards may have shipped with these issues present.  Here is a list of known issues, along with their fixes.

White screen/Boot failure

On a very small number of the very first revision boards, the Super GameBoy would freeze after several hours of playing, and would then fail to boot after a full power cycle.  This could sometimes persist for several days, until eventually it would boot again.  This seems to have been an issue with insufficient power decoupling on the PLL chip.  The issue can be fixed by removing the existing decoupling capacitor and replacing it with a 100nF capacitor and a 10nF capacitor in parallel (0603 package).  On the original board revision there was only a single bypass capacitor pad, so you have to stack the capacitors on top of each other, or side by side, in order to attach both to the single footprint.  This issue has not been observed on any other board revisions.

Incorrect Clock Crystal

One batch of crystal oscillators from my supplier ended up being the incorrect part number.  I was sent 8.000MHz crystals instead of 8.388608MHz.  This resulted in the SGB running ~4.6% too slow, rather than the stock speed which is ~2.5% fast, so it was actually almost twice as bad than the stock clock speed. By the time the mix-up was discovered, I was unable to determine which boards I had sold with the incorrect crystals, so I mailed replacement crystals to everyone who had ordered one (except those who were able to confirm receiving the correct one).  As of the discovery of the issue, all orders from that point on were verified to be correct.

Insufficient Load Capacitance

There was a slight error in the measurement of the stray capacitance on the crystal load pins, leading to the on-board load capacitors being smaller than they should have been.  This resulted in the clock running very slightly faster than it should have, amounting to approximately 1 frame gained every 2.5 minutes.  While essentially imperceptible, this could have an effect on the validity of speedruns (though, most leaderboards don't allow the use of the SGB1 at all, so it may not even be an issue in that regard).  The solution is to replace the load capacitors with a slightly higher value than the ones originally included on the board.  The correct value is 36pF (0603 package), preferably C0G/NP0 temperature coefficient to minimize thermal drift.  The location of the load capacitors changed slightly after the first board revision, but they should be fairly obvious and easy to identify, as they are connected directly to the two leads of the crystal oscillator.  This issue has been corrected in all orders shipped after May 12, 2019.

 

A few notes for anyone wanting to create their own version of this mod rather than just buying one from me: