Game Boy Interface/High-Fidelity Edition

From GC-Forever Wiki
Jump to navigation Jump to search
Game Boy Interface
Information
Author(s) Extrems
Type Utility
Version Rolling release
Licence Freeware
Links
Main download
Extra download
Website
Discussion
Source
GBIHF.png

A spiritual successor of the ultra-low latency version, Game Boy Interface High-Fidelity Edition (GBIHF) aims to provide the best source quality for further processing or archival.

Contents

Controls

Type A (two-handed)

Nintendo GameCube Nintendo GameCube Controller Logitech Speed Force Nintendo 64 Controller Action
A/B Buttons A/B Buttons or Accelerator/Brake Pedals A/B Buttons A/B Buttons
Y/Z Buttons Y/Z Buttons Z Button Select
X Button or Start/Pause X Button or Start/Pause Start Start
+Control Pad or Control Stick +Control Pad or Steering Wheel +Control Pad or Control Stick +Control Pad
L/R Buttons L/R Buttons L/R Buttons L/R Buttons
Reset Button B, X and Start/Pause Buttons B, X and Start/Pause Buttons Z, R, A, B and Start Buttons Power Switch
Reset Button X, Y and Start/Pause Buttons
(Hold for 1.5 seconds)
L, R and Start Buttons Recalibrate
X, Y and Start/Pause Buttons
(Hold for 3 seconds)
Swap controls
(Only with controller adapter)
DK Bongos Controller Active Life Mat Controller Action
Bottom Right/Left Orange Up/Right A/B Buttons
Hand Clap - Button Select
Start/Pause + Button Start
Top Right Blue or Orange Square +Control Pad Right
Top Left Blue Left +Control Pad Left
Blue Up +Control Pad Up
Blue or Orange Down +Control Pad Down

Type B (one-handed)

Nintendo GameCube Nintendo GameCube Controller Logitech Speed Force Nintendo 64 Controller Action
A/B Buttons A/B Buttons or Accelerator/Brake Pedals A/B Buttons A/B Buttons
L/Z Buttons Y/Z Buttons L/Z Buttons Select
R Button or Start/Pause X Button or Start/Pause R Button or Start Start
+Control Pad, Control Stick or C Stick +Control Pad or Steering Wheel +Control Pad, Control Stick or C Buttons +Control Pad
Y/X Buttons L/R Buttons L/R Buttons
Reset Button B, X and Start/Pause Buttons B, X and Start/Pause Buttons Z, R, A, B and Start Buttons Power Switch
Reset Button X, Y and Start/Pause Buttons
(Hold for 1.5 seconds)
L, R and Start Buttons Recalibrate
X, Y and Start/Pause Buttons
(Hold for 3 seconds)
Swap controls
(Only with controller adapter)
DK Bongos Controller Active Life Mat Controller Action
Bottom Right/Left Orange Up/Right A/B Buttons
Hand Clap - Button Select
Start/Pause + Button Start
Blue or Orange Square +Control Pad Right
Blue Left +Control Pad Left
Blue Up +Control Pad Up
Blue or Orange Down +Control Pad Down
Top Left/Right L/R Buttons

Type C (Super Mario World: Super Mario Advance 2)

Nintendo GameCube Nintendo GameCube Controller Logitech Speed Force Nintendo 64 Controller Action
B/Y or X Buttons A/B Buttons or Accelerator/Brake Pedals A/B Buttons A/B Buttons
Z Button Y/Z Buttons Z Button Select
Start/Pause X Button or Start/Pause Start Start
+Control Pad or Control Stick +Control Pad or Steering Wheel +Control Pad or Control Stick +Control Pad
L/R or A Buttons L/R Buttons L/R Buttons L/R Buttons
Reset Button B, X and Start/Pause Buttons B, X and Start/Pause Buttons Z, R, A, B and Start Buttons Power Switch
Reset Button X, Y and Start/Pause Buttons
(Hold for 1.5 seconds)
L, R and Start Buttons Recalibrate
X, Y and Start/Pause Buttons
(Hold for 3 seconds)
Swap controls
(Only with controller adapter)

Type D (The Legend of Zelda: A Link to the Past)

