* Added test bucket directory for sky tests, which may be run in conjunction
authorFrank Ch. Eigler <fche@redhat.com>
Wed, 25 Feb 1998 01:08:47 +0000 (01:08 +0000)
committerFrank Ch. Eigler <fche@redhat.com>
Wed, 25 Feb 1998 01:08:47 +0000 (01:08 +0000)
  with the mips64r5900 tests.  It's all meant to be sanitized out without
  "keep-sky".

14 files changed:
sim/testsuite/.Sanitize
sim/testsuite/ChangeLog
sim/testsuite/configure.in
sim/testsuite/sky/.Sanitize [new file with mode: 0644]
sim/testsuite/sky/ChangeLog [new file with mode: 0644]
sim/testsuite/sky/Makefile.in [new file with mode: 0644]
sim/testsuite/sky/configure [new file with mode: 0755]
sim/testsuite/sky/configure.in [new file with mode: 0644]
sim/testsuite/sky/t-pke1.trc [new file with mode: 0644]
sim/testsuite/sky/t-pke1.vif0expect [new file with mode: 0644]
sim/testsuite/sky/t-pke2.trc [new file with mode: 0644]
sim/testsuite/sky/t-pke2.vif1expect [new file with mode: 0644]
sim/testsuite/sky/t-pke3.trc [new file with mode: 0644]
sim/testsuite/sky/t-pke4.run [new file with mode: 0644]

index c52e7b3f8ec0ac52e6db5adc228a2084acf4590e..dee604f8879669173b39c99785c5c57b804a7668 100644 (file)
@@ -29,6 +29,13 @@ else
         lose_these_too="${r5900_files} ${lose_these_too}"
 fi
 
+sky_files="sky"
+if ( echo $* | grep keep\-sky > /dev/null ) ; then
+        keep_these_too="${sky_files} ${keep_these_too}"
+else
+        lose_these_too="${sky_files} ${lose_these_too}"
+fi
+
 if ( echo $* | grep keep\-v850e > /dev/null ) ; then
        keep_these_too="v850e-elf ${keep_these_too}"
 else
@@ -117,6 +124,34 @@ else
         done
 fi
 
+sky_files="configure configure.in ChangeLog"
+if ( echo $* | grep keep\-sky > /dev/null ) ; then
+        for i in $sky_files ; do
+                if test ! -d $i && (grep sanitize-sky $i > /dev/null) ; then
+                        if [ -n "${verbose}" ] ; then
+                                echo Keeping sky stuff in $i
+                        fi
+                fi
+        done
+else
+        for i in $sky_files ; do
+                if test ! -d $i && (grep sanitize-sky $i > /dev/null) ; then
+                        if [ -n "${verbose}" ] ; then
+                                echo Removing traces of \"sky\" from $i...
+                        fi
+                        cp $i new
+                        sed '/start\-sanitize\-sky/,/end-\sanitize\-sky/d' < $i > new
+                        if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+                                if [ -n "${verbose}" ] ; then
+                                        echo Caching $i in .Recover...
+                                fi
+                                mv $i .Recover
+                        fi
+                        mv new $i
+                fi
+        done
+fi
+
 for i in * ; do
         if test ! -d $i && (grep sanitize $i > /dev/null) ; then
                 echo '***' Some mentions of Sanitize are still left in $i! 1>&2
index 8098e333762647aaf74849788d06a6352ae22ec7..f03ed88bc37243d841dfc29000d2ca57dd4dfe33 100644 (file)
@@ -1,3 +1,11 @@
+start-sanitize-sky
+Tue Feb 24 19:47:56 1998  Frank Ch. Eigler  <fche@cygnus.com>
+
+       * configure.in (testdir): Added sky subdir for mips64r5900-sky-elf
+       target.  
+       * configure: Regenerate.
+end-sanitize-sky
+       
 Fri Feb 20 11:00:02 1998  Nick Clifton  <nickc@cygnus.com>
 
        * sim/m32r/unlock.cgs: Fixed test.
index 28e9fef2326e19b11639fabdbdbba66d25f38d19..2324bd93e463fc924ddcfa9a4b38e2a5814354d4 100644 (file)
@@ -21,6 +21,14 @@ if test -r ${srcdir}/${testdir}/configure ; then
   configdirs="${configdirs} $testdir"
 fi
 
+# add any extra subdirectories
+case $target in
+  # start-sanitize-sky
+  mips64r5900-sky-elf) configdirs="${configdirs} sky" ;;
+  # end-sanitize-sky
+  *) ;;
+esac
+
 case $target in
   m32r-*-*) use_cgen=yes ;;
   *) use_cgen=no ;;
