The Gameboy Player accessory allowed Gamecube owners to play Gameboy Advance, Gameboy Color and Gameboy games via their console. It connected via the accessory port and a boot disc provided the software to allow the Gamecube to interface with it, providing control, video and audio output.
Inside the Gameboy Player
For my project I'm working with a European (UK) version. Opening up the case reveals a single PCB, shielded with metal casing. My board is marked as DOL-GBS-20. I've seen photos of boards marked DOL-GBS-01 and DOL-GBS-10 which are slightly different; for this project I'll only be describing information and modifications for the DOL-GBS-20; they may not work if repeated on other board revisions.
There are three main areas of interest on the board. At the back is the Gamecube connector/interface, at the front right are various voltage regulators and lastly at front left is what I'll call the Gameboy Advance of the board.
That's because the chip marked CPU AGB A on the bottom of the board is the same as the CPU in the original Gameboy Advance. There's a supporting SRAM chip, link port and of course the game slot.
The GBA zone naturally lacks the screen, buttons and speaker of a GBA. There also isn't a clock crystal - more on this later.
The interface zone takes up the job of communicating between the Gamecube and the GBA zone. The zone is dominated by the GBS-DOL chip which on one side connects to the Gamecube port and on the other to the pins of the GBA CPU. In theory GBS-DOL emulates the screen, button and speaker circuitry, passing control inputs from the Gamecube and returning audio/visual data to be processed by the Gamecube.
Finally the power zone regulates power to the interface and GBA zones.
Options for taking the Gamecube out of the loop
There's two ways to achieving this that spring to mind. The first is to emulate the Gamecube through the interface port with some kind of microcontroller. The second is to take GBS-DOL out of the loop as well and hook up control, audio and video circuitry directly to the GBA CPU. The latter seemed within my abilities.
Let there be light - or at least, power
The first thing I tackled was the power zone. There were test points for the various voltage lines, including the line for the interface zone and lines for the GBA zone. Analysing the board layout led me to believe the board was probably powered by 3.3V, as there were regulators for 2.5V and 5V but not 3.3V as needed by the GBA zone. Hooking up a 3.3V power supply to the board via Gamecube connector pin 1 and GND to connector pin 2 resulted in power to GBS-DOL but not the GBA zone. It's likely that GBS-DOL controls whether the GBA zone power is off or on.
After analysing the components and routing in the power zone, it appears that TP50 controls the power transistor and regulators for the GBA zone. I hooked up TP50 to 3.3V, checked the other power TPs and confirmed that the expected voltages were present - and thus the GBA zone should be 'switched on'.
Equivalent GBA voltage line
N/A (GBS-DOL VDD)
N/A (board VCC)
Clock and control
One obvious missing component from the GBA zone is the clock crystal. Instead there is a clock crystal labelled 33WKSS4BT connected to GBS-DOL. This appears to be a 33.554432MHz Kinseki crystal, which is 8x the normal GBA crystal frequency. I reckon that GBS-DOL does a clock division down and outputs to the GBA CPU.
TP32 is connected to CK1 on the CPU and CK2 appears to be unconnected. With power to the board, there didn't appear to be a clock signal when hooked up to a basic logic analyser. This might not be the same for other board revisions - Mogi_codemasterv needed to lift the corresponding pin on GBS-DOL to hook up an external clock and get it working.
TP25 is connected to the CPU reset pin, which is active low and thus...Read more »