# List of Game Pak (CTRDG) API functions

### Initialization

CTRDG_Init | Initializes the Game Pak library.

### Removal Detection

CTRDG_IsExisting | Checks whether a Game Pak is inserted.
CTRDG_IsPulledOut | Detects a Game Pak removal.
CTRDG_SetPulledOutCallback | Sets the Game Pak removal callback.
CTRDG_TerminateForPulledOut | Stops both the ARM9 processor and the ARM7 processor when a Game Pak removal is detected.
CTRDG_IsAgbCartridgePulledOut | Detects AGB Game Pak removal.
CTRDG_IsOptionCartridgePulledOut | Detects removal of option Game Pak.

### Classes of Game Paks

CTRDG_IsAgbCartridge | Returns a BOOLEAN value to indicate if an AGB Game Pak is present.
CTRDG_IsOptionCartridge | Returns a BOOLEAN value to indicate if an Option Pak with peripherals is installed.
CTRDG_IsBitID | Returns whether the peripheral device identified by the bit ID is mounted in the Cartridge Slot.
CTRDG_IsNumberID | Returns whether the peripheral device identified by the number ID is mounted in the Cartridge Slot.

### AGB Cartridge Information

CTRDG_GetAgbMakerCode | Returns the AGB Game Pak's maker code.
CTRDG_GetAgbGameCode | Returns the game code (initial code) of AGB Game Pak.
CTRDG_IsEnabled | Retrieves whether access to the AGB cartridge is enabled or disabled.
CTRDG_Enable | Toggles whether access to the AGB cartridge is enabled or disabled.
CTRDG_CheckEnabled | Determines whether access to the AGB cartridge is enabled.

### Data Transfer

CTRDG_DmaCopy* | Transfers data using DMA.
CTRDG_CpuCopy* | Transfers data using the CPU.
CTRDG_Read* | Reads data from the Game Pak area.
CTRDG_Write* | Writes data to the Game Pak area.