Nintendo GameCube Nintendo GameCube Controller Logitech Speed Force Nintendo 64 Controller Action
Y/B Buttons A/B Buttons or Accelerator/Brake Pedals A/B Buttons A/B Buttons
R Button or Start/Pause Y/Z Buttons L/Z Buttons Select
L/Z Buttons X Button or Start/Pause R Button or Start Start
+Control Pad, Control Stick or C Stick +Control Pad or Steering Wheel +Control Pad, Control Stick or C Buttons +Control Pad
X/A Buttons L/R Buttons L/R Buttons
Reset Button B, X and Start/Pause Buttons B, X and Start/Pause Buttons Z, R, A, B and Start Buttons Power Switch
Reset Button X, Y and Start/Pause Buttons
(Hold for 1.5 seconds)
L, R and Start Buttons Recalibrate
X, Y and Start/Pause Buttons
(Hold for 3 seconds)
Swap controls
(Only with controller adapter)

Type E (swapped)

Nintendo GameCube Nintendo GameCube Controller Logitech Speed Force Nintendo 64 Controller Action
X or B/Y or A Buttons A/B Buttons or Accelerator/Brake Pedals A/B Buttons A/B Buttons
Z Button Y/Z Buttons Z Button Select
Start/Pause X Button or Start/Pause Start Start
+Control Pad or Control Stick +Control Pad or Steering Wheel +Control Pad or Control Stick +Control Pad
L/R Buttons L/R Buttons L/R Buttons L/R Buttons
Reset Button B, X and Start/Pause Buttons B, X and Start/Pause Buttons Z, R, A, B and Start Buttons Power Switch
Reset Button X, Y and Start/Pause Buttons
(Hold for 1.5 seconds)
L, R and Start Buttons Recalibrate
X, Y and Start/Pause Buttons
(Hold for 3 seconds)
Swap controls back
(Only with controller adapter)
C Stick Down C Button Down Toggle input viewer

Options

