Page 3 of 4

Re: Yet another USB Gecko clone

Posted: Sat Nov 03, 2018 12:36 am
by novenary
I haven't tried HBC as I don't even have a Wii, but that shouldn't be the problem. You could give Swiss a try, it will output debugging information over slot B (must be enabled first). If the FTDI shows up on USB then it's working. Flashing it only changes some information in the descriptor that isn't relevant to proper functionality.

Re: Yet another USB Gecko clone

Posted: Fri Nov 09, 2018 11:27 am
by qwerty123
How would I make USB Gecko? Is it even possible in 2018? If so, please can you tell me where I can buy the parts. Can you use any XC9572xl or does it have to be a specific one? Thanks

Re: Yet another USB Gecko clone

Posted: Fri Nov 09, 2018 1:15 pm
by novenary
Everything you asked is listed in the OP.

Re: Yet another USB Gecko clone

Posted: Fri Nov 09, 2018 2:25 pm
by qwerty123
What is the OP? Thanks for the quick reply.

Edit: Oh, it means original post.
Some items aren't on Farnell anymore so can I buy them anywhere else, thanks.

Re: Yet another USB Gecko clone

Posted: Sat Apr 06, 2019 12:46 pm
by Cameron_MKW
-deleted-

Re: Yet another USB Gecko clone

Posted: Sat Feb 22, 2020 2:36 am
by StarkNebula
I would appreciate if someone could more accurately outline the specifics of the CPLD (and perhaps USB controller for good measure too) for anyone trying to build their own. The original post lacks any specifics about the part in question. Farnell no longer lists the item on their site. Wayback Machine would/does not work because the site fetches from a database. I emailed support a week ago with the part and Farnell number provided but have not heard back.

That being said, I am trying to find the specifics myself. I can only use my judgement with the information provided to try and guess what it is. I may have found some parts that is the same or matches the specifications based purely on the shoestring information and images in this thread. My understanding is these are the significant specs needed:
  • XC9500XL series chip, specifically XC9572XL
  • 44pin TQFP/VQFP package (surface mount)
  • Voltage range includes 3.3v (would use the 3.3v from the GC Memory Card port)
  • Delay time: 10ns (shorter delays exist, is this critical?)
  • 72 Macrocells (assumed correct since it likely identifies the part number, XL9572XL)
  • 4 logic elements/blocks (or more?)
  • 1600 gates (or more?)
If correct, there are a few results on Digikey that satisfy the requirements. Prices range due to operating temperature and nanosecond delay times.

10ns variants 7.5ns variants Any confirmation from someone with either the knowledge or that has previously acquired the required CPLD and can read their markings on the chip (the images in this thread do not help with that one) or has the datasheet would be immensely appreciated.

Re: Yet another USB Gecko clone

Posted: Sat Feb 22, 2020 9:20 pm
by mj_judge
StarkNebula wrote:
Sat Feb 22, 2020 2:36 am
I would appreciate if someone could more accurately outline the specifics of the CPLD (and perhaps USB controller for good measure too) for anyone trying to build their own. The original post lacks any specifics about the part in question. Farnell no longer lists the item on their site. Wayback Machine would/does not work because the site fetches from a database. I emailed support a week ago with the part and Farnell number provided but have not heard back.

That being said, I am trying to find the specifics myself. I can only use my judgement with the information provided to try and guess what it is. I may have found some parts that is the same or matches the specifications based purely on the shoestring information and images in this thread. My understanding is these are the significant specs needed:
  • XC9500XL series chip, specifically XC9572XL
  • 44pin TQFP/VQFP package (surface mount)
  • Voltage range includes 3.3v (would use the 3.3v from the GC Memory Card port)
  • Delay time: 10ns (shorter delays exist, is this critical?)
  • 72 Macrocells (assumed correct since it likely identifies the part number, XL9572XL)
  • 4 logic elements/blocks (or more?)
  • 1600 gates (or more?)

If correct, there are a few results on Digikey that satisfy the requirements. Prices range due to operating temperature and nanosecond delay times.

10ns variants 7.5ns variants
Any confirmation from someone with either the knowledge or that has previously acquired the required CPLD and can read their markings on the chip (the images in this thread do not help with that one) or has the datasheet would be immensely appreciated.
https://wiibrew.org/wiki/USB_Gecko

have you had a look here, there is a lot of information about how it works.

Re: Yet another USB Gecko clone

Posted: Sat Feb 22, 2020 10:30 pm
by StarkNebula
mj_judge wrote:
Sat Feb 22, 2020 9:20 pm
https://wiibrew.org/wiki/USB_Gecko

