Game Boy Interface

Release threads for homebrew & utilities only
Harrumph
Posts: 7
Joined: Fri Dec 30, 2016 2:34 pm

Re: Game Boy Interface

Post by Harrumph » Thu May 31, 2018 2:50 pm

Right, I found I could get sync at 960x360 by switching to RGsB or YPbPr. But it’s kinda broken that way (very dark or no colour) still interesting that it tries to send something.
Interestingly though, there is no jitter and the ouput is an exact 22.5 kHz, 60 Hz.

So I wonder if there is anyway something sub-optimal about the 480x360 output. The gbi HUD states 60Hz, but OSSC reports 22.48 kHz, 59.95 Hz.
So it seems the clock is slightly off, evidenced also by the gbi HUD occasionally switching rapidly between 59.99 and 60.01.
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu May 31, 2018 2:54 pm

Harrumph wrote:
Thu May 31, 2018 2:50 pm
So it seems the clock is slightly off, evidenced also by the gbi HUD occasionally switching rapidly between 59.99 and 60.01.
Disregard that, that's caused by Game Boy Player interrupts taking too long.
Harrumph
Posts: 7
Joined: Fri Dec 30, 2016 2:34 pm

Re: Game Boy Interface

Post by Harrumph » Thu May 31, 2018 4:52 pm

Ok, but does the 480x360 require output of 59.95, or it could be tweaked to be more similar to an even 22.5 kHz/60Hz?
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu May 31, 2018 4:57 pm

All HD60 modes except 720i are exactly 60Hz.
Harrumph
Posts: 7
Joined: Fri Dec 30, 2016 2:34 pm

Re: Game Boy Interface

Post by Harrumph » Thu May 31, 2018 5:31 pm

Hm, guess there is some weirdness in the transmission to the multi-out then. I’ll have to wait for my GCVideolite from BAC then, hopefully it won’t take another 1.5 years...
noodohs
Posts: 22
Joined: Mon Feb 05, 2018 10:51 pm

Re: Game Boy Interface

Post by noodohs » Thu May 31, 2018 5:46 pm

I am sure you are pretty sick of my questions by now, but I'm compiling all the options into a list and want to make sure that I understand what the parameters of each can be set to and what they do. I have done searches of this thread to see if I could find answers, but these are still lingering:

-Polling rate - by default, this is set to "1". Does this mean 1000 Hz? By which we mean that it polls for a controller input 1000x per second. So if I set to 2, it would be 2000 Hz, and 0 would be... it never polls?
-Turbo - does the number refer to frames? So if I set it to one, it will shoot every 1 frame; set to 2, it would shoot every 2 frames, etc.
-Delay-reset and delay-video - similar to above, is this number meant to be in frames?
-Speaking of delay-video, this sets the buffer which is how the "custom" format is able to work without tearing, right? So in theory I could set it to 0 and have no input lag if format is set to custom (on SR or HF), but I'd risk screen tearing, right? Is there a benefit to increasing this?
-For anything that requires a path, is that just the name of the file or the full file path? For example, just file.gz or directory/file.gz?
-Overlays - if I understand correctly, it looks like the "overlay" option specifies which compressed container file to look at, then ID specifies which overlay within that container, yes?
-For the gamma settings, are there just the three options on input-gamma as well? 1.0, 1.7, and 2.2 that is. Or can input-gamma be set to any number?
-For blend, what would this be used for? If I'm understanding it correctly, I can specify a background color that is "behind" the game and then use alpha to make the game more transparent. I feel like I am missing something because I'm not sure why anyone would use that.
-I just don't understand what the vertical filters do. Tried Googling for more info on them, but I think I must be using the wrong search terms. If you can just point me in the right direction I can probably figure it out. Also, what do m, l, and u stand for?
-Under scan-mode, what do the clock2x and size2x options do?
-Having trouble finding info about chroma location, can you point me in the right direction?
-With osd/no-osd, does setting this to no-osd make it so that it is not possible to pull up the OSD?
-The option for GBA multiboot, what does this do? Unlike the other options, it doesn't have a -- in front of it, so does that mean I would put just the file name here?

Think that should do it for me, at least until more options are added :P Thank you!
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu May 31, 2018 6:20 pm

