libogc is a collection of low-level libraries for the GameCube and Wii. This collection of libraries was originally written by shagkur for the GameCube and has been developed over the past 6 years. It is designed to be used with the devkitPPC toolchain.
It includes support for the following low-level Wii/GameCube sub-systems:
ARAM
AUDIO
EXI - Support routines for the system bus which connects many internal devices to the CPU
IRQ - Hardware Interrupts
DSP
DVD
GX
VIDEO
Cache
Memory Card
Console
Threads
Messages
Mutexes
Semaphores
Condition Variables
Information on many of these sub-systems can be found in YAGCD.

Changelog v1.8.8
* More usb compatibility improvements.
* L2Enhance is only for Wii.
* allow multiple callbacks to be registered for device insertion events (newer V5 usb system only).
* change PAD_ScanPads()s behaviour. the return value now contains a bitmask of the controllers which have been read. the button bitmasks report up and down events only once, syncing this behaviour with wpad.
* fix typo in adpcm max step.
* USB mouse fixes.
* add DI_CheckDVDSupport to check if Wii DVD drive is supported
* documentation updates and fixes

Download libOGC v1.8.8