have you had a look here, there is a lot of information about how it works.
Thanks mj_judge. I haven't been on that page in a long time. The information helped shed some light on the device itself but doesn't fully address the concern I have which is that the layman will not be able to build a USB Gecko without specifics on the CPLD. The classic USB Gecko in the link is a 100pin package and has flash memory on the board, both not part of the design of the one in this thread. The CPLD is also some 17$USD based on a quick search (https://www.mouser.ca/ProductDetail/Int ... a%2FwQKw==).

However, it lead me to narrow down a few things. What I learned and can infer is:
  • The original CPLD has 440 Macrocells, USB Gecko likely uses much less
  • The original CPLD had 57 Logic Element/Blocks, USB Gecko likely uses much less
  • The operating temperature is 0C to 70C
  • Propagation delay of 5.4ns. "The delay specification in a CPLD is the maximum (i.e. worst case) pin-to-pin delay. That is, the maximum delay it takes for a signal "edge" to propagate from any pin to any other pin through the internal (combinational) logic." (source on StackExchange)
That shortlists the parts I think are compatible to these 2. If I had to guess, I would think either works but would play it safe and grab the one with less delay.

Re: Yet another USB Gecko clone

Posted: Tue Feb 25, 2020 10:32 am
by mj_judge
StarkNebula wrote:
Sat Feb 22, 2020 2:36 am
I would appreciate if someone could more accurately outline the specifics of the CPLD (and perhaps USB controller for good measure too) for anyone trying to build their own. The original post lacks any specifics about the part in question. Farnell no longer lists the item on their site. Wayback Machine would/does not work because the site fetches from a database. I emailed support a week ago with the part and Farnell number provided but have not heard back.
hey sorry I was half asleep when I replied to this, I realise you are trying to rebuild one of these clone devices and not re-create the official one.

https://www.xilinx.com/support/document ... /ds057.pdf

Heres the datasheet to the CPLD, I presume you have it? the specific one quotes was the XC9572XL-10VQG44C (This corresponds to 1605849 that used to be available from farnells)

XC9572XL-10VQG44C 10 ns VQG44 44-pin Quad Flat Pack (VQFP); Pb-free C

Do you need the datasheet for the 245 usb controller? there a fairly off the shelf chip.

C is commerical (i.e C = Commercial: TA = 0° to +70°C;)



hth

Re: Yet another USB Gecko clone

Posted: Wed Feb 26, 2020 3:20 am
by StarkNebula
Thanks mj_judge! It turns out the part I had listed on Digi-Key is the same. Glad you could confirm that as I know some of the other questions in this thread relate to part specifics. If you don't mind throwing up the datasheet for the other part that would be nice for any future readers. That one is a least easier to be confident in when searching online.

For those future readers, it looks like XC9572XL-10VQG44C is the CPLD to look for. I would recommend viewing the opening post as there are specifics on how to program these chips.

Re: Yet another USB Gecko clone

Posted: Wed Feb 26, 2020 6:47 pm
by mj_judge
https://bg.farnell.com/ftdi/ft245rl/int ... dp/1146034

datasheet and overview is there for the ft245, some years ago ftdi drivers messed with the eeprom of cloned chips (you can get many usb clone chips for almost free) so if using a clone be careful what drivers you use, im not sure if the current ones do

Re: Yet another USB Gecko clone

Posted: Sat Apr 18, 2020 12:37 pm
by novenary
I've heard some were having trouble programming the FTDI with MProg. Since MProg is deprecated, I've added a programming file for FT_Prog which is the newer, still supported tool (this was already the case when I originally made this post, I just never bothered to provide and updated file because MProg worked for me :P).

Re: Yet another USB Gecko clone

Posted: Sun Apr 19, 2020 12:23 pm
by Cameron_MKW
Oh, great! Thanks for that, it worked first time no hassle.

Re: Yet another USB Gecko clone

Posted: Mon Apr 20, 2020 5:37 am
by novenary
You're welcome. :)

Re: Yet another USB Gecko clone

Posted: Thu Jul 09, 2020 2:34 am
by StarkNebula
I've been trying to get my boards programmed and I'm having the hardest time getting anything to work. I had spent a week finagling with various JTAG programmers and Arduino XSVF players with no luck so I bought one of the knock-off XILINX programmers from AliExpress (which arrived today). While it has seemingly gotten me farther I keep getting an error in IMPACT "A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage."

What I've found online isn't helping as the version of IMPACT that came with the programmer crashes when I try to debug the scan chain (both 32- and 64-bit versions, running Windows 10 x64). I'm currently downloading the newer tool chain (31GB!) which feels like using a flamethrower to light a candle.

In any case, I would appreciate it if someone who has Done It™ could explain the process of flashing a CPLD and the rationale behind why certain steps are involved. It's frustrating because plugging a USB cable in and twiddling some bits shouldn't have to be this convoluted.

Re: Yet another USB Gecko clone

Posted: Thu Jul 09, 2020 3:04 am
by emu_kidid
I have done it, I typically have the PCB in the GameCube memory card slot with the power turned on when programming since my xilinx platform cable knockoff (and real ones?) don't power the device by default.

Re: Yet another USB Gecko clone

Posted: Thu Jul 09, 2020 3:23 am
by StarkNebula
Thanks for the reply! I find that a strange choice but presume it provides flexibility in device power requirements. I should probably take the time to read the manual to learn these things. Good to know!

Edit: I didn't notice before but the pinout is indeed Vref and not Vcc which makes a lot of sense. I'm running into different issues now with IMPACT 14.7 but it's still a step up. It seems more actionable. I'll have more time to dig into this during the weekend. Thanks again for the tip!
INFO:iMPACT - Current time: 2020-07-08 11:50:18 PM

Unsupported command - validateInstance invoked
, Please make sure that the command is supported on this device.

Unsupported command - getBypassInfo invoked
, Please make sure that the command is supported on this device.
Unsupported command - validateInstance invoked
, Please make sure that the command is supported on this device.
Unsupported command - checkIDCode invoked
, Please make sure that the command is supported on this device.
Unsupported command - getBypassInfo invoked
, Please make sure that the command is supported on this device.

Re: Yet another USB Gecko clone

Posted: Thu Aug 27, 2020 10:05 pm
by StarkNebula
So I finally had a bit of time again to try things out and still no luck.

I've tried 3 operating systems at this point. From digging around I know that Windows 10 is not supported by iMPACT so I went and made both a Windows XP x32 and Windows 7 x64 virtual machine to try things out. Windows 7 would not for the life of me accept any drivers I would supply through manual installation. While it took a bit to get the XP vm to cooperate it, once I did I got iMPACT up and running easily.

From what I gather iMPACT is complaining about the hardware setup for the CPLD. The first error I encounter is:
ERROR:iMPACT - A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage.
For further context, my current setup for programming the CPLD is:
1. XILINX programmer connect to PC via USB
2. Programmer pins Vref, GND, TCK, TDO, TDI, TMS, connected to jumpers
3. Jumpers soldered onto USB Gecko pads
4. USB Gecko's GameCube 3.3v and GND pins soldered to jumpers
5. Jumpers connect to Arduino UNO 3.3v and GND pins

I heard that the CPLD is sensitive to the voltage anything non 3.3v. I'm unsure if the CPLD has accidentally used 5v from another power source when trying to do this previously. If this is a possible cause, please let me know. I'm going to try ordering a CPLD pre-programed from Digi-Key in my next order to try out anyways, so might change the CPLD out if that's a possibility. (The U.S. is a strange place and won't let me do this apparently.)