noodohs wrote:
Thu May 31, 2018 5:46 pm
-Polling rate - by default, this is set to "1". Does this mean 1000 Hz? By which we mean that it polls for a controller input 1000x per second. So if I set to 2, it would be 2000 Hz, and 0 would be... it never polls?
This is described in the DCP. 0 = VSync (2x), the GameCube's default and most compatible setting. 1 = 1000 Hz, 2 = 500 Hz, and so on.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-Turbo - does the number refer to frames? So if I set it to one, it will shoot every 1 frame; set to 2, it would shoot every 2 frames, etc.
Yes.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-Delay-reset and delay-video - similar to above, is this number meant to be in frames?
It's specifically in GameCube frames.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-Speaking of delay-video, this sets the buffer which is how the "custom" format is able to work without tearing, right? So in theory I could set it to 0 and have no input lag if format is set to custom (on SR or HF), but I'd risk screen tearing, right?
Yes.
noodohs wrote:
Thu May 31, 2018 5:46 pm
Is there a benefit to increasing this?
If you're a speedrunner trained on the Game Boy Player Start-up Disc, yes.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-For anything that requires a path, is that just the name of the file or the full file path? For example, just file.gz or directory/file.gz?
The defaults are relative to the working directory (/GBI). If you have 2 SD cards, you can specify "carda:/" or "cardb:/".
noodohs wrote:
Thu May 31, 2018 5:46 pm
-Overlays - if I understand correctly, it looks like the "overlay" option specifies which compressed container file to look at, then ID specifies which overlay within that container, yes?
Roughly, yes. It doesn't need to be compressed.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-For the gamma settings, are there just the three options on input-gamma as well? 1.0, 1.7, and 2.2 that is. Or can input-gamma be set to any number?
It can be any reasonable number for the bitdepth.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-For blend, what would this be used for? If I'm understanding it correctly, I can specify a background color that is "behind" the game and then use alpha to make the game more transparent. I feel like I am missing something because I'm not sure why anyone would use that.
This is for frame blending as implemented in the Nintendo 3DS Ambassador Program Game Boy Advance games.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-I just don't understand what the vertical filters do. Tried Googling for more info on them, but I think I must be using the wrong search terms. If you can just point me in the right direction I can probably figure it out.
It's a 3-line filter.
noodohs wrote:
Thu May 31, 2018 5:46 pm
Also, what do m, l, and u stand for?
Middle, lower and upper.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-Under scan-mode, what do the clock2x and size2x options do?
clock2x sets the 27(54) MHz pixel clock. size2x enables oversampling or double horizontal resolution.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-With osd/no-osd, does setting this to no-osd make it so that it is not possible to pull up the OSD?
It only controls the inital state.
noodohs wrote:
Thu May 31, 2018 5:46 pm
-The option for GBA multiboot, what does this do?
http://problemkaputt.de/gbatek.htm#bios ... glegamepak
noodohs wrote:
Thu May 31, 2018 5:46 pm
Unlike the other options, it doesn't have a -- in front of it, so does that mean I would put just the file name here?
Yes.
noodohs
Posts: 22
Joined: Mon Feb 05, 2018 10:51 pm

Re: Game Boy Interface

Post by noodohs » Thu May 31, 2018 7:18 pm

Awesome, thanks! I didn't realize the DCP has all the accepted values specified, that's really handy. Looking at it now, it looks like clock2x basically gives double the refresh rate (ie 120 instead of 60), right? And on turbo, it looks like you can set separate values for on vs off, is that right or did I misread that? So it might be --turbo=1:3.
paulb_nl
Posts: 12
Joined: Sat May 26, 2018 7:20 pm

Re: Game Boy Interface

Post by paulb_nl » Thu May 31, 2018 8:52 pm

Harrumph wrote:
Thu May 31, 2018 2:50 pm
Right, I found I could get sync at 960x360 by switching to RGsB or YPbPr. But it’s kinda broken that way (very dark or no colour) still interesting that it tries to send something.
Interestingly though, there is no jitter and the ouput is an exact 22.5 kHz, 60 Hz.
Interesting, I haven't heard that the PAL Gamecube can output RGsB from the multi-out. I couldn't get it to work here. Are you using a Gamecube without the digital port?
Harrumph
Posts: 7
Joined: Fri Dec 30, 2016 2:34 pm

Re: Game Boy Interface

Post by Harrumph » Thu May 31, 2018 9:22 pm

Well it isn’t really either RGsB nor YPbPr, but it’s clearly containing some sync signal on the G pin. When I tried it just now, it was harder to get sync, and unlike first time there was jitter and other abnormalities. I had to play around a bit with sync threshold, more or less reverting to default.
I’d also be curious if someone could scope the sync on the composite line when it’s outputting 480x360.

Another observation is that there’s no jitter when doing HD50 480x360. Edit: still some jitter, but much much less than at 60hz.

