Viper GC
Re: Viper GC
emu_kidd, do you have any ideas on my situation/problem I described above?
Basically I have a Viper GC Extreme that I can't program (and I've tried everything) and the GameCube doesn't boot to any Cobra BIOS so either the chip is blank and the programmer is broken, or maybe the chip is dead but I can't tell.
Can I flash a BIOS to an empty Viper GC Extreme using Swiss or anything?
Basically I have a Viper GC Extreme that I can't program (and I've tried everything) and the GameCube doesn't boot to any Cobra BIOS so either the chip is blank and the programmer is broken, or maybe the chip is dead but I can't tell.
Can I flash a BIOS to an empty Viper GC Extreme using Swiss or anything?
Re: Viper GC
From what I gather if the chip is in fact blank a programmer is the only option for initial setup. If it has a BIOS on it than you have options for your update method. Sucks because I would love to be able to just pop a disc in and be on my way.
Re: Viper GC
You can't flash it with Swiss because support for that would be a lot of work due to the way they implemented their protection and so on. Viper GC Extreme should have a blue LED that lights up if installed properly.sofakng wrote: ↑Thu Feb 07, 2019 1:35 amemu_kidd, do you have any ideas on my situation/problem I described above?
Basically I have a Viper GC Extreme that I can't program (and I've tried everything) and the GameCube doesn't boot to any Cobra BIOS so either the chip is blank and the programmer is broken, or maybe the chip is dead but I can't tell.
Can I flash a BIOS to an empty Viper GC Extreme using Swiss or anything?
With all this antiquated hardware you should be using a PC from that era for the best USB/parallel port compatibility.

Re: Viper GC
Gotcha, thanks for the information.
I'll need to check on the blue LED and see what that shows. Should that be lit regardless of any programming? (ie. blank chip) If so, that should be a quick way to see if the chip/board is completely dead or not.
I'll need to check on the blue LED and see what that shows. Should that be lit regardless of any programming? (ie. blank chip) If so, that should be a quick way to see if the chip/board is completely dead or not.
Re: Viper GC
I went and picked up a Windows XP PRO machine locally for 10 bucks. Got it up and running. Put all the software I needed on there and went to work. I tried the paralell programmer to start with just because I had the option. Well that went over like a fart in church. Even with everything configured properly it just would not work. So I plugged in the usb programmer and installed the unsigned drivers. I clicked the write tab, selected 2.1 BIOS, clicked open and seen it start to erase the chip like before and then start to write. Took about a minute and it was done. I turned on my GC to see the Cobra menu and all was well. I wanted to say thank you to emu_kidid for the advice. It made sense and worked perfectly. Now I can add a Viper to my collection of Cubes.
Re: Viper GC
Does the file just get written to the flash or is it written to the FPGA?
Re: Viper GC
Glad to have helped, you can also add a windows XP PC to your collection as well

To the flash.

