Repository navigation
Indigo v2.1.1 — ipl.dol uncompressed again
2.1.0's compressed ipl.dol could leave the console restarting over and over
at power-on instead of starting Indigo. 2.1.1 is 2.1.0 with ipl.dol
uncompressed again, as it was in 2.0.1; everything else is the same.
Fixes
ipl.dolis the uncompressed DOL again (5.5 MB). The compressed one in
2.1.0 did not start on a GameCube booted from a GC Loader: it failed to
unpack, the console restarted, the loader read it again and it looped. If
you installed 2.1.0, copy 2.1.1's files over it the same way.
For developers
- The zip's
ipl.doliscube/swiss/swiss.dolagain, and the packing from
#57 (verify_dol.py --packed,dolphin_ipl.py, the compressed file in
Reproducible build and the Emulator job) is reverted. The compressed DOL
passed CI and Dolphin but not a console, so it ships again only after a
console test.
Everything in 2.1
2.1.1 carries all of 2.1.0, which is withdrawn because of the ipl.dol above:
A fourth Library layout, Spotlight, with a gameplay still and a description
for every game; Apps, a fifth face of the cube for your emulators and other
programs, with your own pictures as posters; one poster pack for every
region; and everything upstream Swiss changed up to r2119.
Swiss r2119
Indigo is built on upstream Swiss r2119 now, up from a July build between
r2073 and r2092, and has everything upstream changed since:
- Games start with Swiss's current video timings: the timing tables Swiss
gives every game, and a +0 vertical offset by default. Under GCVideo or
GCDigital compatibility, the default, every game started at -3 (#42). - Turning off controller rumble no longer makes games reset after 32
minutes. - Neighbours from Hell returns to its menu. Animal Crossing Deluxe starts
without disc read speed emulation, and discs with Kawasedo's NES emulator
without the forced anisotropic filter. - Swiss Video Mode offers 240p and 288p.
- Setup › Library › Load at startup chooses a device and a folder for Indigo
to open when it starts. Z on a game's details still sets a game. - A game's name and description from its banner, when written in another
encoding such as Japanese Shift JIS, show far fewer garbled characters. - In the file lists, a clap on the DK Bongos jumps to the next game that
uses them. - Fixes to the SD card file system (FatFs R0.16-p2), the FTP client,
copying a file onto a name that already exists, and the stub that
reloads Swiss. - An NKit.iso of an ArtX diagnostic disc says it can't be played in that
format. - The Redump and [T-En] Collection game databases are current.
- The first start from a GC Loader or PicoLoader boot image says that
System Boot Mode › Production brings back the GameCube logo screen.
Library
- A fourth Library Layout, Spotlight: the selected game's gameplay still
fills a 4:3 panel, with its title, publisher, a description and its game
ID in the column beside it, over a row of disc banners, the selected
game's in the middle and a little larger. Left and Right move along the
row, as in Horizontal; the still changes with the title. A game without a still shows its cover there, and leaves from it
for its details. Choose it in Settings › Setup › Library › Library
Layout. - Spotlight's stills come from
/swiss/ui/stills.pak, a second pack next to
the posters: one 320×240 screenshot per game. The poster pack carries it
besideposters.pak, made from the libretro-thumbnails project's
GameCube screenshots;poster_pack.py --stillsbuilds one from your own. - Spotlight describes every game: a few sentences from
/swiss/ui/descriptions.txt, which the poster pack carries too
(English descriptions from GameTDB), else the description on the game's
disc banner. A game with neither says so. The file is plain text you can
edit, one game per line. - The Spotlight layout's design comes from
Gameplay Spotlight by mvizensk,
with its author's permission. System › Credits andNOTICEthank them.
One poster pack
- Posters are one download now, for every region: box art for every
GameCube game GameTDB has a cover for, with Spotlight's stills and
descriptions. There is no region to choose, and a card that mixes USA,
Japanese and European games gets posters for all of them. A pack holds up
to 2,048 games, up from 1,024. Indigo 2.0 and earlier refuse a pack this
big; the regional packs their release notes link stay online for them.
Apps
- New: Apps, for the programs on your card that aren't games (emulators,
Game Boy Interface, tools). Put their.dol,.dol+clior.elffiles in
/appsat the root of the card, loose or each in a folder of its own, and
Home gets a fifth face, Apps, one turn left of Library. A on it shows them
as posters in your Library Layout, moving the same way; A starts one, with
the launch screen games have, and B goes back to Home. Swiss's.cliand
.dcpfiles beside a program still work. Without apps on the card, Home is
the four faces it was. - Setup › Console › Apps Face (
Hide Apps Faceinglobal.ini) turns the
Apps face off, and Indigo then doesn't look in/appsat all. It is On by
default. - Each app's poster is your own picture: a PNG beside the program with its
name (gbi.pngforgbi.dol), or its folder'sicon.png, up to 2048
pixels a side. Indigo converts it on the console, so there is no pack to
build. A poster-shaped picture fills the card; a square icon or a Homebrew
Channel banner sits in the middle over a backdrop in its own colours. - An app without a picture gets a poster of its name, in big letters split
where the name has a-,_or space, in a colour picked from its first
word: Game Boy Interface'sgbihf-osscandgbihf-direct-hdmishare one,
and itsgbisrvariants have another. boot.dolis left out of Apps, since the Wii's Homebrew Channel layout uses
that name for the Wii program, and so are hidden files and names starting
with a dot.- The cube's icons fade one by one. When a turn has to move an icon to
another side, as turning sideways and then tipping at once does, only that
icon fades out and back in, where every icon used to. With five faces the
icons you can see never have to move: only ones facing away do.
Fixes
- A file in
/gamesthat isn't a game no longer hides the Library. A text
file, a cover picture or an empty folder there, or in a game's folder,
turned the whole Library into Swiss's plain file list, with no sign of
which file did it, and Library Layout and posters then seemed to do
nothing. The Library now skips them and shows the games. Swiss's list
comes back only when/gamesholds no disc images at all. - The glass cube no longer sparkles along its edges on a console. Single
pixels flickered where a face meets a bevel and where a bevel meets a
corner: the glass's refraction, reflection and sheen cut a face's side and
the bevel beside it at different points, and the GameCube snaps every
point to a sixteenth of a pixel, which opened and closed pixels along the
seam as the cube moved. Both sides are now cut at the same points, made
the same way. The round ends of the icons' strokes (the controller's
triggers and X and Y, the disc's glints) had the same fault and are fixed
too. Dolphin's finer snap hid it. - System Information shows the whole date: weekdays and months are three
letters (TUE SEP 29, 2026). A long one, such as a Tuesday in September,
ended in an ellipsis.
For developers
UPSTREAMnames the upstream Swiss commit Indigo is built on,
now r2119, and lists the upstream files Indigo changes, each with the
reason. CI checks it both ways: a change to an
upstream file that the list leaves out fails, and so does a listed file
that matches upstream again. It replaces the interface-only gate and its
exact-line exceptions, which are now lines in that list.
buildtools/upstream_merge.sh <commit>moves to another upstream commit:
it merges upstream's changes over the difference in line endings, updates
the commit, and lists anything left to resolve.- The size tripwires are 6 MiB for the DOL (
verify_dol.py) and 7 MiB for
the zip (check_package.py), up from 5 and 6: the DOL is about 5.2 MiB
and the zip about 6.1 MiB with the text-encoding libraries r2119 links. - The pack builder makes gameplay stills as well as posters:
poster_pack.py --stills <folder>writesstills.pak, one 320×240
screenshot per game in the poster pack's format. The Library's art cache
loads a stills pack next to the poster pack, in three slots of its own.
docs/PACKS.md describes
the format, which the source cited but the repository never had. - Game details read no further than a disc banner's 128-character
description, which need not end in a NUL; they could read on into the
memory after it.
Install
New to Indigo:
- First, before you copy anything: if the card already has an
ipl.dolin its root, that is your current Swiss. Rename it toz.dolto keep it; with PicoBoot or PicoLoader, holding Z at power-on starts it. - Unzip
Indigo-v2.1.1.zip(below), select everything inside and drag it onto the root of the card. Let it replace files of the same name. On a Mac, hold Option as you drop and choose Merge: Replace deletes what is already in the card'sswissfolder (your settings, cheats and saves). - Put your games in
/games(make the folder if the card has none), with nothing else in it or in the game folders, and power on.
Updating from Indigo 1.x: ipl.dol is already Indigo, so don't rename it; copy the new files over the old ones, choosing Merge on a Mac. If 1.25.0 made you rename stock Swiss to swiss.dol, you can rename it back to z.dol: since 2.0, Indigo doesn't start it by itself (#3).
PicoBoot and PicoLoader boot ipl.dol. FlippyDrive boots boot.dol, and with GC Loader or another loader that boots a disc image you start ipl.dol from Swiss: the install guide covers every loader, updating and going back to stock Swiss.
Posters and cheats (optional; unzip one and drag its swiss folder onto the card the same way): Posters (every region, with Spotlight's stills and descriptions) · Cheats
Verify: SHA256SUMS.txt lists the zip's SHA-256, and the zip carries a build provenance attestation: gh attestation verify Indigo-v2.1.1.zip --repo spencercnorton/indigo.