X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fjtag%2Fjtag430.c;h=d0b83cb526e80c13d4b79c0786801bae74fde9be;hp=e4ee9458ef4e3f7f5a6faf38033571e3d8e92ee4;hb=f4a6b415e762bcdc560f3ea655851d16f483ea5a;hpb=84de7aa6b2ef9e83c7d36c3b2fed78933113c38a;ds=sidebyside diff --git a/firmware/apps/jtag/jtag430.c b/firmware/apps/jtag/jtag430.c index e4ee945..d0b83cb 100644 --- a/firmware/apps/jtag/jtag430.c +++ b/firmware/apps/jtag/jtag430.c @@ -275,7 +275,7 @@ void jtag430_setinstrfetch(){ //! Handles classic MSP430 JTAG commands. Forwards others to JTAG. void jtag430handle(unsigned char app, unsigned char verb, - unsigned char len){ + unsigned long len){ register char blocks; unsigned long at; unsigned int i, val; @@ -306,31 +306,24 @@ void jtag430handle(unsigned char app, case JTAG430_READMEM: case PEEK: - /* - cmddataword[0]=jtag430_readmem(cmddataword[0]); - txdata(app,verb,2); - */ - blocks=(len>4?cmddata[4]:1); at=cmddatalong[0]; //Fetch large blocks for bulk fetches, //small blocks for individual peeks. - if(blocks>1) - len=0x80; + if(len>5) + len=(cmddataword[2]);//always even. + else + len=2; + len&=~1;//clue lsbit txhead(app,verb,len); - - while(blocks--){ - for(i=0;i>8); - } + for(i=0;i>8); } break; case JTAG430_WRITEMEM: