Difference between revisions of "Game Boy Interface/Speedrunning Edition"

From GC-Forever Wiki
Jump to navigation Jump to search
Line 343: Line 343:
 
; <code>--background=<#rrggbb></code>
 
; <code>--background=<#rrggbb></code>
 
: Set background color. (default: #000000)
 
: Set background color. (default: #000000)
; <code>--vfilter=<m:l:u></code>, <code>--vfilter-even=<m:l:u></code>, <code>--vfilter-odd=<m:l:u></code>
+
; <code>--vfilter=<middle[:lower[:upper]]></code>, <code>--vfilter-even=<...></code>, <code>--vfilter-odd=<...></code>
 
: Set vertical filter coefficients. (default: 1.0)
 
: Set vertical filter coefficients. (default: 1.0)
 
; <code>--volume=<left[:right]></code>
 
; <code>--volume=<left[:right]></code>

Revision as of 21:48, 1 June 2018

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 ↓ Toggle input viewer

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)

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 ↓ 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: 100Hz
11: 100Hz
--control=<P1[:P2[:P3[:P4]]]>
Set controller 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 delaying. (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
Set 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
Set Super Game Boy color palette. (default: no)
--lut3d=<path>, --no-lut3d
Set 32x32x32 lookup table. (default: auto)
--lut3d-order=<rgb|gbr|bgr>
Set 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
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>
Set 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
Toggle input viewer. (default: no)
--usb, --no-usb
Toggle USB Gecko. (default: yes)
--enhance, --no-enhance
Toggle Game Boy Player enhancements. (default: no)
<path>
Set Game Boy Advance multiboot. (default: none)

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.