I was trying to update my GCVideo Pluto IIx firmware to 3.0d to be able to update FW in the future without tinkering with soldering. Because of that COVID19 situation, ordering and delivering FPGA programmers takes lot of time now. I have few USB-UART boards and cheap Altera USB Blaster analog from Aliexpress. Trying FPGA Config program from KNJN and USB-UART adapter I was facing communication error. As per expalnation from genius Ingo Korb - the guy who created GCVideo project for all of us:) :
So seems that I cannot use usual USB-UART for that. I went JTAG way. Pluto IIx has Xilinx chip and requires Xilinx flasher, but in the same time it has JTAG option, which is industry standard. Below I listed the whole instruction which allows to update firmware to GCVideo 3.0d with usage of cheap Altera USB Blaster and universal UrJTAG program.The Pluto IIx board is designed for "real" serial ports - while it
accepts a wide range of voltages, the encoding on a real serial port is
inverted compared to 3.3V/TTL serial port signals (-12V is a 1, +12V is
a 0). KNJN's own USB adaptor boards use an FTDI chip that can be
configured to invert its outputs to work around that problem.
- You need cheap analog of Altera USB Blaster from Aliexpress (it says Rev.C on the case) I bought it here
https://aliexpress.ru/item/32831280653. ... 33edMCJb3Q
Drivers were used from
http://download.altera.com/akdlm/softwa ... indows.exe
But I guess they can be installed separately and You don’t need to install the whole Quartus IDE. You can find them in «usb-driver» folder in archive I attached. If driver is installed properly, You will see it in Device Manager as Altera USB-Blaster. I have version 126.96.36.199 from Quartus IDE
Sorry, it’s all in russian:)
- I soldered pin headers to Pluto IIx board, soldering points were from Xilinx chip side, so they are achieveable to be connected from memory side. I soldered TD0, TCK, GND and VCC,TDI,TMS. They are devided in 2 groups by 3 and can be easily identified on the board.
- I have installed UrJTAG program because it allows to use different programmers not only Xilinx for example.
https://netcologne.dl.sourceforge.net/p ... g-0.10.exe
I have attached it installed in zip file with all required files, and I think it can be used without installation. While installing You should choose C:\UrJTAG path because the program has CLI and quite strict on the path.
- after installation You need to create «bsdl» not BDSM:) folder in UrJTAG folder and put file named xc3s200a.bsd into this folder. This is file describing Xilinx FPGA chip.
- connect USB Blaster to pinheads as per schematics I attached. I was using Arduino jumpers to connect to pinheads and Usb Blaster socket. Power up Gamecube, because power from Usb Blaster is not enough. Then connect USB cable from PC to USB Blaster.
- go to C:\UrJTAG and run jtag.exe in command line. You will see command line prompt «jtag>»
- type «cable UsbBlaster» (I guess that command line is case sensitive but not sure, so I would go with case sensitive) . If all OK it will tell You «Connected to libftdxx2 driver.»
- type «detect»
command line will show You something like this
so seems that programmer found the chip.
- now we need to identify chip properly. Type «bsdl path bsdl» and then type detect. It will show You something like that:
the chip is properly identified.
- So we are ready to play SVF file and upload FW into the EEPROM through JTAG
type «svf gcvideo.svf» (I have SVF named gcvideo.svf in my case) and cross the fingers:)))
after few minutes program will come back to command line prompt «jtag>» and LED on the Pluto IIx board will start to heartbeat.
In my case it was showing few errors during SVF playing
But seems that all is OK because Gamecube is working flawlessly.
Update is done. Connect Gamecube to HDMI and check firmware version, it should be 3.0d
Here is all the required files
https://mega.nz/file/utlkWKaR#b-MYLbgES ... nDOZA5fGt0