Full Code of mrjimenez/JTAG for AI

master 1e9ff2277417 cached
58 files
382.7 KB
142.9k tokens
222 symbols
1 requests
Download .txt
Showing preview only (401K chars total). Download the full file or copy to clipboard to get everything.
Repository: mrjimenez/JTAG
Branch: master
Commit: 1e9ff2277417
Files: 58
Total size: 382.7 KB

Directory structure:
gitextract_puf82wr0/

├── .gitignore
├── LICENSE
├── README.md
├── examples/
│   └── JTAGTest/
│       └── JTAGTest.ino
├── extras/
│   ├── python/
│   │   ├── JTAGTAP.py
│   │   ├── Uploader.py
│   │   ├── XSVFAssembler.py
│   │   ├── XSVFDecoder.py
│   │   ├── XSVFDisassembler.py
│   │   ├── XSVFParser.py
│   │   ├── asm_disasm_test.sh
│   │   └── xsvf
│   └── xsvf/
│       ├── XC2C64A/
│       │   ├── VHDL-CPLDIntro3LEDinverse.xsvf
│       │   ├── VHDL-CPLDIntro3LEDinverse.xsvf.s
│       │   ├── VHDL-CPLDIntro3LEDinverse.xsvf.txt
│       │   ├── blank_check.xsvf
│       │   ├── erase.svf
│       │   ├── erase.xsvf
│       │   ├── erase.xsvf.txt
│       │   ├── idcode.svf
│       │   ├── idcode.xsvf
│       │   ├── idcode.xsvf.txt
│       │   ├── idcode_simpler.xsvf.txt
│       │   ├── instruction_test.xsvf.s
│       │   └── light_LED.xsvf
│       ├── XC9572XL/
│       │   ├── AlternateLEDsOnButton.xsvf
│       │   ├── DeviceID.txt
│       │   ├── DeviceID.xsvf
│       │   └── ProgramButtonLED.xsvf
│       └── all/
│           ├── idcode_simpler.xsvf
│           └── idcode_simpler.xsvf.s
├── keywords.txt
├── lib/
│   └── readme.txt
├── library.properties
├── platformio.ini
└── src/
    ├── ArduinoPin.cpp
    ├── ArduinoPin.h
    ├── JTAG.h
    ├── JTAGPort.cpp
    ├── JTAGPort.h
    ├── JTAGPortAVR.cpp
    ├── JTAGPortAVR.h
    ├── JTAGPortArduino.cpp
    ├── JTAGPortArduino.h
    ├── JTAGTAP.cpp
    ├── JTAGTAP.h
    ├── PlayXSVF.cpp
    ├── PlayXSVF.h
    ├── PlayXSVFJTAGAVR.cpp
    ├── PlayXSVFJTAGAVR.h
    ├── PlayXSVFJTAGArduino.cpp
    ├── PlayXSVFJTAGArduino.h
    ├── SerialComm.cpp
    ├── SerialComm.h
    ├── XSVFPlayer.cpp
    ├── XSVFPlayer.h
    ├── XSVFPlayerJTAG.cpp
    └── XSVFPlayerJTAG.h

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
#
# Some common rules
#
.*
*.o
#*.a
#*.s
*.ko
*.so
*.so.dbg
*.i
*.lst
*.symtypes
*.gz
*.bz2
*.lzma
*.xz
*.lz4
*.lzo
*.patch

core
core.*

#
# Backup files
#
*.orig
*~
\#*#

#
# python
#
*.pyc

#
# git files that we don't want to ignore even it they are dot-files
#
!.gitignore

.pioenvs
.piolibdeps
.clang_complete
.gcc-flags.json

# Arduino 2
build



================================================
FILE: LICENSE
================================================
BSD 3-Clause License

Copyright (c) 2015, Marcelo Roberto Jimenez

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: README.md
================================================
# The JTAG Library for Arduino

This library has four interesting things.

First, it is a JTAG test access point (TAP) manipulation library. The code
tries to be processor agnostic as much as possible, so that it can be used in
the future in other platforms. JTAG is a powerful interface, there are many
things that you can do besides programming devices. For example, you can do
boundary scan tests, and even debug and take complete control of some hardware.

Second, it is a XSVF file player. That way, it is possible to program CPLDs and
FPGAs through the JTAG port.

Third, there is a XSVF disassembler written in python, so that you can learn
what is happening in the XSVF file you are using to program your device.

And finally, there is a XSVF assembler, also written in python, so that you can
recompile or write your own XSVF programs yourself in a maintainable and
documented way, since the grammar supports comments.

Remember that Arduino compatible devices are usually powered with 5 Volts,
while most CPLDs and FPGAs will use a 3.3 Volts interface. In my original
project, I have used 3 voltage dividers for TCK, TMS and TDI. Each divider
consisted of one 330 Ohms resistor in series with a 180 Ohms resistor. One leg
of the 330 Ohms resistor goes to the ground, one leg of the 180 Ohms resistor
goes to the Arduino. Where two legs meet, this is where you should connect your
JTAG cable.

Those seem to be a bit low values for a voltage divider, but consider the fact
that you will most likely have around 100 Ohms impedance in your JTAG
homemade cable, and higher resistor values will most likely create reflections
on your signals that will ruin the operation of the JTAG TAP.

TDO and VREF can be tied straight to the arduino pins, but I suggest using a
100 Ohms resistor on TDO, just to be sure to make reflections low. The big
problem here is not TDO itself, but the crosstalk that can happen between TDO
and TCK in your target board. Trust me, I've been there.

Using VREF is important so that your Arduino knows your JTAG cable it is actually
connected to something. Also, VREF could be used to power buffers to convert
the Arduino signals to the right voltage level without the resistors I
mentioned before.

The pin configuration I used was this:

| Signal | Arduino pin |
|:-------|:-----------:|
| TMS    |  8 |
| TDI    |  9 |
| TDO    | 10 |
| TCK    | 11 |
| VREF   | 12 |

## Before using this software

You will need:

1. An Arduino compatible board, along with some way to program it (PC with USB
   and Arduino IDE or some other hardware device).

1. Python with the library pyserial installed.

1. The proper connection, be it a cable or a few loose wire jumpers.

