Cloning the Gamecube component cable

The place for all discussion on gaming hardware
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

tesla246 wrote:Do you think such a solution is worth chasing and viable, maybe in due time, in terms of effort, cost, people of interest etc?
Considering you'd need compatible homebrew software in order to see anything, and it wouldn't be compatible with the Game Boy Player, I don't think it's economically viable.

More advanced chroma upsampling than what GCVideo offers goes a long way, and a debanding filter solves the banding caused by the lack of dithering in the full to limited range conversion.

I've been thinking about this for many years, along with a ARM SoC add-on to add useful peripherals such as USB and Ethernet, but they're just pipe dreams.
tesla246
Posts: 15
Joined: Sun Jan 12, 2020 8:50 pm

Re: Cloning the Gamecube component cable

Post by tesla246 »

Extrems wrote:Considering you'd need compatible homebrew software in order to see anything, and it wouldn't be compatible with the Game Boy Player, I don't think it's economically viable.
Well, the solution already exists for GBI, so people with GBP connected would not benefit from the device anyway. Personally I wouldn't mind if it occupied the Hi-Speed port at all, but you would have to hack each software title?
I've been thinking about this for many years, along with a ARM SoC add-on to add useful peripherals such as USB and Ethernet, but they're just pipe dreams.
Haha, great minds think alike...I would say that if I was not aware of the severe limitations of my own intellect :D . But it is reassuring that I'm not the only one who keeps dreaming of a true RGB picture from the cube...I know I would certainly pay whatever necessary just because it also has been on my mind literally for years. Maybe someday!

Anyway, thanks for taking the time to theorize about this issue, I always read your posts with great anticipation. It is good to have you on the scene among others (unseen, citrus, emukidid etc.). Have a nice day.
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

tesla246 wrote:Personally I wouldn't mind if it occupied the Hi-Speed port at all, but you would have to hack each software title?
It'd just be a generic patch applied by Swiss.
tesla246
Posts: 15
Joined: Sun Jan 12, 2020 8:50 pm

Re: Cloning the Gamecube component cable

Post by tesla246 »

Extrems wrote:
tesla246 wrote:Personally I wouldn't mind if it occupied the Hi-Speed port at all, but you would have to hack each software title?
It'd just be a generic patch applied by Swiss.
Interesting, so those YUYV copy's splitted 2 ARGB copies, that data goes to the Hi speed port hardware device, and then to something like GCvideo?
If that is indeed the case, would GCvideo only need to be updated to adapt that data stream for a RGB picture? Do the current FPGA boards (citrus, pluto) offer enough in terms of pins and/or memory?

Also, would the penalty hit on the GPU affect framerate/other tasks negligibly?
Last edited by tesla246 on Sat Mar 21, 2020 5:27 pm, edited 1 time in total.
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

YUV (YCbCr)? I said RGB.

It has to be new hardware.
tesla246
Posts: 15
Joined: Sun Jan 12, 2020 8:50 pm

Re: Cloning the Gamecube component cable

Post by tesla246 »

No I meant the 2 ARGB copies of that YUYV data. I wasn't really clear on that and have edited my post accordingly.
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

Still wrong. This is copying RGB to RGB. The YUYV copy is substituted by those 2 ARGB copies.
tesla246
Posts: 15
Joined: Sun Jan 12, 2020 8:50 pm

Re: Cloning the Gamecube component cable

Post by tesla246 »

Oof, I'm not really familiar with those terms. I thought ''the missing data'' goes to our new hardware in Hi speed port and then to GCvideo? Are my followup assumptions correct in that post?

Do you know of a good site where I can read up on this stuff (goodle?)? Thanks for answering.
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

The device would be responsible for every aspects of video output. GCVideo is irrelevant here.
GojiFan90
Posts: 92
Joined: Fri Sep 22, 2017 1:28 am

Re: Cloning the Gamecube component cable

Post by GojiFan90 »

@Extrems--you seem to be somewhat dismissive/critical of the Carby component cables. Is there something inherently wrong with them that I should know about? I don't doubt your knowledge, I'm just curious what issues (if any) they exhibit. Are they inferior to the OEM cables?
SavagePencil
Posts: 628
Joined: Mon Nov 11, 2013 4:06 pm

Re: Cloning the Gamecube component cable

Post by SavagePencil »

Yeah, I was curious why they require special settings for GBI. What do they do differently from other implementations?
User avatar
bobrocks95
Posts: 3460
Joined: Mon Apr 30, 2012 2:27 am
Location: Kentucky