Maybe the hd60 480x360 is just on the border of what the multi-out rgb circuitry can handle, but it’s just oh so close to working.
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Thu May 31, 2018 9:33 pm

You shouldn't read too deeply into the output at 27(54) MHz. The required clock and clock select line don't run up to the AVE-DOL.
noodohs wrote:
Thu May 31, 2018 7:18 pm
I didn't realize the DCP has all the accepted values specified, that's really handy.
They're only suggestions.
noodohs
Posts: 22
Joined: Mon Feb 05, 2018 10:51 pm

Re: Game Boy Interface

Post by noodohs » Fri Jun 01, 2018 2:44 pm

Thanks again Extrems. This has been very enlightening. For anyone curious, I've collected all the info and made a fairly detailed list of what each setting does over on my modding wiki: https://www.retromodwiki.com/wiki/Game_Boy_Interface. I realize it's maybe redundant of the GC wiki, but I was having trouble understanding some of the things and so it's all gathered onto one page now.
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Fri Jun 01, 2018 3:13 pm

You have a pretty strange idea of GBI's features. "all post-processing (like scaling and filters) are gone to minimize input lag" is also bogus. The speedrunning edition is also, by far, the closest to the Game Boy Player Start-up Disc.
noodohs
Posts: 22
Joined: Mon Feb 05, 2018 10:51 pm

Re: Game Boy Interface

Post by noodohs » Fri Jun 01, 2018 3:22 pm

Well, every time I ask you for help with them you give me very short answers that are either mildly helpful at best or insulting at worst. That's why I put together that very specific list. I've asked here and on Shmups and no one else seems to know what anything does, either. Doing my best to figure them out on my own and this is what I have so far. Anyone is free to edit the page with more accurate descriptions, just have to sign up for an account.

Not trying to be rude, but I'm trying really hard to make this more accessible and understandable for people and you are making it as difficult as possible. Almost like you don't want anyone to understand how it works. Really frustrating.
FirebrandX
Posts: 18
Joined: Tue May 17, 2016 4:36 am

Re: Game Boy Interface

Post by FirebrandX » Sun Jun 03, 2018 10:54 pm

Extrems, I noticed in the current package download, the Framemeister driver has bad color bleed compared to the beta one you sent me a couple weeks ago. Granted, it appears to be for speed runners, but there needs to be an "HF" driver for people that prefer quality pixels on the Framemeister. As such, could you please include that driver you sent me in the download package and tag it for Framemeister HF? Much appreciated. Please note the provided "gbi-hf" driver isn't compatible with the FM (I get a blank screen).

Also, I noticed the driver I found was easiest to fine-tune for optimal OSSC timing is now missing from your latest package. I take it the settings in that driver have been moved to the default HF driver?
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Sun Jun 03, 2018 11:11 pm

FirebrandX wrote:
Sun Jun 03, 2018 10:54 pm
Extrems, I noticed in the current package download, the Framemeister driver has bad color bleed compared to the beta one you sent me a couple weeks ago.
It's not a driver, it's a preset for the speedrunning edition.
FirebrandX wrote:
Sun Jun 03, 2018 10:54 pm
As such, could you please include that driver you sent me in the download package and tag it for Framemeister HF? Much appreciated. Please note the provided "gbi-hf" driver isn't compatible with the FM (I get a blank screen).
The features I made you test haven't been released nor finished yet. I also stated I wouldn't provide a preset, so you'll need to set NTSC format manually.
FirebrandX wrote:
Sun Jun 03, 2018 10:54 pm
Also, I noticed the driver I found was easiest to fine-tune for optimal OSSC timing is now missing from your latest package. I take it the settings in that driver have been moved to the default HF driver?
It was discovered that both AVE P-DOL and CMPV-DOL don't interpolate chroma. Thus, the chroma sample location is now assumed to be centered by default.
FirebrandX
Posts: 18
Joined: Tue May 17, 2016 4:36 am

Re: Game Boy Interface

Post by FirebrandX » Mon Jun 04, 2018 11:53 am

I pulled down the zip with that file by the way. My apologies for jumping the gun on that as I just wanted people to have a nice solution for good picture quality on the Framemeister. I was getting complaints coming in and felt I needed to make sort of temporary solution.

I'll keep a look out for new developments you might have for the FM.

All the best,
-FBX
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Tue Jun 05, 2018 2:42 am

  • Added Custom-M video format.
  • Added Custom interlaced video modes.
  • Enabled progressive scan in more cases to prevent display issues.
For speedrunning edition:
  • Removed Open Source Scan Converter preset.
For high-fidelity edition:
  • Added video options.
  • Added component video DAC oversampling.
  • Added XRGB-mini Framemeister preset.
  • Removed left/right chroma location support.
