Game Boy Interface/Speedrunning Edition

From GC-Forever Wiki
Jump to navigation Jump to search
Game Boy Interface
Information
Author(s) Extrems
Type Utility
Version Rolling release
Licence All rights reserved
Links
Download main package
Download extra package
Website
Discussion
Source

Formerly the (ultra-)low latency version, Game Boy Interface Speedrunning Edition features a simplified video renderer, and aims to meet the needs of most speedrunning communities.

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)
C Stick Down Toggle input viewer
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)
C Stick Down Toggle input viewer

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

--offset=<x:y>
Set offset. (default: 0:0)
--zoom=<x:y>
Set zoom. (default: 2.0)
--rotate=<0-359>
Set rotation. (default: 0)
--poll=<0-11>
Set polling rate. (default: 1)
0: VSync
1: 1000Hz
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. (default: sram)
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)
--delay-reset=<N>
Set reset delay. (default: 75)
--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)
--overlay=<path>, --no-overlay
Load texture palette. (default: frame-srgb.tpl.gz)
--overlay-id=<ID>
Set texture palette index. (default: sram)
--overlay-scale=<x:y>
Set texture scale. (default: auto)
--palette=<xxxx-xxxx-xxxx>, --no-palette
Apply Super Game Boy color palette. (default: no)
--lut3d=<path>, --no-lut3d
Load 32x32x32 lookup table. (default: no)
--lut3d-order=<rgb|gbr|bgr>
Specify lookup table order. (default: rgb)
--scaler=<nearest|bilinear|oversample|box>
Set image scaling filter. (default: nearest)
--matrix=<identity|gba|gbc|gbi|nds|palm|psp|vba>
Set color matrix. (default: identity)
identity: Identity matrix
gba: Game Boy Advance (by Pokefan531)
gbc: Gambatte/higan (requires --input-gamma=1.0 and --output-gamma=1.0)
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)
--gamma=<even[:odd]>
Set gamma correction. (default: 1.0)
--contrast=<red[:green[:blue]]>
Set gain. (default: 1.0)
--brightness=<red[:green[:blue]]>
Set bias. (default: 0.0)
--blend=<value>
Set alpha blending. (default: 1.0)
--background=<#rrggbb>
Set background color. (default: #000000)
--vfilter=<middle[:lower[:upper]]>, --vfilter-even=<...>, --vfilter-odd=<...>
Set vertical filter coefficients. (default: 1.0)
--volume=<left[:right]>
Set audio gain. (default: 0.75)
--sound=<mono|stereo>
Set sound mode. (default: sram)
--format=<[ntsc|pal|pal-m|ntsc-50|pal-60|custom][,offset=<x:y>][,scaled-size=<w:h>][,size=<w:h>]>
Set video format. (default: sram)
--scan-mode=<[interlace|quasi-interlace|non-interlace|progressive][,clock2x][,size2x]>
Set scan mode. (default: sram)
--osd-input[=<x:y>], --no-osd-input
Show input viewer. (default: no)
--usb, --no-usb
Enable USB Gecko features. (default: yes)
--enhance, --no-enhance
Enable Game Boy Player enhancements. (default: no)
<path>
Load Game Boy Advance multiboot ROM.

Examples

Color restoration

Mario & Luigi: Superstar Saga

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

--input-gamma=1.
--output-gamma=1.
--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.

This can be combined with Gambatte/higan's color correction as a special case.

--matrix=gbc
--input-gamma=1.8
--output-gamma=1.

Mimicking

Game Boy Player Start-up Disc (60Hz)

Included as gbisr.cli.example.

--delay-video=2
--input-gamma=1.
--output-gamma=1.
--contrast=.78125
--vfilter=.5:.25:.25
--format=ntsc,scaled-size=666:448,size=608:448
--scan-mode=interlace,no-clock2x,no-size2x
--enhance

Game Boy Player Start-up Disc (50Hz)

--delay-reset=65
--delay-video=2
--input-gamma=1.
--output-gamma=1.
--contrast=.78125
--vfilter=.5:.25:.25
--format=pal,scaled-size=670:530,size=608:448
--scan-mode=interlace,no-clock2x,no-size2x
--enhance

Nintendo 3DS Virtual Console

F-Zero Maximum Velocity, Fire Emblem: The Sacred Stones, Mario vs. Donkey Kong and The Legend of Zelda: The Minish Cap
--input-gamma=1.
--output-gamma=1.
--contrast=.7
--blend=.75
Kirby & The Amazing Mirror
--input-gamma=1.
--output-gamma=1.
--contrast=.6
--blend=.5625
Mario Kart: Super Circuit
--input-gamma=1.
--output-gamma=1.
--contrast=.65
--blend=.75
Metroid Fusion
--input-gamma=1.
--output-gamma=1.
--contrast=.7
--blend=.5625
Wario Land 4 and WarioWare, Inc.: Mega Microgame$
--input-gamma=1.
--output-gamma=1.
--contrast=.65
--blend=.5625
Yoshi's Island: Super Mario Advance 3
--input-gamma=1.
--output-gamma=1.
--contrast=.6
--blend=.5

Video optimization

Open Source Scan Converter

Included as gbisr-ossc.cli, gbisr-ossc.dol+cli and gbisr-ossc.gci. Refer to FirebrandX for configuration.

--vfilter-even=.5:.5
--vfilter-odd=.5:.0:.5
--format=custom,offset=0,scaled-size=0
--scan-mode=non-interlace,no-clock2x,no-size2x

XRGB-mini Framemeister

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

--vfilter-even=.5:.5
--vfilter-odd=.5:.0:.5
--format=ntsc,offset=0,scaled-size=0
--scan-mode=non-interlace,no-clock2x,no-size2x

Video output

120Hz black frame insertion

--vfilter-even=.5:.5
--vfilter-odd=0.
--scan-mode=non-interlace,clock2x,no-size2x

480p hybrid scanlines

--overlay=frame.tpl.gz
--gamma=2.2:1.
--scan-mode=progressive

480p simple scanlines

--vfilter-even=.5:.5
--vfilter-odd=0.
--scan-mode=progressive

Video scaling

4:3 fullscreen (Game Boy Advance)

--zoom=2.375
--scaler=oversample
--vfilter=.5:.25:.25
--format=ntsc
--scan-mode=interlace

4:3 fullscreen (Game Boy Color)

--zoom=3
--vfilter=.5:.25:.25
--format=ntsc
--scan-mode=interlace

16:9 fullscreen

--zoom=2:3
--format=custom,size=568
--scan-mode=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.

Is this an emulator? Can I play ROMs?

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

Changelog

May, 2018

  • Added Super Game Boy color palette setting.
  • Changed scan mode semantics.
  • Fixed Game Boy Player advertisement.
  • Fixed rumble protocol handshake.

April, 2018

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

March, 2018

  • Added control swapping for SNES Controllers.
  • Added framebuffer size/offset setting.
  • Replaced sample aspect ratio with scaled size.
  • Improved per-field filtering in single-buffered mode.
  • Improved multiboot implementation.
  • Improved Game Boy sound quality.
  • Improved audio rendering.
  • Reduced audio latency.
  • Fixed SD card compatibility.
  • Fixed multiboot to rumble protocol transition.
  • Disabled default multiboot.

February, 2018

  • Added background color setting.
  • Added video buffering setting.
  • Added input viewer.
  • Added color matrix from Gambatte.
  • Added mono sound mode.
  • Added 3D LUT auto-generation.
  • Added GBR/BGR LUT order support.
  • Added per-field gamma correction control.
  • Changed some argument semantics.
  • Fixed per-field settings with default video mode.
  • Fixed wiiload autoboot with tiny GBA multiboot ROMs.
  • Disabled machine checks.

January, 2018

  • Updated LUTs by Pokefan531.
  • Improved Game Boy Player driver.
  • Changed default component video modes.
  • Tweaked control type C.

September, 2017

  • Added overlay scale setting.
  • Added Logitech Speed Force support.
  • Added Active Life Mat support.
  • Improved Game Boy Player driver.
  • Changed zoom scale.
  • Changed wiiload server to accept oversized DOLs.
  • Fixed one random kernel crash.
  • Fixed scaling without a 3D LUT.

August, 2017

  • Added DK Bongos support.
  • Adapted control type C for Super Mario World: Super Mario Advance 2.
  • Added control type D for The Legend of Zelda: A Link to the Past.
  • Added per-field vertical filter control.
  • Added PNG 3D LUT support.
  • Added LUTs by Pokefan531.
  • Added LUTs from the 3DS Virtual Console.
  • Improved Game Boy Player driver.

July, 2017

  • Added CLI append support.
  • Updated GBA-as-GC controller.
  • Changed reset combo behavior.

June, 2017

  • Added zoom & rotate.
  • Added reset delay.
  • Added reset combo.

April, 2017

  • Added component video DAC oversampling.
  • Added reset fade effect.
  • Added TPL overlay support.

March, 2017

  • Added rumble, disabled by default.
  • Added USB Gecko wiiload server.
  • Added Xboo Communicator.

February, 2017

  • Added volume control.
  • Added per-channel settings where possible.
  • Changed volume to 75% to mitigate clipping.

November, 2016

  • Updated GBA-as-GC controller.

September, 2016

  • Added video options.
  • Added control schemes.
  • Added polling rate setting.

May, 2016

  • Updated GBA-as-GC controller.
  • Improved Game Boy Player driver.
  • Fixed WaveBird Controllers.

April, 2016

  • Replaced GBA-as-controller with GBA-as-GC controller.

March, 2016

  • Added U+D/L+R cancelling.
  • Added GBA-as-controller support.
  • Recognized a half press of the analog triggers.

August, 2015

  • Added executable compression.
  • Added memory card distribution files.
  • Reduced coil whine.

July, 2015

  • Fixed Game Boy Player detection.