Re: Cloning the Gamecube component cable

Post by bobrocks95 »

For GBI, with GCVideo-DVI 2.4d or earlier, gbisr-gchd.cli is recommended with some settings on the GBI wiki. (https://www.gc-forever.com/wiki/index.p ... elevisions)

Are these the same recommended settings after updating to 3.0d?
PS1 Disc-Based Game ID BIOS patch for MemCard Pro and SD2PSX automatic VMC switching.
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

bobrocks95 wrote:Are these the same recommended settings after updating to 3.0d?
I just remembered that 720i is a thing.

If neither an HDMI to YPbPr converter (for 1080i) nor an OSSC (for 720p/1080p) are options, these are the new recommendations: https://www.gc-forever.com/wiki/index.p ... _and_later

Here are unscaled previews:
Image
Image

I'm still struck in awe seeing this kind of output rendered entirely on the GPU.
User avatar
Extrems
Posts: 540
Joined: Sat Jan 30, 2016 5:01 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Extrems »

Game Boy Interface's documentation is now mostly updated to reflect the "new" possibilities with GCVideo-DVI v3.0, and there are now 4 configurations for you to try.

https://www.gc-forever.com/wiki/index.p ... nd_later_2
https://www.gc-forever.com/wiki/index.p ... nd_later_2
User avatar
Unseen
Posts: 723
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Unseen »

Recently I noticed that I actually had not released GCVideo-DVI 3.0e, even though it was almost complete in my local repository... So here is the slightly late release:

https://github.com/ikorb/gcvideo/releas ... lease_3.0e

It primarily fixes some Wii issues:
  • auto-detects two different board revisions of WiiDual, which could manifest as various issues when using previous versions on the unsupported board version:
    • fixes glitchy-looking analog RGB video
    • fixes VData0 error in diagnostics
    • fixes non-working flasher
    • fixes 480p detected as 960i
    • BUT: This does not come for free, support for the separate VSync output and the undocumented mode switch pin had to be disabled on WiiDual. This should affect only a tiny minority of users.
      removed RGB line swap for analog output on WiiDual, it now uses the same WiiDual-specific (non-Nintendo) RGB pinout as the stock WiiDual firmware
  • improved boot-up speed and stability for all Wii builds, no more black screens after WC24 standby (needs a full reflash to fully apply, using the updater only fixes the WC24 standby issue)
  • added a menu entry for starting ihe IR button configuration
  • Wii updater is now packaged with a meta.xml file for convenient use in the Homebrew Channel
It turns out that the 54MHz signal in the Wii sometimes is not a 54MHz signal - during power-on or resume from WC24 standby(*) it starts at 54, switches to 27 for around 200 milliseconds and switches back to 54 again. The clock multipliers in the FPGA don't like that very much and sometimes fail to generate a stable output clock due to this switcheroo. Fortunately, the audio signals of the Wii start up shortly after the 54MHz clock is stable on both 90 and 65nm Wii chipsets, so GCVideo now waits until this happens before it starts the FPGA's clock multipliers. This makes it possible to use the fast config speed again, reducing the time from poweron to picture noticably though not as low as the Gamecube version(**).

I guess some people will want to make use of this increased bootup speed or maybe even have an older revision on their board that occasionally does not show a picture after turning on their Wii, but would prefer not to dismantle their Wii to connect their board to an external programmer. Therefore, I have built a special tool that updates the bootloader/flasher part of GCVideo, which a normal update does not touch. The downside is that using this tool may brick your GCVideo-DVI board because the process cannot be made 100% safe - if this happens, e.g. due to a power outage, you must dismantle your Wii and use an external programmer to fully reprogram the on-board flash.

The tool can be found here: https://snowcat.de/flasher-updater-3.0e-wii.zip It uses a two-step process: First, it replaces the main firmware with a special flasher version, which is able to reprogram the entire memory of GCVideo-DVI. This special flasher can be recognized by its inverted black-on-white color scheme. After the old flasher has rebooted into this special flasher, it checks the flickering update data image again for a full update and writes it to the board if you tell it to. This second step is the one that has a brick chance, because there is no reliable way to provide an emergency fallback when the booter/flasher firmware is replaced. If you decide to not risk it at this point, you need to force a reguar firmware update by fully powering off your console (no WC24 standby!) followed by holding the IR config hardware button while turning it on again. This triggers the regular flasher which has not been replaced at this point and you can use the normal updater.dol to replace the special flasher with the regular firmware. If you do use the special flasher, it will do a full replacement of the firmware and your board will be updated to 3.0e in the same step.

To use the special updater, start it from the Homebrew Channel and select About->Update firmware in the GCVideo-DVI OSD. If you don't have that option in the About menu, your GCVideo-DVI firmware version is too old to be updated without using an external programmer. If you do have this option, but the flasher does not recognize the update, you may have a revision of Wii-Dual that is only supported starting from version 3.0e and you need an external programmer to install it.

Note: This special flasher is provided purely as a convenience and there is no warranty. Although it worked for me when I tested it once, it likely still contains bugs and can brick your GCVideo-DVI board. Do not use it unless you understand that you may need to dismantle your console and use an external programmer to return your GCVideo-DVI board to a working state.

(*) Recommendation: Turn off WC24 standby. The servers have been turned off a few years ago, so nowadays the only thing it has to offer is a yellow LED on the power button and increased power consumption.
(**) No, a real Gamecube does not play this clock switching game.

Oh, and I'm thinking about removing the SPDIF output at least for GCDual and WiiDual in a future release to free up some space and reduce headaches due to clock domain crossing. Enhanced DVI audio will still work.
User avatar
Link83
Posts: 342
Joined: Tue May 21, 2013 2:39 am

Re: Cloning the Gamecube component cable

Post by Link83 »

Thanks Unseen, sounds like a great update :)
fernan1234
Posts: 2175
Joined: Mon Aug 14, 2017 8:34 pm