--poll=<0-11>
Set controller polling rate. Use if your third-party controller or controller adapter is malfunctioning.
0: VSync (most compatible)
1: 1000Hz (default)
2: 500Hz
3: 350Hz
4: 300Hz
5: 250Hz
6: 200Hz
7: 150Hz
8: 150Hz
9: 125Hz
10: 125Hz
11: 100Hz
--control=<P1[:P2[:P3[:P4]]]>
Set control scheme. The default is the Game Boy Player Start-up Disc's Controller setting (0 or 1).
0: Type A (two-handed)
1: Type B (one-handed)
2: Type C (Super Mario World: Super Mario Advance 2)
3: Type D (The Legend of Zelda: A Link to the Past)
4: Type E (swapped)
Note: A Game Boy Advance used as a controller is a Nintendo GameCube Controller.
--delay-reset=<N>
Set reset delay (default: 0).
--delay-video=<N>
Set video buffering (default: 1).
--movie=<path>, --no-movie
Play input log (default: no).
--movie-record, --no-movie-record
Record input log (default: no).
--palette=<xxxx-xxxx-xxxx>, --no-palette
Apply Super Game Boy color palette (default: no).
Note: Press Left + B while the Game Boy logo is visible for proper application on original Game Boy Game Paks.
--lut3d=<path>, --no-lut3d
Load 32x32x32 lookup table in PNG file format (default: no).
Overrides --matrix, --input-gamma, --contrast and --brightness.
--lut3d-order=<rgb|gbr|bgr>
Specify lookup table order (default: rgb).
--matrix=<identity|gba|gbc|gbi|nds|palm|psp|vba>
Set color matrix (default: identity).
This translates the RGB color primaries to the video RGB color space.
identity: Identity matrix
gba: Game Boy Advance (by Pokefan531)
gbc: Game Boy Color (by Pokefan531)
gbi: Game Boy Interface
nds: Nintendo DS (by Pokefan531)
palm: Palm Treo 700p (by Pokefan531)
psp: PlayStation Portable (by Pokefan531)
vba: VisualBoyAdvance-M (by Pokefan531)
--input-gamma=<red[:green[:blue]]>
Set gamma (default: 2.2).
--output-gamma=<value>
Specify screen gamma (default: 2.2).
--contrast=<red[:green[:blue]]>
Set gain (default: 1.0).
--brightness=<red[:green[:blue]]>
Set lift (default: 0.0).
--volume=<left[:right]>
Set audio gain (default: 0.75).
Note: GCVideo-DVI v2.4b and earlier reduces volume down to a quarter.
--sound=<[mono|stereo][,digital|analog]>
Set sound mode. The default is the Sound Mode system setting (mono or stereo).
digital
Use PWM decoder (default).
analog[=<a0:a1:a2:b1:b2>]
Use 2MHz biquad filter. Defaults to a second-order low-pass filter with a cut-off of 10kHz and a quality factor of √2 if not specified.
This is used to simulate the RLC circuit on the Game Boy Advance's Headphone Jack, providing a treble boost.
--colorspace=<ycc601|ycc709|ycc2020|rgb709|rgb2020>
Set video color space (default: ycc601).
This depend on a compatible video encoder or transmitter not mangling its input.
ycc601: IEC 61966-2-4 xvYCC601
ycc709: IEC 61966-2-4 xvYCC709
ycc2020: ITU-R BT.2020 Y’C’BC’R
rgb709: IEC 61966-2-1 sRGB
rgb2020: ITU-R BT.2020 R’G’B’
Note: GCVideo-Lite or GCVideo-DVI v2.4d-2 and earlier will interpolate red and blue samples.
--chroma-location=<left|center|right>
Specify chroma sample location (default: center).
If non-center, this will interpolate luma samples.
--format=<[ntsc|pal|pal-m|ntsc-50|pal-60|custom|custom-m|hd60|hd50|hd48|hdcustom][,offset=<x:y>][,scaled-size=<w:h>]>
Set video format (default: custom).
Note: GCVideo-DVI is only designed to support NTSC, PAL and PAL-60.
--scan-mode=<[interlace|quasi-interlace|non-interlace|non-progressive|progressive][,clock2x|no-clock2x][,size2x|no-size2x]>
Set scan mode. The default is the Progressive Scan Mode system setting (non-interlace or progressive).
interlace: 15 or 18-22kHz interlaced
quasi-interlace: 15 or 18-22kHz segmented frame
non-interlace: 15 or 18-22kHz progressive
non-progressive: 31 or 27-33kHz interlaced
progressive: 31 or 27-33kHz progressive
clock2x, no-clock2x
Enable 27MHz pixel clock (default: auto). Enabling doubles the refresh rate for interlace scan modes. Disabling halves the refresh rate for progressive scan modes.
This depend on a compatible video encoder or transmitter not mangling its input.
size2x, no-size2x
Enable pixel doubling (default: auto). Enabling halves the refresh rate.
This depend on a compatible video encoder or transmitter not mangling its input.
--usb, --no-usb
Enable USB Gecko features (default: yes).
--enhance, --no-enhance
Enable Game Boy Player enhancements (default: yes).
Title Feature(s)
Drill Dozer Rumble
Game Boy Advance Video Series Not compatible
Mario & Luigi: Superstar Saga Rumble, reduced contrast
Pokémon Pinball: Ruby & Sapphire Rumble
Shikakui Atama o Maru Kusuru Advance: Kanji Keisanhen Rumble, restored contrast
Shikakui Atama o Maru Kusuru Advance: Kokugo Sansuu Shakai Rikahen Rumble, restored contrast
Super Mario Advance 4: Super Mario Bros. 3 Rumble, restored gamma
Note: Remove any accessory from the External Extension Connector, or the Rumble Feature will not work.
Note: If you're using an EverDrive-GBA, make sure to turn off Quick Boot in the options, or the enhancements may not work.
<path>
Load Game Boy Advance multi-bootable ROM.
Note: Remove any accessory from the External Extension Connector. Hold Start + Select while the Game Boy logo is visible.

Any file path can be relative or absolute. If relative, it is relative to /GBI. They can also explicitly specify the SD card to read from by prefixing an absolute path with carda: or cardb:

Comparisons

Video quality (480i/p)

Using DSSIM 2.9.7 and FFmpeg 4.2 for RGB SSIM & PSNR, with this reference image.

The analog-to-digital conversion parameters were calibrated for each source and device pair.
This isn't representative of relative signal strength. Sorting by DSSIM provide a fairly accurate ranking.

Blackmagic Intensity Shuttle

Using ADV7180 and ADV7604.

This 10-bit YCBCR 4:2:2 capture device is most representative of what you might see on a digital television.
As chroma is shifted right on YPBPR in/out, this was corrected in post-processing. Video and S-Video in/out suffer from internal interference.

  1. 1.0 1.1 Generic S-Video Cable exhibits a checkerboard pattern when audio isn't connected.
  2. GCVideo-DVI v2.4a and earlier has CB shifted left in the Green channel of RGB outputs.
