KallistiOS GameCube

From dreamcast.wiki
Jump to navigation Jump to search

A KallistiOS port to GameCube is underway, led by darc.

This page exists to serve as a general reference for KallistiOS GameCube related information until a better page can be created.

Wii support is planned as well, but GameCube is the current priority. Wii U support is not planned at this time, as it would likely require significant core KallistiOS changes.

Purpose/Goals

  1. Born as a personal side project by darc to play with a non-Dreamcast embedded target and to learn more about low-level hardware programming, kernel programming, and KallistiOS low-level internals
  2. Restore KallistiOS to a multi-arch project. KallistiOS 1.x was originally multi-arch (dc/ps2/gba) before all non-Dreamcast targets were removed with the KallistiOS 2.x release due to lack of progress and interest. GameCube/Wii pairs well with the Dreamcast. The additional targets help keep the kernel architecture robust and provide more testing capabilities.
  3. Facilitate cross-platform homebrew games and allow easier development of GameCube/Wii ports of Dreamcast homebrew. While console-specific code will still be required, a unified KallistiOS core will reduce porting burden, and higher level, platform-independent KallistiOS APIs can be created for many components. OpenGL or SDL implementations can ease porting burden as well. This can help expand both the Dreamcast and GameCube/Wii homebrew dev scenes.
  4. For those concerned about the legality of libogc, KallistiOS serves as an alternative, as it does not use devkitPro/libogc.

Status

  • Toolchain builder: Currently in PR (thanks pcercuei)
  • Changes needed to general KOS: few left, currently pending (thanks quzar)
  • GameCube arch: Not upstreamed yet (in progress by darc)
    • Working: Most of core KOS kernel (interrupts/threads/etc.), USB Gecko for debug output, basic pad reading, external framebuffer for video output
    • Upstreaming of core arch code expected soon(TM)

News

Running homebrew

Most accessible methods for running homebrew (non-exhaustive):

  • FlippyDrive: ODE + real disc drive combo, solderless, USD$50+ kit
  • CubeODE: Replaces disc drive with ODE via SD slot, solderless, about USD$50
  • PicoBoot: Overrides BIOS with gekkoboot homebrew bootloader, easy soldering required, DIY and very cheap
  • PicoLoader: Emulates a disc drive to boot a main homebrew app then re-enables real disc drive, solderless, DIY and very cheap
  • XenoGC: Allows disc drive to boot homebrew from DVD-R, requires moderate soldering, cheap
  • Action Replay: Requires rare Action Replay disc to load files from SD card reader
  • Save exploits