1
1
Fork
You've already forked libogc2
0
C library for GameCube and Wii targeting devkitPPC. https://libogc2.org/
  • C 95.9%
  • Assembly 2.5%
  • C++ 1.3%
  • Makefile 0.3%
Find a file
2026年07月14日 13:27:52 -04:00
.github/workflows Enable manual workflow runs 2026年03月23日 17:20:47 -04:00
include Reimplement cntlz{w,d} with builtins 2026年07月14日 13:27:52 -04:00
libaesnd Add SYS_VirtualTo{Cached,Uncached} 2025年12月28日 16:11:01 -05:00
libasnd Align statically allocated stacks 2026年01月23日 21:48:41 -05:00
libc Address stranded MEM1 free space problem 2026年06月08日 18:28:28 -04:00
libdb Avoid conflict with register macros 2025年11月08日 21:23:38 -05:00
libdi Expand DISC_INTERFACE for future uses 2026年03月12日 19:45:15 -04:00
libiso9660 2025年05月02日 22:27:45 -04:00
libmodplay Support NTSC-N on GameCube 2026年07月03日 19:25:26 -04:00
libogc Reimplement cntlz{w,d} with builtins 2026年07月14日 13:27:52 -04:00
libtinysmb Pass ioType around in libiso9660 2024年11月17日 16:07:38 -05:00
libwiikeyboard Update OpenBSD component of libwiikeyboard 2026年04月10日 17:30:45 -04:00
lwbt Rename SYS_SwitchFiber to SYS_SwitchFiberEx 2025年12月13日 12:25:20 -05:00
lwip Add EXI speed getters for WIZnet 2026年02月13日 10:18:26 -05:00
wiiuse Call PAD_Init in PAD_ScanPads 2026年06月12日 17:00:34 -04:00
.gitignore Add PKGBUILD 2025年12月04日 18:32:27 -05:00
CONTRIBUTING.md Create CONTRIBUTING.md 2026年02月27日 15:38:58 -05:00
Dockerfile Install helper scripts 2026年03月21日 17:30:36 -04:00
Doxyfile Clean up install-headers mess 2025年10月22日 19:43:41 -04:00
gamecube_rules Restructure install 2025年10月07日 23:36:33 -04:00
libogc2_license.txt Happy New Year! 2026年01月01日 00:00:00 -05:00
Makefile Add Logitech Speed Force support 2026年06月10日 18:45:54 -04:00
PKGBUILD Release package hold 2026年01月25日 23:43:43 -05:00
README.md Update README.md 2026年05月10日 23:30:27 -04:00
rtems_license.txt Put RTEMS license into rtems_license.txt 2025年05月08日 22:24:18 -04:00
wii_rules Restructure install 2025年10月07日 23:36:33 -04:00

libogc2

libogc2 build Extrems' Corner.org Discord

libogc2 contains wide-ranging fixes and additions to most subsystems of libogc, provides hardware enablement for most new (and old) Nintendo GameCube accessories on the market or in prototype stage, and enables greater interoperability with Swiss.

It is largely API compatible with libogc 2.1.0 and earlier.

Projects using libogc2

Unofficial ports

Subprojects

BtEmbedded, cubeboot-tools, Embedded Game Controller, gamecube-examples, gamecube-tools, GRRLIB, libansnd, libdvm, libfat, libntfs, OpenGX, SDL, wii-examples

Installing

Follow the instructions from pacman-packages.

sudo (dkp-)pacman -S libogc2 libogc2-docs libogc2-examples

When asked for a libogc2-libfat provider, libogc2-libdvm is generally preferred, but libogc2-libfat may be chosen if you have concerns regarding exFAT's legal status. If you have a need for libogc2-libdvm without exFAT support, please open an issue.

No code changes should be necessary when migrating from libfat to libdvm.

Migrating from libogc

GNU Make

-include $(DEVKITPPC)/gamecube_rules
+include $(DEVKITPRO)/libogc2/gamecube_rules
-include $(DEVKITPPC)/wii_rules
+include $(DEVKITPRO)/libogc2/wii_rules

CMake

sudo (dkp-)pacman -S libogc2-cmake

DKP_OGC_PLATFORM_LIBRARY may be set to libogc or libogc2 to build projects using either thereafter.

GitHub Actions

- container: devkitpro/devkitppc:latest
+ container: ghcr.io/extremscorner/libogc2:latest

Building

Pacman

git clone https://github.com/extremscorner/libogc2.git
cd libogc2
makepkg -si
git clone --recurse-submodules https://github.com/extremscorner/libdvm.git
cd libdvm
makepkg -si

GNU Make

  1. Existing packages should first be uninstalled if already installed.

    sudo (dkp-)pacman -R --cascade libogc2(-git)
    
  2. Install build dependencies.

    sudo (dkp-)pacman -S --needed devkitPPC gamecube-tools ppc-libmad
    
  3. Clone and build source repositories.

    git clone https://github.com/extremscorner/libogc2.git
    cd libogc2
    make
    sudo -E make install
    
    git clone https://github.com/extremscorner/libfat.git
    cd libfat
    make ogc-release
    sudo -E make ogc-install
    

Using sudo is not necessary with MSYS2.

Upgrading

Pacman

cd libogc2
git pull
makepkg -si
cd libdvm
git pull --recurse-submodules
makepkg -si

GNU Make

  1. Supporting packages should first be upgraded.

    sudo (dkp-)pacman -Syu
    
  2. Clean, pull and rebuild source repositories.

    cd libogc2
    sudo -E make uninstall
    sudo -E make clean
    git pull
    make
    sudo -E make install
    
    cd libfat
    make ogc-clean
    git pull
    make ogc-release
    sudo -E make ogc-install