Options

--aspect=<w:h>
    Specify screen aspect ratio. The default is the Progressive Scan Mode system setting (4:3 or 16:9).
--offset=<x:y>
    Set offset. The default is the Screen Position system setting (-32 to +32).
--zoom=<x:y>
    Set zoom. The default is the Game Boy Player Start-up Disc's Screen Size setting (2.0 or 2.375).
--rotate=<0-359>
    Set rotation (default: 0).
--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 

--cursor=<path>, --no-cursor
    Load texture palette (default: point.tpl.gz).
--overlay=<path>, --no-overlay
    Load texture palette (default: frame.tpl.gz).
--overlay-id=<ID>
    Set texture palette index. The default is the Game Boy Player Start-up Disc's Frame setting (0 to 19).
--overlay-scale=<x:y>
    Set texture scale (default: auto).
--filter=<[none|blend|deflicker|accumulate|scale2x[ex|plus]|eagle2x|scan2x|normal2x][,prescale|no-prescale]>
    Set image doubling or screen filter. The default is the Game Boy Player Start-up Disc's Screen Filter setting (none, blend, deflicker).

    none
        Also known as the Sharp screen filter.
    blend[=<red[:green[:blue]]>]
        Blend frames n and n-1 (default: 0.55).
        Also known as the Soft screen filter.
    deflicker[=<red[:green[:blue]]>]
        Blend frames n and n-1 where n and n-2 are equal (default: 0.55).
        Also known as the Normal screen filter.
    accumulate[=<red[:green[:blue]]>]
        Blend frames with accumulation buffer (default: 0.55).
        As used by the Nintendo 3DS Ambassador games.
    prescale, no-prescale
        Enable prescaling filter (default: no).

--dither=<none|threshold|bayer8x8|bayer4x4|bayer2x2|cluster8x8|cluster4x4>
    Set dithering algorithm (default: threshold).
    Applied during prescaling.
--scaler=<nearest|bilinear|area|box>
    Set image scaling filter (default: area).
--matrix=<identity|gba|gbc|gbi|nds|palm|psp|vba>
    Set color matrix (default: gbi).
    This translates the RGB color primaries to the standard 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=<1.0|1.7|2.2>
    Specify screen gamma (default: 2.2).
--contrast=<red[:green[:blue]]>
    Set gain (default: 1.0).
--brightness=<red[:green[:blue]]>
    Set lift (default: 0.0).
--format=<ntsc|pal|pal-m|ntsc-50|pal-60|custom|custom-m|hd60|hd50|hd48|hdcustom>
    Set video format. The default is the Video Mode system setting (ntsc, pal-60, pal-m).