Measurements in dB
Source Lab DSSIM RGB SSIM RGB PSNR
Nintendo Stereo AV Cable (NTSC-J) -13.649225 9.113083 26.230614
Nintendo Stereo AV Cable (PAL-M) -13.592871 9.266401 26.258677
Generic S-Video Cable (NTSC-J) -16.759851 9.665267 28.114733
Generic S-Video Cable (PAL-M) -15.860860 8.940420 27.562406
HD Retrovision SNES Component Cable -19.818078 11.909561 30.240476
EON GCHD Mk-II (480i) + Datel Wii HD Component Cable -18.820725 11.015009 29.622180
EON GCHD Mk-II (480i) + HD Retrovision Wii Component Cable -19.188612 10.756514 29.733275
EON GCHD Mk-II (480p) + Datel Wii HD Component Cable -18.413888 11.437952 28.814303
EON GCHD Mk-II (480p) + HD Retrovision Wii Component Cable -18.690832 11.709870 28.666443
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable -20.429913 11.557804 30.870581
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable -21.010598 11.666182 30.782310
Nintendo GameCube Component Video Cable -20.326144 12.296088 30.858279
GCVideo-DVI v2.4a and earlier -20.468997 13.002044 30.700228
GCVideo-DVI v2.4b and later -22.119196 13.572406 30.754753
EON GCHD Mk-II v2.4c.2 + HDMI Cable -25.800925 14.019819 32.655669
GCVideo-DVI v3.0 and later -42.135645 24.748754 50.132255

Datapath VisionRGB

Using AD9887A.

This range of 8-bit RGB 4:4:4 capture cards serve as our reference.

  1. GCVideo-DVI v2.4a and earlier has CB shifted left in the Green channel of RGB outputs.
Measurements in dB
Source Lab DSSIM RGB SSIM RGB PSNR
HD Retrovision SNES Component Cable 4× Oversampling ADC -22.735789 15.806153 35.753032
EON GCHD Mk-II (480i) + Datel Wii HD Component Cable 2× Undersampling ADC -31.215967 13.860590 41.699780
EON GCHD Mk-II (480i) + HD Retrovision Wii Component Cable 2× Undersampling ADC -30.396705 10.659547 39.569547
EON GCHD Mk-II (480i) + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 2× Undersampling ADC -33.832538 17.362425 45.116109
EON GCHD Mk-II (480i) + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 2× Undersampling ADC -34.293416 17.737722 45.675859
EON GCHD Mk-II (480p) + Datel Wii HD Component Cable -23.976193 12.341795 31.634624
EON GCHD Mk-II (480p) + HD Retrovision Wii Component Cable -23.518892 9.916446 31.202246
EON GCHD Mk-II (480p) + Datel Wii HD Component Cable 4× Oversampling ADC -21.754420 14.994438 31.011696
EON GCHD Mk-II (480p) + HD Retrovision Wii Component Cable 4× Oversampling ADC -24.731237 14.727683 32.038702
EON GCHD Mk-II (480p) + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 -24.403295 14.787556 31.886085
EON GCHD Mk-II (480p) + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 -24.349649 14.845420 31.825589
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable -32.716464 17.283106 46.437449
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable -32.226553 13.715457 46.187558
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable 4× Oversampling ADC -26.946243 13.897660 38.550358
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable 4× Oversampling ADC -37.872882 15.353578 49.763166
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 -36.505749 17.089957 49.815191
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 -37.260050 17.619581 50.258804
Nintendo GameCube Component Video Cable -33.122504 16.608593 45.823305
Nintendo GameCube Component Video Cable + RetroRGB Comp2DVI v2.1 -34.241228 17.065338 46.608796
GCVideo-DVI v2.4a and earlier -20.884748 15.626424 31.413426
GCVideo-DVI v2.4b and later -22.987859 16.788045 31.747315
EON GCHD Mk-II v2.4c.2 + HDMI Cable -46.271731 33.475790 52.385668
GCVideo-DVI v3.0 and later -51.955394 51.175099 66.290202
GCVideo-DVI v3.0 and later 5-5-5 Bits -Infinity Infinity Infinity

Hauppauge WinTV-HVR-1850

Using CX23888.

This 8-bit YCBCR 4:2:2 capture card show the advantages of 3D comb filtering.

Video quality (1080i)

Using DSSIM 2.9.7 and FFmpeg 4.2 for RGB SSIM & PSNR, with this reference image.

The analog-to-digital conversion parameters were calibrated for each source and device pair.
This isn't representative of relative signal strength. Sorting by DSSIM provide a fairly accurate ranking.

Blackmagic Intensity Shuttle

Using ADV7604.

