For the most part, everything seems fine, the original authors of the test software were nice enough to carefully contain everything in three main routines:
scan_ir (just what you think it is)
scan_dr (also what you think it is)
But then there is a 'circulate_dr' function, that's a scan_dr read-only, but it's setup so just before each clock, it echos the input to the output. I guess that would allow the jtag to cycle the entire chain through and put all the original data back in the shift registers when reading. This doesn't seem to be standard, from what I can tell, but it's used repeatedly for this device.
The FT2232 doesn't do this echo on a normal JTAG_Read (using FTDI's FTCJTAG.dll). Perhaps there's a way to get it to do it directly via the D2XX.dlls and lower level MPSSE stuff?
I could easily fake this with the CPLD, by having a GPIO set a mux that sources TDI from either the FT2232 or an echo of the TDO input. That's one thing awsome about this setup. But I'm wondering if anyone else has seen anything like this or if it can be done directly in the FT2232. At the end of the day, it may be easiest to go with the XDS100, which has the same capability and would be easy to sell to management, I suppose. I'm just curious if anyone has ever seen anything like this.