--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 (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 modes. Disabling halves the refresh rate for progressive modes.
        This only works with the Nintendo GameCube Component Video Cable.
    size2x, no-size2x
        Enable 2x video oversampling (default: auto). Enabling halves the refresh rate.
        This only works with the Nintendo GameCube Component Video Cable.

--ipv4-address=<aaa.bbb.ccc.ddd>
    Set static IPv4 address.
--ipv4-gateway=<aaa.bbb.ccc.ddd>
    Set static IPv4 gateway.
--ipv4-netmask=<aaa.bbb.ccc.ddd>
    Set static IPv4 netmask.
--network, --no-network
    Enable Broadband Adapter features (default: yes).
<path>
    Load ROM.

==========================================================================


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.

Mimicking
Game Boy Player Start-up Disc

Included as gbi.cli.example.

--aspect=4:3
--overlay=frame-srgb.tpl.gz
--dither=none
--matrix=identity
--input-gamma=1.
--output-gamma=1.
--contrast=.78125
--sound=analog=.000148021979839541018009185791015625:.00029604395967908203601837158203125:.000148021979839541018009185791015625:-1.965293407440185546875:.965885460376739501953125
--no-osd

Wii U Virtual Console

--aspect=16:9
--zoom=3
--no-overlay
--filter=none
--dither=none
--matrix=identity
--input-gamma=1.
--output-gamma=1.
--contrast=.75
--sound=digital
--no-osd
--no-enhance

Video optimization
Datapath VisionRGB
Nintendo GameCube Component Video Cable

The author's personal setup.

--aspect=4:3
--offset=0
--zoom=3
--filter=prescale
--dither=bayer2x2
--scaler=nearest
--format=hd60
--scan-mode=non-interlace,clock2x,size2x

    Resolution and Refresh
        Width: 960
        Height: 360
        Vertical Refresh: 60.00
    Video Adjustments
        Horizontal Position: 205
        Horizontal Size: 1200
        Phase: 31
        Vertical Position: 13
        Black Level: 8
    Cropping
        Top: 20
        Left: 0
        Width: 960
        Height: 320
    Color Adjustments
        Brightness: 32
        Contrast: 128
        Colour Domain: YUV (601)
        Colour Balance
            All Colors
                Brightness: 32
                Contrast: 128
            Red
                Brightness: 159
                Contrast: 159
            Green
                Brightness: 178
                Contrast: 160
            Blue
                Brightness: 152
                Contrast: 144

Open Source Scan Converter

--aspect=4:3
--offset=0
--zoom=3
--format=hd60
--scan-mode=non-interlace

High-definition televisions
Nintendo GameCube Component Video Cable

--aspect=11:6
--offset=0
--zoom=2.75
--format=hd60
--scan-mode=non-progressive

Change the Aspect Ratio on the television to Just Scan.
GCVideo-DVI v2.4d and earlier
GBI-GCHD.png

Included as gbi-gchd.cli, gbi-gchd.dol+cli and gbi-gchd.gci.

--aspect=16:9
--offset=+4:-2
--zoom=3
--format=ntsc
--scan-mode=non-progressive

Change the Aspect Ratio on the television to 16:9.

To improve the picture further, in the GCVideo menu under "Other settings", try setting "Enhanced DVI mode" to Off. You will lose embedded digital audio.

Labeling the input on the television as a PC may also work.
Video capture devices (Game Boy Advance)

--aspect=3:2
--offset=0
--zoom=3
--filter=prescale
--dither=bayer2x2
--scaler=nearest
--format=ntsc

Video capture devices (Game Boy Color)

--aspect=5:4
--offset=0
--zoom=4
--filter=prescale
--dither=bayer2x2
--scaler=nearest
--format=pal

FAQs
Progressive scan (720x480p)
Blanking regeneration (1440x480i)
Red + Green: Regenerated blanking interval
Green + Blue: Actual blanking interval
How do I change Game Paks?

    Hold the Reset Button.
    Slide the Game Pak Ejector.
    Insert a Game Pak into the Game Pak Slot.
    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 in the Game Boy Player 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.

If you're interested in backing up Game Boy Camera photos, you can do so by taking a screenshot.
Why am I seeing a double split image?

Either progressive scan mode is enabled or, if using GCVideo-DVI, line doubling is by default.
Why is my picture cut or off-center?

This is GCVideo-DVI's blanking regeneration misbehaving with unsupported video modes.

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.

For standard video modes, you can disable video oversampling (--scan-mode=no-clock2x,no-size2x).
Why is my picture square or narrow?

By default, Game Boy Interface assume a widescreen aspect ratio when using progressive scan.

Ensure that the television's settings match the assumed aspect ratio written in the top right corner of the on-screen display.
Why is there motion blur? Can I turn it off?

It removes stuttering caused by mismatches between the Game Boy Advance and the display refresh rate. It cannot be turned off.

It can be reduced by using a 120Hz video mode, but it's most effective on a sample-and-hold display.

This can possibly be confused with the deflickering filters. These can be disabled (--filter=none).
Why are the colors washed out?

The screens used in the Game Boy family produced a smaller gamut of colors than found in the standard RGB color space on contemporary monitors.

Developers compensated for this to varying degree, resulting in odd-looking oversaturated colors when shown as-is.

By default, Game Boy Interface adapt these colors for the standard RGB color space, but only halfway as a compromise. 