Re: Cloning the Gamecube component cable

Post by fernan1234 »

That update will benefit a lot of users for sure!
Unseen wrote:fixes glitchy-looking analog RGB video
BTW, what does that refer to? Was it an issue introduced after 3.0a? Because I never noticed glitches on analog RGB using the pre-3.0 firmware by Dan.
User avatar
Unseen
Posts: 723
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Unseen »

fernan1234 wrote:
Unseen wrote:fixes glitchy-looking analog RGB video
BTW, what does that refer to? Was it an issue introduced after 3.0a? Because I never noticed glitches on analog RGB using the pre-3.0 firmware by Dan.
One of the WiiDual board layouts has the ForceYPbPr pin where the other has the lowest bit of VData. ForceYPbPr forces the analog output to use YPbPr even if you have set RGB in the menus, so it was constantly switching between RGB and YPbPr based on the lowest bit of the Wii's video signal. If everything worked fine for you, you have the one board variant that was supported pre-3.0e or your board came with a patched firmware that I have nothing to do with.
User avatar
djc5166
Posts: 101
Joined: Thu Nov 30, 2017 9:50 pm

Re: Cloning the Gamecube component cable

Post by djc5166 »

Kept putting off updating my Wii, maybe this will finally push me to do it.

Guess we still have to wait for Dan's versions for his mods? What happens if you but these versions on there? Do they just not work?
User avatar
Unseen
Posts: 723
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Unseen »

djc5166 wrote:Guess we still have to wait for Dan's versions for his mods? What happens if you but these versions on there? Do they just not work?
Try it - if your board has a hardware ID that is not contained in the updater, the flasher will just complain that it can't find a matching firmware. If it does have a matching hardware ID but actually uses a different pinout, someone forgot to change the hardware ID when modifying the firmware into an unsupported configuration.
Jdurg
Posts: 46
Joined: Tue Dec 13, 2016 1:52 pm

Re: Cloning the Gamecube component cable

Post by Jdurg »

Not sure if I'm understanding this right, but this "special flasher" will update all forms of the firmware without having to first open up the kit and get a programmer to do so? E.g. for my Wii Dual which I bought before the .dol firmware update method existed, I won't need to open up my Wii to update the firmware via a programmer as long as I ensure I won't lose power?

If so, that's pretty sweet and thank you!
User avatar
Unseen
Posts: 723
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Unseen »

Jdurg wrote:Not sure if I'm understanding this right, but this "special flasher" will update all forms of the firmware without having to first open up the kit and get a programmer to do so?
No, only those that have a firmware update capability at all. It updates a part of the firmware that is not updated using the normal process.
E.g. for my Wii Dual which I bought before the .dol firmware update method existed, I won't need to open up my Wii to update the firmware via a programmer
No, if there is no update capability in the firmware that is currently installed on your board, it is physically impossible to update it without opening the console and connecting a programmer.
Jdurg
Posts: 46
Joined: Tue Dec 13, 2016 1:52 pm

Re: Cloning the Gamecube component cable