diff --git a/sim/testsuite/sky/.Sanitize b/sim/testsuite/sky/.Sanitize
new file mode 100644 (file)
index 0000000..967d543
--- /dev/null
@@ -0,0 +1,47 @@
+# .Sanitize for devo/sim/testsuite/sky.
+
+# Each directory to survive its way into a release will need a file
+# like this one called "./.Sanitize".  All keyword lines must exist,
+# and must exist in the order specified by this file.  Each directory
+# in the tree will be processed, top down, in the following order.
+
+# Hash started lines like this one are comments and will be deleted
+# before anything else is done.  Blank lines will also be squashed
+# out.
+
+# The lines between the "Do-first:" line and the "Things-to-keep:"
+# line are executed as a /bin/sh shell script before anything else is
+# done in this directory.
+
+Do-first:
+
+# All files listed between the "Things-to-keep:" line and the
+# "Do-last:" line will be kept.  All other files will be removed.
+# Directories listed in this section will have their own Sanitize
+# called.  Directories not listed will be removed in their entirety
+# with rm -rf.
+
+Things-to-keep:
+
+ChangeLog
+Makefile.in
+configure
+configure.in
+t-pke1.trc
+t-pke1.vif0expect
+t-pke2.trc
+t-pke2.vif1expect
+t-pke3.trc
+t-pke4.run
+
+# <add files here>
+
+Things-to-lose:
+
+# The lines between the "Do-last:" line and the end of the file
+# are executed as a /bin/sh shell script after everything else is
+# done.
+
+Do-last:
+
+# eof
diff --git a/sim/testsuite/sky/ChangeLog b/sim/testsuite/sky/ChangeLog
new file mode 100644 (file)
index 0000000..a65207c
--- /dev/null
@@ -0,0 +1,7 @@
+Tue Feb 24 19:32:10 1998  Frank Ch. Eigler  <fche@cygnus.com>
+
+       * ChangeLog, Makefile.in, configure, configure.in, t-pke1.trc,
+       t-pke1.vif0expect, t-pke2.trc, t-pke2.vif1expect, t-pke3.trc,
+       t-pke4.run: Created.
+
+
diff --git a/sim/testsuite/sky/Makefile.in b/sim/testsuite/sky/Makefile.in
new file mode 100644 (file)
index 0000000..57f90d4
--- /dev/null
@@ -0,0 +1,171 @@
+# Makefile for regression testing the sky simulator.
+
+
+VPATH = @srcdir@
+srcdir = @srcdir@
+srcroot = $(srcdir)/..
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+host_alias = @host_alias@
+target_alias = @target_alias@
+program_transform_name = @program_transform_name@
+build_canonical = @build@
+host_canonical = @host@
+target_canonical = @target@
+target_cpu = @target_cpu@
+
+
+SHELL = /bin/sh
+SUBDIRS = @subdirs@
+RPATH_ENVVAR = @RPATH_ENVVAR@
+
+EXPECT = `if [ -f $${rootme}/../../expect/expect ] ; then \
+          echo $${rootme}/../../expect/expect ; \
+          else echo expect ; fi`
+
+RUNTEST = $(RUNTEST_FOR_TARGET)
+
+RUNTESTFLAGS =
+
+RUNTEST_FOR_TARGET = `\
+  if [ -f $${srcdir}/../../../dejagnu/runtest ]; then \
+    echo $${srcdir}/../../../dejagnu/runtest; \
+  else \
+    if [ "$(host_canonical)" = "$(target_canonical)" ]; then \
+      echo runtest; \
+    else \
+      t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \
+    fi; \
+  fi`
+
+
+AS_FOR_TARGET = `\
+  if [ -x ../../../gas/as-new ]; then \
+    echo ../../../gas/as-new ; \
+  else \
+    echo $(target_alias)-as ; \
+  fi`
+
+LD_FOR_TARGET = `\
+  if [ -x ../../../ld/ld-new ]; then \
+    echo ../../../ld/ld-new ; \
+  else \
+    echo $(target_alias)-ld ; \
+  fi`
+
+RUNOPTS = --memory-size=0x1000000
+
+RUN_FOR_TARGET = `\
+  if [ -x ../../../sim/mips/run ]; then \
+    echo ../../../sim/mips/run ; \
+  else \
+    echo $(target_alias)-run ; \
+  fi` $(RUNOPTS)
+
+GCC_FOR_TARGET = `\
+  if [ -x ../../../gcc/xgcc ]; then \
+    echo ../../../gcc/xgcc ; \
+  else \
+    echo $(target_alias)-gcc ; \
+  fi`
+
+C_GEN = /build/sky-tools/c_gen.pl
+
+.SUFFIXES: .trc .c .run .ok .vif0out .vif0ok .vif0expect .vif1out .vif1ok .vif1expect
+
+TESTS = \
+       t-pke1.c \
+       t-pke1.run \
+       t-pke1.vif0ok \
+       t-pke2.c \
+       t-pke2.run \
+       t-pke2.vif1ok \
+       t-pke3.c \
+       t-pke3.run \
+       t-pke3.ok \
+       t-pke4.ok
+
+check: sanity $(TESTS)
+sanity:
+       @eval echo AS_FOR_TARGET = $(AS_FOR_TARGET)
+       @eval echo LD_FOR_TARGET = $(LD_FOR_TARGET)
+       @eval echo RUN_FOR_TARGET = $(RUN_FOR_TARGET)
+       @eval echo GCC_FOR_TARGET = $(GCC_FOR_TARGET)
+
+
+# Rules for running the tests
+
+.run.ok:
+       rm -f tmp-$* $*.hi
+       ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$*
+       mv tmp-$* $*.ok
+.run.ko:
+       rm -f tmp-$* $*.ko
+       set +e ; \
+       ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$* ; \
+       if [ $$? -ne 0 ] ; then \
+         exit 0 ; \
+       else \
+         exit 1 ; \
+       fi
+       mv tmp-$* $*.ko
+.vif0out.vif0ok:
+       diff $*.vif0expect $<
+       touch $@
+.vif1out.vif1ok:
+       diff $*.vif1expect $<
+       touch $@
+
+# Rules for building all the tests
+
+.trc.c:
+       $(C_GEN) $< $@
+.c.run:
+       $(GCC_FOR_TARGET) -Tr5900idt.ld -o $@ $<
+.run.vif0out:
+       rm -f $@
+       -env VIF0_TRACE_FILE=$@ $(RUN_FOR_TARGET) $*.run
+.run.vif1out:
+       rm -f $@
+       -env VIF1_TRACE_FILE=$@ $(RUN_FOR_TARGET) $*.run
+
+
+
+#
+# Standard
+#
+clean mostlyclean:
+       -rm -f *~ core *.o a.out *.x *.grt
+       -rm -f *.vif*out *.ok tmp-*
+       rm -f $(TESTS)
+#      if [ x"${SUBDIRS}" != x ] ; then \
+#          for dir in ${SUBDIRS}; \
+#          do \
+#                  echo "$$dir:"; \
+#                  if [ -d $$dir ]; then \
+#                          (cd $$dir; $(MAKE) clean); \
+#                  fi; \
+#          done ; \
+#      else true; fi
+
+distclean maintainer-clean realclean: clean
+       -rm -f *~ core
+       -rm -f Makefile config.status *-init.exp
+       -rm -fr *.log summary detail *.plog *.sum *.psum site.*
+#      if [ x"${SUBDIRS}" != x ] ; then \
+#          for dir in ${SUBDIRS}; \
+#          do \
+#                  echo "$$dir:"; \
+#                  if [ -d $$dir ]; then \
+#                          (cd $$dir; $(MAKE) distclean); \
+#                  fi; \
+#          done ; \
+#      else true; fi
+
+Makefile : Makefile.in config.status
+       $(SHELL) config.status
+
+config.status: configure
+       $(SHELL) config.status --recheck
diff --git a/sim/testsuite/sky/configure b/sim/testsuite/sky/configure
new file mode 100755 (executable)
index 0000000..fa656cb
--- /dev/null
@@ -0,0 +1,902 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.12.1 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.12.1"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=Makefile.in
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+CC=${CC-cc}
+
+ac_aux_dir=
+for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Do some error checking and defaulting for the host and target type.
+# The inputs are:
+#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
+#
+# The rules are:
+# 1. You are not allowed to specify --host, --target, and nonopt at the
+#    same time.
+# 2. Host defaults to nonopt.
+# 3. If nonopt is not specified, then host defaults to the current host,
+#    as determined by config.guess.
+# 4. Target and build default to nonopt.
+# 5. If nonopt is not specified, then target and build default to host.
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+case $host---$target---$nonopt in
+NONE---*---* | *---NONE---* | *---*---NONE) ;;
+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
+esac
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:573: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+  case $nonopt in
+  NONE)
+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+    fi ;;
+  *) host_alias=$nonopt ;;
+  esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+echo $ac_n "checking target system type""... $ac_c" 1>&6
+echo "configure:594: checking target system type" >&5
+
+target_alias=$target
+case "$target_alias" in
+NONE)
+  case $nonopt in
+  NONE) target_alias=$host_alias ;;
+  *) target_alias=$nonopt ;;
+  esac ;;
+esac
+
+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$target" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:612: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+  case $nonopt in
+  NONE) build_alias=$host_alias ;;
+  *) build_alias=$nonopt ;;
+  esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+test "$host_alias" != "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  case `(ac_space=' '; set) 2>&1 | grep ac_space` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@CC@%$CC%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@target@%$target%g
+s%@target_alias@%$target_alias%g
+s%@target_cpu@%$target_cpu%g
+s%@target_vendor@%$target_vendor%g
+s%@target_os@%$target_os%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/sim/testsuite/sky/configure.in b/sim/testsuite/sky/configure.in
new file mode 100644 (file)
index 0000000..e74389e
--- /dev/null
@@ -0,0 +1,19 @@
+dnl Process this file file with autoconf to produce a configure script.
+dnl This file is a shell script fragment that supplies the information
+dnl necessary to tailor a template configure script into the configure
+dnl script appropriate for this directory.  For more information, check
+dnl any existing configure script.
+
+AC_PREREQ(2.5)
+dnl FIXME - think of a truly uniq file to this directory
+AC_INIT(Makefile.in)
+
+CC=${CC-cc}
+AC_SUBST(CC)
+AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..)
+AC_CANONICAL_SYSTEM
+
+AC_SUBST(target_cpu)
+
+
+AC_OUTPUT(Makefile)
diff --git a/sim/testsuite/sky/t-pke1.trc b/sim/testsuite/sky/t-pke1.trc
new file mode 100644 (file)
index 0000000..053975f
--- /dev/null
@@ -0,0 +1,106 @@
+# PKE tests from SCEI PKE simulator
+# Converted by FChE using emacs macros from "sce-project/scei/pke/sample/tsv432.in"
+# Regenerated with word classification using PKE trace output.
+0 0x55555555_20000000_00000000_31000066 0x00000000 .PDD
+0 0x0000ffff_0000ffff_0000ffff_30000000 0x00000000 ...P
+0 0x30000000_7c000000_01000000_0000ffff 0x00000000 PPP.
+0 0x00000103_00000102_00000101_00000100 0x00000000 ....
+0 0x00001002_00001001_00001000_31000000 0x00000000 ...P
+0 0x6c100000_01000404_05000000_00001003 0x00000000 PPP.
+0 0x00000003_00000002_00000001_00000000 0x00000000 ....
+0 0x00000013_00000012_00000011_00000010 0x00000000 ....
+0 0x00000023_00000022_00000021_00000020 0x00000000 ....
+0 0x00000033_00000032_00000031_00000030 0x00000000 ....
+0 0x00000043_00000042_00000041_00000040 0x00000000 ....
+0 0x00000053_00000052_00000051_00000050 0x00000000 ....
+0 0x00000063_00000062_00000061_00000060 0x00000000 ....
+0 0x00000073_00000072_00000071_00000070 0x00000000 ....
+0 0x00000083_00000082_00000081_00000080 0x00000000 ....
+0 0x00000093_00000092_00000091_00000090 0x00000000 ....
+0 0x000000a3_000000a2_000000a1_000000a0 0x00000000 ....
+0 0x000000b3_000000b2_000000b1_000000b0 0x00000000 ....
+0 0x000000c3_000000c2_000000c1_000000c0 0x00000000 ....
+0 0x000000d3_000000d2_000000d1_000000d0 0x00000000 ....
+0 0x000000e3_000000e2_000000e1_000000e0 0x00000000 ....
+0 0x000000f3_000000f2_000000f1_000000f0 0x00000000 ....
+0 0x00000001_00000000_6c080010_01000408 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000061_00000060_00000053_00000052 0x00000000 ....
+0 0x00000071_00000070_00000063_00000062 0x00000000 ....
+0 0xaaaa0000_20000000_00000073_00000072 0x00000000 .P..
+0 0x00000001_00000000_7c080020_01000402 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x40100401_20000000_00000033_00000032 0x00000000 .P..
+0 0x00000001_00000000_7c100030_01000808 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000061_00000060_00000053_00000052 0x00000000 ....
+0 0x00000071_00000070_00000063_00000062 0x00000000 ....
+0 0x00000081_00000080_00000073_00000072 0x00000000 ....
+0 0x00000091_00000090_00000083_00000082 0x00000000 ....
+0 0x000000a1_000000a0_00000093_00000092 0x00000000 ....
+0 0x000000b1_000000b0_000000a3_000000a2 0x00000000 ....
+0 0x000000c1_000000c0_000000b3_000000b2 0x00000000 ....
+0 0x000000d1_000000d0_000000c3_000000c2 0x00000000 ....
+0 0x000000e1_000000e0_000000d3_000000d2 0x00000000 ....
+0 0x000000f1_000000f0_000000e3_000000e2 0x00000000 ....
+0 0x80200802_20000000_000000f3_000000f2 0x00000000 .P..
+0 0x00000001_00000000_7c100040_01000808 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000061_00000060_00000053_00000052 0x00000000 ....
+0 0x00000071_00000070_00000063_00000062 0x00000000 ....
+0 0x00000081_00000080_00000073_00000072 0x00000000 ....
+0 0x00000091_00000090_00000083_00000082 0x00000000 ....
+0 0x000000a1_000000a0_00000093_00000092 0x00000000 ....
+0 0x000000b1_000000b0_000000a3_000000a2 0x00000000 ....
+0 0x000000c1_000000c0_000000b3_000000b2 0x00000000 ....
+0 0x000000d1_000000d0_000000c3_000000c2 0x00000000 ....
+0 0x000000e1_000000e0_000000d3_000000d2 0x00000000 ....
+0 0x000000f1_000000f0_000000e3_000000e2 0x00000000 ....
+0 0x80200802_20000000_000000f3_000000f2 0x00000000 .P..
+0 0x00000001_00000000_7c060060_01000308 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000100_30000000_00000053_00000052 0x00000000 .P..
+0 0x31000000_00000103_00000102_00000101 0x00000000 P...
+0 0x00001003_00001002_00001001_00001000 0x00000000 ....
+0 0x30000000_90909090_20000000_05000001 0x00000000 P.PP
+0 0x00004000_00000100_00000001_ffffffff 0x00000000 ....
+0 0x00000002_00000001_00000000_31000000 0x00000000 ...P
+0 0x00000000_7c080070_01000404_00000003 0x00000000 .PP.
+0 0x00000010_00000003_00000002_00000001 0x00000000 ....
+0 0x00000020_00000013_00000012_00000011 0x00000000 ....
+0 0x00000030_00000023_00000022_00000021 0x00000000 ....
+0 0x00000040_00000033_00000032_00000031 0x00000000 ....
+0 0x00000050_00000043_00000042_00000041 0x00000000 ....
+0 0x00000060_00000053_00000052_00000051 0x00000000 ....
+0 0x00000070_00000063_00000062_00000061 0x00000000 ....
+0 0x05000002_00000073_00000072_00000071 0x00000000 P...
+0 0x00000000_30000000_90909090_20000000 0x00000000 .P.P
+0 0x31000000_00000000_00000001_00000000 0x00000000 P...
+0 0x00000003_00000002_00000001_00000000 0x00000000 ....
+0 0x00000001_00000001_7c080078_01000404 0x00000000 ..PP
+0 0x00000001_00000001_00000003_00000002 0x00000000 ....
+0 0x00000001_00000001_00000013_00000012 0x00000000 ....
+0 0xffffffff_00000001_00000023_00000022 0x00000000 ....
+0 0xfffffffe_00000001_00000033_00000032 0x00000000 ....
+0 0x00000002_00000001_00000043_00000042 0x00000000 ....
+0 0x00000003_00000001_00000053_00000052 0x00000000 ....
+0 0xfffffffb_00000001_00000063_00000062 0x00000000 ....
+0 0x00000000_00000000_00000073_00000072 0x00000000 PP..
diff --git a/sim/testsuite/sky/t-pke1.vif0expect b/sim/testsuite/sky/t-pke1.vif0expect
new file mode 100644 (file)
index 0000000..6249089
--- /dev/null
@@ -0,0 +1,1330 @@
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg MASK:MASK = 0x55555555
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x55555555_20000000_00000000_31000066 0x00000000 .PDD
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x0000ffff_0000ffff_0000ffff_30000000 0x00000000 ...P
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x100
+# Reg NUM:NUM = 0xff
+# Write 16 bytes  to  0x11004000:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004000:  00 00 00 00
+# Reg NUM:NUM = 0xfe
+# Write 16 bytes  to  0x11004010:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004004:  00 00 00 00
+# Reg NUM:NUM = 0xfd
+# Write 16 bytes  to  0x11004020:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004008:  00 00 00 00
+# Reg NUM:NUM = 0xfc
+# Write 16 bytes  to  0x11004030:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100400c:  00 00 00 00
+# Reg NUM:NUM = 0xfb
+# Write 16 bytes  to  0x11004040:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004010:  00 00 00 00
+# Reg NUM:NUM = 0xfa
+# Write 16 bytes  to  0x11004050:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004014:  00 00 00 00
+# Reg NUM:NUM = 0xf9
+# Write 16 bytes  to  0x11004060:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004018:  00 00 00 00
+# Reg NUM:NUM = 0xf8
+# Write 16 bytes  to  0x11004070:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100401c:  00 00 00 00
+# Reg NUM:NUM = 0xf7
+# Write 16 bytes  to  0x11004080:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004020:  00 00 00 00
+# Reg NUM:NUM = 0xf6
+# Write 16 bytes  to  0x11004090:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004024:  00 00 00 00
+# Reg NUM:NUM = 0xf5
+# Write 16 bytes  to  0x110040a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004028:  00 00 00 00
+# Reg NUM:NUM = 0xf4
+# Write 16 bytes  to  0x110040b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100402c:  00 00 00 00
+# Reg NUM:NUM = 0xf3
+# Write 16 bytes  to  0x110040c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004030:  00 00 00 00
+# Reg NUM:NUM = 0xf2
+# Write 16 bytes  to  0x110040d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004034:  00 00 00 00
+# Reg NUM:NUM = 0xf1
+# Write 16 bytes  to  0x110040e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004038:  00 00 00 00
+# Reg NUM:NUM = 0xf0
+# Write 16 bytes  to  0x110040f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100403c:  00 00 00 00
+# Reg NUM:NUM = 0xef
+# Write 16 bytes  to  0x11004100:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004040:  00 00 00 00
+# Reg NUM:NUM = 0xee
+# Write 16 bytes  to  0x11004110:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004044:  00 00 00 00
+# Reg NUM:NUM = 0xed
+# Write 16 bytes  to  0x11004120:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004048:  00 00 00 00
+# Reg NUM:NUM = 0xec
+# Write 16 bytes  to  0x11004130:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100404c:  00 00 00 00
+# Reg NUM:NUM = 0xeb
+# Write 16 bytes  to  0x11004140:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004050:  00 00 00 00
+# Reg NUM:NUM = 0xea
+# Write 16 bytes  to  0x11004150:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004054:  00 00 00 00
+# Reg NUM:NUM = 0xe9
+# Write 16 bytes  to  0x11004160:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004058:  00 00 00 00
+# Reg NUM:NUM = 0xe8
+# Write 16 bytes  to  0x11004170:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100405c:  00 00 00 00
+# Reg NUM:NUM = 0xe7
+# Write 16 bytes  to  0x11004180:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004060:  00 00 00 00
+# Reg NUM:NUM = 0xe6
+# Write 16 bytes  to  0x11004190:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004064:  00 00 00 00
+# Reg NUM:NUM = 0xe5
+# Write 16 bytes  to  0x110041a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004068:  00 00 00 00
+# Reg NUM:NUM = 0xe4
+# Write 16 bytes  to  0x110041b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100406c:  00 00 00 00
+# Reg NUM:NUM = 0xe3
+# Write 16 bytes  to  0x110041c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004070:  00 00 00 00
+# Reg NUM:NUM = 0xe2
+# Write 16 bytes  to  0x110041d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004074:  00 00 00 00
+# Reg NUM:NUM = 0xe1
+# Write 16 bytes  to  0x110041e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004078:  00 00 00 00
+# Reg NUM:NUM = 0xe0
+# Write 16 bytes  to  0x110041f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100407c:  00 00 00 00
+# Reg NUM:NUM = 0xdf
+# Write 16 bytes  to  0x11004200:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004080:  00 00 00 00
+# Reg NUM:NUM = 0xde
+# Write 16 bytes  to  0x11004210:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004084:  00 00 00 00
+# Reg NUM:NUM = 0xdd
+# Write 16 bytes  to  0x11004220:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004088:  00 00 00 00
+# Reg NUM:NUM = 0xdc
+# Write 16 bytes  to  0x11004230:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100408c:  00 00 00 00
+# Reg NUM:NUM = 0xdb
+# Write 16 bytes  to  0x11004240:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004090:  00 00 00 00
+# Reg NUM:NUM = 0xda
+# Write 16 bytes  to  0x11004250:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004094:  00 00 00 00
+# Reg NUM:NUM = 0xd9
+# Write 16 bytes  to  0x11004260:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004098:  00 00 00 00
+# Reg NUM:NUM = 0xd8
+# Write 16 bytes  to  0x11004270:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100409c:  00 00 00 00
+# Reg NUM:NUM = 0xd7
+# Write 16 bytes  to  0x11004280:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040a0:  00 00 00 00
+# Reg NUM:NUM = 0xd6
+# Write 16 bytes  to  0x11004290:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040a4:  00 00 00 00
+# Reg NUM:NUM = 0xd5
+# Write 16 bytes  to  0x110042a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040a8:  00 00 00 00
+# Reg NUM:NUM = 0xd4
+# Write 16 bytes  to  0x110042b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040ac:  00 00 00 00
+# Reg NUM:NUM = 0xd3
+# Write 16 bytes  to  0x110042c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040b0:  00 00 00 00
+# Reg NUM:NUM = 0xd2
+# Write 16 bytes  to  0x110042d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040b4:  00 00 00 00
+# Reg NUM:NUM = 0xd1
+# Write 16 bytes  to  0x110042e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040b8:  00 00 00 00
+# Reg NUM:NUM = 0xd0
+# Write 16 bytes  to  0x110042f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040bc:  00 00 00 00
+# Reg NUM:NUM = 0xcf
+# Write 16 bytes  to  0x11004300:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040c0:  00 00 00 00
+# Reg NUM:NUM = 0xce
+# Write 16 bytes  to  0x11004310:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040c4:  00 00 00 00
+# Reg NUM:NUM = 0xcd
+# Write 16 bytes  to  0x11004320:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040c8:  00 00 00 00
+# Reg NUM:NUM = 0xcc
+# Write 16 bytes  to  0x11004330:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040cc:  00 00 00 00
+# Reg NUM:NUM = 0xcb
+# Write 16 bytes  to  0x11004340:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040d0:  00 00 00 00
+# Reg NUM:NUM = 0xca
+# Write 16 bytes  to  0x11004350:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040d4:  00 00 00 00
+# Reg NUM:NUM = 0xc9
+# Write 16 bytes  to  0x11004360:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040d8:  00 00 00 00
+# Reg NUM:NUM = 0xc8
+# Write 16 bytes  to  0x11004370:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040dc:  00 00 00 00
+# Reg NUM:NUM = 0xc7
+# Write 16 bytes  to  0x11004380:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040e0:  00 00 00 00
+# Reg NUM:NUM = 0xc6
+# Write 16 bytes  to  0x11004390:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040e4:  00 00 00 00
+# Reg NUM:NUM = 0xc5
+# Write 16 bytes  to  0x110043a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040e8:  00 00 00 00
+# Reg NUM:NUM = 0xc4
+# Write 16 bytes  to  0x110043b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040ec:  00 00 00 00
+# Reg NUM:NUM = 0xc3
+# Write 16 bytes  to  0x110043c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040f0:  00 00 00 00
+# Reg NUM:NUM = 0xc2
+# Write 16 bytes  to  0x110043d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040f4:  00 00 00 00
+# Reg NUM:NUM = 0xc1
+# Write 16 bytes  to  0x110043e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040f8:  00 00 00 00
+# Reg NUM:NUM = 0xc0
+# Write 16 bytes  to  0x110043f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210040fc:  00 00 00 00
+# Reg NUM:NUM = 0xbf
+# Write 16 bytes  to  0x11004400:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004100:  00 00 00 00
+# Reg NUM:NUM = 0xbe
+# Write 16 bytes  to  0x11004410:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004104:  00 00 00 00
+# Reg NUM:NUM = 0xbd
+# Write 16 bytes  to  0x11004420:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004108:  00 00 00 00
+# Reg NUM:NUM = 0xbc
+# Write 16 bytes  to  0x11004430:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100410c:  00 00 00 00
+# Reg NUM:NUM = 0xbb
+# Write 16 bytes  to  0x11004440:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004110:  00 00 00 00
+# Reg NUM:NUM = 0xba
+# Write 16 bytes  to  0x11004450:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004114:  00 00 00 00
+# Reg NUM:NUM = 0xb9
+# Write 16 bytes  to  0x11004460:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004118:  00 00 00 00
+# Reg NUM:NUM = 0xb8
+# Write 16 bytes  to  0x11004470:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100411c:  00 00 00 00
+# Reg NUM:NUM = 0xb7
+# Write 16 bytes  to  0x11004480:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004120:  00 00 00 00
+# Reg NUM:NUM = 0xb6
+# Write 16 bytes  to  0x11004490:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004124:  00 00 00 00
+# Reg NUM:NUM = 0xb5
+# Write 16 bytes  to  0x110044a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004128:  00 00 00 00
+# Reg NUM:NUM = 0xb4
+# Write 16 bytes  to  0x110044b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100412c:  00 00 00 00
+# Reg NUM:NUM = 0xb3
+# Write 16 bytes  to  0x110044c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004130:  00 00 00 00
+# Reg NUM:NUM = 0xb2
+# Write 16 bytes  to  0x110044d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004134:  00 00 00 00
+# Reg NUM:NUM = 0xb1
+# Write 16 bytes  to  0x110044e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004138:  00 00 00 00
+# Reg NUM:NUM = 0xb0
+# Write 16 bytes  to  0x110044f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100413c:  00 00 00 00
+# Reg NUM:NUM = 0xaf
+# Write 16 bytes  to  0x11004500:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004140:  00 00 00 00
+# Reg NUM:NUM = 0xae
+# Write 16 bytes  to  0x11004510:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004144:  00 00 00 00
+# Reg NUM:NUM = 0xad
+# Write 16 bytes  to  0x11004520:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004148:  00 00 00 00
+# Reg NUM:NUM = 0xac
+# Write 16 bytes  to  0x11004530:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100414c:  00 00 00 00
+# Reg NUM:NUM = 0xab
+# Write 16 bytes  to  0x11004540:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004150:  00 00 00 00
+# Reg NUM:NUM = 0xaa
+# Write 16 bytes  to  0x11004550:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004154:  00 00 00 00
+# Reg NUM:NUM = 0xa9
+# Write 16 bytes  to  0x11004560:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004158:  00 00 00 00
+# Reg NUM:NUM = 0xa8
+# Write 16 bytes  to  0x11004570:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100415c:  00 00 00 00
+# Reg NUM:NUM = 0xa7
+# Write 16 bytes  to  0x11004580:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004160:  00 00 00 00
+# Reg NUM:NUM = 0xa6
+# Write 16 bytes  to  0x11004590:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004164:  00 00 00 00
+# Reg NUM:NUM = 0xa5
+# Write 16 bytes  to  0x110045a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004168:  00 00 00 00
+# Reg NUM:NUM = 0xa4
+# Write 16 bytes  to  0x110045b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100416c:  00 00 00 00
+# Reg NUM:NUM = 0xa3
+# Write 16 bytes  to  0x110045c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004170:  00 00 00 00
+# Reg NUM:NUM = 0xa2
+# Write 16 bytes  to  0x110045d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004174:  00 00 00 00
+# Reg NUM:NUM = 0xa1
+# Write 16 bytes  to  0x110045e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004178:  00 00 00 00
+# Reg NUM:NUM = 0xa0
+# Write 16 bytes  to  0x110045f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100417c:  00 00 00 00
+# Reg NUM:NUM = 0x9f
+# Write 16 bytes  to  0x11004600:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004180:  00 00 00 00
+# Reg NUM:NUM = 0x9e
+# Write 16 bytes  to  0x11004610:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004184:  00 00 00 00
+# Reg NUM:NUM = 0x9d
+# Write 16 bytes  to  0x11004620:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004188:  00 00 00 00
+# Reg NUM:NUM = 0x9c
+# Write 16 bytes  to  0x11004630:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100418c:  00 00 00 00
+# Reg NUM:NUM = 0x9b
+# Write 16 bytes  to  0x11004640:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004190:  00 00 00 00
+# Reg NUM:NUM = 0x9a
+# Write 16 bytes  to  0x11004650:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004194:  00 00 00 00
+# Reg NUM:NUM = 0x99
+# Write 16 bytes  to  0x11004660:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004198:  00 00 00 00
+# Reg NUM:NUM = 0x98
+# Write 16 bytes  to  0x11004670:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100419c:  00 00 00 00
+# Reg NUM:NUM = 0x97
+# Write 16 bytes  to  0x11004680:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041a0:  00 00 00 00
+# Reg NUM:NUM = 0x96
+# Write 16 bytes  to  0x11004690:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041a4:  00 00 00 00
+# Reg NUM:NUM = 0x95
+# Write 16 bytes  to  0x110046a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041a8:  00 00 00 00
+# Reg NUM:NUM = 0x94
+# Write 16 bytes  to  0x110046b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041ac:  00 00 00 00
+# Reg NUM:NUM = 0x93
+# Write 16 bytes  to  0x110046c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041b0:  00 00 00 00
+# Reg NUM:NUM = 0x92
+# Write 16 bytes  to  0x110046d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041b4:  00 00 00 00
+# Reg NUM:NUM = 0x91
+# Write 16 bytes  to  0x110046e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041b8:  00 00 00 00
+# Reg NUM:NUM = 0x90
+# Write 16 bytes  to  0x110046f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041bc:  00 00 00 00
+# Reg NUM:NUM = 0x8f
+# Write 16 bytes  to  0x11004700:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041c0:  00 00 00 00
+# Reg NUM:NUM = 0x8e
+# Write 16 bytes  to  0x11004710:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041c4:  00 00 00 00
+# Reg NUM:NUM = 0x8d
+# Write 16 bytes  to  0x11004720:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041c8:  00 00 00 00
+# Reg NUM:NUM = 0x8c
+# Write 16 bytes  to  0x11004730:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041cc:  00 00 00 00
+# Reg NUM:NUM = 0x8b
+# Write 16 bytes  to  0x11004740:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041d0:  00 00 00 00
+# Reg NUM:NUM = 0x8a
+# Write 16 bytes  to  0x11004750:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041d4:  00 00 00 00
+# Reg NUM:NUM = 0x89
+# Write 16 bytes  to  0x11004760:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041d8:  00 00 00 00
+# Reg NUM:NUM = 0x88
+# Write 16 bytes  to  0x11004770:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041dc:  00 00 00 00
+# Reg NUM:NUM = 0x87
+# Write 16 bytes  to  0x11004780:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041e0:  00 00 00 00
+# Reg NUM:NUM = 0x86
+# Write 16 bytes  to  0x11004790:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041e4:  00 00 00 00
+# Reg NUM:NUM = 0x85
+# Write 16 bytes  to  0x110047a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041e8:  00 00 00 00
+# Reg NUM:NUM = 0x84
+# Write 16 bytes  to  0x110047b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041ec:  00 00 00 00
+# Reg NUM:NUM = 0x83
+# Write 16 bytes  to  0x110047c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041f0:  00 00 00 00
+# Reg NUM:NUM = 0x82
+# Write 16 bytes  to  0x110047d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041f4:  00 00 00 00
+# Reg NUM:NUM = 0x81
+# Write 16 bytes  to  0x110047e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041f8:  00 00 00 00
+# Reg NUM:NUM = 0x80
+# Write 16 bytes  to  0x110047f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210041fc:  00 00 00 00
+# Reg NUM:NUM = 0x7f
+# Write 16 bytes  to  0x11004800:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004200:  00 00 00 00
+# Reg NUM:NUM = 0x7e
+# Write 16 bytes  to  0x11004810:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004204:  00 00 00 00
+# Reg NUM:NUM = 0x7d
+# Write 16 bytes  to  0x11004820:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004208:  00 00 00 00
+# Reg NUM:NUM = 0x7c
+# Write 16 bytes  to  0x11004830:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100420c:  00 00 00 00
+# Reg NUM:NUM = 0x7b
+# Write 16 bytes  to  0x11004840:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004210:  00 00 00 00
+# Reg NUM:NUM = 0x7a
+# Write 16 bytes  to  0x11004850:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004214:  00 00 00 00
+# Reg NUM:NUM = 0x79
+# Write 16 bytes  to  0x11004860:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004218:  00 00 00 00
+# Reg NUM:NUM = 0x78
+# Write 16 bytes  to  0x11004870:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100421c:  00 00 00 00
+# Reg NUM:NUM = 0x77
+# Write 16 bytes  to  0x11004880:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004220:  00 00 00 00
+# Reg NUM:NUM = 0x76
+# Write 16 bytes  to  0x11004890:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004224:  00 00 00 00
+# Reg NUM:NUM = 0x75
+# Write 16 bytes  to  0x110048a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004228:  00 00 00 00
+# Reg NUM:NUM = 0x74
+# Write 16 bytes  to  0x110048b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100422c:  00 00 00 00
+# Reg NUM:NUM = 0x73
+# Write 16 bytes  to  0x110048c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004230:  00 00 00 00
+# Reg NUM:NUM = 0x72
+# Write 16 bytes  to  0x110048d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004234:  00 00 00 00
+# Reg NUM:NUM = 0x71
+# Write 16 bytes  to  0x110048e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004238:  00 00 00 00
+# Reg NUM:NUM = 0x70
+# Write 16 bytes  to  0x110048f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100423c:  00 00 00 00
+# Reg NUM:NUM = 0x6f
+# Write 16 bytes  to  0x11004900:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004240:  00 00 00 00
+# Reg NUM:NUM = 0x6e
+# Write 16 bytes  to  0x11004910:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004244:  00 00 00 00
+# Reg NUM:NUM = 0x6d
+# Write 16 bytes  to  0x11004920:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004248:  00 00 00 00
+# Reg NUM:NUM = 0x6c
+# Write 16 bytes  to  0x11004930:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100424c:  00 00 00 00
+# Reg NUM:NUM = 0x6b
+# Write 16 bytes  to  0x11004940:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004250:  00 00 00 00
+# Reg NUM:NUM = 0x6a
+# Write 16 bytes  to  0x11004950:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004254:  00 00 00 00
+# Reg NUM:NUM = 0x69
+# Write 16 bytes  to  0x11004960:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004258:  00 00 00 00
+# Reg NUM:NUM = 0x68
+# Write 16 bytes  to  0x11004970:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100425c:  00 00 00 00
+# Reg NUM:NUM = 0x67
+# Write 16 bytes  to  0x11004980:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004260:  00 00 00 00
+# Reg NUM:NUM = 0x66
+# Write 16 bytes  to  0x11004990:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004264:  00 00 00 00
+# Reg NUM:NUM = 0x65
+# Write 16 bytes  to  0x110049a0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004268:  00 00 00 00
+# Reg NUM:NUM = 0x64
+# Write 16 bytes  to  0x110049b0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100426c:  00 00 00 00
+# Reg NUM:NUM = 0x63
+# Write 16 bytes  to  0x110049c0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004270:  00 00 00 00
+# Reg NUM:NUM = 0x62
+# Write 16 bytes  to  0x110049d0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004274:  00 00 00 00
+# Reg NUM:NUM = 0x61
+# Write 16 bytes  to  0x110049e0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004278:  00 00 00 00
+# Reg NUM:NUM = 0x60
+# Write 16 bytes  to  0x110049f0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100427c:  00 00 00 00
+# Reg NUM:NUM = 0x5f
+# Write 16 bytes  to  0x11004a00:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004280:  00 00 00 00
+# Reg NUM:NUM = 0x5e
+# Write 16 bytes  to  0x11004a10:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004284:  00 00 00 00
+# Reg NUM:NUM = 0x5d
+# Write 16 bytes  to  0x11004a20:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004288:  00 00 00 00
+# Reg NUM:NUM = 0x5c
+# Write 16 bytes  to  0x11004a30:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100428c:  00 00 00 00
+# Reg NUM:NUM = 0x5b
+# Write 16 bytes  to  0x11004a40:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004290:  00 00 00 00
+# Reg NUM:NUM = 0x5a
+# Write 16 bytes  to  0x11004a50:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004294:  00 00 00 00
+# Reg NUM:NUM = 0x59
+# Write 16 bytes  to  0x11004a60:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004298:  00 00 00 00
+# Reg NUM:NUM = 0x58
+# Write 16 bytes  to  0x11004a70:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100429c:  00 00 00 00
+# Reg NUM:NUM = 0x57
+# Write 16 bytes  to  0x11004a80:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042a0:  00 00 00 00
+# Reg NUM:NUM = 0x56
+# Write 16 bytes  to  0x11004a90:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042a4:  00 00 00 00
+# Reg NUM:NUM = 0x55
+# Write 16 bytes  to  0x11004aa0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042a8:  00 00 00 00
+# Reg NUM:NUM = 0x54
+# Write 16 bytes  to  0x11004ab0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042ac:  00 00 00 00
+# Reg NUM:NUM = 0x53
+# Write 16 bytes  to  0x11004ac0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042b0:  00 00 00 00
+# Reg NUM:NUM = 0x52
+# Write 16 bytes  to  0x11004ad0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042b4:  00 00 00 00
+# Reg NUM:NUM = 0x51
+# Write 16 bytes  to  0x11004ae0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042b8:  00 00 00 00
+# Reg NUM:NUM = 0x50
+# Write 16 bytes  to  0x11004af0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042bc:  00 00 00 00
+# Reg NUM:NUM = 0x4f
+# Write 16 bytes  to  0x11004b00:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042c0:  00 00 00 00
+# Reg NUM:NUM = 0x4e
+# Write 16 bytes  to  0x11004b10:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042c4:  00 00 00 00
+# Reg NUM:NUM = 0x4d
+# Write 16 bytes  to  0x11004b20:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042c8:  00 00 00 00
+# Reg NUM:NUM = 0x4c
+# Write 16 bytes  to  0x11004b30:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042cc:  00 00 00 00
+# Reg NUM:NUM = 0x4b
+# Write 16 bytes  to  0x11004b40:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042d0:  00 00 00 00
+# Reg NUM:NUM = 0x4a
+# Write 16 bytes  to  0x11004b50:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042d4:  00 00 00 00
+# Reg NUM:NUM = 0x49
+# Write 16 bytes  to  0x11004b60:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042d8:  00 00 00 00
+# Reg NUM:NUM = 0x48
+# Write 16 bytes  to  0x11004b70:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042dc:  00 00 00 00
+# Reg NUM:NUM = 0x47
+# Write 16 bytes  to  0x11004b80:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042e0:  00 00 00 00
+# Reg NUM:NUM = 0x46
+# Write 16 bytes  to  0x11004b90:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042e4:  00 00 00 00
+# Reg NUM:NUM = 0x45
+# Write 16 bytes  to  0x11004ba0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042e8:  00 00 00 00
+# Reg NUM:NUM = 0x44
+# Write 16 bytes  to  0x11004bb0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042ec:  00 00 00 00
+# Reg NUM:NUM = 0x43
+# Write 16 bytes  to  0x11004bc0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042f0:  00 00 00 00
+# Reg NUM:NUM = 0x42
+# Write 16 bytes  to  0x11004bd0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042f4:  00 00 00 00
+# Reg NUM:NUM = 0x41
+# Write 16 bytes  to  0x11004be0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042f8:  00 00 00 00
+# Reg NUM:NUM = 0x40
+# Write 16 bytes  to  0x11004bf0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210042fc:  00 00 00 00
+# Reg NUM:NUM = 0x3f
+# Write 16 bytes  to  0x11004c00:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004300:  00 00 00 00
+# Reg NUM:NUM = 0x3e
+# Write 16 bytes  to  0x11004c10:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004304:  00 00 00 00
+# Reg NUM:NUM = 0x3d
+# Write 16 bytes  to  0x11004c20:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004308:  00 00 00 00
+# Reg NUM:NUM = 0x3c
+# Write 16 bytes  to  0x11004c30:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100430c:  00 00 00 00
+# Reg NUM:NUM = 0x3b
+# Write 16 bytes  to  0x11004c40:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004310:  00 00 00 00
+# Reg NUM:NUM = 0x3a
+# Write 16 bytes  to  0x11004c50:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004314:  00 00 00 00
+# Reg NUM:NUM = 0x39
+# Write 16 bytes  to  0x11004c60:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004318:  00 00 00 00
+# Reg NUM:NUM = 0x38
+# Write 16 bytes  to  0x11004c70:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100431c:  00 00 00 00
+# Reg NUM:NUM = 0x37
+# Write 16 bytes  to  0x11004c80:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004320:  00 00 00 00
+# Reg NUM:NUM = 0x36
+# Write 16 bytes  to  0x11004c90:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004324:  00 00 00 00
+# Reg NUM:NUM = 0x35
+# Write 16 bytes  to  0x11004ca0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004328:  00 00 00 00
+# Reg NUM:NUM = 0x34
+# Write 16 bytes  to  0x11004cb0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100432c:  00 00 00 00
+# Reg NUM:NUM = 0x33
+# Write 16 bytes  to  0x11004cc0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004330:  00 00 00 00
+# Reg NUM:NUM = 0x32
+# Write 16 bytes  to  0x11004cd0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004334:  00 00 00 00
+# Reg NUM:NUM = 0x31
+# Write 16 bytes  to  0x11004ce0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004338:  00 00 00 00
+# Reg NUM:NUM = 0x30
+# Write 16 bytes  to  0x11004cf0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100433c:  00 00 00 00
+# Reg NUM:NUM = 0x2f
+# Write 16 bytes  to  0x11004d00:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004340:  00 00 00 00
+# Reg NUM:NUM = 0x2e
+# Write 16 bytes  to  0x11004d10:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004344:  00 00 00 00
+# Reg NUM:NUM = 0x2d
+# Write 16 bytes  to  0x11004d20:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004348:  00 00 00 00
+# Reg NUM:NUM = 0x2c
+# Write 16 bytes  to  0x11004d30:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100434c:  00 00 00 00
+# Reg NUM:NUM = 0x2b
+# Write 16 bytes  to  0x11004d40:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004350:  00 00 00 00
+# Reg NUM:NUM = 0x2a
+# Write 16 bytes  to  0x11004d50:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004354:  00 00 00 00
+# Reg NUM:NUM = 0x29
+# Write 16 bytes  to  0x11004d60:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004358:  00 00 00 00
+# Reg NUM:NUM = 0x28
+# Write 16 bytes  to  0x11004d70:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100435c:  00 00 00 00
+# Reg NUM:NUM = 0x27
+# Write 16 bytes  to  0x11004d80:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004360:  00 00 00 00
+# Reg NUM:NUM = 0x26
+# Write 16 bytes  to  0x11004d90:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004364:  00 00 00 00
+# Reg NUM:NUM = 0x25
+# Write 16 bytes  to  0x11004da0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004368:  00 00 00 00
+# Reg NUM:NUM = 0x24
+# Write 16 bytes  to  0x11004db0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100436c:  00 00 00 00
+# Reg NUM:NUM = 0x23
+# Write 16 bytes  to  0x11004dc0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004370:  00 00 00 00
+# Reg NUM:NUM = 0x22
+# Write 16 bytes  to  0x11004dd0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004374:  00 00 00 00
+# Reg NUM:NUM = 0x21
+# Write 16 bytes  to  0x11004de0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004378:  00 00 00 00
+# Reg NUM:NUM = 0x20
+# Write 16 bytes  to  0x11004df0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100437c:  00 00 00 00
+# Reg NUM:NUM = 0x1f
+# Write 16 bytes  to  0x11004e00:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004380:  00 00 00 00
+# Reg NUM:NUM = 0x1e
+# Write 16 bytes  to  0x11004e10:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004384:  00 00 00 00
+# Reg NUM:NUM = 0x1d
+# Write 16 bytes  to  0x11004e20:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004388:  00 00 00 00
+# Reg NUM:NUM = 0x1c
+# Write 16 bytes  to  0x11004e30:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100438c:  00 00 00 00
+# Reg NUM:NUM = 0x1b
+# Write 16 bytes  to  0x11004e40:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004390:  00 00 00 00
+# Reg NUM:NUM = 0x1a
+# Write 16 bytes  to  0x11004e50:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004394:  00 00 00 00
+# Reg NUM:NUM = 0x19
+# Write 16 bytes  to  0x11004e60:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x21004398:  00 00 00 00
+# Reg NUM:NUM = 0x18
+# Write 16 bytes  to  0x11004e70:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x2100439c:  00 00 00 00
+# Reg NUM:NUM = 0x17
+# Write 16 bytes  to  0x11004e80:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043a0:  00 00 00 00
+# Reg NUM:NUM = 0x16
+# Write 16 bytes  to  0x11004e90:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043a4:  00 00 00 00
+# Reg NUM:NUM = 0x15
+# Write 16 bytes  to  0x11004ea0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043a8:  00 00 00 00
+# Reg NUM:NUM = 0x14
+# Write 16 bytes  to  0x11004eb0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043ac:  00 00 00 00
+# Reg NUM:NUM = 0x13
+# Write 16 bytes  to  0x11004ec0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043b0:  00 00 00 00
+# Reg NUM:NUM = 0x12
+# Write 16 bytes  to  0x11004ed0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043b4:  00 00 00 00
+# Reg NUM:NUM = 0x11
+# Write 16 bytes  to  0x11004ee0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043b8:  00 00 00 00
+# Reg NUM:NUM = 0x10
+# Write 16 bytes  to  0x11004ef0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043bc:  00 00 00 00
+# Reg NUM:NUM = 0xf
+# Write 16 bytes  to  0x11004f00:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043c0:  00 00 00 00
+# Reg NUM:NUM = 0xe
+# Write 16 bytes  to  0x11004f10:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043c4:  00 00 00 00
+# Reg NUM:NUM = 0xd
+# Write 16 bytes  to  0x11004f20:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043c8:  00 00 00 00
+# Reg NUM:NUM = 0xc
+# Write 16 bytes  to  0x11004f30:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043cc:  00 00 00 00
+# Reg NUM:NUM = 0xb
+# Write 16 bytes  to  0x11004f40:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043d0:  00 00 00 00
+# Reg NUM:NUM = 0xa
+# Write 16 bytes  to  0x11004f50:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043d4:  00 00 00 00
+# Reg NUM:NUM = 0x9
+# Write 16 bytes  to  0x11004f60:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043d8:  00 00 00 00
+# Reg NUM:NUM = 0x8
+# Write 16 bytes  to  0x11004f70:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043dc:  00 00 00 00
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004f80:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043e0:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004f90:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043e4:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x11004fa0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043e8:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x11004fb0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043ec:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x11004fc0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043f0:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x11004fd0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043f4:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x11004fe0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043f8:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x11004ff0:  ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00
+# Write  4 bytes  to  0x210043fc:  00 00 00 00
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x30000000_7c000000_01000000_0000ffff 0x00000000 PPP.
+0 0x00000103_00000102_00000101_00000100 0x00000000 ....
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x00001002_00001001_00001000_31000000 0x00000000 ...P
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg CYCLE:WL = 0x4
+# Reg CYCLE:CL = 0x4
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x10
+# Reg NUM:NUM = 0xf
+# Write 16 bytes  to  0x11004000:  00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x21004000:  00 00 00 00
+# Reg NUM:NUM = 0xe
+# Write 16 bytes  to  0x11004010:  10 00 00 00 11 00 00 00 12 00 00 00 13 00 00 00
+# Write  4 bytes  to  0x21004004:  00 00 00 00
+# Reg NUM:NUM = 0xd
+# Write 16 bytes  to  0x11004020:  20 00 00 00 21 00 00 00 22 00 00 00 23 00 00 00
+# Write  4 bytes  to  0x21004008:  00 00 00 00
+# Reg NUM:NUM = 0xc
+# Write 16 bytes  to  0x11004030:  30 00 00 00 31 00 00 00 32 00 00 00 33 00 00 00
+# Write  4 bytes  to  0x2100400c:  00 00 00 00
+# Reg NUM:NUM = 0xb
+# Write 16 bytes  to  0x11004040:  40 00 00 00 41 00 00 00 42 00 00 00 43 00 00 00
+# Write  4 bytes  to  0x21004010:  00 00 00 00
+# Reg NUM:NUM = 0xa
+# Write 16 bytes  to  0x11004050:  50 00 00 00 51 00 00 00 52 00 00 00 53 00 00 00
+# Write  4 bytes  to  0x21004014:  00 00 00 00
+# Reg NUM:NUM = 0x9
+# Write 16 bytes  to  0x11004060:  60 00 00 00 61 00 00 00 62 00 00 00 63 00 00 00
+# Write  4 bytes  to  0x21004018:  00 00 00 00
+# Reg NUM:NUM = 0x8
+# Write 16 bytes  to  0x11004070:  70 00 00 00 71 00 00 00 72 00 00 00 73 00 00 00
+# Write  4 bytes  to  0x2100401c:  00 00 00 00
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004080:  80 00 00 00 81 00 00 00 82 00 00 00 83 00 00 00
+# Write  4 bytes  to  0x21004020:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004090:  90 00 00 00 91 00 00 00 92 00 00 00 93 00 00 00
+# Write  4 bytes  to  0x21004024:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x110040a0:  a0 00 00 00 a1 00 00 00 a2 00 00 00 a3 00 00 00
+# Write  4 bytes  to  0x21004028:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x110040b0:  b0 00 00 00 b1 00 00 00 b2 00 00 00 b3 00 00 00
+# Write  4 bytes  to  0x2100402c:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x110040c0:  c0 00 00 00 c1 00 00 00 c2 00 00 00 c3 00 00 00
+# Write  4 bytes  to  0x21004030:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x110040d0:  d0 00 00 00 d1 00 00 00 d2 00 00 00 d3 00 00 00
+# Write  4 bytes  to  0x21004034:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x110040e0:  e0 00 00 00 e1 00 00 00 e2 00 00 00 e3 00 00 00
+# Write  4 bytes  to  0x21004038:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x110040f0:  f0 00 00 00 f1 00 00 00 f2 00 00 00 f3 00 00 00
+# Write  4 bytes  to  0x2100403c:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x6c100000_01000404_05000000_00001003 0x00000000 PPP.
+0 0x00000003_00000002_00000001_00000000 0x00000000 ....
+0 0x00000013_00000012_00000011_00000010 0x00000000 ....
+0 0x00000023_00000022_00000021_00000020 0x00000000 ....
+0 0x00000033_00000032_00000031_00000030 0x00000000 ....
+0 0x00000043_00000042_00000041_00000040 0x00000000 ....
+0 0x00000053_00000052_00000051_00000050 0x00000000 ....
+0 0x00000063_00000062_00000061_00000060 0x00000000 ....
+0 0x00000073_00000072_00000071_00000070 0x00000000 ....
+0 0x00000083_00000082_00000081_00000080 0x00000000 ....
+0 0x00000093_00000092_00000091_00000090 0x00000000 ....
+0 0x000000a3_000000a2_000000a1_000000a0 0x00000000 ....
+0 0x000000b3_000000b2_000000b1_000000b0 0x00000000 ....
+0 0x000000c3_000000c2_000000c1_000000c0 0x00000000 ....
+0 0x000000d3_000000d2_000000d1_000000d0 0x00000000 ....
+0 0x000000e3_000000e2_000000e1_000000e0 0x00000000 ....
+0 0x000000f3_000000f2_000000f1_000000f0 0x00000000 ....
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg CYCLE:CL = 0x8
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x8
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004100:  00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x21004040:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004110:  10 00 00 00 11 00 00 00 12 00 00 00 13 00 00 00
+# Write  4 bytes  to  0x21004044:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x11004120:  20 00 00 00 21 00 00 00 22 00 00 00 23 00 00 00
+# Write  4 bytes  to  0x21004048:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x11004130:  30 00 00 00 31 00 00 00 32 00 00 00 33 00 00 00
+# Write  4 bytes  to  0x2100404c:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x11004180:  40 00 00 00 41 00 00 00 42 00 00 00 43 00 00 00
+# Write  4 bytes  to  0x21004060:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x11004190:  50 00 00 00 51 00 00 00 52 00 00 00 53 00 00 00
+# Write  4 bytes  to  0x21004064:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x110041a0:  60 00 00 00 61 00 00 00 62 00 00 00 63 00 00 00
+# Write  4 bytes  to  0x21004068:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x110041b0:  70 00 00 00 71 00 00 00 72 00 00 00 73 00 00 00
+# Write  4 bytes  to  0x2100406c:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000001_00000000_6c080010_01000408 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000061_00000060_00000053_00000052 0x00000000 ....
+0 0x00000071_00000070_00000063_00000062 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg MASK:MASK = 0xaaaa0000
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0xaaaa0000_20000000_00000073_00000072 0x00000000 .P..
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg CYCLE:CL = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x8
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004200:  00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x21004080:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004210:  10 00 00 00 11 00 00 00 12 00 00 00 13 00 00 00
+# Write  4 bytes  to  0x21004084:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x11004220:  02 10 00 00 02 10 00 00 02 10 00 00 02 10 00 00
+# Write  4 bytes  to  0x21004088:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x11004230:  03 10 00 00 03 10 00 00 03 10 00 00 03 10 00 00
+# Write  4 bytes  to  0x2100408c:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x11004240:  20 00 00 00 21 00 00 00 22 00 00 00 23 00 00 00
+# Write  4 bytes  to  0x21004090:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x11004250:  30 00 00 00 31 00 00 00 32 00 00 00 33 00 00 00
+# Write  4 bytes  to  0x21004094:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x11004260:  02 10 00 00 02 10 00 00 02 10 00 00 02 10 00 00
+# Write  4 bytes  to  0x21004098:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x11004270:  03 10 00 00 03 10 00 00 03 10 00 00 03 10 00 00
+# Write  4 bytes  to  0x2100409c:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000001_00000000_7c080020_01000402 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg MASK:MASK = 0x40100401
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x40100401_20000000_00000033_00000032 0x00000000 .P..
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg CYCLE:WL = 0x8
+# Reg CYCLE:CL = 0x8
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x10
+# Reg NUM:NUM = 0xf
+# Write 16 bytes  to  0x11004300:  00 01 00 00 01 00 00 00 02 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x210040c0:  00 00 00 00
+# Reg NUM:NUM = 0xe
+# Write 16 bytes  to  0x11004310:  10 00 00 00 01 01 00 00 12 00 00 00 13 00 00 00
+# Write  4 bytes  to  0x210040c4:  00 00 00 00
+# Reg NUM:NUM = 0xd
+# Write 16 bytes  to  0x11004320:  20 00 00 00 21 00 00 00 02 01 00 00 23 00 00 00
+# Write  4 bytes  to  0x210040c8:  00 00 00 00
+# Reg NUM:NUM = 0xc
+# Write 16 bytes  to  0x11004330:  30 00 00 00 31 00 00 00 32 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040cc:  00 00 00 00
+# Reg NUM:NUM = 0xb
+# Write 16 bytes  to  0x11004340:  40 00 00 00 41 00 00 00 42 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040d0:  00 00 00 00
+# Reg NUM:NUM = 0xa
+# Write 16 bytes  to  0x11004350:  50 00 00 00 51 00 00 00 52 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040d4:  00 00 00 00
+# Reg NUM:NUM = 0x9
+# Write 16 bytes  to  0x11004360:  60 00 00 00 61 00 00 00 62 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040d8:  00 00 00 00
+# Reg NUM:NUM = 0x8
+# Write 16 bytes  to  0x11004370:  70 00 00 00 71 00 00 00 72 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040dc:  00 00 00 00
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004380:  00 01 00 00 81 00 00 00 82 00 00 00 83 00 00 00
+# Write  4 bytes  to  0x210040e0:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004390:  90 00 00 00 01 01 00 00 92 00 00 00 93 00 00 00
+# Write  4 bytes  to  0x210040e4:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x110043a0:  a0 00 00 00 a1 00 00 00 02 01 00 00 a3 00 00 00
+# Write  4 bytes  to  0x210040e8:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x110043b0:  b0 00 00 00 b1 00 00 00 b2 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040ec:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x110043c0:  c0 00 00 00 c1 00 00 00 c2 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040f0:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x110043d0:  d0 00 00 00 d1 00 00 00 d2 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040f4:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x110043e0:  e0 00 00 00 e1 00 00 00 e2 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040f8:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x110043f0:  f0 00 00 00 f1 00 00 00 f2 00 00 00 03 01 00 00
+# Write  4 bytes  to  0x210040fc:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000001_00000000_7c100030_01000808 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000061_00000060_00000053_00000052 0x00000000 ....
+0 0x00000071_00000070_00000063_00000062 0x00000000 ....
+0 0x00000081_00000080_00000073_00000072 0x00000000 ....
+0 0x00000091_00000090_00000083_00000082 0x00000000 ....
+0 0x000000a1_000000a0_00000093_00000092 0x00000000 ....
+0 0x000000b1_000000b0_000000a3_000000a2 0x00000000 ....
+0 0x000000c1_000000c0_000000b3_000000b2 0x00000000 ....
+0 0x000000d1_000000d0_000000c3_000000c2 0x00000000 ....
+0 0x000000e1_000000e0_000000d3_000000d2 0x00000000 ....
+0 0x000000f1_000000f0_000000e3_000000e2 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg MASK:MASK = 0x80200802
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x80200802_20000000_000000f3_000000f2 0x00000000 .P..
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x10
+# Reg NUM:NUM = 0xf
+# Write 16 bytes  to  0x11004400:  00 10 00 00 01 00 00 00 02 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x21004100:  00 00 00 00
+# Reg NUM:NUM = 0xe
+# Write 16 bytes  to  0x11004410:  10 00 00 00 01 10 00 00 12 00 00 00 13 00 00 00
+# Write  4 bytes  to  0x21004104:  00 00 00 00
+# Reg NUM:NUM = 0xd
+# Write 16 bytes  to  0x11004420:  20 00 00 00 21 00 00 00 02 10 00 00 23 00 00 00
+# Write  4 bytes  to  0x21004108:  00 00 00 00
+# Reg NUM:NUM = 0xc
+# Write 16 bytes  to  0x11004430:  30 00 00 00 31 00 00 00 32 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x2100410c:  00 00 00 00
+# Reg NUM:NUM = 0xb
+# Write 16 bytes  to  0x11004440:  40 00 00 00 41 00 00 00 42 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x21004110:  00 00 00 00
+# Reg NUM:NUM = 0xa
+# Write 16 bytes  to  0x11004450:  50 00 00 00 51 00 00 00 52 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x21004114:  00 00 00 00
+# Reg NUM:NUM = 0x9
+# Write 16 bytes  to  0x11004460:  60 00 00 00 61 00 00 00 62 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x21004118:  00 00 00 00
+# Reg NUM:NUM = 0x8
+# Write 16 bytes  to  0x11004470:  70 00 00 00 71 00 00 00 72 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x2100411c:  00 00 00 00
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004480:  00 10 00 00 81 00 00 00 82 00 00 00 83 00 00 00
+# Write  4 bytes  to  0x21004120:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004490:  90 00 00 00 01 10 00 00 92 00 00 00 93 00 00 00
+# Write  4 bytes  to  0x21004124:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x110044a0:  a0 00 00 00 a1 00 00 00 02 10 00 00 a3 00 00 00
+# Write  4 bytes  to  0x21004128:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x110044b0:  b0 00 00 00 b1 00 00 00 b2 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x2100412c:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x110044c0:  c0 00 00 00 c1 00 00 00 c2 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x21004130:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x110044d0:  d0 00 00 00 d1 00 00 00 d2 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x21004134:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x110044e0:  e0 00 00 00 e1 00 00 00 e2 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x21004138:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x110044f0:  f0 00 00 00 f1 00 00 00 f2 00 00 00 03 10 00 00
+# Write  4 bytes  to  0x2100413c:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000001_00000000_7c100040_01000808 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+0 0x00000061_00000060_00000053_00000052 0x00000000 ....
+0 0x00000071_00000070_00000063_00000062 0x00000000 ....
+0 0x00000081_00000080_00000073_00000072 0x00000000 ....
+0 0x00000091_00000090_00000083_00000082 0x00000000 ....
+0 0x000000a1_000000a0_00000093_00000092 0x00000000 ....
+0 0x000000b1_000000b0_000000a3_000000a2 0x00000000 ....
+0 0x000000c1_000000c0_000000b3_000000b2 0x00000000 ....
+0 0x000000d1_000000d0_000000c3_000000c2 0x00000000 ....
+0 0x000000e1_000000e0_000000d3_000000d2 0x00000000 ....
+0 0x000000f1_000000f0_000000e3_000000e2 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x80200802_20000000_000000f3_000000f2 0x00000000 .P..
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg CYCLE:WL = 0x3
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x6
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x11004600:  00 10 00 00 01 00 00 00 02 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x21004180:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x11004610:  10 00 00 00 01 10 00 00 12 00 00 00 13 00 00 00
+# Write  4 bytes  to  0x21004184:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x11004620:  20 00 00 00 21 00 00 00 02 10 00 00 23 00 00 00
+# Write  4 bytes  to  0x21004188:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x11004680:  00 10 00 00 31 00 00 00 32 00 00 00 33 00 00 00
+# Write  4 bytes  to  0x210041a0:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x11004690:  40 00 00 00 01 10 00 00 42 00 00 00 43 00 00 00
+# Write  4 bytes  to  0x210041a4:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x110046a0:  50 00 00 00 51 00 00 00 02 10 00 00 53 00 00 00
+# Write  4 bytes  to  0x210041a8:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000001_00000000_7c060060_01000308 0x00000000 ..PP
+0 0x00000011_00000010_00000003_00000002 0x00000000 ....
+0 0x00000021_00000020_00000013_00000012 0x00000000 ....
+0 0x00000031_00000030_00000023_00000022 0x00000000 ....
+0 0x00000041_00000040_00000033_00000032 0x00000000 ....
+0 0x00000051_00000050_00000043_00000042 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x00000100_30000000_00000053_00000052 0x00000000 .P..
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x31000000_00000103_00000102_00000101 0x00000000 P...
+0 0x00001003_00001002_00001001_00001000 0x00000000 ....
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg MODE:MDE = 0x1
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg MASK:MASK = 0x90909090
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x30000000_90909090_20000000_05000001 0x00000000 P.PP
+0 0x00004000_00000100_00000001_ffffffff 0x00000000 ....
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x00000002_00000001_00000000_31000000 0x00000000 ...P
+# Reg STAT:PPS = 0x2
+# Reg CYCLE:WL = 0x4
+# Reg CYCLE:CL = 0x4
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x8
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004700:  ff ff ff ff 02 00 00 00 00 02 00 00 00 40 00 00
+# Write  4 bytes  to  0x210041c0:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004710:  0f 00 00 00 12 00 00 00 00 02 00 00 01 40 00 00
+# Write  4 bytes  to  0x210041c4:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x11004720:  1f 00 00 00 22 00 00 00 00 02 00 00 02 40 00 00
+# Write  4 bytes  to  0x210041c8:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x11004730:  2f 00 00 00 32 00 00 00 00 02 00 00 03 40 00 00
+# Write  4 bytes  to  0x210041cc:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x11004740:  3f 00 00 00 42 00 00 00 00 02 00 00 00 40 00 00
+# Write  4 bytes  to  0x210041d0:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x11004750:  4f 00 00 00 52 00 00 00 00 02 00 00 01 40 00 00
+# Write  4 bytes  to  0x210041d4:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x11004760:  5f 00 00 00 62 00 00 00 00 02 00 00 02 40 00 00
+# Write  4 bytes  to  0x210041d8:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x11004770:  6f 00 00 00 72 00 00 00 00 02 00 00 03 40 00 00
+# Write  4 bytes  to  0x210041dc:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000000_7c080070_01000404_00000003 0x00000000 .PP.
+0 0x00000010_00000003_00000002_00000001 0x00000000 ....
+0 0x00000020_00000013_00000012_00000011 0x00000000 ....
+0 0x00000030_00000023_00000022_00000021 0x00000000 ....
+0 0x00000040_00000033_00000032_00000031 0x00000000 ....
+0 0x00000050_00000043_00000042_00000041 0x00000000 ....
+0 0x00000060_00000053_00000052_00000051 0x00000000 ....
+0 0x00000070_00000063_00000062_00000061 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg MODE:MDE = 0x2
+0 0x05000002_00000073_00000072_00000071 0x00000000 P...
+# Reg STAT:FQC = 0x0
+# Reg STAT:PPS = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x00000000_30000000_90909090_20000000 0x00000000 .P.P
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x1
+# Reg NUM:NUM = 0x0
+# Reg STAT:PPS = 0x0
+0 0x31000000_00000000_00000001_00000000 0x00000000 P...
+0 0x00000003_00000002_00000001_00000000 0x00000000 ....
+# Reg STAT:FQC = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0x8
+# Reg NUM:NUM = 0x7
+# Write 16 bytes  to  0x11004780:  01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00
+# Write  4 bytes  to  0x210041e0:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write 16 bytes  to  0x11004790:  02 00 00 00 02 00 00 00 04 00 00 00 01 00 00 00
+# Write  4 bytes  to  0x210041e4:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write 16 bytes  to  0x110047a0:  03 00 00 00 03 00 00 00 08 00 00 00 03 00 00 00
+# Write  4 bytes  to  0x210041e8:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write 16 bytes  to  0x110047b0:  04 00 00 00 02 00 00 00 10 00 00 00 06 00 00 00
+# Write  4 bytes  to  0x210041ec:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write 16 bytes  to  0x110047c0:  05 00 00 00 00 00 00 00 20 00 00 00 06 00 00 00
+# Write  4 bytes  to  0x210041f0:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write 16 bytes  to  0x110047d0:  06 00 00 00 02 00 00 00 40 00 00 00 07 00 00 00
+# Write  4 bytes  to  0x210041f4:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write 16 bytes  to  0x110047e0:  07 00 00 00 05 00 00 00 80 00 00 00 09 00 00 00
+# Write  4 bytes  to  0x210041f8:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write 16 bytes  to  0x110047f0:  08 00 00 00 00 00 00 00 00 01 00 00 0c 00 00 00
+# Write  4 bytes  to  0x210041fc:  00 00 00 00
+# Reg STAT:PPS = 0x0
+0 0x00000001_00000001_7c080078_01000404 0x00000000 ..PP
+0 0x00000001_00000001_00000003_00000002 0x00000000 ....
+0 0x00000001_00000001_00000013_00000012 0x00000000 ....
+0 0xffffffff_00000001_00000023_00000022 0x00000000 ....
+0 0xfffffffe_00000001_00000033_00000032 0x00000000 ....
+0 0x00000002_00000001_00000043_00000042 0x00000000 ....
+0 0x00000003_00000001_00000053_00000052 0x00000000 ....
+0 0xfffffffb_00000001_00000063_00000062 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+0 0x00000000_00000000_00000073_00000072 0x00000000 PP..
+# Reg STAT:FQC = 0x0
+# Reg STAT:PPS = 0x0
diff --git a/sim/testsuite/sky/t-pke2.trc b/sim/testsuite/sky/t-pke2.trc
new file mode 100644 (file)
index 0000000..6f3a6fe
--- /dev/null
@@ -0,0 +1,125 @@
+# PKE tests from SCEI VPE simulator
+# Converted by FChE by hand from SCEI VPE simulator sample.
+#
+# DMADATA my_program: a block of VU object code from VPE sample/test00.ppp
+#
+# Perform an MPG to load following block of 195 instructions into VU1 @ 0
+# I=0 CMD=MPG NUM=195=0xC3 IMM=0
+1 0x4ac30000_00000000_00000000_00000000 0x00000000 PPPP
+1 0x000002ff_10020016_000002ff_10010000 0x00000000 ....
+1 0x000002ff_420f0074_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_1001001a_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_1003001e_000002ff_10020016 0x00000000 ....
+1 0x000002ff_420f0052_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_1004001e_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_81e4237c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_81e6237c_000002ff_81e5237c 0x00000000 ....
+1 0x000002ff_11e107ff_000002ff_81e7237c 0x00000000 ....
+1 0x000002ff_10090000_000002ff_10030001 0x00000000 ....
+1 0x400002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_52090002_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_100c005f_000002ff_800506bc 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_10082801_000002ff_090b2800 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_80015af4 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_800058b0_000002ff_800b41b0 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_10076004_000002ff_81fe337c 0x00000000 ....
+1 0x000002ff_81f5437c_000002ff_100d6005 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_800b5ff2 0x00000000 ....
+1 0x01f6a97c_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_03edb000_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_100d6802_000002ff_520b07f6 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_800012f0 0x00000000 ....
+1 0x01fe21bc_03ecd800_01e0ff5b_81ff03bc 0x00000000 ....
+1 0x01fe30be_800c60b2_01fe28bd_800b5ff2 0x00000000 ....
+1 0x01fbe17d_81fe337c_01fe3fcb_8000033c 0x00000000 ....
+1 0x01e0ef1c_8000033c_000002ff_520b07f9 0x00000000 ....
+1 0x000002ff_03ecd800_000002ff_81ff03bc 0x00000000 ....
+1 0x000002ff_01f42800_000002ff_800c60b2 0x00000000 ....
+1 0x01fbe17d_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x01e0ff1c_03e7a000_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_03ecd800_000002ff_8000033c 0x00000000 ....
+1 0x01fbe17d_8000033c_000002ff_800c60b2 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_03ecd800_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_800c60b2 0x00000000 ....
+1 0x000002ff_80003efc_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_80091a71 0x00000000 ....
+1 0x000002ff_8000033c_400002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_400007be 0x00000000 ....
+1 0x000002ff_81e40b7c_000002ff_81e8137c 0x00000000 ....
+1 0x000002ff_81e60b7c_000002ff_81e50b7c 0x00000000 ....
+1 0x01e821bc_81e9137c_000002ff_81e70b7c 0x00000000 ....
+1 0x01e830be_8000033c_01e828bd_8000033c 0x00000000 ....
+1 0x01e921bc_81ea137c_01e83b0b_8000033c 0x00000000 ....
+1 0x01e930be_8000033c_01e928bd_8000033c 0x00000000 ....
+1 0x01ea21bc_81eb137c_01e93b4b_81e3637d 0x00000000 ....
+1 0x01ea30be_8000033c_01ea28bd_8000033c 0x00000000 ....
+1 0x01eb21bc_8000033c_01ea3b8b_81e36b7d 0x00000000 ....
+1 0x01eb30be_8000033c_01eb28bd_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_01eb3bcb_81e3737d 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_81e37b7d 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_48007800 0x00000000 ....
+1 0x01e00158_81e20b7c_01e00118_81e10b7c 0x00000000 ....
+1 0x800002ff_3fc90fda_01e00198_81e30b7c 0x00000000 ....
+1 0x000002ff_8000033c_01002103_80000ffc 0x00000000 ....
+1 0x01e010a2_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8045067c_000002ff_800007bf 0x00000000 ....
+1 0x000002ff_800017fc_000002ff_8086067c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_800007bf_01e0319a_8000033c 0x00000000 ....
+1 0x000002ff_8046067c_000002ff_8085067c 0x00000000 ....
+1 0x01e00218_8000033c_01e001d8_80200ffc 0x00000000 ....
+1 0x000002ff_8000033c_01e00258_8000033c 0x00000000 ....
+1 0x00804203_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8047067c_000002ff_800007bf 0x00000000 ....
+1 0x000002ff_802017fc_000002ff_8109067c 0x00000000 ....
+1 0x01e039da_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8107067c_000002ff_800007bf 0x00000000 ....
+1 0x01e00298_80400ffc_000002ff_8049067c 0x00000000 ....
+1 0x01e00318_8000033c_01e002d8_8000033c 0x00000000 ....
+1 0x01c728bd_8000033c_01c721bc_8000033c 0x00000000 ....
+1 0x00406303_8000033c_01c731ca_8000033c 0x00000000 ....
+1 0x01c828bd_8000033c_01c821bc_8000033c 0x00000000 ....
+1 0x01c921bc_8000033c_01c8320a_8000033c 0x00000000 ....
+1 0x01c9324a_8000033c_01c928bd_8000033c 0x00000000 ....
+1 0x000002ff_808a067c_000002ff_800007bf 0x00000000 ....
+1 0x000002ff_804017fc_000002ff_810b067c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_800007bf_01e05ada_8000033c 0x00000000 ....
+1 0x000002ff_808b067c_000002ff_810a067c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x01ca40bd_8000033c_01ca39bc_8000033c 0x00000000 ....
+1 0x01cb39bc_8000033c_01ca4a8a_8000033c 0x00000000 ....
+1 0x01cb4aca_8000033c_01cb40bd_8000033c 0x00000000 ....
+1 0x01cc40bd_8000033c_01cc39bc_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_01cc4b0a_8000033c 0x00000000 ....
+1 0x000002ff_81c25b7d_000002ff_81c2537d 0x00000000 ....
+1 0x000002ff_81c21b7d_000002ff_81c2637d 0x00000000 ....
+1 0x000002ff_48007800_000002ff_8000033c 0x00000000 ....
+1 0x00000000_00000000_000002ff_8000033c 0x00000000 PP..
+#
+# Perform a DIRECT to load following block of words into GPUIF
+# I=0 CMD=DIRECTHL NUM=0 IMM=12=0xc
+1 0x5100000c_00000000_00000000_00000000 0x00000000 PPPP
+# GPUIF tag: PACKED, REGS={A_D}, NLOOP=11, EOP
+1 0x00000000_0000000e_10000000_0000800b 0x00000000 ....
+# Data words
+1 0x00000000_0000004c_00000000_000a0000 0x00000000 ....
+1 0x00000000_00000040_01df0000_027f0000 0x00000000 ....
+1 0x00000000_00000018_00007100_00006c00 0x00000000 ....
+1 0x00000000_0000001a_00000000_00000001 0x00000000 ....
+1 0x00000000_0000004e_00000000_01000096 0x00000000 ....
+1 0x00000000_00000047_00000000_00070000 0x00000000 ....
+1 0x00000000_00000046_00000000_00000001 0x00000000 ....
+1 0x00000000_00000058_00000000_00000000 0x00000000 ....
+1 0x00000000_00000059_00000000_00000000 0x00000000 ....
+1 0x00000000_0000005a_01e00280_00000000 0x00000000 ....
+1 0x00000000_0000005b_00000000_00000003 0x00000000 ....
+#
diff --git a/sim/testsuite/sky/t-pke2.vif1expect b/sim/testsuite/sky/t-pke2.vif1expect
new file mode 100644 (file)
index 0000000..fe75552
--- /dev/null
@@ -0,0 +1,933 @@
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Reg NUM:NUM = 0xc3
+# Reg NUM:NUM = 0xc2
+# Write  4 bytes  to  0x11008000:  00 00 01 10
+# Write  4 bytes  to  0x11008004:  ff 02 00 00
+# Write  4 bytes  to  0x21008000:  00 00 00 00
+# Reg NUM:NUM = 0xc1
+# Write  4 bytes  to  0x11008008:  16 00 02 10
+# Write  4 bytes  to  0x1100800c:  ff 02 00 00
+# Write  4 bytes  to  0x21008004:  00 00 00 00
+# Reg NUM:NUM = 0xc0
+# Write  4 bytes  to  0x11008010:  3c 03 00 80
+# Write  4 bytes  to  0x11008014:  ff 02 00 00
+# Write  4 bytes  to  0x21008008:  00 00 00 00
+# Reg NUM:NUM = 0xbf
+# Write  4 bytes  to  0x11008018:  74 00 0f 42
+# Write  4 bytes  to  0x1100801c:  ff 02 00 00
+# Write  4 bytes  to  0x2100800c:  00 00 00 00
+# Reg NUM:NUM = 0xbe
+# Write  4 bytes  to  0x11008020:  3c 03 00 80
+# Write  4 bytes  to  0x11008024:  ff 02 00 00
+# Write  4 bytes  to  0x21008010:  00 00 00 00
+# Reg NUM:NUM = 0xbd
+# Write  4 bytes  to  0x11008028:  1a 00 01 10
+# Write  4 bytes  to  0x1100802c:  ff 02 00 00
+# Write  4 bytes  to  0x21008014:  00 00 00 00
+# Reg NUM:NUM = 0xbc
+# Write  4 bytes  to  0x11008030:  16 00 02 10
+# Write  4 bytes  to  0x11008034:  ff 02 00 00
+# Write  4 bytes  to  0x21008018:  00 00 00 00
+# Reg NUM:NUM = 0xbb
+# Write  4 bytes  to  0x11008038:  1e 00 03 10
+# Write  4 bytes  to  0x1100803c:  ff 02 00 00
+# Write  4 bytes  to  0x2100801c:  00 00 00 00
+# Reg NUM:NUM = 0xba
+# Write  4 bytes  to  0x11008040:  3c 03 00 80
+# Write  4 bytes  to  0x11008044:  ff 02 00 00
+# Write  4 bytes  to  0x21008020:  00 00 00 00
+# Reg NUM:NUM = 0xb9
+# Write  4 bytes  to  0x11008048:  52 00 0f 42
+# Write  4 bytes  to  0x1100804c:  ff 02 00 00
+# Write  4 bytes  to  0x21008024:  00 00 00 00
+# Reg NUM:NUM = 0xb8
+# Write  4 bytes  to  0x11008050:  3c 03 00 80
+# Write  4 bytes  to  0x11008054:  ff 02 00 00
+# Write  4 bytes  to  0x21008028:  00 00 00 00
+# Reg NUM:NUM = 0xb7
+# Write  4 bytes  to  0x11008058:  1e 00 04 10
+# Write  4 bytes  to  0x1100805c:  ff 02 00 00
+# Write  4 bytes  to  0x2100802c:  00 00 00 00
+# Reg NUM:NUM = 0xb6
+# Write  4 bytes  to  0x11008060:  3c 03 00 80
+# Write  4 bytes  to  0x11008064:  ff 02 00 00
+# Write  4 bytes  to  0x21008030:  00 00 00 00
+# Reg NUM:NUM = 0xb5
+# Write  4 bytes  to  0x11008068:  3c 03 00 80
+# Write  4 bytes  to  0x1100806c:  ff 02 00 00
+# Write  4 bytes  to  0x21008034:  00 00 00 00
+# Reg NUM:NUM = 0xb4
+# Write  4 bytes  to  0x11008070:  3c 03 00 80
+# Write  4 bytes  to  0x11008074:  ff 02 00 00
+# Write  4 bytes  to  0x21008038:  00 00 00 00
+# Reg NUM:NUM = 0xb3
+# Write  4 bytes  to  0x11008078:  7c 23 e4 81
+# Write  4 bytes  to  0x1100807c:  ff 02 00 00
+# Write  4 bytes  to  0x2100803c:  00 00 00 00
+# Reg NUM:NUM = 0xb2
+# Write  4 bytes  to  0x11008080:  7c 23 e5 81
+# Write  4 bytes  to  0x11008084:  ff 02 00 00
+# Write  4 bytes  to  0x21008040:  00 00 00 00
+# Reg NUM:NUM = 0xb1
+# Write  4 bytes  to  0x11008088:  7c 23 e6 81
+# Write  4 bytes  to  0x1100808c:  ff 02 00 00
+# Write  4 bytes  to  0x21008044:  00 00 00 00
+# Reg NUM:NUM = 0xb0
+# Write  4 bytes  to  0x11008090:  7c 23 e7 81
+# Write  4 bytes  to  0x11008094:  ff 02 00 00
+# Write  4 bytes  to  0x21008048:  00 00 00 00
+# Reg NUM:NUM = 0xaf
+# Write  4 bytes  to  0x11008098:  ff 07 e1 11
+# Write  4 bytes  to  0x1100809c:  ff 02 00 00
+# Write  4 bytes  to  0x2100804c:  00 00 00 00
+# Reg NUM:NUM = 0xae
+# Write  4 bytes  to  0x110080a0:  01 00 03 10
+# Write  4 bytes  to  0x110080a4:  ff 02 00 00
+# Write  4 bytes  to  0x21008050:  00 00 00 00
+# Reg NUM:NUM = 0xad
+# Write  4 bytes  to  0x110080a8:  00 00 09 10
+# Write  4 bytes  to  0x110080ac:  ff 02 00 00
+# Write  4 bytes  to  0x21008054:  00 00 00 00
+# Reg NUM:NUM = 0xac
+# Write  4 bytes  to  0x110080b0:  3c 03 00 80
+# Write  4 bytes  to  0x110080b4:  ff 02 00 00
+# Write  4 bytes  to  0x21008058:  00 00 00 00
+# Reg NUM:NUM = 0xab
+# Write  4 bytes  to  0x110080b8:  3c 03 00 80
+# Write  4 bytes  to  0x110080bc:  ff 02 00 40
+# Write  4 bytes  to  0x2100805c:  00 00 00 00
+# Reg NUM:NUM = 0xaa
+# Write  4 bytes  to  0x110080c0:  3c 03 00 80
+# Write  4 bytes  to  0x110080c4:  ff 02 00 00
+# Write  4 bytes  to  0x21008060:  00 00 00 00
+# Reg NUM:NUM = 0xa9
+# Write  4 bytes  to  0x110080c8:  02 00 09 52
+# Write  4 bytes  to  0x110080cc:  ff 02 00 00
+# Write  4 bytes  to  0x21008064:  00 00 00 00
+# Reg NUM:NUM = 0xa8
+# Write  4 bytes  to  0x110080d0:  bc 06 05 80
+# Write  4 bytes  to  0x110080d4:  ff 02 00 00
+# Write  4 bytes  to  0x21008068:  00 00 00 00
+# Reg NUM:NUM = 0xa7
+# Write  4 bytes  to  0x110080d8:  5f 00 0c 10
+# Write  4 bytes  to  0x110080dc:  ff 02 00 00
+# Write  4 bytes  to  0x2100806c:  00 00 00 00
+# Reg NUM:NUM = 0xa6
+# Write  4 bytes  to  0x110080e0:  3c 03 00 80
+# Write  4 bytes  to  0x110080e4:  ff 02 00 00
+# Write  4 bytes  to  0x21008070:  00 00 00 00
+# Reg NUM:NUM = 0xa5
+# Write  4 bytes  to  0x110080e8:  3c 03 00 80
+# Write  4 bytes  to  0x110080ec:  ff 02 00 00
+# Write  4 bytes  to  0x21008074:  00 00 00 00
+# Reg NUM:NUM = 0xa4
+# Write  4 bytes  to  0x110080f0:  00 28 0b 09
+# Write  4 bytes  to  0x110080f4:  ff 02 00 00
+# Write  4 bytes  to  0x21008078:  00 00 00 00
+# Reg NUM:NUM = 0xa3
+# Write  4 bytes  to  0x110080f8:  01 28 08 10
+# Write  4 bytes  to  0x110080fc:  ff 02 00 00
+# Write  4 bytes  to  0x2100807c:  00 00 00 00
+# Reg NUM:NUM = 0xa2
+# Write  4 bytes  to  0x11008100:  3c 03 00 80
+# Write  4 bytes  to  0x11008104:  ff 02 00 00
+# Write  4 bytes  to  0x21008080:  00 00 00 00
+# Reg NUM:NUM = 0xa1
+# Write  4 bytes  to  0x11008108:  3c 03 00 80
+# Write  4 bytes  to  0x1100810c:  ff 02 00 00
+# Write  4 bytes  to  0x21008084:  00 00 00 00
+# Reg NUM:NUM = 0xa0
+# Write  4 bytes  to  0x11008110:  f4 5a 01 80
+# Write  4 bytes  to  0x11008114:  ff 02 00 00
+# Write  4 bytes  to  0x21008088:  00 00 00 00
+# Reg NUM:NUM = 0x9f
+# Write  4 bytes  to  0x11008118:  3c 03 00 80
+# Write  4 bytes  to  0x1100811c:  ff 02 00 00
+# Write  4 bytes  to  0x2100808c:  00 00 00 00
+# Reg NUM:NUM = 0x9e
+# Write  4 bytes  to  0x11008120:  3c 03 00 80
+# Write  4 bytes  to  0x11008124:  ff 02 00 00
+# Write  4 bytes  to  0x21008090:  00 00 00 00
+# Reg NUM:NUM = 0x9d
+# Write  4 bytes  to  0x11008128:  3c 03 00 80
+# Write  4 bytes  to  0x1100812c:  ff 02 00 00
+# Write  4 bytes  to  0x21008094:  00 00 00 00
+# Reg NUM:NUM = 0x9c
+# Write  4 bytes  to  0x11008130:  b0 41 0b 80
+# Write  4 bytes  to  0x11008134:  ff 02 00 00
+# Write  4 bytes  to  0x21008098:  00 00 00 00
+# Reg NUM:NUM = 0x9b
+# Write  4 bytes  to  0x11008138:  b0 58 00 80
+# Write  4 bytes  to  0x1100813c:  ff 02 00 00
+# Write  4 bytes  to  0x2100809c:  00 00 00 00
+# Reg NUM:NUM = 0x9a
+# Write  4 bytes  to  0x11008140:  3c 03 00 80
+# Write  4 bytes  to  0x11008144:  ff 02 00 00
+# Write  4 bytes  to  0x210080a0:  00 00 00 00
+# Reg NUM:NUM = 0x99
+# Write  4 bytes  to  0x11008148:  3c 03 00 80
+# Write  4 bytes  to  0x1100814c:  ff 02 00 00
+# Write  4 bytes  to  0x210080a4:  00 00 00 00
+# Reg NUM:NUM = 0x98
+# Write  4 bytes  to  0x11008150:  7c 33 fe 81
+# Write  4 bytes  to  0x11008154:  ff 02 00 00
+# Write  4 bytes  to  0x210080a8:  00 00 00 00
+# Reg NUM:NUM = 0x97
+# Write  4 bytes  to  0x11008158:  04 60 07 10
+# Write  4 bytes  to  0x1100815c:  ff 02 00 00
+# Write  4 bytes  to  0x210080ac:  00 00 00 00
+# Reg NUM:NUM = 0x96
+# Write  4 bytes  to  0x11008160:  05 60 0d 10
+# Write  4 bytes  to  0x11008164:  ff 02 00 00
+# Write  4 bytes  to  0x210080b0:  00 00 00 00
+# Reg NUM:NUM = 0x95
+# Write  4 bytes  to  0x11008168:  7c 43 f5 81
+# Write  4 bytes  to  0x1100816c:  ff 02 00 00
+# Write  4 bytes  to  0x210080b4:  00 00 00 00
+# Reg NUM:NUM = 0x94
+# Write  4 bytes  to  0x11008170:  f2 5f 0b 80
+# Write  4 bytes  to  0x11008174:  ff 02 00 00
+# Write  4 bytes  to  0x210080b8:  00 00 00 00
+# Reg NUM:NUM = 0x93
+# Write  4 bytes  to  0x11008178:  3c 03 00 80
+# Write  4 bytes  to  0x1100817c:  ff 02 00 00
+# Write  4 bytes  to  0x210080bc:  00 00 00 00
+# Reg NUM:NUM = 0x92
+# Write  4 bytes  to  0x11008180:  3c 03 00 80
+# Write  4 bytes  to  0x11008184:  ff 02 00 00
+# Write  4 bytes  to  0x210080c0:  00 00 00 00
+# Reg NUM:NUM = 0x91
+# Write  4 bytes  to  0x11008188:  3c 03 00 80
+# Write  4 bytes  to  0x1100818c:  7c a9 f6 01
+# Write  4 bytes  to  0x210080c4:  00 00 00 00
+# Reg NUM:NUM = 0x90
+# Write  4 bytes  to  0x11008190:  3c 03 00 80
+# Write  4 bytes  to  0x11008194:  ff 02 00 00
+# Write  4 bytes  to  0x210080c8:  00 00 00 00
+# Reg NUM:NUM = 0x8f
+# Write  4 bytes  to  0x11008198:  3c 03 00 80
+# Write  4 bytes  to  0x1100819c:  ff 02 00 00
+# Write  4 bytes  to  0x210080cc:  00 00 00 00
+# Reg NUM:NUM = 0x8e
+# Write  4 bytes  to  0x110081a0:  3c 03 00 80
+# Write  4 bytes  to  0x110081a4:  ff 02 00 00
+# Write  4 bytes  to  0x210080d0:  00 00 00 00
+# Reg NUM:NUM = 0x8d
+# Write  4 bytes  to  0x110081a8:  00 b0 ed 03
+# Write  4 bytes  to  0x110081ac:  ff 02 00 00
+# Write  4 bytes  to  0x210080d4:  00 00 00 00
+# Reg NUM:NUM = 0x8c
+# Write  4 bytes  to  0x110081b0:  f6 07 0b 52
+# Write  4 bytes  to  0x110081b4:  ff 02 00 00
+# Write  4 bytes  to  0x210080d8:  00 00 00 00
+# Reg NUM:NUM = 0x8b
+# Write  4 bytes  to  0x110081b8:  02 68 0d 10
+# Write  4 bytes  to  0x110081bc:  ff 02 00 00
+# Write  4 bytes  to  0x210080dc:  00 00 00 00
+# Reg NUM:NUM = 0x8a
+# Write  4 bytes  to  0x110081c0:  f0 12 00 80
+# Write  4 bytes  to  0x110081c4:  ff 02 00 00
+# Write  4 bytes  to  0x210080e0:  00 00 00 00
+# Reg NUM:NUM = 0x89
+# Write  4 bytes  to  0x110081c8:  3c 03 00 80
+# Write  4 bytes  to  0x110081cc:  ff 02 00 00
+# Write  4 bytes  to  0x210080e4:  00 00 00 00
+# Reg NUM:NUM = 0x88
+# Write  4 bytes  to  0x110081d0:  bc 03 ff 81
+# Write  4 bytes  to  0x110081d4:  5b ff e0 01
+# Write  4 bytes  to  0x210080e8:  00 00 00 00
+# Reg NUM:NUM = 0x87
+# Write  4 bytes  to  0x110081d8:  00 d8 ec 03
+# Write  4 bytes  to  0x110081dc:  bc 21 fe 01
+# Write  4 bytes  to  0x210080ec:  00 00 00 00
+# Reg NUM:NUM = 0x86
+# Write  4 bytes  to  0x110081e0:  f2 5f 0b 80
+# Write  4 bytes  to  0x110081e4:  bd 28 fe 01
+# Write  4 bytes  to  0x210080f0:  00 00 00 00
+# Reg NUM:NUM = 0x85
+# Write  4 bytes  to  0x110081e8:  b2 60 0c 80
+# Write  4 bytes  to  0x110081ec:  be 30 fe 01
+# Write  4 bytes  to  0x210080f4:  00 00 00 00
+# Reg NUM:NUM = 0x84
+# Write  4 bytes  to  0x110081f0:  3c 03 00 80
+# Write  4 bytes  to  0x110081f4:  cb 3f fe 01
+# Write  4 bytes  to  0x210080f8:  00 00 00 00
+# Reg NUM:NUM = 0x83
+# Write  4 bytes  to  0x110081f8:  7c 33 fe 81
+# Write  4 bytes  to  0x110081fc:  7d e1 fb 01
+# Write  4 bytes  to  0x210080fc:  00 00 00 00
+# Reg NUM:NUM = 0x82
+# Write  4 bytes  to  0x11008200:  f9 07 0b 52
+# Write  4 bytes  to  0x11008204:  ff 02 00 00
+# Write  4 bytes  to  0x21008100:  00 00 00 00
+# Reg NUM:NUM = 0x81
+# Write  4 bytes  to  0x11008208:  3c 03 00 80
+# Write  4 bytes  to  0x1100820c:  1c ef e0 01
+# Write  4 bytes  to  0x21008104:  00 00 00 00
+# Reg NUM:NUM = 0x80
+# Write  4 bytes  to  0x11008210:  bc 03 ff 81
+# Write  4 bytes  to  0x11008214:  ff 02 00 00
+# Write  4 bytes  to  0x21008108:  00 00 00 00
+# Reg NUM:NUM = 0x7f
+# Write  4 bytes  to  0x11008218:  00 d8 ec 03
+# Write  4 bytes  to  0x1100821c:  ff 02 00 00
+# Write  4 bytes  to  0x2100810c:  00 00 00 00
+# Reg NUM:NUM = 0x7e
+# Write  4 bytes  to  0x11008220:  b2 60 0c 80
+# Write  4 bytes  to  0x11008224:  ff 02 00 00
+# Write  4 bytes  to  0x21008110:  00 00 00 00
+# Reg NUM:NUM = 0x7d
+# Write  4 bytes  to  0x11008228:  00 28 f4 01
+# Write  4 bytes  to  0x1100822c:  ff 02 00 00
+# Write  4 bytes  to  0x21008114:  00 00 00 00
+# Reg NUM:NUM = 0x7c
+# Write  4 bytes  to  0x11008230:  3c 03 00 80
+# Write  4 bytes  to  0x11008234:  ff 02 00 00
+# Write  4 bytes  to  0x21008118:  00 00 00 00
+# Reg NUM:NUM = 0x7b
+# Write  4 bytes  to  0x11008238:  3c 03 00 80
+# Write  4 bytes  to  0x1100823c:  7d e1 fb 01
+# Write  4 bytes  to  0x2100811c:  00 00 00 00
+# Reg NUM:NUM = 0x7a
+# Write  4 bytes  to  0x11008240:  3c 03 00 80
+# Write  4 bytes  to  0x11008244:  ff 02 00 00
+# Write  4 bytes  to  0x21008120:  00 00 00 00
+# Reg NUM:NUM = 0x79
+# Write  4 bytes  to  0x11008248:  00 a0 e7 03
+# Write  4 bytes  to  0x1100824c:  1c ff e0 01
+# Write  4 bytes  to  0x21008124:  00 00 00 00
+# Reg NUM:NUM = 0x78
+# Write  4 bytes  to  0x11008250:  3c 03 00 80
+# Write  4 bytes  to  0x11008254:  ff 02 00 00
+# Write  4 bytes  to  0x21008128:  00 00 00 00
+# Reg NUM:NUM = 0x77
+# Write  4 bytes  to  0x11008258:  00 d8 ec 03
+# Write  4 bytes  to  0x1100825c:  ff 02 00 00
+# Write  4 bytes  to  0x2100812c:  00 00 00 00
+# Reg NUM:NUM = 0x76
+# Write  4 bytes  to  0x11008260:  b2 60 0c 80
+# Write  4 bytes  to  0x11008264:  ff 02 00 00
+# Write  4 bytes  to  0x21008130:  00 00 00 00
+# Reg NUM:NUM = 0x75
+# Write  4 bytes  to  0x11008268:  3c 03 00 80
+# Write  4 bytes  to  0x1100826c:  7d e1 fb 01
+# Write  4 bytes  to  0x21008134:  00 00 00 00
+# Reg NUM:NUM = 0x74
+# Write  4 bytes  to  0x11008270:  3c 03 00 80
+# Write  4 bytes  to  0x11008274:  ff 02 00 00
+# Write  4 bytes  to  0x21008138:  00 00 00 00
+# Reg NUM:NUM = 0x73
+# Write  4 bytes  to  0x11008278:  3c 03 00 80
+# Write  4 bytes  to  0x1100827c:  ff 02 00 00
+# Write  4 bytes  to  0x2100813c:  00 00 00 00
+# Reg NUM:NUM = 0x72
+# Write  4 bytes  to  0x11008280:  3c 03 00 80
+# Write  4 bytes  to  0x11008284:  ff 02 00 00
+# Write  4 bytes  to  0x21008140:  00 00 00 00
+# Reg NUM:NUM = 0x71
+# Write  4 bytes  to  0x11008288:  00 d8 ec 03
+# Write  4 bytes  to  0x1100828c:  ff 02 00 00
+# Write  4 bytes  to  0x21008144:  00 00 00 00
+# Reg NUM:NUM = 0x70
+# Write  4 bytes  to  0x11008290:  b2 60 0c 80
+# Write  4 bytes  to  0x11008294:  ff 02 00 00
+# Write  4 bytes  to  0x21008148:  00 00 00 00
+# Reg NUM:NUM = 0x6f
+# Write  4 bytes  to  0x11008298:  3c 03 00 80
+# Write  4 bytes  to  0x1100829c:  ff 02 00 00
+# Write  4 bytes  to  0x2100814c:  00 00 00 00
+# Reg NUM:NUM = 0x6e
+# Write  4 bytes  to  0x110082a0:  3c 03 00 80
+# Write  4 bytes  to  0x110082a4:  ff 02 00 00
+# Write  4 bytes  to  0x21008150:  00 00 00 00
+# Reg NUM:NUM = 0x6d
+# Write  4 bytes  to  0x110082a8:  fc 3e 00 80
+# Write  4 bytes  to  0x110082ac:  ff 02 00 00
+# Write  4 bytes  to  0x21008154:  00 00 00 00
+# Reg NUM:NUM = 0x6c
+# Write  4 bytes  to  0x110082b0:  71 1a 09 80
+# Write  4 bytes  to  0x110082b4:  ff 02 00 00
+# Write  4 bytes  to  0x21008158:  00 00 00 00
+# Reg NUM:NUM = 0x6b
+# Write  4 bytes  to  0x110082b8:  3c 03 00 80
+# Write  4 bytes  to  0x110082bc:  ff 02 00 00
+# Write  4 bytes  to  0x2100815c:  00 00 00 00
+# Reg NUM:NUM = 0x6a
+# Write  4 bytes  to  0x110082c0:  3c 03 00 80
+# Write  4 bytes  to  0x110082c4:  ff 02 00 40
+# Write  4 bytes  to  0x21008160:  00 00 00 00
+# Reg NUM:NUM = 0x69
+# Write  4 bytes  to  0x110082c8:  3c 03 00 80
+# Write  4 bytes  to  0x110082cc:  ff 02 00 00
+# Write  4 bytes  to  0x21008164:  00 00 00 00
+# Reg NUM:NUM = 0x68
+# Write  4 bytes  to  0x110082d0:  be 07 00 40
+# Write  4 bytes  to  0x110082d4:  ff 02 00 00
+# Write  4 bytes  to  0x21008168:  00 00 00 00
+# Reg NUM:NUM = 0x67
+# Write  4 bytes  to  0x110082d8:  3c 03 00 80
+# Write  4 bytes  to  0x110082dc:  ff 02 00 00
+# Write  4 bytes  to  0x2100816c:  00 00 00 00
+# Reg NUM:NUM = 0x66
+# Write  4 bytes  to  0x110082e0:  7c 13 e8 81
+# Write  4 bytes  to  0x110082e4:  ff 02 00 00
+# Write  4 bytes  to  0x21008170:  00 00 00 00
+# Reg NUM:NUM = 0x65
+# Write  4 bytes  to  0x110082e8:  7c 0b e4 81
+# Write  4 bytes  to  0x110082ec:  ff 02 00 00
+# Write  4 bytes  to  0x21008174:  00 00 00 00
+# Reg NUM:NUM = 0x64
+# Write  4 bytes  to  0x110082f0:  7c 0b e5 81
+# Write  4 bytes  to  0x110082f4:  ff 02 00 00
+# Write  4 bytes  to  0x21008178:  00 00 00 00
+# Reg NUM:NUM = 0x63
+# Write  4 bytes  to  0x110082f8:  7c 0b e6 81
+# Write  4 bytes  to  0x110082fc:  ff 02 00 00
+# Write  4 bytes  to  0x2100817c:  00 00 00 00
+# Reg NUM:NUM = 0x62
+# Write  4 bytes  to  0x11008300:  7c 0b e7 81
+# Write  4 bytes  to  0x11008304:  ff 02 00 00
+# Write  4 bytes  to  0x21008180:  00 00 00 00
+# Reg NUM:NUM = 0x61
+# Write  4 bytes  to  0x11008308:  7c 13 e9 81
+# Write  4 bytes  to  0x1100830c:  bc 21 e8 01
+# Write  4 bytes  to  0x21008184:  00 00 00 00
+# Reg NUM:NUM = 0x60
+# Write  4 bytes  to  0x11008310:  3c 03 00 80
+# Write  4 bytes  to  0x11008314:  bd 28 e8 01
+# Write  4 bytes  to  0x21008188:  00 00 00 00
+# Reg NUM:NUM = 0x5f
+# Write  4 bytes  to  0x11008318:  3c 03 00 80
+# Write  4 bytes  to  0x1100831c:  be 30 e8 01
+# Write  4 bytes  to  0x2100818c:  00 00 00 00
+# Reg NUM:NUM = 0x5e
+# Write  4 bytes  to  0x11008320:  3c 03 00 80
+# Write  4 bytes  to  0x11008324:  0b 3b e8 01
+# Write  4 bytes  to  0x21008190:  00 00 00 00
+# Reg NUM:NUM = 0x5d
+# Write  4 bytes  to  0x11008328:  7c 13 ea 81
+# Write  4 bytes  to  0x1100832c:  bc 21 e9 01
+# Write  4 bytes  to  0x21008194:  00 00 00 00
+# Reg NUM:NUM = 0x5c
+# Write  4 bytes  to  0x11008330:  3c 03 00 80
+# Write  4 bytes  to  0x11008334:  bd 28 e9 01
+# Write  4 bytes  to  0x21008198:  00 00 00 00
+# Reg NUM:NUM = 0x5b
+# Write  4 bytes  to  0x11008338:  3c 03 00 80
+# Write  4 bytes  to  0x1100833c:  be 30 e9 01
+# Write  4 bytes  to  0x2100819c:  00 00 00 00
+# Reg NUM:NUM = 0x5a
+# Write  4 bytes  to  0x11008340:  7d 63 e3 81
+# Write  4 bytes  to  0x11008344:  4b 3b e9 01
+# Write  4 bytes  to  0x210081a0:  00 00 00 00
+# Reg NUM:NUM = 0x59
+# Write  4 bytes  to  0x11008348:  7c 13 eb 81
+# Write  4 bytes  to  0x1100834c:  bc 21 ea 01
+# Write  4 bytes  to  0x210081a4:  00 00 00 00
+# Reg NUM:NUM = 0x58
+# Write  4 bytes  to  0x11008350:  3c 03 00 80
+# Write  4 bytes  to  0x11008354:  bd 28 ea 01
+# Write  4 bytes  to  0x210081a8:  00 00 00 00
+# Reg NUM:NUM = 0x57
+# Write  4 bytes  to  0x11008358:  3c 03 00 80
+# Write  4 bytes  to  0x1100835c:  be 30 ea 01
+# Write  4 bytes  to  0x210081ac:  00 00 00 00
+# Reg NUM:NUM = 0x56
+# Write  4 bytes  to  0x11008360:  7d 6b e3 81
+# Write  4 bytes  to  0x11008364:  8b 3b ea 01
+# Write  4 bytes  to  0x210081b0:  00 00 00 00
+# Reg NUM:NUM = 0x55
+# Write  4 bytes  to  0x11008368:  3c 03 00 80
+# Write  4 bytes  to  0x1100836c:  bc 21 eb 01
+# Write  4 bytes  to  0x210081b4:  00 00 00 00
+# Reg NUM:NUM = 0x54
+# Write  4 bytes  to  0x11008370:  3c 03 00 80
+# Write  4 bytes  to  0x11008374:  bd 28 eb 01
+# Write  4 bytes  to  0x210081b8:  00 00 00 00
+# Reg NUM:NUM = 0x53
+# Write  4 bytes  to  0x11008378:  3c 03 00 80
+# Write  4 bytes  to  0x1100837c:  be 30 eb 01
+# Write  4 bytes  to  0x210081bc:  00 00 00 00
+# Reg NUM:NUM = 0x52
+# Write  4 bytes  to  0x11008380:  7d 73 e3 81
+# Write  4 bytes  to  0x11008384:  cb 3b eb 01
+# Write  4 bytes  to  0x210081c0:  00 00 00 00
+# Reg NUM:NUM = 0x51
+# Write  4 bytes  to  0x11008388:  3c 03 00 80
+# Write  4 bytes  to  0x1100838c:  ff 02 00 00
+# Write  4 bytes  to  0x210081c4:  00 00 00 00
+# Reg NUM:NUM = 0x50
+# Write  4 bytes  to  0x11008390:  3c 03 00 80
+# Write  4 bytes  to  0x11008394:  ff 02 00 00
+# Write  4 bytes  to  0x210081c8:  00 00 00 00
+# Reg NUM:NUM = 0x4f
+# Write  4 bytes  to  0x11008398:  3c 03 00 80
+# Write  4 bytes  to  0x1100839c:  ff 02 00 00
+# Write  4 bytes  to  0x210081cc:  00 00 00 00
+# Reg NUM:NUM = 0x4e
+# Write  4 bytes  to  0x110083a0:  7d 7b e3 81
+# Write  4 bytes  to  0x110083a4:  ff 02 00 00
+# Write  4 bytes  to  0x210081d0:  00 00 00 00
+# Reg NUM:NUM = 0x4d
+# Write  4 bytes  to  0x110083a8:  3c 03 00 80
+# Write  4 bytes  to  0x110083ac:  ff 02 00 00
+# Write  4 bytes  to  0x210081d4:  00 00 00 00
+# Reg NUM:NUM = 0x4c
+# Write  4 bytes  to  0x110083b0:  00 78 00 48
+# Write  4 bytes  to  0x110083b4:  ff 02 00 00
+# Write  4 bytes  to  0x210081d8:  00 00 00 00
+# Reg NUM:NUM = 0x4b
+# Write  4 bytes  to  0x110083b8:  3c 03 00 80
+# Write  4 bytes  to  0x110083bc:  ff 02 00 00
+# Write  4 bytes  to  0x210081dc:  00 00 00 00
+# Reg NUM:NUM = 0x4a
+# Write  4 bytes  to  0x110083c0:  7c 0b e1 81
+# Write  4 bytes  to  0x110083c4:  18 01 e0 01
+# Write  4 bytes  to  0x210081e0:  00 00 00 00
+# Reg NUM:NUM = 0x49
+# Write  4 bytes  to  0x110083c8:  7c 0b e2 81
+# Write  4 bytes  to  0x110083cc:  58 01 e0 01
+# Write  4 bytes  to  0x210081e4:  00 00 00 00
+# Reg NUM:NUM = 0x48
+# Write  4 bytes  to  0x110083d0:  7c 0b e3 81
+# Write  4 bytes  to  0x110083d4:  98 01 e0 01
+# Write  4 bytes  to  0x210081e8:  00 00 00 00
+# Reg NUM:NUM = 0x47
+# Write  4 bytes  to  0x110083d8:  da 0f c9 3f
+# Write  4 bytes  to  0x110083dc:  ff 02 00 80
+# Write  4 bytes  to  0x210081ec:  00 00 00 00
+# Reg NUM:NUM = 0x46
+# Write  4 bytes  to  0x110083e0:  fc 0f 00 80
+# Write  4 bytes  to  0x110083e4:  03 21 00 01
+# Write  4 bytes  to  0x210081f0:  00 00 00 00
+# Reg NUM:NUM = 0x45
+# Write  4 bytes  to  0x110083e8:  3c 03 00 80
+# Write  4 bytes  to  0x110083ec:  ff 02 00 00
+# Write  4 bytes  to  0x210081f4:  00 00 00 00
+# Reg NUM:NUM = 0x44
+# Write  4 bytes  to  0x110083f0:  3c 03 00 80
+# Write  4 bytes  to  0x110083f4:  ff 02 00 00
+# Write  4 bytes  to  0x210081f8:  00 00 00 00
+# Reg NUM:NUM = 0x43
+# Write  4 bytes  to  0x110083f8:  3c 03 00 80
+# Write  4 bytes  to  0x110083fc:  a2 10 e0 01
+# Write  4 bytes  to  0x210081fc:  00 00 00 00
+# Reg NUM:NUM = 0x42
+# Write  4 bytes  to  0x11008400:  bf 07 00 80
+# Write  4 bytes  to  0x11008404:  ff 02 00 00
+# Write  4 bytes  to  0x21008200:  00 00 00 00
+# Reg NUM:NUM = 0x41
+# Write  4 bytes  to  0x11008408:  7c 06 45 80
+# Write  4 bytes  to  0x1100840c:  ff 02 00 00
+# Write  4 bytes  to  0x21008204:  00 00 00 00
+# Reg NUM:NUM = 0x40
+# Write  4 bytes  to  0x11008410:  7c 06 86 80
+# Write  4 bytes  to  0x11008414:  ff 02 00 00
+# Write  4 bytes  to  0x21008208:  00 00 00 00
+# Reg NUM:NUM = 0x3f
+# Write  4 bytes  to  0x11008418:  fc 17 00 80
+# Write  4 bytes  to  0x1100841c:  ff 02 00 00
+# Write  4 bytes  to  0x2100820c:  00 00 00 00
+# Reg NUM:NUM = 0x3e
+# Write  4 bytes  to  0x11008420:  3c 03 00 80
+# Write  4 bytes  to  0x11008424:  ff 02 00 00
+# Write  4 bytes  to  0x21008210:  00 00 00 00
+# Reg NUM:NUM = 0x3d
+# Write  4 bytes  to  0x11008428:  3c 03 00 80
+# Write  4 bytes  to  0x1100842c:  ff 02 00 00
+# Write  4 bytes  to  0x21008214:  00 00 00 00
+# Reg NUM:NUM = 0x3c
+# Write  4 bytes  to  0x11008430:  3c 03 00 80
+# Write  4 bytes  to  0x11008434:  9a 31 e0 01
+# Write  4 bytes  to  0x21008218:  00 00 00 00
+# Reg NUM:NUM = 0x3b
+# Write  4 bytes  to  0x11008438:  bf 07 00 80
+# Write  4 bytes  to  0x1100843c:  ff 02 00 00
+# Write  4 bytes  to  0x2100821c:  00 00 00 00
+# Reg NUM:NUM = 0x3a
+# Write  4 bytes  to  0x11008440:  7c 06 85 80
+# Write  4 bytes  to  0x11008444:  ff 02 00 00
+# Write  4 bytes  to  0x21008220:  00 00 00 00
+# Reg NUM:NUM = 0x39
+# Write  4 bytes  to  0x11008448:  7c 06 46 80
+# Write  4 bytes  to  0x1100844c:  ff 02 00 00
+# Write  4 bytes  to  0x21008224:  00 00 00 00
+# Reg NUM:NUM = 0x38
+# Write  4 bytes  to  0x11008450:  fc 0f 20 80
+# Write  4 bytes  to  0x11008454:  d8 01 e0 01
+# Write  4 bytes  to  0x21008228:  00 00 00 00
+# Reg NUM:NUM = 0x37
+# Write  4 bytes  to  0x11008458:  3c 03 00 80
+# Write  4 bytes  to  0x1100845c:  18 02 e0 01
+# Write  4 bytes  to  0x2100822c:  00 00 00 00
+# Reg NUM:NUM = 0x36
+# Write  4 bytes  to  0x11008460:  3c 03 00 80
+# Write  4 bytes  to  0x11008464:  58 02 e0 01
+# Write  4 bytes  to  0x21008230:  00 00 00 00
+# Reg NUM:NUM = 0x35
+# Write  4 bytes  to  0x11008468:  3c 03 00 80
+# Write  4 bytes  to  0x1100846c:  ff 02 00 00
+# Write  4 bytes  to  0x21008234:  00 00 00 00
+# Reg NUM:NUM = 0x34
+# Write  4 bytes  to  0x11008470:  3c 03 00 80
+# Write  4 bytes  to  0x11008474:  ff 02 00 00
+# Write  4 bytes  to  0x21008238:  00 00 00 00
+# Reg NUM:NUM = 0x33
+# Write  4 bytes  to  0x11008478:  3c 03 00 80
+# Write  4 bytes  to  0x1100847c:  03 42 80 00
+# Write  4 bytes  to  0x2100823c:  00 00 00 00
+# Reg NUM:NUM = 0x32
+# Write  4 bytes  to  0x11008480:  bf 07 00 80
+# Write  4 bytes  to  0x11008484:  ff 02 00 00
+# Write  4 bytes  to  0x21008240:  00 00 00 00
+# Reg NUM:NUM = 0x31
+# Write  4 bytes  to  0x11008488:  7c 06 47 80
+# Write  4 bytes  to  0x1100848c:  ff 02 00 00
+# Write  4 bytes  to  0x21008244:  00 00 00 00
+# Reg NUM:NUM = 0x30
+# Write  4 bytes  to  0x11008490:  7c 06 09 81
+# Write  4 bytes  to  0x11008494:  ff 02 00 00
+# Write  4 bytes  to  0x21008248:  00 00 00 00
+# Reg NUM:NUM = 0x2f
+# Write  4 bytes  to  0x11008498:  fc 17 20 80
+# Write  4 bytes  to  0x1100849c:  ff 02 00 00
+# Write  4 bytes  to  0x2100824c:  00 00 00 00
+# Reg NUM:NUM = 0x2e
+# Write  4 bytes  to  0x110084a0:  3c 03 00 80
+# Write  4 bytes  to  0x110084a4:  ff 02 00 00
+# Write  4 bytes  to  0x21008250:  00 00 00 00
+# Reg NUM:NUM = 0x2d
+# Write  4 bytes  to  0x110084a8:  3c 03 00 80
+# Write  4 bytes  to  0x110084ac:  da 39 e0 01
+# Write  4 bytes  to  0x21008254:  00 00 00 00
+# Reg NUM:NUM = 0x2c
+# Write  4 bytes  to  0x110084b0:  bf 07 00 80
+# Write  4 bytes  to  0x110084b4:  ff 02 00 00
+# Write  4 bytes  to  0x21008258:  00 00 00 00
+# Reg NUM:NUM = 0x2b
+# Write  4 bytes  to  0x110084b8:  7c 06 07 81
+# Write  4 bytes  to  0x110084bc:  ff 02 00 00
+# Write  4 bytes  to  0x2100825c:  00 00 00 00
+# Reg NUM:NUM = 0x2a
+# Write  4 bytes  to  0x110084c0:  7c 06 49 80
+# Write  4 bytes  to  0x110084c4:  ff 02 00 00
+# Write  4 bytes  to  0x21008260:  00 00 00 00
+# Reg NUM:NUM = 0x29
+# Write  4 bytes  to  0x110084c8:  fc 0f 40 80
+# Write  4 bytes  to  0x110084cc:  98 02 e0 01
+# Write  4 bytes  to  0x21008264:  00 00 00 00
+# Reg NUM:NUM = 0x28
+# Write  4 bytes  to  0x110084d0:  3c 03 00 80
+# Write  4 bytes  to  0x110084d4:  d8 02 e0 01
+# Write  4 bytes  to  0x21008268:  00 00 00 00
+# Reg NUM:NUM = 0x27
+# Write  4 bytes  to  0x110084d8:  3c 03 00 80
+# Write  4 bytes  to  0x110084dc:  18 03 e0 01
+# Write  4 bytes  to  0x2100826c:  00 00 00 00
+# Reg NUM:NUM = 0x26
+# Write  4 bytes  to  0x110084e0:  3c 03 00 80
+# Write  4 bytes  to  0x110084e4:  bc 21 c7 01
+# Write  4 bytes  to  0x21008270:  00 00 00 00
+# Reg NUM:NUM = 0x25
+# Write  4 bytes  to  0x110084e8:  3c 03 00 80
+# Write  4 bytes  to  0x110084ec:  bd 28 c7 01
+# Write  4 bytes  to  0x21008274:  00 00 00 00
+# Reg NUM:NUM = 0x24
+# Write  4 bytes  to  0x110084f0:  3c 03 00 80
+# Write  4 bytes  to  0x110084f4:  ca 31 c7 01
+# Write  4 bytes  to  0x21008278:  00 00 00 00
+# Reg NUM:NUM = 0x23
+# Write  4 bytes  to  0x110084f8:  3c 03 00 80
+# Write  4 bytes  to  0x110084fc:  03 63 40 00
+# Write  4 bytes  to  0x2100827c:  00 00 00 00
+# Reg NUM:NUM = 0x22
+# Write  4 bytes  to  0x11008500:  3c 03 00 80
+# Write  4 bytes  to  0x11008504:  bc 21 c8 01
+# Write  4 bytes  to  0x21008280:  00 00 00 00
+# Reg NUM:NUM = 0x21
+# Write  4 bytes  to  0x11008508:  3c 03 00 80
+# Write  4 bytes  to  0x1100850c:  bd 28 c8 01
+# Write  4 bytes  to  0x21008284:  00 00 00 00
+# Reg NUM:NUM = 0x20
+# Write  4 bytes  to  0x11008510:  3c 03 00 80
+# Write  4 bytes  to  0x11008514:  0a 32 c8 01
+# Write  4 bytes  to  0x21008288:  00 00 00 00
+# Reg NUM:NUM = 0x1f
+# Write  4 bytes  to  0x11008518:  3c 03 00 80
+# Write  4 bytes  to  0x1100851c:  bc 21 c9 01
+# Write  4 bytes  to  0x2100828c:  00 00 00 00
+# Reg NUM:NUM = 0x1e
+# Write  4 bytes  to  0x11008520:  3c 03 00 80
+# Write  4 bytes  to  0x11008524:  bd 28 c9 01
+# Write  4 bytes  to  0x21008290:  00 00 00 00
+# Reg NUM:NUM = 0x1d
+# Write  4 bytes  to  0x11008528:  3c 03 00 80
+# Write  4 bytes  to  0x1100852c:  4a 32 c9 01
+# Write  4 bytes  to  0x21008294:  00 00 00 00
+# Reg NUM:NUM = 0x1c
+# Write  4 bytes  to  0x11008530:  bf 07 00 80
+# Write  4 bytes  to  0x11008534:  ff 02 00 00
+# Write  4 bytes  to  0x21008298:  00 00 00 00
+# Reg NUM:NUM = 0x1b
+# Write  4 bytes  to  0x11008538:  7c 06 8a 80
+# Write  4 bytes  to  0x1100853c:  ff 02 00 00
+# Write  4 bytes  to  0x2100829c:  00 00 00 00
+# Reg NUM:NUM = 0x1a
+# Write  4 bytes  to  0x11008540:  7c 06 0b 81
+# Write  4 bytes  to  0x11008544:  ff 02 00 00
+# Write  4 bytes  to  0x210082a0:  00 00 00 00
+# Reg NUM:NUM = 0x19
+# Write  4 bytes  to  0x11008548:  fc 17 40 80
+# Write  4 bytes  to  0x1100854c:  ff 02 00 00
+# Write  4 bytes  to  0x210082a4:  00 00 00 00
+# Reg NUM:NUM = 0x18
+# Write  4 bytes  to  0x11008550:  3c 03 00 80
+# Write  4 bytes  to  0x11008554:  ff 02 00 00
+# Write  4 bytes  to  0x210082a8:  00 00 00 00
+# Reg NUM:NUM = 0x17
+# Write  4 bytes  to  0x11008558:  3c 03 00 80
+# Write  4 bytes  to  0x1100855c:  ff 02 00 00
+# Write  4 bytes  to  0x210082ac:  00 00 00 00
+# Reg NUM:NUM = 0x16
+# Write  4 bytes  to  0x11008560:  3c 03 00 80
+# Write  4 bytes  to  0x11008564:  da 5a e0 01
+# Write  4 bytes  to  0x210082b0:  00 00 00 00
+# Reg NUM:NUM = 0x15
+# Write  4 bytes  to  0x11008568:  bf 07 00 80
+# Write  4 bytes  to  0x1100856c:  ff 02 00 00
+# Write  4 bytes  to  0x210082b4:  00 00 00 00
+# Reg NUM:NUM = 0x14
+# Write  4 bytes  to  0x11008570:  7c 06 0a 81
+# Write  4 bytes  to  0x11008574:  ff 02 00 00
+# Write  4 bytes  to  0x210082b8:  00 00 00 00
+# Reg NUM:NUM = 0x13
+# Write  4 bytes  to  0x11008578:  7c 06 8b 80
+# Write  4 bytes  to  0x1100857c:  ff 02 00 00
+# Write  4 bytes  to  0x210082bc:  00 00 00 00
+# Reg NUM:NUM = 0x12
+# Write  4 bytes  to  0x11008580:  3c 03 00 80
+# Write  4 bytes  to  0x11008584:  ff 02 00 00
+# Write  4 bytes  to  0x210082c0:  00 00 00 00
+# Reg NUM:NUM = 0x11
+# Write  4 bytes  to  0x11008588:  3c 03 00 80
+# Write  4 bytes  to  0x1100858c:  ff 02 00 00
+# Write  4 bytes  to  0x210082c4:  00 00 00 00
+# Reg NUM:NUM = 0x10
+# Write  4 bytes  to  0x11008590:  3c 03 00 80
+# Write  4 bytes  to  0x11008594:  bc 39 ca 01
+# Write  4 bytes  to  0x210082c8:  00 00 00 00
+# Reg NUM:NUM = 0xf
+# Write  4 bytes  to  0x11008598:  3c 03 00 80
+# Write  4 bytes  to  0x1100859c:  bd 40 ca 01
+# Write  4 bytes  to  0x210082cc:  00 00 00 00
+# Reg NUM:NUM = 0xe
+# Write  4 bytes  to  0x110085a0:  3c 03 00 80
+# Write  4 bytes  to  0x110085a4:  8a 4a ca 01
+# Write  4 bytes  to  0x210082d0:  00 00 00 00
+# Reg NUM:NUM = 0xd
+# Write  4 bytes  to  0x110085a8:  3c 03 00 80
+# Write  4 bytes  to  0x110085ac:  bc 39 cb 01
+# Write  4 bytes  to  0x210082d4:  00 00 00 00
+# Reg NUM:NUM = 0xc
+# Write  4 bytes  to  0x110085b0:  3c 03 00 80
+# Write  4 bytes  to  0x110085b4:  bd 40 cb 01
+# Write  4 bytes  to  0x210082d8:  00 00 00 00
+# Reg NUM:NUM = 0xb
+# Write  4 bytes  to  0x110085b8:  3c 03 00 80
+# Write  4 bytes  to  0x110085bc:  ca 4a cb 01
+# Write  4 bytes  to  0x210082dc:  00 00 00 00
+# Reg NUM:NUM = 0xa
+# Write  4 bytes  to  0x110085c0:  3c 03 00 80
+# Write  4 bytes  to  0x110085c4:  bc 39 cc 01
+# Write  4 bytes  to  0x210082e0:  00 00 00 00
+# Reg NUM:NUM = 0x9
+# Write  4 bytes  to  0x110085c8:  3c 03 00 80
+# Write  4 bytes  to  0x110085cc:  bd 40 cc 01
+# Write  4 bytes  to  0x210082e4:  00 00 00 00
+# Reg NUM:NUM = 0x8
+# Write  4 bytes  to  0x110085d0:  3c 03 00 80
+# Write  4 bytes  to  0x110085d4:  0a 4b cc 01
+# Write  4 bytes  to  0x210082e8:  00 00 00 00
+# Reg NUM:NUM = 0x7
+# Write  4 bytes  to  0x110085d8:  3c 03 00 80
+# Write  4 bytes  to  0x110085dc:  ff 02 00 00
+# Write  4 bytes  to  0x210082ec:  00 00 00 00
+# Reg NUM:NUM = 0x6
+# Write  4 bytes  to  0x110085e0:  7d 53 c2 81
+# Write  4 bytes  to  0x110085e4:  ff 02 00 00
+# Write  4 bytes  to  0x210082f0:  00 00 00 00
+# Reg NUM:NUM = 0x5
+# Write  4 bytes  to  0x110085e8:  7d 5b c2 81
+# Write  4 bytes  to  0x110085ec:  ff 02 00 00
+# Write  4 bytes  to  0x210082f4:  00 00 00 00
+# Reg NUM:NUM = 0x4
+# Write  4 bytes  to  0x110085f0:  7d 63 c2 81
+# Write  4 bytes  to  0x110085f4:  ff 02 00 00
+# Write  4 bytes  to  0x210082f8:  00 00 00 00
+# Reg NUM:NUM = 0x3
+# Write  4 bytes  to  0x110085f8:  7d 1b c2 81
+# Write  4 bytes  to  0x110085fc:  ff 02 00 00
+# Write  4 bytes  to  0x210082fc:  00 00 00 00
+# Reg NUM:NUM = 0x2
+# Write  4 bytes  to  0x11008600:  3c 03 00 80
+# Write  4 bytes  to  0x11008604:  ff 02 00 00
+# Write  4 bytes  to  0x21008300:  00 00 00 00
+# Reg NUM:NUM = 0x1
+# Write  4 bytes  to  0x11008608:  00 78 00 48
+# Write  4 bytes  to  0x1100860c:  ff 02 00 00
+# Write  4 bytes  to  0x21008304:  00 00 00 00
+# Reg NUM:NUM = 0x0
+# Write  4 bytes  to  0x11008610:  3c 03 00 80
+# Write  4 bytes  to  0x11008614:  ff 02 00 00
+# Write  4 bytes  to  0x21008308:  00 00 00 00
+# Reg STAT:PPS = 0x0
+1 0x4ac30000_00000000_00000000_00000000 0x00000000 PPPP
+1 0x000002ff_10020016_000002ff_10010000 0x00000000 ....
+1 0x000002ff_420f0074_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_1001001a_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_1003001e_000002ff_10020016 0x00000000 ....
+1 0x000002ff_420f0052_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_1004001e_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_81e4237c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_81e6237c_000002ff_81e5237c 0x00000000 ....
+1 0x000002ff_11e107ff_000002ff_81e7237c 0x00000000 ....
+1 0x000002ff_10090000_000002ff_10030001 0x00000000 ....
+1 0x400002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_52090002_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_100c005f_000002ff_800506bc 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_10082801_000002ff_090b2800 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_80015af4 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_800058b0_000002ff_800b41b0 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_10076004_000002ff_81fe337c 0x00000000 ....
+1 0x000002ff_81f5437c_000002ff_100d6005 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_800b5ff2 0x00000000 ....
+1 0x01f6a97c_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_03edb000_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_100d6802_000002ff_520b07f6 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_800012f0 0x00000000 ....
+1 0x01fe21bc_03ecd800_01e0ff5b_81ff03bc 0x00000000 ....
+1 0x01fe30be_800c60b2_01fe28bd_800b5ff2 0x00000000 ....
+1 0x01fbe17d_81fe337c_01fe3fcb_8000033c 0x00000000 ....
+1 0x01e0ef1c_8000033c_000002ff_520b07f9 0x00000000 ....
+1 0x000002ff_03ecd800_000002ff_81ff03bc 0x00000000 ....
+1 0x000002ff_01f42800_000002ff_800c60b2 0x00000000 ....
+1 0x01fbe17d_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x01e0ff1c_03e7a000_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_03ecd800_000002ff_8000033c 0x00000000 ....
+1 0x01fbe17d_8000033c_000002ff_800c60b2 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_03ecd800_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_800c60b2 0x00000000 ....
+1 0x000002ff_80003efc_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_80091a71 0x00000000 ....
+1 0x000002ff_8000033c_400002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_400007be 0x00000000 ....
+1 0x000002ff_81e40b7c_000002ff_81e8137c 0x00000000 ....
+1 0x000002ff_81e60b7c_000002ff_81e50b7c 0x00000000 ....
+1 0x01e821bc_81e9137c_000002ff_81e70b7c 0x00000000 ....
+1 0x01e830be_8000033c_01e828bd_8000033c 0x00000000 ....
+1 0x01e921bc_81ea137c_01e83b0b_8000033c 0x00000000 ....
+1 0x01e930be_8000033c_01e928bd_8000033c 0x00000000 ....
+1 0x01ea21bc_81eb137c_01e93b4b_81e3637d 0x00000000 ....
+1 0x01ea30be_8000033c_01ea28bd_8000033c 0x00000000 ....
+1 0x01eb21bc_8000033c_01ea3b8b_81e36b7d 0x00000000 ....
+1 0x01eb30be_8000033c_01eb28bd_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_01eb3bcb_81e3737d 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_81e37b7d 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_48007800 0x00000000 ....
+1 0x01e00158_81e20b7c_01e00118_81e10b7c 0x00000000 ....
+1 0x800002ff_3fc90fda_01e00198_81e30b7c 0x00000000 ....
+1 0x000002ff_8000033c_01002103_80000ffc 0x00000000 ....
+1 0x01e010a2_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8045067c_000002ff_800007bf 0x00000000 ....
+1 0x000002ff_800017fc_000002ff_8086067c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_800007bf_01e0319a_8000033c 0x00000000 ....
+1 0x000002ff_8046067c_000002ff_8085067c 0x00000000 ....
+1 0x01e00218_8000033c_01e001d8_80200ffc 0x00000000 ....
+1 0x000002ff_8000033c_01e00258_8000033c 0x00000000 ....
+1 0x00804203_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8047067c_000002ff_800007bf 0x00000000 ....
+1 0x000002ff_802017fc_000002ff_8109067c 0x00000000 ....
+1 0x01e039da_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_8107067c_000002ff_800007bf 0x00000000 ....
+1 0x01e00298_80400ffc_000002ff_8049067c 0x00000000 ....
+1 0x01e00318_8000033c_01e002d8_8000033c 0x00000000 ....
+1 0x01c728bd_8000033c_01c721bc_8000033c 0x00000000 ....
+1 0x00406303_8000033c_01c731ca_8000033c 0x00000000 ....
+1 0x01c828bd_8000033c_01c821bc_8000033c 0x00000000 ....
+1 0x01c921bc_8000033c_01c8320a_8000033c 0x00000000 ....
+1 0x01c9324a_8000033c_01c928bd_8000033c 0x00000000 ....
+1 0x000002ff_808a067c_000002ff_800007bf 0x00000000 ....
+1 0x000002ff_804017fc_000002ff_810b067c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x000002ff_800007bf_01e05ada_8000033c 0x00000000 ....
+1 0x000002ff_808b067c_000002ff_810a067c 0x00000000 ....
+1 0x000002ff_8000033c_000002ff_8000033c 0x00000000 ....
+1 0x01ca40bd_8000033c_01ca39bc_8000033c 0x00000000 ....
+1 0x01cb39bc_8000033c_01ca4a8a_8000033c 0x00000000 ....
+1 0x01cb4aca_8000033c_01cb40bd_8000033c 0x00000000 ....
+1 0x01cc40bd_8000033c_01cc39bc_8000033c 0x00000000 ....
+1 0x000002ff_8000033c_01cc4b0a_8000033c 0x00000000 ....
+1 0x000002ff_81c25b7d_000002ff_81c2537d 0x00000000 ....
+1 0x000002ff_81c21b7d_000002ff_81c2637d 0x00000000 ....
+1 0x000002ff_48007800_000002ff_8000033c 0x00000000 ....
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+1 0x00000000_00000000_000002ff_8000033c 0x00000000 PP..
+# Reg STAT:FQC = 0x0
+# Reg STAT:PPS = 0x0
+# Reg STAT:FQC = 0x1
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x0
+# Reg STAT:PPS = 0x2
+# Reg STAT:PPS = 0x1
+# Reg STAT:PPS = 0x3
+# Write 16 bytes  to  0x10006010:  0b 80 00 00 00 00 00 10 0e 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 00 0a 00 00 00 00 00 4c 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 00 7f 02 00 00 df 01 40 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 6c 00 00 00 71 00 00 18 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  01 00 00 00 00 00 00 00 1a 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  96 00 00 01 00 00 00 00 4e 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 00 07 00 00 00 00 00 47 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  01 00 00 00 00 00 00 00 46 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 00 00 00 00 00 00 00 58 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 00 00 00 00 00 00 00 59 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  00 00 00 00 80 02 e0 01 5a 00 00 00 00 00 00 00
+# Write 16 bytes  to  0x10006010:  03 00 00 00 00 00 00 00 5b 00 00 00 00 00 00 00
+# Reg STAT:PPS = 0x0
+1 0x5100000c_00000000_00000000_00000000 0x00000000 PPPP
+1 0x00000000_0000000e_10000000_0000800b 0x00000000 ....
+1 0x00000000_0000004c_00000000_000a0000 0x00000000 ....
+1 0x00000000_00000040_01df0000_027f0000 0x00000000 ....
+1 0x00000000_00000018_00007100_00006c00 0x00000000 ....
+1 0x00000000_0000001a_00000000_00000001 0x00000000 ....
+1 0x00000000_0000004e_00000000_01000096 0x00000000 ....
+1 0x00000000_00000047_00000000_00070000 0x00000000 ....
+1 0x00000000_00000046_00000000_00000001 0x00000000 ....
+1 0x00000000_00000058_00000000_00000000 0x00000000 ....
+1 0x00000000_00000059_00000000_00000000 0x00000000 ....
+1 0x00000000_0000005a_01e00280_00000000 0x00000000 ....
+1 0x00000000_0000005b_00000000_00000003 0x00000000 ....
+# Reg STAT:FQC = 0x0
diff --git a/sim/testsuite/sky/t-pke3.trc b/sim/testsuite/sky/t-pke3.trc
new file mode 100644 (file)
index 0000000..318cf74
--- /dev/null
@@ -0,0 +1,333 @@
+# PKE tests for code coverage
+#
+#
+#
+# ---- STCYCL/CYCLE ----
+#
+# Test STCYCL instruction
+0 0x0100fedc_00000000_00000000_00000000 0x00000000 PPPP
+# Attempt erroneous write to CYCLE register
+! 0x10003840 0x0000dead
+# Read CYCLE register; confirm proper value
+? 0x10003840 0x0000fedc 0xffffffff
+# Read STAT register; confirm ER1 not set
+? 0x10003800 0x00000000 0x00002000
+#
+#
+# ---- OFFSET/OFST ----
+#
+# Test OFFSET instruction on PKE1
+1 0x0200ffff_00000000_00000000_00000000 0x00000000 PPPP
+# Attempt erroneous write to OFFSET register
+! 0x10003cb0 0x0000dead
+# Read OFST register; confirm proper 10-bit value
+? 0x10003cb0 0x000003ff 0xffffffff
+# Read STAT register; confirm DBF=0
+? 0x10003c00 0x00000000 0x00000080
+# Read DBF register; confirm DBF=0
+? 0x10003cf0 0x00000000 0x00000001
+# Read STAT register; confirm ER1 not set
+? 0x10003c00 0x00000000 0x00002000
+#
+#
+# ---- BASE/BASE ----
+#
+# Test BASE instruction on PKE1
+1 0x0300ffff_00000000_00000000_00000000 0x00000000 PPPP
+# Attempt erroneous write to BASE register
+! 0x10003ca0 0x0000dead
+# Read BASE register; confirm proper 10-bit value
+? 0x10003ca0 0x000003ff 0xffffffff
+# Read STAT register; confirm DBF=0
+? 0x10003c00 0x00000000 0x00000080
+# Read DBF register; confirm DBF=0
+? 0x10003cf0 0x00000000 0x00000001
+#
+#
+# ---- ITOP/ITOPS ----
+#
+# Test ITOP instruction
+0 0x0400ffff_00000000_00000000_00000000 0x00000000 PPPP
+# Attempt erroneous write to ITOPS register
+! 0x10003890 0x0000dead
+# Read ITOPS register; confirm proper 10-bit value
+? 0x10003890 0x000003ff 0xffffffff
+# Read STAT register; confirm ER1 not set
+? 0x10003800 0x00000000 0x00002000
+#
+#
+# ---- STMOD/MODE ----
+#
+# Test STMOD instruction
+0 0x05000003_00000000_00000000_00000000 0x00000000 PPPP
+# Attempt erroneous write to MODE register
+! 0x10003850 0x0000dead
+# Read MODE register; confirm proper value
+? 0x10003850 0x00000003 0xffffffff
+# Test STMOD instruction with junk upper bits
+0 0x0500dad1_00000000_00000000_00000000 0x00000000 PPPP
+# Read MODE register; confirm proper value
+? 0x10003850 0x00000001 0xffffffff
+# Read STAT register; confirm ER1 not set
+? 0x10003800 0x00000000 0x00002000
+#
+#
+# ---- STMARK/MARK ----
+#
+# Test MARK instruction
+0 0x0700abcd_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm MRK bit set
+? 0x10003800 0x00000040 0x00000040
+# Read MARK register
+? 0x10003830 0x0000abcd 0xffffffff
+# Write MARK register
+! 0x10003830 0x00001234
+# Read STAT register; confirm MRK bit clear
+? 0x10003800 0x00000000 0x00000040
+# Read MARK register
+? 0x10003830 0x00001234 0xffffffff
+#
+#
+# ---- ERROR/ER1 ----
+#
+# A bad PKEcode
+1 0x00000000_00000000_00000000_08000000 0x00000000 PPPP
+# should put PKE into stalled mode, not executing following PKENOPs
+# Read STAT register; confirm ER1 bit set
+? 0x10003c00 0x00002000 0x00002000
+# Read CODE register; confirm PKE is stuck at bad code
+? 0x10003c80 0x08000000 0xffffffff
+# Reset PKE
+! 0x10003c10 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003c00 0x00000000 0x00002000
+#
+#
+# ---- STMASK/MASK ----
+#
+# Test STMASK instruction; leave operand out for now
+0 0x20000000_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm PPS field set at WAIT
+? 0x10003800 0x00000001 0x00000003
+# Add operand for STMASK instruction
+0 0x00000000_00000000_00000000_1234abcd 0x00000000 PPPP
+# Erroneous write to MASK register
+! 0x10003870 0x98765432
+# Read MASK register
+? 0x10003870 0x1234abcd 0xffffffff
+# Read STAT register; confirm ER1 not set
+? 0x10003800 0x00000000 0x00002000
+#
+#
+# ---- DIRECT ----
+#
+# Test DIRECT instruction; leave operand out for now
+1 0x50000001_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm PPS field set at WAIT
+? 0x10003c00 0x00000001 0x00000003
+# Supply operand - it's a bad GPUIF tag
+1 0x00000000_00000000_00000000_00000000 0x00000000 ....
+# Test DIRECT instruction with bad operand alignment
+1 0x00000000_50000001_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003c00 0x00002000 0x00002000
+# Reset PKE
+! 0x10003c10 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003c00 0x00000000 0x00002000
+# Test DIRECT instruction with bad operand alignment
+1 0x00000000_00000000_50000001_00000000 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003c00 0x00002000 0x00002000
+# Reset PKE
+! 0x10003c10 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003c00 0x00000000 0x00002000
+# Test DIRECT instruction with bad operand alignment
+1 0x00000000_00000000_00000000_50000001 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003c00 0x00002000 0x00002000
+# Reset PKE
+! 0x10003c10 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003c00 0x00000000 0x00002000
+#
+#
+# ---- MPG - PKE0 ----
+#
+# Test MPG instruction; leave operand out for now
+0 0x4a080000_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm PPS field set at WAIT
+? 0x10003800 0x00000001 0x00000003
+# Supply operands - eight two junk VU instruction word-pairs with real source-addr's
+0 0xdeadbeef_0bad0bad_beef0bad_2bad2bad 0x00000010 ....
+0 0xabcdbeef_44332211_12987423_95555999 0x00000100 ....
+0 0xdeadabcd_75577588_beef0bad_89abcdef 0x00001000 ....
+0 0xa5a5a5a5_5aaa5533_01234567_77889900 0x00010000 ....
+# Check that instructions were loaded properly
+? 0x11000000 0x2bad2bad 0xffffffff
+? 0x11000004 0xbeef0bad 0xffffffff
+? 0x11000014 0x12987423 0xffffffff
+? 0x11000028 0x75577588 0xffffffff
+? 0x1100003c 0xa5a5a5a5 0xffffffff
+# Check that source addresses were loaded properly
+? 0x21000000 0x00000010 0xffffffff
+? 0x21000004 0x00000010 0xffffffff
+? 0x21000008 0x00000100 0xffffffff
+? 0x2100000c 0x00000100 0xffffffff
+? 0x21000010 0x00001000 0xffffffff
+? 0x21000014 0x00001000 0xffffffff
+? 0x21000018 0x00010000 0xffffffff
+? 0x2100001c 0x00010000 0xffffffff
+# Test MPG instruction with bad operand alignment
+0 0x00000000_4a020000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003800 0x00002000 0x00002000
+# Reset PKE
+! 0x10003810 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003800 0x00000000 0x00002000
+# Test MPG instruction with good operand alignment
+0 0x00000000_00000000_4a010000_00000000 0x00000000 ..PP
+# Read STAT register; confirm ER1 bit not set
+? 0x10003800 0x00000000 0x00002000
+# Test MPG instruction with bad operand alignment
+0 0x00000000_00000000_00000000_4a010000 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003800 0x00002000 0x00002000
+# Reset PKE
+! 0x10003810 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003800 0x00000000 0x00002000
+#
+#
+# ---- MPG - PKE1 ----
+#
+# Test MPG instruction; leave operand out for now
+1 0x4a080000_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm PPS field set at WAIT
+? 0x10003c00 0x00000001 0x00000003
+# Supply operands - eight two junk VU instruction word-pairs with real source-addr's
+1 0xdeadbeef_0bad0bad_beef0bad_2bad2bad 0x00000010 ....
+1 0xabcdbeef_44332211_12987423_95555999 0x00000100 ....
+1 0xdeadabcd_75577588_beef0bad_89abcdef 0x00001000 ....
+1 0xa5a5a5a5_5aaa5533_01234567_77889900 0x00010000 ....
+# Check that instructions were loaded properly
+? 0x11008000 0x2bad2bad 0xffffffff
+? 0x11008004 0xbeef0bad 0xffffffff
+? 0x11008014 0x12987423 0xffffffff
+? 0x11008028 0x75577588 0xffffffff
+? 0x1100803c 0xa5a5a5a5 0xffffffff
+# Check that source addresses were loaded properly
+? 0x21008000 0x00000010 0xffffffff
+? 0x21008004 0x00000010 0xffffffff
+? 0x21008008 0x00000100 0xffffffff
+? 0x2100800c 0x00000100 0xffffffff
+? 0x21008010 0x00001000 0xffffffff
+? 0x21008014 0x00001000 0xffffffff
+? 0x21008018 0x00010000 0xffffffff
+? 0x2100801c 0x00010000 0xffffffff
+# Test MPG instruction with bad operand alignment
+1 0x00000000_4a020000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003c00 0x00002000 0x00002000
+# Reset PKE
+! 0x10003c10 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003c00 0x00000000 0x00002000
+# Test MPG instruction with good operand alignment
+1 0x00000000_00000000_4a010000_00000000 0x00000000 ..PP
+# Read STAT register; confirm ER1 bit not set
+? 0x10003c00 0x00000000 0x00002000
+# Test MPG instruction with bad operand alignment
+1 0x00000000_00000000_00000000_4a010000 0x00000000 PPPP
+# Read STAT register; confirm ER1 bit set
+? 0x10003c00 0x00002000 0x00002000
+# Reset PKE
+! 0x10003c10 0x00000001
+# Read STAT register; confirm ER1 no longer set
+? 0x10003c00 0x00000000 0x00002000
+#
+#
+# ---- STROW/ROW + DMA mismatch ----
+#
+# Test STROW instruction; leave operand out for now
+0 0x30000000_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm PPS field set at WAIT
+? 0x10003800 0x00000001 0x00000003
+# Write ERR register; mask ER0 stalling
+! 0x10003820 0x00000002
+# Supply operand - four words
+0 0x1234abcd_2345bcde_ffffffff_ffffffff 0x00000000 ..DD
+0 0x00000000_00000000_5432dcba_76543210 0x00000000 PP..
+# Read STAT register; confirm ER0 (DMA mismatch)
+? 0x10003800 0x00001000 0x00001000
+# Make erroneous write
+! 0x10003900 0x11111111
+! 0x10003910 0x22222222
+! 0x10003920 0x33333333
+! 0x10003930 0x44444444
+# Check row registers for value
+? 0x10003900 0x2345bcde 0xffffffff
+? 0x10003910 0x1234abcd 0xffffffff
+? 0x10003920 0x76543210 0xffffffff
+? 0x10003930 0x5432dcba 0xffffffff
+# Read STAT register; confirm ER1 not set
+? 0x10003800 0x00000000 0x00002000
+# Reset PKE
+! 0x10003810 0x00000001
+#
+#
+# ---- STCOL/COL + STOP/CONTINUE ----
+#
+# Test STCOL instruction; leave operand out for now
+0 0x31000000_00000000_00000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm PPS field set at WAIT
+? 0x10003800 0x00000001 0x00000003
+# Stop PKE with FBK bit
+! 0x10003810 0x00000002
+# Supply operand - four words
+0 0x1234abcd_2345bcde_5432dcba_76543210 0x00000000 ....
+# Confirm that PKE is continuing to stall due to FBK
+? 0x10003800 0x00000200 0x00000200
+? 0x10003800 0x00000200 0x00000200
+? 0x10003800 0x00000200 0x00000200
+# Resume PKE with STC bit
+! 0x10003810 0x00000008
+# Read STAT register; confirm FBK no longer set
+? 0x10003800 0x00000000 0x00000200
+# Check column registers for value
+? 0x10003940 0x76543210 0xffffffff
+? 0x10003950 0x5432dcba 0xffffffff
+? 0x10003960 0x2345bcde 0xffffffff
+? 0x10003970 0x1234abcd 0xffffffff
+# Read STAT register; confirm ER1 not set
+? 0x10003800 0x00000000 0x00002000
+#
+#
+# ---- MSKPATH3 ----
+#
+# Set then clear MSKPATH3 on PKE1
+1 0x06008000_00000000_06000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm ER1 not set
+? 0x10003c00 0x00000000 0x00002000
+# Erroneously run this on PKE0
+0 0x06008000_00000000_06000000_00000000 0x00000000 PPPP
+# Read STAT register; confirm ER1 set
+? 0x10003800 0x00002000 0x00002000
+# Reset PKE0
+! 0x10003810 0x00000001
+#
+#
+# ---- memory-mapped port reading ----
+#
+# Erroneously read words from FIFO ports
+? 0x10004000 0x00000000 0xffffffff
+? 0x10004004 0x00000000 0xffffffff
+? 0x10004008 0x00000000 0xffffffff
+? 0x1000400c 0x00000000 0xffffffff
+? 0x10005000 0x00000000 0xffffffff
+? 0x10005004 0x00000000 0xffffffff
+? 0x10005008 0x00000000 0xffffffff
+? 0x1000500c 0x00000000 0xffffffff
+#
diff --git a/sim/testsuite/sky/t-pke4.run b/sim/testsuite/sky/t-pke4.run
new file mode 100644 (file)
index 0000000..4c2c17f
Binary files /dev/null and b/sim/testsuite/sky/t-pke4.run differ