This 10-bit YCBCR 4:2:2 capture device is most representative of what you might see on a digital television.
As chroma is shifted right on YPBPR in/out, this was corrected in post-processing.

  1. 1.0 1.1 1.2 1.3 EON GCHD Mk-II's analog output lacks a reconstruction filter.
  2. 2.0 2.1 GCVideo-DVI v2.4c and earlier has CB shifted right and CR shifted left.
  3. 3.0 3.1 EON CUSTOM v2.4c.2 repeats the first pixel and loses the last.
Measurements in dB (Relaxed)
Source Lab DSSIM RGB SSIM RGB PSNR
EON GCHD Mk-II + Datel Wii HD Component Cable -16.834550 10.105081 27.976400
EON GCHD Mk-II + HD Retrovision Wii Component Cable -16.787514 9.372174 27.937689
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable -23.334189 11.373130 34.616801
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable -23.111673 10.010651 34.389782
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 -23.941428 12.235939 34.300344
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 -24.424618 12.273291 34.450169
Nintendo GameCube Component Video Cable -22.048245 11.869760 32.255651
Nintendo GameCube Component Video Cable + RetroRGB Comp2DVI v2.1 -21.968089 12.007826 32.112010
Measurements in dB (Strict)
Source Lab DSSIM RGB SSIM RGB PSNR
EON GCHD Mk-II + Datel Wii HD Component Cable -16.834550 10.105081 27.976400
EON GCHD Mk-II + HD Retrovision Wii Component Cable -16.787514 9.372174 27.937689
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable -15.938093 10.608945 26.127405
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable -15.557761 9.420851 25.640686
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 -16.542309 11.403224 26.505730
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 -16.554003 11.407481 26.369512
Nintendo GameCube Component Video Cable -22.048245 11.869760 32.255651
Nintendo GameCube Component Video Cable + RetroRGB Comp2DVI v2.1 -21.968089 12.007826 32.112010

Datapath VisionRGB

Using AD9887A.

This range of 8-bit RGB 4:4:4 capture cards serve as our reference.

  1. 1.0 1.1 1.2 1.3 EON GCHD Mk-II's analog output lacks a reconstruction filter.
  2. 2.0 2.1 2.2 2.3 GCVideo-DVI v2.4c and earlier has CB shifted right and CR shifted left.
  3. 3.0 3.1 3.2 EON CUSTOM v2.4c.2 repeats the first pixel and loses the last.
  4. GCVideo-DVI v2.4a and earlier has CB shifted left in the Green channel of RGB outputs.
Measurements in dB (Relaxed)
Source Lab DSSIM RGB SSIM RGB PSNR
EON GCHD Mk-II + Datel Wii HD Component Cable -16.838398 10.260551 27.990232
EON GCHD Mk-II + HD Retrovision Wii Component Cable -17.038034 9.341195 27.995439
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable -25.317526 11.597426 37.371300
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable -26.883853 9.944987 36.774390
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 -28.323098 14.592324 38.196510
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 -30.870107 14.989569 39.872670
Nintendo GameCube Component Video Cable -23.821456 14.465050 34.078794
Nintendo GameCube Component Video Cable + RetroRGB Comp2DVI v2.1 -23.677051 15.607242 33.786928
Insurrection Industries CARBY + Manhattan HDMI to VGA Converter -17.333787 13.922659 28.675147
Insurrection Industries CARBY v2.4c + Manhattan HDMI to VGA Converter -16.810031 13.694043 28.674923
EON GCHD Mk-II v2.4c.2 + Manhattan HDMI to VGA Converter -27.689225 17.089096 42.283870
Insurrection Industries CARBY v2.4d-2 + Manhattan HDMI to VGA Converter -21.260943 15.212050 32.477806
Measurements in dB (Strict)
Source Lab DSSIM RGB SSIM RGB PSNR
EON GCHD Mk-II + Datel Wii HD Component Cable -16.838398 10.260551 27.990232
EON GCHD Mk-II + HD Retrovision Wii Component Cable -17.038034 9.341195 27.995439
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable -15.236085 10.614735 25.247548
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable -14.745697 9.252719 24.559405
EON GCHD Mk-II v2.4c.2 + Datel Wii HD Component Cable + RetroRGB Comp2DVI v2.1 -15.562563 12.689360 25.386722
EON GCHD Mk-II v2.4c.2 + HD Retrovision Wii Component Cable + RetroRGB Comp2DVI v2.1 -15.459680 12.790411 25.183900
Nintendo GameCube Component Video Cable -23.821456 14.465050 34.078794
Nintendo GameCube Component Video Cable + RetroRGB Comp2DVI v2.1 -23.677051 15.607242 33.786928
Insurrection Industries CARBY + Manhattan HDMI to VGA Converter -17.333787 13.922659 28.675147
Insurrection Industries CARBY v2.4c + Manhattan HDMI to VGA Converter -16.810031 13.694043 28.674923
EON GCHD Mk-II v2.4c.2 + Manhattan HDMI to VGA Converter -14.562250 13.850383 24.662837
Insurrection Industries CARBY v2.4d-2 + Manhattan HDMI to VGA Converter -21.260943 15.212050 32.477806

