Game Boy Interface/High-Fidelity Edition

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

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.

Controls

Type A (two-handed)

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

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

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

Options

--poll=<0-11>
Set controller polling rate.
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)
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 (default: no).
--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).
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).
--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.
--colorspace=<ycc601|ycc709|ycc2020|rgb709|rgb2020>
Set video color space (default: ycc601).
This only works with the Component Video Cable.
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’
--format=<ntsc|pal|pal-m|ntsc-50|pal-60|custom|custom-m|hd60|hd50|hd48|hdcustom>
Set video format (default: custom).
--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 interlace
quasi-interlace: 15 or 18-22kHz segmented frame
non-interlace: 15 or 18-22kHz progressive
non-progressive: 31 or 27-33kHz interlace
progressive: 31 or 36-45kHz progressive
clock2x, no-clock2x
Enable 27MHz pixel clock (default: auto). Enabling doubles the refresh rate for interlace modes. Disabling halves the refresh rate for progressive modes.
This only works with the Component Video Cable.
size2x, no-size2x
Enable 2x video oversampling (default: auto). Enabling halves the refresh rate.
This only works with the Component Video Cable.
--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.
<path>
Load Game Boy Advance multiboot ROM (default: default.mb.gz).
Note: Remove any accessory from the External Extension Connector. Hold Start + Select while the Game Boy logo is visible.

Comparisons

Video quality

Blackmagic Intensity Shuttle

Using ADV7180 and ADV7604.

Datapath VisionRGB

Using AD9887A.

Hauppauge WinTV-HVR-1850

Using CX23888.

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 (Component Video Cable)

--colorspace=rgb709
--scan-mode=non-interlace,clock2x,size2x
  • Resolution and Refresh
    • Width: 360
    • Height: 240
    • Vertical Refresh: 59.72
  • Video Adjustments
    • Horizontal Position: 65
    • Horizontal Size: 433
    • Phase: 27
    • Vertical Position: 18
    • Black Level: 8
  • Cropping
    • Top: 40
    • Left: 60
    • Width: 240
    • Height: 160
  • Color Adjustments
    • Brightness: 32
    • Contrast: 128
    • Colour Domain: RGB (601)
    • Colour Balance
      • All Colors
        • Brightness: 32
        • Contrast: 128
      • Red
        • Brightness: 156
        • Contrast: 156
      • Green
        • Brightness: 166
        • Contrast: 166
      • Blue
        • Brightness: 148
        • Contrast: 148

Open Source Scan Converter

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

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

XRGB-mini Framemeister

Included as gbihf-xrgb.cli, gbihf-xrgb.dol+cli and gbihf-xrgb.gci. Refer to FirebrandX for configuration.

--format=custom-m
--scan-mode=non-interlace

High-definition televisions

Change the Aspect Ratio on the television to Zoom 1.

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

FAQs

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.

Changelog

October, 2018

  • Added HDCustom video format.

August, 2018

  • Updated color matrices 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