Game Boy Interface

Release threads for homebrew & utilities only
Post Reply
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Game Boy Interface

Post by Extrems » Fri Mar 13, 2015 8:40 pm

Game Boy Interface is an alternative to the Game Boy Player Start-up Disc software. It still requires the Game Boy Player hardware.
Game Boy Interface is currently available in three different editions: Standard, Speedrunning and High-Fidelity.

Public Service Announcement: GCHD by EON cannot provide optimal video quality and will experience compatibility issues.

Features:
  • Video
    8/14 bits per channel, linear RGB renderer
    full resolution (720x576 PAL, 720x486 NTSC)
    image doubling & scaling
    temporal interpolation
    temporal/spatial dithering
    color gamut mapping
    PNG screenshots
    TPL overlay
    1.5-2 frames latency @ 120 Hz
    2-3 frames latency @ 60 Hz
    3-5 frames latency @ 30 Hz
  • Audio
    bit-exact PWM decoding
    linear resampling
    48 kHz sample rate
    ≈33 ms latency
  • Input
    1000 Hz polling rate
    up to 4 controllers
    movie recording/playback
    turbo button
    rumble
  • Serial
    GBA-as-GC controller joyboot
    Xboo Communicator
  • Network
    PNG streaming server
    Remote RetroPad server
    SNTP broadcast listener
    wiiload v0.5 server (*.dol; *.mb; *.tpl)
For speedrunning edition:
  • Video
    image scaling
    motion blur
    per-field filtering
    PNG/auto 3D LUT
    TPL overlay
    input viewer
    1-1.5 frames latency @ 120 Hz
    1-2 frames latency @ 60 Hz
    1-3 frames latency @ 30 Hz
    adjustable latency from zero
  • Audio
    bit-exact PWM decoding
    linear resampling
    48 kHz sample rate
    ≈16 ms latency
  • Input
    1000 Hz polling rate
    up to 4 controllers
    movie recording/playback
    U+D/L+R cancelling
    reset delaying
    rumble (optional)
  • Serial
    GBA-as-GC controller joyboot
    Xboo Communicator
    wiiload v0.5 server (*.dol; *.mb; *.tpl)
For high-fidelity edition:
  • Video
    4:4:4 color resolution
    extended gamut support
    PNG/auto 3D LUT
    59.7276 Hz refresh rate
    0.25-1.25 frames latency
  • Audio
    bit-exact PWM decoding
    linear resampling
    48 kHz sample rate
    ≈16 ms latency
  • Input
    1000 Hz polling rate
    up to 4 controllers
    movie recording/playback
    U+D/L+R cancelling
    rumble
  • Serial
    GBA-as-GC controller joyboot
    Xboo Communicator
    wiiload v0.5 server (*.dol; *.mb; *.tpl)
For dumping utility:
  • Backup
    BIOS
    ROM game data, up to 256Mbit
    EEPROM save data, up to 1Mbit
    SRAM save data, up to 512Kbit
    Flash save data, up to 1Mbit
  • Restore
    EEPROM save data
    SRAM save data
    Flash save data
Hold Start + Select in the GBA BIOS to access. Requires the GameCube SD Card Adapter.
Press Reset after writing to ensure file closure.

For more information, visit the GC-Forever Wiki.

Download:
Extract archive to root of SD card. File descriptions below.
https://files.extremscorner.org/gamecub ... gbi/latest
Spoiler: show
*.cli – For static configuration using Swiss. Can be appended to *.dol for other loaders.
*.dcp – For dynamic configuration using Swiss.
gbi.dol – Game Boy Interface Standard Edition
gbi.cli.example – Game Boy Player Start-up Disc emulation preset
gbihf.dol – Game Boy Interface High-Fidelity Edition
gbisr.dol – Game Boy Interface Speedrunning Edition
gbisr-ossc.dol+cli – Game Boy Interface Speedrunning Edition + Open Source Scan Converter optimized preset
gbisr-xrgb.dol+cli – Game Boy Interface Speedrunning Edition + XRGB-mini Framemeister optimized preset
gbisr.cli.example – Game Boy Player Start-up Disc emulation preset
gbi/default.mb.gz – Game Boy Advance Dumping Utility
gbi/lutrgb.png – Identity 3D LUT
gbi/lutrgba-3ds-a3ax.png – Yoshi's Island: Super Mario Advance 3 for Nintendo 3DS
gbi/lutrgba-3ds-afzx.png – F-Zero Maximum Velocity for Nintendo 3DS
gbi/lutrgba-3ds-amkx.png – Mario Kart: Super Circuit for Nintendo 3DS
gbi/lutrgba-3ds-amtx.png – Metroid Fusion for Nintendo 3DS
gbi/lutrgba-3ds-awax.png – Wario Land 4 for Nintendo 3DS
gbi/lutrgba-3ds-azwx.png – WarioWare, Inc.: Mega Microgame$ for Nintendo 3DS
gbi/lutrgba-3ds-b8kx.png – Kirby & The Amazing Mirror for Nintendo 3DS
gbi/lutrgba-3ds-be8x.png – Fire Emblem: The Sacred Stones for Nintendo 3DS
gbi/lutrgba-3ds-bm5x.png – Mario vs. Donkey Kong for Nintendo 3DS
gbi/lutrgba-3ds-bzmx.png – The Legend of Zelda: The Minish Cap for Nintendo 3DS
gbi/lutrgb-gba.png – Pokefan531's GBA colors (gamma 2.7)
gbi/lutrgb-gba-light.png – Pokefan531's GBA colors (gamma 2.2)
gbi/lutrgb-gbc.png – Gambatte/higan
gbi/lutrgb-gbp.png – Game Boy Player Start-up Disc
gbi/lutrgb-nds.png – Pokefan531's NDS colors
gbi/lutrgb-vba.png – Pokefan531's VBA colors
gbi/lutrgb-wiiu.png – Wii U Virtual Console
mcbackup/*.gci – dol2gci boot.dol *.gci
https://files.extremscorner.org/gamecub ... test-extra
Spoiler: show
boot.gcm – Memory Card Boot Disc
controller-gc.bmp – GBA-as-GC controller for e-Reader
controller-gc.gba – GBA-as-GC controller
controller-n64.gba – GBA-as-N64 controller
dol2gci.exe – Samson's DOL2GCI
gbi/frame.tpl.gz – Game Boy Player Start-up Disc borders for gamma-correct rendering
gbi/frame-srgb.tpl.gz – Game Boy Player Start-up Disc borders
gbi/gifvex-pokemonblue.txt.gz – GBC Pokémon: Blue Version "warp glitch" by gifvex in 10:11.25
gbi/luckytyphlosion-pokemonblue-gottacatchemall.txt.gz – GBC Pokémon: Blue Version "Gotta Catch 'Em All!" by luckytyphlosion in 37:54.11
gbi/mukki,ruadath-sonicadvance.txt.gz – GBA Sonic Advance by Mukki & ruadath in 10:49.75
gbi/mukki-sonicadvance.txt.gz – GBA Sonic Advance by Mukki in 11:02.64
gbi/mukki-sonicadvance2.txt.gz – GBA Sonic Advance 2 by Mukki in 18:09.45
gbi/tikevin83-pokemonyellow.txt.gz – GBC Pokémon: Yellow Version by TiKevin83 in 1:36:34.55
Discussion:
https://discord.gg/2dhfaHN

See also:
  • Booting Homebrew – How to get started with GameCube homebrew.
  • Enhanced mGBA – An enhanced port of the Game Boy Advance emulator.
  • Swiss – The swiss army knife of GameCube homebrew.
ImageImage
Last edited by Extrems on Sat May 26, 2018 9:23 pm, edited 86 times in total.
User avatar
ShadowOne333
Posts: 101
Joined: Fri Jan 11, 2013 9:06 am
Location: Mexico
Contact:

Re: Game Boy Interface

Post by ShadowOne333 » Fri Mar 13, 2015 9:10 pm

Wait, so what's this exactly?
A GBA emulator of some sort or is it some sort of IP streaming app?

I got really confused, I only see a gbi.dol in there so I suppose it is a Wii/GC homebrew app but I can't test it right now.
Duhasst0
Posts: 179
Joined: Sun Jan 13, 2013 1:35 am

Re: Game Boy Interface

Post by Duhasst0 » Fri Mar 13, 2015 9:51 pm

This looks like an alternative to the disc entirely.
User avatar
emu_kidid
Site Admin
Posts: 4307
Joined: Mon Mar 29, 2010 10:06 am
Location: Australia
Contact:

Re: Game Boy Interface

Post by emu_kidid » Fri Mar 13, 2015 10:08 pm

Once audio is implemented, I'm finishing the last half of A Link to the Past on it ;)
Image
Duhasst0
Posts: 179
Joined: Sun Jan 13, 2013 1:35 am

Re: Game Boy Interface

Post by Duhasst0 » Fri Mar 13, 2015 10:34 pm

Ooooo
theclaw
Posts: 308
Joined: Tue Dec 13, 2011 12:01 pm

Re: Game Boy Interface

Post by theclaw » Fri Mar 13, 2015 11:09 pm

Hmm, less filtering than the Game Boy Player disc would be nice. Perhaps 240p too.
User avatar
MockyLock
Posts: 319
Joined: Tue Aug 07, 2012 8:12 pm

Re: Game Boy Interface

Post by MockyLock » Sat Mar 14, 2015 6:18 am

So it's a app that allow to boot GB Pak from GBA player, right ?
CoOol !
BenoitRen
Posts: 263
Joined: Sun Jul 29, 2012 3:37 pm

Re: Game Boy Interface

Post by BenoitRen » Tue Mar 17, 2015 3:22 pm

What's this "2-3 frames latency" feature? Is it an option, or is this the expected latency when streaming the game from the network or something?
Hardware: Wii (PAL)
Hardware configuration: System Menu 4.1E, Priiloader
Swiss boot method: Modified Wii Swiss Booter provided by Extrems
Software medium: Retail discs
User avatar
emu_kidid
Site Admin
Posts: 4307
Joined: Mon Mar 29, 2010 10:06 am
Location: Australia
Contact:

Re: Game Boy Interface

Post by emu_kidid » Tue Mar 17, 2015 11:11 pm

It sounds like it's a feature in that he's got it working so well with such minimal lag compared to perhaps the official disc.
Image
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Wed Mar 18, 2015 12:38 am

2-3 frames latency is considered high and is higher than the Game Boy Player Start-up Disc.
It was a necessary sacrifice in order to support framerate conversion.

The minimum latency achievable with the Game Boy Player is near zero as it uses a line buffer.
theclaw wrote:Hmm, less filtering than the Game Boy Player disc would be nice. Perhaps 240p too.
240p is the default mode.
sindrik
Posts: 75
Joined: Tue Jun 10, 2014 8:13 am

Re: Game Boy Interface

Post by sindrik » Wed Mar 18, 2015 5:04 am

Rocking the boat, extrems. Thanks for this!! Really handy for not swapping discs, and even more if it's planned to be better than the original disc.
User avatar
Streetwalker
Posts: 1495
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Game Boy Interface

Post by Streetwalker » Wed Mar 18, 2015 12:23 pm

Extrems wrote:2-3 frames latency is considered high and is higher than the Game Boy Player Start-up Disc.
It was a necessary sacrifice in order to support framerate conversion.
Wait, isn't the GBA's framerate 60fps ? In this case why do you even need to convert it ?
RetroRGB
Posts: 30
Joined: Sat Aug 10, 2013 8:52 pm

Re: Game Boy Interface

Post by RetroRGB » Wed Mar 18, 2015 10:46 pm

Woah, this looks awesome. It even has 16:9 support! I can't wait to test this thing out!!

I just have a basic mod chip in my GC and don't have an SD loader. How could I burn this to a disc?
User avatar
Streetwalker
Posts: 1495
Joined: Mon Dec 30, 2013 7:50 am
Location: Israel

Re: Game Boy Interface

Post by Streetwalker » Thu Mar 19, 2015 11:33 am

RetroRGB
Posts: 30
Joined: Sat Aug 10, 2013 8:52 pm

Re: Game Boy Interface

Post by RetroRGB » Thu Mar 19, 2015 12:16 pm

Thanks, but I actually found that same page and tried to make a bootable iso, but it didn't work: It just sat at the GC title screen. I tried testing it by first booting to swiss and then launching the GBI disc I created, but it didn't seem to work right and was stuck in 480i mode (I'm sure that was my fault, not the GBI software).

I'm all out of mini-DVDr's, but ordered more that will arrive tomorrow. If anyone has a tested and working .iso they can share, I'd really appreciate it.
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu Mar 19, 2015 12:40 pm

480i suggests you're using a component cable. 240p isn't available when signalling EDTV capability.
RetroRGB
Posts: 30
Joined: Sat Aug 10, 2013 8:52 pm

Re: Game Boy Interface

Post by RetroRGB » Thu Mar 19, 2015 12:46 pm

Extrems wrote:480i suggests you're using a component cable. 240p isn't available when signalling EDTV capability.
Right, component. Is it possible to have a startup screen for the disc, where you can select what resolution and aspect ratio you'd like?

Also, is there any way to offer button mapping, maybe on the same startup screen? Anyone who uses controller adapters (such as NES-to-GC, or SNES-to-GC) can't use "select", since it's not mapped.

Once again, thanks so much for making this!
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu Mar 19, 2015 12:58 pm

Not yet.

Which adapter in particular? They seem to map Select to Z, as this does.
blizzz
Posts: 5
Joined: Thu Mar 19, 2015 1:06 pm

Re: Game Boy Interface

Post by blizzz » Thu Mar 19, 2015 1:12 pm

Cool project, but I'm having problems getting it to run properly. I'm using the Datel SD Loader on a PAL Cube that's connected with an RGB cable to a CRT. When I try to boot the dol directly through the SD Loader I only get a black screen. When I load it through Swiss it boots up, but seems to be 576i, even though it shows 288p on screen.

I assume the arguments would allow me to start it in 240p, but I have no idea where I can enter them. Is there an option for it in Swiss?
RetroRGB
Posts: 30
Joined: Sat Aug 10, 2013 8:52 pm

Re: Game Boy Interface

Post by RetroRGB » Thu Mar 19, 2015 1:13 pm

I've only tested with these:
http://www.retrousb.com/product_info.ph ... ucts_id=30
http://www.retrousb.com/product_info.ph ... ucts_id=31

It's not just the Select button though, I often find that when using a SNES controller, it's more comfortable to use Y and B as the B and A buttons (respectively). Button mapping is obviously a low priority compared to everything else, I just wanted to mention it. I'd be happy to help with any testing if you'd like.
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu Mar 19, 2015 1:22 pm

blizzz wrote:I assume the arguments would allow me to start it in 240p, but I have no idea where I can enter them. Is there an option for it in Swiss?
Set Swiss Video Mode to 480i. The only loader that supports arguments on GameCube is GBI itself through wiiload, using a Broadband Adapter.
theclaw
Posts: 308
Joined: Tue Dec 13, 2011 12:01 pm

Re: Game Boy Interface

Post by theclaw » Thu Mar 19, 2015 6:04 pm

Extrems wrote:480i suggests you're using a component cable. 240p isn't available when signalling EDTV capability.
Ugh, those blasted TV makers who leave out 240p component support. Ruining our fun.
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Tue Mar 31, 2015 5:35 pm

  • Added digital PWM sound, with some glitches.
  • Added turbo button.
  • Fixed 288p, probably?
RetroRGB
Posts: 30
Joined: Sat Aug 10, 2013 8:52 pm

Re: Game Boy Interface

Post by RetroRGB » Tue Mar 31, 2015 11:52 pm

Extrems, this works REALLY well. The sound is excellent and everything played very smooth. In fact, it was still smooth, even when stretching to 2.375x. I've tried almost every GB-on-TV solution available and I've never seen one scale this smoothly. Thanks so much for the excellent work.

The only problem I have is I can only use it in 480i mode, since I'm using component video cables. The ability to switch resolutions in the same menu as screen zoom would be amazing (or even a startup title screen): 4:3/16:9 | 240p/480i/480p

Is that something that's possible? Once again, thanks SO much for this!
User avatar
Extrems
Posts: 574
Joined: Tue Aug 17, 2010 10:40 pm
Location: Quebec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Wed Apr 01, 2015 12:05 am

No frames will drop until 3.5x zoom, and that's under certain conditions.

You can trick it into using 240p by momentarily disconnecting the cable.
However, non-integer scaling in 240p is suboptimal.

480p is used if progressive scan has been enabled in a GameCube title.
Post Reply