-
- Posts: 1
- Joined: Thu Sep 26, 2019 4:49 pm
Re: Viper GC
Hi...the Viper Team has released some specifications and pictures of their Viper GC Extreme modchip for the Nintendo GameCube. The chip will have 16Mbit of space on it and come with a USB adapter which you program the chip with and communicate with your PC via the GameCube's BBA port allowing for streaming data back and forth at USB 2.0 speeds.
fast turn pcb assembly
fast turn pcb assembly
Last edited by CleveTripp on Fri Nov 08, 2019 5:53 pm, edited 1 time in total.
Re: Viper GC
Thanks very much. I frogot all about this until today when I found out about swiss-gc.RazorX2014 wrote: ↑Fri Mar 03, 2017 6:22 pmhi i dont have the iso but when messing with my viper extreme i found the best way was to use a games iso to add the files on for updating the viper and adding themes so i made this iso for you with the updates in so let me know if it works for you.kublai wrote:Does anyone know if a Cobra v2.1 ISO exists? I lost my USB adapter for my Viper GC so I have to upgrade via the DVD. I was able to upgrade my BIOS to v1.6 via the DVD but I'm unable to upgrade to v2.1 since it's only a .vgc file. I tried making a ISO9660 but the disc explorer keeps saying unknown file system. I tried adding the .vgc file to the v1.6 ISO but it made the file size to like 200k instead of the original size of 1.4GB when I saved the ISO. Any help is appreciated.
i maybe wrong but i believe the disc explorer only supports gamecube format discs.
the download is 10mb but when unpacked its the correct 1.35gb then put it in your gamecube and use the disc explorerr then go into the Viper-GC folder and inside you will find:
cobra21.vgc
cobra21_drive20010608.vgc
cobra21_drive20020402.vgc
cobra21_drive20020823.vgc
if you need anymore help let me know, i should point out although i used a gamecube game iso as a base i removed pretty much all the game so it wont boot or anything but you should be able to use it with disc explorer to achieve what you wanted.
Download:
Here
- RazorX2014
- Posts: 174
- Joined: Sun Feb 23, 2014 6:50 pm
Re: Viper GC
You're welcomekublai wrote: ↑Sat Oct 19, 2019 7:26 pmThanks very much. I frogot all about this until today when I found out about swiss-gc.RazorX2014 wrote: ↑Fri Mar 03, 2017 6:22 pmhi i dont have the iso but when messing with my viper extreme i found the best way was to use a games iso to add the files on for updating the viper and adding themes so i made this iso for you with the updates in so let me know if it works for you.kublai wrote:Does anyone know if a Cobra v2.1 ISO exists? I lost my USB adapter for my Viper GC so I have to upgrade via the DVD. I was able to upgrade my BIOS to v1.6 via the DVD but I'm unable to upgrade to v2.1 since it's only a .vgc file. I tried making a ISO9660 but the disc explorer keeps saying unknown file system. I tried adding the .vgc file to the v1.6 ISO but it made the file size to like 200k instead of the original size of 1.4GB when I saved the ISO. Any help is appreciated.
i maybe wrong but i believe the disc explorer only supports gamecube format discs.
the download is 10mb but when unpacked its the correct 1.35gb then put it in your gamecube and use the disc explorerr then go into the Viper-GC folder and inside you will find:
cobra21.vgc
cobra21_drive20010608.vgc
cobra21_drive20020402.vgc
cobra21_drive20020823.vgc
if you need anymore help let me know, i should point out although i used a gamecube game iso as a base i removed pretty much all the game so it wont boot or anything but you should be able to use it with disc explorer to achieve what you wanted.
Download:
Here
Re: Viper GC
can someone please tell me if and how they connect to a viper(exterme) via usb?
I've tried winxp, win7 x64 and win7 x32 via vmware. only winxp managed to connect to the viper via the manager.
The viper goes into usb mode and the connection is made, but when i try to format the flash or upload a dol (swiss) it stops after 2secs and errors out.
Got the error ‘cobra usb bios not responding’
I've tried winxp, win7 x64 and win7 x32 via vmware. only winxp managed to connect to the viper via the manager.
The viper goes into usb mode and the connection is made, but when i try to format the flash or upload a dol (swiss) it stops after 2secs and errors out.
Got the error ‘cobra usb bios not responding’
- Attachments
-
- 0E668601-84AC-4A1C-96C0-7FC8D21C8B5B.jpeg
- (81.77 KiB) Not downloaded yet
Re: Viper GC
Gave up. Didn’t work, even with a real windows xp machine.sharkzor wrote: ↑Wed Oct 23, 2019 5:36 amcan someone please tell me if and how they connect to a viper(exterme) via usb?
I've tried winxp, win7 x64 and win7 x32 via vmware. only winxp managed to connect to the viper via the manager.
The viper goes into usb mode and the connection is made, but when i try to format the flash or upload a dol (swiss) it stops after 2secs and errors out.
Got the error ‘cobra usb bios not responding’
Burned disc with dols and flash update. Viper 1.6 can be updated to 2.1 via the viper bios itself.
A viper extreme can hold swiss and compressed cleanrip dol

This method requires updating everytime via a new disc burn and those are hard to come by. Does someone have a launcher dol so it launches directly from sd? Something like the channel forwarders from the wii
Re: Viper GC
Yes, look at iplboot
Also, no one noticed but BadAss has made his own modern day IPL replacement: https://www.badassconsoles.com/hyperboot/