Sound emulation

Mega Man Zero 2

Pokémon Sapphire

3D lookup table

Pokémon Sapphire

Color matrix

Golden Sun

Mario Kart: Super Circuit

Pokémon Sapphire

The Legend of Zelda: The Minish Cap

Wario Land 4

Examples

Color emulation

Game Boy Advance

GBI Game Boy Advance.png

Using a contrast ratio of 250:1.

--matrix=gba
--input-gamma=4.
--contrast=.74851331406341291833644689906823
--brightness=.25148668593658708166355310093177

Nintendo DS

GBI Nintendo DS.png

Using a contrast ratio of 600:1.

--matrix=nds
--input-gamma=2.2
--contrast=.94539857500845076575010909270066
--brightness=.05460142499154923424989090729934

Palm Treo 700p

GBI Palm Treo 700p.png

Using a contrast ratio of 75:1.

--matrix=palm
--input-gamma=2.2
--contrast=.85949252616415732890698972119636
--brightness=.14050747383584267109301027880364

PlayStation Portable

GBI PlayStation Portable.png

Using a contrast ratio of 750:1.

--matrix=psp
--input-gamma=2.2
--contrast=.95066513192721403818280764386444
--brightness=.04933486807278596181719235613556

Color restoration

Mario & Luigi: Superstar Saga

This game reduces contrast when played with Game Boy Player enhancements.

--contrast=1.1

Super Mario Bros. 3: Super Mario Advance 4

This game reduces gamma when played without Game Boy Player enhancements.

--input-gamma=2.8

The Legend of Zelda: Oracle of Ages/Seasons

This game reduces gamma when played on a Game Boy Advance. Due to Game Boy Color limitations, only shadows can be restored perfectly.

--input-gamma=4.

Video optimization

Datapath VisionRGB

Nintendo GameCube Component Video Cable

Included as gbihf-vision.cli, gbihf-vision.dol+cli and gbihf-vision.gci.

These settings provide a 2× scaled image in a 480p59.7276 output.

--colorspace=rgb709
--format=custom,offset=0,scaled-size=0:0
--scan-mode=progressive
  • Resolution and Refresh
    • Width: 480
    • Height: 320
    • Vertical Refresh: 59.72
  • Video Adjustments
    • Horizontal Position: 247
    • Horizontal Size: 866
    • Phase: 28
    • Vertical Position: 116
    • Black Level: 8
  • Cropping
    • Top: 0
    • Left: 0
    • Width: 480
    • Height: 320
  • Color Adjustments
    • Brightness: 32
    • Contrast: 128
    • Colour Domain: RGB (601)
    • Colour Balance
      • All Colors
        • Brightness: 32
        • Contrast: 128
      • Red
        • Brightness: 164
        • Contrast: 196
      • Green
        • Brightness: 178
        • Contrast: 160
      • Blue
        • Brightness: 156
        • Contrast: 196
GCVideo-DVI v2.4b and later

Refer to RetroRGB for configuration.

GCVideo-DVI v3.0 and later

Included as gbihf-vision.cli, gbihf-vision.dol+cli and gbihf-vision.gci.

These settings provide a 2× scaled image in a 480×320p59.7276 output.

In the GCVideo menu under "Advanced settings", set "Chroma Interpolation" and "Fix resolution" to Off, and "Digital color format" to YC444.

--colorspace=rgb709
--format=custom,offset=0,scaled-size=0:0
--scan-mode=progressive
  • Color Adjustments
    • Brightness: 32
    • Contrast: 128
    • Colour Domain: RGB (709) Limited

Open Source Scan Converter

Included as gbihf-ossc.cli, gbihf-ossc.dol+cli and gbihf-ossc.gci.

These settings provide a 2× scaled image in a 360p60 output. They require firmware v0.82 or later.

