somehow dirty still accurate fix
[my-code/fpga.git] / fx2 / fx2.c
index a8f0467..49f0da5 100644 (file)
--- a/fx2/fx2.c
+++ b/fx2/fx2.c
@@ -252,21 +252,17 @@ void main() {
        fx2_init();
 
        /* jtag by polling ep1 */
+
        while(1) {
                if(!(EP1OUTCS&BUSY)) {
+                       set=IOD;
                        buf=EP1OUTBUF[0];
-                       if(buf!=GET_TDO) {
-                               set=(IOD&(~0x1c))|(buf&0x1c);
-                               IOD=set;
-                               EP1OUTBC=1;
-                       }
-                       else {
-                               while(EP1INCS&BUSY)
-                                       continue;
-                               buf=IOD&0x01?1:0;
-                               EP1INBUF[0]=buf;
-                               EP1INBC=1;
-                       }
+                       IOD=(IOD&(~0x1c))|(buf&0x1c);
+                       EP1OUTBC=1;
+               }
+               if(!(EP1INCS&BUSY)) {
+                       EP1INBUF[0]=IOD&0x01;
+                       EP1INBC=1;
                }
        }