Custom interlaced: 59.75143403 Hz (864x523 total)
Custom-M interlaced: 59.71258343 Hz (858x527 total)
Custom-M non-interlaced: 59.73874257 Hz (856x528 total)
paulb_nl
Posts: 12
Joined: Sat May 26, 2018 7:20 pm

Re: Game Boy Interface

Post by paulb_nl » Wed Jun 06, 2018 9:01 am

NIce. High Fidelity with 360p. Thanks Extrems!

I could not get this version of Speedrunning edition to boot with --scan-mode=non-interlace,no-clock2x,no-size2x from the Wiki. The OSSC just shows No sync. It works with --scan-mode=non-interlace.

I have been doing a comparison of the chroma subsampling:
Image
GBI 240p/480p was set to --aspect=3:2 --filter=none --scaler=nearest --format=custom
GBI Speedrunning was set to --format=custom,offset=0,scaled-size=0
Somehow 240p gbi/gbisr look much worse than their 480p modes?

High Fidelity looks fantastic in every mode.
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Wed Jun 06, 2018 2:35 pm

paulb_nl wrote:
Wed Jun 06, 2018 9:01 am
NIce. High Fidelity with 360p. Thanks Extrems!
It doesn't have temporal interpolation though. And since it's exactly 60 Hz, you get worse judder than ever.

I'm considering adding a closer matching format, but the parameter space isn't looking too appealing to me.
paulb_nl wrote:
Wed Jun 06, 2018 9:01 am
I could not get this version of Speedrunning edition to boot with --scan-mode=non-interlace,no-clock2x,no-size2x from the Wiki. The OSSC just shows No sync. It works with --scan-mode=non-interlace.
It was possible I screwed something up, but I couldn't reproduce.
Zathu
Posts: 4
Joined: Mon May 28, 2018 2:58 pm

Re: Game Boy Interface

Post by Zathu » Wed Jun 06, 2018 6:07 pm

I think I'm missing something with how to use the dumping interface. When I insert a GB/GBC cart, it auto-loads that cart before I can select a dump option. Is there a button combo to get back to the dumping menu after insertion?

On a related note, is there a button combo to bring the positioning OSD back up after accepting the initial settings?
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Wed Jun 06, 2018 6:47 pm

You can't dump GB/GBC carts. Press X to toggle the on-screen display.
Zathu
Posts: 4
Joined: Mon May 28, 2018 2:58 pm

Re: Game Boy Interface

Post by Zathu » Fri Jun 08, 2018 1:01 pm

Extrems wrote:
Wed Jun 06, 2018 6:47 pm
You can't dump GB/GBC carts. Press X to toggle the on-screen display.
Thanks for that, loving this software. It seems some GBA games auto-exec as well. I was able to insert Metroid Fusion to dump, but inserting Metroid Zero Mission triggers execution.

Also, not having luck activating rumble with Star Wars Racer. I enable it with the standard DOL and don't get rumble on my wired GC controller. Should that be a supported game?
User avatar
Extrems
Posts: 1310
Joined: Tue Aug 17, 2010 10:40 pm
Location: Québec, Canada
Contact:

Re: Game Boy Interface

Post by Extrems » Fri Jun 08, 2018 2:15 pm

Zathu wrote:
Fri Jun 08, 2018 1:01 pm
Thanks for that, loving this software. It seems some GBA games auto-exec as well. I was able to insert Metroid Fusion to dump, but inserting Metroid Zero Mission triggers execution.
Don't hotswap cartridges. Hold Start + Select on the Game Boy logo with the cartridge inserted.
Zathu wrote:
Fri Jun 08, 2018 1:01 pm
Also, not having luck activating rumble with Star Wars Racer. I enable it with the standard DOL and don't get rumble on my wired GC controller. Should that be a supported game?
Rumble is only for Game Boy Player-enhanced titles.
Zathu
Posts: 4
Joined: Mon May 28, 2018 2:58 pm

Re: Game Boy Interface

Post by Zathu » Fri Jun 08, 2018 2:17 pm

Extrems wrote:
Fri Jun 08, 2018 2:15 pm
Zathu wrote:
Fri Jun 08, 2018 1:01 pm
Thanks for that, loving this software. It seems some GBA games auto-exec as well. I was able to insert Metroid Fusion to dump, but inserting Metroid Zero Mission triggers execution.
Don't hotswap cartridges. Hold Start + Select on the Game Boy logo with the cartridge inserted.
Gotcha, any way to do that with GC controller (no select button)?
Post Reply