Anyways, back to iMPACT on Windows XP. Upon loading a new project, the main window displays "Identify Succeeded" and says "Right click to Add Device or Initialize JTAG chain." [Right-Click > Add Xilinx Device] and locate the file "usb_gecko.xsvf", the icon displays it in the main window. Selecting [Output > Cable Auto Connect] works and detects the cable and configures it with default settings. With "usb_gecko.xsvf" selected in the window, I can go to the "iMPACT Processes" tab and double-click "Execute Svf/Xsvf." It begins execution but then fails with:
ERROR:iMPACT:1876 - The xsvf executed operation did not complete successfully.
According to a similar Xilinx support post, the solution is to contact them which really isn't useful. (Reference: https://www.xilinx.com/support/answers/31984.html) The main window now shows "Play Failed". Trying to select [Debug > Chain Integrity Check] or [Debug > ID CODETEST] crashes iMPACT.

I've tried mucking around with no success. I started working on a Linux/Ubuntu VM but I'm having issues setting up the file transfer from host to guest, so I'll have a go at that the next time around. I'm wondering what I can even try at this point.

The output log from iMPACT:
Spoiler
Show
iMPACT Version: 14.7

iMPACT log file Started on Thu Aug 27 17:41:28 2020

Welcome to iMPACT
iMPACT Version: 14.7
Project: C:\Xilinx\14.7\LabTools\LabTools\bin\\auto_project.ipf created.
// *** BATCH CMD : setMode -bs
GUI --- Auto connect to cable...
// *** BATCH CMD : setCable -port auto
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: found 1 device(s).
INFO:iMPACT - Digilent Plugin: opening device: "JtagHs2", SN:526562241142
INFO:iMPACT - Digilent Plugin: User Name: JtagHs2
INFO:iMPACT - Digilent Plugin: Product Name: Digilent JTAG-HS2
INFO:iMPACT - Digilent Plugin: Serial Number: 526562241142
INFO:iMPACT - Digilent Plugin: Product ID: 30900152
INFO:iMPACT - Digilent Plugin: Firmware Version: 0108
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz
Attempting to identify devices in the boundary-scan chain configuration...
INFO:iMPACT - Current time: 8/27/2020 5:41:34 PM
// *** BATCH CMD : Identify -inferir
PROGRESS_START - Starting Operation.
Identifying chain contents...done.
ERROR:iMPACT - A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage.
PROGRESS_END - End Operation.
Elapsed time = 1 sec.
// *** BATCH CMD : identifyMPM
// *** BATCH CMD : addDevice -p 1 -file "C:/Documents andSettings/Raphael/Desktop/usb_gecko_cpld/usb_gecko.xsvf"
INFO:iMPACT:501 - '1': Added Device BoundaryScanFile successfully.
----------------------------------------------------------------------
INFO:iMPACT - Current time: 8/27/2020 5:41:49 PM
// *** BATCH CMD : Play
XSVF Interpreter v5.01, Xilinx, Inc.
XSVF file = C:/Documents andSettings/Raphael/Desktop/usb_gecko_cpld/usb_gecko.xsvf
PROGRESS_START - Starting Operation.
Execution Time = 0.380 seconds
ERROR:iMPACT:1876 - The xsvf execute operation did not complete sucessfully.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
Images of hardware programming setup:
Spoiler
Show
Image
Image
Image
Image

