Cartridge for Gameboy Advance that converts the games console into a
powerful oscilloscope.

Specification:-

Input Voltage +/- 4V AC/DC

Max Sample rate 100 Million sample a second

Power Supply 3.3V from Gameboy Advance

Software stored on Flash Memory so that software can be updated through JTAG
interface via FPGA loader.

Firmware Update through JTAG.

Circuit Description:-

FPGA Flash Memory Board

Using a FPGA a sample rate of 100Msps is possible with the data
being stored in the FPGA memory. The Gameboy Advance accesses the data at a
slower rate to process it and display it to the user.

Using a FPGA a more advance trigger system can be implemented using less
external components than with analogue triggers. The Output from the ADC is used
to trigger a edge trigger with pre triggering samples being possible.

Below is a picture of the motherboard. A separate board is used with ADC and
analog components on it.

The circuit uses a 32MBits flash memory to store the software on and a FPGA is used to decode memory address,
generate ADC clock signals, store ADC sample data and sample trigger. An onboard
50Mhz oscillator is used to generate the various ADC sample speeds (100Mhz -
1Mhz) the FPGA uses a Phase Lock Loop.

ADC Board

The Analogue signal enters the board via a standard BNC connector with a 1MEG
ohm input impedance. A 100n capacitor is switched in and out of circuit via a
opto isolator. The signal is then attenuated and bias to mid supply voltage. The
signal then passes to a Variable Gain Amplifier then to the input of a ADC.

Above is a screenshot taken from a GBADSO sampling a waveform digital
pulse .

Gameboy Advance Address Decoder

Below is a trace of the Gameboy Advance address decoder implemented on the
FPGA using a verilog script. The address bus is loaded on the negative edge of
the CS_ROM signal and increment by the RD signal or WR signal.