Post by Jdurg »

Unseen wrote:
Jdurg wrote:Not sure if I'm understanding this right, but this "special flasher" will update all forms of the firmware without having to first open up the kit and get a programmer to do so?
No, only those that have a firmware update capability at all. It updates a part of the firmware that is not updated using the normal process.
E.g. for my Wii Dual which I bought before the .dol firmware update method existed, I won't need to open up my Wii to update the firmware via a programmer
No, if there is no update capability in the firmware that is currently installed on your board, it is physically impossible to update it without opening the console and connecting a programmer.
Gotcha. Thanks for clarifying that for me.
mario64
Posts: 188
Joined: Sun Dec 13, 2015 5:00 am

Re: Cloning the Gamecube component cable

Post by mario64 »

Unseen wrote:Recently I noticed that I actually had not released GCVideo-DVI 3.0e, even though it was almost complete in my local repository... So here is the slightly late release:

https://github.com/ikorb/gcvideo/releas ... lease_3.0e

It primarily fixes some Wii issues:
  • auto-detects two different board revisions of WiiDual, which could manifest as various issues when using previous versions on the unsupported board version:
    • fixes glitchy-looking analog RGB video
    • fixes VData0 error in diagnostics
    • fixes non-working flasher
    • fixes 480p detected as 960i
    • BUT: This does not come for free, support for the separate VSync output and the undocumented mode switch pin had to be disabled on WiiDual. This should affect only a tiny minority of users.
      removed RGB line swap for analog output on WiiDual, it now uses the same WiiDual-specific (non-Nintendo) RGB pinout as the stock WiiDual firmware
  • improved boot-up speed and stability for all Wii builds, no more black screens after WC24 standby (needs a full reflash to fully apply, using the updater only fixes the WC24 standby issue)
  • added a menu entry for starting ihe IR button configuration
  • Wii updater is now packaged with a meta.xml file for convenient use in the Homebrew Channel
It turns out that the 54MHz signal in the Wii sometimes is not a 54MHz signal - during power-on or resume from WC24 standby(*) it starts at 54, switches to 27 for around 200 milliseconds and switches back to 54 again. The clock multipliers in the FPGA don't like that very much and sometimes fail to generate a stable output clock due to this switcheroo. Fortunately, the audio signals of the Wii start up shortly after the 54MHz clock is stable on both 90 and 65nm Wii chipsets, so GCVideo now waits until this happens before it starts the FPGA's clock multipliers. This makes it possible to use the fast config speed again, reducing the time from poweron to picture noticably though not as low as the Gamecube version(**).

I guess some people will want to make use of this increased bootup speed or maybe even have an older revision on their board that occasionally does not show a picture after turning on their Wii, but would prefer not to dismantle their Wii to connect their board to an external programmer. Therefore, I have built a special tool that updates the bootloader/flasher part of GCVideo, which a normal update does not touch. The downside is that using this tool may brick your GCVideo-DVI board because the process cannot be made 100% safe - if this happens, e.g. due to a power outage, you must dismantle your Wii and use an external programmer to fully reprogram the on-board flash.

The tool can be found here: https://snowcat.de/flasher-updater-3.0e-wii.zip It uses a two-step process: First, it replaces the main firmware with a special flasher version, which is able to reprogram the entire memory of GCVideo-DVI. This special flasher can be recognized by its inverted black-on-white color scheme. After the old flasher has rebooted into this special flasher, it checks the flickering update data image again for a full update and writes it to the board if you tell it to. This second step is the one that has a brick chance, because there is no reliable way to provide an emergency fallback when the booter/flasher firmware is replaced. If you decide to not risk it at this point, you need to force a reguar firmware update by fully powering off your console (no WC24 standby!) followed by holding the IR config hardware button while turning it on again. This triggers the regular flasher which has not been replaced at this point and you can use the normal updater.dol to replace the special flasher with the regular firmware. If you do use the special flasher, it will do a full replacement of the firmware and your board will be updated to 3.0e in the same step.

To use the special updater, start it from the Homebrew Channel and select About->Update firmware in the GCVideo-DVI OSD. If you don't have that option in the About menu, your GCVideo-DVI firmware version is too old to be updated without using an external programmer. If you do have this option, but the flasher does not recognize the update, you may have a revision of Wii-Dual that is only supported starting from version 3.0e and you need an external programmer to install it.