If you have a GCDual or EON GCHD Mk-II, under "Other settings", set "Analog output" (Wii RGB Cable) or "Mode Select" (Wii Component Cable) to dYUV.
If you're using a Wii RGB Cable: In the OSSC menu under "Settings opt", set "Auto AV1 Y/Gs" to YPbPr.

If you're using GCVideo with a HDMI to YPbPr Converter: In the OSSC menu under "Sync opt.", set "Vsync threshold" to 14.92 us.

--format=hd60
--scan-mode=non-interlace

In the OSSC menu under "Output opt.", set "384p/400p proc" to Line2x 240x360 or Line3x 240x360.


--format=hdcustom
--scan-mode=non-interlace

In the OSSC menu under "Sampling opt." and "Adv. timing", set "H. samplerate" to 302.

This is best used with:

  • Nintendo GameCube Component Video Cable
  • Nintendo GameCube D-Terminal Video Cable
  • Nintendo GameCube RGB Cable

This is compatible with:

  • EON GCHD Mk-II + Wii Component Cable
  • EON GCHD Mk-II + Wii RGB Cable
  • GCVideo-DVI v3.0 and later + digital-to-analog converter
  • GCVideo-Lite

This is not compatible with:

  • GCVideo-DVI v2.4d-2 and earlier
  • Insurrection Industries CARBY Component Cable
Insurrection Industries CARBY Component Cable

Included as gbihf-carby+ossc.cli, gbihf-carby+ossc.dol+cli and gbihf-carby+ossc.gci.

These settings provide a 1× scaled image in a 240p59.7276 output. Refer to FirebrandX for configuration.
These settings are also applicable to other GCVideo products with a digital-to-analog converter.

--chroma-location=left
--format=custom,offset=0,scaled-size=0:0
--scan-mode=non-interlace,no-clock2x,no-size2x

Important: Misuse will result in the wrong aspect ratio.

XRGB-mini Framemeister

Included as gbihf-xrgb.cli, gbihf-xrgb.dol+cli and gbihf-xrgb.gci.

These settings provide a 1× scaled image in a 240p59.7387 output. Refer to FirebrandX for configuration.

If you're using GCVideo, under "Other settings", set "Allow 480p mode" to Off.

--format=custom-m,offset=0,scaled-size=0:0
--scan-mode=non-interlace

Important: Misuse will result in the wrong aspect ratio.

High-definition televisions

Nintendo GameCube Component Video Cable
GBIHF-CMPV.png

Included as gbihf-cmpv.cli, gbihf-cmpv.dol+cli and gbihf-cmpv.gci.

These settings provide a 5.5× scaled image in a 1080i60 output.

--colorspace=ycc709
--format=hd60
--scan-mode=non-progressive

Change the Aspect Ratio on the television to Just Scan.

Wii Component Cable

Included as gbihf-cmpv.cli, gbihf-cmpv.dol+cli and gbihf-cmpv.gci.

These settings provide a 5.5× scaled image in a 1080i60 output. They require a GCDual or EON GCHD Mk-II with firmware v2.4c.2 or later.
A reconstruction filter may be necessary as an add-on for proper display. The GCDual and EON GCHD Mk-II lack such a filter.

For firmware v2.4c.2: In the GCVideo menu under "Other settings", set "Pixel Average" to Off and "Mode Output" to dYUV.
For firmware v3.0+: In the GCVideo menu under "Advanced settings", set "Chroma Interpolation" and "Fix resolution" to Off.

--colorspace=ycc709
--format=hd60
--scan-mode=non-progressive

Change the Aspect Ratio on the television to Just Scan.

GCVideo-DVI v3.0 and later
GBIHF-GCDV-v3.png

Included as gbihf-gcdv-v3.cli, gbihf-gcdv-v3.dol+cli and gbihf-gcdv-v3.gci.

These settings provide a 4× scaled image in a 960×640i60.08 output.

In the GCVideo menu under "Advanced settings", set "Chroma Interpolation" to Off.

--format=hd60
--scan-mode=interlace,clock2x,size2x

No further guidance on television settings can be given. If the correct aspect ratio cannot be realized, or the output isn't compatible, consider other options.

Video capture devices

These settings provide a 2× scaled image in a 480p59.94 output.

If you're using GCVideo, under "Advanced settings", set "Digital color format" to YC422.

--format=ntsc,offset=0,scaled-size=0:0
--scan-mode=progressive

FAQs