Re: Viper GC
Hello i use viper GC with iplboot but not boot directly on SP2SP2 ? not work for me. Boot on slot B and access SD2SP2 for load gameemu_kidid wrote: ↑Thu Oct 31, 2019 3:03 amYes, look at iplboot
Also, no one noticed but BadAss has made his own modern day IPL replacement: https://www.badassconsoles.com/hyperboot/
Re: Viper GC
Hey everyone, for those who needs to connect the usb adaptor from Viper Extreme, i went to a solution.
Viper Extreme USB adaptor was built over a FTDI USB to Serial chip. Unfortunately, Viper creator changed the device IDs, so if you try to install the latest drivers from FTDI site, Windows won't recognize the driver and it won't install.
What i did was download FTDI USB to Serial drivers, extracted and edited the ftdibus.inf to add the references to the Viper adaptor.
So, just go down to these sections and add this lines:
[FtdiHw]
%USB\VID_0403&PID_CC5C.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_CC5C
%USB\VID_0403&PID_CC5C&REV_0400.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_CC5C&REV_0400
[FtdiHw.NTamd64]
%USB\VID_0403&PID_CC5C.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_CC5C
%USB\VID_0403&PID_CC5C&REV_0400.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_CC5C&REV_0400
[Strings]
USB\VID_0403&PID_CC5C.DeviceDesc="Viper USB Adapter"
USB\VID_0403&PID_CC5C&REV_0400.DeviceDesc="Viper USB Adapter"
After that, windows won't accept to install this driver pack, since the hash won't match, so, you'll need to reboot your pc and allow to install unsigned drivers. After that, you can go to device manger, find the Viper USB adapter, update drivers, look for drivers on pc.
It worked like a charm, i just installed IPLBoot using Cobra Manager.
Thanks emu_kidid for maintening this forum and developing the Swiss. I follow your work since tehskeen, back in 2010!
Viper Extreme USB adaptor was built over a FTDI USB to Serial chip. Unfortunately, Viper creator changed the device IDs, so if you try to install the latest drivers from FTDI site, Windows won't recognize the driver and it won't install.
What i did was download FTDI USB to Serial drivers, extracted and edited the ftdibus.inf to add the references to the Viper adaptor.
So, just go down to these sections and add this lines:
[FtdiHw]
%USB\VID_0403&PID_CC5C.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_CC5C
%USB\VID_0403&PID_CC5C&REV_0400.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_CC5C&REV_0400
[FtdiHw.NTamd64]
%USB\VID_0403&PID_CC5C.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_CC5C
%USB\VID_0403&PID_CC5C&REV_0400.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_CC5C&REV_0400
[Strings]
USB\VID_0403&PID_CC5C.DeviceDesc="Viper USB Adapter"
USB\VID_0403&PID_CC5C&REV_0400.DeviceDesc="Viper USB Adapter"
After that, windows won't accept to install this driver pack, since the hash won't match, so, you'll need to reboot your pc and allow to install unsigned drivers. After that, you can go to device manger, find the Viper USB adapter, update drivers, look for drivers on pc.
It worked like a charm, i just installed IPLBoot using Cobra Manager.
Thanks emu_kidid for maintening this forum and developing the Swiss. I follow your work since tehskeen, back in 2010!
Re: Viper GC
Thanks linkric for the useful information.
I rescued my gamecube from the basement a couple months ago and I've been playing around with the Viper GC Extreme and the USB adapter.
I'm especially interested in the save game state thing, I've read this whole thread and saw what some people said about it. I'm trying to remember and I think back in the day I could make it work after several attempts. Anyway I tried again now and the game freezes whenever I try to restore the state. Waiting longer does not help.
So... it is really something impossible to do? If so, why would this guy(s) even try?
This is the beginning of the save state file:

And I uploaded the file to https://filebin.net/bj7kl0m6wutkstx7/ze ... t=kxap79r0 just in case somebody wants to investigate, it is around 25MB.
I'm very interested in this because I have a little big project in mind but I don't know if it is even possible. The idea would be to discover how the dump is made and restored (or make it work properly). Then make the changes or add additional hardware to store the sates it in a microSD card. It could be some additional micro that communicates with the Viper USB or directly communicates with Cobra bios through the chip. Anyways this would be even better if the dump could be stored in a microSD connected to a SD2SP2. And here it comes the magic: would it be possible to modify GCVideo (in a pluto FPGA) to add some options to save and restore states so that it communicates with either the Viper USB or the chip directly to save and load states from SD2SP2? I have been reading YAGCD but I still need way more reading in order to know if this is possible or not. I'd like to hear from the experienced guys in GC hardware to know if this is just a dream impossible to make true. Also is there any chance to get to the guy or guys that made the Viper and ask for source codes?
Thanks!
I rescued my gamecube from the basement a couple months ago and I've been playing around with the Viper GC Extreme and the USB adapter.
I'm especially interested in the save game state thing, I've read this whole thread and saw what some people said about it. I'm trying to remember and I think back in the day I could make it work after several attempts. Anyway I tried again now and the game freezes whenever I try to restore the state. Waiting longer does not help.
So... it is really something impossible to do? If so, why would this guy(s) even try?
This is the beginning of the save state file:

And I uploaded the file to https://filebin.net/bj7kl0m6wutkstx7/ze ... t=kxap79r0 just in case somebody wants to investigate, it is around 25MB.
I'm very interested in this because I have a little big project in mind but I don't know if it is even possible. The idea would be to discover how the dump is made and restored (or make it work properly). Then make the changes or add additional hardware to store the sates it in a microSD card. It could be some additional micro that communicates with the Viper USB or directly communicates with Cobra bios through the chip. Anyways this would be even better if the dump could be stored in a microSD connected to a SD2SP2. And here it comes the magic: would it be possible to modify GCVideo (in a pluto FPGA) to add some options to save and restore states so that it communicates with either the Viper USB or the chip directly to save and load states from SD2SP2? I have been reading YAGCD but I still need way more reading in order to know if this is possible or not. I'd like to hear from the experienced guys in GC hardware to know if this is just a dream impossible to make true. Also is there any chance to get to the guy or guys that made the Viper and ask for source codes?
Thanks!
Re: Viper GC
Okay did some more reading through yagcd. Since the gamecube RAM is 24MB big I'm guessing the state file is just a RAM dump plus some additional info I don't know about (btw the statesave.exe prints 'NO ARAM' at the beginning so I'm guessing ARAM is not being dump). My first question would be how is the Cobra bios dumping the RAM and sending it to the PC? I've read the EXI bus documentation section several times and I'm not sure but I'm guessing RAM dump from an EXI device by its own is not possible. So if that is the case this is the only thing I can think of: Since the statesave.exe is required to be executed with a particular parameter 's' to make cobra to launch the game, I'm thinking this tells cobra to place a piece of code somewhere in the unused interrupt area (0x80001800-0x80002fff). The game launches and whenever 'statesave.exe' is executed with 'd' command this code is triggered and the handler starts to read RAM and send it to the viper usb through EXI bus, and another piece of code would do the inverse procedure for restoring a state. Does this even make sense? I'm very noob to gamecube hardware would appreciate some insight from the experienced guys. Thanks
Re: Viper GC
I hope somebody can help me, I have found a Gamecube with Viper GC and IcedCube Case on a junkyard.
It works porperly, but I did not have a programmer for it.
Is it possible to use the programmer from the Qoob Pro? Or is there a way to build one with an USB Port (somebody build one for a Qoob Pro by himself here in the forum)?
It works porperly, but I did not have a programmer for it.
Is it possible to use the programmer from the Qoob Pro? Or is there a way to build one with an USB Port (somebody build one for a Qoob Pro by himself here in the forum)?
Re: Viper GC
Yes this is very likely what is happening, they would have a stub that waits for commands to come through over the USB/EXI device. If it says "NO ARAM" then it potentially has either detected that ARAM hasn't been used by the game (unlikely) or it's just saying that it wasn't included as part of the dump.shyrivi wrote: ↑Sat Feb 22, 2020 12:14 amOkay did some more reading through yagcd. Since the gamecube RAM is 24MB big I'm guessing the state file is just a RAM dump plus some additional info I don't know about (btw the statesave.exe prints 'NO ARAM' at the beginning so I'm guessing ARAM is not being dump). My first question would be how is the Cobra bios dumping the RAM and sending it to the PC? I've read the EXI bus documentation section several times and I'm not sure but I'm guessing RAM dump from an EXI device by its own is not possible. So if that is the case this is the only thing I can think of: Since the statesave.exe is required to be executed with a particular parameter 's' to make cobra to launch the game, I'm thinking this tells cobra to place a piece of code somewhere in the unused interrupt area (0x80001800-0x80002fff). The game launches and whenever 'statesave.exe' is executed with 'd' command this code is triggered and the handler starts to read RAM and send it to the viper usb through EXI bus, and another piece of code would do the inverse procedure for restoring a state. Does this even make sense? I'm very noob to gamecube hardware would appreciate some insight from the experienced guys. Thanks
You could probably make a parallel port one if someone can post hi-res pictures for you.Fgo181 wrote: ↑Tue Feb 25, 2020 4:43 pmI hope somebody can help me, I have found a Gamecube with Viper GC and IcedCube Case on a junkyard.
It works porperly, but I did not have a programmer for it.
Is it possible to use the programmer from the Qoob Pro? Or is there a way to build one with an USB Port (somebody build one for a Qoob Pro by himself here in the forum)?

