KallistiOS GameCube: Difference between revisions

From dreamcast.wiki
Jump to navigation Jump to search
(Created page with "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. ==Status== * Toolchain: 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) ==Running homebrew== Most accessible methods for running homebrew (non-exhaustive): * Flipp...")
 
No edit summary
 
Line 2: Line 2:


This page exists to serve as a general reference for KallistiOS GameCube related information until a better page can be created.
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==
# 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
# 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.
# 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.
# For those concerned about the legality of libogc, KallistiOS serves as an alternative, as it does not use devkitPro/libogc.


==Status==
==Status==
* Toolchain: Currently in PR (thanks pcercuei)
* Toolchain builder: [https://github.com/KallistiOS/KallistiOS/pull/1097 Currently in PR] (thanks pcercuei)
* Changes needed to general KOS: few left, currently pending (thanks quzar)
* Changes needed to general KOS: few left, currently pending (thanks quzar)
* GameCube arch: Not upstreamed yet (in progress by darc)
* 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==
* [https://x.com/darcag3nt/status/1916867037588050326 Announcement] 4/28/2025
* [https://x.com/darcag3nt/status/1936593167454986745 Doom port demonstration] 6/21/2025


==Running homebrew==
==Running homebrew==

Latest revision as of 20:30, 3 August 2025

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