Note: This special flasher is provided purely as a convenience and there is no warranty. Although it worked for me when I tested it once, it likely still contains bugs and can brick your GCVideo-DVI board. Do not use it unless you understand that you may need to dismantle your console and use an external programmer to return your GCVideo-DVI board to a working state.

(*) Recommendation: Turn off WC24 standby. The servers have been turned off a few years ago, so nowadays the only thing it has to offer is a yellow LED on the power button and increased power consumption.
(**) No, a real Gamecube does not play this clock switching game.

Oh, and I'm thinking about removing the SPDIF output at least for GCDual and WiiDual in a future release to free up some space and reduce headaches due to clock domain crossing. Enhanced DVI audio will still work.
Does this special flasher work with Dan’s boards? My WiiDual is on 3.0d but when I tried the regular updater I got no compatible firmware found
User avatar
djc5166
Posts: 101
Joined: Thu Nov 30, 2017 9:50 pm

Re: Cloning the Gamecube component cable

Post by djc5166 »

mario64 wrote: Does this special flasher work with Dan’s boards? My WiiDual is on 3.0d but when I tried the regular updater I got no compatible firmware found
Unseen wrote: if your board has a hardware ID that is not contained in the updater, the flasher will just complain that it can't find a matching firmware. If it does have a matching hardware ID but actually uses a different pinout, someone forgot to change the hardware ID when modifying the firmware into an unsupported configuration.
User avatar
Unseen
Posts: 723
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: Cloning the Gamecube component cable

Post by Unseen »

mario64 wrote:Does this special flasher work with Dan’s boards? My WiiDual is on 3.0d but when I tried the regular updater I got no compatible firmware found
If you get the "no compatible firmware found" message, your board is not compatible with my releases because the maker/vendor has changed the hardware ID, which means I just refuse all support and point you to her/him instead. =)

The idea behind the hardware IDs is that a new one is used when the hardware is changed in a way that requires a software change to work(*), e.g. when a signal is moved to a different FPGA pin. This implies that if you have a board with an ID that is not from my repository, something is different that requires a change before it can work - but if this difference is not publically documented, I have no way of knowing what changes are required. The person that does know what has changed and what is required to adapt the official GCVideo version to his/her board is whoever made it in the first place, so I just point there because it is the only thing I can realistically do.

(*) The fact that the WIID hardware ID now supports two slightly different boards using autodetection is a rare exception - it happened to be possible in this case and based on user reports the text on both versions seems to be identical, making it hard for a user to figure out which firmware is the correct one.
User avatar
citrus3000psi
Posts: 668
Joined: Wed Dec 25, 2013 11:56 pm
Location: Indiana

Re: Cloning the Gamecube component cable

Post by citrus3000psi »

Hardware WiiDual and WiiDual 1.1 are labeled on the boards. From what I remember without looking back at my notes the initial WiiDual I used an input only IO on one of the H/V sync outputs. So on HW1.1, I swapped pins from the VData[0] to fix the problem.

To keep these separate I created my own hardware ID's for compiling.

So if you previously installed a 3.0 build from one of my compilations you can grab 3.0e from here: http://dansprojects.com/firmware/WiiDual/

The initial WiiDual 1.0 is pretty rear most units are rev 1.1
User avatar
djc5166
Posts: 101
Joined: Thu Nov 30, 2017 9:50 pm

Re: Cloning the Gamecube component cable

Post by djc5166 »

Cracked my wii open today, it was still on pre-updater firmware.

Everything went really smoothly, seems to be working just fine with Dan's versioni.
User avatar
bobrocks95
Posts: 3460
Joined: Mon Apr 30, 2012 2:27 am
Location: Kentucky

Re: Cloning the Gamecube component cable

Post by bobrocks95 »

Was ready to buy some Carby component cables today so I could use the OSSC for GBI, but I now see that they're discontinued... Anyone know why or have a good idea for alternatives? The price point was the most appealing part for sure...

Edit: I see Extrems himself recommends simply using a cheap HDMI to YPbPr converter. Pretty silly since it's going right back to digital with the OSSC, but that's certainly a cheaper option.
PS1 Disc-Based Game ID BIOS patch for MemCard Pro and SD2PSX automatic VMC switching.
strayan
Posts: 671
Joined: Sun Mar 19, 2017 8:33 pm

Re: Cloning the Gamecube component cable

Post by strayan »

bobrocks95 wrote: Edit: I see Extrems himself recommends simply using a cheap HDMI to YPbPr converter. Pretty silly since it's going right back to digital with the OSSC
Huh? The OSSC was designed to take analogue signals and output digital.
Post Reply