Re: Viper GC
I then learned this is the way swiss installs patches when launching games, right? I discarded the idea of reversing Cobra protocol for savestates and started playing with the Viper USB myself, using libftdi made easy interact with the EXI bus right away, I built a simple dol and was able to communicate correctly back and forth. Next step I'll try to place it as a swiss patch and try to dump the RAM to my computer while a game is running. I know that might lead to nowhere but as long as it is fun to do it is worth a try. Thank you!emu_kidid wrote: ↑Tue Feb 25, 2020 9:30 pmYes this is very likely what is happening, they would have a stub that waits for commands to come through over the USB/EXI device. If it says "NO ARAM" then it potentially has either detected that ARAM hasn't been used by the game (unlikely) or it's just saying that it wasn't included as part of the dump.
Re: Viper GC
Correct this is what Swiss does (but you've probably also noticed how much the games have to be patched to hook into various aspects etc). You might be better off looking at how the cheat engine hooks in since it just uses a single (fairly commonly called) function. Have fun tinkering with it thoughshyrivi wrote: ↑Tue Mar 03, 2020 10:59 pmI then learned this is the way swiss installs patches when launching games, right? I discarded the idea of reversing Cobra protocol for savestates and started playing with the Viper USB myself, using libftdi made easy interact with the EXI bus right away, I built a simple dol and was able to communicate correctly back and forth. Next step I'll try to place it as a swiss patch and try to dump the RAM to my computer while a game is running. I know that might lead to nowhere but as long as it is fun to do it is worth a try. Thank you!


Re: Viper GC
Phew... that took longer that I expected but I finally made it! Thanks to your hint I had a good starting point. Can't imagine how would it have been without that tip haha. I can currently send some messages from GC to PC while the game is running hooking OSSleepThreademu_kidid wrote: ↑Wed Mar 04, 2020 12:12 am
Correct this is what Swiss does (but you've probably also noticed how much the games have to be patched to hook into various aspects etc). You might be better off looking at how the cheat engine hooks in since it just uses a single (fairly commonly called) function. Have fun tinkering with it though![]()

Just to throw in something interesting related with Viper and in case any newbie like me ends up here: Since I don't have a Gecko USB and I wanted to read logs, I was able to make Swiss send logs to the PC using the Viper USB Adapter. I just placed USBSend function found in Viper examples into print_gecko function. And then use libftdi to read the logs. It is not the cleanest but it did the job for me. I guess it shouldn't be difficult to make the whole gecko thing to work with viper adapter using device 0 instead o 1 in functions like usb_isgeckoalive, usb_sendbuffer_safe an such.
Re: Viper GC
May I please ask what is potentially an embarassing question?
I have a working Viper mod (not the USB but the original Parallel port version).
It's on a cube I had long ago lost, but have found it again.
Now it was on Cobra 1.6 and through some experimentation I have updated it to 2.1.
All good.
I also have an sp2sd and I boot my Swiss disk and away she goes. However I think I'm correct in that Swiss itself can be loaded on the Viper?
Would anyone help this lost man please in how I do this? I can't work out what file I need from the swiss downloads nor how to get it onto the viper chip.
I'm willing to accept I've got it all wrong.
Feel free to mock me if I've missed something blindingly obvious though.
Thank you all.
Please stay safe and well in these 'interesting times' we currently live in.
I have a working Viper mod (not the USB but the original Parallel port version).
It's on a cube I had long ago lost, but have found it again.
Now it was on Cobra 1.6 and through some experimentation I have updated it to 2.1.
All good.
I also have an sp2sd and I boot my Swiss disk and away she goes. However I think I'm correct in that Swiss itself can be loaded on the Viper?
Would anyone help this lost man please in how I do this? I can't work out what file I need from the swiss downloads nor how to get it onto the viper chip.
I'm willing to accept I've got it all wrong.
Feel free to mock me if I've missed something blindingly obvious though.
Thank you all.
Please stay safe and well in these 'interesting times' we currently live in.
Re: Viper GC
Swiss won't fit, but you can use iplboot as a replacement BIOS on the ViperGC and it will attempt to load a DOL from a SD card on startup instead. I believe you can write .vgc files via DVD-R onto the viper if you don't have the programmer or a parallel port. Here it is: https://github.com/redolution/iplboot/releasesskel28 wrote: ↑Thu Apr 09, 2020 5:10 pmI also have an sp2sd and I boot my Swiss disk and away she goes. However I think I'm correct in that Swiss itself can be loaded on the Viper?
Would anyone help this lost man please in how I do this? I can't work out what file I need from the swiss downloads nor how to get it onto the viper chip.
I'm willing to accept I've got it all wrong.
Feel free to mock me if I've missed something blindingly obvious though.
There's a copy floating around here with SP2SD support, try to find it in other threads.