Re: Yet another USB Gecko clone

Posted: Thu Oct 29, 2020 10:25 am
by webhdx
Hello StarkNebula. I've created USB Gecko clones a week ago using http://retro-system.com/shuriken_usb.htm design. Here I'd like to thank Shuriken USB's author for the brilliant effort put into documenting and releasing everything.

I ordered CPLDs from AliExpress: https://aliexpress.com/item/32921622129.html

For programming I've used FT232H based board: https://aliexpress.com/item/32818305310.html

It was painful to find working software to be honest... I spent 2 days trying to program Xilinx. It didn't work with iMPACT as I do not have compatible programmer. I know there is a way to set up remote JTAG programmer and use it in iMPACT and it supports FTDI based programmers but I didn't try that one. What had worked for me was: http://xc3sprog.sourceforge.net I just used *.jed file instead of messing with XSVF.

Hope this helps.

BTW. I have 4 USB Geckos for sale. All assembled and working with 3d printed cases. I'm based in Poland, EU.

Re: Yet another USB Gecko clone

Posted: Sun May 23, 2021 12:09 am
by Schñarf
Could you use this with a controller adapter and homebrew software to increase the amount of players in a game?

Re: Yet another USB Gecko clone

Posted: Sun May 23, 2021 10:19 am
by Papy.G
The USB Gecko is essentially used as a mass storage interface. You already have four controller connectors, that can be used by up to eight players, when games or programs allow that, and if it's not enough, EXI bus can easily be used to link consoles together, without requiring any useless bridge forward then backward to USB.

Re: Yet another USB Gecko clone

Posted: Mon Aug 02, 2021 12:04 pm
by Aztill
Is anyone selling those or any other clone? I honestly don't think I have the knowledge or skill to assemble my own but I'd love to have one.

Re: Yet another USB Gecko clone

Posted: Mon Aug 02, 2021 6:34 pm
by webhdx
Send me a PM. I should have all the parts to make a few USB Geckos.

Re: Yet another USB Gecko clone

Posted: Wed Aug 18, 2021 11:55 am
by dilav
I have a some extra parts for clones here too with 3D printed cases. I'm in California, USA if anyone in the US is looking for one. Most likely not worth shipping internationally.

Re: Yet another USB Gecko clone

Posted: Sat Sep 04, 2021 6:12 am
by Diego
Does anyone have a .jed file for the CPLD? I'm trying to flash my CPLD with a jed from the shuriken usb page, and my gecko doesn't work.