Progressive scan (720x480p)
Blanking regeneration (1440x480i)
Red + Green: Regenerated blanking interval
Green + Blue: Actual blanking interval

How do I change Game Paks?

  1. Hold the Reset Button.
  2. Slide the Game Pak Ejector.
  3. Insert a Game Pak into the Game Pak Slot.
  4. Release the Reset Button.

Can I play Game Boy Advance Video?

Yes. You can do so by disabling Game Boy Player enhancements (--no-enhance), or holding a direction while the Game Boy Player logo is visible.

Is this an emulator? Can I play ROMs?

No, but there's Enhanced mGBA if you're looking for one.

Is it possible to dump Game Boy Game Paks?

No, the pin assignment for the ARM7 CPU is different and prevents any such possibility. Using the SM83 CPU is impractical.

Why am I seeing a double split image?

Either progressive scan mode is enabled or, if using GCVideo-DVI, line doubling is by default.

If line doubling is at fault, the picture may also be scrolling with a slant.

Why is my picture cut or off-center?

This is GCVideo-DVI's blanking regeneration misbehaving with unsupported video modes. In most cases, no user action is necessary with GCVideo-DVI v3.0 and later.

If you have a GCDual or EON GCHD Mk-II, under "Other settings", set "Analog output" (Wii RGB Cable) or "Mode Select" (Wii Component Cable) to dYUV.

As a last resort, you can disable pixel doubling (--scan-mode=no-clock2x,no-size2x). This will degrade video quality and disable aspect correction for 4:3 displays.

How do I calibrate for this?

Damian Yerrick has ported Artemio Urbina's 240p Test Suite to the Game Boy Color and Game Boy Advance.

The Game Boy Advance port can be multi-booted by Game Boy Interface, skipping the need for a flash cart.

Changelog

May–June, 2020

  • Added control type E.
  • Added disc spin-down.
  • Added GC Loader read-only support.

April, 2020

  • Fixed Game Boy Player settings validation.
  • Removed prohibitively expensive "linear light scaling" feature accidentally restored from a backup in January, 2020.

January–March, 2020

  • Improved SD card compatibility.

November, 2019

  • Added non-integer horizontal scaling.
  • Added scaled size/offset setting.
  • Changed pixel-doubled 240p and 480i to assume 4:3.
  • Changed 480p and 960i to assume 16:9.
  • Fixed pixel-doubled left/right chroma location.

October, 2019

  • Added N64 Controller support.
  • Added GBA anti-sleep mode.
  • Added subfolder search for GBI directory.
  • Added left/right chroma location support.

August–September, 2019

  • Added Game Boy Player settings validation.
  • Fixed default SD card with bad program name.

July, 2019

  • Added SD2SP2 support.
  • Fixed hang with no SD card inserted.
  • Fixed hang upon SD card reinsertion.

June, 2019

  • Added non-integer vertical scaling.
  • Changed 540p and 1080i to assume 16:9.
  • Fixed 540p and 1080i.

April, 2019

  • Fixed a power issue.
  • Enabled USB Gecko standard output.

March, 2019

  • Updated color matrices by Pokefan531.
  • Updated 3D LUTs by Pokefan531.
  • Replaced 720p with 540p.
  • Fixed 960i and 1152i.
  • Fixed Super Game Boy password order.
  • Fixed NTSC 50 composite video.

October–December, 2018

  • Added HD Custom video format.
  • Fixed 360p RGBcvS sync issue.

August, 2018

  • Updated color matrices by Pokefan531.
  • Updated 3D LUTs by Pokefan531.

July, 2018

  • Updated GBA-as-GC controller.

June, 2018

  • Added analog sound emulation.
  • Added video options.
  • Added component video DAC oversampling.
  • Changed brightness/contrast controls to match BT.1886.
  • Fixed some audio bugs.
  • Removed left/right chroma location support.

May, 2018

  • Added Super Game Boy color palette setting.
  • Changed default chroma location to center.
  • Fixed Game Boy Player advertisement.
  • Fixed rumble protocol handshake.

April, 2018

  • Added movie recording/playback.
  • Updated GBA-as-GC controller.

March, 2018

  • Added RGB Sync-on-Green support.
  • Added xvYCC/BT.2020 support for auto-generated 3D LUT.
  • Added control swapping for SNES Controllers.
  • Added center/right chroma location support.
  • Improved multiboot implementation.
  • Fixed SD card compatibility.
  • Fixed multiboot to rumble protocol transition.

Media

Extrems' Corner.org

TiKevin83 Speedruns