1. A CPLD, FPGA or any other JTAG interface board to connect to. It is worth
   mentioning that [Dangerous Prototypes](http://dangerousprototypes.com/)
   has two very interesting CPLD boards. I have personally used a XC2C64A
   breakout board. They also have a similar breakout board for the XC9572XL.

## Installing the library

This software has been tested under the Arduino IDE version 1.6.5, but should
work fine with version 1.0. The library should be unpacked to the "libraries"
directory inside your Arduino "sketches" directory.

## Compiling

One quick suggestion: in order to get the most of the USB bandwidth, it is
possible to increase the size of the receive buffer of the Arduino. I have also
changed the default compiler optimization level. I added a file called
"platform.local.txt" to the folder "~/arduino-1.6.5/hardware/arduino/avr" that
had the following:

```config
name=Arduino 256S AVR Boards
version=1.6.7

# AVR compile variables
# ---------------------

# This can be overridden in boards.txt
build.extra_flags=

# These can be overridden in platform.local.txt
compiler.c.extra_flags=-DSERIAL_BUFFER_SIZE=256 -DSERIAL_RX_BUFFER_SIZE=256 -O2
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=-DSERIAL_BUFFER_SIZE=256 -DSERIAL_RX_BUFFER_SIZE=256 -O2
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=
```

The best information about the location of the file "platform.local.txt" I
found was [here](https://github.com/arduino/Arduino/wiki/Boards-Manager-FAQ).

Another suggestion: if speed is really an issue, instead of using
"JTAGPortArduino", use "JTAGPortAVR". Take a look at PlayXSVFJTAVR.{cpp,h}.
JTAGPortAVR uses the same pin configuration I have mentioned before, but since
all the pins are on AVR's PORTB, all pins are written at once, so the JTAG port
code is more efficient.

## Using it to play XSVF

1. The example sketch "JTAGTest" has been used in all my tests. Upload it to
   your Arduino board. Now you have a XSVF JTAG player.
2. Inside the folder libraries/JTAG/extras/python, there is a python script
   called xsvf. It has some command line parameters, but the default ones
   should be ok. You can use it to send more than one file in a sequence to
   your board. For example, suppose you are in a command prompt in the
   libraries/JTAG folder. Then, the following command will send the following
   four XSVF files to your Arduino board:

```bash
   ./extras/python/xsvf extras/xsvf/XC2C64A/{idcode.xsvf,blank_check.xsvf,erase.xsvf,VHDL-CPLDIntro3LEDinverse.xsvf}
```

   Help is available for the command line parameters:

```bash
   $ ./extras/python/xsvf --help
   usage: xsvf [-h] [-c {upload,disasm}] [-v] [-p PORT] [-b BAUD]
                     fileName [fileName ...]

   XSVF file processor.

   positional arguments:
      fileName              XSVF file names. (type FileType('rb'))

   optional arguments:
      -h, --help            show this help message and exit
      -c {upload,disasm}, --command {upload,disasm}
                           command to execute. (default=upload)
      -v, --version         show program's version number and exit
      -p PORT, --port PORT  Serial port device name (default=/dev/ttyACM0)
      -b BAUD, --baud BAUD  BAUD rate (type int, default=115200)

   Parameters can be in a file, one per line, using @"file name"
```

1. In subfolders of the folder "extras/xsvf" you can find several XSVF files
   that you can use to test your hardware. Notice that you MUST use a XSVF file
   generated for your particular hardware. You can generate XSVF files with the
   software "impact", which comes with the Xilinx bundle.
2. A failure in the execution of "blank_check.xsvf" means that the CPLD is not
   blank. The same file should be successful after the execution of
   "erase.xsvf".

## Interesting links

1. [Generating an SVF, XSVF, or STAPL File with Impact](http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/pp_p_process_generate_svf_file.htm)
2. [Executing XSVF/SVF Files with Impact](http://www.xilinx.com/itp/xilinx10/isehelp/pim_p_executing_xsvf_svf.htm)
3. [A JTAG/XSVF Library for Arduino](http://eeandcs.blogspot.com.br/2015/08/jtagxsvf-library-for-arduino.html)
4. [A XSVF Assembler/Disassembler in python](http://eeandcs.blogspot.com.br/2015/09/a-xsvf-assemblerdisassembler-in-python.html)
5. [SVF on Wikipedia](https://en.wikipedia.org/wiki/Serial_Vector_Format)
6. [JTAG on Wikipedia](https://en.wikipedia.org/wiki/Joint_Test_Action_Group)
7. [fpga4fun](http://www.fpga4fun.com/JTAG.html)
8. [Rohit Dureja's JTAG Simplified](https://rohitdureja.wordpress.com/category/cpldfpga/)
9. [Nice JTAG TAP Controller State Diagram in SVF](https://de.wikipedia.org/wiki/Datei:JTAG_TAP_Controller_State_Diagram.svg)
10. YouTube video: [Como programar CPLD Xilinx con Arduino](https://youtu.be/x5eW9H1GoeA)

## Credits

I have used Xilinx [XAPP503 - SVF and XSVF File Formats for Xilinx Devices](http://www.xilinx.com/support/documentation/application_notes/xapp503.pdf),
appendix B as the reference for XSVF.

This software is actually a major rewrite of code and ideas inspired on many
other projects. As far as I could trace it:

1. [Mike Tsao's JTAGWhisperer](https://github.com/sowbug/JTAGWhisperer/).

1. [Ben's XSVF-Player](https://github.com/ben0109/XSVF-Player/).

1. [Clifford Wolf's libxsvf](http://www.clifford.at/libxsvf/). Definitely worth taking a look.

1. [Karl Hans Janke's jtagbang](http://www.khjk.org/log/2013/aug/jtagbang.html).

## About me

[My blog is here](http://eeandcs.blogspot.com.br/).

You may contact me on github.


================================================
FILE: examples/JTAGTest/JTAGTest.ino
================================================
#include <JTAG.h>

//
// The maximum size of the arduino receive buffer is 63 bytes by default.
// This number can be changed if you change the compiler flags in the
// file hardware/arduino/avr/platform.local.txt (-O2 makes it faster):
//
// compiler.c.extra_flags=-DSERIAL_BUFFER_SIZE=256 -DSERIAL_RX_BUFFER_SIZE=256
// -O2 compiler.cpp.extra_flags=-DSERIAL_BUFFER_SIZE=256
// -DSERIAL_RX_BUFFER_SIZE=256 -O2
//

#ifndef SERIAL_RX_BUFFER_SIZE
#define SERIAL_RX_BUFFER_SIZE 64
#endif /* SERIAL_RX_BUFFER_SIZE */

void setup()
{
	Serial.begin(115200);
	// Serial.begin(230400);
	while (!Serial) {
		; // wait for serial port to connect. Needed for Leonardo only
	}
	// printAvailableRAM(Serial);
}

void loop()
{
	// PlayXSVFJTAGArduino p(Serial, SERIAL_RX_BUFFER_SIZE, 2, 12, 5, 4, 0,
	// true);
	PlayXSVFJTAGArduino p(Serial, SERIAL_RX_BUFFER_SIZE, 8, 9, 10, 11, 12);
	// PlayXSVFJTAGAVR p(Serial, SERIAL_RX_BUFFER_SIZE);
	// p.printAvailableRAM();
	//  Currently, the PlayXSVFJTAGArduino object consumes 1042 bytes of RAM
	p.play();
}


================================================
FILE: extras/python/JTAGTAP.py
================================================
#! /usr/bin/python3
# coding: utf-8

class JTAGTAP(object):
    """

    """

    # JTAG TAP states
    TEST_LOGIC_RESET = 0
    RUN_TEST_IDLE = 1
    SELECT_DR_SCAN = 2
    CAPTURE_DR = 3
    SHIFT_DR = 4
    EXIT1_DR = 5
    PAUSE_DR = 6
    EXIT2_DR = 7
    UPDATE_DR = 8
    SELECT_IR_SCAN = 9
    CAPTURE_IR = 10
    SHIFT_IR = 11
    EXIT1_IR = 12
    PAUSE_IR = 13
    EXIT2_IR = 14
    UPDATE_IR = 15

    _NAME = 0
    _state_data = (
        ('TEST_LOGIC_RESET',),
        ('RUN_TEST_IDLE',),
        ('SELECT_DR_SCAN',),
        ('CAPTURE_DR',),
        ('SHIFT_DR',),
        ('EXIT1_DR',),
        ('PAUSE_DR',),
        ('EXIT2_DR',),
        ('UPDATE_DR',),
        ('SELECT_IR_SCAN',),
        ('CAPTURE_IR',),
        ('SHIFT_IR',),
        ('EXIT1_IR',),
        ('PAUSE_IR',),
        ('EXIT2_IR',),
        ('UPDATE_IR',),
    )

    @staticmethod
    def state_name(n):
        return JTAGTAP._state_data[n][JTAGTAP._NAME]


================================================
FILE: extras/python/Uploader.py
================================================
#! /usr/bin/python3
# coding: utf-8

import os
import string
import sys
import time

try:
    import serial
except ImportError:
    print("Error importing pyserial. Please check if it is installed.")
    sys.exit(1)


class Uploader(object):
    """Uploads a XSVF file to the arduino board."""

    # Create a translation array of printable characters
    _translate_str_1 = "".join(
        [(chr(x) in string.printable) and chr(x) or "." for x in range(256)]
    )
    _translate_str = bytes(_translate_str_1, "ascii")

    @staticmethod
    def add_arguments(p):
        """Adds the necessary arguments to the parser."""
        p.add_argument(
            "-p",
            "--port",
            default="/dev/ttyACM0",
            help="Serial port device name" " (default=%(default)s)",
        )
        p.add_argument(
            "-b",
            "--baud",
            default=115200,
            type=int,
            help="BAUD rate" " (type %(type)s, default=%(default)s)",
        )

    def __init__(self, args):
        self._args = args
        self._serial = serial.Serial(port=args.port, baudrate=args.baud)
        # Help printing new lines
        self._need_lf = False
        #
        self._file_size = 0
        # Hashes
        self._sum = 0
        # To compute the elapsed time
        self._start_time = 0
        # Error code
        self._error_code = 0

    @property
    def error_code(self):
        return self._error_code

    @error_code.setter
    def error_code(self, value):
        self._error_code = value

    def reset_arduino(self):
        """Resets the arduino and clear any garbage on the serial port."""
        self._serial.setDTR(False)
        time.sleep(1)
        self._serial.flushInput()
        self._serial.flushOutput()
        self._serial.setDTR(True)
        self._start_time = 0

    def print_lf(self):
        if self._need_lf:
            self._need_lf = False
            print

    def initialize_hashes(self):
        self._sum = 0

    def update_hashes(self, s):
        for c in s:
            self._sum += c

    def print_hashes(self):
        cksum = (-self._sum) & 0xFF
        if self._args.debug > 1:
            print("  Expected checksum:  0x%02X/%lu." % (cksum, self._file_size))
            print("  Expected sum: 0x%08lX/%lu." % (self._sum, self._file_size))
        if self._start_time > 0:
            print("Elapsed time: %.02f seconds." % (time.time() - self._start_time))

    def upload_one_file(self, fd):
        self.reset_arduino()
        self._file_size = os.fstat(fd.fileno()).st_size
        bytes_written = 0
        while True:
            line = self._serial.readline().strip()
            if not line:
                continue
            command = chr(line[0])
            argument = line[1:].decode("ascii")
            if command == "S":
                num_bytes = int(argument)
                xsvf_data = fd.read(num_bytes)
                bytes_written += len(xsvf_data)
                self.update_hashes(xsvf_data)
                xsvf_data += b"\xFF" * (num_bytes - len(xsvf_data))
                self._serial.write(xsvf_data)
                if self._args.debug > 1:
                    print(
                        "\rSent: %8d bytes, %8d remaining"
                        % (bytes_written, self._file_size - bytes_written),
                        end="",
                    )
                    sys.stdout.flush()
                    self._need_lf = True
            elif command == "R":
                self.initialize_hashes()
                if self._args.debug > 1:
                    print("File: %s" % os.path.realpath(fd.name))
                    print("Ready to send %d bytes." % self._file_size)
                self._start_time = time.time()
            elif command == "Q":
                self.print_lf()
                # Split the argument. The first field is the error code,
                # the next field is the error message.
                args = argument.split(",")
                self.error_code = int(args[0])
                if self._args.debug > 1:
                    print("Quit: {1:s} ({0:d}).".format(self.error_code, args[1]))
                self.print_hashes()
                return self.error_code == 0
            elif command == "D":
                if self._args.debug > 0:
                    self.print_lf()
                    print("Device:", argument)
            elif command == "!":
                if self._args.debug > 0:
                    self.print_lf()
                    print("IMPORTANT:", argument)
            else:
                self.print_lf()
                print("Unrecognized line:", line.translate(Uploader._translate_str))

    def upload_all_files(self, fd_list):
        ok = True
        for fd in fd_list:
            with fd:
                ok = self.upload_one_file(fd)
                if not ok:
                    break
        return ok


================================================
FILE: extras/python/XSVFAssembler.py
================================================
# !/usr/bin/python3
# coding: utf-8

#
# example:
# $ ./XSVFAssembler.py > test.xsvf
# $ ./xsvf -c disasm -n test.xsvf > test.xsvf.s
# $ ./xsvf -c asm ../xsvf/XC2C64A/idcode_simpler.xsvf.s
# $

import XSVFParser
import sys


class XSVFAssembler(object):
    """
    Assembler
    """
    OPCODE = 0
    HANDLER = 1

    def __init__(self, args):
        self._args = args
        self._instruction_info = {
            'XCOMPLETE': (0, self.asm_xcomplete),
            'XTDOMASK': (1, self.asm_xtdomask),
            'XSIR': (2, self.asm_xsir),
            'XSDR': (3, self.asm_xsdr),
            'XRUNTEST': (4, self.asm_xruntest),
            'XRESERVED_5': (5, self.asm_xreserved_5),
            'XRESERVED_6': (6, self.asm_xreserved_6),
            'XREPEAT': (7, self.asm_xrepeat),
            'XSDRSIZE': (8, self.asm_xsdrsize),
            'XSDRTDO': (9, self.asm_xsdrtdo),
            'XSETSDRMASKS': (10, self.asm_xsetsdrmasks),
            'XSDRINC': (11, self.asm_xsdrinc),
            'XSDRB': (12, self.asm_xsdrb),
            'XSDRC': (13, self.asm_xsdrc),
            'XSDRE': (14, self.asm_xsdre),
            'XSDRTDOB': (15, self.asm_xsdrtdob),
            'XSDRTDOC': (16, self.asm_xsdrtdoc),
            'XSDRTDOE': (17, self.asm_xsdrtdoe),
            'XSTATE': (18, self.asm_xstate),
            'XENDIR': (19, self.asm_xendir),
            'XENDDR': (20, self.asm_xenddr),
            'XSIR2': (21, self.asm_xsir2),
            'XCOMMENT': (22, self.asm_xcomment),
            'XWAIT': (23, self.asm_xwait)
        }
        self._state_info = {
            'TEST_LOGIC_RESET': 0,
            'RUN_TEST_IDLE': 1,
            'SELECT_DR_SCAN': 2,
            'CAPTURE_DR': 3,
            'SHIFT_DR': 4,
            'EXIT1_DR': 5,
            'PAUSE_DR': 6,
            'EXIT2_DR': 7,
            'UPDATE_DR': 8,
            'SELECT_IR_SCAN': 9,
            'CAPTURE_IR': 10,
            'SHIFT_IR': 11,
            'EXIT1_IR': 12,
            'PAUSE_IR': 13,
            'EXIT2_IR': 14,
            'UPDATE_IR': 15
        }
        self._arguments = []

    def asm_byte_sequence(self, l):
        for c in l:
            if len(c) == 2:
                b = int(c, base=16)
            else:  # len(c) == 8:
                b = int(c, base=2)
            sys.stdout.write(chr(b))

    def asm_integer(self, s, n):
        # Deal with '0x' prefixed integers
        if len(s) > 2 and s[0] == '0' and (s[1] == 'x' or s[1] == 'X'):
            i = int(s[2:], base=16)
        else:
            i = int(s)
        ret = i
        # Build a list of bytes
        l = []
        n1 = n
        while n1:
            j = i % 256
            l.append(j)
            i >>= 8
            n1 -= 1
        # Output the list reversed (Big Endian)
        n1 = n
        while n1:
            j = l.pop()
            sys.stdout.write(chr(j))
            n1 -= 1
        return ret

    def asm_state(self, state):
        i = self._state_info[state]
        sys.stdout.write(chr(i))

    def asm_xcomplete(self):
        pass

    def asm_xtdomask(self):
        self.asm_byte_sequence(self._arguments[0])

    def asm_xsir(self):
        self.asm_integer(self._arguments[0], 1)
        self.asm_byte_sequence(self._arguments[1])

    def asm_xsdr(self):
        self.asm_byte_sequence(self._arguments[0])

    def asm_xruntest(self):
        self.asm_integer(self._arguments[0], 4)

    def asm_xreserved_5(self):
        pass

    def asm_xreserved_6(self):
        pass

    def asm_xrepeat(self):
        self.asm_integer(self._arguments[0], 1)

    def asm_xsdrsize(self):
        self.asm_integer(self._arguments[0], 4)

    def asm_xsdrtdo(self):
        self.asm_byte_sequence(self._arguments[0])
        self.asm_byte_sequence(self._arguments[1])

    def asm_xsetsdrmasks(self):
        self.asm_byte_sequence(self._arguments[0])
        self.asm_byte_sequence(self._arguments[1])

    def asm_xsdrinc(self):
        self.asm_byte_sequence(self._arguments[0])
        n = self.asm_integer(self._arguments[1], 1)
        j = n
        while j:
            i = n - j
            self.asm_byte_sequence(self._arguments[i+2])
            j -= 1

    def asm_xsdrb(self):
        self.asm_byte_sequence(self._arguments[0])

    def asm_xsdrc(self):
        self.asm_byte_sequence(self._arguments[0])

    def asm_xsdre(self):
        self.asm_byte_sequence(self._arguments[0])

    def asm_xsdrtdob(self):
        self.asm_byte_sequence(self._arguments[0])
        self.asm_byte_sequence(self._arguments[1])

    def asm_xsdrtdoc(self):
        self.asm_byte_sequence(self._arguments[0])
        self.asm_byte_sequence(self._arguments[1])

    def asm_xsdrtdoe(self):
        self.asm_byte_sequence(self._arguments[0])
        self.asm_byte_sequence(self._arguments[1])

    def asm_xstate(self):
        state = str(self._state_info[self._arguments[0]])
        self.asm_integer(state, 1)

    def asm_xendir(self):
        state = self._arguments[0]
        self.asm_integer('0' if state == 'RUN_TEST_IDLE' else '1', 1)

    def asm_xenddr(self):
        state = self._arguments[0]
        self.asm_integer('0' if state == 'RUN_TEST_IDLE' else '1', 1)

    def asm_xsir2(self):
        self.asm_integer(self._arguments[0], 2)
        self.asm_byte_sequence(self._arguments[1])

    def asm_xcomment(self):
        sys.stdout.write(self._arguments[0])
        sys.stdout.write(chr(0))

    def asm_xwait(self):
        self.asm_state(self._arguments[0])
        self.asm_state(self._arguments[1])
        self.asm_integer(self._arguments[2], 4)

    def assemble_tree(self, tree):
        for l in tree:
            instruction = l[0]
            info = self._instruction_info[instruction]
            opcode = info[self.OPCODE]
            asm_funcion = info[self.HANDLER]
            self._arguments = l[1:]
            sys.stdout.write(chr(opcode))
            asm_funcion()
        return True

    def assemble_one_file(self, fd):
        tree = XSVFParser.xsvf_parser.parseFile(fd, parseAll=True)
        return self.assemble_tree(tree)

    def assemble_all_files(self, fd_list):
        ok = True
        for fd in fd_list:
            with fd:
                ok = self.assemble_one_file(fd)
                if not ok:
                    break
        return ok


def main():
    a = XSVFAssembler(None)
    tree = XSVFParser.xsvf_parser.parseString(
        XSVFParser.xsvf_example, parseAll=True)
    a.assemble_tree(tree)
    sys.exit(0)

if __name__ == '__main__':
    main()


================================================
FILE: extras/python/XSVFDecoder.py
================================================
#! /usr/bin/python3
# coding: utf-8

import JTAGTAP


class XSVFDecoder(object):
    """
    Decoder
    """

    # Instruction op codes
    XCOMPLETE = 0
    XTDOMASK = 1
    XSIR = 2
    XSDR = 3
    XRUNTEST = 4
    XRESERVED_5 = 5
    XRESERVED_6 = 6
    XREPEAT = 7
    XSDRSIZE = 8
    XSDRTDO = 9
    XSETSDRMASKS = 10
    XSDRINC = 11
    XSDRB = 12
    XSDRC = 13
    XSDRE = 14
    XSDRTDOB = 15
    XSDRTDOC = 16
    XSDRTDOE = 17
    XSTATE = 18
    XENDIR = 19
    XENDDR = 20
    XSIR2 = 21
    XCOMMENT = 22
    XWAIT = 23

    @staticmethod
    def num_bytes(n):
        return (n + 7) >> 3

    def __init__(self, args):
        self._args = args
        self._error_code = 0
        self._iter_file = None
        #
        self._next_state = 0
        self._sirsize_bits = 0
        self._sirsize_bytes = 0
        self._sdrsize_bits = 0
        self._sdrsize_bytes = 0
        self._length2_bits = 0
        self._length2_bytes = 0
        self._repeat = 0
        self._runtest = 0
        self._endir_state = 0
        self._enddr_state = 0
        self._wait_start_state = 0
        self._wait_end_state = 0
        self._wait_time_usecs = 0
        self._xcomplete = 0

        #
        # uint32_t S_MAX_CHAIN_SIZE_BYTES = 40;
        # uint32_t S_MAX_CHAIN_SIZE_BITS = S_MAX_CHAIN_SIZE_BYTES * 8;
        self._tdi = []
        self._tdo = []
        self._tdo_mask = []
        self._tdo_expected = []
        self._address_mask = []
        self._data_mask = []
        self._xsdrinc_start_address = []
        self._xsdrinc_num_times = 0
        self._xsdrinc_data_list = []
        self._comment = ""
        self._instruction_counter = 0
        self._current_instruction_string = ""

    @property
    def error_code(self):
        return self._error_code

    @error_code.setter
    def error_code(self, value):
        self._error_code = value

    @property
    def next_state(self):
        """The next state to go to."""
        return self._next_state

    @next_state.setter
    def next_state(self, value):
        self._next_state = value

    @property
    def sirsize_bits(self):
        """The number of bits of the next SIR instruction."""
        return self._sirsize_bits

    @sirsize_bits.setter
    def sirsize_bits(self, value):
        self._sirsize_bits = value
        self._sirsize_bytes = XSVFDecoder.num_bytes(value)

    @property
    def sirsize_bytes(self):
        return self._sirsize_bytes

    @property
    def sdrsize_bits(self):
        """The number of bits of the next XSDR instruction."""
        return self._sdrsize_bits

    @sdrsize_bits.setter
    def sdrsize_bits(self, value):
        self._sdrsize_bits = value
        self._sdrsize_bytes = XSVFDecoder.num_bytes(value)

    @property
    def sdrsize_bytes(self):
        return self._sdrsize_bytes

    @property
    def length2_bits(self):
        """The number of bits of the length2 parameter."""
        return self._length2_bits

    @length2_bits.setter
    def length2_bits(self, value):
        self._length2_bits = value
        self._length2_bytes = XSVFDecoder.num_bytes(value)

    @property
    def length2_bytes(self):
        return self._length2_bytes

    @property
    def repeat(self):
        """The number of repetitions of the XREPEAT instruction."""
        return self._repeat

    @repeat.setter
    def repeat(self, value):
        self._repeat = value

    @property
    def runtest(self):
        """The number of repetitions of the XRUNTEST instruction."""
        return self._runtest

    @runtest.setter
    def runtest(self, value):
        self._runtest = value

    @property
    def endir_state(self):
        """Final state of XENDIR instruction."""
        return self._endir_state

    @endir_state.setter
    def endir_state(self, value):
        self._endir_state = value

    @property
    def enddr_state(self):
        """Final state of XENDDR instruction."""
        return self._enddr_state

    @enddr_state.setter
    def enddr_state(self, value):
        self._enddr_state = value

    @property
    def wait_start_state(self):
        """Start state of XWAIT instruction."""
        return self._wait_start_state

    @wait_start_state.setter
    def wait_start_state(self, value):
        self._wait_start_state = value

    @property
    def wait_end_state(self):
        """End state of XWAIT instruction."""
        return self._wait_end_state

    @wait_end_state.setter
    def wait_end_state(self, value):
        self._wait_end_state = value

    @property
    def wait_time_usecs(self):
        """Duration of the XWAIT instruction in microseconds."""
        return self._wait_time_usecs

    @wait_time_usecs.setter
    def wait_time_usecs(self, value):
        self._wait_time_usecs = value

    @property
    def xcomplete(self):
        """True if the XCOMPLETE instruction been executed."""
        return self._xcomplete

    @xcomplete.setter
    def xcomplete(self, value):
        self._xcomplete = value

    @property
    def tdi(self):
        """The TDI sequence to be written"""
        return self._tdi

    @tdi.setter
    def tdi(self, value):
        self._tdi = value

    @tdi.deleter
    def tdi(self):
        del self._tdi

    @property
    def tdo(self):
        """The TDO sequence to be read"""
        return self._tdo

    @tdo.setter
    def tdo(self, value):
        self._tdo = value

    @tdo.deleter
    def tdo(self):
        del self._tdo

    @property
    def tdo_mask(self):
        """The TDO sequence mask"""
        return self._tdo_mask

    @tdo_mask.setter
    def tdo_mask(self, value):
        self._tdo_mask = value

    @tdo_mask.deleter
    def tdo_mask(self):
        del self._tdo_mask

    @property
    def tdo_expected(self):
        """The TDO sequence to be read"""
        return self._tdo_expected

    @tdo_expected.setter
    def tdo_expected(self, value):
        self._tdo_expected = value

    @tdo_expected.deleter
    def tdo_expected(self):
        del self._tdo_expected

    @property
    def address_mask(self):
        """The XSETSDRMASKS address mask"""
        return self._address_mask

    @address_mask.setter
    def address_mask(self, value):
        self._address_mask = value

    @address_mask.deleter
    def address_mask(self):
        del self._address_mask

    @property
    def data_mask(self):
        """The XSETSDRMASKS data mask"""
        return self._data_mask

    @data_mask.setter
    def data_mask(self, value):
        self._data_mask = value

    @data_mask.deleter
    def data_mask(self):
        del self._data_mask

    @property
    def xsdrinc_start_address(self):
        """XSDRINC start address"""
        return self._xsdrinc_start_address

    @xsdrinc_start_address.setter
    def xsdrinc_start_address(self, value):
        self._xsdrinc_start_address = value

    @xsdrinc_start_address.deleter
    def xsdrinc_start_address(self):
        del self._xsdrinc_start_address

    @property
    def xsdrinc_num_times(self):
        """The length of the XSDRINC data list"""
        return self._xsdrinc_num_times

    @xsdrinc_num_times.setter
    def xsdrinc_num_times(self, value):
        self._xsdrinc_num_times = value

    @xsdrinc_num_times.deleter
    def xsdrinc_num_times(self):
        del self._xsdrinc_num_times

    @property
    def xsdrinc_data_list(self):
        return self._xsdrinc_data_list

    @xsdrinc_data_list.setter
    def xsdrinc_data_list(self, value):
        self._xsdrinc_data_list = value

    @xsdrinc_data_list.deleter
    def xsdrinc_data_list(self):
        del self._xsdrinc_data_list

    @property
    def comment(self):
        """The last XCOMMENT read"""
        return self._comment

    @comment.setter
    def comment(self, value):
        self._comment = value

    @comment.deleter
    def comment(self):
        del self._comment

    @property
    def instruction_counter(self):
        """The number of instructions processed."""
        return self._instruction_counter

    @instruction_counter.setter
    def instruction_counter(self, value):
        self._instruction_counter = value

    @property
    def current_instruction_string(self):
        """A string containing the bytes of the current instruction"""
        return self._current_instruction_string

    @current_instruction_string.setter
    def current_instruction_string(self, value):
        self._current_instruction_string = value

    @current_instruction_string.deleter
    def current_instruction_string(self):
        del self._current_instruction_string

    #
    # Decoders
    #

    def decode_xcomplete(self):
        self._xcomplete = True
        return True

    def decode_xtdomask(self):
        self.tdo_mask = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsir(self):
        self.sirsize_bits = self.get_next_byte()
        self.tdi = self.get_next_bytes(self.sirsize_bytes)
        return True

    def decode_xsdr(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xruntest(self):
        self.runtest = self.get_next_long()
        return True

    def decode_xreserved_5(self):
        return True

    def decode_xreserved_6(self):
        return True

    def decode_xrepeat(self):
        self.repeat = self.get_next_byte()
        return True

    def decode_xsdrsize(self):
        self.sdrsize_bits = self.get_next_long()
        return True

    def decode_xsdrtdo(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        self.tdo_expected = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsetsdrmasks(self):
        self.address_mask = self.get_next_bytes(self.sdrsize_bytes)
        self.data_mask = self.get_next_bytes(self.sdrsize_bytes)
        # Count the number of bits '1' in data_mask
        n = 0
        for j in range(self.sdrsize_bytes):
            b = self.data_mask[j]
            for k in range(8):
                if b & 1:
                    n += 1
                b >>= 1
        self.length2_bits = n
        return True

    def decode_xsdrinc(self):
        self.xsdrinc_start_address = self.get_next_bytes(self.sdrsize_bytes)
        self.xsdrinc_num_times = self.get_next_byte()
        n = self.xsdrinc_num_times
        self.xsdrinc_data_list = []
        while n:
            self.xsdrinc_data_list.append(
                self.get_next_bytes(self.length2_bytes))
            n -= 1
        return True

    def decode_xsdrb(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsdrc(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsdre(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsdrtdob(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        self.tdo_expected = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsdrtdoc(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        self.tdo_expected = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xsdrtdoe(self):
        self.tdi = self.get_next_bytes(self.sdrsize_bytes)
        self.tdo_expected = self.get_next_bytes(self.sdrsize_bytes)
        return True

    def decode_xstate(self):
        self.next_state = self.get_next_byte()
        return True

    def decode_xendir(self):
        ret = True
        s = self.get_next_byte()
        if s == 0:
            self.endir_state = JTAGTAP.JTAGTAP.RUN_TEST_IDLE
        elif s == 1:
            self.endir_state = JTAGTAP.JTAGTAP.PAUSE_IR
        else:
            self.error_code = -2
            ret = False
            print("Invalid XENDIR parameter %d" % s)
        return ret

    def decode_xenddr(self):
        ret = True
        s = self.get_next_byte()
        if s == 0:
            self.enddr_state = JTAGTAP.JTAGTAP.RUN_TEST_IDLE
        elif s == 1:
            self.enddr_state = JTAGTAP.JTAGTAP.PAUSE_DR
        else:
            self.error_code = -3
            ret = False
            print("Invalid XENDDR parameter %d" % s)
        return ret

    def decode_xsir2(self):
        self.sirsize_bits = self.get_next_word()
        self.tdi = self.get_next_bytes(self.sirsize_bytes)
        return True

    def decode_xcomment(self):
        while True:
            c = self.get_next_byte()
            if not c:
                break
            self.comment += chr(c)
        return True

    def decode_xwait(self):
        self.wait_start_state = self.get_next_byte()
        self.wait_end_state = self.get_next_byte()
        self.wait_time_usecs = self.get_next_long()
        return True

    #
    _NAME = 0
    _DECODER = 1
    _instruction_data = (
        ('XCOMPLETE',    decode_xcomplete),
        ('XTDOMASK',     decode_xtdomask),
        ('XSIR',         decode_xsir),
        ('XSDR',         decode_xsdr),
        ('XRUNTEST',     decode_xruntest),
        ('XRESERVED_5',  decode_xreserved_5),
        ('XRESERVED_6',  decode_xreserved_6),
        ('XREPEAT',      decode_xrepeat),
        ('XSDRSIZE',     decode_xsdrsize),
        ('XSDRTDO',      decode_xsdrtdo),
        ('XSETSDRMASKS', decode_xsetsdrmasks),
        ('XSDRINC',      decode_xsdrinc),
        ('XSDRB',        decode_xsdrb),
        ('XSDRC',        decode_xsdrc),
        ('XSDRE',        decode_xsdre),
        ('XSDRTDOB',     decode_xsdrtdob),
        ('XSDRTDOC',     decode_xsdrtdoc),
        ('XSDRTDOE',     decode_xsdrtdoe),
        ('XSTATE',       decode_xstate),
        ('XENDIR',       decode_xendir),
        ('XENDDR',       decode_xenddr),
        ('XSIR2',        decode_xsir2),
        ('XCOMMENT',     decode_xcomment),
        ('XWAIT',        decode_xwait),
    )

    @staticmethod
    def instruction_name(instruction):
        return XSVFDecoder._instruction_data[instruction][XSVFDecoder._NAME]

    def instruction_decoder(self, instruction):
        return self._instruction_data[instruction][XSVFDecoder._DECODER](self)

    def instruction_handler(self, instruction):
        pass

    @staticmethod
    def bytes_from_file(fd, chunksize=8192):
        with fd:
            while True:
                chunk = fd.read(chunksize)
                if chunk:
                    for b in chunk:
                        yield b
                else:
                    break

    def private_next_byte(self):
        # return next(self._iter_file)
        # return XSVFDecoder.bytes_from_file(self._current_file)
        b = ord(self._current_file.read(1))
        self.current_instruction_string += '{0:02X} '.format(b)
        return b

    def get_next_byte(self):
        n = self.private_next_byte()
        return n

    def get_next_word(self):
        n = self.private_next_byte() << 8
        n |= self.private_next_byte()
        return n

    def get_next_long(self):
        n = self.private_next_byte() << 24
        n |= self.private_next_byte() << 16
        n |= self.private_next_byte() << 8
        n |= self.private_next_byte()
        return n

    def get_next_bytes(self, n):
        s = []
        while n:
            s.append(self.private_next_byte())
            n -= 1
        return s

    def decode_one_file(self, fd):
        self._xcomplete = False
        self._instruction_counter = 0
        self._iter_file = iter(fd)
        self._current_file = fd
        while not self._xcomplete:
            self.current_instruction_string = ""
            instruction = self.get_next_byte()
            if instruction > self.XWAIT:
                print("Invalid instruction: 0x%02x" % instruction)
                return False
            ok = self.instruction_decoder(instruction)
            if ok:
                self.instruction_handler(instruction)
        return True

    def decode_all_files(self, fd_list):
        ok = True
        for fd in fd_list:
            with fd:
                ok = self.decode_one_file(fd)
                if not ok:
                    break
        return ok


================================================
FILE: extras/python/XSVFDisassembler.py
================================================
#! /usr/bin/python3
# coding: utf-8

#
# example:
# $ ./xsvf -c disasm ../xsvf/XC2C64A/idcode_simpler.xsvf
#

import JTAGTAP
import XSVFDecoder


class XSVFDisassembler(XSVFDecoder.XSVFDecoder):
    """
    XSVF Disassembler
    """
    @staticmethod
    def add_arguments(p):
        """Adds the necessary arguments to the parser."""
        p.add_argument(
            '-n', '--no_bytes',
            action='store_true',
            # type=bool,
            help='Do not output bytes'
                 ' (default=%(default)s)')

    def __init__(self, args):
        XSVFDecoder.XSVFDecoder.__init__(self, args)
        self._args = args
        self._current_instruction = 0
        self._instruction_handlers = (
            self.disasm_xcomplete,
            self.disasm_xtdomask,
            self.disasm_xsir,
            self.disasm_xsdr,
            self.disasm_xruntest,
            self.disasm_xreserved_5,
            self.disasm_xreserved_6,
            self.disasm_xrepeat,
            self.disasm_xsdrsize,
            self.disasm_xsdrtdo,
            self.disasm_xsetsdrmasks,
            self.disasm_xsdrinc,
            self.disasm_xsdrb,
            self.disasm_xsdrc,
            self.disasm_xsdre,
            self.disasm_xsdrtdob,
            self.disasm_xsdrtdoc,
            self.disasm_xsdrtdoe,
            self.disasm_xstate,
            self.disasm_xendir,
            self.disasm_xenddr,
            self.disasm_xsir2,
            self.disasm_xcomment,
            self.disasm_xwait,
        )

    @property
    def current_instruction(self):
        return self._current_instruction

    @current_instruction.setter
    def current_instruction(self, value):
        self._current_instruction = value

    def format_first_part(self, s):
        """
        Breaks the instruction's bytes in lines of 8 bytes.

        :param s: string of bytes

        :return: list of 8 byte strings
        """
        l = []
        while s:
            l.append(s[:24])
            s = s[24:]
        return l

    def return_zeroeth(self, l):
        """
        Returns the zeroeth element of the list, right whitespace stripped,
        but avoid returning None if the result is empty.
        """
        if l:
            l_0 = l[0].rstrip()
        else:
            l_0 = ""
        return l_0

    def format_byte_list(self, l):
        return '    {:s}'.format(' '.join('{0:02X}'.format(x) for x in l))

    def pretty_disasm(self, pars=("",)):
        l1 = self.format_first_part(self.current_instruction_string)
        l2 = list(pars)
        l2[0] = '{:s}{:s}'.format(
            self.instruction_name(self.current_instruction),
            l2[0])
        while l1 or l2:
            l1_0 = self.return_zeroeth(l1)
            l2_0 = self.return_zeroeth(l2)
            if self._args.no_bytes:
                if l2_0:
                    print('{0:s}'.format(l2_0))
            else:
                if l2_0:
                    print('{0:<24}    {1:s}'.format(l1_0, l2_0))
                else:
                    print('{0:s}'.format(l1_0))
            l1 = l1[1:]
            l2 = l2[1:]

    def disasm_xcomplete(self):
        self.pretty_disasm()

    def disasm_xtdomask(self):
        p = (
            '',
            self.format_byte_list(self.tdo_mask)
        )
        self.pretty_disasm(p)

    def disasm_xsir(self):
        p = (
            ' {:d} {:s}'.format(
                self.sirsize_bits,
                self.format_byte_list(self.tdi).strip()),
        )
        self.pretty_disasm(p)

    def disasm_xsdr(self):
        p = (
            '',
            self.format_byte_list(self.tdi)
        )
        self.pretty_disasm(p)

    def disasm_xruntest(self):
        p = (
            ' {:d}'.format(self.runtest),
        )
        self.pretty_disasm(p)

    def disasm_xreserved_5(self):
        self.pretty_disasm()

    def disasm_xreserved_6(self):
        self.pretty_disasm()

    def disasm_xrepeat(self):
        p = (
            ' {:d}'.format(self.repeat),
        )
        self.pretty_disasm(p)

    def disasm_xsdrsize(self):
        p = (
            ' {0}'.format(self.sdrsize_bits),
        )
        self.pretty_disasm(p)

    def disasm_xsdrtdo(self):
        p = (
            '',
            self.format_byte_list(self.tdi) + ',',
            self.format_byte_list(self.tdo_expected)
        )
        self.pretty_disasm(p)

    def disasm_xsetsdrmasks(self):
        p = (
            '',
            self.format_byte_list(self.address_mask) + ',',
            self.format_byte_list(self.data_mask)
        )
        self.pretty_disasm(p)

    def disasm_xsdrinc(self):
        p = [
            '',
            self.format_byte_list(self.xsdrinc_start_address) + ',',
            '    {:d},'.format(self.xsdrinc_num_times)
        ]
        n = self.xsdrinc_num_times
        for l in self.xsdrinc_data_list:
            s = self.format_byte_list(l)
            n -= 1
            # Adds a comma, unless it's the last one
            if n:
                s += ','
            p.append(s)
        self.pretty_disasm(p)

    def disasm_xsdrb(self):
        p = (
            '',
            self.format_byte_list(self.tdi)
        )
        self.pretty_disasm(p)

    def disasm_xsdrc(self):
        p = (
            '',
            self.format_byte_list(self.tdi)
        )
        self.pretty_disasm(p)

    def disasm_xsdre(self):
        p = (
            '',
            self.format_byte_list(self.tdi)
        )
        self.pretty_disasm(p)

    def disasm_xsdrtdob(self):
        p = (
            '',
            self.format_byte_list(self.tdi) + ',',
            self.format_byte_list(self.tdo_expected)
        )
        self.pretty_disasm(p)

    def disasm_xsdrtdoc(self):
        p = (
            '',
            self.format_byte_list(self.tdi) + ',',
            self.format_byte_list(self.tdo_expected)
        )
        self.pretty_disasm(p)

    def disasm_xsdrtdoe(self):
        p = (
            '',
            self.format_byte_list(self.tdi) + ',',
            self.format_byte_list(self.tdo_expected)
        )
        self.pretty_disasm(p)

    def disasm_xstate(self):
        p = (
            ' {:s}'.format(JTAGTAP.JTAGTAP.state_name(self.next_state)),
        )
        self.pretty_disasm(p)

    def disasm_xendir(self):
        p = (
            ' {:s}'.format(JTAGTAP.JTAGTAP.state_name(self.endir_state)),
        )
        self.pretty_disasm(p)

    def disasm_xenddr(self):
        p = (
            ' {:s}'.format(JTAGTAP.JTAGTAP.state_name(self.enddr_state)),
        )
        self.pretty_disasm(p)

    def disasm_xsir2(self):
        p = (
            ' {:d}'.format(self.sirsize_bits),
            self.format_byte_list(self.tdi)
        )
        self.pretty_disasm(p)

    def disasm_xcomment(self):
        p = (
            ' "{:s}"'.format(self.comment),
        )
        self.pretty_disasm(p)

    def disasm_xwait(self):
        p = (
            ' {:s} {:s} {:d}'.format(
                JTAGTAP.JTAGTAP.state_name(self.wait_start_state),
                JTAGTAP.JTAGTAP.state_name(self.wait_end_state),
                self.wait_time_usecs),
        )
        self.pretty_disasm(p)

    #
    def instruction_handler(self, instruction):
        self.current_instruction = instruction
        self._instruction_handlers[instruction]()

    def disasm_all_files(self, fd_list):
        return self.decode_all_files(fd_list)


================================================
FILE: extras/python/XSVFParser.py
================================================
#! /usr/bin/python3
# coding: utf-8

# ./XSVFAssembler.py > test.xsvf
# ./xsvf -c disasm -n test.xsvf > test.xsvf.s
# ./xsvf -c asm test.xsvf.s > test2.xsvf

import pyparsing as pp
import sys

__all__ = ['parse_xsvf_file']

# Comment
asm_comment = pp.Suppress(pp.Group(';' + pp.restOfLine))
optional_asm_comment = pp.Optional(asm_comment)
xcomment_argument = pp.QuotedString(
    quoteChar='"', escQuote='""', multiline=True)

# Hexadecimal integers
zero_ex = pp.Literal('0x') | pp.Literal('0X')
hex_body = pp.Word(pp.hexnums)
hex_number = pp.Combine(zero_ex + hex_body)

hex_byte = pp.Word(pp.hexnums, exact=2)
bin_byte = pp.Word('01', exact=8)
# The order is important here. We must try to match a bin_byte first, otherwise
# '01010101' becomes '01' '01' '01' '01'.
byte_number = bin_byte | hex_byte

# Byte sequences and byte sequence lists
comma = pp.Suppress(pp.Literal(','))
byte_sequence = pp.Group(pp.OneOrMore(byte_number + optional_asm_comment))
byte_sequence_list = \
    byte_sequence + \
    pp.ZeroOrMore(comma + optional_asm_comment +
                  byte_sequence)
# The order is important here. We must try to match '0x1ABCD' to hex first
# otherwise it will become '0' 'x'.
integer = hex_number | pp.Word(pp.nums)

# JTAG TAP States
test_logic_reset = pp.Keyword('TEST_LOGIC_RESET')
run_test_idle = pp.Keyword('RUN_TEST_IDLE')
select_dr_scan = pp.Keyword('SELECT_DR_SCAN')
capture_dr = pp.Keyword('CAPTURE_DR')
shift_dr = pp.Keyword('SHIFT_DR')
exit1_dr = pp.Keyword('EXIT1_DR')
pause_dr = pp.Keyword('PAUSE_DR')
exit2_dr = pp.Keyword('EXIT2_DR')
update_dr = pp.Keyword('UPDATE_DR')
select_ir_scan = pp.Keyword('SELECT_IR_SCAN')
capture_ir = pp.Keyword('CAPTURE_IR')
shift_ir = pp.Keyword('SHIFT_IR')
exit1_ir = pp.Keyword('EXIT1_IR')
pause_ir = pp.Keyword('PAUSE_IR')
exit2_ir = pp.Keyword('EXIT2_IR')
update_ir = pp.Keyword('UPDATE_IR')

state = (
    test_logic_reset |
    run_test_idle |
    select_dr_scan |
    capture_dr |
    shift_dr |
    exit1_dr |
    pause_dr |
    exit2_dr |
    update_dr |
    select_ir_scan |
    capture_ir |
    shift_ir |
    exit1_ir |
    pause_ir |
    exit2_ir |
    update_ir
)

# Instructions
xcomplete = pp.Group(pp.Keyword('XCOMPLETE'))
xtdomask = pp.Group(pp.Keyword('XTDOMASK') + optional_asm_comment +
                    byte_sequence)
xsir = pp.Group(pp.Keyword('XSIR') + optional_asm_comment +
                integer + optional_asm_comment +
                byte_sequence)
xsdr = pp.Group(pp.Keyword('XSDR') + optional_asm_comment +
                byte_sequence)
xruntest = pp.Group(pp.Keyword('XRUNTEST') + optional_asm_comment +
                    integer)
xreserved_5 = pp.Group(pp.Keyword('XRESERVED_5'))
xreserved_6 = pp.Group(pp.Keyword('XRESERVED_6'))
xrepeat = pp.Group(pp.Keyword('XREPEAT') + optional_asm_comment +
                   integer)
xsdrsize = pp.Group(pp.Keyword('XSDRSIZE') + optional_asm_comment +
                    integer)
xsdrtdo = pp.Group(pp.Keyword('XSDRTDO') +
                   byte_sequence + optional_asm_comment +
                   comma + optional_asm_comment +
                   byte_sequence)
xsetsdrmasks = pp.Group(pp.Keyword('XSETSDRMASKS') + optional_asm_comment +
                        byte_sequence + optional_asm_comment +
                        comma + optional_asm_comment +
                        byte_sequence)
xsdrinc = pp.Group(pp.Keyword('XSDRINC') + optional_asm_comment +
                   byte_sequence + optional_asm_comment +
                   comma + optional_asm_comment +
                   integer + optional_asm_comment +
                   comma + optional_asm_comment +
                   byte_sequence_list)
xsdrb = pp.Group(pp.Keyword('XSDRB') + optional_asm_comment +
                 byte_sequence)
xsdrc = pp.Group(pp.Keyword('XSDRC') + optional_asm_comment +
                 byte_sequence)
xsdre = pp.Group(pp.Keyword('XSDRE') + optional_asm_comment +
                 byte_sequence)
xsdrtdob = pp.Group(pp.Keyword('XSDRTDOB') + optional_asm_comment +
                    byte_sequence + optional_asm_comment +
                    comma + optional_asm_comment +
                    byte_sequence)
xsdrtdoc = pp.Group(pp.Keyword('XSDRTDOC') + optional_asm_comment +
                    byte_sequence + optional_asm_comment +
                    comma + optional_asm_comment +
                    byte_sequence)
xsdrtdoe = pp.Group(pp.Keyword('XSDRTDOE') + optional_asm_comment +
                    byte_sequence + optional_asm_comment +
                    comma + optional_asm_comment +
                    byte_sequence)
xstate = pp.Group(pp.Keyword('XSTATE') + optional_asm_comment +
                  state)
xendir = pp.Group(pp.Keyword('XENDIR') + optional_asm_comment +
                  (run_test_idle | pause_ir))
xenddr = pp.Group(pp.Keyword('XENDDR') + optional_asm_comment +
                  (run_test_idle | pause_dr))
xsir2 = pp.Group(pp.Keyword('XSIR2') + optional_asm_comment +
                 integer + optional_asm_comment +
                 byte_sequence)
xcomment = pp.Group(pp.Keyword('XCOMMENT') + optional_asm_comment +
                    xcomment_argument)
xwait = pp.Group(pp.Keyword('XWAIT') + optional_asm_comment +
                 state + optional_asm_comment +
                 state + optional_asm_comment +
                 integer)

instruction = (
    xcomplete |
    xtdomask |
    xsir |
    xsdr |
    xruntest |
    xreserved_5 |
    xreserved_6 |
    xrepeat |
    xsdrsize |
    xsdrtdo |
    xsetsdrmasks |
    xsdrinc |
    xsdrb |
    xsdrc |
    xsdre |
    xsdrtdob |
    xsdrtdoc |
    xsdrtdoe |
    xstate |
    xendir |
    xenddr |
    xsir2 |
    xcomment |
    xwait
)

# Line
line = asm_comment | (instruction + optional_asm_comment)

# File
xsvf_parser = pp.OneOrMore(line)


def parse_xsvf_file(f):
    return xsvf_parser.parseFile(f, parseAll=True)


xsvf_example = """
; XSVF Assembly language example file
;
; All XSVF instructions are used here

XSDRSIZE 48 ; XSDRSIZE must be set for the decoder/disassembler to work
            ; properly.
XTDOMASK    ; Comment test
        00 00 00 00 00 00
XSIR 8 00   ; Comment test
XSDR        ; Comment test
        00 00 00 00 00 00 ; Comment test
XRUNTEST 70
XRESERVED_5
XRESERVED_6
XREPEAT 0x20
XSDRTDO
        FF FF FF FF FF FF ; Comment test
        ,                 ; Comment test
        00 00 00 00 00 00 ; Comment test
XSETSDRMASKS
        00 00 00 00 00 00,
        FF FF FF FF FF FF
XSDRINC                     ; Comment test
        01010101            ; Comment test in the middle of byte_squence
        FF                  ; Comment test in the middle of byte_squence
        10101010 FF 01010101 FF ; Comment test
        ,                   ; Comment test after comma
        5,                  ; Comment test
        00 00 00 00 00 00,  ; Comment test
        FF FF FF FF FF FF,  ; Comment test
        00 00 00 00 00 00,  ; Comment test
        FF FF FF FF FF FF,  ; Comment test
        00 00 00 00 00 00   ; Comment test
XSDRB
        FF FF FF FF FF FF
XSDRC
        FF FF FF FF FF FF
XSDRE
        FF FF FF FF FF FF
XSDRTDOB
        FF FF FF FF FF FF,
        00 00 00 00 00 00
XSDRTDOC
        FF FF FF FF FF FF,
        00 00 00 00 00 00
XSDRTDOE
        FF FF FF FF FF FF,
        00 00 00 00 00 00
XSTATE ; Comment test
       TEST_LOGIC_RESET
XSTATE RUN_TEST_IDLE
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE SHIFT_DR
XSTATE EXIT1_DR
XSTATE PAUSE_DR
XSTATE EXIT2_DR
XSTATE UPDATE_DR
XSTATE SELECT_IR_SCAN
XSTATE CAPTURE_IR
XSTATE SHIFT_IR
XSTATE EXIT1_IR
XSTATE PAUSE_IR
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XENDIR RUN_TEST_IDLE
XENDIR PAUSE_IR
XENDDR RUN_TEST_IDLE
XENDDR PAUSE_DR
XSIR2 48
        00 00 00 00 00 00
XCOMMENT ; Comment test
    "adsf f sda asdf sdaf asdf sadf
    qwer qwer qwer qwer
    zxcv zvcx zxcv c"   ; Comment test
; Comment test
XWAIT                   ; Comment test
    TEST_LOGIC_RESET    ; Comment test
    RUN_TEST_IDLE       ; Comment test
    100                 ; Comment test
XCOMPLETE"""


def main():
    print(xsvf_parser.parseString(xsvf_example, parseAll=True))
    sys.exit(0)


if __name__ == '__main__':
    main()


================================================
FILE: extras/python/asm_disasm_test.sh
================================================
#! /bin/bash
./XSVFAssembler.py > test.xsvf
./xsvf -c disasm -n test.xsvf > test.xsvf.s
./xsvf -c asm test.xsvf.s > test2.xsvf
sha1sum test*.xsvf



================================================
FILE: extras/python/xsvf
================================================
#! /usr/bin/python3
# coding: utf-8

import argparse
import XSVFAssembler
import XSVFDisassembler
import sys
import Uploader

my_parser = argparse.ArgumentParser(
    description='XSVF file processor.',
    epilog='Parameters can be in a file, one per line, using @"file name"',
    fromfile_prefix_chars='@')
my_parser.add_argument(
    '-c', '--command',
    type=str,
    choices=['upload', 'disasm', 'asm'],
    default='upload',
    help='command to execute.'
         ' (default=%(default)s)')
my_parser.add_argument(
    'fileName',
    nargs='+',
    type=argparse.FileType('rb'),
    help='XSVF file names.'
         ' (type %(type)s)')
my_parser.add_argument(
    '-v', '--version',
    action='version',
    version='%(prog)s version 1.0.0')
my_parser.add_argument(
    '-d', '--debug',
    default=2,
    type=int,
    help='Debug verbosity'
         ' (type %(type)s, default=%(default)s)')


def main():
    error_code = -1
    Uploader.Uploader.add_arguments(my_parser)
    XSVFDisassembler.XSVFDisassembler.add_arguments(my_parser)
    args = my_parser.parse_args()
    if args.command == 'upload':
        u = Uploader.Uploader(args)
        u.upload_all_files(args.fileName)
        error_code = u.error_code
    elif args.command == 'disasm':
        d = XSVFDisassembler.XSVFDisassembler(args)
        error_code = d.disasm_all_files(args.fileName)
    elif args.command == 'asm':
        a = XSVFAssembler.XSVFAssembler(args)
        error_code = a.assemble_all_files(args.fileName)
    sys.exit(error_code)

if __name__ == '__main__':
    main()


================================================
FILE: extras/xsvf/XC2C64A/VHDL-CPLDIntro3LEDinverse.xsvf.s
================================================
XREPEAT 0
XENDIR RUN_TEST_IDLE
XENDDR RUN_TEST_IDLE
XSTATE TEST_LOGIC_RESET
XSTATE RUN_TEST_IDLE
XSIR 8 01
XSDRSIZE 32
XTDOMASK
    0F FF 8F FF
XRUNTEST 0
XSDRTDO
    00 00 00 00,
    F6 E5 F0 93
XSIR 8 FF
XSIR 8 01
XSDRTDO
    00 00 00 00,
    F6 E5 F0 93
XSIR 8 FF
XSIR 8 E8
XENDIR PAUSE_IR
XSIR 8 ED
XENDIR RUN_TEST_IDLE
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE EXIT1_DR
XSTATE PAUSE_DR
XWAIT PAUSE_DR PAUSE_DR 20
XSTATE EXIT2_DR
XSTATE UPDATE_DR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100000
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE EXIT1_DR
XSTATE PAUSE_DR
XWAIT PAUSE_DR PAUSE_DR 5000
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 1
XENDIR PAUSE_IR
XSIR 8 F0
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 20
XENDIR PAUSE_IR
XSIR 8 F0
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE EXIT1_DR
XSTATE UPDATE_DR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 800
XENDIR RUN_TEST_IDLE
XSIR 8 C0
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 C0
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 E8
XENDIR PAUSE_IR
XSIR 8 EA
XSDRSIZE 281
XTDOMASK
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XSDRTDO
    00 03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XENDIR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 02 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7D,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 82 05 FF FF EF FF FF FF FF FF FF FF FF FF FF FF F9 9E 7F FF FF FF FF FF FF FF FF FF FF FF FF BF FF FE 81,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 83 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 C3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 C0 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 43 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 43 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 60 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 63 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 E3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 E0 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 A3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 A3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 20 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 23 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 33 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 30 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 B3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 B3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 F0 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 F3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 73 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 70 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF E2 47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 53 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 53 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 D0 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 D3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 93 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 90 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 13 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 13 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 18 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 1B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 9B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 98 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 DB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 DB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 58 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 5B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 7B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 78 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 FB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 FB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 B8 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 BB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 3B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 38 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 2B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 2B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 A8 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 AB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 EB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 E8 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 6B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 6B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 48 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 4B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 CB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 C8 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 8B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 8B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 08 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 0B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 0F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 0C 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 8F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 8F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 CC F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 CF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 4F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 4C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 6F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 6F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 EC F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 EF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 AF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 AC 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 2F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 2F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 3C 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 3F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 BF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 BC 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 FF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 FF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 7C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 7F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 5F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 5C 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 DF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 DE E1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 9C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 9F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 1F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 1C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    00 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSDRTDO
    01 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XENDIR PAUSE_IR
XSIR 8 F0
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 20
XENDIR PAUSE_IR
XSIR 8 F0
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE EXIT1_DR
XSTATE UPDATE_DR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 800
XENDIR RUN_TEST_IDLE
XSIR 8 C0
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 C0
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 E8
XSIR 8 E8
XENDIR PAUSE_IR
XSIR 8 EE
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    00,
    00
XENDIR RUN_TEST_IDLE
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    40,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    02 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7D
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    60,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    02 05 FF FF EF FF FF FF FF FF FF FF FF FF FF FF F9 9E 7F FF FF FF FF FF FF FF FF FF FF FF FF BF FF FE 81
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    20,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    30,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    70,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    50,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    10,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    18,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    58,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    78,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    38,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    28,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    68,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    48,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    08,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    0C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    4C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    6C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    2C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    3C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    7C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    5C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    1C,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 1F F8 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF E2 47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    14,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 1F 80 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    54,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    74,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    34,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    24,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    64,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    44,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    04,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    06,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    46,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    66,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    26,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    36,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    76,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    56,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    16,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    1E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    5E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    7E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    3E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    2E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    6E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    4E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    0E,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    0A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    4A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    6A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    2A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    3A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    7A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    5A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    1A,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    12,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    52,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    72,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    32,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    22,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    62,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    42,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    02,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    03,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    43,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    63,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    23,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    33,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    73,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    53,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    13,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    1B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    5B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 07 80 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    7B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    3B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 00 00 00 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    2B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    6B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    4B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    0B,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    0F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    4F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    6F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    2F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    3F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    7F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    5F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    1F,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    17,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    57,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    77,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    37,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    02 E1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    27,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    67,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    47,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    03 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    07,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    05,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XENDDR PAUSE_DR
XSDRSIZE 7
XTDOMASK
    00
XSDRTDO
    45,
    00
XWAIT PAUSE_DR PAUSE_DR 20
XENDDR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSDRSIZE 274
XTDOMASK
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XSDRTDO
    03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 F0
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 20
XENDIR PAUSE_IR
XSIR 8 F0
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE EXIT1_DR
XSTATE UPDATE_DR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 800
XENDIR RUN_TEST_IDLE
XSIR 8 C0
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 E8
XENDIR PAUSE_IR
XSIR 8 EA
XSDRSIZE 281
XTDOMASK
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XSDRTDO
    00 17 FD FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
XENDIR RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
XSIR 8 F0
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 20
XENDIR PAUSE_IR
XSIR 8 F0
XSTATE EXIT2_IR
XSTATE UPDATE_IR
XSTATE SELECT_DR_SCAN
XSTATE CAPTURE_DR
XSTATE EXIT1_DR
XSTATE UPDATE_DR
XSTATE RUN_TEST_IDLE
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 800
XENDIR RUN_TEST_IDLE
XSIR 8 C0
XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
XSIR 8 01
XSDRSIZE 32
XTDOMASK
    0F FF 8F FF
XSDRTDO
    00 00 00 00,
    F6 E5 F0 93
XSIR 8 FF
XREPEAT 0
XREPEAT 32
XSTATE TEST_LOGIC_RESET
XSTATE RUN_TEST_IDLE
XRUNTEST 0
XSIR 8 FF
XSDRSIZE 1
XTDOMASK
    00
XSDRTDO
    00,
    00
XCOMPLETE


================================================
FILE: extras/xsvf/XC2C64A/VHDL-CPLDIntro3LEDinverse.xsvf.txt
================================================
07 00                       XREPEAT 0
13 00                       XENDIR RUN_TEST_IDLE
14 00                       XENDDR RUN_TEST_IDLE
12 00                       XSTATE TEST_LOGIC_RESET
12 01                       XSTATE RUN_TEST_IDLE
02 08 01                    XSIR 8 01
08 00 00 00 20              XSDRSIZE 32
01 0F FF 8F FF              XTDOMASK
                                0F FF 8F FF
04 00 00 00 00              XRUNTEST 0
09 00 00 00 00 F6 E5 F0     XSDRTDO
93                              00 00 00 00,
                                F6 E5 F0 93
02 08 FF                    XSIR 8 FF
02 08 01                    XSIR 8 01
09 00 00 00 00 F6 E5 F0     XSDRTDO
93                              00 00 00 00,
                                F6 E5 F0 93
02 08 FF                    XSIR 8 FF
02 08 E8                    XSIR 8 E8
13 01                       XENDIR PAUSE_IR
02 08 ED                    XSIR 8 ED
13 00                       XENDIR RUN_TEST_IDLE
12 0E                       XSTATE EXIT2_IR
12 0F                       XSTATE UPDATE_IR
12 02                       XSTATE SELECT_DR_SCAN
12 03                       XSTATE CAPTURE_DR
12 05                       XSTATE EXIT1_DR
12 06                       XSTATE PAUSE_DR
17 06 06 00 00 00 14        XWAIT PAUSE_DR PAUSE_DR 20
12 07                       XSTATE EXIT2_DR
12 08                       XSTATE UPDATE_DR
12 01                       XSTATE RUN_TEST_IDLE
17 01 01 00 01 86 A0        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100000
12 02                       XSTATE SELECT_DR_SCAN
12 03                       XSTATE CAPTURE_DR
12 05                       XSTATE EXIT1_DR
12 06                       XSTATE PAUSE_DR
17 06 06 00 00 13 88        XWAIT PAUSE_DR PAUSE_DR 5000
17 01 01 00 00 00 01        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 1
13 01                       XENDIR PAUSE_IR
02 08 F0                    XSIR 8 F0
12 0E                       XSTATE EXIT2_IR
12 0F                       XSTATE UPDATE_IR
12 01                       XSTATE RUN_TEST_IDLE
17 01 01 00 00 00 14        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 20
13 01                       XENDIR PAUSE_IR
02 08 F0                    XSIR 8 F0
12 0E                       XSTATE EXIT2_IR
12 0F                       XSTATE UPDATE_IR
12 02                       XSTATE SELECT_DR_SCAN
12 03                       XSTATE CAPTURE_DR
12 05                       XSTATE EXIT1_DR
12 08                       XSTATE UPDATE_DR
12 01                       XSTATE RUN_TEST_IDLE
17 01 01 00 00 03 20        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 800
13 00                       XENDIR RUN_TEST_IDLE
02 08 C0                    XSIR 8 C0
17 01 01 00 00 00 64        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
02 08 C0                    XSIR 8 C0
17 01 01 00 00 00 64        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
02 08 E8                    XSIR 8 E8
13 01                       XENDIR PAUSE_IR
02 08 EA                    XSIR 8 EA
08 00 00 01 19              XSDRSIZE 281
01 00 00 00 00 00 00 00     XTDOMASK
00 00 00 00 00 00 00 00         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00
09 00 03 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 03 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
13 00                       XENDIR RUN_TEST_IDLE
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 02 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 02 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7D,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7D 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 82 05 FF FF EF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 82 05 FF FF EF FF FF FF FF FF FF FF FF FF FF FF F9 9E 7F FF FF FF FF FF FF FF FF FF FF FF FF BF FF FE 81,
FF FF F9 9E 7F FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF BF FF FE 81 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 83 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 83 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 C3 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 C3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 C0 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 C0 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 43 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 43 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 43 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 43 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 60 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 60 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 63 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 63 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 E3 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 E3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 E0 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 E0 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 A3 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 A3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 A3 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 A3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 20 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 20 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 23 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 23 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 33 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 33 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 30 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 30 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 B3 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 B3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 B3 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 B3 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 F0 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 F0 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 F3 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 F3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 73 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 73 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 70 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 70 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF E2 47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF E2 47 FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 53 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 53 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 53 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 53 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 D0 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 D0 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 D3 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 D3 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 93 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 93 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 90 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 90 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 13 C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 13 C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 13 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 13 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 18 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 18 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 1B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 1B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 9B F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 9B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 98 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 98 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 DB C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 DB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 DB F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 DB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 58 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 58 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 5B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 5B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 7B F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 7B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 78 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 78 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 FB C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 FB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 FB F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 FB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 B8 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 B8 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 BB C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 BB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 3B F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 3B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 38 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 38 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 2B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 2B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 2B F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 2B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 A8 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 A8 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 AB C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 AB C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 EB F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 EB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 E8 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 E8 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 6B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 6B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 6B F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 6B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 48 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 48 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 4B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 4B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 CB F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 CB F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 C8 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 C8 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 8B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 8B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 8B F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 8B F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 08 F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 08 F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 0B C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 0B C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 0F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 0F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 0C 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 0C 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 8F C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 8F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 8F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 8F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 CC F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 CC F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 CF C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 CF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 4F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 4F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 4C F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 4C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 6F C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 6F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 6F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 6F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF F9 FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 EC F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 EC F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 EF C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 EF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 AF F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 AF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 AC 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 AC 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 2F C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 2F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 2F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 2F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 3C 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 3C 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 3F C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 3F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 BF F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 BF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 BC 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 BC 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 FF C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 FF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 FF F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 FF F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 7C F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 7C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 7F C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 7F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 5F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 5F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 5C 79 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 5C 79 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 DF C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 DF C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 DE E1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 DE E1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 9C F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 9C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 78,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 78 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 9F C1 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 9F C1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 0F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 0F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 1F F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 1F F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7F,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7F 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 1C F9 FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 1C F9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 7C,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FE 7C 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 00 17 FF FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         00 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FF FF 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
09 01 17 FF FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         01 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF,
FF FF FF FF FF FF FF FF         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF
FF FF FF FF FF 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00
17 01 01 00 00 27 10        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 10000
13 01                       XENDIR PAUSE_IR
02 08 F0                    XSIR 8 F0
12 0E                       XSTATE EXIT2_IR
12 0F                       XSTATE UPDATE_IR
12 01                       XSTATE RUN_TEST_IDLE
17 01 01 00 00 00 14        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 20
13 01                       XENDIR PAUSE_IR
02 08 F0                    XSIR 8 F0
12 0E                       XSTATE EXIT2_IR
12 0F                       XSTATE UPDATE_IR
12 02                       XSTATE SELECT_DR_SCAN
12 03                       XSTATE CAPTURE_DR
12 05                       XSTATE EXIT1_DR
12 08                       XSTATE UPDATE_DR
12 01                       XSTATE RUN_TEST_IDLE
17 01 01 00 00 03 20        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 800
13 00                       XENDIR RUN_TEST_IDLE
02 08 C0                    XSIR 8 C0
17 01 01 00 00 00 64        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
02 08 C0                    XSIR 8 C0
17 01 01 00 00 00 64        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
02 08 E8                    XSIR 8 E8
02 08 E8                    XSIR 8 E8
13 01                       XENDIR PAUSE_IR
02 08 EE                    XSIR 8 EE
14 01                       XENDDR PAUSE_DR
08 00 00 00 07              XSDRSIZE 7
01 00                       XTDOMASK
                                00
09 00 00                    XSDRTDO
                                00,
                                00
13 00                       XENDIR RUN_TEST_IDLE
17 06 06 00 00 00 14        XWAIT PAUSE_DR PAUSE_DR 20
14 00                       XENDDR RUN_TEST_IDLE
17 01 01 00 00 00 64        XWAIT RUN_TEST_IDLE RUN_TEST_IDLE 100
08 00 00 01 12              XSDRSIZE 274
01 03 FF FF FF FF FF FF     XTDOMASK
FF FF FF FF FF FF FF FF         03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF
FF FF FF FF
09 03 FF FF FF FF FF FF     XSDRTDO
FF FF FF FF FF FF FF FF         03 FF FF FF FF FF FF FF FF FF FF FF FF FF 
Download .txt
gitextract_puf82wr0/

├── .gitignore
├── LICENSE
├── README.md
├── examples/
│   └── JTAGTest/
│       └── JTAGTest.ino
├── extras/
│   ├── python/
│   │   ├── JTAGTAP.py
│   │   ├── Uploader.py
│   │   ├── XSVFAssembler.py
│   │   ├── XSVFDecoder.py
│   │   ├── XSVFDisassembler.py
│   │   ├── XSVFParser.py
│   │   ├── asm_disasm_test.sh
│   │   └── xsvf
│   └── xsvf/
│       ├── XC2C64A/
│       │   ├── VHDL-CPLDIntro3LEDinverse.xsvf
│       │   ├── VHDL-CPLDIntro3LEDinverse.xsvf.s
│       │   ├── VHDL-CPLDIntro3LEDinverse.xsvf.txt
│       │   ├── blank_check.xsvf
│       │   ├── erase.svf
│       │   ├── erase.xsvf
│       │   ├── erase.xsvf.txt
│       │   ├── idcode.svf
│       │   ├── idcode.xsvf
│       │   ├── idcode.xsvf.txt
│       │   ├── idcode_simpler.xsvf.txt
│       │   ├── instruction_test.xsvf.s
│       │   └── light_LED.xsvf
│       ├── XC9572XL/
│       │   ├── AlternateLEDsOnButton.xsvf
│       │   ├── DeviceID.txt
│       │   ├── DeviceID.xsvf
│       │   └── ProgramButtonLED.xsvf
│       └── all/
│           ├── idcode_simpler.xsvf
│           └── idcode_simpler.xsvf.s
├── keywords.txt
├── lib/
│   └── readme.txt
├── library.properties
├── platformio.ini
└── src/
    ├── ArduinoPin.cpp
    ├── ArduinoPin.h
    ├── JTAG.h
    ├── JTAGPort.cpp
    ├── JTAGPort.h
    ├── JTAGPortAVR.cpp
    ├── JTAGPortAVR.h
    ├── JTAGPortArduino.cpp
    ├── JTAGPortArduino.h
    ├── JTAGTAP.cpp
    ├── JTAGTAP.h
    ├── PlayXSVF.cpp
    ├── PlayXSVF.h
    ├── PlayXSVFJTAGAVR.cpp
    ├── PlayXSVFJTAGAVR.h
    ├── PlayXSVFJTAGArduino.cpp
    ├── PlayXSVFJTAGArduino.h
    ├── SerialComm.cpp
    ├── SerialComm.h
    ├── XSVFPlayer.cpp
    ├── XSVFPlayer.h
    ├── XSVFPlayerJTAG.cpp
    └── XSVFPlayerJTAG.h
Download .txt
SYMBOL INDEX (222 symbols across 19 files)

FILE: extras/python/JTAGTAP.py
  class JTAGTAP (line 4) | class JTAGTAP(object):
    method state_name (line 48) | def state_name(n):

FILE: extras/python/Uploader.py
  class Uploader (line 16) | class Uploader(object):
    method add_arguments (line 26) | def add_arguments(p):
    method __init__ (line 42) | def __init__(self, args):
    method error_code (line 57) | def error_code(self):
    method error_code (line 61) | def error_code(self, value):
    method reset_arduino (line 64) | def reset_arduino(self):
    method print_lf (line 73) | def print_lf(self):
    method initialize_hashes (line 78) | def initialize_hashes(self):
    method update_hashes (line 81) | def update_hashes(self, s):
    method print_hashes (line 85) | def print_hashes(self):
    method upload_one_file (line 93) | def upload_one_file(self, fd):
    method upload_all_files (line 146) | def upload_all_files(self, fd_list):

FILE: extras/python/XSVFAssembler.py
  class XSVFAssembler (line 15) | class XSVFAssembler(object):
    method __init__ (line 22) | def __init__(self, args):
    method asm_byte_sequence (line 70) | def asm_byte_sequence(self, l):
    method asm_integer (line 78) | def asm_integer(self, s, n):
    method asm_state (line 101) | def asm_state(self, state):
    method asm_xcomplete (line 105) | def asm_xcomplete(self):
    method asm_xtdomask (line 108) | def asm_xtdomask(self):
    method asm_xsir (line 111) | def asm_xsir(self):
    method asm_xsdr (line 115) | def asm_xsdr(self):
    method asm_xruntest (line 118) | def asm_xruntest(self):
    method asm_xreserved_5 (line 121) | def asm_xreserved_5(self):
    method asm_xreserved_6 (line 124) | def asm_xreserved_6(self):
    method asm_xrepeat (line 127) | def asm_xrepeat(self):
    method asm_xsdrsize (line 130) | def asm_xsdrsize(self):
    method asm_xsdrtdo (line 133) | def asm_xsdrtdo(self):
    method asm_xsetsdrmasks (line 137) | def asm_xsetsdrmasks(self):
    method asm_xsdrinc (line 141) | def asm_xsdrinc(self):
    method asm_xsdrb (line 150) | def asm_xsdrb(self):
    method asm_xsdrc (line 153) | def asm_xsdrc(self):
    method asm_xsdre (line 156) | def asm_xsdre(self):
    method asm_xsdrtdob (line 159) | def asm_xsdrtdob(self):
    method asm_xsdrtdoc (line 163) | def asm_xsdrtdoc(self):
    method asm_xsdrtdoe (line 167) | def asm_xsdrtdoe(self):
    method asm_xstate (line 171) | def asm_xstate(self):
    method asm_xendir (line 175) | def asm_xendir(self):
    method asm_xenddr (line 179) | def asm_xenddr(self):
    method asm_xsir2 (line 183) | def asm_xsir2(self):
    method asm_xcomment (line 187) | def asm_xcomment(self):
    method asm_xwait (line 191) | def asm_xwait(self):
    method assemble_tree (line 196) | def assemble_tree(self, tree):
    method assemble_one_file (line 207) | def assemble_one_file(self, fd):
    method assemble_all_files (line 211) | def assemble_all_files(self, fd_list):
  function main (line 221) | def main():

FILE: extras/python/XSVFDecoder.py
  class XSVFDecoder (line 7) | class XSVFDecoder(object):
    method num_bytes (line 39) | def num_bytes(n):
    method __init__ (line 42) | def __init__(self, args):
    method error_code (line 80) | def error_code(self):
    method error_code (line 84) | def error_code(self, value):
    method next_state (line 88) | def next_state(self):
    method next_state (line 93) | def next_state(self, value):
    method sirsize_bits (line 97) | def sirsize_bits(self):
    method sirsize_bits (line 102) | def sirsize_bits(self, value):
    method sirsize_bytes (line 107) | def sirsize_bytes(self):
    method sdrsize_bits (line 111) | def sdrsize_bits(self):
    method sdrsize_bits (line 116) | def sdrsize_bits(self, value):
    method sdrsize_bytes (line 121) | def sdrsize_bytes(self):
    method length2_bits (line 125) | def length2_bits(self):
    method length2_bits (line 130) | def length2_bits(self, value):
    method length2_bytes (line 135) | def length2_bytes(self):
    method repeat (line 139) | def repeat(self):
    method repeat (line 144) | def repeat(self, value):
    method runtest (line 148) | def runtest(self):
    method runtest (line 153) | def runtest(self, value):
    method endir_state (line 157) | def endir_state(self):
    method endir_state (line 162) | def endir_state(self, value):
    method enddr_state (line 166) | def enddr_state(self):
    method enddr_state (line 171) | def enddr_state(self, value):
    method wait_start_state (line 175) | def wait_start_state(self):
    method wait_start_state (line 180) | def wait_start_state(self, value):
    method wait_end_state (line 184) | def wait_end_state(self):
    method wait_end_state (line 189) | def wait_end_state(self, value):
    method wait_time_usecs (line 193) | def wait_time_usecs(self):
    method wait_time_usecs (line 198) | def wait_time_usecs(self, value):
    method xcomplete (line 202) | def xcomplete(self):
    method xcomplete (line 207) | def xcomplete(self, value):
    method tdi (line 211) | def tdi(self):
    method tdi (line 216) | def tdi(self, value):
    method tdi (line 220) | def tdi(self):
    method tdo (line 224) | def tdo(self):
    method tdo (line 229) | def tdo(self, value):
    method tdo (line 233) | def tdo(self):
    method tdo_mask (line 237) | def tdo_mask(self):
    method tdo_mask (line 242) | def tdo_mask(self, value):
    method tdo_mask (line 246) | def tdo_mask(self):
    method tdo_expected (line 250) | def tdo_expected(self):
    method tdo_expected (line 255) | def tdo_expected(self, value):
    method tdo_expected (line 259) | def tdo_expected(self):
    method address_mask (line 263) | def address_mask(self):
    method address_mask (line 268) | def address_mask(self, value):
    method address_mask (line 272) | def address_mask(self):
    method data_mask (line 276) | def data_mask(self):
    method data_mask (line 281) | def data_mask(self, value):
    method data_mask (line 285) | def data_mask(self):
    method xsdrinc_start_address (line 289) | def xsdrinc_start_address(self):
    method xsdrinc_start_address (line 294) | def xsdrinc_start_address(self, value):
    method xsdrinc_start_address (line 298) | def xsdrinc_start_address(self):
    method xsdrinc_num_times (line 302) | def xsdrinc_num_times(self):
    method xsdrinc_num_times (line 307) | def xsdrinc_num_times(self, value):
    method xsdrinc_num_times (line 311) | def xsdrinc_num_times(self):
    method xsdrinc_data_list (line 315) | def xsdrinc_data_list(self):
    method xsdrinc_data_list (line 319) | def xsdrinc_data_list(self, value):
    method xsdrinc_data_list (line 323) | def xsdrinc_data_list(self):
    method comment (line 327) | def comment(self):
    method comment (line 332) | def comment(self, value):
    method comment (line 336) | def comment(self):
    method instruction_counter (line 340) | def instruction_counter(self):
    method instruction_counter (line 345) | def instruction_counter(self, value):
    method current_instruction_string (line 349) | def current_instruction_string(self):
    method current_instruction_string (line 354) | def current_instruction_string(self, value):
    method current_instruction_string (line 358) | def current_instruction_string(self):
    method decode_xcomplete (line 365) | def decode_xcomplete(self):
    method decode_xtdomask (line 369) | def decode_xtdomask(self):
    method decode_xsir (line 373) | def decode_xsir(self):
    method decode_xsdr (line 378) | def decode_xsdr(self):
    method decode_xruntest (line 382) | def decode_xruntest(self):
    method decode_xreserved_5 (line 386) | def decode_xreserved_5(self):
    method decode_xreserved_6 (line 389) | def decode_xreserved_6(self):
    method decode_xrepeat (line 392) | def decode_xrepeat(self):
    method decode_xsdrsize (line 396) | def decode_xsdrsize(self):
    method decode_xsdrtdo (line 400) | def decode_xsdrtdo(self):
    method decode_xsetsdrmasks (line 405) | def decode_xsetsdrmasks(self):
    method decode_xsdrinc (line 419) | def decode_xsdrinc(self):
    method decode_xsdrb (line 430) | def decode_xsdrb(self):
    method decode_xsdrc (line 434) | def decode_xsdrc(self):
    method decode_xsdre (line 438) | def decode_xsdre(self):
    method decode_xsdrtdob (line 442) | def decode_xsdrtdob(self):
    method decode_xsdrtdoc (line 447) | def decode_xsdrtdoc(self):
    method decode_xsdrtdoe (line 452) | def decode_xsdrtdoe(self):
    method decode_xstate (line 457) | def decode_xstate(self):
    method decode_xendir (line 461) | def decode_xendir(self):
    method decode_xenddr (line 474) | def decode_xenddr(self):
    method decode_xsir2 (line 487) | def decode_xsir2(self):
    method decode_xcomment (line 492) | def decode_xcomment(self):
    method decode_xwait (line 500) | def decode_xwait(self):
    method instruction_name (line 537) | def instruction_name(instruction):
    method instruction_decoder (line 540) | def instruction_decoder(self, instruction):
    method instruction_handler (line 543) | def instruction_handler(self, instruction):
    method bytes_from_file (line 547) | def bytes_from_file(fd, chunksize=8192):
    method private_next_byte (line 557) | def private_next_byte(self):
    method get_next_byte (line 564) | def get_next_byte(self):
    method get_next_word (line 568) | def get_next_word(self):
    method get_next_long (line 573) | def get_next_long(self):
    method get_next_bytes (line 580) | def get_next_bytes(self, n):
    method decode_one_file (line 587) | def decode_one_file(self, fd):
    method decode_all_files (line 603) | def decode_all_files(self, fd_list):

FILE: extras/python/XSVFDisassembler.py
  class XSVFDisassembler (line 13) | class XSVFDisassembler(XSVFDecoder.XSVFDecoder):
    method add_arguments (line 18) | def add_arguments(p):
    method __init__ (line 27) | def __init__(self, args):
    method current_instruction (line 59) | def current_instruction(self):
    method current_instruction (line 63) | def current_instruction(self, value):
    method format_first_part (line 66) | def format_first_part(self, s):
    method return_zeroeth (line 80) | def return_zeroeth(self, l):
    method format_byte_list (line 91) | def format_byte_list(self, l):
    method pretty_disasm (line 94) | def pretty_disasm(self, pars=("",)):
    method disasm_xcomplete (line 114) | def disasm_xcomplete(self):
    method disasm_xtdomask (line 117) | def disasm_xtdomask(self):
    method disasm_xsir (line 124) | def disasm_xsir(self):
    method disasm_xsdr (line 132) | def disasm_xsdr(self):
    method disasm_xruntest (line 139) | def disasm_xruntest(self):
    method disasm_xreserved_5 (line 145) | def disasm_xreserved_5(self):
    method disasm_xreserved_6 (line 148) | def disasm_xreserved_6(self):
    method disasm_xrepeat (line 151) | def disasm_xrepeat(self):
    method disasm_xsdrsize (line 157) | def disasm_xsdrsize(self):
    method disasm_xsdrtdo (line 163) | def disasm_xsdrtdo(self):
    method disasm_xsetsdrmasks (line 171) | def disasm_xsetsdrmasks(self):
    method disasm_xsdrinc (line 179) | def disasm_xsdrinc(self):
    method disasm_xsdrb (line 195) | def disasm_xsdrb(self):
    method disasm_xsdrc (line 202) | def disasm_xsdrc(self):
    method disasm_xsdre (line 209) | def disasm_xsdre(self):
    method disasm_xsdrtdob (line 216) | def disasm_xsdrtdob(self):
    method disasm_xsdrtdoc (line 224) | def disasm_xsdrtdoc(self):
    method disasm_xsdrtdoe (line 232) | def disasm_xsdrtdoe(self):
    method disasm_xstate (line 240) | def disasm_xstate(self):
    method disasm_xendir (line 246) | def disasm_xendir(self):
    method disasm_xenddr (line 252) | def disasm_xenddr(self):
    method disasm_xsir2 (line 258) | def disasm_xsir2(self):
    method disasm_xcomment (line 265) | def disasm_xcomment(self):
    method disasm_xwait (line 271) | def disasm_xwait(self):
    method instruction_handler (line 281) | def instruction_handler(self, instruction):
    method disasm_all_files (line 285) | def disasm_all_files(self, fd_list):

FILE: extras/python/XSVFParser.py
  function parse_xsvf_file (line 177) | def parse_xsvf_file(f):
  function main (line 265) | def main():

FILE: src/ArduinoPin.h
  function class (line 6) | class ArduinoPin
  function class (line 43) | class ArduinoInputPin : public ArduinoPin
  function class (line 57) | class ArduinoOutputPin : public ArduinoPin

FILE: src/JTAGPort.h
  function class (line 9) | class JTAGPort

FILE: src/JTAGPortAVR.h
  function class (line 14) | class JTAGPortAVR : public JTAGPort

FILE: src/JTAGPortArduino.h
  function class (line 14) | class JTAGPortArduino : public JTAGPort

FILE: src/JTAGTAP.h
  type e_TAPState (line 8) | enum e_TAPState {
  function class (line 27) | class JTAGTAP

FILE: src/PlayXSVF.cpp
  function printAvailableRAM (line 40) | void printAvailableRAM(Stream &s)
  function printAvailableRAM (line 47) | void printAvailableRAM(SerialComm &s)
  function availableRAM (line 57) | int availableRAM()

FILE: src/PlayXSVF.h
  function class (line 10) | class PlayXSVF

FILE: src/PlayXSVFJTAGAVR.h
  function class (line 11) | class PlayXSVFJTAGAVR : public PlayXSVF

FILE: src/PlayXSVFJTAGArduino.h
  function class (line 8) | class PlayXSVFJTAGArduino : public PlayXSVF

FILE: src/SerialComm.h
  function class (line 9) | class SerialComm

FILE: src/XSVFPlayer.cpp
  function __FlashStringHelper (line 103) | const __FlashStringHelper *XSVFPlayer::error_message(int error_code)
  function __FlashStringHelper (line 187) | const __FlashStringHelper *XSVFPlayer::instruction_name(uint8_t instruct...
  function __FlashStringHelper (line 219) | const __FlashStringHelper *XSVFPlayer::state_name(uint8_t state)

FILE: src/XSVFPlayer.h
  function class (line 10) | class XSVFPlayer
  function setStringBuffer (line 150) | void setStringBuffer(const __FlashStringHelper *s)
  function setNextState (line 170) | void setNextState(uint8_t n) { m_next_state = n; }
  function setSirsizeBits (line 173) | void setSirsizeBits(uint16_t n)
  function setSdrSizeBits (line 181) | void setSdrSizeBits(uint32_t n)
  function setLength2Bits (line 189) | void setLength2Bits(uint32_t n) { m_length2_bits = n; }
  function setRepeat (line 194) | void setRepeat(uint8_t n) { m_repeat = n; }
  function setRuntest (line 197) | void setRuntest(uint32_t n) { m_runtest = n; }
  function setEndirState (line 200) | void setEndirState(uint8_t n) { m_endir_state = n; }
  function setEnddrState (line 203) | void setEnddrState(uint8_t n) { m_enddr_state = n; }
  function setWaitStartState (line 206) | void setWaitStartState(uint8_t n) { m_wait_start_state = n; }
  function setWaitEndState (line 209) | void setWaitEndState(uint8_t n) { m_wait_end_state = n; }
  function setWaitTimeUsecs (line 212) | void setWaitTimeUsecs(uint32_t n) { m_wait_time_usecs = n; }
  function setXcomplete (line 215) | void setXcomplete(bool n) { m_xcomplete = n; }
  function incrementInstructionCounter (line 227) | void incrementInstructionCounter() { ++m_instruction_counter; }
  function addStreamSum (line 230) | void addStreamSum(uint8_t n) { m_stream_sum += n; }
  function setErrorCode (line 233) | void setErrorCode(int n) { m_error_code = n; }

FILE: src/XSVFPlayerJTAG.h
  function class (line 9) | class XSVFPlayerJTAG : public XSVFPlayer
Condensed preview — 58 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (407K chars).
[
  {
    "path": ".gitignore",
    "chars": 351,
    "preview": "#\n# Some common rules\n#\n.*\n*.o\n#*.a\n#*.s\n*.ko\n*.so\n*.so.dbg\n*.i\n*.lst\n*.symtypes\n*.gz\n*.bz2\n*.lzma\n*.xz\n*.lz4\n*.lzo\n*.pa"
  },
  {
    "path": "LICENSE",
    "chars": 1510,
    "preview": "BSD 3-Clause License\n\nCopyright (c) 2015, Marcelo Roberto Jimenez\n\nRedistribution and use in source and binary forms, wi"
  },
  {
    "path": "README.md",
    "chars": 8326,
    "preview": "# The JTAG Library for Arduino\n\nThis library has four interesting things.\n\nFirst, it is a JTAG test access point (TAP) m"
  },
  {
    "path": "examples/JTAGTest/JTAGTest.ino",
    "chars": 1038,
    "preview": "#include <JTAG.h>\n\n//\n// The maximum size of the arduino receive buffer is 63 bytes by default.\n// This number can be ch"
  },
  {
    "path": "extras/python/JTAGTAP.py",
    "chars": 944,
    "preview": "#! /usr/bin/python3\n# coding: utf-8\n\nclass JTAGTAP(object):\n    \"\"\"\n\n    \"\"\"\n\n    # JTAG TAP states\n    TEST_LOGIC_RESET"
  },
  {
    "path": "extras/python/Uploader.py",
    "chars": 4939,
    "preview": "#! /usr/bin/python3\n# coding: utf-8\n\nimport os\nimport string\nimport sys\nimport time\n\ntry:\n    import serial\nexcept Impor"
  },
  {
    "path": "extras/python/XSVFAssembler.py",
    "chars": 6505,
    "preview": "# !/usr/bin/python3\n# coding: utf-8\n\n#\n# example:\n# $ ./XSVFAssembler.py > test.xsvf\n# $ ./xsvf -c disasm -n test.xsvf >"
  },
  {
    "path": "extras/python/XSVFDecoder.py",
    "chars": 16130,
    "preview": "#! /usr/bin/python3\n# coding: utf-8\n\nimport JTAGTAP\n\n\nclass XSVFDecoder(object):\n    \"\"\"\n    Decoder\n    \"\"\"\n\n    # Inst"
  },
  {
    "path": "extras/python/XSVFDisassembler.py",
    "chars": 7461,
    "preview": "#! /usr/bin/python3\n# coding: utf-8\n\n#\n# example:\n# $ ./xsvf -c disasm ../xsvf/XC2C64A/idcode_simpler.xsvf\n#\n\nimport JTA"
  },
  {
    "path": "extras/python/XSVFParser.py",
    "chars": 8143,
    "preview": "#! /usr/bin/python3\n# coding: utf-8\n\n# ./XSVFAssembler.py > test.xsvf\n# ./xsvf -c disasm -n test.xsvf > test.xsvf.s\n# ./"
  },
  {
    "path": "extras/python/asm_disasm_test.sh",
    "chars": 147,
    "preview": "#! /bin/bash\n./XSVFAssembler.py > test.xsvf\n./xsvf -c disasm -n test.xsvf > test.xsvf.s\n./xsvf -c asm test.xsvf.s > test"
  },
  {
    "path": "extras/python/xsvf",
    "chars": 1568,
    "preview": "#! /usr/bin/python3\n# coding: utf-8\n\nimport argparse\nimport XSVFAssembler\nimport XSVFDisassembler\nimport sys\nimport Uplo"
  },
  {
    "path": "extras/xsvf/XC2C64A/VHDL-CPLDIntro3LEDinverse.xsvf.s",
    "chars": 83619,
    "preview": "XREPEAT 0\nXENDIR RUN_TEST_IDLE\nXENDDR RUN_TEST_IDLE\nXSTATE TEST_LOGIC_RESET\nXSTATE RUN_TEST_IDLE\nXSIR 8 01\nXSDRSIZE 32\nX"
  },
  {
    "path": "extras/xsvf/XC2C64A/VHDL-CPLDIntro3LEDinverse.xsvf.txt",
    "chars": 180044,
    "preview": "07 00                       XREPEAT 0\n13 00                       XENDIR RUN_TEST_IDLE\n14 00                       XENDD"
  },
  {
    "path": "extras/xsvf/XC2C64A/erase.svf",
    "chars": 1769,
    "preview": "// Created using Xilinx Cse Software [ISE - 14.7]\n// Date: Tue Aug 18 17:01:14 2015\n\nTRST OFF;\nENDIR IDLE;\nENDDR IDLE;\nS"
  },
  {
    "path": "extras/xsvf/XC2C64A/erase.xsvf.txt",
    "chars": 5994,
    "preview": "07 00                       XREPEAT 0                                           \n13 00                       XENDIR RUN_"
  },
  {
    "path": "extras/xsvf/XC2C64A/idcode.svf",
    "chars": 994,
    "preview": "// Created using Xilinx Cse Software [ISE - 14.7]\n// Date: Thu Jul 23 18:41:49 2015\n\nTRST OFF;\nENDIR IDLE;\nENDDR IDLE;\nS"
  },
  {
    "path": "extras/xsvf/XC2C64A/idcode.xsvf.txt",
    "chars": 2916,
    "preview": "07 00                       XREPEAT 0                                           \n13 00                       XENDIR RUN_"
  },
  {
    "path": "extras/xsvf/XC2C64A/idcode_simpler.xsvf.txt",
    "chars": 288,
    "preview": "12 00                       XSTATE TEST_LOGIC_RESET\n08 00 00 00 20              XSDRSIZE 32\n01 00 00 00 00              "
  },
  {
    "path": "extras/xsvf/XC2C64A/instruction_test.xsvf.s",
    "chars": 2122,
    "preview": "; XSVF Assembly language example file\n;\n; All XSVF instructions are used here\n\nXSDRSIZE 48 ; XSDRSIZE must be set for th"
  },
  {
    "path": "extras/xsvf/XC9572XL/DeviceID.txt",
    "chars": 1199,
    "preview": "07 20 ...................... XREPEAT, 0x20 times\n12 00 ...................... XSTATE Test-Logic-Reset\n12 01 ............"
  },
  {
    "path": "extras/xsvf/all/idcode_simpler.xsvf.s",
    "chars": 92,
    "preview": "XSTATE TEST_LOGIC_RESET\nXSDRSIZE 32\nXTDOMASK\n    00 00 00 00\nXSDR\n    00 00 00 00\nXCOMPLETE\n"
  },
  {
    "path": "keywords.txt",
    "chars": 1528,
    "preview": "########################################\n# Syntax Coloring Map\n########################################\n\n###############"
  },
  {
    "path": "lib/readme.txt",
    "chars": 868,
    "preview": "\nThis directory is intended for the project specific (private) libraries.\nPlatformIO will compile them to static librari"
  },
  {
    "path": "library.properties",
    "chars": 379,
    "preview": "name=JTAG\nversion=1.0.18\nauthor=Marcelo Jimenez <marcelo.jimenez@gmail.com>\nmaintainer=Marcelo Jimenez <marcelo.jimenez@"
  },
  {
    "path": "platformio.ini",
    "chars": 865,
    "preview": "; PlatformIO Project Configuration File\n;\n;   Build options: build flags, source filter\n;   Upload options: custom uploa"
  },
  {
    "path": "src/ArduinoPin.cpp",
    "chars": 501,
    "preview": "#include \"ArduinoPin.h\"\n\n#include <Arduino.h>\n\nArduinoPin::ArduinoPin(uint8_t pin, uint8_t mode)\n: m_bit(0)\n, m_port(0)\n"
  },
  {
    "path": "src/ArduinoPin.h",
    "chars": 1418,
    "preview": "#ifndef ARDUINOPIN_H\n#define ARDUINOPIN_H\n\n#include <inttypes.h>\n\nclass ArduinoPin\n{\nprivate:\n\tuint8_t m_bit;\n\tuint8_t m"
  },
  {
    "path": "src/JTAG.h",
    "chars": 117,
    "preview": "#ifndef JTAG_H\n#define JTAG_H\n\n#include \"PlayXSVFJTAGArduino.h\"\n// #include \"PlayXSVFJTAGAVR.h\"\n\n#endif /* JTAG_H */\n"
  },
  {
    "path": "src/JTAGPort.cpp",
    "chars": 22,
    "preview": "#include \"JTAGPort.h\"\n"
  },
  {
    "path": "src/JTAGPort.h",
    "chars": 527,
    "preview": "#ifndef JTAGPORT_H\n#define JTAGPORT_H\n\n/*\n * Making this class virtual makes the code bigger (18 bytes) and slower. But\n"
  },
  {
    "path": "src/JTAGPortAVR.cpp",
    "chars": 25,
    "preview": "#include \"JTAGPortAVR.h\"\n"
  },
  {
    "path": "src/JTAGPortAVR.h",
    "chars": 1372,
    "preview": "#ifdef ARDUINO_ARCH_AVR\n\n\t#ifndef JTAGPORTAVR_H\n\t\t#define JTAGPORTAVR_H\n\n\t\t#include \"JTAGPort.h\"\n\n\t\t#include <Arduino.h>"
  },
  {
    "path": "src/JTAGPortArduino.cpp",
    "chars": 292,
    "preview": "#include \"JTAGPortArduino.h\"\n\nJTAGPortArduino::JTAGPortArduino(uint8_t tms, uint8_t tdi, uint8_t tdo,\n\t\t\t\t uint8_t tck, "
  },
  {
    "path": "src/JTAGPortArduino.h",
    "chars": 1470,
    "preview": "#ifndef JTAGPORTARDUINO_H\n#define JTAGPORTARDUINO_H\n\n#include \"JTAGPort.h\"\n\n#include <Arduino.h>\n\n#include \"ArduinoPin.h"
  },
  {
    "path": "src/JTAGTAP.cpp",
    "chars": 7942,
    "preview": "\n#include \"JTAGTAP.h\"\n\n/*\n * Low nibble : TMS == 0\n * High nibble: TMS == 1\n */\n\n#define TMS_T(TMS_HIGH_STATE, TMS_LOW_S"
  },
  {
    "path": "src/JTAGTAP.h",
    "chars": 1287,
    "preview": "\n#ifndef JTAGTAP_H\n#define JTAGTAP_H\n\n#include \"JTAGPort.h\"\n#include \"SerialComm.h\"\n\nenum e_TAPState {\n\tSTATE_TEST_LOGIC"
  },
  {
    "path": "src/PlayXSVF.cpp",
    "chars": 1369,
    "preview": "\n#include \"PlayXSVF.h\"\n\n#include \"SerialComm.h\"\n#include \"XSVFPlayer.h\"\n\nint PlayXSVF::play()\n{\n\tSerialComm &s(serialCom"
  },
  {
    "path": "src/PlayXSVF.h",
    "chars": 421,
    "preview": "\n#ifndef PLAYXSVF_H\n#define PLAYXSVF_H\n\n#include <Arduino.h> // for Stream\n\nclass SerialComm;\nclass XSVFPlayer;\n\nclass P"
  },
  {
    "path": "src/PlayXSVFJTAGAVR.cpp",
    "chars": 265,
    "preview": "#ifdef ARDUINO_ARCH_AVR\n\n#include \"PlayXSVFJTAGAVR.h\"\n\nPlayXSVFJTAGAVR::PlayXSVFJTAGAVR(Stream &s, int stream_buffer_siz"
  },
  {
    "path": "src/PlayXSVFJTAGAVR.h",
    "chars": 684,
    "preview": "#ifdef ARDUINO_ARCH_AVR\n\n#ifndef PLAYXSVFJTAGAVR_H\n#define PLAYXSVFJTAGAVR_H\n\n#include \"JTAGPortAVR.h\"\n#include \"PlayXSV"
  },
  {
    "path": "src/PlayXSVFJTAGArduino.cpp",
    "chars": 370,
    "preview": "\n#include \"PlayXSVFJTAGArduino.h\"\n\nPlayXSVFJTAGArduino::PlayXSVFJTAGArduino(Stream &s, int stream_buffer_size,\n\t\t\t\t\t uin"
  },
  {
    "path": "src/PlayXSVFJTAGArduino.h",
    "chars": 776,
    "preview": "#ifndef PLAYXSVFJTAGARDUINO_H\n#define PLAYXSVFJTAGARDUINO_H\n\n#include \"JTAGPortArduino.h\"\n#include \"PlayXSVF.h\"\n#include"
  },
  {
    "path": "src/SerialComm.cpp",
    "chars": 6678,
    "preview": "\n#include \"SerialComm.h\"\n\n#ifdef __AVR__\n#define PLATFORM_VSNPRINTF(...) vsnprintf_P(__VA_ARGS__)\n#else\n#define PLATFORM"
  },
  {
    "path": "src/SerialComm.h",
    "chars": 2180,
    "preview": "\n#ifndef SERIALCOMM_H\n#define SERIALCOMM_H\n\n#include <Arduino.h>\n\n#define DEBUG 0\n\nclass SerialComm\n{\nprivate:\n\tstatic c"
  },
  {
    "path": "src/XSVFPlayer.cpp",
    "chars": 10111,
    "preview": "\n#include \"XSVFPlayer.h\"\n\n// clang-format off\n#define ERR_MSG(x,y) case x: { ret = y; break; }\n#define NAME_FOR(x) case "
  },
  {
    "path": "src/XSVFPlayer.h",
    "chars": 7809,
    "preview": "\n#ifndef JTAGWHISPERER_H\n#define JTAGWHISPERER_H\n\n#include \"JTAGTAP.h\"\n#include \"SerialComm.h\"\n\n#define IMPLEMENT_XSDRIN"
  },
  {
    "path": "src/XSVFPlayerJTAG.cpp",
    "chars": 4912,
    "preview": "\n#include \"XSVFPlayerJTAG.h\"\n\nXSVFPlayerJTAG::XSVFPlayerJTAG(SerialComm &s, JTAGPort &j)\n: XSVFPlayer(s)\n, m_serial_comm"
  },
  {
    "path": "src/XSVFPlayerJTAG.h",
    "chars": 1625,
    "preview": "\n#ifndef XSVFPLAYERJTAG_H\n#define XSVFPLAYERJTAG_H\n\n#include \"JTAGTAP.h\"\n#include \"SerialComm.h\"\n#include \"XSVFPlayer.h\""
  }
]

// ... and 9 more files (download for full content)

About this extraction

This page contains the full source code of the mrjimenez/JTAG GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 58 files (382.7 KB), approximately 142.9k tokens, and a symbol index with 222 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!