Page 1 of 51

Game Boy Interface

Posted: Fri Mar 13, 2015 8:40 pm
by Extrems
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.

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

Re: Game Boy Interface

Posted: Fri Mar 13, 2015 9:10 pm
by ShadowOne333
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.

Re: Game Boy Interface

Posted: Fri Mar 13, 2015 9:51 pm
by Duhasst0
This looks like an alternative to the disc entirely.

Re: Game Boy Interface

Posted: Fri Mar 13, 2015 10:08 pm
by emu_kidid
Once audio is implemented, I'm finishing the last half of A Link to the Past on it ;)

Re: Game Boy Interface

Posted: Fri Mar 13, 2015 10:34 pm
by Duhasst0
Ooooo

Re: Game Boy Interface

Posted: Fri Mar 13, 2015 11:09 pm
by theclaw
Hmm, less filtering than the Game Boy Player disc would be nice. Perhaps 240p too.

Re: Game Boy Interface

Posted: Sat Mar 14, 2015 6:18 am
by MockyLock
So it's a app that allow to boot GB Pak from GBA player, right ?
CoOol !

Re: Game Boy Interface

Posted: Tue Mar 17, 2015 3:22 pm
by BenoitRen
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?

Re: Game Boy Interface

Posted: Tue Mar 17, 2015 11:11 pm
by emu_kidid
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.

Re: Game Boy Interface

Posted: Wed Mar 18, 2015 12:38 am
by Extrems
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.

Re: Game Boy Interface

Posted: Wed Mar 18, 2015 5:04 am
by sindrik
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.

Re: Game Boy Interface

Posted: Wed Mar 18, 2015 12:23 pm
by Streetwalker
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 ?

Re: Game Boy Interface

Posted: Wed Mar 18, 2015 10:46 pm
by RetroRGB
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?

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 11:33 am
by Streetwalker

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 12:16 pm
by RetroRGB
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.

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 12:40 pm
by Extrems
480i suggests you're using a component cable. 240p isn't available when signalling EDTV capability.

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 12:46 pm
by RetroRGB
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!

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 12:58 pm
by Extrems
Not yet.

Which adapter in particular? They seem to map Select to Z, as this does.

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 1:12 pm
by blizzz
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?

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 1:13 pm
by RetroRGB
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.

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 1:22 pm
by Extrems
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.

Re: Game Boy Interface

Posted: Thu Mar 19, 2015 6:04 pm
by theclaw
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.

Re: Game Boy Interface

Posted: Tue Mar 31, 2015 5:35 pm
by Extrems
  • Added digital PWM sound, with some glitches.
  • Added turbo button.
  • Fixed 288p, probably?

Re: Game Boy Interface

Posted: Tue Mar 31, 2015 11:52 pm
by RetroRGB
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!

Re: Game Boy Interface

Posted: Wed Apr 01, 2015 12:05 am
by Extrems
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.