From 0eb7170a5f31aa44b6590b706d0daf0c50a49a27 Mon Sep 17 00:00:00 2001 From: Fiscarelli Date: Mon, 24 May 2021 10:13:01 -0400 Subject: [PATCH] CEP Release v3.3 --- README.md | 8 +- RELEASE_NOTES.md | 10 + cosim/Makefile | 2 +- cosim/README.md | 53 +- cosim/bareMetalTests/Makefile | 3 + cosim/bareMetalTests/bootViaScratch/Makefile | 32 + .../bootViaScratch/c_dispatch.cc | 126 ++ .../bootViaScratch/c_dispatch.h | 23 + .../bareMetalTests/bootViaScratch/c_module.cc | 84 ++ .../bareMetalTests/bootViaScratch/c_module.h | 18 + cosim/bareMetalTests/bootViaScratch/imp.h | 49 + .../bootViaScratch/riscv_wrapper.cc | 80 ++ cosim/bareMetalTests/clintIntr/Makefile | 32 + cosim/bareMetalTests/clintIntr/c_dispatch.cc | 126 ++ cosim/bareMetalTests/clintIntr/c_dispatch.h | 23 + cosim/bareMetalTests/clintIntr/c_module.cc | 84 ++ cosim/bareMetalTests/clintIntr/c_module.h | 18 + .../bareMetalTests/clintIntr/riscv_wrapper.cc | 175 +++ .../bareMetalTests/clintIntr/riscv_wrapper.h | 45 + .../bareMetalTests/miscTests/riscv_wrapper.cc | 4 +- cosim/bareMetalTests/plicPrioIntr/Makefile | 32 + .../bareMetalTests/plicPrioIntr/c_dispatch.cc | 126 ++ .../bareMetalTests/plicPrioIntr/c_dispatch.h | 23 + cosim/bareMetalTests/plicPrioIntr/c_module.cc | 84 ++ cosim/bareMetalTests/plicPrioIntr/c_module.h | 18 + .../plicPrioIntr/riscv_wrapper.cc | 64 + .../bareMetalTests/srotMemTest/c_dispatch.cc | 2 +- .../srotMemTest/riscv_wrapper.cc | 9 +- cosim/bfmTests/Makefile | 2 + cosim/bfmTests/fragmentors/c_module.cc | 4 +- cosim/bfmTests/multiThread/Makefile | 31 + cosim/bfmTests/multiThread/c_dispatch.cc | 112 ++ cosim/bfmTests/multiThread/c_dispatch.h | 23 + cosim/bfmTests/multiThread/c_module.cc | 94 ++ .../multiThread/c_module.h} | 11 +- cosim/bfmTests/multiThread/imp.h | 49 + cosim/bfmTests/plicPrioIntr/Makefile | 31 + cosim/bfmTests/plicPrioIntr/c_dispatch.cc | 107 ++ cosim/bfmTests/plicPrioIntr/c_dispatch.h | 23 + cosim/bfmTests/plicPrioIntr/c_module.cc | 86 ++ cosim/bfmTests/plicPrioIntr/c_module.h | 18 + cosim/bfmTests/regTest/c_module.cc | 3 +- cosim/bfmTests/srotErrorTest/c_module.cc | 2 +- cosim/bin/mkDepend.pl | 14 +- cosim/cadence.make | 8 +- cosim/cadence_cov.ccf | 71 +- cosim/cep_buildChips.make | 24 +- cosim/common.make | 5 + cosim/drivers/bootbare/Makefile | 49 - cosim/drivers/bootbare/bootbare.c | 55 - cosim/drivers/bootbare/head.S | 31 - cosim/drivers/bootbare/include/bits.h | 36 - cosim/drivers/bootbare/include/const.h | 18 - .../drivers/bootbare/include/devices/clint.h | 14 - cosim/drivers/bootbare/include/devices/gpio.h | 24 - cosim/drivers/bootbare/include/devices/plic.h | 31 - cosim/drivers/bootbare/include/devices/spi.h | 79 -- cosim/drivers/bootbare/include/devices/uart.h | 28 - cosim/drivers/bootbare/include/platform.h | 99 -- .../bootbare/include/riscv_test_defaults.h | 81 -- cosim/drivers/bootbare/include/sections.h | 17 - cosim/drivers/bootbare/include/smp.h | 142 --- cosim/drivers/bootbare/linker/memory.lds | 14 - cosim/drivers/bootbare/linker/sdboot.elf.lds | 79 -- cosim/drivers/cep_tests/CEP.h | 4 +- cosim/drivers/cep_tests/cep_aes.cc | 2 +- cosim/drivers/cep_tests/cep_apis.cc | 8 +- cosim/drivers/cep_tests/cep_crypto.cc | 2 +- cosim/drivers/cep_tests/cep_des3.cc | 2 +- cosim/drivers/cep_tests/cep_dft.cc | 19 +- cosim/drivers/cep_tests/cep_dft.h | 4 +- cosim/drivers/cep_tests/cep_gps.cc | 2 +- cosim/drivers/cep_tests/cep_srot.cc | 73 +- cosim/drivers/cep_tests/cep_srot.h | 6 +- cosim/drivers/diag/cepAccessTest.cc | 2 +- cosim/drivers/diag/cepCsrTest.cc | 31 +- cosim/drivers/diag/cepGpioTest.cc | 47 + cosim/drivers/diag/cepGpioTest.h | 1 + cosim/drivers/diag/cepMacroMix.cc | 8 - cosim/drivers/diag/cepMaskromTest.cc | 14 +- cosim/drivers/diag/cepMultiThread.cc | 340 ++++++ cosim/drivers/diag/cepMultiThread.h | 28 + cosim/drivers/diag/cepPlicTest.cc | 115 +- cosim/drivers/diag/cepPlicTest.h | 3 + cosim/drivers/diag/cepSpiTest.cc | 7 +- cosim/drivers/diag/cepSpiTest.h | 1 + cosim/drivers/diag/cepSrotMemTest.cc | 2 +- cosim/drivers/diag/cepUartTest.cc | 13 +- cosim/drivers/linux/Makefile | 12 +- cosim/drivers/linux/cep_diag.cc | 8 +- cosim/drivers/linux/cep_diag.mk | 2 +- cosim/drivers/linux/cep_exports.cc | 53 + cosim/drivers/linux/cep_exports.h | 109 +- cosim/drivers/linux/cep_io.h | 48 +- cosim/drivers/linux/cep_run.cc | 38 +- cosim/drivers/linux/cep_run.h | 4 + cosim/drivers/linux/cep_vars.cc | 1 + cosim/drivers/linux/cep_vars.h | 3 +- cosim/drivers/linux/strace/Config.in | 8 + cosim/drivers/linux/strace/README | 9 + cosim/drivers/linux/strace/strace.mk | 26 + cosim/drivers/vectors/aes_playback.h | 2 +- cosim/drivers/vectors/aes_stimulus.txt.gz | Bin 26312 -> 26312 bytes cosim/drivers/vectors/des3_playback.h | 310 ++--- cosim/drivers/vectors/des3_stimulus.txt.gz | Bin 200916 -> 187831 bytes cosim/drivers/vectors/dft_playback.h | 794 ++++++------ cosim/drivers/vectors/dft_stimulus.txt.gz | Bin 15755 -> 15013 bytes cosim/drivers/vectors/fir_playback.h | 2 +- cosim/drivers/vectors/fir_stimulus.txt.gz | Bin 7543 -> 7543 bytes cosim/drivers/vectors/gps_playback.h | 2 +- cosim/drivers/vectors/gps_stimulus.txt.gz | Bin 43965 -> 43965 bytes cosim/drivers/vectors/idft_stimulus.txt.gz | Bin 16412 -> 16234 bytes cosim/drivers/vectors/iir_playback.h | 506 ++++---- cosim/drivers/vectors/iir_stimulus.txt.gz | Bin 16969 -> 13892 bytes cosim/drivers/vectors/md5_playback.h | 2 +- cosim/drivers/vectors/md5_stimulus.txt.gz | Bin 194426 -> 194426 bytes cosim/drivers/vectors/rsa_playback.h | 1070 ++++++++--------- cosim/drivers/vectors/rsa_stimulus.txt.gz | Bin 507646 -> 500610 bytes cosim/drivers/vectors/sha256_playback.h | 1048 ++++++++-------- cosim/drivers/vectors/sha256_stimulus.txt.gz | Bin 88166 -> 82519 bytes cosim/dvt/behav_models/cep_driver.v | 42 +- cosim/dvt/cep_adrMap.incl | 50 +- cosim/dvt/cep_tb.v | 104 +- cosim/dvt/dump_control.incl | 2 +- cosim/dvt/sys_common.incl | 19 +- cosim/dvt/v2c_cmds.incl | 5 + cosim/dvt/v2c_top.v | 20 +- cosim/isaTests/Makefile | 21 +- cosim/isaTests/common.make | 3 + cosim/isaTests/config.v | 1 + cosim/isaTests/dtmTest/Makefile | 49 + cosim/isaTests/dtmTest/c_dispatch.cc | 181 +++ cosim/isaTests/dtmTest/c_dispatch.h | 23 + cosim/isaTests/dtmTest/c_module.cc | 92 ++ cosim/isaTests/dtmTest/c_module.h | 18 + cosim/isaTests/dtmTest/dtm.cfg | 56 + cosim/isaTests/dtmTest/riscv_wrapper.cc | 75 ++ cosim/pli/dpi_bitbang.cc | 203 ++++ cosim/pli/dpi_bitbang.h | 25 + cosim/share/portable_io.h | 2 +- cosim/vBareTest/Makefile | 2 +- cosim/vBareTest/dTLB/c_dispatch.cc | 2 +- doc/version3.2.jpg | Bin 8692 -> 0 bytes doc/version3.3.jpg | Bin 0 -> 8923 bytes hdl_cores/freedom/bootrom/sdboot/Makefile | 20 +- hdl_cores/freedom/bootrom/sdboot/common.h | 11 + hdl_cores/freedom/bootrom/sdboot/head.S | 22 + .../freedom/bootrom/sdboot/include/platform.h | 2 +- .../freedom/bootrom/sdboot/linker/memory.lds | 11 +- hdl_cores/freedom/bootrom/sdboot/sd.c | 5 +- hdl_cores/freedom/bootrom/sdboot/xExeHacked.c | 101 ++ hdl_cores/freedom/common.mk | 21 +- .../src/main/scala/cep_addresses.scala | 4 +- .../src/main/scala/cep_registers.scala | 8 +- .../main/scala/unleashed/DevKitConfigs.scala | 4 +- .../scala/unleashed/DevKitFPGADesign.scala | 11 +- hdl_cores/llki/llki_pkg.sv | 29 +- hdl_cores/llki/llki_pp_wrapper.sv | 6 +- hdl_cores/llki/srot_wrapper.sv | 22 +- .../TL_level_sim/supports/insertLLKI.pl | 56 - .../TL_level_sim/sv_vectors/aes_playback.h | 2 +- .../TL_level_sim/sv_vectors/des3_playback.h | 310 ++--- .../TL_level_sim/sv_vectors/dft_playback.h | 794 ++++++------ .../TL_level_sim/sv_vectors/fir_playback.h | 2 +- .../TL_level_sim/sv_vectors/gps_playback.h | 2 +- .../TL_level_sim/sv_vectors/idft_playback.h | 794 ++++++------ .../TL_level_sim/sv_vectors/iir_playback.h | 506 ++++---- .../TL_level_sim/sv_vectors/md5_playback.h | 2 +- .../TL_level_sim/sv_vectors/rsa_playback.h | 1070 ++++++++--------- .../TL_level_sim/sv_vectors/sha256_playback.h | 1048 ++++++++-------- unit_simulation/aes_sim/aes_stimulus.txt.gz | Bin 26312 -> 26312 bytes unit_simulation/des3_sim/des3_stimulus.txt.gz | Bin 200916 -> 187831 bytes unit_simulation/dft_sim/dft_stimulus.txt.gz | Bin 15755 -> 15013 bytes unit_simulation/fir_sim/fir_stimulus.txt.gz | Bin 7543 -> 7543 bytes unit_simulation/gps_sim/gps_stimulus.txt.gz | Bin 43965 -> 43965 bytes unit_simulation/idft_sim/idft_stimulus.txt.gz | Bin 16412 -> 16234 bytes unit_simulation/iir_sim/iir_stimulus.txt.gz | Bin 16969 -> 13892 bytes unit_simulation/md5_sim/md5_stimulus.txt.gz | Bin 194426 -> 194426 bytes unit_simulation/rsa_sim/rsa_stimulus.txt.gz | Bin 507646 -> 500610 bytes .../sha256_sim/sha256_stimulus.txt.gz | Bin 88166 -> 82519 bytes 180 files changed, 8168 insertions(+), 5349 deletions(-) create mode 100644 cosim/bareMetalTests/bootViaScratch/Makefile create mode 100644 cosim/bareMetalTests/bootViaScratch/c_dispatch.cc create mode 100644 cosim/bareMetalTests/bootViaScratch/c_dispatch.h create mode 100644 cosim/bareMetalTests/bootViaScratch/c_module.cc create mode 100644 cosim/bareMetalTests/bootViaScratch/c_module.h create mode 100644 cosim/bareMetalTests/bootViaScratch/imp.h create mode 100644 cosim/bareMetalTests/bootViaScratch/riscv_wrapper.cc create mode 100644 cosim/bareMetalTests/clintIntr/Makefile create mode 100644 cosim/bareMetalTests/clintIntr/c_dispatch.cc create mode 100644 cosim/bareMetalTests/clintIntr/c_dispatch.h create mode 100644 cosim/bareMetalTests/clintIntr/c_module.cc create mode 100644 cosim/bareMetalTests/clintIntr/c_module.h create mode 100644 cosim/bareMetalTests/clintIntr/riscv_wrapper.cc create mode 100644 cosim/bareMetalTests/clintIntr/riscv_wrapper.h create mode 100644 cosim/bareMetalTests/plicPrioIntr/Makefile create mode 100644 cosim/bareMetalTests/plicPrioIntr/c_dispatch.cc create mode 100644 cosim/bareMetalTests/plicPrioIntr/c_dispatch.h create mode 100644 cosim/bareMetalTests/plicPrioIntr/c_module.cc create mode 100644 cosim/bareMetalTests/plicPrioIntr/c_module.h create mode 100644 cosim/bareMetalTests/plicPrioIntr/riscv_wrapper.cc create mode 100644 cosim/bfmTests/multiThread/Makefile create mode 100644 cosim/bfmTests/multiThread/c_dispatch.cc create mode 100644 cosim/bfmTests/multiThread/c_dispatch.h create mode 100644 cosim/bfmTests/multiThread/c_module.cc rename cosim/{drivers/bootbare/common.h => bfmTests/multiThread/c_module.h} (70%) create mode 100644 cosim/bfmTests/multiThread/imp.h create mode 100644 cosim/bfmTests/plicPrioIntr/Makefile create mode 100644 cosim/bfmTests/plicPrioIntr/c_dispatch.cc create mode 100644 cosim/bfmTests/plicPrioIntr/c_dispatch.h create mode 100644 cosim/bfmTests/plicPrioIntr/c_module.cc create mode 100644 cosim/bfmTests/plicPrioIntr/c_module.h delete mode 100644 cosim/drivers/bootbare/Makefile delete mode 100644 cosim/drivers/bootbare/bootbare.c delete mode 100644 cosim/drivers/bootbare/head.S delete mode 100644 cosim/drivers/bootbare/include/bits.h delete mode 100644 cosim/drivers/bootbare/include/const.h delete mode 100644 cosim/drivers/bootbare/include/devices/clint.h delete mode 100644 cosim/drivers/bootbare/include/devices/gpio.h delete mode 100644 cosim/drivers/bootbare/include/devices/plic.h delete mode 100644 cosim/drivers/bootbare/include/devices/spi.h delete mode 100644 cosim/drivers/bootbare/include/devices/uart.h delete mode 100644 cosim/drivers/bootbare/include/platform.h delete mode 100644 cosim/drivers/bootbare/include/riscv_test_defaults.h delete mode 100644 cosim/drivers/bootbare/include/sections.h delete mode 100644 cosim/drivers/bootbare/include/smp.h delete mode 100644 cosim/drivers/bootbare/linker/memory.lds delete mode 100644 cosim/drivers/bootbare/linker/sdboot.elf.lds create mode 100644 cosim/drivers/diag/cepMultiThread.cc create mode 100644 cosim/drivers/diag/cepMultiThread.h create mode 100644 cosim/drivers/linux/strace/Config.in create mode 100644 cosim/drivers/linux/strace/README create mode 100644 cosim/drivers/linux/strace/strace.mk create mode 100644 cosim/isaTests/dtmTest/Makefile create mode 100644 cosim/isaTests/dtmTest/c_dispatch.cc create mode 100644 cosim/isaTests/dtmTest/c_dispatch.h create mode 100644 cosim/isaTests/dtmTest/c_module.cc create mode 100644 cosim/isaTests/dtmTest/c_module.h create mode 100644 cosim/isaTests/dtmTest/dtm.cfg create mode 100644 cosim/isaTests/dtmTest/riscv_wrapper.cc create mode 100644 cosim/pli/dpi_bitbang.cc create mode 100644 cosim/pli/dpi_bitbang.h delete mode 100644 doc/version3.2.jpg create mode 100644 doc/version3.3.jpg create mode 100644 hdl_cores/freedom/bootrom/sdboot/xExeHacked.c delete mode 100755 unit_simulation/TL_level_sim/supports/insertLLKI.pl diff --git a/README.md b/README.md index 821a3f7..ff2cbb4 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

- +

Copyright 2021 Massachusetts Institute of Technology @@ -25,7 +25,7 @@ For CEP v3.1+, the full LLKI has been added. This includes the Surrogate Root o ### Please check the [Release Notes](./RELEASE_NOTES.md) to understand what has changed and a list of known issues. -

+

@@ -341,7 +341,7 @@ You should see the following logo/text appear: ./+++++++++++oo+++: +oo++o++++o+o+oo+oo.- `s+++s`- .--:---:-:-::-::` -::::::::::::::::::. :::::. - Common Evaluation Platform v3.20 + Common Evaluation Platform v3.30 Copyright 2021 Massachusetts Institute of Technology Built upon the SiFive Freedom U500 Platform using @@ -364,7 +364,7 @@ At the command prompt, you can run the CEP diagnostics by commanding `cep_diag`. A partial output should be similar to: ```sh -*** CEP Tag=CEPTest CEP HW VERSION = v3.20 was built on Apr 15 2021 09:22:15 *** +*** CEP Tag=CEPTest CEP HW VERSION = v3.30 was built on Apr 15 2021 09:22:15 *** CEP FPGA Physical: cepReg/ddr3/other/sys -> Virtual=0x0000000700000000, 0x0000000800000000, 0x0000000600000000, 0x0000000c00000000 ScratchPad=0x0000002000800000 gSkipInit=0/0 gverbose=0/0 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 4a90792..8d3dd0d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -121,4 +121,14 @@ v3.2 - (16 April 2021) * Linux tests updated and expanded * New tests added to cosim focused on LLKI and Scratchpad RAM +v3.3 - (19 May 2021) +* Increased capacity for LLKI key size including larger KeyRAM (2048 64-bit words) +* Added Cosim JTAG/OpenOCD +* Stability fixes for cep_diag under Linux +* Virtual Address TLB test suite is added to regression (not 100% complete) +* Expanded cep_diag +* New simulation ONLY interrupt tests for CLINT and PLIC modules (on going) +* Re-capture vectors for unit sim due to changes in LLKI key size +* Bootrom size is increased to 32K bytes (8kx32) to accomodate new built-in test (execute codes out of bootrom without main memory) + #### Return to the root CEP [README](./README.md) \ No newline at end of file diff --git a/cosim/Makefile b/cosim/Makefile index 408aef0..69cc624 100644 --- a/cosim/Makefile +++ b/cosim/Makefile @@ -34,7 +34,7 @@ SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} TEST_GROUP = bareMetalTests \ bfmTests \ isaTests \ - + vBareTest \ runAll: make cleanAll diff --git a/cosim/README.md b/cosim/README.md index 6cc819a..31c394b 100644 --- a/cosim/README.md +++ b/cosim/README.md @@ -16,6 +16,7 @@ Several environments are supported: * Linux Mode (tests run on xilinx VC707 development card). Build and installation instructions can be found in: [../README.md](../README.md) * Benchmarking on Linux (TBA) * Cycle-accurate and translation-level accurate unit level simulations. +* JTAG support to inferace with Openocd tool (via bitbang adapter) for Open On-Chip debugger (version 3.3 or later) ## Benefits: ## @@ -53,7 +54,7 @@ Assuming you already have the CEP-master (version 2.0 or later) sandbox pulled f isaTests/rv64mi-p-access isaTests/rv64ud-p-ldst ``` - NOTE: All tests (including the above failed tests) are now passing with version 2.8 or later under Linux machine.. + **NOTE**: All tests (including the above failed tests) are now passing with version 2.8 or later under Linux machine.. ## Verify environment settings and tools: ## @@ -330,10 +331,11 @@ During simulation, you will notice each of the core will print out its PC (Progr Also, there are riscv_wrapper.dump (created from objdump to help track the PC), riscv_wrapper.elf (to preload to main memory) and riscv_wrapper.hex files are created by Make under each test directory. +**Note**: for version 3.3 or later, directory **.../cosim/drivers/bootbare** is removed and the official bootrom generation Makefile is adjusted to also produce the bootrom image for simulation. ## Building ISA tests for simulation ## -As of version 2.7 or later, ISA (Instruction-Set-Architecture) tests are added to simulation to improve overall chip coverages. +For version 2.7 or later, ISA (Instruction-Set-Architecture) tests are added to simulation to improve overall chip coverages. **All ISA tests are re-used from https://github.com/riscv/riscv-tests.git repository**. @@ -401,7 +403,7 @@ And now you are ready to do the build as follows cd /software/riscv-tests autoconf ./configure - make isa <-- only need to make ISA, without argument benchmark tests will be included (benchmarks have NOT be ported) + make isa <-- only need to make ISA, without argument benchmark tests will also be included (benchmarks have NOT been ported) ``` The make command above will compile **mostly** assembly tests in the directory **isa** under it. These are the ones will be re-used to run in our simulation. **NOTE**: only RV64*-p/v-* tests are used since the cores are 64-bit cores. @@ -419,6 +421,43 @@ Next step is to port and prepare those ISA tests above for simulation. And we are now done for this ISA porting. +## About JTAG/Debug port testing and Openocd ## + +To test JTAG port in simulation, openocd tool is needed. The Makefile will check for the present of such tool before any jtag related test is allowed to run. + +This JTAG port is connected to the CEP's DTM (DebugTransportModule). It is used to facilitate debugging via GDB. Openocd acts as transport layer between the internal DTM and GDB. + +A short description of what openocd is about: + +``` +OpenOCD provides on-chip programming and debugging support with a +layered architecture of JTAG interface and TAP support including: + +- (X)SVF playback to facilitate automated boundary scan and FPGA/CPLD + programming; +- debug target support (e.g. ARM, MIPS): single-stepping, + breakpoints/watchpoints, gprof profiling, etc; +- flash chip drivers (e.g. CFI, NAND, internal flash); +- embedded TCL interpreter for easy scripting. +``` + +To support simulation, DPI & remote-bitbang must be enable when building openocd tool. + +Download openocd via this link: **https://github.com/riscv/riscv-openocd** + +And follow the README file in there to build the tool or for more details how to use the tool. Instructions are cut/paste below for quick reference: + +``` +To build OpenOCD, use the following sequence of commands: + + ./bootstrap (when building from the git repository) + ./configure -enable-remote-bitbang --enable-jtag_dpi [options] + make + sudo make install +``` + +To see how this works, run this test: **<...>/cosim/isaTests/dtmTest** + ## How to add your new test for regression ## Open ../Makefile (one level up where your test directory is located). @@ -494,3 +533,11 @@ make CADENCE=1 mergeAll <-- merge all coverage data and report in HTLM format * By default, under each test directory, one file will be created **if and only if** it is not yet there: **vsim.do**. It is used when **vsim** command is called to control the wave capturing.. If there is a need to override, users are free to modify and change it to anyway to fit the needs. Makefile will not overwrite it as long as it is there. * Under bare metal mode, some of main memory locations are used as mailbox to help RISCV core tracking and printing. See .**../cosim/dvt/cep_adrMap.incl** file. **NOTE**: there is also a file under .../cosim/include/cep_adrMap.h This file is auto-generated from the cep_adrMap.incl mentioned. Therefore, any modification should be made to the cep_adrMap.incl file. + +* Below is the short-cut to quickly build cep_diag application for Linux: + +``` +cd <...>/cosim/drivers/linux +make buildMe +``` + diff --git a/cosim/bareMetalTests/Makefile b/cosim/bareMetalTests/Makefile index 31c67d2..63b6cfd 100644 --- a/cosim/bareMetalTests/Makefile +++ b/cosim/bareMetalTests/Makefile @@ -66,6 +66,9 @@ BARE_TEST_LIST = \ fragmemter \ csrTest \ srotMemTest \ + bootViaScratch \ + clintIntr \ + plicPrioIntr \ TESTINFO_LIST := $(sort $(foreach t,${TALUS_TEST_LIST},${BLD_DIR}/${t}/testInfo.txt)) diff --git a/cosim/bareMetalTests/bootViaScratch/Makefile b/cosim/bareMetalTests/bootViaScratch/Makefile new file mode 100644 index 0000000..d47240f --- /dev/null +++ b/cosim/bareMetalTests/bootViaScratch/Makefile @@ -0,0 +1,32 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// SPDX short identifier: BSD-2-Clause +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ +# +# +# +COSIM_NAME = $(shell cd ../..; basename `pwd`) +DUT_TOP_DIR = $(shell cd ../../..; pwd | ./${COSIM_NAME}/bin/strip_net.pl ) +BLD_DIR = $(shell cd ..; pwd | ../bin/strip_net.pl ) +TEST_SUITE = $(shell basename ${BLD_DIR}) +TEST_DIR = $(shell cd .; pwd | ../../bin/strip_net.pl ) +TEST_NAME = $(shell basename `pwd`) +SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} + + +# +# Top target!!! +# +all: .vrun_flag riscv_wrapper.elf + +# +# override anything here before calling the common file +# +include ${BLD_DIR}/common.make + diff --git a/cosim/bareMetalTests/bootViaScratch/c_dispatch.cc b/cosim/bareMetalTests/bootViaScratch/c_dispatch.cc new file mode 100644 index 0000000..8682f1f --- /dev/null +++ b/cosim/bareMetalTests/bootViaScratch/c_dispatch.cc @@ -0,0 +1,126 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include +#include "v2c_cmds.h" +#include "access.h" +#include "c_dispatch.h" +#include "c_module.h" +#include "cep_apis.h" +#include "cep_adrMap.h" +#include "simPio.h" +/* + * main + */ +int main(int argc, char *argv[]) +{ + + /* ===================================== */ + /* SETUP SECTION FOR SIMULATION */ + /* ===================================== */ + unsigned long seed; + sscanf(argv[1],"0x%x",&seed); + printf("Seed = 0x%x\n",seed); + int errCnt = 0; + int verbose = 0x1f; + + /* ===================================== */ + /* spawn all the paralle threads */ + /* ===================================== */ + int activeSlot=0; // only 1 board + // + // ============================ + // fork all the tests here + // ============================ + // + shPthread thr; + // + // max number of cores not include the system thread + // + int maxHost = MAX_CORES; // number of cores/threads + // + // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) + // + long unsigned int mask = 0xF; + // + // Set the active CPU mask before spawn the threads... + // + thr.SetActiveMask(mask); + // + // c_module is the threead to run + // + for (int i=0;i +#include "random48.h" + +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "simdiag_global.h" +#include "cepregression.h" +#include "simPio.h" + +// +void *c_module(void *arg) { + + + // ====================================== + // Set up + // ====================================== + pthread_parm_t *tParm = (pthread_parm_t *)arg; + int errCnt = 0; + int slotId = tParm->slotId; + int cpuId = tParm->cpuId; + int verbose = tParm->verbose; + Int32U seed = tParm->seed; + int restart = tParm->restart; + int offset = GET_OFFSET(slotId,cpuId); + GlobalShMemory.getSlotCpuId(offset,&slotId,&cpuId); + //printf("offset=%x seed=%x verbose=%x GlobalShMemory=%x\n",offset,seed, verbose,(unsigned long) &GlobalShMemory); + // notify I am Alive!!! + shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetAliveStatus(); + sleep(1); + + // ====================================== + // Test is Here + // ====================================== + simPio pio; + pio.MaybeAThread(); // chec + pio.EnableShIpc(1); + pio.SetVerbose(verbose); + + // + // ====================================== + // Test starts here + // ====================================== + // MUST + // wait until Calibration is done.. + //int calibDone = calibrate_ddr3(50); + int calibDone = is_program_loaded(50); + + // + errCnt += check_bare_status(cpuId,500); + // + pio.RunClk(100); + // + // ====================================== + // Exit + // ====================================== +cleanup: + if (errCnt != 0) { + LOGI("======== TEST FAIL ========== %x\n",errCnt); + } else { + LOGI("======== TEST PASS ========== \n"); + } + // shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetError(errCnt); + ptr->SetThreadDone(); + pthread_exit(NULL); + return ((void *)NULL); +} + diff --git a/cosim/bareMetalTests/bootViaScratch/c_module.h b/cosim/bareMetalTests/bootViaScratch/c_module.h new file mode 100644 index 0000000..3e5bb5c --- /dev/null +++ b/cosim/bareMetalTests/bootViaScratch/c_module.h @@ -0,0 +1,18 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef c_module_H +#define c_module_H + +#include "shPthread.h" + +void *c_module(void *); /* thread routine */ + +#endif diff --git a/cosim/bareMetalTests/bootViaScratch/imp.h b/cosim/bareMetalTests/bootViaScratch/imp.h new file mode 100644 index 0000000..e3509dd --- /dev/null +++ b/cosim/bareMetalTests/bootViaScratch/imp.h @@ -0,0 +1,49 @@ +/*********************************************** + DO NOT MODIFY THE CONTENTS OF THIS FILE. + This header file has been auto-generated by xmelab. + This should be included in user'c C file to + facilitate the calling of imported tasks and functions. +************************************************/ + +#include "svdpi.h" + +#ifdef __cplusplus + extern "C" { +#endif + +typedef struct { + int _a0; + int _a1; + int _a2; + unsigned int _a3; + unsigned int _a4; + unsigned int _a5; + unsigned long long _a6; + unsigned long long _a7[32]; + char _a8[256]; + char _a9[256]; + } v2c_top__mailBox; + + +typedef struct { + int _a0; + int _a1; + int _a2; + unsigned int _a3; + unsigned int _a4; + unsigned int _a5; + unsigned long long _a6; + unsigned long long _a7[32]; + char _a8[256]; + char _a9[256]; + } cep_driver__mailBox; + + +extern void send_v2c_mail (int _a1, int _a2, v2c_top__mailBox *_a3); + +extern void get_v2c_mail (int _a1, int _a2, v2c_top__mailBox *_a3); + +#ifdef __cplusplus + } +#endif + diff --git a/cosim/bareMetalTests/bootViaScratch/riscv_wrapper.cc b/cosim/bareMetalTests/bootViaScratch/riscv_wrapper.cc new file mode 100644 index 0000000..53fc7c0 --- /dev/null +++ b/cosim/bareMetalTests/bootViaScratch/riscv_wrapper.cc @@ -0,0 +1,80 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +// +// For bareMetal mode ONLY +// +#ifdef BARE_MODE +#include "cep_adrMap.h" +#include "cep_apis.h" + +#include "portable_io.h" +#include "cepRegTest.h" + + +//#define printf(...) { return 0; } + +#ifdef __cplusplus +extern "C" { +#endif + +//int main(void) +void thread_entry(int cid, int nc) +{ + // + int errCnt = 0; + int testId[4] = {0x00,0x11,0x22,0x33}; + int coreId = read_csr(mhartid); + // + set_printf(0); + + // + // + set_cur_status(CEP_RUNNING_STATUS); + //if (!errCnt) { errCnt = cepRegTest_runTest(coreId,64, revCheck, coreId*(0x100), 0); } + + // + // Written by core0 during boot + // so read them here to verify core0 did go thru the boot sequrce via scratchpad. + // + uint64_t rdDat; + uint64_t wrDat = scratchpad_know_pattern; + // + for (int i=0;i<8;i++) { + DUT_READ32_64(scratchpad_base_addr + (i*0x100),rdDat); + if (rdDat != wrDat) { + errCnt++; + break; + } + wrDat++; + } + // + // + // Done + // + set_status(errCnt,testId[coreId]); + /* + if (errCnt) { + set_pass(); + } else { + set_fail(); + } + */ + // + // Stuck here forever... + // + exit(errCnt); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/cosim/bareMetalTests/clintIntr/Makefile b/cosim/bareMetalTests/clintIntr/Makefile new file mode 100644 index 0000000..d47240f --- /dev/null +++ b/cosim/bareMetalTests/clintIntr/Makefile @@ -0,0 +1,32 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// SPDX short identifier: BSD-2-Clause +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ +# +# +# +COSIM_NAME = $(shell cd ../..; basename `pwd`) +DUT_TOP_DIR = $(shell cd ../../..; pwd | ./${COSIM_NAME}/bin/strip_net.pl ) +BLD_DIR = $(shell cd ..; pwd | ../bin/strip_net.pl ) +TEST_SUITE = $(shell basename ${BLD_DIR}) +TEST_DIR = $(shell cd .; pwd | ../../bin/strip_net.pl ) +TEST_NAME = $(shell basename `pwd`) +SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} + + +# +# Top target!!! +# +all: .vrun_flag riscv_wrapper.elf + +# +# override anything here before calling the common file +# +include ${BLD_DIR}/common.make + diff --git a/cosim/bareMetalTests/clintIntr/c_dispatch.cc b/cosim/bareMetalTests/clintIntr/c_dispatch.cc new file mode 100644 index 0000000..605262d --- /dev/null +++ b/cosim/bareMetalTests/clintIntr/c_dispatch.cc @@ -0,0 +1,126 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include +#include "v2c_cmds.h" +#include "access.h" +#include "c_dispatch.h" +#include "c_module.h" +#include "cep_apis.h" +#include "cep_adrMap.h" +#include "simPio.h" +/* + * main + */ +int main(int argc, char *argv[]) +{ + + /* ===================================== */ + /* SETUP SECTION FOR SIMULATION */ + /* ===================================== */ + unsigned long seed; + sscanf(argv[1],"0x%x",&seed); + printf("Seed = 0x%x\n",seed); + int errCnt = 0; + int verbose = 0x1f; + + /* ===================================== */ + /* spawn all the paralle threads */ + /* ===================================== */ + int activeSlot=0; // only 1 board + // + // ============================ + // fork all the tests here + // ============================ + // + shPthread thr; + // + // max number of cores not include the system thread + // + int maxHost = MAX_CORES; // number of cores/threads + // + // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) + // + long unsigned int mask = 0xf; + // + // Set the active CPU mask before spawn the threads... + // + thr.SetActiveMask(mask); + // + // c_module is the threead to run + // + for (int i=0;i +#include "random48.h" + +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "simdiag_global.h" +#include "cepregression.h" +#include "simPio.h" + +// +void *c_module(void *arg) { + + + // ====================================== + // Set up + // ====================================== + pthread_parm_t *tParm = (pthread_parm_t *)arg; + int errCnt = 0; + int slotId = tParm->slotId; + int cpuId = tParm->cpuId; + int verbose = tParm->verbose; + Int32U seed = tParm->seed; + int restart = tParm->restart; + int offset = GET_OFFSET(slotId,cpuId); + GlobalShMemory.getSlotCpuId(offset,&slotId,&cpuId); + //printf("offset=%x seed=%x verbose=%x GlobalShMemory=%x\n",offset,seed, verbose,(unsigned long) &GlobalShMemory); + // notify I am Alive!!! + shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetAliveStatus(); + sleep(1); + + // ====================================== + // Test is Here + // ====================================== + simPio pio; + pio.MaybeAThread(); // chec + pio.EnableShIpc(1); + pio.SetVerbose(verbose); + + // + // ====================================== + // Test starts here + // ====================================== + // MUST + // wait until Calibration is done.. + //int calibDone = calibrate_ddr3(50); + int calibDone = is_program_loaded(50); + + // + errCnt += check_bare_status(cpuId,500); + // + pio.RunClk(100); + // + // ====================================== + // Exit + // ====================================== +cleanup: + if (errCnt != 0) { + LOGI("======== TEST FAIL ========== %x\n",errCnt); + } else { + LOGI("======== TEST PASS ========== \n"); + } + // shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetError(errCnt); + ptr->SetThreadDone(); + pthread_exit(NULL); + return ((void *)NULL); +} + diff --git a/cosim/bareMetalTests/clintIntr/c_module.h b/cosim/bareMetalTests/clintIntr/c_module.h new file mode 100644 index 0000000..3e5bb5c --- /dev/null +++ b/cosim/bareMetalTests/clintIntr/c_module.h @@ -0,0 +1,18 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef c_module_H +#define c_module_H + +#include "shPthread.h" + +void *c_module(void *); /* thread routine */ + +#endif diff --git a/cosim/bareMetalTests/clintIntr/riscv_wrapper.cc b/cosim/bareMetalTests/clintIntr/riscv_wrapper.cc new file mode 100644 index 0000000..3bf32d7 --- /dev/null +++ b/cosim/bareMetalTests/clintIntr/riscv_wrapper.cc @@ -0,0 +1,175 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +// +// For bareMetal mode ONLY +// +#ifdef BARE_MODE +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "portable_io.h" + +#include "cepRegTest.h" +#include "cepregression.h" + +#include "riscv_wrapper.h" + +// +// ================================= +// Interrupt stuffs +// ================================= +// +volatile unsigned interrupt_count[NHARTS]; +volatile unsigned local[NHARTS]; + +void *timerIntr(unsigned hartid, unsigned long long mcause, void *mepc, void *sp) +{ + //unsigned delta = 0x100; + set_csr(mie, 0); + // + interrupt_count[hartid] |= 1 << (mcause & 0x1f); // set the bit + // wait til clear + while (read_csr(mip) & MIP_MTIP) { + MTIMECMP[hartid] = (uint64_t)(-1); // clear + } + // save mcause to my sratch register + DUT_WRITE32_64(reg_base_addr + cep_scratch0_reg + (hartid * 8), mcause); + // + return mepc; +} + +void *swIntr(unsigned hartid, unsigned long long mcause, void *mepc, void *sp) +{ + set_csr(mie, 0); + MSIP_OFFS[hartid] = 0; // clear?? + // + interrupt_count[hartid] |= 1 << (mcause & 0x1f); // set the bit + // + // Clear the interrup + // + // + // save mcause to my sratch register + // + DUT_WRITE32_64(reg_base_addr + cep_scratch0_reg + (hartid * 8), mcause); + // + // jump pass ecall!!! + // + //return (mepc + 4); // if use ecall + return mepc; +} + +trap_handler_t trap_handler[NHARTS] = {NULL,NULL,NULL,NULL}; // timerIntr,timerIntr,timerIntr,timerIntr}; + +int set_trap_handler(trap_handler_t handler) +{ + int errCnt = 0; + unsigned hartid = read_csr(mhartid); + errCnt = trap_handler[hartid] == NULL ? 0 : 1; + trap_handler[hartid] = handler; + return errCnt; +} + +void enable_timer_interrupts() +{ + set_csr(mie, MIP_MTIP); + set_csr(mstatus, MSTATUS_MIE); + return; +} + +void enable_sw_interrupts() +{ + set_csr(mie, MIP_MSIP); + set_csr(mstatus, MSTATUS_MIE); + return; +} + +void handle_trap(unsigned long long mcause, void *mepc, void *sp) +{ + unsigned hartid = read_csr(mhartid); + if (trap_handler[hartid]) { + (*trap_handler[hartid])(hartid, mcause, mepc, sp); + return; + } + + while (1) + ; +} + +// +// Main +// +void thread_entry(int cid, int nc) +{ + // + int errCnt = 0; + // + set_printf(0); + set_cur_status(CEP_RUNNING_STATUS); + // + unsigned hartid = read_csr(mhartid); + MTIMECMP[hartid] = (uint64_t)(-1); + interrupt_count[hartid] = 0; + local[hartid] = 0; + + // + // ================================== + // First do the timer interrupt + // ================================== + // + local[hartid] += set_trap_handler((trap_handler_t)timerIntr); + // one less then current => interrupt + MTIMECMP[hartid] = MTIME - 1; + enable_timer_interrupts(); + // + // stuck until got it + // + while ((interrupt_count[hartid] & (1 << IRQ_M_TIMER)) == 0) { + local[hartid]++; + if (local[hartid] & 0x8000) { + errCnt++; + break; + } + } + if (errCnt) goto done; + // + // ================================== + // Next is SW interrupt via ecall + // ================================== + // + local[hartid] += set_trap_handler((trap_handler_t)swIntr); + enable_sw_interrupts(); + // execute an ecall to cause an SW interrupt = IRQ_M_EXT + //asm volatile ("ecall;"); // cause IRQ_M_EXT + MSIP_OFFS[hartid] = 1; // to create a software interrupt + // + // stuck here until interrupt + // + //while ((interrupt_count[hartid] & (1 << IRQ_M_EXT)) == 0) { + while ((interrupt_count[hartid] & (1 << IRQ_M_SOFT)) == 0) { + local[hartid]++; + if (local[hartid] & 0x8000) { + errCnt++; + break; + } + } + // + // Done + // + done: + set_status(errCnt,hartid); + + // + // Stuck here forever... + // + + exit(errCnt); +} + +#endif diff --git a/cosim/bareMetalTests/clintIntr/riscv_wrapper.h b/cosim/bareMetalTests/clintIntr/riscv_wrapper.h new file mode 100644 index 0000000..0d4a912 --- /dev/null +++ b/cosim/bareMetalTests/clintIntr/riscv_wrapper.h @@ -0,0 +1,45 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef riscv_wrapper_H +#define riscv_wrapper_H + +#define NHARTS 4 + +#define MTIME (*(volatile long long *)(0x02000000 + 0xbff8)) +#define MTIMECMP ((volatile long long *)(0x02000000 + 0x4000)) + +// Write 32-bit ONLY +#define MSIP_OFFS ((volatile uint32_t *)(0x02000000)) + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void* (*trap_handler_t)(unsigned hartid, unsigned long long mcause, void *mepc, + void *sp); + + void thread_entry(int cid, int nc); + int set_trap_handler(trap_handler_t handler); + void enable_timer_interrupts(); + void enable_sw_interrupts(); + void handle_trap(unsigned long long mcause, void *mepc, void *sp); + // + // Timerupt handler + // + void *timerIntr(unsigned hartid, unsigned long long mcause, void *mepc, void *sp); + void *swIntr(unsigned hartid, unsigned long long mcause, void *mepc, void *sp); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/cosim/bareMetalTests/miscTests/riscv_wrapper.cc b/cosim/bareMetalTests/miscTests/riscv_wrapper.cc index 0a6a045..b12ba20 100644 --- a/cosim/bareMetalTests/miscTests/riscv_wrapper.cc +++ b/cosim/bareMetalTests/miscTests/riscv_wrapper.cc @@ -36,10 +36,10 @@ void thread_entry(int cid, int nc) set_printf(0); switch (cpuId) { - case 0 : errCnt += cepUartTest_runTest(cpuId,0x10, 0); break; + case 3 : errCnt += cepUartTest_runTest(cpuId,0x10, 0); break; case 1 : errCnt += cepSpiTest_runTest(cpuId,0x20, 0); break; case 2 : errCnt += cepGpioTest_runTest(cpuId,0x30,0); break; - case 3 : errCnt += cepMaskromTest_runTest(cpuId,0x40,0); break; + case 0 : errCnt += cepMaskromTest_runTest(cpuId,0x40,0); break; } // diff --git a/cosim/bareMetalTests/plicPrioIntr/Makefile b/cosim/bareMetalTests/plicPrioIntr/Makefile new file mode 100644 index 0000000..d47240f --- /dev/null +++ b/cosim/bareMetalTests/plicPrioIntr/Makefile @@ -0,0 +1,32 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// SPDX short identifier: BSD-2-Clause +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ +# +# +# +COSIM_NAME = $(shell cd ../..; basename `pwd`) +DUT_TOP_DIR = $(shell cd ../../..; pwd | ./${COSIM_NAME}/bin/strip_net.pl ) +BLD_DIR = $(shell cd ..; pwd | ../bin/strip_net.pl ) +TEST_SUITE = $(shell basename ${BLD_DIR}) +TEST_DIR = $(shell cd .; pwd | ../../bin/strip_net.pl ) +TEST_NAME = $(shell basename `pwd`) +SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} + + +# +# Top target!!! +# +all: .vrun_flag riscv_wrapper.elf + +# +# override anything here before calling the common file +# +include ${BLD_DIR}/common.make + diff --git a/cosim/bareMetalTests/plicPrioIntr/c_dispatch.cc b/cosim/bareMetalTests/plicPrioIntr/c_dispatch.cc new file mode 100644 index 0000000..605262d --- /dev/null +++ b/cosim/bareMetalTests/plicPrioIntr/c_dispatch.cc @@ -0,0 +1,126 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include +#include "v2c_cmds.h" +#include "access.h" +#include "c_dispatch.h" +#include "c_module.h" +#include "cep_apis.h" +#include "cep_adrMap.h" +#include "simPio.h" +/* + * main + */ +int main(int argc, char *argv[]) +{ + + /* ===================================== */ + /* SETUP SECTION FOR SIMULATION */ + /* ===================================== */ + unsigned long seed; + sscanf(argv[1],"0x%x",&seed); + printf("Seed = 0x%x\n",seed); + int errCnt = 0; + int verbose = 0x1f; + + /* ===================================== */ + /* spawn all the paralle threads */ + /* ===================================== */ + int activeSlot=0; // only 1 board + // + // ============================ + // fork all the tests here + // ============================ + // + shPthread thr; + // + // max number of cores not include the system thread + // + int maxHost = MAX_CORES; // number of cores/threads + // + // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) + // + long unsigned int mask = 0xf; + // + // Set the active CPU mask before spawn the threads... + // + thr.SetActiveMask(mask); + // + // c_module is the threead to run + // + for (int i=0;i +#include "random48.h" + +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "simdiag_global.h" +#include "cepregression.h" +#include "simPio.h" + +// +void *c_module(void *arg) { + + + // ====================================== + // Set up + // ====================================== + pthread_parm_t *tParm = (pthread_parm_t *)arg; + int errCnt = 0; + int slotId = tParm->slotId; + int cpuId = tParm->cpuId; + int verbose = tParm->verbose; + Int32U seed = tParm->seed; + int restart = tParm->restart; + int offset = GET_OFFSET(slotId,cpuId); + GlobalShMemory.getSlotCpuId(offset,&slotId,&cpuId); + //printf("offset=%x seed=%x verbose=%x GlobalShMemory=%x\n",offset,seed, verbose,(unsigned long) &GlobalShMemory); + // notify I am Alive!!! + shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetAliveStatus(); + sleep(1); + + // ====================================== + // Test is Here + // ====================================== + simPio pio; + pio.MaybeAThread(); // chec + pio.EnableShIpc(1); + pio.SetVerbose(verbose); + + // + // ====================================== + // Test starts here + // ====================================== + // MUST + // wait until Calibration is done.. + //int calibDone = calibrate_ddr3(50); + int calibDone = is_program_loaded(50); + + // + errCnt += check_bare_status(cpuId,500); + // + pio.RunClk(100); + // + // ====================================== + // Exit + // ====================================== +cleanup: + if (errCnt != 0) { + LOGI("======== TEST FAIL ========== %x\n",errCnt); + } else { + LOGI("======== TEST PASS ========== \n"); + } + // shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetError(errCnt); + ptr->SetThreadDone(); + pthread_exit(NULL); + return ((void *)NULL); +} + diff --git a/cosim/bareMetalTests/plicPrioIntr/c_module.h b/cosim/bareMetalTests/plicPrioIntr/c_module.h new file mode 100644 index 0000000..3e5bb5c --- /dev/null +++ b/cosim/bareMetalTests/plicPrioIntr/c_module.h @@ -0,0 +1,18 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef c_module_H +#define c_module_H + +#include "shPthread.h" + +void *c_module(void *); /* thread routine */ + +#endif diff --git a/cosim/bareMetalTests/plicPrioIntr/riscv_wrapper.cc b/cosim/bareMetalTests/plicPrioIntr/riscv_wrapper.cc new file mode 100644 index 0000000..1ee2183 --- /dev/null +++ b/cosim/bareMetalTests/plicPrioIntr/riscv_wrapper.cc @@ -0,0 +1,64 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +// +// For bareMetal mode ONLY +// +#ifdef BARE_MODE +#include "cep_adrMap.h" +#include "cep_apis.h" + +#include "cepPlicTest.h" + + +//#define printf(...) { return 0; } + +#ifdef __cplusplus +extern "C" { +#endif + +//int main(void) +void thread_entry(int cid, int nc) +{ + // + int errCnt = 0; + int testId[4] = {0x00,0x11,0x22,0x33}; + int coreId = read_csr(mhartid); + int revCheck = 1; + // + set_printf(0); + + // + // + set_cur_status(CEP_RUNNING_STATUS); + if (!errCnt) { errCnt = cepPlicTest_prioIntrTest(coreId, 0); } + // + // + // Done + // + set_status(errCnt,testId[coreId]); + /* + if (errCnt) { + set_pass(); + } else { + set_fail(); + } + */ + // + // Stuck here forever... + // + exit(errCnt); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/cosim/bareMetalTests/srotMemTest/c_dispatch.cc b/cosim/bareMetalTests/srotMemTest/c_dispatch.cc index 03a8693..a874473 100644 --- a/cosim/bareMetalTests/srotMemTest/c_dispatch.cc +++ b/cosim/bareMetalTests/srotMemTest/c_dispatch.cc @@ -48,7 +48,7 @@ int main(int argc, char *argv[]) // // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) // - long unsigned int mask = (1 << (seed&0x3)); + long unsigned int mask = 0xf; // (1 << (seed&0x3)); // // Set the active CPU mask before spawn the threads... // diff --git a/cosim/bareMetalTests/srotMemTest/riscv_wrapper.cc b/cosim/bareMetalTests/srotMemTest/riscv_wrapper.cc index b98382c..b4dde50 100644 --- a/cosim/bareMetalTests/srotMemTest/riscv_wrapper.cc +++ b/cosim/bareMetalTests/srotMemTest/riscv_wrapper.cc @@ -50,13 +50,14 @@ void thread_entry(int cid, int nc) // // // + // each core use 1/4 for (int i=0;i<2;i++) { if (i == 0) { - adrWidth = 8; // 256 locations - mem_base = srot_base_addr + SROT_KEYRAM_ADDR; + adrWidth = 8-2; // 256 locations/4 + mem_base = srot_base_addr + SROT_KEYRAM_ADDR + (coreId << 6) ; } else { - adrWidth = 6; // 32 locations - mem_base = srot_base_addr + SROT_KEYINDEXRAM_ADDR; + adrWidth = 6-2; // 64 locations/4 + mem_base = srot_base_addr + SROT_KEYINDEXRAM_ADDR + (coreId << 4); } if (!errCnt) { errCnt = cepMemTest_runTest(coreId,mem_base,adrWidth,dataWidth ,seed, verbose, full); } } diff --git a/cosim/bfmTests/Makefile b/cosim/bfmTests/Makefile index 9c97b07..a37e1e6 100644 --- a/cosim/bfmTests/Makefile +++ b/cosim/bfmTests/Makefile @@ -64,6 +64,8 @@ BFM_TEST_LIST = \ srotKeyTest \ scratchpadTest \ srotErrorTest \ + multiThread \ + plicPrioIntr \ diff --git a/cosim/bfmTests/fragmentors/c_module.cc b/cosim/bfmTests/fragmentors/c_module.cc index 577e5d6..9eeff84 100644 --- a/cosim/bfmTests/fragmentors/c_module.cc +++ b/cosim/bfmTests/fragmentors/c_module.cc @@ -92,7 +92,9 @@ void *c_module(void *arg) { case 2 : // MaskRom - errCnt += cepFragmentorTest_verifyMaskRom(cpuId, bootrom_base_addr, "../../drivers/bootbare/bootbare.bin", 8, seed,verbose); + // errCnt += cepFragmentorTest_verifyMaskRom(cpuId, bootrom_base_addr, "../../drivers/bootbare/bootbare.bin", 8, seed,verbose); + errCnt += cepFragmentorTest_verifyMaskRom(cpuId, bootrom_base_addr, "../../../hdl_cores/freedom/builds/vc707-u500devkit/sdboot_fpga_sim.bin", 8, seed,verbose); + // MD5 errCnt += cepFragmentorTest_baseTest(cpuId, md5_base_addr + 0x0100, 16, 8, (uint64_t) 0, seed, verbose); // HOLE!! errCnt += cepFragmentorTest_baseTest(cpuId, md5_base_addr + 0x10, 2, 2, (uint64_t)-1, seed, verbose); diff --git a/cosim/bfmTests/multiThread/Makefile b/cosim/bfmTests/multiThread/Makefile new file mode 100644 index 0000000..bf3e9c7 --- /dev/null +++ b/cosim/bfmTests/multiThread/Makefile @@ -0,0 +1,31 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// SPDX License Identifier: MIT +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ +# +# +# +COSIM_NAME = $(shell cd ../..; basename `pwd`) +DUT_TOP_DIR = $(shell cd ../../..; pwd | ./${COSIM_NAME}/bin/strip_net.pl ) +BLD_DIR = $(shell cd ..; pwd | ../bin/strip_net.pl ) +TEST_SUITE = $(shell basename ${BLD_DIR}) +TEST_DIR = $(shell cd .; pwd | ../../bin/strip_net.pl ) +TEST_NAME = $(shell basename `pwd`) +SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} + +# +# Top target!!! +# +all: .vrun_flag + +# +# override anything here before calling the common file +# +include ${BLD_DIR}/common.make + diff --git a/cosim/bfmTests/multiThread/c_dispatch.cc b/cosim/bfmTests/multiThread/c_dispatch.cc new file mode 100644 index 0000000..e42b9a9 --- /dev/null +++ b/cosim/bfmTests/multiThread/c_dispatch.cc @@ -0,0 +1,112 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX License Identifier: MIT +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include +#include "v2c_cmds.h" +#include "access.h" +#include "c_dispatch.h" +#include "c_module.h" +#include "cep_apis.h" +#include "cep_adrMap.h" +#include "cepregression.h" +#include "simPio.h" +/* + * main + */ +int main(int argc, char *argv[]) +{ + + /* ===================================== */ + /* SETUP SECTION FOR SIMULATION */ + /* ===================================== */ + unsigned long seed; + sscanf(argv[1],"0x%x",&seed); + printf("Seed = 0x%x\n",seed); + int errCnt = 0; + int verbose = 0x1f; + + /* ===================================== */ + /* spawn all the paralle threads */ + /* ===================================== */ + int activeSlot=0; // only 1 board + // + // ============================ + // fork all the tests here + // ============================ + // + shPthread thr; + // + // max number of cores not include the system thread + // + int maxHost = MAX_CORES; // number of cores/threads + // + // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) + // + long unsigned int mask = 0xf; + // + // Set the active CPU mask before spawn the threads... + // + thr.SetActiveMask(mask); + // + // c_module is the threead to run + // + initConfig(); + for (int i=0;i +#include "random48.h" + +#include "CEP.h" +#include "cep_apis.h" +#include "simdiag_global.h" +#include "cepMultiThread.h" + +// +void *c_module(void *arg) { + + + // ====================================== + // Set up + // ====================================== + pthread_parm_t *tParm = (pthread_parm_t *)arg; + int errCnt = 0; + int slotId = tParm->slotId; + int cpuId = tParm->cpuId; + int verbose = tParm->verbose; + Int32U seed = tParm->seed; + int restart = tParm->restart; + int offset = GET_OFFSET(slotId,cpuId); + GlobalShMemory.getSlotCpuId(offset,&slotId,&cpuId); + //printf("offset=%x seed=%x verbose=%x GlobalShMemory=%x\n",offset,seed, verbose,(unsigned long) &GlobalShMemory); + // notify I am Alive!!! + shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetAliveStatus(); + sleep(1); + + // ====================================== + // Test is Here + // ====================================== + simPio pio; + pio.MaybeAThread(); // chec + pio.EnableShIpc(1); + pio.SetVerbose(verbose); + + // + // ====================================== + // Test starts here + // ====================================== + // MUST + // wait until Calibration is done.. + int calibDone = calibrate_ddr3(50); + //pio.RunClk(1000); + // + int coreMask = seed; // seed is used as cpuActiveMask from c_displatch + int cryptoMask = ((1<<10)-1) & ~(1 << RSA_BASE_K); + // + int maxTest = 10; + int maxLoop = 2; + uint64_t testLockBuf = 0x90000000; + + if (!errCnt) { + errCnt += cepMultiThread_setup(cpuId, testLockBuf, maxTest, coreMask, verbose) ; + } + // LOGI(" errCnt=%d\n",errCnt); + if (!errCnt) { errCnt += cepMultiThread_runThr(cpuId, testLockBuf, cryptoMask, maxTest, maxLoop,seed, verbose); } + // + // + pio.RunClk(100); + // + // ====================================== + // Exit + // ====================================== +cleanup: + if (errCnt != 0) { + LOGI("======== TEST FAIL ========== %x\n",errCnt); + } else { + LOGI("======== TEST PASS ========== \n"); + } + // shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetError(errCnt); + ptr->SetThreadDone(); + pthread_exit(NULL); + return ((void *)NULL); +} + diff --git a/cosim/drivers/bootbare/common.h b/cosim/bfmTests/multiThread/c_module.h similarity index 70% rename from cosim/drivers/bootbare/common.h rename to cosim/bfmTests/multiThread/c_module.h index e45552b..c4e93df 100644 --- a/cosim/drivers/bootbare/common.h +++ b/cosim/bfmTests/multiThread/c_module.h @@ -1,5 +1,6 @@ //************************************************************************ // Copyright 2021 Massachusetts Institute of Technology +// SPDX License Identifier: MIT // // File Name: // Program: Common Evaluation Platform (CEP) @@ -7,13 +8,11 @@ // Notes: // //************************************************************************ +#ifndef c_module_H +#define c_module_H -#ifndef _SDBOOT_COMMON_H -#define _SDBOOT_COMMON_H - -#ifndef PAYLOAD_DEST - #define PAYLOAD_DEST MEMORY_MEM_ADDR -#endif +#include "shPthread.h" +void *c_module(void *); /* thread routine */ #endif diff --git a/cosim/bfmTests/multiThread/imp.h b/cosim/bfmTests/multiThread/imp.h new file mode 100644 index 0000000..e3509dd --- /dev/null +++ b/cosim/bfmTests/multiThread/imp.h @@ -0,0 +1,49 @@ +/*********************************************** + DO NOT MODIFY THE CONTENTS OF THIS FILE. + This header file has been auto-generated by xmelab. + This should be included in user'c C file to + facilitate the calling of imported tasks and functions. +************************************************/ + +#include "svdpi.h" + +#ifdef __cplusplus + extern "C" { +#endif + +typedef struct { + int _a0; + int _a1; + int _a2; + unsigned int _a3; + unsigned int _a4; + unsigned int _a5; + unsigned long long _a6; + unsigned long long _a7[32]; + char _a8[256]; + char _a9[256]; + } v2c_top__mailBox; + + +typedef struct { + int _a0; + int _a1; + int _a2; + unsigned int _a3; + unsigned int _a4; + unsigned int _a5; + unsigned long long _a6; + unsigned long long _a7[32]; + char _a8[256]; + char _a9[256]; + } cep_driver__mailBox; + + +extern void send_v2c_mail (int _a1, int _a2, v2c_top__mailBox *_a3); + +extern void get_v2c_mail (int _a1, int _a2, v2c_top__mailBox *_a3); + +#ifdef __cplusplus + } +#endif + diff --git a/cosim/bfmTests/plicPrioIntr/Makefile b/cosim/bfmTests/plicPrioIntr/Makefile new file mode 100644 index 0000000..80b6fe9 --- /dev/null +++ b/cosim/bfmTests/plicPrioIntr/Makefile @@ -0,0 +1,31 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// SPDX short identifier: BSD-2-Clause +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ +# +# +# +COSIM_NAME = $(shell cd ../..; basename `pwd`) +DUT_TOP_DIR = $(shell cd ../../..; pwd | ./${COSIM_NAME}/bin/strip_net.pl ) +BLD_DIR = $(shell cd ..; pwd | ../bin/strip_net.pl ) +TEST_SUITE = $(shell basename ${BLD_DIR}) +TEST_DIR = $(shell cd .; pwd | ../../bin/strip_net.pl ) +TEST_NAME = $(shell basename `pwd`) +SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} + +# +# Top target!!! +# +all: .vrun_flag + +# +# override anything here before calling the common file +# +include ${BLD_DIR}/common.make + diff --git a/cosim/bfmTests/plicPrioIntr/c_dispatch.cc b/cosim/bfmTests/plicPrioIntr/c_dispatch.cc new file mode 100644 index 0000000..2f7f0f7 --- /dev/null +++ b/cosim/bfmTests/plicPrioIntr/c_dispatch.cc @@ -0,0 +1,107 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include +#include "v2c_cmds.h" +#include "access.h" +#include "c_dispatch.h" +#include "c_module.h" +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "simPio.h" +/* + * main + */ +int main(int argc, char *argv[]) +{ + + /* ===================================== */ + /* SETUP SECTION FOR SIMULATION */ + /* ===================================== */ + unsigned long seed; + sscanf(argv[1],"0x%x",&seed); + printf("Seed = 0x%x\n",seed); + int errCnt = 0; + int verbose = 0x1f; + + /* ===================================== */ + /* spawn all the paralle threads */ + /* ===================================== */ + int activeSlot=0; // only 1 board + // + // ============================ + // fork all the tests here + // ============================ + // + shPthread thr; + // + // max number of cores not include the system thread + // + int maxHost = MAX_CORES; // number of cores/threads + // + // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) + // + long unsigned int mask = 0xf; + // + // Set the active CPU mask before spawn the threads... + // + thr.SetActiveMask(mask); + // + // c_module is the threead to run + // + for (int i=0;i +#include "random48.h" + +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "simdiag_global.h" +#include "cepPlicTest.h" + +// +void *c_module(void *arg) { + + + // ====================================== + // Set up + // ====================================== + pthread_parm_t *tParm = (pthread_parm_t *)arg; + int errCnt = 0; + int slotId = tParm->slotId; + int cpuId = tParm->cpuId; + int verbose = tParm->verbose; + Int32U seed = tParm->seed; + int restart = tParm->restart; + int offset = GET_OFFSET(slotId,cpuId); + GlobalShMemory.getSlotCpuId(offset,&slotId,&cpuId); + //printf("offset=%x seed=%x verbose=%x GlobalShMemory=%x\n",offset,seed, verbose,(unsigned long) &GlobalShMemory); + // notify I am Alive!!! + shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetAliveStatus(); + sleep(1); + + // ====================================== + // Test is Here + // ====================================== + simPio pio; + pio.MaybeAThread(); // chec + pio.EnableShIpc(1); + pio.SetVerbose(verbose); + + // + // ====================================== + // Test starts here + // ====================================== + // MUST + // wait until Calibration is done.. + //int calibDone = calibrate_ddr3(50); + pio.RunClk(500); + + // +#if 1 + if (!errCnt) { errCnt = cepPlicTest_prioIntrTest(cpuId,verbose); } +#endif + // + // + pio.RunClk(100); + // + // ====================================== + // Exit + // ====================================== +cleanup: + if (errCnt != 0) { + LOGI("======== TEST FAIL ========== %x\n",errCnt); + } else { + LOGI("======== TEST PASS ========== \n"); + } + // shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetError(errCnt); + ptr->SetThreadDone(); + pthread_exit(NULL); + return ((void *)NULL); +} + diff --git a/cosim/bfmTests/plicPrioIntr/c_module.h b/cosim/bfmTests/plicPrioIntr/c_module.h new file mode 100644 index 0000000..3e5bb5c --- /dev/null +++ b/cosim/bfmTests/plicPrioIntr/c_module.h @@ -0,0 +1,18 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef c_module_H +#define c_module_H + +#include "shPthread.h" + +void *c_module(void *); /* thread routine */ + +#endif diff --git a/cosim/bfmTests/regTest/c_module.cc b/cosim/bfmTests/regTest/c_module.cc index 82a81df..6b390fd 100644 --- a/cosim/bfmTests/regTest/c_module.cc +++ b/cosim/bfmTests/regTest/c_module.cc @@ -91,7 +91,8 @@ void *c_module(void *arg) { #endif // // - pio.RunClk(100); + pio.RunClk(100); + // // ====================================== // Exit diff --git a/cosim/bfmTests/srotErrorTest/c_module.cc b/cosim/bfmTests/srotErrorTest/c_module.cc index 736b47c..b1a68b0 100644 --- a/cosim/bfmTests/srotErrorTest/c_module.cc +++ b/cosim/bfmTests/srotErrorTest/c_module.cc @@ -72,7 +72,7 @@ void *c_module(void *arg) { for (int i = 0; i < 4; i++) { if (errCnt) break; LOGI("======== LLKI_ErrorTest Loop #%d, ErrCnt= %d ========\n", i, errCnt); - errCnt += cepSpiTest_runTest(cpuId,seed, verbose); + //errCnt += cepSpiTest_runTest(cpuId,seed, verbose); errCnt += srot.LLKI_ErrorTest(cpuId); } diff --git a/cosim/bin/mkDepend.pl b/cosim/bin/mkDepend.pl index 794a3d0..849c17c 100755 --- a/cosim/bin/mkDepend.pl +++ b/cosim/bin/mkDepend.pl @@ -132,11 +132,19 @@ sub parse_log_file { @tmp = split(/[:=\t\n ]+/,$_); for ($i=0;$i<=$#tmp;$i++) { if (-f $tmp[$i] && !($tmp[$i] =~ /searchPaths_build/)) { - if ($tmp[$i] =~ /\.vhd/) { - $vhdl_list{$tmp[$i]} = 1; + $testName = basename($tmp[$i]); + # add build_dir if single !! + if ($testName eq $tmp[$i]) { + print "Adding fullpath to $tmp[$i]\n"; + $testName = "$build_dir/$testName"; + } else { + $testName = $tmp[$i]; + } + if ($testName =~ /\.vhd/) { + $vhdl_list{$testName} = 1; $vhdl_empty = 0; } else { - $vc_list{$tmp[$i]} = 1; + $vc_list{$testName} = 1; $vc_empty = 0; } print "Got $tmp[0]\n" if $DBG; diff --git a/cosim/cadence.make b/cosim/cadence.make index df43393..3e6252e 100644 --- a/cosim/cadence.make +++ b/cosim/cadence.make @@ -17,12 +17,12 @@ export VMGR_VERSION ?= VMANAGERAGILE20.06.001 export XCELIUM_VERSION ?= XCELIUMAGILE20.09.001 -export VMGR_PATH ?= /brewhouse/cad4/x86_64/Cadence/${VMGR_VERSION} -export XCELIUM_INSTALL ?= /brewhouse/cad4/x86_64/Cadence/${XCELIUM_VERSION} +export VMGR_PATH = /brewhouse/cad4/x86_64/Cadence/${VMGR_VERSION} +export XCELIUM_INSTALL = /brewhouse/cad4/x86_64/Cadence/${XCELIUM_VERSION} -export IMC_INSTALL ?= ${VMGR_PATH} -export MDV_XLM_HOME ?= ${XCELIUM_INSTALL} +export IMC_INSTALL = ${VMGR_PATH} +export MDV_XLM_HOME = ${XCELIUM_INSTALL} # # Add to PATH if they are not there yet # diff --git a/cosim/cadence_cov.ccf b/cosim/cadence_cov.ccf index b25d0ee..d74fff3 100644 --- a/cosim/cadence_cov.ccf +++ b/cosim/cadence_cov.ccf @@ -1,18 +1,53 @@ -select_functional -imm_asrt_class_package -set_covergroup -new_instance_reporting -set_expr_coverable_statements -procassign -contassign -set_expr_coverable_operators -relational -conditional -logical_not -set_refinement_resilience -# -# need to see all nets in toggle, tony D. -#set_toggle_portsonly -# -set_libcell_scoring -# -# From Amit 04/12/2021 -# -set_glitch_strobe 166 ps -set_toggle_strobe 166 ps -set_toggle_scoring -regeot -# -select_coverage -block -expr -toggle -fsm -instance cep_tb.fpga.topDesign.topMod... +# +# From Cadence 05/11/21 +# + +# enable code and FSM coverage +select_coverage -block -expr -toggle -fsm -instance cep_tb.fpga.topDesign.topMod... + +# remove instances in the hierarchy without any coverage +deselect_coverage -remove_empty_instances + +# Specific options for coverage merging, refinements +set_code_fine_grained_merging +set_refinement_resilience + +# Specific options for finer granularity/control in coverage scoring +set_libcell_scoring -enable_vy +set_assign_scoring +set_branch_scoring +set_com -log +set_glitch_strobe 166 ps + +# expression specific options +set_expr_scoring -control -struct +set_expr_coverable_operators -bitwise -relational -conditional -reduction -logical_not +set_expr_coverable_statements -all + + +# toggle specific options +#set_toggle_portsonly # limit to ports only +#set_toggle_smart_refinement # enable toggle smart refinement / exclusions +set_toggle_scoring -sv_mda +#set_toggle_scoring -sv_mda 16 # reduces most of warnings but toggle coverage space large +#set_toggle_scoring -sv_mda 18 # covers all warnings but toggle coverage space very large +set_toggle_scoring -sv_enum enable_mda +set_toggle_scoring -sv_enum -sv_struct_with_enum +set_toggle_strobe 166 ps +set_toggle_scoring -regeot + +# FSM specific options +set_fsm_scoring -hold_transition +set_fsm_reset_scoring + +# functional coverage +select_functional -imm_asrt_class_package +set_covergroup -per_instance_default_one + +# Optimizations +#set_optimize -vlog_prune_on +set_optimize -top_expr_non_scorable +set_optimize -prune_covergroup + +#************************** + diff --git a/cosim/cep_buildChips.make b/cosim/cep_buildChips.make index 36fe12d..4075ef0 100644 --- a/cosim/cep_buildChips.make +++ b/cosim/cep_buildChips.make @@ -92,9 +92,9 @@ RISCV_BARE_LDFLAG += -static -nostdlib -nostartfiles -lgcc -DBARE_MODE RISCV_BARE_LDFILE = ${BARE_SRC_DIR}/link.ld RISCV_BARE_CRTFILE = ${BARE_SRC_DIR}/crt.S -RISCV_BARE_SOURCE_LIST = ${SIM_DIR}/drivers/cep_tests -RISC_BARE_OBJECTS_LIST := $(subst .cc,.bobj,${RISCV_BARE_SOURCE_LIST}) -RISC_BARE_OBJECTS := $(foreach t,${RISC_BARE_OBJECTS_LIST}, ${BARE_OBJ_DIR}/${t}) +# .C-style ONLY +RISC_BARE_SRC_LIST := $(subst .c,.bobj,$(notdir $(wildcard ${BARE_SRC_DIR}/*.c))) +RISC_BARE_OBJECTS := $(foreach t,${RISC_BARE_SRC_LIST}, ${BARE_OBJ_DIR}/${t}) CEP_SRC_FILES = $(wildcard ${SIM_DIR}/drivers/cep_tests/*.cc) CEP_BARE_OBJECTS := $(subst .cc,.bobj,${CEP_SRC_FILES}) @@ -102,10 +102,14 @@ CEP_BARE_OBJECTS := $(subst .cc,.bobj,${CEP_SRC_FILES}) # # Bare metal booloader # -RICSV_BARE_BOOT_DIR := ${SIM_DIR}/drivers/bootbare -RISCV_BARE_BOOT_ROM := bootbare.hex +#RICSV_BARE_BOOT_DIR := ${SIM_DIR}/drivers/bootbare +#RISCV_BARE_BOOT_ROM := bootbare.hex -%.hex: %.c +# use the one build during verilog generation +RICSV_BARE_BOOT_DIR := ${DUT_TOP_DIR}/hdl_cores/freedom/builds/vc707-u500devkit +RISCV_BARE_BOOT_ROM := sdboot_fpga_sim.hex + +%.hex: ${INC_DIR}/cep_adrMap.h %.c (cd ${RICSV_BARE_BOOT_DIR}; make clean; make;) CEP_DIAG_FILES = $(wildcard ${SIM_DIR}/drivers/diag/*.cc) @@ -119,12 +123,10 @@ CEP_BARE_DIAG_OBJECTS := $(subst .cc,.bobj,${CEP_DIAG_FILES}) ${BARE_OBJ_DIR}/crt.bobj: ${RISCV_BARE_CRTFILE} $(RISCV_GCC) $(RISCV_BARE_CFLAG) -c $< -o $@ -${BARE_OBJ_DIR}/syscalls.bobj: ${BARE_OBJ_DIR}/syscalls.c - $(RISCV_GCC) $(RISCV_BARE_CFLAG) -c $< -o $@ - -${BARE_OBJ_DIR}/bare_malloc.bobj: ${BARE_OBJ_DIR}/bare_malloc.c +${BARE_OBJ_DIR}/%.bobj: ${BARE_OBJ_DIR}/%.c $(RISCV_GCC) $(RISCV_BARE_CFLAG) -c $< -o $@ + riscv_wrapper.bobj: riscv_wrapper.cc $(RISCV_GCC) $(RISCV_BARE_CFLAG) -c $< -o $@ @@ -148,7 +150,7 @@ riscv_wrapper.elf: riscv_virt.S riscv_wrapper.cc ${RISCV_VIRT_CFILES} ${RISCV_HEXDUMP} -C riscv_wrapper.elf > riscv_wrapper.hex ${BIN_DIR}/createPassFail.pl riscv_wrapper.dump PassFail.hex else -riscv_wrapper.elf: riscv_wrapper.bobj ${BARE_OBJ_DIR}/crt.bobj ${BARE_OBJ_DIR}/syscalls.bobj ${BARE_OBJ_DIR}/bare_malloc.bobj ${CEP_BARE_OBJECTS} ${CEP_BARE_DIAG_OBJECTS} +riscv_wrapper.elf: riscv_wrapper.bobj ${BARE_OBJ_DIR}/crt.bobj ${RISC_BARE_OBJECTS} ${CEP_BARE_OBJECTS} ${CEP_BARE_DIAG_OBJECTS} $(RISCV_GCC) -T ${RISCV_BARE_LDFILE} ${RISCV_BARE_LDFLAG} $^ -o $@ ${RISCV_OBJDUMP} -S -C -d -l -x riscv_wrapper.elf > riscv_wrapper.dump ${RISCV_HEXDUMP} -C riscv_wrapper.elf > riscv_wrapper.hex diff --git a/cosim/common.make b/cosim/common.make index 54b284c..125e443 100644 --- a/cosim/common.make +++ b/cosim/common.make @@ -130,6 +130,7 @@ CHECK_FLAG = ${BLD_DIR}/.is_checked CUR_CONFIG = .CONFIG_${DUT_VENDOR}_${DUT_SIM_MODE} SIM_DEPEND_TARGET = .${WORK_NAME}_dependList + # # ------------------------------------------- # Some derived switches @@ -186,6 +187,10 @@ DUT_VLOG_ARGS += +cover=sbceft +define+COVERAGE DUT_VOPT_ARGS += +cover=sbceft endif +ifeq (${NOWAVE},1) +DUT_VLOG_ARGS += +define+NOWAVE +endif + # Use our gcc instead of builtin form questa DUT_VSIM_ARGS += -cpppath ${GCC} diff --git a/cosim/drivers/bootbare/Makefile b/cosim/drivers/bootbare/Makefile deleted file mode 100644 index 8185ff7..0000000 --- a/cosim/drivers/bootbare/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -#//************************************************************************ -#// Copyright 2021 Massachusetts Institute of Technology -#// -#// File Name: -#// Program: Common Evaluation Platform (CEP) -#// Description: -#// Notes: -#// -#//************************************************************************ - -# RISCV environment variable must be set - -CC=$(RISCV)/bin/riscv64-unknown-elf-gcc -OBJCOPY=$(RISCV)/bin/riscv64-unknown-elf-objcopy -OBJDMP=$(RISCV)/bin/riscv64-unknown-elf-objdump -CFLAGS=-march=rv64imac -mcmodel=medany -O2 -std=gnu11 -Wall -nostartfiles -CFLAGS+= -fno-common -g -DENTROPY=0 -mabi=lp64 -DNONSMP_HART=0 -CFLAGS+= -I ./include -I. -LFLAGS=-static -nostdlib -L ./linker -T sdboot.elf.lds - -export CONFIG_PROJECT := sifive.freedom.unleashed -export CONFIG := DevKitU500FPGADesign_WithDevKit50MHz - -# -# OR can be passed in from top -# -#BUILD_DIR := /home/aduong/CEP/CEP-master/hdl_cores/freedom/builds/vc707-u500devkit -BUILD_DIR := ../../../hdl_cores/freedom/builds/vc707-u500devkit - -dts := $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).dts -dtb := $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).dtb -clk := $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).tl_clock.h - -all: head.S bootbare.c - $(CC) $(CFLAGS) -include $(clk) -DDEVICE_TREE='"$(dtb)"' $(LFLAGS) -o bootbare.elf head.S bootbare.c - $(OBJCOPY) -O binary bootbare.elf bootbare.bin - ${OBJDMP} -S bootbare.elf > bootbare.dump - od -t x4 -An -w4 -v bootbare.bin > bootbare.hex - -$(clk): $(dts) - awk '/tlclk {/ && !f{f=1; next}; f && match($$0, /^.*clock-frequency.*<(.*)>.*/, arr) { print "#define TL_CLK " arr[1] "UL"}' $< > $@.tmp - mv $@.tmp $@ - -$(dtb): $(dts) - dtc -I dts -O dtb -o $@ $< - -.PHONY: clean -clean:: - rm -rf *.bin *.hex *.elf diff --git a/cosim/drivers/bootbare/bootbare.c b/cosim/drivers/bootbare/bootbare.c deleted file mode 100644 index 581aeba..0000000 --- a/cosim/drivers/bootbare/bootbare.c +++ /dev/null @@ -1,55 +0,0 @@ -//************************************************************************ -// Copyright 2021 Massachusetts Institute of Technology -// SPDX License Identifier: MIT -// -// File Name: -// Program: Common Evaluation Platform (CEP) -// Description: -// Notes: -// -//************************************************************************ - -// See LICENSE for license details. -#include - -#include - -#include "common.h" - -#define DEBUG -//#include "kprintf.h" - -#define MAX_CORES 8 - -#define PAYLOAD_SIZE (26 << 11) - -#ifndef TL_CLK -#error Must define TL_CLK -#endif - -#define F_CLK TL_CLK - - -int main(void) -{ - /* - REG32(uart, UART_REG_TXCTRL) = UART_TXEN; - - print_greeting(); - kputs("INIT"); - sd_poweron(); - if (sd_cmd0() || - sd_cmd8() || - sd_acmd41() || - sd_cmd58() || - sd_cmd16() || - copy()) { - kputs("ERROR"); - return 1; - } - - kputs("BOOT"); - */ - __asm__ __volatile__ ("fence.i" : : : "memory"); - return 0; -} diff --git a/cosim/drivers/bootbare/head.S b/cosim/drivers/bootbare/head.S deleted file mode 100644 index 24c92aa..0000000 --- a/cosim/drivers/bootbare/head.S +++ /dev/null @@ -1,31 +0,0 @@ -#//************************************************************************ -#// Copyright 2021 Massachusetts Institute of Technology -#// -#// File Name: -#// Program: Common Evaluation Platform (CEP) -#// Description: -#// Notes: -#// -#//************************************************************************ - -// See LICENSE for license details. -#include -#include -#include "common.h" - - .section .text.init - .option norvc - .globl _prog_start -_prog_start: - smp_pause(s1, s2) - li sp, (PAYLOAD_DEST + 0x7fff000) - call main - smp_resume(s1, s2) - csrr a0, mhartid - la a1, dtb - li s1, PAYLOAD_DEST - jr s1 - - .section .rodata -dtb: - .incbin DEVICE_TREE diff --git a/cosim/drivers/bootbare/include/bits.h b/cosim/drivers/bootbare/include/bits.h deleted file mode 100644 index bfe656f..0000000 --- a/cosim/drivers/bootbare/include/bits.h +++ /dev/null @@ -1,36 +0,0 @@ -// See LICENSE for license details. -#ifndef _RISCV_BITS_H -#define _RISCV_BITS_H - -#define likely(x) __builtin_expect((x), 1) -#define unlikely(x) __builtin_expect((x), 0) - -#define ROUNDUP(a, b) ((((a)-1)/(b)+1)*(b)) -#define ROUNDDOWN(a, b) ((a)/(b)*(b)) - -#define MAX(a, b) ((a) > (b) ? (a) : (b)) -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define CLAMP(a, lo, hi) MIN(MAX(a, lo), hi) - -#define EXTRACT_FIELD(val, which) (((val) & (which)) / ((which) & ~((which)-1))) -#define INSERT_FIELD(val, which, fieldval) (((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1)))) - -#define STR(x) XSTR(x) -#define XSTR(x) #x - -#if __riscv_xlen == 64 -# define SLL32 sllw -# define STORE sd -# define LOAD ld -# define LWU lwu -# define LOG_REGBYTES 3 -#else -# define SLL32 sll -# define STORE sw -# define LOAD lw -# define LWU lw -# define LOG_REGBYTES 2 -#endif -#define REGBYTES (1 << LOG_REGBYTES) - -#endif diff --git a/cosim/drivers/bootbare/include/const.h b/cosim/drivers/bootbare/include/const.h deleted file mode 100644 index 8dcffbb..0000000 --- a/cosim/drivers/bootbare/include/const.h +++ /dev/null @@ -1,18 +0,0 @@ -// See LICENSE for license details. -/* Derived from */ - -#ifndef _SIFIVE_CONST_H -#define _SIFIVE_CONST_H - -#ifdef __ASSEMBLER__ -#define _AC(X,Y) X -#define _AT(T,X) X -#else -#define _AC(X,Y) (X##Y) -#define _AT(T,X) ((T)(X)) -#endif /* !__ASSEMBLER__*/ - -#define _BITUL(x) (_AC(1,UL) << (x)) -#define _BITULL(x) (_AC(1,ULL) << (x)) - -#endif /* _SIFIVE_CONST_H */ diff --git a/cosim/drivers/bootbare/include/devices/clint.h b/cosim/drivers/bootbare/include/devices/clint.h deleted file mode 100644 index c2b05ba..0000000 --- a/cosim/drivers/bootbare/include/devices/clint.h +++ /dev/null @@ -1,14 +0,0 @@ -// See LICENSE for license details. - -#ifndef _SIFIVE_CLINT_H -#define _SIFIVE_CLINT_H - - -#define CLINT_MSIP 0x0000 -#define CLINT_MSIP_size 0x4 -#define CLINT_MTIMECMP 0x4000 -#define CLINT_MTIMECMP_size 0x8 -#define CLINT_MTIME 0xBFF8 -#define CLINT_MTIME_size 0x8 - -#endif /* _SIFIVE_CLINT_H */ diff --git a/cosim/drivers/bootbare/include/devices/gpio.h b/cosim/drivers/bootbare/include/devices/gpio.h deleted file mode 100644 index f7f0acb..0000000 --- a/cosim/drivers/bootbare/include/devices/gpio.h +++ /dev/null @@ -1,24 +0,0 @@ -// See LICENSE for license details. - -#ifndef _SIFIVE_GPIO_H -#define _SIFIVE_GPIO_H - -#define GPIO_INPUT_VAL (0x00) -#define GPIO_INPUT_EN (0x04) -#define GPIO_OUTPUT_EN (0x08) -#define GPIO_OUTPUT_VAL (0x0C) -#define GPIO_PULLUP_EN (0x10) -#define GPIO_DRIVE (0x14) -#define GPIO_RISE_IE (0x18) -#define GPIO_RISE_IP (0x1C) -#define GPIO_FALL_IE (0x20) -#define GPIO_FALL_IP (0x24) -#define GPIO_HIGH_IE (0x28) -#define GPIO_HIGH_IP (0x2C) -#define GPIO_LOW_IE (0x30) -#define GPIO_LOW_IP (0x34) -#define GPIO_IOF_EN (0x38) -#define GPIO_IOF_SEL (0x3C) -#define GPIO_OUTPUT_XOR (0x40) - -#endif /* _SIFIVE_GPIO_H */ diff --git a/cosim/drivers/bootbare/include/devices/plic.h b/cosim/drivers/bootbare/include/devices/plic.h deleted file mode 100644 index 4d5b2d8..0000000 --- a/cosim/drivers/bootbare/include/devices/plic.h +++ /dev/null @@ -1,31 +0,0 @@ -// See LICENSE for license details. - -#ifndef PLIC_H -#define PLIC_H - -#include - -// 32 bits per source -#define PLIC_PRIORITY_OFFSET _AC(0x0000,UL) -#define PLIC_PRIORITY_SHIFT_PER_SOURCE 2 -// 1 bit per source (1 address) -#define PLIC_PENDING_OFFSET _AC(0x1000,UL) -#define PLIC_PENDING_SHIFT_PER_SOURCE 0 - -//0x80 per target -#define PLIC_ENABLE_OFFSET _AC(0x2000,UL) -#define PLIC_ENABLE_SHIFT_PER_TARGET 7 - - -#define PLIC_THRESHOLD_OFFSET _AC(0x200000,UL) -#define PLIC_CLAIM_OFFSET _AC(0x200004,UL) -#define PLIC_THRESHOLD_SHIFT_PER_TARGET 12 -#define PLIC_CLAIM_SHIFT_PER_TARGET 12 - -#define PLIC_MAX_SOURCE 1023 -#define PLIC_SOURCE_MASK 0x3FF - -#define PLIC_MAX_TARGET 15871 -#define PLIC_TARGET_MASK 0x3FFF - -#endif /* PLIC_H */ diff --git a/cosim/drivers/bootbare/include/devices/spi.h b/cosim/drivers/bootbare/include/devices/spi.h deleted file mode 100644 index 7118572..0000000 --- a/cosim/drivers/bootbare/include/devices/spi.h +++ /dev/null @@ -1,79 +0,0 @@ -// See LICENSE for license details. - -#ifndef _SIFIVE_SPI_H -#define _SIFIVE_SPI_H - -/* Register offsets */ - -#define SPI_REG_SCKDIV 0x00 -#define SPI_REG_SCKMODE 0x04 -#define SPI_REG_CSID 0x10 -#define SPI_REG_CSDEF 0x14 -#define SPI_REG_CSMODE 0x18 - -#define SPI_REG_DCSSCK 0x28 -#define SPI_REG_DSCKCS 0x2a -#define SPI_REG_DINTERCS 0x2c -#define SPI_REG_DINTERXFR 0x2e - -#define SPI_REG_FMT 0x40 -#define SPI_REG_TXFIFO 0x48 -#define SPI_REG_RXFIFO 0x4c -#define SPI_REG_TXCTRL 0x50 -#define SPI_REG_RXCTRL 0x54 - -#define SPI_REG_FCTRL 0x60 -#define SPI_REG_FFMT 0x64 - -#define SPI_REG_IE 0x70 -#define SPI_REG_IP 0x74 - -/* Fields */ - -#define SPI_SCK_POL 0x1 -#define SPI_SCK_PHA 0x2 - -#define SPI_FMT_PROTO(x) ((x) & 0x3) -#define SPI_FMT_ENDIAN(x) (((x) & 0x1) << 2) -#define SPI_FMT_DIR(x) (((x) & 0x1) << 3) -#define SPI_FMT_LEN(x) (((x) & 0xf) << 16) - -/* TXCTRL register */ -#define SPI_TXWM(x) ((x) & 0xffff) -/* RXCTRL register */ -#define SPI_RXWM(x) ((x) & 0xffff) - -#define SPI_IP_TXWM 0x1 -#define SPI_IP_RXWM 0x2 - -#define SPI_FCTRL_EN 0x1 - -#define SPI_INSN_CMD_EN 0x1 -#define SPI_INSN_ADDR_LEN(x) (((x) & 0x7) << 1) -#define SPI_INSN_PAD_CNT(x) (((x) & 0xf) << 4) -#define SPI_INSN_CMD_PROTO(x) (((x) & 0x3) << 8) -#define SPI_INSN_ADDR_PROTO(x) (((x) & 0x3) << 10) -#define SPI_INSN_DATA_PROTO(x) (((x) & 0x3) << 12) -#define SPI_INSN_CMD_CODE(x) (((x) & 0xff) << 16) -#define SPI_INSN_PAD_CODE(x) (((x) & 0xff) << 24) - -#define SPI_TXFIFO_FULL (1 << 31) -#define SPI_RXFIFO_EMPTY (1 << 31) - -/* Values */ - -#define SPI_CSMODE_AUTO 0 -#define SPI_CSMODE_HOLD 2 -#define SPI_CSMODE_OFF 3 - -#define SPI_DIR_RX 0 -#define SPI_DIR_TX 1 - -#define SPI_PROTO_S 0 -#define SPI_PROTO_D 1 -#define SPI_PROTO_Q 2 - -#define SPI_ENDIAN_MSB 0 -#define SPI_ENDIAN_LSB 1 - -#endif /* _SIFIVE_SPI_H */ diff --git a/cosim/drivers/bootbare/include/devices/uart.h b/cosim/drivers/bootbare/include/devices/uart.h deleted file mode 100644 index aecfd91..0000000 --- a/cosim/drivers/bootbare/include/devices/uart.h +++ /dev/null @@ -1,28 +0,0 @@ -// See LICENSE for license details. - -#ifndef _SIFIVE_UART_H -#define _SIFIVE_UART_H - -/* Register offsets */ -#define UART_REG_TXFIFO 0x00 -#define UART_REG_RXFIFO 0x04 -#define UART_REG_TXCTRL 0x08 -#define UART_REG_RXCTRL 0x0c -#define UART_REG_IE 0x10 -#define UART_REG_IP 0x14 -#define UART_REG_DIV 0x18 - -/* TXCTRL register */ -#define UART_TXEN 0x1 -#define UART_TXNSTOP 0x2 -#define UART_TXWM(x) (((x) & 0xffff) << 16) - -/* RXCTRL register */ -#define UART_RXEN 0x1 -#define UART_RXWM(x) (((x) & 0xffff) << 16) - -/* IP register */ -#define UART_IP_TXWM 0x1 -#define UART_IP_RXWM 0x2 - -#endif /* _SIFIVE_UART_H */ diff --git a/cosim/drivers/bootbare/include/platform.h b/cosim/drivers/bootbare/include/platform.h deleted file mode 100644 index fcb1156..0000000 --- a/cosim/drivers/bootbare/include/platform.h +++ /dev/null @@ -1,99 +0,0 @@ -// See LICENSE for license details. - -#ifndef _SIFIVE_PLATFORM_H -#define _SIFIVE_PLATFORM_H - -#include "const.h" -#include "riscv_test_defaults.h" -#include "devices/clint.h" -#include "devices/gpio.h" -#include "devices/plic.h" -#include "devices/spi.h" -#include "devices/uart.h" - - // Some things missing from the official encoding.h -#if __riscv_xlen == 32 - #define MCAUSE_INT 0x80000000UL - #define MCAUSE_CAUSE 0x7FFFFFFFUL -#else - #define MCAUSE_INT 0x8000000000000000UL - #define MCAUSE_CAUSE 0x7FFFFFFFFFFFFFFFUL -#endif - -/**************************************************************************** - * Platform definitions - *****************************************************************************/ - -// CPU info -#define NUM_CORES 1 -#define GLOBAL_INT_SIZE 15 -#define GLOBAL_INT_MAX_PRIORITY 7 - -// Memory map -#define AXI_PCIE_HOST_1_00_A_CTRL_ADDR _AC(0x50000000,UL) -#define AXI_PCIE_HOST_1_00_A_CTRL_SIZE _AC(0x4000000,UL) -#define CLINT_CTRL_ADDR _AC(0x2000000,UL) -#define CLINT_CTRL_SIZE _AC(0x10000,UL) -#define DEBUG_CTRL_ADDR _AC(0x0,UL) -#define DEBUG_CTRL_SIZE _AC(0x1000,UL) -#define ERROR_MEM_ADDR _AC(0x3000,UL) -#define ERROR_MEM_SIZE _AC(0x1000,UL) -#define GPIO_CTRL_ADDR _AC(0x64002000,UL) -#define GPIO_CTRL_SIZE _AC(0x1000,UL) -#define MASKROM_MEM_ADDR _AC(0x10000,UL) -#define MASKROM_MEM_SIZE _AC(0x4000,UL) -#define MEMORY_MEM_ADDR _AC(0x80000000,UL) -#define MEMORY_MEM_SIZE _AC(0x40000000,UL) -#define PLIC_CTRL_ADDR _AC(0xc000000,UL) -#define PLIC_CTRL_SIZE _AC(0x4000000,UL) -#define SPI_CTRL_ADDR _AC(0x64001000,UL) -#define SPI_CTRL_SIZE _AC(0x1000,UL) -#define TEST_CTRL_ADDR _AC(0x4000,UL) -#define TEST_CTRL_SIZE _AC(0x1000,UL) -#define UART_CTRL_ADDR _AC(0x64000000,UL) -#define UART_CTRL_SIZE _AC(0x1000,UL) - -// IOF masks - - -// Interrupt numbers -#define UART_INT_BASE 1 -#define SPI_INT_BASE 2 -#define GPIO_INT_BASE 3 -#define AXI_PCIE_HOST_1_00_A_INT_BASE 7 - -// Helper functions -#define _REG64(p, i) (*(volatile uint64_t *)((p) + (i))) -#define _REG32(p, i) (*(volatile uint32_t *)((p) + (i))) -#define _REG16(p, i) (*(volatile uint16_t *)((p) + (i))) -// Bulk set bits in `reg` to either 0 or 1. -// E.g. SET_BITS(MY_REG, 0x00000007, 0) would generate MY_REG &= ~0x7 -// E.g. SET_BITS(MY_REG, 0x00000007, 1) would generate MY_REG |= 0x7 -#define SET_BITS(reg, mask, value) if ((value) == 0) { (reg) &= ~(mask); } else { (reg) |= (mask); } -#define AXI_PCIE_HOST_1_00_A_REG(offset) _REG32(AXI_PCIE_HOST_1_00_A_CTRL_ADDR, offset) -#define CLINT_REG(offset) _REG32(CLINT_CTRL_ADDR, offset) -#define DEBUG_REG(offset) _REG32(DEBUG_CTRL_ADDR, offset) -#define ERROR_REG(offset) _REG32(ERROR_CTRL_ADDR, offset) -#define GPIO_REG(offset) _REG32(GPIO_CTRL_ADDR, offset) -#define MASKROM_REG(offset) _REG32(MASKROM_CTRL_ADDR, offset) -#define MEMORY_REG(offset) _REG32(MEMORY_CTRL_ADDR, offset) -#define PLIC_REG(offset) _REG32(PLIC_CTRL_ADDR, offset) -#define SPI_REG(offset) _REG32(SPI_CTRL_ADDR, offset) -#define TEST_REG(offset) _REG32(TEST_CTRL_ADDR, offset) -#define UART_REG(offset) _REG32(UART_CTRL_ADDR, offset) -#define AXI_PCIE_HOST_1_00_A_REG64(offset) _REG64(AXI_PCIE_HOST_1_00_A_CTRL_ADDR, offset) -#define CLINT_REG64(offset) _REG64(CLINT_CTRL_ADDR, offset) -#define DEBUG_REG64(offset) _REG64(DEBUG_CTRL_ADDR, offset) -#define ERROR_REG64(offset) _REG64(ERROR_CTRL_ADDR, offset) -#define GPIO_REG64(offset) _REG64(GPIO_CTRL_ADDR, offset) -#define MASKROM_REG64(offset) _REG64(MASKROM_CTRL_ADDR, offset) -#define MEMORY_REG64(offset) _REG64(MEMORY_CTRL_ADDR, offset) -#define PLIC_REG64(offset) _REG64(PLIC_CTRL_ADDR, offset) -#define SPI_REG64(offset) _REG64(SPI_CTRL_ADDR, offset) -#define TEST_REG64(offset) _REG64(TEST_CTRL_ADDR, offset) -#define UART_REG64(offset) _REG64(UART_CTRL_ADDR, offset) - -// Misc - - -#endif /* _SIFIVE_PLATFORM_H */ diff --git a/cosim/drivers/bootbare/include/riscv_test_defaults.h b/cosim/drivers/bootbare/include/riscv_test_defaults.h deleted file mode 100644 index a2dea3d..0000000 --- a/cosim/drivers/bootbare/include/riscv_test_defaults.h +++ /dev/null @@ -1,81 +0,0 @@ -// See LICENSE for license details. -#ifndef _RISCV_TEST_DEFAULTS_H -#define _RISCV_TEST_DEFAULTS_H - -#define TESTNUM x28 -#define TESTBASE 0x4000 - -#define RVTEST_RV32U \ - .macro init; \ - .endm - -#define RVTEST_RV64U \ - .macro init; \ - .endm - -#define RVTEST_RV32UF \ - .macro init; \ - /* If FPU exists, initialize FCSR. */ \ - csrr t0, misa; \ - andi t0, t0, 1 << ('F' - 'A'); \ - beqz t0, 1f; \ - /* Enable FPU if it exists. */ \ - li t0, MSTATUS_FS; \ - csrs mstatus, t0; \ - fssr x0; \ -1: ; \ - .endm - -#define RVTEST_RV64UF \ - .macro init; \ - /* If FPU exists, initialize FCSR. */ \ - csrr t0, misa; \ - andi t0, t0, 1 << ('F' - 'A'); \ - beqz t0, 1f; \ - /* Enable FPU if it exists. */ \ - li t0, MSTATUS_FS; \ - csrs mstatus, t0; \ - fssr x0; \ -1: ; \ - .endm - -#define RVTEST_CODE_BEGIN \ - .section .text.init; \ - .globl _prog_start; \ -_prog_start: \ - init; - -#define RVTEST_CODE_END \ - unimp - -#define RVTEST_PASS \ - fence; \ - li t0, TESTBASE; \ - li t1, 0x5555; \ - sw t1, 0(t0); \ -1: \ - j 1b; - -#define RVTEST_FAIL \ - li t0, TESTBASE; \ - li t1, 0x3333; \ - slli a0, a0, 16; \ - add a0, a0, t1; \ - sw a0, 0(t0); \ -1: \ - j 1b; - -#define EXTRA_DATA - -#define RVTEST_DATA_BEGIN \ - EXTRA_DATA \ - .align 4; .global begin_signature; begin_signature: - -#define RVTEST_DATA_END \ - _msg_init: .asciz "RUN\r\n"; \ - _msg_pass: .asciz "PASS"; \ - _msg_fail: .asciz "FAIL "; \ - _msg_end: .asciz "\r\n"; \ - .align 4; .global end_signature; end_signature: - -#endif /* _RISCV_TEST_DEFAULTS_H */ diff --git a/cosim/drivers/bootbare/include/sections.h b/cosim/drivers/bootbare/include/sections.h deleted file mode 100644 index 6e1f051..0000000 --- a/cosim/drivers/bootbare/include/sections.h +++ /dev/null @@ -1,17 +0,0 @@ -// See LICENSE for license details. -#ifndef _SECTIONS_H -#define _SECTIONS_H - -extern unsigned char _rom[]; -extern unsigned char _rom_end[]; - -extern unsigned char _ram[]; -extern unsigned char _ram_end[]; - -extern unsigned char _ftext[]; -extern unsigned char _etext[]; -extern unsigned char _fbss[]; -extern unsigned char _ebss[]; -extern unsigned char _end[]; - -#endif /* _SECTIONS_H */ diff --git a/cosim/drivers/bootbare/include/smp.h b/cosim/drivers/bootbare/include/smp.h deleted file mode 100644 index 145ceb3..0000000 --- a/cosim/drivers/bootbare/include/smp.h +++ /dev/null @@ -1,142 +0,0 @@ -#ifndef SIFIVE_SMP -#define SIFIVE_SMP -#include "platform.h" - -// The maximum number of HARTs this code supports -#ifndef MAX_HARTS -#define MAX_HARTS 32 -#endif -#define CLINT_END_HART_IPI CLINT_CTRL_ADDR + (MAX_HARTS*4) -#define CLINT1_END_HART_IPI CLINT1_CTRL_ADDR + (MAX_HARTS*4) - -// The hart that non-SMP tests should run on -#ifndef NONSMP_HART -#define NONSMP_HART 0 -#endif - -/* If your test cannot handle multiple-threads, use this: - * smp_disable(reg1) - */ -#define smp_disable(reg1, reg2) \ - csrr reg1, mhartid ;\ - li reg2, NONSMP_HART ;\ - beq reg1, reg2, hart0_entry ;\ -42: ;\ - wfi ;\ - j 42b ;\ -hart0_entry: - -/* If your test needs to temporarily block multiple-threads, do this: - * smp_pause(reg1, reg2) - * ... single-threaded work ... - * smp_resume(reg1, reg2) - * ... multi-threaded work ... - */ - -#define smp_pause(reg1, reg2) \ - li reg2, 0x8 ;\ - csrw mie, reg2 ;\ - li reg1, NONSMP_HART ;\ - csrr reg2, mhartid ;\ - bne reg1, reg2, 42f - -#ifdef CLINT1_CTRL_ADDR -// If a second CLINT exists, then make sure we: -// 1) Trigger a software interrupt on all harts of both CLINTs. -// 2) Locate your own hart's software interrupt pending register and clear it. -// 3) Wait for all harts on both CLINTs to clear their software interrupt -// pending register. -// WARNING: This code makes these assumptions, which are only true for Fadu as -// of now: -// 1) hart0 uses CLINT0 at offset 0 -// 2) hart2 uses CLINT1 at offset 0 -// 3) hart3 uses CLINT1 at offset 1 -// 4) There are no other harts or CLINTs in the system. -#define smp_resume(reg1, reg2) \ - /* Trigger software interrupt on CLINT0 */ \ - li reg1, CLINT_CTRL_ADDR ;\ -41: ;\ - li reg2, 1 ;\ - sw reg2, 0(reg1) ;\ - addi reg1, reg1, 4 ;\ - li reg2, CLINT_END_HART_IPI ;\ - blt reg1, reg2, 41b ;\ - /* Trigger software interrupt on CLINT1 */ \ - li reg1, CLINT1_CTRL_ADDR ;\ -41: ;\ - li reg2, 1 ;\ - sw reg2, 0(reg1) ;\ - addi reg1, reg1, 4 ;\ - li reg2, CLINT1_END_HART_IPI ;\ - blt reg1, reg2, 41b ;\ - /* Wait to receive software interrupt */ \ -42: ;\ - wfi ;\ - csrr reg2, mip ;\ - andi reg2, reg2, 0x8 ;\ - beqz reg2, 42b ;\ - /* Clear own software interrupt bit */ \ - csrr reg2, mhartid ;\ - bnez reg2, 41f; \ - /* hart0 case: Use CLINT0 */ \ - li reg1, CLINT_CTRL_ADDR ;\ - slli reg2, reg2, 2 ;\ - add reg2, reg2, reg1 ;\ - sw zero, 0(reg2) ;\ - j 42f; \ -41: \ - /* hart 2, 3 case: Use CLINT1 and remap hart IDs to 0 and 1 */ \ - li reg1, CLINT1_CTRL_ADDR ;\ - addi reg2, reg2, -2; \ - slli reg2, reg2, 2 ;\ - add reg2, reg2, reg1 ;\ - sw zero, 0(reg2) ; \ -42: \ - /* Wait for all software interrupt bits to be cleared on CLINT0 */ \ - li reg1, CLINT_CTRL_ADDR ;\ -41: ;\ - lw reg2, 0(reg1) ;\ - bnez reg2, 41b ;\ - addi reg1, reg1, 4 ;\ - li reg2, CLINT_END_HART_IPI ;\ - blt reg1, reg2, 41b; \ - /* Wait for all software interrupt bits to be cleared on CLINT1 */ \ - li reg1, CLINT1_CTRL_ADDR ;\ -41: ;\ - lw reg2, 0(reg1) ;\ - bnez reg2, 41b ;\ - addi reg1, reg1, 4 ;\ - li reg2, CLINT1_END_HART_IPI ;\ - blt reg1, reg2, 41b; \ - /* End smp_resume() */ - -#else - -#define smp_resume(reg1, reg2) \ - li reg1, CLINT_CTRL_ADDR ;\ -41: ;\ - li reg2, 1 ;\ - sw reg2, 0(reg1) ;\ - addi reg1, reg1, 4 ;\ - li reg2, CLINT_END_HART_IPI ;\ - blt reg1, reg2, 41b ;\ -42: ;\ - wfi ;\ - csrr reg2, mip ;\ - andi reg2, reg2, 0x8 ;\ - beqz reg2, 42b ;\ - li reg1, CLINT_CTRL_ADDR ;\ - csrr reg2, mhartid ;\ - slli reg2, reg2, 2 ;\ - add reg2, reg2, reg1 ;\ - sw zero, 0(reg2) ;\ -41: ;\ - lw reg2, 0(reg1) ;\ - bnez reg2, 41b ;\ - addi reg1, reg1, 4 ;\ - li reg2, CLINT_END_HART_IPI ;\ - blt reg1, reg2, 41b - -#endif /* ifdef CLINT1_CTRL_ADDR */ - -#endif diff --git a/cosim/drivers/bootbare/linker/memory.lds b/cosim/drivers/bootbare/linker/memory.lds deleted file mode 100644 index f5cdc07..0000000 --- a/cosim/drivers/bootbare/linker/memory.lds +++ /dev/null @@ -1,14 +0,0 @@ -MEMORY -{ - debug_ctrl (rwx) : ORIGIN = 0x0, LENGTH = 0x1000 - error_mem (rw) : ORIGIN = 0x3000, LENGTH = 0x1000 - test_ctrl (rw) : ORIGIN = 0x4000, LENGTH = 0x1000 - maskrom_mem (rx) : ORIGIN = 0x10000, LENGTH = 0x4000 - clint_ctrl (rw) : ORIGIN = 0x2000000, LENGTH = 0x10000 - plic_ctrl (rw) : ORIGIN = 0xc000000, LENGTH = 0x4000000 - axi_pcie_host_1_00_a_ctrl (rw) : ORIGIN = 0x50000000, LENGTH = 0x4000000 - uart_ctrl (rw) : ORIGIN = 0x54000000, LENGTH = 0x1000 - spi_ctrl (rw) : ORIGIN = 0x54001000, LENGTH = 0x1000 - gpio_ctrl (rw) : ORIGIN = 0x54002000, LENGTH = 0x1000 - memory_mem (rwx) : ORIGIN = 0x80000000, LENGTH = 0x40000000 -} diff --git a/cosim/drivers/bootbare/linker/sdboot.elf.lds b/cosim/drivers/bootbare/linker/sdboot.elf.lds deleted file mode 100644 index deb76da..0000000 --- a/cosim/drivers/bootbare/linker/sdboot.elf.lds +++ /dev/null @@ -1,79 +0,0 @@ -OUTPUT_ARCH("riscv") -ENTRY(_prog_start) - -INCLUDE memory.lds - -PHDRS -{ - text PT_LOAD; - data PT_LOAD; - bss PT_LOAD; -} - -SECTIONS -{ - PROVIDE(_ram = ORIGIN(memory_mem)); - PROVIDE(_ram_end = _ram + LENGTH(memory_mem)); - - .text ALIGN((ORIGIN(maskrom_mem) + 0x0), 8) : AT(ALIGN((ORIGIN(maskrom_mem) + 0x0), 8)) { - PROVIDE(_ftext = .); - *(.text.init) - *(.text.unlikely .text.unlikely.*) - *(.text .text.* .gnu.linkonce.t.*) - PROVIDE(_etext = .); - . += 0x40; /* to create a gap between .text and .data b/c ifetch can fetch ahead from .data */ - } >maskrom_mem :text - - .eh_frame ALIGN((ADDR(.text) + SIZEOF(.text)), 8) : AT(ALIGN((LOADADDR(.text) + SIZEOF(.text)), 8)) { - *(.eh_frame) - } >maskrom_mem :text - - .rodata ALIGN((ADDR(.eh_frame) + SIZEOF(.eh_frame)), 8) : AT(ALIGN((LOADADDR(.eh_frame) + SIZEOF(.eh_frame)), 8)) ALIGN_WITH_INPUT { - *(.rodata .rodata.* .gnu.linkonce.r.*) - } >maskrom_mem :data - - .srodata ALIGN((ADDR(.rodata) + SIZEOF(.rodata)), 8) : AT(ALIGN((LOADADDR(.rodata) + SIZEOF(.rodata)), 8)) ALIGN_WITH_INPUT { - *(.srodata.cst16) - *(.srodata.cst8) - *(.srodata.cst4) - *(.srodata.cst2) - *(.srodata.*) - } >maskrom_mem :data - - .data ALIGN((ADDR(.srodata) + SIZEOF(.srodata)), 8) : AT(ALIGN((LOADADDR(.srodata) + SIZEOF(.srodata)), 8)) ALIGN_WITH_INPUT { - *(.data .data.* .gnu.linkonce.d.*) - *(.tohost) /* TODO: Support sections that aren't explicitly listed in this linker script */ - } >maskrom_mem :data - - .sdata ALIGN((ADDR(.data) + SIZEOF(.data)), 8) : AT(ALIGN((LOADADDR(.data) + SIZEOF(.data)), 8)) ALIGN_WITH_INPUT { - *(.sdata .sdata.* .gnu.linkonce.s.*) - } >maskrom_mem :data - - PROVIDE(_data = ADDR(.rodata)); - PROVIDE(_data_lma = LOADADDR(.rodata)); - PROVIDE(_edata = .); - - .bss ALIGN((ORIGIN(memory_mem) + 0x0), 8) : AT(ALIGN((ORIGIN(memory_mem) + 0x0), 8)) ALIGN(8) { - PROVIDE(_fbss = .); - PROVIDE(__global_pointer$ = . + 0x7C0); - *(.sbss .sbss.* .gnu.linkonce.sb.*) - *(.bss .bss.* .gnu.linkonce.b.*) - . = ALIGN(8); - PROVIDE(_ebss = .); - } >memory_mem :bss - - PROVIDE(_end = .); - - /* - * heap_stack_region_usable_end: (ORIGIN(memory_mem) + LENGTH(memory_mem)) - * heap_stack_min_size: 4096 - * heap_stack_max_size: 1048576 - */ - PROVIDE(_sp = ALIGN(MIN((ORIGIN(memory_mem) + LENGTH(memory_mem)), _ebss + 1048576) - 7, 8)); - PROVIDE(_heap_end = _sp - 2048); - - /* This section is a noop and is only used for the ASSERT */ - .stack : { - ASSERT(_sp >= (_ebss + 4096), "Error: No room left for the heap and stack"); - } -} diff --git a/cosim/drivers/cep_tests/CEP.h b/cosim/drivers/cep_tests/CEP.h index 8d763e2..04c2857 100644 --- a/cosim/drivers/cep_tests/CEP.h +++ b/cosim/drivers/cep_tests/CEP.h @@ -252,10 +252,10 @@ // Note: Other LLKI related constants/definitions may be found in cep_crypto.h // ------------------------------------------------------------------------------------------------------------ const uint32_t SROT_KEYINDEXRAM_ADDR = 0x00000100; // Offset from SROT_BASE_K - const uint32_t SROT_KEYINDEXRAM_SIZE = 0x00000020; + const uint32_t SROT_KEYINDEXRAM_SIZE = 0x00000020; // 32 64-bit words const uint32_t SROT_KEYRAM_ADDR = 0x00000200; // Offset from SROT_BASE_K // Note: This cannot be less than SROT_KEYINDEXRAM_ADDR + (SROT_KEYINDEXRAM_SIZE * 8)!!! - const uint32_t SROT_KEYRAM_SIZE = 0x00000100; + const uint32_t SROT_KEYRAM_SIZE = 0x00000800; // 2048 64-bit words // Reminder: data width is 64-bits const uint32_t SROT_CTRLSTS_ADDR = 0x00000000; diff --git a/cosim/drivers/cep_tests/cep_aes.cc b/cosim/drivers/cep_tests/cep_aes.cc index 018cec2..a3cbb28 100644 --- a/cosim/drivers/cep_tests/cep_aes.cc +++ b/cosim/drivers/cep_tests/cep_aes.cc @@ -80,7 +80,7 @@ int cep_aes::openssl_aes192_ecb_encryption // // if (verbose) { - LOGI("%s: INFO inLen=%d outlen=%d\n",__FUNCTION__, + LOGI("%s: inLen=%d outlen=%d\n",__FUNCTION__, length,*outlen); /* EVP_CIPHER_CTX_key_length(&ctx), diff --git a/cosim/drivers/cep_tests/cep_apis.cc b/cosim/drivers/cep_tests/cep_apis.cc index ad3660b..c61ca19 100644 --- a/cosim/drivers/cep_tests/cep_apis.cc +++ b/cosim/drivers/cep_tests/cep_apis.cc @@ -355,8 +355,8 @@ int check_bare_status(int coreId,int maxTimeOut) { // void set_cur_status(int status) { #ifdef BARE_MODE - int i=0, coreId; - uint64_t d64, offS, myOffs; + int coreId; + uint64_t d64, offS; // // which core??? // @@ -381,7 +381,7 @@ void set_pass(void) { void set_fail(void) { #ifdef BARE_MODE - uint64_t d64, offS, myOffs; + uint64_t d64, offS; d64 = CEP_BAD_STATUS; offS = reg_base_addr + cep_core0_status; *(volatile uint64_t *)(offS) = d64; @@ -539,7 +539,7 @@ int cep_get_lock(int myId, int lockNum, int timeOut) { break; } timeOut--; - DUT_RUNCLK(100); + USEC_SLEEP(100); } while (timeOut > 0); if (timeOut <= 0) { LOGE("%s: ERROR: timeout\n",__FUNCTION__); diff --git a/cosim/drivers/cep_tests/cep_crypto.cc b/cosim/drivers/cep_tests/cep_crypto.cc index 32c25ea..76a22b3 100644 --- a/cosim/drivers/cep_tests/cep_crypto.cc +++ b/cosim/drivers/cep_tests/cep_crypto.cc @@ -100,7 +100,7 @@ int cep_crypto::CheckPlainText(void) { void cep_crypto::PrintMe(const char *name, uint8_t *buf, int size) { //if (GetVerbose()==0) return; // - char str[128]; + char str[256]; //printf("Printing packet\n"); // print every 32 bytes?? int bC = 0; diff --git a/cosim/drivers/cep_tests/cep_des3.cc b/cosim/drivers/cep_tests/cep_des3.cc index 309ba1f..4f0d64d 100644 --- a/cosim/drivers/cep_tests/cep_des3.cc +++ b/cosim/drivers/cep_tests/cep_des3.cc @@ -87,7 +87,7 @@ int cep_des3::prepare_des3_key_N_text } // if (verbose) { - printf("%s: INFO inLen=%d outlen=%d kL=%d bL=%d\n",__FUNCTION__, + LOGI("%s: inLen=%d outlen=%d kL=%d bL=%d\n",__FUNCTION__, length,*outlen, EVP_CIPHER_CTX_key_length(&ctx), EVP_CIPHER_CTX_block_size(&ctx) diff --git a/cosim/drivers/cep_tests/cep_dft.cc b/cosim/drivers/cep_tests/cep_dft.cc index b81d2d4..a09707d 100644 --- a/cosim/drivers/cep_tests/cep_dft.cc +++ b/cosim/drivers/cep_tests/cep_dft.cc @@ -193,7 +193,7 @@ int cep_dft::dft_waitTilDone(int maxTO) { #endif } -int cep_dft::dft_CheckSamples(int startIdx,int samCnt) { +int cep_dft::dft_CheckSamples(int lpCnt, int startIdx,int samCnt) { if (GetVerbose(2)) { LOGI("%s\n",__FUNCTION__); } // double repsilon,rdiff; @@ -212,7 +212,7 @@ int cep_dft::dft_CheckSamples(int startIdx,int samCnt) { if (rdiff > repsilon) { // || (idiff > iepsilon)) { if (GetExpErr()==0) { - LOGE("%s: dft i=%d Exp=%.5f/%.5f Act=%.5f/%.5f : diff=%.5f/%.5f > Epsilon=%.5f/%.5f\n",__FUNCTION__,i, + LOGE("%s: dft lp=%d i=%d Exp=%.5f/%.5f Act=%.5f/%.5f : diff=%.5f/%.5f > Epsilon=%.5f/%.5f\n",__FUNCTION__,lpCnt ,i, mRexp[i],mIexp[i], mRact[i],mIact[i], rdiff,idiff,repsilon,iepsilon); } @@ -287,7 +287,7 @@ int cep_dft::idft_waitTilDone(int maxTO) { #endif } -int cep_dft::idft_CheckSamples(int startIdx,int samCnt) { +int cep_dft::idft_CheckSamples(int lpCnt, int startIdx,int samCnt) { if (GetVerbose(2)) { LOGI("%s\n",__FUNCTION__); } // double repsilon,rdiff; @@ -307,7 +307,7 @@ int cep_dft::idft_CheckSamples(int startIdx,int samCnt) { // FIXME: dont know why only the real part are good if (rdiff > repsilon) { if (!GetExpErr()) { - LOGE("%s: idft i=%d Exp=%.5f/%.5f Act=%.5f/%.5f : diff=%.5f/%.5f > Epsilon=%.5f/%.5f\n",__FUNCTION__,i, + LOGE("%s: idft lp=%d i=%d Exp=%.5f/%.5f Act=%.5f/%.5f : diff=%.5f/%.5f > Epsilon=%.5f/%.5f\n",__FUNCTION__,lpCnt, i, mRexp[i],mIexp[i], mRact[i],mIact[i], rdiff,idiff,repsilon,iepsilon); } @@ -341,7 +341,7 @@ int cep_dft::RunDftTest(int maxLoop) { // // int skipFirstSample = 0; - Random48_srand48(GetSeed()); + for (int i=0;i>16) & 0xFFFF; for (int j=0; j < MAX_DFT_SAMPLES; j++) { @@ -420,7 +423,7 @@ int cep_dft::RunDftTest(int maxLoop) { PrintMe("DFT-act",mRact,mIact,MAX_DFT_SAMPLES); } //adjust_float(mRact, mIact, MAX_DFT_SAMPLES); - mErrCnt += dft_CheckSamples(skipFirstSample,MAX_DFT_SAMPLES); + mErrCnt += dft_CheckSamples(i,skipFirstSample,MAX_DFT_SAMPLES); } } @@ -448,7 +451,7 @@ int cep_dft::RunDftTest(int maxLoop) { PrintMe("IDFT-act",mRact,mIact,MAX_DFT_SAMPLES); } //adjust_float(mRAin, mIAin, MAX_DFT_SAMPLES); - mErrCnt += idft_CheckSamples(skipFirstSample,MAX_DFT_SAMPLES); + mErrCnt += idft_CheckSamples(i,skipFirstSample,MAX_DFT_SAMPLES); } } #endif diff --git a/cosim/drivers/cep_tests/cep_dft.h b/cosim/drivers/cep_tests/cep_dft.h index 81fa9c7..56ec783 100644 --- a/cosim/drivers/cep_tests/cep_dft.h +++ b/cosim/drivers/cep_tests/cep_dft.h @@ -42,13 +42,13 @@ class cep_dft : public cep_crypto { void dft_getY(double *rbuf, double *ibuf, int len) ; void dft_Start(void) ; int dft_waitTilDone(int maxTO); - int dft_CheckSamples(int startIdx,int samCnt) ; + int dft_CheckSamples(int lpCnt, int startIdx,int samCnt) ; // void idft_setX(double *rbuf, double *ibuf, int len) ; void idft_getY(double *rbuf, double *ibuf, int len) ; void idft_Start(void) ; int idft_waitTilDone(int maxTO); - int idft_CheckSamples(int startIdx,int samCnt) ; + int idft_CheckSamples(int lpCnt, int startIdx,int samCnt) ; // double mRin[MAX_DFT_SAMPLES]; double mIin[MAX_DFT_SAMPLES]; diff --git a/cosim/drivers/cep_tests/cep_gps.cc b/cosim/drivers/cep_tests/cep_gps.cc index 97a9d25..9dccf09 100644 --- a/cosim/drivers/cep_tests/cep_gps.cc +++ b/cosim/drivers/cep_tests/cep_gps.cc @@ -229,10 +229,10 @@ void cep_gps::ResetCA_code() int cep_gps::GetCA_code(int svNum) { int CACode = 0; - int chip=0; // #if defined(BARE_MODE) #else + int chip=0; // if (GetVerbose(2)) { LOGI("G1=0x%04x G2=0x%04x\n", diff --git a/cosim/drivers/cep_tests/cep_srot.cc b/cosim/drivers/cep_tests/cep_srot.cc index 516b0af..98720d2 100644 --- a/cosim/drivers/cep_tests/cep_srot.cc +++ b/cosim/drivers/cep_tests/cep_srot.cc @@ -183,9 +183,9 @@ int cep_srot::EnableLLKI (uint8_t KeyIndex) cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length KeyIndex, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -223,9 +223,9 @@ int cep_srot::DisableLLKI (uint8_t KeyIndex) cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2CLEARKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length KeyIndex, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -474,7 +474,6 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { // -------------------------------------------------------------------------------------------------------- // Load some Key Indexes - Some good, some bad // -------------------------------------------------------------------------------------------------------- - // Load some good keys and indexes errCnt += LoadLLKIKey(0 , AES_BASE_K, 0, 1, AES_MOCK_TSS_KEY, INVERT_ALL_BITS); errCnt += LoadLLKIKey(1 , AES_BASE_K, 2, 6, GPS_MOCK_TSS_KEY, INVERT_ALL_BITS); @@ -484,24 +483,24 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { // Load a Key Index with a bad pointer pair (low pointer > high pointer) cep_writeNcapture(SROT_BASE_K, SROT_KEYINDEXRAM_ADDR + 2*8, key_index_pack( - 2, // low pointer - 1, // high pointer - AES_BASE_K, // core index - 0x1)); // Valid + 2, // low pointer + 1, // high pointer + AES_BASE_K, // core index + 0x1)); // Valid // Load a Key Index with a bad pointer pair (pointer exceeds key ram size) cep_writeNcapture(SROT_BASE_K, SROT_KEYINDEXRAM_ADDR + 3*8, key_index_pack( - 0, // low pointer - 256, // high pointer - AES_BASE_K, // core index - 0x1)); // Valid + 0, // low pointer + SROT_KEYRAM_SIZE, // high pointer + AES_BASE_K, // core index + 0x1)); // Valid // Load a Key Index with a bad core index cep_writeNcapture(SROT_BASE_K, SROT_KEYINDEXRAM_ADDR + 4*8, key_index_pack( - 0, // low pointer - 1, // high pointer - 31, // core index - 0x1)); // Valid + 0, // low pointer + 1, // high pointer + 31, // core index + 0x1)); // Valid // -------------------------------------------------------------------------------------------------------- @@ -515,9 +514,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 0, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -538,9 +537,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 1, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -557,9 +556,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( 0xFF, // Bad Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 0, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -576,16 +575,16 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x02, // BAD Message Length + 0x0002, // BAD Message Length 0, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); // Compare expected and received responses status = llkic2_extract_status(cep_readNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR)); - CHECK_RESPONSE(status, LLKI_STATUS_BAD_MSG_LEN, GetVerbose()); + CHECK_RESPONSE(status, LLKI_STATUS_BAD_MSG_LEN, GetVerbose()); // -------------------------------------------------------------------------------------------------------- @@ -595,9 +594,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 32, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -614,9 +613,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 31, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -633,16 +632,16 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 2, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); // Compare expected and received responses status = llkic2_extract_status(cep_readNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR)); - CHECK_RESPONSE(status, LLKI_STATUS_BAD_POINTER_PAIR, GetVerbose()); + CHECK_RESPONSE(status, LLKI_STATUS_BAD_POINTER_PAIR, GetVerbose()); // -------------------------------------------------------------------------------------------------------- @@ -652,9 +651,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 3, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); @@ -671,9 +670,9 @@ int cep_srot::LLKI_ErrorTest(int cpuId) { cep_writeNcapture(SROT_BASE_K, SROT_LLKIC2_SENDRECV_ADDR, llkic2_pack( LLKI_MID_C2LOADKEYREQ, // Message ID 0x00, // Status (unused) - 0x01, // Message Length + 0x0001, // Message Length 4, // Key Index - 0xDEADBEEF)); + 0xDEADBE)); // rsvd1 // Poll the response waiting bit cep_readNspin(SROT_BASE_K, SROT_CTRLSTS_ADDR, SROT_CTRLSTS_RESP_WAITING_MASK, SROT_CTRLSTS_RESP_WAITING_MASK, 100); diff --git a/cosim/drivers/cep_tests/cep_srot.h b/cosim/drivers/cep_tests/cep_srot.h index 3c03cee..dd5b8f1 100644 --- a/cosim/drivers/cep_tests/cep_srot.h +++ b/cosim/drivers/cep_tests/cep_srot.h @@ -66,9 +66,9 @@ const uint8_t LLKI_KEYINDEX_VALID = 0x80; #define llkic2_pack(msg_id, status, msg_len, key_index, rsvd1) \ (((uint64_t)msg_id << 0) & 0x00000000000000FF) | \ (((uint64_t)status << 8) & 0x000000000000FF00) | \ - (((uint64_t)msg_len << 16) & 0x0000000000FF0000) | \ - (((uint64_t)key_index << 24) & 0x00000000FF000000) | \ - (((uint64_t)rsvd1 << 32) & 0xFFFFFFFF00000000) + (((uint64_t)msg_len << 16) & 0x00000000FFFF0000) | \ + (((uint64_t)key_index << 32) & 0x000000FF00000000) | \ + (((uint64_t)rsvd1 << 40) & 0xFFFFFF0000000000) // Packing macro for creating a Key Index entry #define key_index_pack(low_pointer, high_pointer, core_index, valid) \ diff --git a/cosim/drivers/diag/cepAccessTest.cc b/cosim/drivers/diag/cepAccessTest.cc index 4e8ac96..3959e7f 100644 --- a/cosim/drivers/diag/cepAccessTest.cc +++ b/cosim/drivers/diag/cepAccessTest.cc @@ -43,7 +43,7 @@ int cepAccessTest_runSingle(int cpuId, uint32_t adr, uint64_t pat, int modeSuppo uint32_t wdat32, rdat32; uint16_t wdat16, rdat16; uint8_t wdat8, rdat8; - uint64_t act; + uint64_t act=0; // // 64 read/write -bits // diff --git a/cosim/drivers/diag/cepCsrTest.cc b/cosim/drivers/diag/cepCsrTest.cc index 1f3b2e1..5584608 100644 --- a/cosim/drivers/diag/cepCsrTest.cc +++ b/cosim/drivers/diag/cepCsrTest.cc @@ -45,6 +45,29 @@ int cepCsrTest_runTest(int cpuId, int accessSize,int revCheck,int seed, int verb int errCnt = 0; #if (BARE_MODE || LINUX_MODE) + uint64_t dat64; + +#if 1 + uint64_t saveCustom; + // + // testing custom CSR @0x7c1 + // + asm volatile ("csrr %0,0x7c1" : "=r"(saveCustom)); + DUT_WRITE32_64(reg_base_addr + cep_scratch0_reg,saveCustom); // to observe + if (saveCustom != 0x208) errCnt++; + if (errCnt) goto apiDone; + // + dat64 = 0; // (uint64_t)-1; + asm volatile ("csrw 0x7c1,%0" : : "r"(dat64)); + // + asm volatile ("csrr %0,0x7c1" : "=r"(dat64)); + DUT_WRITE32_64(reg_base_addr + cep_scratch0_reg,dat64); // to observe + if (dat64 != 0) errCnt++; + if (errCnt) goto apiDone; + // put back + asm volatile ("csrw 0x7c1,%0" : : "r"(saveCustom)); +#endif + // // regBaseTest_t *regp; // @@ -83,7 +106,6 @@ int cepCsrTest_runTest(int cpuId, int accessSize,int revCheck,int seed, int verb (*regp->AddROReg_p)(regp, CSR_MIMPID, 0x0000000020181004, (uint64_t)(-1)); (*regp->AddROReg_p)(regp, CSR_MHARTID, cpuId, (uint64_t)(-1)); #ifdef SIM_ENV_ONLY - uint64_t dat64; // // working @@ -115,9 +137,15 @@ int cepCsrTest_runTest(int cpuId, int accessSize,int revCheck,int seed, int verb (*regp->AddAReg_p)(regp, CSR_SIE,(uint64_t)(-1)); (*regp->AddAReg_p)(regp, CSR_SEPC,(uint64_t)(-1)); */ + // // now do it errCnt = (*regp->doRegTest_p)(regp); + + // + // custom + // + // // These to toggle PMP_mask all bit to 1 // @@ -209,6 +237,7 @@ int cepCsrTest_runTest(int cpuId, int accessSize,int revCheck,int seed, int verb cepCsrTest_DELETE(regp); #endif // + apiDone: return errCnt; } diff --git a/cosim/drivers/diag/cepGpioTest.cc b/cosim/drivers/diag/cepGpioTest.cc index 28e844e..3462563 100644 --- a/cosim/drivers/diag/cepGpioTest.cc +++ b/cosim/drivers/diag/cepGpioTest.cc @@ -112,6 +112,53 @@ int cepGpioTest_runRegTest(int cpuId, int accessSize,int seed, int verbose) { return errCnt; } +// +int cepGpioTest_intrTest(int cpuId, int seed, int verbose) { + int errCnt = 0; + uint32_t rdat32, wdat32, offs; + // setup + DUT_WRITE32_32(gpio_base_addr + gpio_iof_en , 0x00); // no IOF + DUT_WRITE32_32(gpio_base_addr + gpio_pue , 0x00); // no internal pull up + DUT_WRITE32_32(gpio_base_addr + gpio_output_en , 0xFF); + DUT_WRITE32_32(gpio_base_addr + gpio_input_en , 0xFF); + DUT_WRITE32_32(gpio_base_addr + gpio_high_ie , 0xFF); + // + // Each GPIO + // + for (int i=0;i<8;i++) { + // walking 1 + wdat32 = 1 << i; + DUT_WRITE32_32(gpio_base_addr + gpio_port_output, wdat32); + // loop back + offs = gpio_base_addr + gpio_pin; + // + DUT_READ32_32 (offs, rdat32); + if (rdat32 != wdat32) { + LOGE("ERROR: Mismatch offs=0x%08x i=%d exp=0x%08x act=0x%08x\n",offs,i,wdat32,rdat32); + errCnt++; + break; + } + else if (verbose) { + LOGI("OK: offs=0x%08x i=%d exp=0x%08x act=0x%08x\n",offs,i,wdat32,rdat32); + } + // check pending + offs = gpio_base_addr + gpio_high_ip; + // + DUT_READ32_32 (offs, rdat32); + if (rdat32 != wdat32) { + LOGE("ERROR: Mismatch offs=0x%08x i=%d exp=0x%08x act=0x%08x\n",offs,i,wdat32,rdat32); + errCnt++; + break; + } + else if (verbose) { + LOGI("OK: offs=0x%08x i=%d exp=0x%08x act=0x%08x\n",offs,i,wdat32,rdat32); + } + + } + return errCnt; +} + + int cepGpioTest_runTest(int cpuId, int seed, int verbose) { int errCnt = 0; if (!errCnt) { errCnt += cepGpioTest_runRegTest(cpuId,32, seed, verbose); } diff --git a/cosim/drivers/diag/cepGpioTest.h b/cosim/drivers/diag/cepGpioTest.h index b8e03e7..1dda7da 100644 --- a/cosim/drivers/diag/cepGpioTest.h +++ b/cosim/drivers/diag/cepGpioTest.h @@ -36,5 +36,6 @@ uint64_t cepGpioTest_ReadEntry(regBaseTest_t *me, uint32_t adr); // int cepGpioTest_runTest(int cpuId, int seed, int verbose); int cepGpioTest_runRegTest(int cpuId, int accessSize,int seed, int verbose); +int cepGpioTest_intrTest(int cpuId, int seed, int verbose); #endif diff --git a/cosim/drivers/diag/cepMacroMix.cc b/cosim/drivers/diag/cepMacroMix.cc index 4eec89d..39422ee 100644 --- a/cosim/drivers/diag/cepMacroMix.cc +++ b/cosim/drivers/diag/cepMacroMix.cc @@ -68,14 +68,6 @@ int cepMacroMix_runTest(int cpuId, int mask, int cryptoMask, int seed, int verbo // // ONly if in the cryptoMask // - - - - - - - - // int captureOn = 0; #ifdef CAPTURE_CMD_SEQUENCE diff --git a/cosim/drivers/diag/cepMaskromTest.cc b/cosim/drivers/diag/cepMaskromTest.cc index 17676f1..217ceef 100644 --- a/cosim/drivers/diag/cepMaskromTest.cc +++ b/cosim/drivers/diag/cepMaskromTest.cc @@ -27,8 +27,6 @@ // The test itself // ============================= // - - int cepMaskromTest_runTest(int cpuId, int seed, int verbose) { int errCnt = 0; // @@ -38,15 +36,23 @@ int cepMaskromTest_runTest(int cpuId, int seed, int verbose) { uint16_t dat16, edat16; uint8_t dat8, edat8; +#ifdef SIM_ENV_ONLY + uint32_t known_pat1 = bootrom_known_pat1; + uint32_t known_pat0 = bootrom_known_pat0; + // + // Read ONLY + // + offs = bootrom_base_addr + ((1 << 15)-8); // bottom of 32k bytes +#else // from bootbare.hex uint32_t known_pat1 = 0x00800913; // location 0 uint32_t known_pat0 = 0x30491073; // location 4 - // // Read ONLY // offs = bootrom_base_addr; // + ((1<<13)-8); - +#endif + // 64-bit DUT_READ32_64(offs, dat64); diff --git a/cosim/drivers/diag/cepMultiThread.cc b/cosim/drivers/diag/cepMultiThread.cc new file mode 100644 index 0000000..f7c0095 --- /dev/null +++ b/cosim/drivers/diag/cepMultiThread.cc @@ -0,0 +1,340 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX License Identifier: MIT +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ + + +#include "simdiag_global.h" +#include "cep_adrMap.h" +#include "cepMultiThread.h" + +#include "cep_apis.h" +#include "portable_io.h" + +#include "cepregression.h" + +#ifdef BARE_MODE + +#else +#include "simPio.h" +#endif + +#include "CEP.h" +#include "cep_aes.h" +#include "cep_des3.h" +#include "cep_md5.h" +#include "cep_sha256.h" +#include "cep_gps.h" +#include "cep_fir.h" +#include "cep_iir.h" +#include "cep_dft.h" +#include "cep_rsa.h" +#include "cep_srot.h" + +// +// 1. Allocate N number of words in Cache, each word associates with 1 unique macro test (aes, des3,...) +// 2. All are intially cleared to zero indicate the macro test is not running by any one... +// 3. M number of threads will be spawn and allow to float, thread's ID must be != 0, each will try to to run all macro tests one-by-one +// after it get the lock via LRSC on one of those above. +// + +//#define USE_ATOMIC + +// +// return test# (0 - N) , thrId MUST != 0, return -1 if fails +// +int cepMultiThread_findATest2Run(int thrId, uint64_t testLockPtr, int doneMask, int maxTest, int verbose) +{ + // +#ifndef BARE_MODE + int maxLoop = 2000; + while (maxLoop > 0) { + for (int i=0;i +#ifdef __cplusplus +extern "C" { +#endif + int cepMultiThread_findATest2Run(int thrId, uint64_t testLockPtr, int doneMask, int maxTest, int verbose); + int cepMultiThread_releaseTestLock(int thrId, int testId,uint64_t testLockPtr); + int cepMultiThread_setup(int cpuId, uint64_t testLockPtr,int maxTest, int coreMask, int verbose); + int cepMultiThread_runThr(int thrId, uint64_t testLockPtr, int cryptoMask, int maxTest, int maxLoop,int seed, int verbose); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/cosim/drivers/diag/cepPlicTest.cc b/cosim/drivers/diag/cepPlicTest.cc index 45b1c77..2cd07a9 100644 --- a/cosim/drivers/diag/cepPlicTest.cc +++ b/cosim/drivers/diag/cepPlicTest.cc @@ -13,7 +13,9 @@ #include "simdiag_global.h" #include "cep_adrMap.h" #include "cepPlicTest.h" - +#include "cepUartTest.h" +#include "cepSpiTest.h" +// #include "cep_apis.h" #include "portable_io.h" @@ -68,26 +70,19 @@ int cepPlicTest_runRegTest(int cpuId, int accessSize,int seed, int verbose) { // start adding register to test // // there are 127 of them , split into 4 regions one per core -#if 1 // pick one to run if (cpuId == 0) { - int maxReg = 7; // ONly ?? are implemented!! - for (int i=1;iAddAReg_p)(regp, plic_base_addr + (plic_source1_prio_offset-4) + (cpuId*maxReg*4) + (i*4), 0x7); // only 3 bits - } + int maxReg = 10; // uart,spi,gpio[7:0], no 0 + for (int i=1;i<=maxReg;i++) { + (*regp->AddAReg_p)(regp, plic_base_addr + (plic_source0_prio_offset) + (i*4), 0x7); // only 3 bits + } } -#else - int start = (cpuId == 0) ? 1 : 0; - int maxReg = 8; // 128/4 = 32 each except 0 - uint32_t offs; - for (int i=start;iAddAReg_p)(regp, plic_base_addr + (plic_source1_prio_offset-4) + (cpuId*maxReg*4) + (i*4), 0x7); // only 3 bits + // each hart has 2 context + for (int c=0;c<2;c++) { + int ctx = (cpuId*2) + c; + (*regp->AddAReg_p)(regp, plic_base_addr + plic_hart0_m_mode_ien_start + (plic_mode_ien_size_offset*ctx), 0x7FE); // only 10 sources, no 0 + (*regp->AddAReg_p)(regp, plic_base_addr + plic_hart0_m_mode_prio_thresh + (plic_prio_thresh_size_offset*ctx), 0x7); // only 3 bits } -#endif - (*regp->AddAReg_p)(regp, plic_base_addr + plic_hart0_m_mode_ien_start + (plic_mode_ien_size_offset*cpuId), 0x3E); // only 5 bits - (*regp->AddAReg_p)(regp, plic_base_addr + plic_hart0_m_mode_prio_thresh + (plic_prio_thresh_size_offset*cpuId), 0x7); // only 3 bits // // add a hole in 4K // @@ -110,3 +105,89 @@ int cepPlicTest_runTest(int cpuId, int seed, int verbose) { // return errCnt; } + + +// +// PLIC priority interrupt test +// +int cepPlicTest_prioIntrTest(int coreId, int verbose) +{ + int errCnt = 0; + uint32_t offS, dat32; + int startSrc = 1; // uart(1),spi(2),GPIO (3-10) + int endSrc = 10; + char txStr[] = "MITLL"; + // + // setup + // + uint32_t enableMask = 0; + for (int i=startSrc;i<= endSrc;i++) { + enableMask |= (1 << i); + } + // + // set the threshold to 0,2,4,6 + // each Hart will have 2 context? M-mode and S-mode + // + for (int ctx=0;ctx<2;ctx++) { + offS = plic_base_addr + plic_hart0_m_mode_prio_thresh + (plic_prio_thresh_size_offset*((coreId*2)+ctx)); + dat32 = 0; + DUT_WRITE32_32(offS, dat32); + } + // prio from 0 to 7 + // NOTE: if prio=0, there will be no interrupt but the internal pending bit is still set.. CHECKME!!!! + int prio = 7; + for (int i=startSrc;i<= endSrc;i++) { + DUT_WRITE32_32(plic_base_addr + plic_source0_prio_offset + i*4, prio); // start with 1 for core0 + prio--; + if (prio < 1) prio = 1; // min + } + // + // get the lock + // + int actSrc = 0; + if (cep_get_lock(coreId, 1, 5000)) { // use lock 1 + for (int c=0;c<2;c++) { + int ctx = (coreId*2) + c; + // + // set enable + // + offS = plic_base_addr + plic_hart0_m_mode_ien_start + (plic_mode_ien_size_offset*ctx); + DUT_WRITE32_32(offS, enableMask); + // + // pulse the interrupt + // + errCnt += cepUartTest_runTxRxTest(coreId,32-1, &txStr[coreId], 1, 0, verbose); + errCnt += cepSpiRdWrTest(coreId,1, 0, verbose); + // + DUT_WRITE32_32(gpio_base_addr + gpio_low_ie, 0xff); // gpio[7:0] + DUT_WRITE32_32(gpio_base_addr + gpio_low_ie, 0x0); + // + // check claim + // + for (int expSrc=startSrc; expSrc <= endSrc;expSrc++) { + // read my claim + DUT_READ32_32(plic_base_addr + (plic_prio_thresh_size_offset*ctx) + plic_hart0_m_mode_claim_done,actSrc); + if (actSrc != expSrc) { + LOGE("ERROR: ctx=%d mismatch expSrc=%d actSrc=%d\n",ctx,expSrc, actSrc); + errCnt++; + break; + } + else if (verbose) { + LOGI("OK: ctx=%d expSrc=%d actSrc=%d\n",ctx,expSrc, actSrc); + } + // I am done with my claim + DUT_WRITE32_32(plic_base_addr + (plic_prio_thresh_size_offset*ctx) + plic_hart0_m_mode_claim_done,actSrc); + } + // clear enable + offS = plic_base_addr + plic_hart0_m_mode_ien_start + (plic_mode_ien_size_offset*ctx); + DUT_WRITE32_32(offS, 0); + if (errCnt) break; + } + cep_release_lock(coreId, 1); + } else { + errCnt++; + } + // + return errCnt; +} + diff --git a/cosim/drivers/diag/cepPlicTest.h b/cosim/drivers/diag/cepPlicTest.h index f22828e..22cb473 100644 --- a/cosim/drivers/diag/cepPlicTest.h +++ b/cosim/drivers/diag/cepPlicTest.h @@ -38,4 +38,7 @@ int cepPlicTest_runTest(int cpuId, int seed, int verbose); int cepPlicTest_runRegTest(int cpuId, int accessSize,int seed, int verbose); +//int cepPlicTest_intrTest(int coreId, int verbose); +int cepPlicTest_prioIntrTest(int coreId, int verbose); + #endif diff --git a/cosim/drivers/diag/cepSpiTest.cc b/cosim/drivers/diag/cepSpiTest.cc index f0917f7..cc8ff58 100644 --- a/cosim/drivers/diag/cepSpiTest.cc +++ b/cosim/drivers/diag/cepSpiTest.cc @@ -132,7 +132,7 @@ int cep_setup_spi(int csId, int mode, int divisor, int En) // Run read/write test // // assuming SPI is loopback MOSI -> MISO -int cepSpiRdWrTest(int csId, int seed, int verbose) { +int cepSpiRdWrTest(int cpuId, int maxChar, int seed, int verbose) { int errCnt = 0; int dat; if (verbose) { @@ -148,7 +148,7 @@ int cepSpiRdWrTest(int csId, int seed, int verbose) { // // write to txFIFO and should get back what we write via rxfifo // - for (int i=0;i<16;i++) { + for (int i=0;i 7) dat = ~dat & 0xFF; DUT_WRITE32_32(spi_base_addr + spi_txfifo, dat); @@ -178,6 +178,7 @@ int cepSpiRdWrTest(int csId, int seed, int verbose) { } while (to > 0); if (errCnt != 0) break; } + DUT_WRITE32_32(spi_base_addr + spi_ie, 0x0); // turn off interrupt return errCnt; } @@ -188,7 +189,7 @@ int cepSpiTest_runTest(int cpuId, int seed, int verbose) { if (!errCnt) { errCnt += cepSpiTest_runRegTest(cpuId,32, seed, verbose); } #ifdef SIM_ENV_ONLY // - if (!errCnt) { errCnt += cepSpiRdWrTest(0, seed, verbose); } + if (!errCnt) { errCnt += cepSpiRdWrTest(cpuId, 16, seed, verbose); } #endif return errCnt; diff --git a/cosim/drivers/diag/cepSpiTest.h b/cosim/drivers/diag/cepSpiTest.h index 52fb53e..a6df052 100644 --- a/cosim/drivers/diag/cepSpiTest.h +++ b/cosim/drivers/diag/cepSpiTest.h @@ -36,5 +36,6 @@ uint64_t cepSpiTest_ReadEntry(regBaseTest_t *me, uint32_t adr); // int cepSpiTest_runTest(int cpuId, int seed, int verbose); int cepSpiTest_runRegTest(int cpuId, int accessSize,int seed, int verbose); +int cepSpiRdWrTest(int cpuId, int maxChar, int seed, int verbose); #endif diff --git a/cosim/drivers/diag/cepSrotMemTest.cc b/cosim/drivers/diag/cepSrotMemTest.cc index 6060fa2..f0485fd 100644 --- a/cosim/drivers/diag/cepSrotMemTest.cc +++ b/cosim/drivers/diag/cepSrotMemTest.cc @@ -43,7 +43,7 @@ int cepSrotMemTest_runTest(int cpuId, int seed, int verbose) { // for (int i=0;i<2;i++) { if (i == 0) { - adrWidth = 8; // 256 locations + adrWidth = 11; // 2048 locations mem_base = srot_base_addr + SROT_KEYRAM_ADDR; } else { adrWidth = 6; // 32 locations diff --git a/cosim/drivers/diag/cepUartTest.cc b/cosim/drivers/diag/cepUartTest.cc index ee81875..d797e04 100644 --- a/cosim/drivers/diag/cepUartTest.cc +++ b/cosim/drivers/diag/cepUartTest.cc @@ -117,11 +117,14 @@ int cepUartTest_runTxRxTest(int cpuId, int divisor, char *txStr, int txLen, int rxDat = (char)(tmp & 0xff); // check if (rxDat != txStr[ri]) { - LOGE("%s: mismatch char ri=%d act=0x%x exp=0x%x\n",__FUNCTION__,rxDat,txStr[ri]); + LOGE("%s: mismatch char ri=%d act=0x%x exp=0x%x\n",__FUNCTION__,ri,rxDat,txStr[ri]); errCnt++; + ri++; break; - } else if (verbose) { - LOGI("%s: OK char ri=%d act=0x%x exp=0x%x\n",__FUNCTION__,ri,rxDat,txStr[ri]); + } else { + if (verbose) { + LOGI("%s: OK char ri=%d act=0x%x exp=0x%x\n",__FUNCTION__,ri,rxDat,txStr[ri]); + } ri++; } } @@ -131,8 +134,8 @@ int cepUartTest_runTxRxTest(int cpuId, int divisor, char *txStr, int txLen, int } // disable DUT_WRITE32_32(uart_base_addr + uart_txctrl,0); - DUT_WRITE32_32(uart_base_addr + uart_rxctrl,0); - DUT_WRITE32_32(uart_base_addr + uart_ie,0); + DUT_WRITE32_32(uart_base_addr + uart_rxctrl,0); + DUT_WRITE32_32(uart_base_addr + uart_ie,0); return errCnt; } diff --git a/cosim/drivers/linux/Makefile b/cosim/drivers/linux/Makefile index b04c3ad..c4ac566 100644 --- a/cosim/drivers/linux/Makefile +++ b/cosim/drivers/linux/Makefile @@ -23,8 +23,8 @@ SOE = 0 # So force it to use g++ instead # MY_CC = $(patsubst %gcc, %g++, $(CC)) -CFLAGS += -g -Wall -I . -DLINUX_MODE -DCEP_SOE=$(SOE) -DRISCV_CPU -DBIG_ENDIAN -CFLAGS += -std=c++11 +CFLAGS += -g -Wall -I . -DLINUX_MODE -DCEP_SOE=$(SOE) -DRISCV_CPU -DBIG_ENDIAN -DUSE_ATOMIC +CFLAGS += -std=c++17 # -static will crash for mutithread LFLAGS = -lpthread @@ -139,3 +139,11 @@ clean: rm -f *.o rm -f $(TARGET) +# +# This target just to rebuild the cep_diag. Assuming everything else already being built via ../README.md file +# +# +buildMe: + make install + (cd ${FREEDOM_U_SDK_DIR}/work/buildroot_initramfs; rm -rf build/cep_diag*; make) + (cd ${FREEDOM_U_SDK_DIR}; make -j8 BOARD=vc707devkit_nopci all) diff --git a/cosim/drivers/linux/cep_diag.cc b/cosim/drivers/linux/cep_diag.cc index a8cae15..0be1ef0 100644 --- a/cosim/drivers/linux/cep_diag.cc +++ b/cosim/drivers/linux/cep_diag.cc @@ -37,6 +37,7 @@ #include "cep_dbg.h" #include "cep_diag.h" #include "cep_exports.h" +#include "cep_version.h" // Macro to properly format the version register #define MAJOR_VERSION(n) (int)((n >> 48) & 0xFF) @@ -149,10 +150,11 @@ void lnx_mem_write(u_int32_t offs,u_int64_t pData) { do_write(offs,pData); } // ======================================= // static void Print_CepBuildDate(void) { - printf("\n*** CEP Tag=%s CEP HW VERSION = v%x.%x was built on %s %s ***\n", - CEP_TAG, MAJOR_VERSION(lnx_cep_read(CEP_VERSION_REG)), MINOR_VERSION(lnx_cep_read(CEP_VERSION_REG)),__DATE__,__TIME__); + printf("\n*** CEP SW=0x%x.%x HW VERSION = v%x.%x was built on %s %s ***\n", + CEP_MAJOR_VERSION,CEP_MINOR_VERSION, + MAJOR_VERSION(lnx_cep_read(CEP_VERSION_REG)), MINOR_VERSION(lnx_cep_read(CEP_VERSION_REG)),__DATE__,__TIME__); // do the read and print - printf(" CEP FPGA Physical: cepReg/ddr3/other/sys -> Virtual=0x%016lx, 0x%016lx, 0x%016lx, 0x%016lx ScratchPad=0x%016lx\n", + printf(" CEP FPGA Physical: cepReg/ddr3/other/sys -> Virtual=0x%lx, 0x%lx, 0x%lx, 0x%lx\n ScratchPad=0x%lx\n", (u_int64_t)_cepMap.mem, (u_int64_t)_ddr3Map.mem, (u_int64_t)_otherMap.mem, diff --git a/cosim/drivers/linux/cep_diag.mk b/cosim/drivers/linux/cep_diag.mk index dfa9ffd..6e230c2 100644 --- a/cosim/drivers/linux/cep_diag.mk +++ b/cosim/drivers/linux/cep_diag.mk @@ -6,7 +6,7 @@ # Description: Buildroot mk file for CEP Regression Suite #************************************************************************ -CEP_DIAG_VERSION = 2.0.0 +CEP_DIAG_VERSION = 3.3 CEP_DIAG_SITE = ./package/cep_diag/src CEP_DIAG_SITE_METHOD = local diff --git a/cosim/drivers/linux/cep_exports.cc b/cosim/drivers/linux/cep_exports.cc index cad0851..0f5230b 100644 --- a/cosim/drivers/linux/cep_exports.cc +++ b/cosim/drivers/linux/cep_exports.cc @@ -279,6 +279,23 @@ int run_cepPlicTest(void) { return errCnt; } +#if 0 +// priority interrupt test +static void cepPlicPrioIntrTest_thr(int id) { + int errCnt = thr_waitTilLock(id, 5); + errCnt += cepPlicTest_prioIntrTest(id, GET_VAR_VALUE(verbose)); + cep_set_thr_errCnt(errCnt); +} + +int run_cepPlicPrioIntrTest(void) { + int errCnt = 0; + // + cep_set_thr_function(cepPlicPrioIntrTest_thr); + errCnt = run_multiThreads(GET_VAR_VALUE(coreMask)); + return errCnt; + } +#endif + // // ******************** // cepSrotMemTest (single) @@ -958,3 +975,39 @@ int run_cepSrotErrTest(void) { return errCnt; } +// +// ******************** +// CEP MultiThread +// ******************** +// +#include "cepMultiThread.h" +u_int64_t testLockBuf=0; +// +static void cepMultiThread_thr(int id) { + int errCnt = 0; + int maxTest = 10; + // RSA takes too long!!! + int cryptoMask = ((1 << maxTest) -1) & ~(1 << RSA_BASE_K) & GET_VAR_VALUE(testMask); + int maxLoop = 5; + errCnt += cepMultiThread_runThr(id, testLockBuf, cryptoMask, maxTest, maxLoop, GET_VAR_VALUE(seed), GET_VAR_VALUE(verbose)); + cep_set_mthr_errCnt(id,errCnt); +} + +int run_cepMultiThread(void) { + int errCnt = 0; + // + cep_set_thr_function(cepMultiThread_thr); + int maxTest = 10; +#ifdef USE_ATOMIC + testLockBuf = (u_int64_t)getScratchPtr(); // virtual + clearScratchPtr(); +#else + testLockBuf = (u_int64_t)(ddr3_base_adr) + ((u_int64_t)getScratchPtr() & (u_int64_t)(ddr3_base_size-1)); // physical +#endif + errCnt += cepMultiThread_setup(0, testLockBuf, maxTest, 1, GET_VAR_VALUE(verbose)) ; + // + if (!errCnt) { errCnt = run_multiThreadFloats(GET_VAR_VALUE(maxThreads)); } + return errCnt; + } + + diff --git a/cosim/drivers/linux/cep_exports.h b/cosim/drivers/linux/cep_exports.h index ff0663e..9f04f88 100644 --- a/cosim/drivers/linux/cep_exports.h +++ b/cosim/drivers/linux/cep_exports.h @@ -29,59 +29,62 @@ #ifdef __cplusplus extern "C" { #endif - // - // Common/Utils - // - int run_threadTest(void); - // - // CEP - // - int cep_aWrite(void); - int cep_aRead(void); - int run_cepRegTest(void); - int run_cepLockTest(void); - int run_cepMultiLock(void); - int run_ddr3Test(void); - int run_cepAllMacros(void); - int run_cepMacroMix(void); - // misc - int run_cepGpioTest(void); - int run_cepSrotMemTest(void); - int run_cepSrotMaxKeyTest(void); - int run_cepMacroBadKey(void); - int run_smemTest(void); - int run_cepLockfreeAtomic(void); - int run_cepLrscOps(void); - int run_cepClintTest(void); - int run_cepPlicTest(void); - int run_cepAccessTest(void); - int run_cepAtomicTest(void); - int run_cepSpiTest(void); - int run_cepMaskromTest(void); - // int run_cepCsrTest(void); - int run_cepSrotErrTest(void); - // - int run_cep_AES (void); - int run_cep_DES3 (void); - int run_cep_DFT (void); - int run_cep_FIR (void); - int run_cep_IIR (void); - int run_cep_GPS (void); - int run_cep_MD5 (void); - int run_cep_RSA (void); - int run_cep_SHA256 (void); - // - // DDR3 - // - int ddr3_aWrite(void); - int ddr3_aRead(void); - - // - // cores - // - int run_dcacheCoherency(void); - int run_icacheCoherency(void); - int run_cacheFlush(void); + // + // Common/Utils + // + int run_threadTest(void); + // + // CEP + // + int cep_aWrite(void); + int cep_aRead(void); + int run_cepRegTest(void); + int run_cepLockTest(void); + int run_cepMultiLock(void); + int run_ddr3Test(void); + int run_cepAllMacros(void); + int run_cepMacroMix(void); + // misc + int run_cepGpioTest(void); + int run_cepSrotMemTest(void); + int run_cepSrotMaxKeyTest(void); + int run_cepMacroBadKey(void); + int run_smemTest(void); + int run_cepLockfreeAtomic(void); + int run_cepLrscOps(void); + int run_cepClintTest(void); + int run_cepPlicTest(void); + int run_cepAccessTest(void); + int run_cepAtomicTest(void); + int run_cepSpiTest(void); + int run_cepMaskromTest(void); + // int run_cepCsrTest(void); + int run_cepSrotErrTest(void); + // + //int run_cepPlicPrioIntrTest(void); + // + int run_cep_AES (void); + int run_cep_DES3 (void); + int run_cep_DFT (void); + int run_cep_FIR (void); + int run_cep_IIR (void); + int run_cep_GPS (void); + int run_cep_MD5 (void); + int run_cep_RSA (void); + int run_cep_SHA256 (void); + int run_cepMultiThread(void); + // + // DDR3 + // + int ddr3_aWrite(void); + int ddr3_aRead(void); + + // + // cores + // + int run_dcacheCoherency(void); + int run_icacheCoherency(void); + int run_cacheFlush(void); #ifdef __cplusplus } #endif diff --git a/cosim/drivers/linux/cep_io.h b/cosim/drivers/linux/cep_io.h index 1230154..3343296 100644 --- a/cosim/drivers/linux/cep_io.h +++ b/cosim/drivers/linux/cep_io.h @@ -21,37 +21,29 @@ //#include extern std::mutex iomutex; -#define THR_LOGI(format, ...) { \ - char _gstr[1024], _tstr[32]; \ - sprintf(_tstr,"C%d:",sched_getcpu()); \ - snprintf(_gstr,sizeof(_gstr),format, ##__VA_ARGS__); \ - std::lock_guard iolock(iomutex); \ - printf("%s %s", _tstr, _gstr); \ - } +#define THR_LOGI(format, ...) { \ + std::scoped_lock iolock(iomutex); \ + printf("C%d: ",sched_getcpu()); \ + printf(format, ##__VA_ARGS__);fflush(NULL); \ + } -#define THR_LOGE(format, ...) { \ - char _gstr[1024], _tstr[32]; \ - sprintf(_tstr,"C%d: ** ERROR ** ",sched_getcpu()); \ - snprintf(_gstr,sizeof(_gstr),format, ##__VA_ARGS__); \ - std::lock_guard iolock(iomutex); \ - printf("%s %s", _tstr, _gstr); \ - } +#define THR_LOGE(format, ...) { \ + std::scoped_lock iolock(iomutex); \ + printf("C%d: ** ERROR ** ",sched_getcpu()); \ + printf(format, ##__VA_ARGS__); fflush(NULL); \ + } -#define THR_LOGW(format, ...) { \ - char _gstr[1024], _tstr[32]; \ - sprintf(_tstr,"C%d: ** WARNING ** ",sched_getcpu()); \ - snprintf(_gstr,sizeof(_gstr),format, ##__VA_ARGS__); \ - std::lock_guard iolock(iomutex); \ - printf("%s %s", _tstr, _gstr); \ - } +#define THR_LOGW(format, ...) { \ + std::scoped_lock iolock(iomutex); \ + printf("C%d: ** WARNING ** ",sched_getcpu()); \ + printf(format, ##__VA_ARGS__);fflush(NULL); \ + } -#define THR_LOGF(format, ...) { \ - char _gstr[1024], _tstr[32]; \ - sprintf(_tstr,"C%d: ** FATAL ** ",sched_getcpu()); \ - snprintf(_gstr,sizeof(_gstr),format, ##__VA_ARGS__); \ - std::lock_guard iolock(iomutex); \ - printf("%s %s", _tstr, _gstr); \ - } +#define THR_LOGF(format, ...) { \ + std::scoped_lock iolock(iomutex); \ + printf(_tstr,"C%d: ** FATAL ** ",sched_getcpu()); \ + printf(format, ##__VA_ARGS__); fflush(NULL); \ + } //#define DELAY(a) mdelay(a) diff --git a/cosim/drivers/linux/cep_run.cc b/cosim/drivers/linux/cep_run.cc index 6695f8f..30b1689 100644 --- a/cosim/drivers/linux/cep_run.cc +++ b/cosim/drivers/linux/cep_run.cc @@ -577,7 +577,8 @@ int cep_init_run(void) CEP_ADD_RUN(3,cepSrotErrTest, 0xFFFFFFFF, run_cepSrotErrTest, NULL, NULL, "CEP SRoT Error Test (single core) "); //CEP_ADD_RUN(3,cepCsrTest, 0xFFFFFFFF, run_cepCsrTest, NULL, NULL, "CEP SPI test (all cores) "); - CEP_ADD_RUN(4,cepPlicTest, 0xFFFFFFFF, run_cepPlicTest, NULL, NULL, "CEP PLIC register test (all cores)"); + CEP_ADD_RUN(4,cepPlicTest, 0xFFFFFFFF, run_cepPlicTest, NULL, NULL, "CEP PLIC register test (all cores)"); +//CEP_ADD_RUN(4,cepPlicPrioIntrTest,0xFFFFFFFF, run_cepPlicPrioIntrTest,NULL,NULL, "CEP PLIC priority Interrupt test (all cores)"); CEP_ADD_RUN(4,cepClintTest, 0xFFFFFFFF, run_cepClintTest, NULL, NULL, "CEP CLINT register test (all cores)"); CEP_ADD_RUN(4,cepRegTest, 0xFFFFFFFF, run_cepRegTest, NULL, NULL, "CEP register tests on all cores"); CEP_ADD_RUN(4,cepLockTest, 0xFFFFFFFF, run_cepLockTest, NULL, NULL, "CEP single lock test (all cores)"); @@ -602,6 +603,7 @@ int cep_init_run(void) CEP_ADD_RUN(6,cep_MD5 , 0xFFFFFFFF, run_cep_MD5 , NULL, NULL, "CEP MD5 test (single core)"); CEP_ADD_RUN(6,cep_RSA , 0xFFFFFFFF, run_cep_RSA , NULL, NULL, "CEP RSA test (single core)"); CEP_ADD_RUN(6,cep_SHA256 , 0xFFFFFFFF, run_cep_SHA256 , NULL, NULL, "CEP SHA256 test (single core)"); + CEP_ADD_RUN(6,cepMultiThread , 0xFFFFFFFF, run_cepMultiThread , NULL, NULL, "CEP multi-thread per core (all cores)"); // // // must do this @@ -795,11 +797,15 @@ int cep_index2testId(int index) { // // // -int _thr_errCnt[MAX_CORES]; +#define MAX_THREADS 128 +int _thr_errCnt[MAX_THREADS]; void cep_set_thr_errCnt(int value) { int cpu= sched_getcpu(); _thr_errCnt[cpu] = value; } +void cep_set_mthr_errCnt(int thrId,int value) { + _thr_errCnt[thrId] = value; +} int cep_get_thr_errCnt(void) { int cpu= sched_getcpu(); return _thr_errCnt[cpu]; @@ -836,12 +842,13 @@ int run_multiThreads(int coreMask) { // , cep_thread_funct_t funct) { int errCnt = 0; constexpr unsigned num_threads = MAX_CORES; // A mutex ensures orderly access to std::cout from multiple threads. - //std::mutex iomutex; + std::mutex liomutex; std::vector threads(num_threads); for (unsigned i = 0; i < num_threads; ++i) { if ((1 << i) & coreMask) { _thr_errCnt[i] = 0; // clear the error threads[i] = std::thread(cep_get_thr_function(), i); + std::this_thread::sleep_for(std::chrono::milliseconds(20)); // ?? need to?? // // Create a cpu_set_t object representing a set of CPUs. Clear it and mark // only CPU i as set. @@ -851,8 +858,13 @@ int run_multiThreads(int coreMask) { // , cep_thread_funct_t funct) { CPU_SET(i, &cpuset); int rc = pthread_setaffinity_np(threads[i].native_handle(), sizeof(cpu_set_t), &cpuset); if (rc != 0) { + std::lock_guard iolock(liomutex); std::cerr << "Error calling pthread_setaffinity_np: " << rc << "\n"; +#if 0 + // perhaps the htread already finish?? when use with strace + _thr_errCnt[i]++; errCnt++; +#endif } } } @@ -876,3 +888,23 @@ int run_multiThreads(int coreMask) { // , cep_thread_funct_t funct) { return errCnt; } +int run_multiThreadFloats(int num_threads) { + int errCnt = 0; + // A mutex ensures orderly access to std::cout from multiple threads. + //std::mutex iomutex; + std::vector threads(num_threads); + for (int i = 0; i < num_threads; ++i) { + _thr_errCnt[i] = 0; // clear the error + threads[i] = std::thread(cep_get_thr_function(), i); // thrId > 0 + std::this_thread::sleep_for(std::chrono::milliseconds(20)); // ?? need to?? + } + for (int i = 0; i < num_threads; ++i) { + //if (threads[i].joinable()) { + threads[i].join(); + //} + // get error + if (_thr_errCnt[i]) { errCnt++; } + + } + return errCnt; +} diff --git a/cosim/drivers/linux/cep_run.h b/cosim/drivers/linux/cep_run.h index ef3e649..99545b7 100644 --- a/cosim/drivers/linux/cep_run.h +++ b/cosim/drivers/linux/cep_run.h @@ -106,6 +106,7 @@ typedef enum { RUN_cepMaskromTest, // RUN_cepCsrTest, RUN_cepSrotErrTest, +// RUN_cepPlicPrioIntrTest, // RUN_cepMacroMix , // multi-threaded RUN_cep_AES , @@ -117,6 +118,7 @@ typedef enum { RUN_cep_MD5 , RUN_cep_RSA , RUN_cep_SHA256 , + RUN_cepMultiThread, // RUN_ddr3Test , RUN_dcacheCoherency, @@ -192,8 +194,10 @@ extern "C" { void cep_set_thr_function(cep_thread_funct_t funct); cep_thread_funct_t cep_get_thr_function(void); void cep_set_thr_errCnt(int value); + void cep_set_mthr_errCnt(int thrId,int value); int cep_get_thr_errCnt(void); int run_multiThreads(int coreMask); // , cep_thread_funct_t funct); + int run_multiThreadFloats(int num_threads); int thr_waitTilLock(int id, int maxTO); // ============================= diff --git a/cosim/drivers/linux/cep_vars.cc b/cosim/drivers/linux/cep_vars.cc index da58149..da910c3 100644 --- a/cosim/drivers/linux/cep_vars.cc +++ b/cosim/drivers/linux/cep_vars.cc @@ -134,6 +134,7 @@ int cep_init_vars(void) CEP_ADD_VAR(curErrCnt, 1, 0, NULL, "current error count"); CEP_ADD_VAR(lockSeed, 1, 0, NULL, "1=seed is locked, 0=seed is random"); CEP_ADD_VAR(maxErr, 1, 1, NULL, "max number of errors before stop test"); + CEP_ADD_VAR(maxThreads, 1,32, NULL, "max number of threads"); CEP_ADD_VAR(regress, 1, 0, NULL, "1=regress mode on, 0=off"); CEP_ADD_VAR(quit, 1, 0, NULL, "1=quit cep_test"); CEP_ADD_VAR(seed, 1, 0, NULL, "random seed uses for every test"); diff --git a/cosim/drivers/linux/cep_vars.h b/cosim/drivers/linux/cep_vars.h index 4d2d759..07e3f91 100644 --- a/cosim/drivers/linux/cep_vars.h +++ b/cosim/drivers/linux/cep_vars.h @@ -76,7 +76,8 @@ typedef enum { VAR_lockSeed, VAR_loop, VAR_mloop, - VAR_maxErr, + VAR_maxErr, + VAR_maxThreads, VAR_prompt, VAR_quit, VAR_regress, diff --git a/cosim/drivers/linux/strace/Config.in b/cosim/drivers/linux/strace/Config.in new file mode 100644 index 0000000..ac6fa65 --- /dev/null +++ b/cosim/drivers/linux/strace/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_STRACE + bool "strace" + help + A useful diagnostic, instructional, and debugging tool. + Allows you to track what system calls a program makes + while it is running. + + http://strace.io/files/5.11 diff --git a/cosim/drivers/linux/strace/README b/cosim/drivers/linux/strace/README new file mode 100644 index 0000000..abbcde3 --- /dev/null +++ b/cosim/drivers/linux/strace/README @@ -0,0 +1,9 @@ +# This directory is the latest strace for RISCV. 5.11 + +The released version 4.11 under software/freedom-u-sdk/buildroot/package/strace is old and NOT supported. And it is no longer reside where it is supposed to be. + +To enable the build, remove the old directory and replace with this new one and add a line to : + +software/freedom-u-sdk/conf/buildroot_initramfs_config + +as such : BR2_PACKAGE_STRACE=y diff --git a/cosim/drivers/linux/strace/strace.mk b/cosim/drivers/linux/strace/strace.mk new file mode 100644 index 0000000..2bf0ec1 --- /dev/null +++ b/cosim/drivers/linux/strace/strace.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# strace +# +################################################################################ + +#STRACE_VERSION = 4.11 +#STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz +#STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION) +STRACE_VERSION = 5.11 +STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz +STRACE_SITE = http://strace.io/files/$(STRACE_VERSION) +STRACE_LICENSE = BSD-3c +STRACE_LICENSE_FILES = COPYING + +STRACE_CONF_ENV = \ + ac_cv_header_linux_if_packet_h=yes \ + ac_cv_header_linux_netlink_h=yes + +define STRACE_REMOVE_STRACE_GRAPH + rm -f $(TARGET_DIR)/usr/bin/strace-graph +endef + +STRACE_POST_INSTALL_TARGET_HOOKS += STRACE_REMOVE_STRACE_GRAPH + +$(eval $(autotools-package)) diff --git a/cosim/drivers/vectors/aes_playback.h b/cosim/drivers/vectors/aes_playback.h index 965bf60..02e474a 100644 --- a/cosim/drivers/vectors/aes_playback.h +++ b/cosim/drivers/vectors/aes_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: aes. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ #ifndef aes_playback_H #define aes_playback_H diff --git a/cosim/drivers/vectors/aes_stimulus.txt.gz b/cosim/drivers/vectors/aes_stimulus.txt.gz index 6dc991a46ed360dba51f632f676f898e070515a8..e94ea2a357573b6f02484560ed46be54d12bf934 100644 GIT binary patch delta 18 acmX?cmhr?{Mt1pb4i43rr5o7~rU3v&jt27p delta 18 acmX?cmhr?{Mt1pb4vxarr5o7~rU3v*j0au- diff --git a/cosim/drivers/vectors/des3_playback.h b/cosim/drivers/vectors/des3_playback.h index 04766d7..6d401ba 100644 --- a/cosim/drivers/vectors/des3_playback.h +++ b/cosim/drivers/vectors/des3_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: des3. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ #ifndef des3_playback_H #define des3_playback_H @@ -1945,335 +1945,335 @@ uint64_t des3_playback[] = { , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1919 , RDnCMP_CMD, 0x70040038, 0x1718191a1b1c1d1e // 1920 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 1921 - , WRITE__CMD, 0x70040010, 0xc5cff024f5594b1c // 1922 - , WRITE__CMD, 0x70040018, 0x00bfb09841f3d701 // 1923 - , WRITE__CMD, 0x70040020, 0x00bcab27b6aa27f2 // 1924 - , WRITE__CMD, 0x70040028, 0x00da08ff26019995 // 1925 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 1922 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 1923 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 1924 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 1925 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1926 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1927 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1928 - , RDnCMP_CMD, 0x70040038, 0xfd5f8081e9d4d522 // 1929 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 1929 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 1930 - , WRITE__CMD, 0x70040010, 0xfd5f8081e9d4d522 // 1931 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 1931 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1932 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1933 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1934 - , RDnCMP_CMD, 0x70040038, 0xc5cff024f5594b1c // 1935 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 1935 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 1936 - , WRITE__CMD, 0x70040010, 0xc79e10013a3f15ee // 1937 - , WRITE__CMD, 0x70040018, 0x00796ecf4aca81f5 // 1938 - , WRITE__CMD, 0x70040020, 0x00c343a80c6d5479 // 1939 - , WRITE__CMD, 0x70040028, 0x00f2c05e3d7e78e2 // 1940 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 1937 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 1938 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 1939 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 1940 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1941 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1942 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1943 - , RDnCMP_CMD, 0x70040038, 0x0074347314123891 // 1944 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 1944 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 1945 - , WRITE__CMD, 0x70040010, 0x0074347314123891 // 1946 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 1946 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1947 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1948 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1949 - , RDnCMP_CMD, 0x70040038, 0xc79e10013a3f15ee // 1950 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 1950 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 1951 - , WRITE__CMD, 0x70040010, 0x4b52700d30885f1f // 1952 - , WRITE__CMD, 0x70040018, 0x00b378116c4ac999 // 1953 - , WRITE__CMD, 0x70040020, 0x00e4ce80cb267af5 // 1954 - , WRITE__CMD, 0x70040028, 0x006e1f38921d8c60 // 1955 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 1952 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 1953 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 1954 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 1955 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1956 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1957 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1958 - , RDnCMP_CMD, 0x70040038, 0xcd63552acc7cbebf // 1959 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 1959 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 1960 - , WRITE__CMD, 0x70040010, 0xcd63552acc7cbebf // 1961 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 1961 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1962 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1963 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1964 - , RDnCMP_CMD, 0x70040038, 0x4b52700d30885f1f // 1965 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 1965 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 1966 - , WRITE__CMD, 0x70040010, 0x75429efd58706705 // 1967 - , WRITE__CMD, 0x70040018, 0x00936f07be83cde4 // 1968 - , WRITE__CMD, 0x70040020, 0x00f2eeb802845377 // 1969 - , WRITE__CMD, 0x70040028, 0x00521e3138fb7c89 // 1970 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 1967 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 1968 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 1969 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 1970 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1971 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1972 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1973 - , RDnCMP_CMD, 0x70040038, 0x633fa731c9c3a509 // 1974 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 1974 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 1975 - , WRITE__CMD, 0x70040010, 0x633fa731c9c3a509 // 1976 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 1976 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1977 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1978 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1979 - , RDnCMP_CMD, 0x70040038, 0x75429efd58706705 // 1980 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 1980 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 1981 - , WRITE__CMD, 0x70040010, 0xcf85240b8a3bdd2c // 1982 - , WRITE__CMD, 0x70040018, 0x0027eaf5dbb331e1 // 1983 - , WRITE__CMD, 0x70040020, 0x00afef6088ac1277 // 1984 - , WRITE__CMD, 0x70040028, 0x0085c3417c385474 // 1985 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 1982 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 1983 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 1984 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 1985 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1986 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1987 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1988 - , RDnCMP_CMD, 0x70040038, 0xd9a91fde527bf193 // 1989 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 1989 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 1990 - , WRITE__CMD, 0x70040010, 0xd9a91fde527bf193 // 1991 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 1991 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 1992 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 1993 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 1994 - , RDnCMP_CMD, 0x70040038, 0xcf85240b8a3bdd2c // 1995 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 1995 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 1996 - , WRITE__CMD, 0x70040010, 0xcd6fcf188f8c2cd3 // 1997 - , WRITE__CMD, 0x70040018, 0x003ca11f9d5e7d72 // 1998 - , WRITE__CMD, 0x70040020, 0x00a5c05f45a67c90 // 1999 - , WRITE__CMD, 0x70040028, 0x00571ddfa8d20ffe // 2000 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 1997 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 1998 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 1999 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2000 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2001 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2002 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2003 - , RDnCMP_CMD, 0x70040038, 0x422f23eca990ee83 // 2004 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2004 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2005 - , WRITE__CMD, 0x70040010, 0x422f23eca990ee83 // 2006 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2006 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2007 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2008 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2009 - , RDnCMP_CMD, 0x70040038, 0xcd6fcf188f8c2cd3 // 2010 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2010 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2011 - , WRITE__CMD, 0x70040010, 0xc200b800ec4d8928 // 2012 - , WRITE__CMD, 0x70040018, 0x008ddd971169b09b // 2013 - , WRITE__CMD, 0x70040020, 0x0075e15f4738f9ff // 2014 - , WRITE__CMD, 0x70040028, 0x008ff35fe3283465 // 2015 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2012 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2013 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2014 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2015 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2016 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2017 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2018 - , RDnCMP_CMD, 0x70040038, 0x8bb99ad043348ff0 // 2019 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2019 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2020 - , WRITE__CMD, 0x70040010, 0x8bb99ad043348ff0 // 2021 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2021 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2022 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2023 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2024 - , RDnCMP_CMD, 0x70040038, 0xc200b800ec4d8928 // 2025 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2025 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2026 - , WRITE__CMD, 0x70040010, 0x7af8f2c9067d64de // 2027 - , WRITE__CMD, 0x70040018, 0x000946514392fc81 // 2028 - , WRITE__CMD, 0x70040020, 0x002009415b604e62 // 2029 - , WRITE__CMD, 0x70040028, 0x001994d6f280d968 // 2030 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2027 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2028 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2029 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2030 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2031 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2032 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2033 - , RDnCMP_CMD, 0x70040038, 0x7995eca3130c9598 // 2034 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2034 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2035 - , WRITE__CMD, 0x70040010, 0x7995eca3130c9598 // 2036 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2036 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2037 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2038 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2039 - , RDnCMP_CMD, 0x70040038, 0x7af8f2c9067d64de // 2040 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2040 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2041 - , WRITE__CMD, 0x70040010, 0xda3cf5c3d225df2f // 2042 - , WRITE__CMD, 0x70040018, 0x00c222f628ee9291 // 2043 - , WRITE__CMD, 0x70040020, 0x005d7988261eab12 // 2044 - , WRITE__CMD, 0x70040028, 0x0030bf576125230e // 2045 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2042 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2043 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2044 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2045 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2046 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2047 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2048 - , RDnCMP_CMD, 0x70040038, 0x2c1dab7faa69f8d0 // 2049 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2049 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2050 - , WRITE__CMD, 0x70040010, 0x2c1dab7faa69f8d0 // 2051 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2051 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2052 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2053 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2054 - , RDnCMP_CMD, 0x70040038, 0xda3cf5c3d225df2f // 2055 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2055 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2056 - , WRITE__CMD, 0x70040010, 0x008f10d34d077630 // 2057 - , WRITE__CMD, 0x70040018, 0x008c25a721572c1a // 2058 - , WRITE__CMD, 0x70040020, 0x00d90b56b8b7c1ff // 2059 - , WRITE__CMD, 0x70040028, 0x00b5d79042efdbe2 // 2060 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2057 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2058 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2059 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2060 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2061 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2062 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2063 - , RDnCMP_CMD, 0x70040038, 0x618b2af2028942af // 2064 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2064 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2065 - , WRITE__CMD, 0x70040010, 0x618b2af2028942af // 2066 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2066 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2067 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2068 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2069 - , RDnCMP_CMD, 0x70040038, 0x008f10d34d077630 // 2070 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2070 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2071 - , WRITE__CMD, 0x70040010, 0x91723f13d9ffc5f9 // 2072 - , WRITE__CMD, 0x70040018, 0x008f877864000ffc // 2073 - , WRITE__CMD, 0x70040020, 0x00d21f06a166c602 // 2074 - , WRITE__CMD, 0x70040028, 0x006232f7749ceef4 // 2075 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2072 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2073 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2074 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2075 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2076 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2077 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2078 - , RDnCMP_CMD, 0x70040038, 0xcf1410b3d0efeba7 // 2079 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2079 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2080 - , WRITE__CMD, 0x70040010, 0xcf1410b3d0efeba7 // 2081 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2081 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2082 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2083 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2084 - , RDnCMP_CMD, 0x70040038, 0x91723f13d9ffc5f9 // 2085 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2085 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2086 - , WRITE__CMD, 0x70040010, 0x8df3cf0c22133700 // 2087 - , WRITE__CMD, 0x70040018, 0x00389f86951edf71 // 2088 - , WRITE__CMD, 0x70040020, 0x00b644b9370d5df2 // 2089 - , WRITE__CMD, 0x70040028, 0x00f9ea062652db6b // 2090 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2087 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2088 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2089 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2090 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2091 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2092 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2093 - , RDnCMP_CMD, 0x70040038, 0xa8f8bf83c894bf51 // 2094 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2094 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2095 - , WRITE__CMD, 0x70040010, 0xa8f8bf83c894bf51 // 2096 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2096 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2097 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2098 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2099 - , RDnCMP_CMD, 0x70040038, 0x8df3cf0c22133700 // 2100 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2100 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2101 - , WRITE__CMD, 0x70040010, 0x7d5973da02fa58dd // 2102 - , WRITE__CMD, 0x70040018, 0x003eb906845827e4 // 2103 - , WRITE__CMD, 0x70040020, 0x00e9f5702850886d // 2104 - , WRITE__CMD, 0x70040028, 0x0000e7e0b5fed01a // 2105 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2102 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2103 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2104 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2105 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2106 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2107 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2108 - , RDnCMP_CMD, 0x70040038, 0xb155057db25e12d2 // 2109 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2109 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2110 - , WRITE__CMD, 0x70040010, 0xb155057db25e12d2 // 2111 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2111 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2112 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2113 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2114 - , RDnCMP_CMD, 0x70040038, 0x7d5973da02fa58dd // 2115 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2115 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2116 - , WRITE__CMD, 0x70040010, 0xe6f81bf3fc459bf8 // 2117 - , WRITE__CMD, 0x70040018, 0x00194527fda406e7 // 2118 - , WRITE__CMD, 0x70040020, 0x00cdba980e43f66a // 2119 - , WRITE__CMD, 0x70040028, 0x004ad39fcd90ce77 // 2120 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2117 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2118 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2119 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2120 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2121 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2122 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2123 - , RDnCMP_CMD, 0x70040038, 0x55191eceb5837ad1 // 2124 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2124 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2125 - , WRITE__CMD, 0x70040010, 0x55191eceb5837ad1 // 2126 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2126 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2127 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2128 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2129 - , RDnCMP_CMD, 0x70040038, 0xe6f81bf3fc459bf8 // 2130 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2130 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2131 - , WRITE__CMD, 0x70040010, 0xc38e37ee3a4112ff // 2132 - , WRITE__CMD, 0x70040018, 0x005b6f287217e97f // 2133 - , WRITE__CMD, 0x70040020, 0x00d837674126577a // 2134 - , WRITE__CMD, 0x70040028, 0x00708819046bd075 // 2135 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2132 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2133 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2134 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2135 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2136 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2137 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2138 - , RDnCMP_CMD, 0x70040038, 0x44408795047f8286 // 2139 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2139 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2140 - , WRITE__CMD, 0x70040010, 0x44408795047f8286 // 2141 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2141 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2142 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2143 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2144 - , RDnCMP_CMD, 0x70040038, 0xc38e37ee3a4112ff // 2145 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2145 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2146 - , WRITE__CMD, 0x70040010, 0xd2397018cd105932 // 2147 - , WRITE__CMD, 0x70040018, 0x003ca20764a5b2fb // 2148 - , WRITE__CMD, 0x70040020, 0x00be03ce04f75eee // 2149 - , WRITE__CMD, 0x70040028, 0x00c69481b6661ce8 // 2150 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2147 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2148 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2149 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2150 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2151 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2152 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2153 - , RDnCMP_CMD, 0x70040038, 0x606d5c3243e17317 // 2154 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2154 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2155 - , WRITE__CMD, 0x70040010, 0x606d5c3243e17317 // 2156 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2156 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2157 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2158 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2159 - , RDnCMP_CMD, 0x70040038, 0xd2397018cd105932 // 2160 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2160 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2161 - , WRITE__CMD, 0x70040010, 0x63ad4aed3ddb3d05 // 2162 - , WRITE__CMD, 0x70040018, 0x007572c61032869c // 2163 - , WRITE__CMD, 0x70040020, 0x00bfc12e4936d71e // 2164 - , WRITE__CMD, 0x70040028, 0x00730b37f6951c13 // 2165 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2162 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2163 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2164 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2165 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2166 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2167 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2168 - , RDnCMP_CMD, 0x70040038, 0x8566bdd72c6504b7 // 2169 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2169 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2170 - , WRITE__CMD, 0x70040010, 0x8566bdd72c6504b7 // 2171 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2171 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2172 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2173 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2174 - , RDnCMP_CMD, 0x70040038, 0x63ad4aed3ddb3d05 // 2175 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2175 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2176 - , WRITE__CMD, 0x70040010, 0x948bca11612ad7cf // 2177 - , WRITE__CMD, 0x70040018, 0x00233a062e11bf91 // 2178 - , WRITE__CMD, 0x70040020, 0x0035176152335892 // 2179 - , WRITE__CMD, 0x70040028, 0x00907cd763f1c380 // 2180 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2177 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2178 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2179 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2180 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2181 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2182 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2183 - , RDnCMP_CMD, 0x70040038, 0xa2dd80cfc67d79c1 // 2184 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2184 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2185 - , WRITE__CMD, 0x70040010, 0xa2dd80cfc67d79c1 // 2186 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2186 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2187 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2188 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2189 - , RDnCMP_CMD, 0x70040038, 0x948bca11612ad7cf // 2190 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2190 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2191 - , WRITE__CMD, 0x70040010, 0x1f5898bb0c0102cc // 2192 - , WRITE__CMD, 0x70040018, 0x001e87f7de749992 // 2193 - , WRITE__CMD, 0x70040020, 0x00994686b7ebb963 // 2194 - , WRITE__CMD, 0x70040028, 0x00c80abfe5d59e6e // 2195 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2192 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2193 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2194 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2195 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2196 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2197 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2198 - , RDnCMP_CMD, 0x70040038, 0x833eca1cc826814e // 2199 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2199 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2200 - , WRITE__CMD, 0x70040010, 0x833eca1cc826814e // 2201 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2201 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2202 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2203 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2204 - , RDnCMP_CMD, 0x70040038, 0x1f5898bb0c0102cc // 2205 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2205 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2206 - , WRITE__CMD, 0x70040010, 0x4ee0a4df67cc0423 // 2207 - , WRITE__CMD, 0x70040018, 0x00dce996c840c86b // 2208 - , WRITE__CMD, 0x70040020, 0x008d7db7ff2c5bec // 2209 - , WRITE__CMD, 0x70040028, 0x00645456a3721574 // 2210 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2207 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2208 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2209 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2210 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2211 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2212 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2213 - , RDnCMP_CMD, 0x70040038, 0x4a9af705a3ee4616 // 2214 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2214 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2215 - , WRITE__CMD, 0x70040010, 0x4a9af705a3ee4616 // 2216 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2216 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2217 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2218 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2219 - , RDnCMP_CMD, 0x70040038, 0x4ee0a4df67cc0423 // 2220 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2220 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2221 - , WRITE__CMD, 0x70040010, 0x4a386adde3feddd0 // 2222 - , WRITE__CMD, 0x70040018, 0x00313705f384c117 // 2223 - , WRITE__CMD, 0x70040020, 0x0098e54f85765a7d // 2224 - , WRITE__CMD, 0x70040028, 0x00ddc69721911d16 // 2225 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2222 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2223 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2224 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2225 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2226 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2227 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2228 - , RDnCMP_CMD, 0x70040038, 0x90406a21187ecbd1 // 2229 + , RDnCMP_CMD, 0x70040038, 0x6a5b3868f637f87b // 2229 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2230 - , WRITE__CMD, 0x70040010, 0x90406a21187ecbd1 // 2231 + , WRITE__CMD, 0x70040010, 0x6a5b3868f637f87b // 2231 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2232 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2233 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2234 - , RDnCMP_CMD, 0x70040038, 0x4a386adde3feddd0 // 2235 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2235 , WRITE__CMD, 0x70040008, 0x0000000000000001 // 2236 - , WRITE__CMD, 0x70040010, 0xa820f3c268acfc12 // 2237 - , WRITE__CMD, 0x70040018, 0x0040c85f22918405 // 2238 - , WRITE__CMD, 0x70040020, 0x00b3bd7fb4d85e76 // 2239 - , WRITE__CMD, 0x70040028, 0x00bfdc4f46571974 // 2240 + , WRITE__CMD, 0x70040010, 0xffffff7fffffff7f // 2237 + , WRITE__CMD, 0x70040018, 0x00fffffbffffffbf // 2238 + , WRITE__CMD, 0x70040020, 0x00fffffbffffffbf // 2239 + , WRITE__CMD, 0x70040028, 0x00fffffbffffffbf // 2240 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2241 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2242 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2243 - , RDnCMP_CMD, 0x70040038, 0x2661353bd5f6d1db // 2244 + , RDnCMP_CMD, 0x70040038, 0x8248d3fc80a6d3ce // 2244 , WRITE__CMD, 0x70040008, 0x0000000000000000 // 2245 - , WRITE__CMD, 0x70040010, 0x2661353bd5f6d1db // 2246 + , WRITE__CMD, 0x70040010, 0x8248d3fc80a6d3ce // 2246 , WRITE__CMD, 0x70040000, 0x0000000000000001 // 2247 , WRITE__CMD, 0x70040000, 0x0000000000000000 // 2248 , RDSPIN_CMD, 0x70040030, 0x0000000000000001, 0xffffffffffffffff, 0x32 // 2249 - , RDnCMP_CMD, 0x70040038, 0xa820f3c268acfc12 // 2250 + , RDnCMP_CMD, 0x70040038, 0xffffff7fffffff7f // 2250 }; #define des3_adrBase 0x0070040000 diff --git a/cosim/drivers/vectors/des3_stimulus.txt.gz b/cosim/drivers/vectors/des3_stimulus.txt.gz index e12e974ec456f4fdcc30d9c3a74478ca369d3f49..296c9f19cad5a3402f989f7354131989d2ff81e1 100644 GIT binary patch delta 19984 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 Jl#9WX{{`{fbc+B0 delta 32876 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 MmAq52xxrih4UCP>>i_@% literal 15755 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 diff --git a/cosim/drivers/vectors/iir_playback.h b/cosim/drivers/vectors/iir_playback.h index 3cc1fcd..624be60 100644 --- a/cosim/drivers/vectors/iir_playback.h +++ b/cosim/drivers/vectors/iir_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: iir. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ #ifndef iir_playback_H #define iir_playback_H @@ -1336,131 +1336,131 @@ uint64_t iir_playback[] = { , RDnCMP_CMD, 0x70080020, 0x0000000018fc1024 // 1310 , WRITE__CMD, 0x70080028, 0x0000000000000001 // 1311 , WRITE__CMD, 0x70080028, 0x0000000000000000 // 1312 - , WRITE__CMD, 0x70080010, 0x268618da268618da // 1313 + , WRITE__CMD, 0x70080010, 0x0000000300000003 // 1313 , WRITE__CMD, 0x70080008, 0x0000000000000000 // 1314 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1315 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1316 - , WRITE__CMD, 0x70080010, 0x20574a8a20574a8a // 1317 + , WRITE__CMD, 0x70080010, 0x0000000700000007 // 1317 , WRITE__CMD, 0x70080008, 0x0000000000000001 // 1318 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1319 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1320 - , WRITE__CMD, 0x70080010, 0x0cac50860cac5086 // 1321 + , WRITE__CMD, 0x70080010, 0x0000000b0000000b // 1321 , WRITE__CMD, 0x70080008, 0x0000000000000002 // 1322 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1323 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1324 - , WRITE__CMD, 0x70080010, 0x008d0761008d0761 // 1325 + , WRITE__CMD, 0x70080010, 0x0000000f0000000f // 1325 , WRITE__CMD, 0x70080008, 0x0000000000000003 // 1326 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1327 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1328 - , WRITE__CMD, 0x70080010, 0x01589d5b01589d5b // 1329 + , WRITE__CMD, 0x70080010, 0x0000001300000013 // 1329 , WRITE__CMD, 0x70080008, 0x0000000000000004 // 1330 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1331 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1332 - , WRITE__CMD, 0x70080010, 0x35320af435320af4 // 1333 + , WRITE__CMD, 0x70080010, 0x0000001700000017 // 1333 , WRITE__CMD, 0x70080008, 0x0000000000000005 // 1334 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1335 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1336 - , WRITE__CMD, 0x70080010, 0x182057dc182057dc // 1337 + , WRITE__CMD, 0x70080010, 0x0000001b0000001b // 1337 , WRITE__CMD, 0x70080008, 0x0000000000000006 // 1338 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1339 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1340 - , WRITE__CMD, 0x70080010, 0x1bb4906a1bb4906a // 1341 + , WRITE__CMD, 0x70080010, 0x0000001f0000001f // 1341 , WRITE__CMD, 0x70080008, 0x0000000000000007 // 1342 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1343 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1344 - , WRITE__CMD, 0x70080010, 0x3505248235052482 // 1345 + , WRITE__CMD, 0x70080010, 0x0000002300000023 // 1345 , WRITE__CMD, 0x70080008, 0x0000000000000008 // 1346 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1347 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1348 - , WRITE__CMD, 0x70080010, 0x05c6b0fd05c6b0fd // 1349 + , WRITE__CMD, 0x70080010, 0x0000002700000027 // 1349 , WRITE__CMD, 0x70080008, 0x0000000000000009 // 1350 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1351 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1352 - , WRITE__CMD, 0x70080010, 0x050b45e1050b45e1 // 1353 + , WRITE__CMD, 0x70080010, 0x0000002b0000002b // 1353 , WRITE__CMD, 0x70080008, 0x000000000000000a // 1354 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1355 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1356 - , WRITE__CMD, 0x70080010, 0x39af4c3839af4c38 // 1357 + , WRITE__CMD, 0x70080010, 0x0000002f0000002f // 1357 , WRITE__CMD, 0x70080008, 0x000000000000000b // 1358 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1359 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1360 - , WRITE__CMD, 0x70080010, 0x15f4162515f41625 // 1361 + , WRITE__CMD, 0x70080010, 0x0000003300000033 // 1361 , WRITE__CMD, 0x70080008, 0x000000000000000c // 1362 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1363 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1364 - , WRITE__CMD, 0x70080010, 0x24a7c6ad24a7c6ad // 1365 + , WRITE__CMD, 0x70080010, 0x0000003700000037 // 1365 , WRITE__CMD, 0x70080008, 0x000000000000000d // 1366 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1367 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1368 - , WRITE__CMD, 0x70080010, 0x10a8661610a86616 // 1369 + , WRITE__CMD, 0x70080010, 0x0000003b0000003b // 1369 , WRITE__CMD, 0x70080008, 0x000000000000000e // 1370 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1371 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1372 - , WRITE__CMD, 0x70080010, 0x1a0f1fc81a0f1fc8 // 1373 + , WRITE__CMD, 0x70080010, 0x0000003f0000003f // 1373 , WRITE__CMD, 0x70080008, 0x000000000000000f // 1374 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1375 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1376 - , WRITE__CMD, 0x70080010, 0x0accadd70accadd7 // 1377 + , WRITE__CMD, 0x70080010, 0x0000004300000043 // 1377 , WRITE__CMD, 0x70080008, 0x0000000000000010 // 1378 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1379 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1380 - , WRITE__CMD, 0x70080010, 0x38ff61cd38ff61cd // 1381 + , WRITE__CMD, 0x70080010, 0x0000004700000047 // 1381 , WRITE__CMD, 0x70080008, 0x0000000000000011 // 1382 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1383 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1384 - , WRITE__CMD, 0x70080010, 0x037783c6037783c6 // 1385 + , WRITE__CMD, 0x70080010, 0x0000004b0000004b // 1385 , WRITE__CMD, 0x70080008, 0x0000000000000012 // 1386 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1387 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1388 - , WRITE__CMD, 0x70080010, 0x158218c9158218c9 // 1389 + , WRITE__CMD, 0x70080010, 0x0000004f0000004f // 1389 , WRITE__CMD, 0x70080008, 0x0000000000000013 // 1390 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1391 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1392 - , WRITE__CMD, 0x70080010, 0x2ed710192ed71019 // 1393 + , WRITE__CMD, 0x70080010, 0x0000005300000053 // 1393 , WRITE__CMD, 0x70080008, 0x0000000000000014 // 1394 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1395 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1396 - , WRITE__CMD, 0x70080010, 0x3ae928e33ae928e3 // 1397 + , WRITE__CMD, 0x70080010, 0x0000005700000057 // 1397 , WRITE__CMD, 0x70080008, 0x0000000000000015 // 1398 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1399 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1400 - , WRITE__CMD, 0x70080010, 0x0335bcba0335bcba // 1401 + , WRITE__CMD, 0x70080010, 0x0000005b0000005b // 1401 , WRITE__CMD, 0x70080008, 0x0000000000000016 // 1402 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1403 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1404 - , WRITE__CMD, 0x70080010, 0x228b4fd4228b4fd4 // 1405 + , WRITE__CMD, 0x70080010, 0x0000005f0000005f // 1405 , WRITE__CMD, 0x70080008, 0x0000000000000017 // 1406 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1407 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1408 - , WRITE__CMD, 0x70080010, 0x3b5d2d933b5d2d93 // 1409 + , WRITE__CMD, 0x70080010, 0x0000006300000063 // 1409 , WRITE__CMD, 0x70080008, 0x0000000000000018 // 1410 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1411 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1412 - , WRITE__CMD, 0x70080010, 0x376cc50c376cc50c // 1413 + , WRITE__CMD, 0x70080010, 0x0000006700000067 // 1413 , WRITE__CMD, 0x70080008, 0x0000000000000019 // 1414 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1415 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1416 - , WRITE__CMD, 0x70080010, 0x375d022d375d022d // 1417 + , WRITE__CMD, 0x70080010, 0x0000006b0000006b // 1417 , WRITE__CMD, 0x70080008, 0x000000000000001a // 1418 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1419 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1420 - , WRITE__CMD, 0x70080010, 0x1b7013051b701305 // 1421 + , WRITE__CMD, 0x70080010, 0x0000006f0000006f // 1421 , WRITE__CMD, 0x70080008, 0x000000000000001b // 1422 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1423 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1424 - , WRITE__CMD, 0x70080010, 0x02725e9a02725e9a // 1425 + , WRITE__CMD, 0x70080010, 0x0000007300000073 // 1425 , WRITE__CMD, 0x70080008, 0x000000000000001c // 1426 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1427 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1428 - , WRITE__CMD, 0x70080010, 0x3c388d843c388d84 // 1429 + , WRITE__CMD, 0x70080010, 0x0000007700000077 // 1429 , WRITE__CMD, 0x70080008, 0x000000000000001d // 1430 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1431 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1432 - , WRITE__CMD, 0x70080010, 0x0c5e5b660c5e5b66 // 1433 + , WRITE__CMD, 0x70080010, 0x0000007b0000007b // 1433 , WRITE__CMD, 0x70080008, 0x000000000000001e // 1434 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1435 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1436 - , WRITE__CMD, 0x70080010, 0x14aabda614aabda6 // 1437 + , WRITE__CMD, 0x70080010, 0x0000007f0000007f // 1437 , WRITE__CMD, 0x70080008, 0x000000000000001f // 1438 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1439 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1440 @@ -1470,194 +1470,194 @@ uint64_t iir_playback[] = { , WRITE__CMD, 0x70080018, 0x0000000000000000 // 1444 , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1445 , WRITE__CMD, 0x70080018, 0x0000000000000001 // 1446 - , RDnCMP_CMD, 0x70080020, 0x00000000009a1863 // 1447 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1447 , WRITE__CMD, 0x70080018, 0x0000000000000002 // 1448 - , RDnCMP_CMD, 0x70080020, 0x0000000003d0e34c // 1449 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1449 , WRITE__CMD, 0x70080018, 0x0000000000000003 // 1450 - , RDnCMP_CMD, 0x70080020, 0x000000000c52483f // 1451 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1451 , WRITE__CMD, 0x70080018, 0x0000000000000004 // 1452 - , RDnCMP_CMD, 0x70080020, 0x0000000018850068 // 1453 + , RDnCMP_CMD, 0x70080020, 0x0000000000000002 // 1453 , WRITE__CMD, 0x70080018, 0x0000000000000005 // 1454 - , RDnCMP_CMD, 0x70080020, 0x000000001ebe74e1 // 1455 + , RDnCMP_CMD, 0x70080020, 0x0000000000000008 // 1455 , WRITE__CMD, 0x70080018, 0x0000000000000006 // 1456 - , RDnCMP_CMD, 0x70080020, 0x0000000015d32209 // 1457 + , RDnCMP_CMD, 0x70080020, 0x000000000000000d // 1457 , WRITE__CMD, 0x70080018, 0x0000000000000007 // 1458 - , RDnCMP_CMD, 0x70080020, 0x0000000005902dc1 // 1459 + , RDnCMP_CMD, 0x70080020, 0x000000000000000f // 1459 , WRITE__CMD, 0x70080018, 0x0000000000000008 // 1460 - , RDnCMP_CMD, 0x70080020, 0x0000000004c8e31e // 1461 + , RDnCMP_CMD, 0x70080020, 0x0000000000000012 // 1461 , WRITE__CMD, 0x70080018, 0x0000000000000009 // 1462 - , RDnCMP_CMD, 0x70080020, 0x000000001aabd03c // 1463 + , RDnCMP_CMD, 0x70080020, 0x0000000000000017 // 1463 , WRITE__CMD, 0x70080018, 0x000000000000000a // 1464 - , RDnCMP_CMD, 0x70080020, 0x000000002f22ec9c // 1465 + , RDnCMP_CMD, 0x70080020, 0x000000000000001b // 1465 , WRITE__CMD, 0x70080018, 0x000000000000000b // 1466 - , RDnCMP_CMD, 0x70080020, 0x000000002a4fc36c // 1467 + , RDnCMP_CMD, 0x70080020, 0x0000000000000020 // 1467 , WRITE__CMD, 0x70080018, 0x000000000000000c // 1468 - , RDnCMP_CMD, 0x70080020, 0x0000000016b489f6 // 1469 + , RDnCMP_CMD, 0x70080020, 0x0000000000000024 // 1469 , WRITE__CMD, 0x70080018, 0x000000000000000d // 1470 - , RDnCMP_CMD, 0x70080020, 0x000000000ef2dadf // 1471 + , RDnCMP_CMD, 0x70080020, 0x0000000000000025 // 1471 , WRITE__CMD, 0x70080018, 0x000000000000000e // 1472 - , RDnCMP_CMD, 0x70080020, 0x0000000016cbac48 // 1473 + , RDnCMP_CMD, 0x70080020, 0x0000000000000028 // 1473 , WRITE__CMD, 0x70080018, 0x000000000000000f // 1474 - , RDnCMP_CMD, 0x70080020, 0x000000001f5af477 // 1475 + , RDnCMP_CMD, 0x70080020, 0x0000000000000030 // 1475 , WRITE__CMD, 0x70080018, 0x0000000000000010 // 1476 - , RDnCMP_CMD, 0x70080020, 0x00000000227c2e15 // 1477 + , RDnCMP_CMD, 0x70080020, 0x0000000000000035 // 1477 , WRITE__CMD, 0x70080018, 0x0000000000000011 // 1478 - , RDnCMP_CMD, 0x70080020, 0x0000000020adddf1 // 1479 + , RDnCMP_CMD, 0x70080020, 0x0000000000000038 // 1479 , WRITE__CMD, 0x70080018, 0x0000000000000012 // 1480 - , RDnCMP_CMD, 0x70080020, 0x000000001890031a // 1481 + , RDnCMP_CMD, 0x70080020, 0x0000000000000039 // 1481 , WRITE__CMD, 0x70080018, 0x0000000000000013 // 1482 - , RDnCMP_CMD, 0x70080020, 0x0000000010930a26 // 1483 + , RDnCMP_CMD, 0x70080020, 0x000000000000003d // 1483 , WRITE__CMD, 0x70080018, 0x0000000000000014 // 1484 - , RDnCMP_CMD, 0x70080020, 0x000000001450aa8e // 1485 + , RDnCMP_CMD, 0x70080020, 0x0000000000000044 // 1485 , WRITE__CMD, 0x70080018, 0x0000000000000015 // 1486 - , RDnCMP_CMD, 0x70080020, 0x000000001f4bbe63 // 1487 + , RDnCMP_CMD, 0x70080020, 0x0000000000000046 // 1487 , WRITE__CMD, 0x70080018, 0x0000000000000016 // 1488 - , RDnCMP_CMD, 0x70080020, 0x00000000212f8090 // 1489 + , RDnCMP_CMD, 0x70080020, 0x0000000000000047 // 1489 , WRITE__CMD, 0x70080018, 0x0000000000000017 // 1490 - , RDnCMP_CMD, 0x70080020, 0x000000001aa092f6 // 1491 + , RDnCMP_CMD, 0x70080020, 0x000000000000004f // 1491 , WRITE__CMD, 0x70080018, 0x0000000000000018 // 1492 - , RDnCMP_CMD, 0x70080020, 0x000000001d15ab48 // 1493 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 1493 , WRITE__CMD, 0x70080018, 0x0000000000000019 // 1494 - , RDnCMP_CMD, 0x70080020, 0x0000000029d47233 // 1495 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 1495 , WRITE__CMD, 0x70080018, 0x000000000000001a // 1496 - , RDnCMP_CMD, 0x70080020, 0x000000002c484318 // 1497 + , RDnCMP_CMD, 0x70080020, 0x0000000000000058 // 1497 , WRITE__CMD, 0x70080018, 0x000000000000001b // 1498 - , RDnCMP_CMD, 0x70080020, 0x0000000021751980 // 1499 + , RDnCMP_CMD, 0x70080020, 0x000000000000005f // 1499 , WRITE__CMD, 0x70080018, 0x000000000000001c // 1500 - , RDnCMP_CMD, 0x70080020, 0x000000002339ca55 // 1501 + , RDnCMP_CMD, 0x70080020, 0x0000000000000065 // 1501 , WRITE__CMD, 0x70080018, 0x000000000000001d // 1502 - , RDnCMP_CMD, 0x70080020, 0x00000000381a3f72 // 1503 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 1503 , WRITE__CMD, 0x70080018, 0x000000000000001e // 1504 - , RDnCMP_CMD, 0x70080020, 0x000000003d9f4ec3 // 1505 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 1505 , WRITE__CMD, 0x70080018, 0x000000000000001f // 1506 - , RDnCMP_CMD, 0x70080020, 0x00000000217e1ec5 // 1507 + , RDnCMP_CMD, 0x70080020, 0x000000000000006d // 1507 , WRITE__CMD, 0x70080028, 0x0000000000000001 // 1508 , WRITE__CMD, 0x70080028, 0x0000000000000000 // 1509 - , WRITE__CMD, 0x70080010, 0x0f7a172f0f7a172f // 1510 + , WRITE__CMD, 0x70080010, 0x0000000300000003 // 1510 , WRITE__CMD, 0x70080008, 0x0000000000000000 // 1511 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1512 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1513 - , WRITE__CMD, 0x70080010, 0x2f6904592f690459 // 1514 + , WRITE__CMD, 0x70080010, 0x0000000700000007 // 1514 , WRITE__CMD, 0x70080008, 0x0000000000000001 // 1515 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1516 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1517 - , WRITE__CMD, 0x70080010, 0x3c07355a3c07355a // 1518 + , WRITE__CMD, 0x70080010, 0x0000000b0000000b // 1518 , WRITE__CMD, 0x70080008, 0x0000000000000002 // 1519 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1520 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1521 - , WRITE__CMD, 0x70080010, 0x345e7147345e7147 // 1522 + , WRITE__CMD, 0x70080010, 0x0000000f0000000f // 1522 , WRITE__CMD, 0x70080008, 0x0000000000000003 // 1523 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1524 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1525 - , WRITE__CMD, 0x70080010, 0x3d1857723d185772 // 1526 + , WRITE__CMD, 0x70080010, 0x0000001300000013 // 1526 , WRITE__CMD, 0x70080008, 0x0000000000000004 // 1527 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1528 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1529 - , WRITE__CMD, 0x70080010, 0x21f3db8a21f3db8a // 1530 + , WRITE__CMD, 0x70080010, 0x0000001700000017 // 1530 , WRITE__CMD, 0x70080008, 0x0000000000000005 // 1531 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1532 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1533 - , WRITE__CMD, 0x70080010, 0x2d91e74d2d91e74d // 1534 + , WRITE__CMD, 0x70080010, 0x0000001b0000001b // 1534 , WRITE__CMD, 0x70080008, 0x0000000000000006 // 1535 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1536 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1537 - , WRITE__CMD, 0x70080010, 0x3b7acc203b7acc20 // 1538 + , WRITE__CMD, 0x70080010, 0x0000001f0000001f // 1538 , WRITE__CMD, 0x70080008, 0x0000000000000007 // 1539 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1540 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1541 - , WRITE__CMD, 0x70080010, 0x0899f7b30899f7b3 // 1542 + , WRITE__CMD, 0x70080010, 0x0000002300000023 // 1542 , WRITE__CMD, 0x70080008, 0x0000000000000008 // 1543 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1544 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1545 - , WRITE__CMD, 0x70080010, 0x0100c2340100c234 // 1546 + , WRITE__CMD, 0x70080010, 0x0000002700000027 // 1546 , WRITE__CMD, 0x70080008, 0x0000000000000009 // 1547 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1548 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1549 - , WRITE__CMD, 0x70080010, 0x3f1f9eda3f1f9eda // 1550 + , WRITE__CMD, 0x70080010, 0x0000002b0000002b // 1550 , WRITE__CMD, 0x70080008, 0x000000000000000a // 1551 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1552 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1553 - , WRITE__CMD, 0x70080010, 0x1c63744f1c63744f // 1554 + , WRITE__CMD, 0x70080010, 0x0000002f0000002f // 1554 , WRITE__CMD, 0x70080008, 0x000000000000000b // 1555 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1556 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1557 - , WRITE__CMD, 0x70080010, 0x060733d6060733d6 // 1558 + , WRITE__CMD, 0x70080010, 0x0000003300000033 // 1558 , WRITE__CMD, 0x70080008, 0x000000000000000c // 1559 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1560 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1561 - , WRITE__CMD, 0x70080010, 0x0923411709234117 // 1562 + , WRITE__CMD, 0x70080010, 0x0000003700000037 // 1562 , WRITE__CMD, 0x70080008, 0x000000000000000d // 1563 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1564 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1565 - , WRITE__CMD, 0x70080010, 0x1f87187b1f87187b // 1566 + , WRITE__CMD, 0x70080010, 0x0000003b0000003b // 1566 , WRITE__CMD, 0x70080008, 0x000000000000000e // 1567 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1568 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1569 - , WRITE__CMD, 0x70080010, 0x3377081a3377081a // 1570 + , WRITE__CMD, 0x70080010, 0x0000003f0000003f // 1570 , WRITE__CMD, 0x70080008, 0x000000000000000f // 1571 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1572 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1573 - , WRITE__CMD, 0x70080010, 0x0a742f5a0a742f5a // 1574 + , WRITE__CMD, 0x70080010, 0x0000004300000043 // 1574 , WRITE__CMD, 0x70080008, 0x0000000000000010 // 1575 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1576 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1577 - , WRITE__CMD, 0x70080010, 0x0aac8f300aac8f30 // 1578 + , WRITE__CMD, 0x70080010, 0x0000004700000047 // 1578 , WRITE__CMD, 0x70080008, 0x0000000000000011 // 1579 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1580 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1581 - , WRITE__CMD, 0x70080010, 0x1088ac1d1088ac1d // 1582 + , WRITE__CMD, 0x70080010, 0x0000004b0000004b // 1582 , WRITE__CMD, 0x70080008, 0x0000000000000012 // 1583 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1584 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1585 - , WRITE__CMD, 0x70080010, 0x3bb798a23bb798a2 // 1586 + , WRITE__CMD, 0x70080010, 0x0000004f0000004f // 1586 , WRITE__CMD, 0x70080008, 0x0000000000000013 // 1587 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1588 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1589 - , WRITE__CMD, 0x70080010, 0x109cb052109cb052 // 1590 + , WRITE__CMD, 0x70080010, 0x0000005300000053 // 1590 , WRITE__CMD, 0x70080008, 0x0000000000000014 // 1591 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1592 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1593 - , WRITE__CMD, 0x70080010, 0x39f7583239f75832 // 1594 + , WRITE__CMD, 0x70080010, 0x0000005700000057 // 1594 , WRITE__CMD, 0x70080008, 0x0000000000000015 // 1595 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1596 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1597 - , WRITE__CMD, 0x70080010, 0x26e08abe26e08abe // 1598 + , WRITE__CMD, 0x70080010, 0x0000005b0000005b // 1598 , WRITE__CMD, 0x70080008, 0x0000000000000016 // 1599 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1600 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1601 - , WRITE__CMD, 0x70080010, 0x3e3f889b3e3f889b // 1602 + , WRITE__CMD, 0x70080010, 0x0000005f0000005f // 1602 , WRITE__CMD, 0x70080008, 0x0000000000000017 // 1603 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1604 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1605 - , WRITE__CMD, 0x70080010, 0x0ebad3440ebad344 // 1606 + , WRITE__CMD, 0x70080010, 0x0000006300000063 // 1606 , WRITE__CMD, 0x70080008, 0x0000000000000018 // 1607 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1608 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1609 - , WRITE__CMD, 0x70080010, 0x0e6a6b730e6a6b73 // 1610 + , WRITE__CMD, 0x70080010, 0x0000006700000067 // 1610 , WRITE__CMD, 0x70080008, 0x0000000000000019 // 1611 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1612 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1613 - , WRITE__CMD, 0x70080010, 0x153fff05153fff05 // 1614 + , WRITE__CMD, 0x70080010, 0x0000006b0000006b // 1614 , WRITE__CMD, 0x70080008, 0x000000000000001a // 1615 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1616 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1617 - , WRITE__CMD, 0x70080010, 0x3eea1bb43eea1bb4 // 1618 + , WRITE__CMD, 0x70080010, 0x0000006f0000006f // 1618 , WRITE__CMD, 0x70080008, 0x000000000000001b // 1619 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1620 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1621 - , WRITE__CMD, 0x70080010, 0x31fd925631fd9256 // 1622 + , WRITE__CMD, 0x70080010, 0x0000007300000073 // 1622 , WRITE__CMD, 0x70080008, 0x000000000000001c // 1623 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1624 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1625 - , WRITE__CMD, 0x70080010, 0x04f8c99204f8c992 // 1626 + , WRITE__CMD, 0x70080010, 0x0000007700000077 // 1626 , WRITE__CMD, 0x70080008, 0x000000000000001d // 1627 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1628 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1629 - , WRITE__CMD, 0x70080010, 0x1bd9ddd41bd9ddd4 // 1630 + , WRITE__CMD, 0x70080010, 0x0000007b0000007b // 1630 , WRITE__CMD, 0x70080008, 0x000000000000001e // 1631 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1632 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1633 - , WRITE__CMD, 0x70080010, 0x2e71d62e2e71d62e // 1634 + , WRITE__CMD, 0x70080010, 0x0000007f0000007f // 1634 , WRITE__CMD, 0x70080008, 0x000000000000001f // 1635 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1636 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1637 @@ -1667,194 +1667,194 @@ uint64_t iir_playback[] = { , WRITE__CMD, 0x70080018, 0x0000000000000000 // 1641 , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1642 , WRITE__CMD, 0x70080018, 0x0000000000000001 // 1643 - , RDnCMP_CMD, 0x70080020, 0x00000000003de85c // 1644 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1644 , WRITE__CMD, 0x70080018, 0x0000000000000002 // 1645 - , RDnCMP_CMD, 0x70080020, 0x000000000212220f // 1646 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1646 , WRITE__CMD, 0x70080018, 0x0000000000000003 // 1647 - , RDnCMP_CMD, 0x70080020, 0x0000000008c42844 // 1648 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1648 , WRITE__CMD, 0x70080018, 0x0000000000000004 // 1649 - , RDnCMP_CMD, 0x70080020, 0x0000000017bc1386 // 1650 + , RDnCMP_CMD, 0x70080020, 0x0000000000000002 // 1650 , WRITE__CMD, 0x70080018, 0x0000000000000005 // 1651 - , RDnCMP_CMD, 0x70080020, 0x000000002d055df1 // 1652 + , RDnCMP_CMD, 0x70080020, 0x0000000000000008 // 1652 , WRITE__CMD, 0x70080018, 0x0000000000000006 // 1653 - , RDnCMP_CMD, 0x70080020, 0x000000003e01e043 // 1654 + , RDnCMP_CMD, 0x70080020, 0x000000000000000d // 1654 , WRITE__CMD, 0x70080018, 0x0000000000000007 // 1655 - , RDnCMP_CMD, 0x70080020, 0x000000003f6ca553 // 1656 + , RDnCMP_CMD, 0x70080020, 0x000000000000000f // 1656 , WRITE__CMD, 0x70080018, 0x0000000000000008 // 1657 - , RDnCMP_CMD, 0x70080020, 0x000000003310ae90 // 1658 + , RDnCMP_CMD, 0x70080020, 0x0000000000000012 // 1658 , WRITE__CMD, 0x70080018, 0x0000000000000009 // 1659 - , RDnCMP_CMD, 0x70080020, 0x0000000027a0ed0f // 1660 + , RDnCMP_CMD, 0x70080020, 0x0000000000000017 // 1660 , WRITE__CMD, 0x70080018, 0x000000000000000a // 1661 - , RDnCMP_CMD, 0x70080020, 0x000000002604e63f // 1662 + , RDnCMP_CMD, 0x70080020, 0x000000000000001b // 1662 , WRITE__CMD, 0x70080018, 0x000000000000000b // 1663 - , RDnCMP_CMD, 0x70080020, 0x0000000025fefb41 // 1664 + , RDnCMP_CMD, 0x70080020, 0x0000000000000020 // 1664 , WRITE__CMD, 0x70080018, 0x000000000000000c // 1665 - , RDnCMP_CMD, 0x70080020, 0x000000001d0162b2 // 1666 + , RDnCMP_CMD, 0x70080020, 0x0000000000000024 // 1666 , WRITE__CMD, 0x70080018, 0x000000000000000d // 1667 - , RDnCMP_CMD, 0x70080020, 0x0000000011d52a93 // 1668 + , RDnCMP_CMD, 0x70080020, 0x0000000000000025 // 1668 , WRITE__CMD, 0x70080018, 0x000000000000000e // 1669 - , RDnCMP_CMD, 0x70080020, 0x000000001432953f // 1670 + , RDnCMP_CMD, 0x70080020, 0x0000000000000028 // 1670 , WRITE__CMD, 0x70080018, 0x000000000000000f // 1671 - , RDnCMP_CMD, 0x70080020, 0x000000002045cd90 // 1672 + , RDnCMP_CMD, 0x70080020, 0x0000000000000030 // 1672 , WRITE__CMD, 0x70080018, 0x0000000000000010 // 1673 - , RDnCMP_CMD, 0x70080020, 0x000000001ece2feb // 1674 + , RDnCMP_CMD, 0x70080020, 0x0000000000000035 // 1674 , WRITE__CMD, 0x70080018, 0x0000000000000011 // 1675 - , RDnCMP_CMD, 0x70080020, 0x000000000dc822d6 // 1676 + , RDnCMP_CMD, 0x70080020, 0x0000000000000038 // 1676 , WRITE__CMD, 0x70080018, 0x0000000000000012 // 1677 - , RDnCMP_CMD, 0x70080020, 0x000000000b566bf7 // 1678 + , RDnCMP_CMD, 0x70080020, 0x0000000000000039 // 1678 , WRITE__CMD, 0x70080018, 0x0000000000000013 // 1679 - , RDnCMP_CMD, 0x70080020, 0x0000000020602c56 // 1680 + , RDnCMP_CMD, 0x70080020, 0x000000000000003d // 1680 , WRITE__CMD, 0x70080018, 0x0000000000000014 // 1681 - , RDnCMP_CMD, 0x70080020, 0x000000002983591f // 1682 + , RDnCMP_CMD, 0x70080020, 0x0000000000000044 // 1682 , WRITE__CMD, 0x70080018, 0x0000000000000015 // 1683 - , RDnCMP_CMD, 0x70080020, 0x00000000142caaba // 1684 + , RDnCMP_CMD, 0x70080020, 0x0000000000000046 // 1684 , WRITE__CMD, 0x70080018, 0x0000000000000016 // 1685 - , RDnCMP_CMD, 0x70080020, 0x00000000061adb9d // 1686 + , RDnCMP_CMD, 0x70080020, 0x0000000000000047 // 1686 , WRITE__CMD, 0x70080018, 0x0000000000000017 // 1687 - , RDnCMP_CMD, 0x70080020, 0x000000001db36042 // 1688 + , RDnCMP_CMD, 0x70080020, 0x000000000000004f // 1688 , WRITE__CMD, 0x70080018, 0x0000000000000018 // 1689 - , RDnCMP_CMD, 0x70080020, 0x000000003b1724b0 // 1690 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 1690 , WRITE__CMD, 0x70080018, 0x0000000000000019 // 1691 - , RDnCMP_CMD, 0x70080020, 0x0000000036daeb7f // 1692 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 1692 , WRITE__CMD, 0x70080018, 0x000000000000001a // 1693 - , RDnCMP_CMD, 0x70080020, 0x0000000022b8c44c // 1694 + , RDnCMP_CMD, 0x70080020, 0x0000000000000058 // 1694 , WRITE__CMD, 0x70080018, 0x000000000000001b // 1695 - , RDnCMP_CMD, 0x70080020, 0x00000000208b09b9 // 1696 + , RDnCMP_CMD, 0x70080020, 0x000000000000005f // 1696 , WRITE__CMD, 0x70080018, 0x000000000000001c // 1697 - , RDnCMP_CMD, 0x70080020, 0x0000000024d62860 // 1698 + , RDnCMP_CMD, 0x70080020, 0x0000000000000065 // 1698 , WRITE__CMD, 0x70080018, 0x000000000000001d // 1699 - , RDnCMP_CMD, 0x70080020, 0x00000000190e964b // 1700 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 1700 , WRITE__CMD, 0x70080018, 0x000000000000001e // 1701 - , RDnCMP_CMD, 0x70080020, 0x0000000010a73cea // 1702 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 1702 , WRITE__CMD, 0x70080018, 0x000000000000001f // 1703 - , RDnCMP_CMD, 0x70080020, 0x0000000023f06bb4 // 1704 + , RDnCMP_CMD, 0x70080020, 0x000000000000006d // 1704 , WRITE__CMD, 0x70080028, 0x0000000000000001 // 1705 , WRITE__CMD, 0x70080028, 0x0000000000000000 // 1706 - , WRITE__CMD, 0x70080010, 0x14c4078a14c4078a // 1707 + , WRITE__CMD, 0x70080010, 0x0000000300000003 // 1707 , WRITE__CMD, 0x70080008, 0x0000000000000000 // 1708 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1709 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1710 - , WRITE__CMD, 0x70080010, 0x3038c4b13038c4b1 // 1711 + , WRITE__CMD, 0x70080010, 0x0000000700000007 // 1711 , WRITE__CMD, 0x70080008, 0x0000000000000001 // 1712 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1713 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1714 - , WRITE__CMD, 0x70080010, 0x015447b4015447b4 // 1715 + , WRITE__CMD, 0x70080010, 0x0000000b0000000b // 1715 , WRITE__CMD, 0x70080008, 0x0000000000000002 // 1716 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1717 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1718 - , WRITE__CMD, 0x70080010, 0x03e5d15d03e5d15d // 1719 + , WRITE__CMD, 0x70080010, 0x0000000f0000000f // 1719 , WRITE__CMD, 0x70080008, 0x0000000000000003 // 1720 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1721 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1722 - , WRITE__CMD, 0x70080010, 0x1446860d1446860d // 1723 + , WRITE__CMD, 0x70080010, 0x0000001300000013 // 1723 , WRITE__CMD, 0x70080008, 0x0000000000000004 // 1724 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1725 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1726 - , WRITE__CMD, 0x70080010, 0x3ef9da453ef9da45 // 1727 + , WRITE__CMD, 0x70080010, 0x0000001700000017 // 1727 , WRITE__CMD, 0x70080008, 0x0000000000000005 // 1728 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1729 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1730 - , WRITE__CMD, 0x70080010, 0x0afc523c0afc523c // 1731 + , WRITE__CMD, 0x70080010, 0x0000001b0000001b // 1731 , WRITE__CMD, 0x70080008, 0x0000000000000006 // 1732 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1733 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1734 - , WRITE__CMD, 0x70080010, 0x1073d8ae1073d8ae // 1735 + , WRITE__CMD, 0x70080010, 0x0000001f0000001f // 1735 , WRITE__CMD, 0x70080008, 0x0000000000000007 // 1736 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1737 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1738 - , WRITE__CMD, 0x70080010, 0x24f0c03224f0c032 // 1739 + , WRITE__CMD, 0x70080010, 0x0000002300000023 // 1739 , WRITE__CMD, 0x70080008, 0x0000000000000008 // 1740 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1741 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1742 - , WRITE__CMD, 0x70080010, 0x10b7d09d10b7d09d // 1743 + , WRITE__CMD, 0x70080010, 0x0000002700000027 // 1743 , WRITE__CMD, 0x70080008, 0x0000000000000009 // 1744 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1745 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1746 - , WRITE__CMD, 0x70080010, 0x34f5805f34f5805f // 1747 + , WRITE__CMD, 0x70080010, 0x0000002b0000002b // 1747 , WRITE__CMD, 0x70080008, 0x000000000000000a // 1748 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1749 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1750 - , WRITE__CMD, 0x70080010, 0x007ac730007ac730 // 1751 + , WRITE__CMD, 0x70080010, 0x0000002f0000002f // 1751 , WRITE__CMD, 0x70080008, 0x000000000000000b // 1752 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1753 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1754 - , WRITE__CMD, 0x70080010, 0x0feb92680feb9268 // 1755 + , WRITE__CMD, 0x70080010, 0x0000003300000033 // 1755 , WRITE__CMD, 0x70080008, 0x000000000000000c // 1756 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1757 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1758 - , WRITE__CMD, 0x70080010, 0x05275b3705275b37 // 1759 + , WRITE__CMD, 0x70080010, 0x0000003700000037 // 1759 , WRITE__CMD, 0x70080008, 0x000000000000000d // 1760 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1761 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1762 - , WRITE__CMD, 0x70080010, 0x290188c4290188c4 // 1763 + , WRITE__CMD, 0x70080010, 0x0000003b0000003b // 1763 , WRITE__CMD, 0x70080008, 0x000000000000000e // 1764 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1765 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1766 - , WRITE__CMD, 0x70080010, 0x29516ad829516ad8 // 1767 + , WRITE__CMD, 0x70080010, 0x0000003f0000003f // 1767 , WRITE__CMD, 0x70080008, 0x000000000000000f // 1768 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1769 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1770 - , WRITE__CMD, 0x70080010, 0x3ff472423ff47242 // 1771 + , WRITE__CMD, 0x70080010, 0x0000004300000043 // 1771 , WRITE__CMD, 0x70080008, 0x0000000000000010 // 1772 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1773 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1774 - , WRITE__CMD, 0x70080010, 0x1e743f511e743f51 // 1775 + , WRITE__CMD, 0x70080010, 0x0000004700000047 // 1775 , WRITE__CMD, 0x70080008, 0x0000000000000011 // 1776 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1777 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1778 - , WRITE__CMD, 0x70080010, 0x026c0968026c0968 // 1779 + , WRITE__CMD, 0x70080010, 0x0000004b0000004b // 1779 , WRITE__CMD, 0x70080008, 0x0000000000000012 // 1780 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1781 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1782 - , WRITE__CMD, 0x70080010, 0x123bb4bd123bb4bd // 1783 + , WRITE__CMD, 0x70080010, 0x0000004f0000004f // 1783 , WRITE__CMD, 0x70080008, 0x0000000000000013 // 1784 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1785 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1786 - , WRITE__CMD, 0x70080010, 0x290c5892290c5892 // 1787 + , WRITE__CMD, 0x70080010, 0x0000005300000053 // 1787 , WRITE__CMD, 0x70080008, 0x0000000000000014 // 1788 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1789 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1790 - , WRITE__CMD, 0x70080010, 0x1fe577f11fe577f1 // 1791 + , WRITE__CMD, 0x70080010, 0x0000005700000057 // 1791 , WRITE__CMD, 0x70080008, 0x0000000000000015 // 1792 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1793 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1794 - , WRITE__CMD, 0x70080010, 0x3634c24f3634c24f // 1795 + , WRITE__CMD, 0x70080010, 0x0000005b0000005b // 1795 , WRITE__CMD, 0x70080008, 0x0000000000000016 // 1796 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1797 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1798 - , WRITE__CMD, 0x70080010, 0x2719252f2719252f // 1799 + , WRITE__CMD, 0x70080010, 0x0000005f0000005f // 1799 , WRITE__CMD, 0x70080008, 0x0000000000000017 // 1800 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1801 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1802 - , WRITE__CMD, 0x70080010, 0x2f45d7d52f45d7d5 // 1803 + , WRITE__CMD, 0x70080010, 0x0000006300000063 // 1803 , WRITE__CMD, 0x70080008, 0x0000000000000018 // 1804 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1805 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1806 - , WRITE__CMD, 0x70080010, 0x136d02aa136d02aa // 1807 + , WRITE__CMD, 0x70080010, 0x0000006700000067 // 1807 , WRITE__CMD, 0x70080008, 0x0000000000000019 // 1808 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1809 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1810 - , WRITE__CMD, 0x70080010, 0x08bee22008bee220 // 1811 + , WRITE__CMD, 0x70080010, 0x0000006b0000006b // 1811 , WRITE__CMD, 0x70080008, 0x000000000000001a // 1812 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1813 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1814 - , WRITE__CMD, 0x70080010, 0x31925b1631925b16 // 1815 + , WRITE__CMD, 0x70080010, 0x0000006f0000006f // 1815 , WRITE__CMD, 0x70080008, 0x000000000000001b // 1816 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1817 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1818 - , WRITE__CMD, 0x70080010, 0x0c84de6c0c84de6c // 1819 + , WRITE__CMD, 0x70080010, 0x0000007300000073 // 1819 , WRITE__CMD, 0x70080008, 0x000000000000001c // 1820 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1821 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1822 - , WRITE__CMD, 0x70080010, 0x326c98f0326c98f0 // 1823 + , WRITE__CMD, 0x70080010, 0x0000007700000077 // 1823 , WRITE__CMD, 0x70080008, 0x000000000000001d // 1824 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1825 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1826 - , WRITE__CMD, 0x70080010, 0x0bd3fe4b0bd3fe4b // 1827 + , WRITE__CMD, 0x70080010, 0x0000007b0000007b // 1827 , WRITE__CMD, 0x70080008, 0x000000000000001e // 1828 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1829 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1830 - , WRITE__CMD, 0x70080010, 0x2b01450d2b01450d // 1831 + , WRITE__CMD, 0x70080010, 0x0000007f0000007f // 1831 , WRITE__CMD, 0x70080008, 0x000000000000001f // 1832 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1833 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1834 @@ -1864,194 +1864,194 @@ uint64_t iir_playback[] = { , WRITE__CMD, 0x70080018, 0x0000000000000000 // 1838 , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1839 , WRITE__CMD, 0x70080018, 0x0000000000000001 // 1840 - , RDnCMP_CMD, 0x70080020, 0x000000000053101e // 1841 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1841 , WRITE__CMD, 0x70080018, 0x0000000000000002 // 1842 - , RDnCMP_CMD, 0x70080020, 0x000000000289bbb7 // 1843 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1843 , WRITE__CMD, 0x70080018, 0x0000000000000003 // 1844 - , RDnCMP_CMD, 0x70080020, 0x0000000009339e38 // 1845 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 1845 , WRITE__CMD, 0x70080018, 0x0000000000000004 // 1846 - , RDnCMP_CMD, 0x70080020, 0x000000001444ae81 // 1847 + , RDnCMP_CMD, 0x70080020, 0x0000000000000002 // 1847 , WRITE__CMD, 0x70080018, 0x0000000000000005 // 1848 - , RDnCMP_CMD, 0x70080020, 0x000000001c4d5b59 // 1849 + , RDnCMP_CMD, 0x70080020, 0x0000000000000008 // 1849 , WRITE__CMD, 0x70080018, 0x0000000000000006 // 1850 - , RDnCMP_CMD, 0x70080020, 0x00000000183cad14 // 1851 + , RDnCMP_CMD, 0x70080020, 0x000000000000000d // 1851 , WRITE__CMD, 0x70080018, 0x0000000000000007 // 1852 - , RDnCMP_CMD, 0x70080020, 0x000000000cc6ea95 // 1853 + , RDnCMP_CMD, 0x70080020, 0x000000000000000f // 1853 , WRITE__CMD, 0x70080018, 0x0000000000000008 // 1854 - , RDnCMP_CMD, 0x70080020, 0x000000000d7511c8 // 1855 + , RDnCMP_CMD, 0x70080020, 0x0000000000000012 // 1855 , WRITE__CMD, 0x70080018, 0x0000000000000009 // 1856 - , RDnCMP_CMD, 0x70080020, 0x000000001fe45a72 // 1857 + , RDnCMP_CMD, 0x70080020, 0x0000000000000017 // 1857 , WRITE__CMD, 0x70080018, 0x000000000000000a // 1858 - , RDnCMP_CMD, 0x70080020, 0x000000002b46e198 // 1859 + , RDnCMP_CMD, 0x70080020, 0x000000000000001b // 1859 , WRITE__CMD, 0x70080018, 0x000000000000000b // 1860 - , RDnCMP_CMD, 0x70080020, 0x000000001d0a191a // 1861 + , RDnCMP_CMD, 0x70080020, 0x0000000000000020 // 1861 , WRITE__CMD, 0x70080018, 0x000000000000000c // 1862 - , RDnCMP_CMD, 0x70080020, 0x000000000bcb52c9 // 1863 + , RDnCMP_CMD, 0x70080020, 0x0000000000000024 // 1863 , WRITE__CMD, 0x70080018, 0x000000000000000d // 1864 - , RDnCMP_CMD, 0x70080020, 0x0000000014722a7b // 1865 + , RDnCMP_CMD, 0x70080020, 0x0000000000000025 // 1865 , WRITE__CMD, 0x70080018, 0x000000000000000e // 1866 - , RDnCMP_CMD, 0x70080020, 0x000000002595e961 // 1867 + , RDnCMP_CMD, 0x70080020, 0x0000000000000028 // 1867 , WRITE__CMD, 0x70080018, 0x000000000000000f // 1868 - , RDnCMP_CMD, 0x70080020, 0x000000001ce50acd // 1869 + , RDnCMP_CMD, 0x70080020, 0x0000000000000030 // 1869 , WRITE__CMD, 0x70080018, 0x0000000000000010 // 1870 - , RDnCMP_CMD, 0x70080020, 0x0000000004e2fac0 // 1871 + , RDnCMP_CMD, 0x70080020, 0x0000000000000035 // 1871 , WRITE__CMD, 0x70080018, 0x0000000000000011 // 1872 - , RDnCMP_CMD, 0x70080020, 0x0000000005952c97 // 1873 + , RDnCMP_CMD, 0x70080020, 0x0000000000000038 // 1873 , WRITE__CMD, 0x70080018, 0x0000000000000012 // 1874 - , RDnCMP_CMD, 0x70080020, 0x00000000237b716a // 1875 + , RDnCMP_CMD, 0x70080020, 0x0000000000000039 // 1875 , WRITE__CMD, 0x70080018, 0x0000000000000013 // 1876 - , RDnCMP_CMD, 0x70080020, 0x000000003a3355d9 // 1877 + , RDnCMP_CMD, 0x70080020, 0x000000000000003d // 1877 , WRITE__CMD, 0x70080018, 0x0000000000000014 // 1878 - , RDnCMP_CMD, 0x70080020, 0x00000000333768bd // 1879 + , RDnCMP_CMD, 0x70080020, 0x0000000000000044 // 1879 , WRITE__CMD, 0x70080018, 0x0000000000000015 // 1880 - , RDnCMP_CMD, 0x70080020, 0x000000001c7db4f4 // 1881 + , RDnCMP_CMD, 0x70080020, 0x0000000000000046 // 1881 , WRITE__CMD, 0x70080018, 0x0000000000000016 // 1882 - , RDnCMP_CMD, 0x70080020, 0x000000000cca100c // 1883 + , RDnCMP_CMD, 0x70080020, 0x0000000000000047 // 1883 , WRITE__CMD, 0x70080018, 0x0000000000000017 // 1884 - , RDnCMP_CMD, 0x70080020, 0x000000000d932b81 // 1885 + , RDnCMP_CMD, 0x70080020, 0x000000000000004f // 1885 , WRITE__CMD, 0x70080018, 0x0000000000000018 // 1886 - , RDnCMP_CMD, 0x70080020, 0x000000001d25fe46 // 1887 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 1887 , WRITE__CMD, 0x70080018, 0x0000000000000019 // 1888 - , RDnCMP_CMD, 0x70080020, 0x000000002fe7b244 // 1889 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 1889 , WRITE__CMD, 0x70080018, 0x000000000000001a // 1890 - , RDnCMP_CMD, 0x70080020, 0x000000003541c753 // 1891 + , RDnCMP_CMD, 0x70080020, 0x0000000000000058 // 1891 , WRITE__CMD, 0x70080018, 0x000000000000001b // 1892 - , RDnCMP_CMD, 0x70080020, 0x000000002a773734 // 1893 + , RDnCMP_CMD, 0x70080020, 0x000000000000005f // 1893 , WRITE__CMD, 0x70080018, 0x000000000000001c // 1894 - , RDnCMP_CMD, 0x70080020, 0x000000001dd97ee9 // 1895 + , RDnCMP_CMD, 0x70080020, 0x0000000000000065 // 1895 , WRITE__CMD, 0x70080018, 0x000000000000001d // 1896 - , RDnCMP_CMD, 0x70080020, 0x000000001880b30a // 1897 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 1897 , WRITE__CMD, 0x70080018, 0x000000000000001e // 1898 - , RDnCMP_CMD, 0x70080020, 0x0000000016efa832 // 1899 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 1899 , WRITE__CMD, 0x70080018, 0x000000000000001f // 1900 - , RDnCMP_CMD, 0x70080020, 0x0000000017e2d6c7 // 1901 + , RDnCMP_CMD, 0x70080020, 0x000000000000006d // 1901 , WRITE__CMD, 0x70080028, 0x0000000000000001 // 1902 , WRITE__CMD, 0x70080028, 0x0000000000000000 // 1903 - , WRITE__CMD, 0x70080010, 0x153f2059153f2059 // 1904 + , WRITE__CMD, 0x70080010, 0x0000000300000003 // 1904 , WRITE__CMD, 0x70080008, 0x0000000000000000 // 1905 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1906 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1907 - , WRITE__CMD, 0x70080010, 0x1b33a5071b33a507 // 1908 + , WRITE__CMD, 0x70080010, 0x0000000700000007 // 1908 , WRITE__CMD, 0x70080008, 0x0000000000000001 // 1909 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1910 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1911 - , WRITE__CMD, 0x70080010, 0x0036ff0f0036ff0f // 1912 + , WRITE__CMD, 0x70080010, 0x0000000b0000000b // 1912 , WRITE__CMD, 0x70080008, 0x0000000000000002 // 1913 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1914 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1915 - , WRITE__CMD, 0x70080010, 0x2330b1462330b146 // 1916 + , WRITE__CMD, 0x70080010, 0x0000000f0000000f // 1916 , WRITE__CMD, 0x70080008, 0x0000000000000003 // 1917 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1918 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1919 - , WRITE__CMD, 0x70080010, 0x0b88e34d0b88e34d // 1920 + , WRITE__CMD, 0x70080010, 0x0000001300000013 // 1920 , WRITE__CMD, 0x70080008, 0x0000000000000004 // 1921 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1922 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1923 - , WRITE__CMD, 0x70080010, 0x1986e4251986e425 // 1924 + , WRITE__CMD, 0x70080010, 0x0000001700000017 // 1924 , WRITE__CMD, 0x70080008, 0x0000000000000005 // 1925 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1926 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1927 - , WRITE__CMD, 0x70080010, 0x33051f3133051f31 // 1928 + , WRITE__CMD, 0x70080010, 0x0000001b0000001b // 1928 , WRITE__CMD, 0x70080008, 0x0000000000000006 // 1929 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1930 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1931 - , WRITE__CMD, 0x70080010, 0x23e27c8323e27c83 // 1932 + , WRITE__CMD, 0x70080010, 0x0000001f0000001f // 1932 , WRITE__CMD, 0x70080008, 0x0000000000000007 // 1933 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1934 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1935 - , WRITE__CMD, 0x70080010, 0x000e6e86000e6e86 // 1936 + , WRITE__CMD, 0x70080010, 0x0000002300000023 // 1936 , WRITE__CMD, 0x70080008, 0x0000000000000008 // 1937 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1938 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1939 - , WRITE__CMD, 0x70080010, 0x0251ab330251ab33 // 1940 + , WRITE__CMD, 0x70080010, 0x0000002700000027 // 1940 , WRITE__CMD, 0x70080008, 0x0000000000000009 // 1941 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1942 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1943 - , WRITE__CMD, 0x70080010, 0x266d0b3b266d0b3b // 1944 + , WRITE__CMD, 0x70080010, 0x0000002b0000002b // 1944 , WRITE__CMD, 0x70080008, 0x000000000000000a // 1945 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1946 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1947 - , WRITE__CMD, 0x70080010, 0x2c3a74642c3a7464 // 1948 + , WRITE__CMD, 0x70080010, 0x0000002f0000002f // 1948 , WRITE__CMD, 0x70080008, 0x000000000000000b // 1949 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1950 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1951 - , WRITE__CMD, 0x70080010, 0x032f649f032f649f // 1952 + , WRITE__CMD, 0x70080010, 0x0000003300000033 // 1952 , WRITE__CMD, 0x70080008, 0x000000000000000c // 1953 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1954 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1955 - , WRITE__CMD, 0x70080010, 0x366a192d366a192d // 1956 + , WRITE__CMD, 0x70080010, 0x0000003700000037 // 1956 , WRITE__CMD, 0x70080008, 0x000000000000000d // 1957 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1958 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1959 - , WRITE__CMD, 0x70080010, 0x30ca95bf30ca95bf // 1960 + , WRITE__CMD, 0x70080010, 0x0000003b0000003b // 1960 , WRITE__CMD, 0x70080008, 0x000000000000000e // 1961 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1962 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1963 - , WRITE__CMD, 0x70080010, 0x28280a8528280a85 // 1964 + , WRITE__CMD, 0x70080010, 0x0000003f0000003f // 1964 , WRITE__CMD, 0x70080008, 0x000000000000000f // 1965 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1966 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1967 - , WRITE__CMD, 0x70080010, 0x371aae2e371aae2e // 1968 + , WRITE__CMD, 0x70080010, 0x0000004300000043 // 1968 , WRITE__CMD, 0x70080008, 0x0000000000000010 // 1969 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1970 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1971 - , WRITE__CMD, 0x70080010, 0x00d1b7aa00d1b7aa // 1972 + , WRITE__CMD, 0x70080010, 0x0000004700000047 // 1972 , WRITE__CMD, 0x70080008, 0x0000000000000011 // 1973 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1974 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1975 - , WRITE__CMD, 0x70080010, 0x1903d1be1903d1be // 1976 + , WRITE__CMD, 0x70080010, 0x0000004b0000004b // 1976 , WRITE__CMD, 0x70080008, 0x0000000000000012 // 1977 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1978 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1979 - , WRITE__CMD, 0x70080010, 0x2824445728244457 // 1980 + , WRITE__CMD, 0x70080010, 0x0000004f0000004f // 1980 , WRITE__CMD, 0x70080008, 0x0000000000000013 // 1981 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1982 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1983 - , WRITE__CMD, 0x70080010, 0x2f6969972f696997 // 1984 + , WRITE__CMD, 0x70080010, 0x0000005300000053 // 1984 , WRITE__CMD, 0x70080008, 0x0000000000000014 // 1985 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1986 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1987 - , WRITE__CMD, 0x70080010, 0x066150d5066150d5 // 1988 + , WRITE__CMD, 0x70080010, 0x0000005700000057 // 1988 , WRITE__CMD, 0x70080008, 0x0000000000000015 // 1989 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1990 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1991 - , WRITE__CMD, 0x70080010, 0x28a9d5cd28a9d5cd // 1992 + , WRITE__CMD, 0x70080010, 0x0000005b0000005b // 1992 , WRITE__CMD, 0x70080008, 0x0000000000000016 // 1993 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1994 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1995 - , WRITE__CMD, 0x70080010, 0x10cf7c9e10cf7c9e // 1996 + , WRITE__CMD, 0x70080010, 0x0000005f0000005f // 1996 , WRITE__CMD, 0x70080008, 0x0000000000000017 // 1997 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 1998 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 1999 - , WRITE__CMD, 0x70080010, 0x2456120124561201 // 2000 + , WRITE__CMD, 0x70080010, 0x0000006300000063 // 2000 , WRITE__CMD, 0x70080008, 0x0000000000000018 // 2001 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2002 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2003 - , WRITE__CMD, 0x70080010, 0x2235c1212235c121 // 2004 + , WRITE__CMD, 0x70080010, 0x0000006700000067 // 2004 , WRITE__CMD, 0x70080008, 0x0000000000000019 // 2005 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2006 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2007 - , WRITE__CMD, 0x70080010, 0x36c11ea736c11ea7 // 2008 + , WRITE__CMD, 0x70080010, 0x0000006b0000006b // 2008 , WRITE__CMD, 0x70080008, 0x000000000000001a // 2009 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2010 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2011 - , WRITE__CMD, 0x70080010, 0x0945f08d0945f08d // 2012 + , WRITE__CMD, 0x70080010, 0x0000006f0000006f // 2012 , WRITE__CMD, 0x70080008, 0x000000000000001b // 2013 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2014 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2015 - , WRITE__CMD, 0x70080010, 0x2b98e2cf2b98e2cf // 2016 + , WRITE__CMD, 0x70080010, 0x0000007300000073 // 2016 , WRITE__CMD, 0x70080008, 0x000000000000001c // 2017 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2018 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2019 - , WRITE__CMD, 0x70080010, 0x01d3ee0601d3ee06 // 2020 + , WRITE__CMD, 0x70080010, 0x0000007700000077 // 2020 , WRITE__CMD, 0x70080008, 0x000000000000001d // 2021 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2022 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2023 - , WRITE__CMD, 0x70080010, 0x090807b7090807b7 // 2024 + , WRITE__CMD, 0x70080010, 0x0000007b0000007b // 2024 , WRITE__CMD, 0x70080008, 0x000000000000001e // 2025 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2026 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2027 - , WRITE__CMD, 0x70080010, 0x11fdd44211fdd442 // 2028 + , WRITE__CMD, 0x70080010, 0x0000007f0000007f // 2028 , WRITE__CMD, 0x70080008, 0x000000000000001f // 2029 , WRITE__CMD, 0x70080000, 0x0000000000000002 // 2030 , WRITE__CMD, 0x70080000, 0x0000000000000000 // 2031 @@ -2061,67 +2061,67 @@ uint64_t iir_playback[] = { , WRITE__CMD, 0x70080018, 0x0000000000000000 // 2035 , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 2036 , WRITE__CMD, 0x70080018, 0x0000000000000001 // 2037 - , RDnCMP_CMD, 0x70080020, 0x000000000054fc81 // 2038 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 2038 , WRITE__CMD, 0x70080018, 0x0000000000000002 // 2039 - , RDnCMP_CMD, 0x70080020, 0x0000000002403b5b // 2040 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 2040 , WRITE__CMD, 0x70080018, 0x0000000000000003 // 2041 - , RDnCMP_CMD, 0x70080020, 0x00000000077e93ea // 2042 + , RDnCMP_CMD, 0x70080020, 0x0000000000000000 // 2042 , WRITE__CMD, 0x70080018, 0x0000000000000004 // 2043 - , RDnCMP_CMD, 0x70080020, 0x000000000fc1e60f // 2044 + , RDnCMP_CMD, 0x70080020, 0x0000000000000002 // 2044 , WRITE__CMD, 0x70080018, 0x0000000000000005 // 2045 - , RDnCMP_CMD, 0x70080020, 0x000000001644245e // 2046 + , RDnCMP_CMD, 0x70080020, 0x0000000000000008 // 2046 , WRITE__CMD, 0x70080018, 0x0000000000000006 // 2047 - , RDnCMP_CMD, 0x70080020, 0x0000000016286fbb // 2048 + , RDnCMP_CMD, 0x70080020, 0x000000000000000d // 2048 , WRITE__CMD, 0x70080018, 0x0000000000000007 // 2049 - , RDnCMP_CMD, 0x70080020, 0x000000001255418e // 2050 + , RDnCMP_CMD, 0x70080020, 0x000000000000000f // 2050 , WRITE__CMD, 0x70080018, 0x0000000000000008 // 2051 - , RDnCMP_CMD, 0x70080020, 0x000000001458c886 // 2052 + , RDnCMP_CMD, 0x70080020, 0x0000000000000012 // 2052 , WRITE__CMD, 0x70080018, 0x0000000000000009 // 2053 - , RDnCMP_CMD, 0x70080020, 0x000000001ea5832b // 2054 + , RDnCMP_CMD, 0x70080020, 0x0000000000000017 // 2054 , WRITE__CMD, 0x70080018, 0x000000000000000a // 2055 - , RDnCMP_CMD, 0x70080020, 0x000000002639f6c8 // 2056 + , RDnCMP_CMD, 0x70080020, 0x000000000000001b // 2056 , WRITE__CMD, 0x70080018, 0x000000000000000b // 2057 - , RDnCMP_CMD, 0x70080020, 0x000000001fff04fa // 2058 + , RDnCMP_CMD, 0x70080020, 0x0000000000000020 // 2058 , WRITE__CMD, 0x70080018, 0x000000000000000c // 2059 - , RDnCMP_CMD, 0x70080020, 0x000000000f91468e // 2060 + , RDnCMP_CMD, 0x70080020, 0x0000000000000024 // 2060 , WRITE__CMD, 0x70080018, 0x000000000000000d // 2061 - , RDnCMP_CMD, 0x70080020, 0x00000000066477c5 // 2062 + , RDnCMP_CMD, 0x70080020, 0x0000000000000025 // 2062 , WRITE__CMD, 0x70080018, 0x000000000000000e // 2063 - , RDnCMP_CMD, 0x70080020, 0x00000000119dd903 // 2064 + , RDnCMP_CMD, 0x70080020, 0x0000000000000028 // 2064 , WRITE__CMD, 0x70080018, 0x000000000000000f // 2065 - , RDnCMP_CMD, 0x70080020, 0x0000000026bd92f3 // 2066 + , RDnCMP_CMD, 0x70080020, 0x0000000000000030 // 2066 , WRITE__CMD, 0x70080018, 0x0000000000000010 // 2067 - , RDnCMP_CMD, 0x70080020, 0x000000002ded89af // 2068 + , RDnCMP_CMD, 0x70080020, 0x0000000000000035 // 2068 , WRITE__CMD, 0x70080018, 0x0000000000000011 // 2069 - , RDnCMP_CMD, 0x70080020, 0x00000000253d122c // 2070 + , RDnCMP_CMD, 0x70080020, 0x0000000000000038 // 2070 , WRITE__CMD, 0x70080018, 0x0000000000000012 // 2071 - , RDnCMP_CMD, 0x70080020, 0x0000000023d5e37c // 2072 + , RDnCMP_CMD, 0x70080020, 0x0000000000000039 // 2072 , WRITE__CMD, 0x70080018, 0x0000000000000013 // 2073 - , RDnCMP_CMD, 0x70080020, 0x000000002f16d1d2 // 2074 + , RDnCMP_CMD, 0x70080020, 0x000000000000003d // 2074 , WRITE__CMD, 0x70080018, 0x0000000000000014 // 2075 - , RDnCMP_CMD, 0x70080020, 0x000000002d6fb364 // 2076 + , RDnCMP_CMD, 0x70080020, 0x0000000000000044 // 2076 , WRITE__CMD, 0x70080018, 0x0000000000000015 // 2077 - , RDnCMP_CMD, 0x70080020, 0x000000001738e277 // 2078 + , RDnCMP_CMD, 0x70080020, 0x0000000000000046 // 2078 , WRITE__CMD, 0x70080018, 0x0000000000000016 // 2079 - , RDnCMP_CMD, 0x70080020, 0x000000000ad8251f // 2080 + , RDnCMP_CMD, 0x70080020, 0x0000000000000047 // 2080 , WRITE__CMD, 0x70080018, 0x0000000000000017 // 2081 - , RDnCMP_CMD, 0x70080020, 0x000000001b306a35 // 2082 + , RDnCMP_CMD, 0x70080020, 0x000000000000004f // 2082 , WRITE__CMD, 0x70080018, 0x0000000000000018 // 2083 - , RDnCMP_CMD, 0x70080020, 0x000000002deadaa9 // 2084 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 2084 , WRITE__CMD, 0x70080018, 0x0000000000000019 // 2085 - , RDnCMP_CMD, 0x70080020, 0x0000000025d5c144 // 2086 + , RDnCMP_CMD, 0x70080020, 0x0000000000000055 // 2086 , WRITE__CMD, 0x70080018, 0x000000000000001a // 2087 - , RDnCMP_CMD, 0x70080020, 0x00000000116b01cf // 2088 + , RDnCMP_CMD, 0x70080020, 0x0000000000000058 // 2088 , WRITE__CMD, 0x70080018, 0x000000000000001b // 2089 - , RDnCMP_CMD, 0x70080020, 0x000000001157856b // 2090 + , RDnCMP_CMD, 0x70080020, 0x000000000000005f // 2090 , WRITE__CMD, 0x70080018, 0x000000000000001c // 2091 - , RDnCMP_CMD, 0x70080020, 0x000000002468fa42 // 2092 + , RDnCMP_CMD, 0x70080020, 0x0000000000000065 // 2092 , WRITE__CMD, 0x70080018, 0x000000000000001d // 2093 - , RDnCMP_CMD, 0x70080020, 0x000000002e34c95b // 2094 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 2094 , WRITE__CMD, 0x70080018, 0x000000000000001e // 2095 - , RDnCMP_CMD, 0x70080020, 0x0000000025376c11 // 2096 + , RDnCMP_CMD, 0x70080020, 0x0000000000000066 // 2096 , WRITE__CMD, 0x70080018, 0x000000000000001f // 2097 - , RDnCMP_CMD, 0x70080020, 0x0000000019400341 // 2098 + , RDnCMP_CMD, 0x70080020, 0x000000000000006d // 2098 }; #define iir_adrBase 0x0070080000 diff --git a/cosim/drivers/vectors/iir_stimulus.txt.gz b/cosim/drivers/vectors/iir_stimulus.txt.gz index 99495d852a0e19f0d03f32ce18794dc2ebcde9e8..cd2a3ea104a054673086bbdf7d60e0282c5a6b7c 100644 GIT binary patch literal 13892 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 ZmJ@l7T^0Tz;sTlC`?6+Fe4pY6{{c3Hqc8vf literal 16969 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 delta 24 gcmezMj{Da;Zg%-@4i4iDrH$;Z?2KF4nTo#y0D$@lJpcdz diff --git a/cosim/drivers/vectors/rsa_playback.h b/cosim/drivers/vectors/rsa_playback.h index 1af7998..204759a 100644 --- a/cosim/drivers/vectors/rsa_playback.h +++ b/cosim/drivers/vectors/rsa_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: rsa. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ #ifndef rsa_playback_H #define rsa_playback_H @@ -35,28 +35,28 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030028, 0x0000000000000000 // 9 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 10 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 11 - , WRITE__CMD, 0x70030028, 0x00000000bd6b3e31 // 12 + , WRITE__CMD, 0x70030028, 0x00000000b0652a8b // 12 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 13 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 14 - , WRITE__CMD, 0x70030028, 0x0000000087c3b197 // 15 + , WRITE__CMD, 0x70030028, 0x000000003dbf193e // 15 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 16 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 17 - , WRITE__CMD, 0x70030028, 0x00000000313f4a53 // 18 + , WRITE__CMD, 0x70030028, 0x00000000750b306e // 18 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 19 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 20 - , WRITE__CMD, 0x70030028, 0x00000000e659f2c1 // 21 + , WRITE__CMD, 0x70030028, 0x00000000e67bf259 // 21 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 22 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 23 - , WRITE__CMD, 0x70030028, 0x00000000dbcb077e // 24 + , WRITE__CMD, 0x70030028, 0x00000000df3bdb85 // 24 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 25 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 26 - , WRITE__CMD, 0x70030028, 0x0000000068e77a6f // 27 + , WRITE__CMD, 0x70030028, 0x000000006c042d34 // 27 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 28 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 29 - , WRITE__CMD, 0x70030028, 0x000000002428a8ce // 30 + , WRITE__CMD, 0x70030028, 0x00000000d752b575 // 30 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 31 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 32 - , WRITE__CMD, 0x70030028, 0x00000000a1051ab7 // 33 + , WRITE__CMD, 0x70030028, 0x00000000026b4da5 // 33 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 34 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 35 , WRITE__CMD, 0x70030050, 0x0000000000000009 // 36 @@ -127,1543 +127,1543 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030050, 0x0000000000000000 // 101 , WRITE__CMD, 0x70030030, 0x0000000000000004 // 102 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 103 - , WRITE__CMD, 0x70030028, 0x0000000021d5e1c5 // 104 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 104 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 105 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 106 - , WRITE__CMD, 0x70030028, 0x00000000515cdc02 // 107 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 107 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 108 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 109 - , WRITE__CMD, 0x70030028, 0x00000000f579150e // 110 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 110 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 111 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 112 - , WRITE__CMD, 0x70030028, 0x000000001a89c1c4 // 113 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 113 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 114 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 115 - , WRITE__CMD, 0x70030028, 0x00000000bfbefc29 // 116 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 116 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 117 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 118 - , WRITE__CMD, 0x70030028, 0x000000000a777531 // 119 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 119 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 120 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 121 - , WRITE__CMD, 0x70030028, 0x00000000f1873b05 // 122 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 122 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 123 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 124 - , WRITE__CMD, 0x70030028, 0x00000000d45b48c5 // 125 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 125 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 126 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 127 - , WRITE__CMD, 0x70030028, 0x000000006c0d0df8 // 128 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 128 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 129 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 130 - , WRITE__CMD, 0x70030028, 0x000000001e2c58c6 // 131 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 131 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 132 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 133 - , WRITE__CMD, 0x70030028, 0x0000000052c0d82c // 134 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 134 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 135 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 136 - , WRITE__CMD, 0x70030028, 0x000000005e5082db // 137 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 137 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 138 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 139 - , WRITE__CMD, 0x70030028, 0x00000000401f02f2 // 140 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 140 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 141 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 142 - , WRITE__CMD, 0x70030028, 0x00000000a3c854df // 143 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 143 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 144 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 145 - , WRITE__CMD, 0x70030028, 0x000000006cffe524 // 146 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 146 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 147 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 148 - , WRITE__CMD, 0x70030028, 0x000000002e9c3f25 // 149 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 149 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 150 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 151 - , WRITE__CMD, 0x70030028, 0x0000000010a56c26 // 152 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 152 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 153 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 154 - , WRITE__CMD, 0x70030028, 0x000000000a951ae1 // 155 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 155 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 156 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 157 - , WRITE__CMD, 0x70030028, 0x0000000092d37ee4 // 158 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 158 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 159 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 160 - , WRITE__CMD, 0x70030028, 0x0000000089a669e7 // 161 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 161 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 162 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 163 - , WRITE__CMD, 0x70030028, 0x00000000cee682fb // 164 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 164 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 165 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 166 - , WRITE__CMD, 0x70030028, 0x00000000f596d0c0 // 167 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 167 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 168 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 169 - , WRITE__CMD, 0x70030028, 0x00000000464a9204 // 170 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 170 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 171 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 172 - , WRITE__CMD, 0x70030028, 0x000000005554751d // 173 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 173 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 174 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 175 - , WRITE__CMD, 0x70030028, 0x00000000601babbf // 176 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 176 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 177 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 178 - , WRITE__CMD, 0x70030028, 0x000000005bd4e0d9 // 179 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 179 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 180 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 181 - , WRITE__CMD, 0x70030028, 0x000000002ca3bbf1 // 182 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 182 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 183 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 184 - , WRITE__CMD, 0x70030028, 0x000000000fc9d6f4 // 185 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 185 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 186 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 187 - , WRITE__CMD, 0x70030028, 0x000000006fabd320 // 188 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 188 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 189 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 190 - , WRITE__CMD, 0x70030028, 0x00000000dcdf54e9 // 191 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 191 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 192 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 193 - , WRITE__CMD, 0x70030028, 0x00000000ffe200cc // 194 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 194 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 195 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 196 - , WRITE__CMD, 0x70030028, 0x00000000572c643c // 197 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 197 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 198 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 199 - , WRITE__CMD, 0x70030028, 0x000000000f6ab7ed // 200 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 200 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 201 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 202 - , WRITE__CMD, 0x70030028, 0x00000000f18f891c // 203 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 203 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 204 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 205 - , WRITE__CMD, 0x70030028, 0x0000000028f6be17 // 206 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 206 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 207 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 208 - , WRITE__CMD, 0x70030028, 0x00000000d26ba321 // 209 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 209 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 210 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 211 - , WRITE__CMD, 0x70030028, 0x000000005b0caaee // 212 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 212 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 213 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 214 - , WRITE__CMD, 0x70030028, 0x00000000cb0942d3 // 215 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 215 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 216 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 217 - , WRITE__CMD, 0x70030028, 0x00000000fbb24622 // 218 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 218 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 219 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 220 - , WRITE__CMD, 0x70030028, 0x0000000032e92032 // 221 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 221 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 222 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 223 - , WRITE__CMD, 0x70030028, 0x0000000046add5cc // 224 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 224 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 225 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 226 - , WRITE__CMD, 0x70030028, 0x000000003a4fcdf7 // 227 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 227 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 228 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 229 - , WRITE__CMD, 0x70030028, 0x00000000d23510d3 // 230 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 230 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 231 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 232 - , WRITE__CMD, 0x70030028, 0x000000009b6ec6ee // 233 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 233 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 234 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 235 - , WRITE__CMD, 0x70030028, 0x00000000b4eb433b // 236 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 236 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 237 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 238 - , WRITE__CMD, 0x70030028, 0x0000000059993b1d // 239 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 239 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 240 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 241 - , WRITE__CMD, 0x70030028, 0x0000000047981aba // 242 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 242 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 243 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 244 - , WRITE__CMD, 0x70030028, 0x000000003135e11d // 245 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 245 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 246 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 247 - , WRITE__CMD, 0x70030028, 0x00000000e2460f35 // 248 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 248 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 249 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 250 - , WRITE__CMD, 0x70030028, 0x00000000e746c9fc // 251 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 251 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 252 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 253 - , WRITE__CMD, 0x70030028, 0x00000000cca2b225 // 254 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 254 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 255 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 256 - , WRITE__CMD, 0x70030028, 0x00000000fc5f89df // 257 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 257 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 258 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 259 - , WRITE__CMD, 0x70030028, 0x0000000071e66be1 // 260 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 260 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 261 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 262 - , WRITE__CMD, 0x70030028, 0x0000000093f0b2c9 // 263 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 263 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 264 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 265 - , WRITE__CMD, 0x70030028, 0x000000009e6ed234 // 266 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 266 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 267 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 268 - , WRITE__CMD, 0x70030028, 0x000000009188fa2b // 269 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 269 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 270 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 271 - , WRITE__CMD, 0x70030028, 0x00000000476e6f2e // 272 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 272 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 273 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 274 - , WRITE__CMD, 0x70030028, 0x00000000906a6de6 // 275 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 275 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 276 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 277 - , WRITE__CMD, 0x70030028, 0x0000000043899232 // 278 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 278 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 279 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 280 - , WRITE__CMD, 0x70030028, 0x000000006c93dafd // 281 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 281 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 282 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 283 - , WRITE__CMD, 0x70030028, 0x00000000aa0e8ef2 // 284 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 284 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 285 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 286 - , WRITE__CMD, 0x70030028, 0x00000000a75d51f1 // 287 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 287 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 288 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 289 - , WRITE__CMD, 0x70030028, 0x0000000027476c2e // 290 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 290 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 291 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 292 - , WRITE__CMD, 0x70030028, 0x00000000ab0fef13 // 293 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 293 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 294 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 295 - , WRITE__CMD, 0x70030028, 0x0000000062da3dd3 // 296 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 296 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 297 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 298 - , WRITE__CMD, 0x70030028, 0x000000004e1b1f0d // 299 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 299 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 300 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 301 - , WRITE__CMD, 0x70030028, 0x000000006604a0cd // 302 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 302 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 303 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 304 - , WRITE__CMD, 0x70030028, 0x00000000447bcf00 // 305 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 305 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 306 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 307 - , WRITE__CMD, 0x70030028, 0x00000000ad349ef3 // 308 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 308 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 309 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 310 - , WRITE__CMD, 0x70030028, 0x00000000e5ce40e5 // 311 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 311 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 312 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 313 - , WRITE__CMD, 0x70030028, 0x0000000004ff55c8 // 314 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 314 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 315 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 316 - , WRITE__CMD, 0x70030028, 0x00000000bb798230 // 317 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 317 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 318 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 319 - , WRITE__CMD, 0x70030028, 0x000000006a037a0b // 320 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 320 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 321 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 322 - , WRITE__CMD, 0x70030028, 0x000000009d39dc24 // 323 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 323 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 324 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 325 - , WRITE__CMD, 0x70030028, 0x000000007f1986f2 // 326 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 326 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 327 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 328 - , WRITE__CMD, 0x70030028, 0x0000000096d6d314 // 329 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 329 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 330 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 331 - , WRITE__CMD, 0x70030028, 0x00000000f88c1dd5 // 332 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 332 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 333 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 334 - , WRITE__CMD, 0x70030028, 0x00000000db073ae0 // 335 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 335 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 336 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 337 - , WRITE__CMD, 0x70030028, 0x00000000067161ff // 338 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 338 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 339 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 340 - , WRITE__CMD, 0x70030028, 0x00000000f0f1a0d7 // 341 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 341 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 342 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 343 - , WRITE__CMD, 0x70030028, 0x000000001792c5c5 // 344 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 344 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 345 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 346 - , WRITE__CMD, 0x70030028, 0x000000009191d731 // 347 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 347 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 348 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 349 - , WRITE__CMD, 0x70030028, 0x00000000eb7d83c7 // 350 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 350 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 351 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 352 - , WRITE__CMD, 0x70030028, 0x000000008eff1d24 // 353 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 353 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 354 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 355 - , WRITE__CMD, 0x70030028, 0x0000000006a6a0d5 // 356 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 356 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 357 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 358 - , WRITE__CMD, 0x70030028, 0x000000006e4fdbef // 359 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 359 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 360 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 361 - , WRITE__CMD, 0x70030028, 0x000000002977082b // 362 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 362 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 363 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 364 - , WRITE__CMD, 0x70030028, 0x00000000cb536fe2 // 365 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 365 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 366 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 367 - , WRITE__CMD, 0x70030028, 0x00000000571febde // 368 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 368 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 369 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 370 - , WRITE__CMD, 0x70030028, 0x000000005d9d8cd1 // 371 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 371 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 372 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 373 - , WRITE__CMD, 0x70030028, 0x0000000005574ef2 // 374 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 374 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 375 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 376 - , WRITE__CMD, 0x70030028, 0x000000001e9cdc02 // 377 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 377 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 378 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 379 - , WRITE__CMD, 0x70030028, 0x0000000079a913bd // 380 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 380 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 381 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 382 - , WRITE__CMD, 0x70030028, 0x00000000808ca22f // 383 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 383 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 384 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 385 - , WRITE__CMD, 0x70030028, 0x000000002b2a2d1c // 386 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 386 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 387 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 388 - , WRITE__CMD, 0x70030028, 0x0000000006b46409 // 389 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 389 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 390 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 391 - , WRITE__CMD, 0x70030028, 0x00000000b06da7d4 // 392 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 392 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 393 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 394 - , WRITE__CMD, 0x70030028, 0x00000000f5ad45df // 395 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 395 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 396 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 397 - , WRITE__CMD, 0x70030028, 0x000000002450de04 // 398 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 398 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 399 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 400 - , WRITE__CMD, 0x70030028, 0x00000000c7a33b1c // 401 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 401 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 402 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 403 - , WRITE__CMD, 0x70030028, 0x000000003f32c932 // 404 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 404 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 405 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 406 - , WRITE__CMD, 0x70030028, 0x0000000081087cc0 // 407 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 407 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 408 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 409 - , WRITE__CMD, 0x70030028, 0x00000000fd86b93c // 410 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 410 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 411 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 412 - , WRITE__CMD, 0x70030028, 0x0000000047f5f6cb // 413 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 413 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 414 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 415 - , WRITE__CMD, 0x70030028, 0x00000000814245ec // 416 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 416 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 417 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 418 - , WRITE__CMD, 0x70030028, 0x000000007e2db9f8 // 419 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 419 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 420 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 421 - , WRITE__CMD, 0x70030028, 0x00000000294f0b0e // 422 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 422 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 423 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 424 - , WRITE__CMD, 0x70030028, 0x0000000017d1a5c7 // 425 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 425 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 426 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 427 - , WRITE__CMD, 0x70030028, 0x0000000055c55eec // 428 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 428 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 429 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 430 - , WRITE__CMD, 0x70030028, 0x0000000010f20cc3 // 431 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 431 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 432 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 433 - , WRITE__CMD, 0x70030028, 0x00000000a6053117 // 434 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 434 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 435 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 436 - , WRITE__CMD, 0x70030028, 0x00000000639aba15 // 437 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 437 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 438 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 439 - , WRITE__CMD, 0x70030028, 0x00000000cf79cfcd // 440 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 440 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 441 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 442 - , WRITE__CMD, 0x70030028, 0x00000000312d8bf5 // 443 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 443 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 444 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 445 - , WRITE__CMD, 0x70030028, 0x00000000779320ff // 446 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 446 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 447 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 448 - , WRITE__CMD, 0x70030028, 0x00000000af2ab010 // 449 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 449 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 450 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 451 - , WRITE__CMD, 0x70030028, 0x00000000d6dcf2d2 // 452 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 452 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 453 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 454 - , WRITE__CMD, 0x70030028, 0x00000000aca908d1 // 455 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 455 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 456 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 457 - , WRITE__CMD, 0x70030028, 0x00000000643aa3c1 // 458 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 458 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 459 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 460 - , WRITE__CMD, 0x70030028, 0x000000007d1a412a // 461 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 461 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 462 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 463 - , WRITE__CMD, 0x70030028, 0x00000000913e040b // 464 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 464 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 465 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 466 - , WRITE__CMD, 0x70030028, 0x00000000b9e783e6 // 467 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 467 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 468 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 469 - , WRITE__CMD, 0x70030028, 0x000000004c8f0cc3 // 470 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 470 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 471 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 472 - , WRITE__CMD, 0x70030028, 0x000000002aea71ce // 473 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 473 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 474 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 475 - , WRITE__CMD, 0x70030028, 0x00000000f5c4ca1a // 476 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 476 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 477 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 478 - , WRITE__CMD, 0x70030028, 0x00000000d2801a01 // 479 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 479 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 480 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 481 - , WRITE__CMD, 0x70030028, 0x000000006d979a35 // 482 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 482 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 483 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 484 - , WRITE__CMD, 0x70030028, 0x000000005959c119 // 485 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 485 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 486 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 487 - , WRITE__CMD, 0x70030028, 0x0000000027d3d001 // 488 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 488 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 489 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 490 - , WRITE__CMD, 0x70030028, 0x00000000f501e9ff // 491 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 491 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 492 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 493 - , WRITE__CMD, 0x70030028, 0x00000000386cca31 // 494 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 494 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 495 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 496 - , WRITE__CMD, 0x70030028, 0x000000002045be18 // 497 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 497 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 498 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 499 - , WRITE__CMD, 0x70030028, 0x00000000d2a93e2e // 500 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 500 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 501 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 502 - , WRITE__CMD, 0x70030028, 0x00000000edc0e9fa // 503 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 503 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 504 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 505 - , WRITE__CMD, 0x70030028, 0x00000000643173f3 // 506 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 506 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 507 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 508 - , WRITE__CMD, 0x70030028, 0x00000000de5cd036 // 509 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 509 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 510 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 511 - , WRITE__CMD, 0x70030028, 0x0000000041a1c9c3 // 512 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 512 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 513 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 514 - , WRITE__CMD, 0x70030028, 0x000000001bdf3e11 // 515 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 515 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 516 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 517 - , WRITE__CMD, 0x70030028, 0x00000000fcf528ef // 518 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 518 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 519 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 520 - , WRITE__CMD, 0x70030028, 0x0000000075c7b8cd // 521 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 521 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 522 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 523 - , WRITE__CMD, 0x70030028, 0x00000000c974e33d // 524 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 524 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 525 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 526 - , WRITE__CMD, 0x70030028, 0x00000000f29b04bd // 527 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 527 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 528 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 529 - , WRITE__CMD, 0x70030028, 0x0000000001da4a19 // 530 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 530 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 531 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 532 - , WRITE__CMD, 0x70030028, 0x0000000051101bba // 533 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 533 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 534 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 535 - , WRITE__CMD, 0x70030028, 0x00000000c89a4bf6 // 536 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 536 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 537 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 538 - , WRITE__CMD, 0x70030028, 0x00000000ebaf183b // 539 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 539 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 540 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 541 - , WRITE__CMD, 0x70030028, 0x00000000d3972dc5 // 542 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 542 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 543 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 544 - , WRITE__CMD, 0x70030028, 0x00000000b6d428c1 // 545 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 545 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 546 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 547 - , WRITE__CMD, 0x70030028, 0x0000000097853603 // 548 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 548 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 549 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 550 - , WRITE__CMD, 0x70030028, 0x0000000094f0c1f6 // 551 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 551 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 552 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 553 - , WRITE__CMD, 0x70030028, 0x000000008e6d34e4 // 554 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 554 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 555 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 556 - , WRITE__CMD, 0x70030028, 0x00000000dfb9ef1a // 557 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 557 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 558 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 559 - , WRITE__CMD, 0x70030028, 0x00000000be279b39 // 560 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 560 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 561 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 562 - , WRITE__CMD, 0x70030028, 0x000000007e780dc0 // 563 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 563 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 564 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 565 - , WRITE__CMD, 0x70030028, 0x00000000aee034cd // 566 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 566 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 567 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 568 - , WRITE__CMD, 0x70030028, 0x00000000de66bb16 // 569 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 569 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 570 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 571 - , WRITE__CMD, 0x70030028, 0x00000000fe076cf3 // 572 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 572 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 573 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 574 - , WRITE__CMD, 0x70030028, 0x00000000da5469f0 // 575 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 575 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 576 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 577 - , WRITE__CMD, 0x70030028, 0x000000004fcf58c6 // 578 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 578 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 579 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 580 - , WRITE__CMD, 0x70030028, 0x00000000b2e40b25 // 581 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 581 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 582 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 583 - , WRITE__CMD, 0x70030028, 0x000000008016ca0e // 584 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 584 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 585 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 586 - , WRITE__CMD, 0x70030028, 0x00000000c90f9bcc // 587 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 587 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 588 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 589 - , WRITE__CMD, 0x70030028, 0x00000000118a67cb // 590 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 590 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 591 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 592 - , WRITE__CMD, 0x70030028, 0x0000000084b66cc9 // 593 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 593 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 594 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 595 - , WRITE__CMD, 0x70030028, 0x00000000d6fbf4fa // 596 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 596 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 597 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 598 - , WRITE__CMD, 0x70030028, 0x000000009b35fc38 // 599 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 599 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 600 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 601 - , WRITE__CMD, 0x70030028, 0x000000000682722d // 602 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 602 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 603 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 604 - , WRITE__CMD, 0x70030028, 0x00000000ccb4a51b // 605 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 605 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 606 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 607 - , WRITE__CMD, 0x70030028, 0x000000002e5f88c3 // 608 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 608 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 609 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 610 - , WRITE__CMD, 0x70030028, 0x000000001e024500 // 611 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 611 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 612 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 613 - , WRITE__CMD, 0x70030028, 0x00000000a79f4cf5 // 614 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 614 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 615 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 616 - , WRITE__CMD, 0x70030028, 0x00000000052b3eec // 617 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 617 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 618 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 619 - , WRITE__CMD, 0x70030028, 0x0000000030ff83bf // 620 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 620 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 621 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 622 - , WRITE__CMD, 0x70030028, 0x0000000051d5540b // 623 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 623 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 624 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 625 - , WRITE__CMD, 0x70030028, 0x00000000701d3dc2 // 626 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 626 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 627 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 628 - , WRITE__CMD, 0x70030028, 0x0000000014bff302 // 629 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 629 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 630 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 631 - , WRITE__CMD, 0x70030028, 0x0000000005d9acc7 // 632 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 632 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 633 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 634 - , WRITE__CMD, 0x70030028, 0x0000000051fb1e1a // 635 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 635 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 636 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 637 - , WRITE__CMD, 0x70030028, 0x00000000396d10f9 // 638 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 638 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 639 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 640 - , WRITE__CMD, 0x70030028, 0x000000001f3d95d1 // 641 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 641 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 642 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 643 - , WRITE__CMD, 0x70030028, 0x00000000700c72cc // 644 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 644 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 645 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 646 - , WRITE__CMD, 0x70030028, 0x000000001d4f0916 // 647 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 647 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 648 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 649 - , WRITE__CMD, 0x70030028, 0x0000000029067fc6 // 650 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 650 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 651 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 652 - , WRITE__CMD, 0x70030028, 0x00000000b1a0acca // 653 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 653 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 654 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 655 - , WRITE__CMD, 0x70030028, 0x00000000d0d8a11d // 656 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 656 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 657 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 658 - , WRITE__CMD, 0x70030028, 0x000000005670d309 // 659 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 659 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 660 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 661 - , WRITE__CMD, 0x70030028, 0x00000000035fcde4 // 662 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 662 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 663 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 664 - , WRITE__CMD, 0x70030028, 0x000000001c87b0c1 // 665 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 665 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 666 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 667 - , WRITE__CMD, 0x70030028, 0x00000000591506f6 // 668 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 668 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 669 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 670 - , WRITE__CMD, 0x70030028, 0x0000000084a24506 // 671 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 671 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 672 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 673 - , WRITE__CMD, 0x70030028, 0x00000000792971c5 // 674 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 674 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 675 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 676 - , WRITE__CMD, 0x70030028, 0x00000000d318dd05 // 677 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 677 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 678 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 679 - , WRITE__CMD, 0x70030028, 0x000000000043eec5 // 680 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 680 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 681 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 682 - , WRITE__CMD, 0x70030028, 0x00000000f47f7d2a // 683 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 683 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 684 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 685 - , WRITE__CMD, 0x70030028, 0x0000000063504407 // 686 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 686 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 687 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 688 - , WRITE__CMD, 0x70030028, 0x00000000810e64db // 689 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 689 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 690 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 691 - , WRITE__CMD, 0x70030028, 0x00000000a008bd28 // 692 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 692 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 693 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 694 - , WRITE__CMD, 0x70030028, 0x00000000e2f51f35 // 695 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 695 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 696 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 697 - , WRITE__CMD, 0x70030028, 0x0000000000089fc6 // 698 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 698 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 699 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 700 - , WRITE__CMD, 0x70030028, 0x00000000f98be7dd // 701 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 701 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 702 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 703 - , WRITE__CMD, 0x70030028, 0x000000005c425420 // 704 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 704 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 705 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 706 - , WRITE__CMD, 0x70030028, 0x000000008339ff10 // 707 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 707 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 708 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 709 - , WRITE__CMD, 0x70030028, 0x00000000b6d5ff0d // 710 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 710 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 711 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 712 - , WRITE__CMD, 0x70030028, 0x00000000c9850cd4 // 713 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 713 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 714 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 715 - , WRITE__CMD, 0x70030028, 0x00000000087f70c6 // 716 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 716 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 717 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 718 - , WRITE__CMD, 0x70030028, 0x000000002ce95217 // 719 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 719 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 720 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 721 - , WRITE__CMD, 0x70030028, 0x000000006f1abf0b // 722 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 722 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 723 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 724 - , WRITE__CMD, 0x70030028, 0x00000000cec15b08 // 725 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 725 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 726 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 727 - , WRITE__CMD, 0x70030028, 0x00000000e1fec62e // 728 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 728 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 729 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 730 - , WRITE__CMD, 0x70030028, 0x00000000174988e5 // 731 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 731 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 732 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 733 - , WRITE__CMD, 0x70030028, 0x000000005bf9ffed // 734 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 734 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 735 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 736 - , WRITE__CMD, 0x70030028, 0x00000000d06b4d0e // 737 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 737 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 738 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 739 - , WRITE__CMD, 0x70030028, 0x00000000c1769ef9 // 740 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 740 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 741 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 742 - , WRITE__CMD, 0x70030028, 0x00000000e870ecef // 743 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 743 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 744 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 745 - , WRITE__CMD, 0x70030028, 0x0000000069c22fc9 // 746 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 746 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 747 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 748 - , WRITE__CMD, 0x70030028, 0x0000000067cca415 // 749 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 749 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 750 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 751 - , WRITE__CMD, 0x70030028, 0x00000000eb595cbe // 752 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 752 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 753 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 754 - , WRITE__CMD, 0x70030028, 0x0000000013d6d0c8 // 755 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 755 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 756 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 757 - , WRITE__CMD, 0x70030028, 0x00000000d19f0f2b // 758 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 758 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 759 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 760 - , WRITE__CMD, 0x70030028, 0x00000000ad694a28 // 761 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 761 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 762 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 763 - , WRITE__CMD, 0x70030028, 0x000000007db75ec8 // 764 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 764 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 765 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 766 - , WRITE__CMD, 0x70030028, 0x000000005f61da1c // 767 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 767 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 768 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 769 - , WRITE__CMD, 0x70030028, 0x0000000011bbb01e // 770 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 770 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 771 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 772 - , WRITE__CMD, 0x70030028, 0x0000000034904b0f // 773 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 773 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 774 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 775 - , WRITE__CMD, 0x70030028, 0x00000000133c4e2a // 776 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 776 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 777 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 778 - , WRITE__CMD, 0x70030028, 0x000000006e290437 // 779 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 779 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 780 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 781 - , WRITE__CMD, 0x70030028, 0x00000000fda5f2ea // 782 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 782 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 783 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 784 - , WRITE__CMD, 0x70030028, 0x00000000cfcda210 // 785 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 785 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 786 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 787 - , WRITE__CMD, 0x70030028, 0x00000000a27b47fb // 788 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 788 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 789 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 790 - , WRITE__CMD, 0x70030028, 0x000000000969ebfc // 791 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 791 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 792 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 793 - , WRITE__CMD, 0x70030028, 0x00000000fdabd4c9 // 794 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 794 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 795 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 796 - , WRITE__CMD, 0x70030028, 0x0000000006f74b0d // 797 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 797 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 798 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 799 - , WRITE__CMD, 0x70030028, 0x0000000070e009d8 // 800 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 800 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 801 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 802 - , WRITE__CMD, 0x70030028, 0x0000000031cc880f // 803 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 803 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 804 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 805 - , WRITE__CMD, 0x70030028, 0x00000000c18a90c4 // 806 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 806 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 807 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 808 - , WRITE__CMD, 0x70030028, 0x00000000c04ed513 // 809 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 809 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 810 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 811 - , WRITE__CMD, 0x70030028, 0x00000000f7822edb // 812 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 812 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 813 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 814 - , WRITE__CMD, 0x70030028, 0x000000003bbe5a38 // 815 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 815 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 816 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 817 - , WRITE__CMD, 0x70030028, 0x00000000795296bf // 818 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 818 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 819 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 820 - , WRITE__CMD, 0x70030028, 0x0000000033f7ba0a // 821 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 821 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 822 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 823 - , WRITE__CMD, 0x70030028, 0x00000000cb012ced // 824 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 824 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 825 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 826 - , WRITE__CMD, 0x70030028, 0x00000000286118ee // 827 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 827 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 828 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 829 - , WRITE__CMD, 0x70030028, 0x0000000077f32908 // 830 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 830 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 831 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 832 - , WRITE__CMD, 0x70030028, 0x00000000ffd76cff // 833 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 833 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 834 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 835 - , WRITE__CMD, 0x70030028, 0x0000000018539ebd // 836 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 836 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 837 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 838 - , WRITE__CMD, 0x70030028, 0x000000001e11a8d1 // 839 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 839 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 840 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 841 - , WRITE__CMD, 0x70030028, 0x00000000fcbba52a // 842 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 842 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 843 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 844 - , WRITE__CMD, 0x70030028, 0x0000000016b9d329 // 845 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 845 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 846 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 847 - , WRITE__CMD, 0x70030028, 0x00000000673163fa // 848 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 848 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 849 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 850 - , WRITE__CMD, 0x70030028, 0x00000000c49ce2d6 // 851 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 851 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 852 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 853 - , WRITE__CMD, 0x70030028, 0x000000006aade714 // 854 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 854 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 855 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 856 - , WRITE__CMD, 0x70030028, 0x00000000813df6f1 // 857 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 857 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 858 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 859 - , WRITE__CMD, 0x70030028, 0x00000000e06ae91e // 860 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 860 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 861 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 862 - , WRITE__CMD, 0x70030028, 0x0000000029c911d0 // 863 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 863 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 864 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 865 - , WRITE__CMD, 0x70030028, 0x00000000cb9bdbea // 866 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 866 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 867 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 868 - , WRITE__CMD, 0x70030028, 0x00000000bf634718 // 869 + , WRITE__CMD, 0x70030028, 0x00000000ffffff7f // 869 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 870 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 871 , WRITE__CMD, 0x70030050, 0x0000000000000100 // 872 , WRITE__CMD, 0x70030030, 0x0000000000000004 // 873 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 874 - , RDnCMP_CMD, 0x70030028, 0x21d5e1c5bf634718 // 875 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 875 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 876 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 877 - , RDnCMP_CMD, 0x70030028, 0x515cdc02bf634718 // 878 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 878 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 879 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 880 - , RDnCMP_CMD, 0x70030028, 0xf579150ebf634718 // 881 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 881 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 882 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 883 - , RDnCMP_CMD, 0x70030028, 0x1a89c1c4bf634718 // 884 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 884 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 885 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 886 - , RDnCMP_CMD, 0x70030028, 0xbfbefc29bf634718 // 887 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 887 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 888 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 889 - , RDnCMP_CMD, 0x70030028, 0x0a777531bf634718 // 890 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 890 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 891 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 892 - , RDnCMP_CMD, 0x70030028, 0xf1873b05bf634718 // 893 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 893 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 894 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 895 - , RDnCMP_CMD, 0x70030028, 0xd45b48c5bf634718 // 896 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 896 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 897 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 898 - , RDnCMP_CMD, 0x70030028, 0x6c0d0df8bf634718 // 899 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 899 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 900 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 901 - , RDnCMP_CMD, 0x70030028, 0x1e2c58c6bf634718 // 902 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 902 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 903 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 904 - , RDnCMP_CMD, 0x70030028, 0x52c0d82cbf634718 // 905 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 905 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 906 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 907 - , RDnCMP_CMD, 0x70030028, 0x5e5082dbbf634718 // 908 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 908 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 909 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 910 - , RDnCMP_CMD, 0x70030028, 0x401f02f2bf634718 // 911 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 911 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 912 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 913 - , RDnCMP_CMD, 0x70030028, 0xa3c854dfbf634718 // 914 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 914 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 915 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 916 - , RDnCMP_CMD, 0x70030028, 0x6cffe524bf634718 // 917 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 917 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 918 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 919 - , RDnCMP_CMD, 0x70030028, 0x2e9c3f25bf634718 // 920 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 920 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 921 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 922 - , RDnCMP_CMD, 0x70030028, 0x10a56c26bf634718 // 923 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 923 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 924 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 925 - , RDnCMP_CMD, 0x70030028, 0x0a951ae1bf634718 // 926 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 926 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 927 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 928 - , RDnCMP_CMD, 0x70030028, 0x92d37ee4bf634718 // 929 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 929 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 930 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 931 - , RDnCMP_CMD, 0x70030028, 0x89a669e7bf634718 // 932 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 932 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 933 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 934 - , RDnCMP_CMD, 0x70030028, 0xcee682fbbf634718 // 935 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 935 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 936 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 937 - , RDnCMP_CMD, 0x70030028, 0xf596d0c0bf634718 // 938 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 938 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 939 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 940 - , RDnCMP_CMD, 0x70030028, 0x464a9204bf634718 // 941 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 941 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 942 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 943 - , RDnCMP_CMD, 0x70030028, 0x5554751dbf634718 // 944 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 944 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 945 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 946 - , RDnCMP_CMD, 0x70030028, 0x601babbfbf634718 // 947 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 947 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 948 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 949 - , RDnCMP_CMD, 0x70030028, 0x5bd4e0d9bf634718 // 950 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 950 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 951 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 952 - , RDnCMP_CMD, 0x70030028, 0x2ca3bbf1bf634718 // 953 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 953 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 954 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 955 - , RDnCMP_CMD, 0x70030028, 0x0fc9d6f4bf634718 // 956 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 956 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 957 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 958 - , RDnCMP_CMD, 0x70030028, 0x6fabd320bf634718 // 959 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 959 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 960 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 961 - , RDnCMP_CMD, 0x70030028, 0xdcdf54e9bf634718 // 962 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 962 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 963 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 964 - , RDnCMP_CMD, 0x70030028, 0xffe200ccbf634718 // 965 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 965 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 966 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 967 - , RDnCMP_CMD, 0x70030028, 0x572c643cbf634718 // 968 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 968 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 969 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 970 - , RDnCMP_CMD, 0x70030028, 0x0f6ab7edbf634718 // 971 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 971 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 972 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 973 - , RDnCMP_CMD, 0x70030028, 0xf18f891cbf634718 // 974 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 974 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 975 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 976 - , RDnCMP_CMD, 0x70030028, 0x28f6be17bf634718 // 977 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 977 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 978 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 979 - , RDnCMP_CMD, 0x70030028, 0xd26ba321bf634718 // 980 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 980 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 981 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 982 - , RDnCMP_CMD, 0x70030028, 0x5b0caaeebf634718 // 983 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 983 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 984 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 985 - , RDnCMP_CMD, 0x70030028, 0xcb0942d3bf634718 // 986 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 986 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 987 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 988 - , RDnCMP_CMD, 0x70030028, 0xfbb24622bf634718 // 989 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 989 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 990 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 991 - , RDnCMP_CMD, 0x70030028, 0x32e92032bf634718 // 992 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 992 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 993 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 994 - , RDnCMP_CMD, 0x70030028, 0x46add5ccbf634718 // 995 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 995 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 996 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 997 - , RDnCMP_CMD, 0x70030028, 0x3a4fcdf7bf634718 // 998 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 998 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 999 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1000 - , RDnCMP_CMD, 0x70030028, 0xd23510d3bf634718 // 1001 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1001 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1002 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1003 - , RDnCMP_CMD, 0x70030028, 0x9b6ec6eebf634718 // 1004 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1004 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1005 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1006 - , RDnCMP_CMD, 0x70030028, 0xb4eb433bbf634718 // 1007 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1007 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1008 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1009 - , RDnCMP_CMD, 0x70030028, 0x59993b1dbf634718 // 1010 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1010 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1011 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1012 - , RDnCMP_CMD, 0x70030028, 0x47981ababf634718 // 1013 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1013 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1014 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1015 - , RDnCMP_CMD, 0x70030028, 0x3135e11dbf634718 // 1016 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1016 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1017 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1018 - , RDnCMP_CMD, 0x70030028, 0xe2460f35bf634718 // 1019 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1019 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1020 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1021 - , RDnCMP_CMD, 0x70030028, 0xe746c9fcbf634718 // 1022 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1022 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1023 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1024 - , RDnCMP_CMD, 0x70030028, 0xcca2b225bf634718 // 1025 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1025 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1026 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1027 - , RDnCMP_CMD, 0x70030028, 0xfc5f89dfbf634718 // 1028 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1028 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1029 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1030 - , RDnCMP_CMD, 0x70030028, 0x71e66be1bf634718 // 1031 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1031 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1032 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1033 - , RDnCMP_CMD, 0x70030028, 0x93f0b2c9bf634718 // 1034 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1034 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1035 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1036 - , RDnCMP_CMD, 0x70030028, 0x9e6ed234bf634718 // 1037 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1037 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1038 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1039 - , RDnCMP_CMD, 0x70030028, 0x9188fa2bbf634718 // 1040 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1040 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1041 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1042 - , RDnCMP_CMD, 0x70030028, 0x476e6f2ebf634718 // 1043 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1043 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1044 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1045 - , RDnCMP_CMD, 0x70030028, 0x906a6de6bf634718 // 1046 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1046 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1047 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1048 - , RDnCMP_CMD, 0x70030028, 0x43899232bf634718 // 1049 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1049 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1050 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1051 - , RDnCMP_CMD, 0x70030028, 0x6c93dafdbf634718 // 1052 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1052 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1053 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1054 - , RDnCMP_CMD, 0x70030028, 0xaa0e8ef2bf634718 // 1055 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1055 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1056 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1057 - , RDnCMP_CMD, 0x70030028, 0xa75d51f1bf634718 // 1058 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1058 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1059 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1060 - , RDnCMP_CMD, 0x70030028, 0x27476c2ebf634718 // 1061 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1061 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1062 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1063 - , RDnCMP_CMD, 0x70030028, 0xab0fef13bf634718 // 1064 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1064 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1065 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1066 - , RDnCMP_CMD, 0x70030028, 0x62da3dd3bf634718 // 1067 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1067 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1068 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1069 - , RDnCMP_CMD, 0x70030028, 0x4e1b1f0dbf634718 // 1070 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1070 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1071 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1072 - , RDnCMP_CMD, 0x70030028, 0x6604a0cdbf634718 // 1073 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1073 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1074 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1075 - , RDnCMP_CMD, 0x70030028, 0x447bcf00bf634718 // 1076 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1076 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1077 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1078 - , RDnCMP_CMD, 0x70030028, 0xad349ef3bf634718 // 1079 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1079 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1080 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1081 - , RDnCMP_CMD, 0x70030028, 0xe5ce40e5bf634718 // 1082 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1082 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1083 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1084 - , RDnCMP_CMD, 0x70030028, 0x04ff55c8bf634718 // 1085 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1085 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1086 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1087 - , RDnCMP_CMD, 0x70030028, 0xbb798230bf634718 // 1088 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1088 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1089 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1090 - , RDnCMP_CMD, 0x70030028, 0x6a037a0bbf634718 // 1091 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1091 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1092 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1093 - , RDnCMP_CMD, 0x70030028, 0x9d39dc24bf634718 // 1094 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1094 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1095 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1096 - , RDnCMP_CMD, 0x70030028, 0x7f1986f2bf634718 // 1097 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1097 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1098 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1099 - , RDnCMP_CMD, 0x70030028, 0x96d6d314bf634718 // 1100 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1100 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1101 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1102 - , RDnCMP_CMD, 0x70030028, 0xf88c1dd5bf634718 // 1103 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1103 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1104 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1105 - , RDnCMP_CMD, 0x70030028, 0xdb073ae0bf634718 // 1106 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1106 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1107 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1108 - , RDnCMP_CMD, 0x70030028, 0x067161ffbf634718 // 1109 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1109 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1110 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1111 - , RDnCMP_CMD, 0x70030028, 0xf0f1a0d7bf634718 // 1112 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1112 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1113 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1114 - , RDnCMP_CMD, 0x70030028, 0x1792c5c5bf634718 // 1115 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1115 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1116 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1117 - , RDnCMP_CMD, 0x70030028, 0x9191d731bf634718 // 1118 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1118 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1119 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1120 - , RDnCMP_CMD, 0x70030028, 0xeb7d83c7bf634718 // 1121 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1121 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1122 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1123 - , RDnCMP_CMD, 0x70030028, 0x8eff1d24bf634718 // 1124 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1124 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1125 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1126 - , RDnCMP_CMD, 0x70030028, 0x06a6a0d5bf634718 // 1127 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1127 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1128 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1129 - , RDnCMP_CMD, 0x70030028, 0x6e4fdbefbf634718 // 1130 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1130 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1131 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1132 - , RDnCMP_CMD, 0x70030028, 0x2977082bbf634718 // 1133 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1133 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1134 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1135 - , RDnCMP_CMD, 0x70030028, 0xcb536fe2bf634718 // 1136 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1136 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1137 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1138 - , RDnCMP_CMD, 0x70030028, 0x571febdebf634718 // 1139 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1139 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1140 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1141 - , RDnCMP_CMD, 0x70030028, 0x5d9d8cd1bf634718 // 1142 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1142 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1143 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1144 - , RDnCMP_CMD, 0x70030028, 0x05574ef2bf634718 // 1145 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1145 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1146 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1147 - , RDnCMP_CMD, 0x70030028, 0x1e9cdc02bf634718 // 1148 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1148 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1149 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1150 - , RDnCMP_CMD, 0x70030028, 0x79a913bdbf634718 // 1151 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1151 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1152 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1153 - , RDnCMP_CMD, 0x70030028, 0x808ca22fbf634718 // 1154 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1154 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1155 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1156 - , RDnCMP_CMD, 0x70030028, 0x2b2a2d1cbf634718 // 1157 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1157 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1158 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1159 - , RDnCMP_CMD, 0x70030028, 0x06b46409bf634718 // 1160 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1160 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1161 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1162 - , RDnCMP_CMD, 0x70030028, 0xb06da7d4bf634718 // 1163 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1163 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1164 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1165 - , RDnCMP_CMD, 0x70030028, 0xf5ad45dfbf634718 // 1166 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1166 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1167 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1168 - , RDnCMP_CMD, 0x70030028, 0x2450de04bf634718 // 1169 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1169 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1170 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1171 - , RDnCMP_CMD, 0x70030028, 0xc7a33b1cbf634718 // 1172 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1172 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1173 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1174 - , RDnCMP_CMD, 0x70030028, 0x3f32c932bf634718 // 1175 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1175 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1176 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1177 - , RDnCMP_CMD, 0x70030028, 0x81087cc0bf634718 // 1178 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1178 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1179 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1180 - , RDnCMP_CMD, 0x70030028, 0xfd86b93cbf634718 // 1181 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1181 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1182 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1183 - , RDnCMP_CMD, 0x70030028, 0x47f5f6cbbf634718 // 1184 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1184 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1185 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1186 - , RDnCMP_CMD, 0x70030028, 0x814245ecbf634718 // 1187 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1187 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1188 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1189 - , RDnCMP_CMD, 0x70030028, 0x7e2db9f8bf634718 // 1190 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1190 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1191 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1192 - , RDnCMP_CMD, 0x70030028, 0x294f0b0ebf634718 // 1193 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1193 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1194 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1195 - , RDnCMP_CMD, 0x70030028, 0x17d1a5c7bf634718 // 1196 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1196 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1197 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1198 - , RDnCMP_CMD, 0x70030028, 0x55c55eecbf634718 // 1199 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1199 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1200 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1201 - , RDnCMP_CMD, 0x70030028, 0x10f20cc3bf634718 // 1202 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1202 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1203 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1204 - , RDnCMP_CMD, 0x70030028, 0xa6053117bf634718 // 1205 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1205 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1206 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1207 - , RDnCMP_CMD, 0x70030028, 0x639aba15bf634718 // 1208 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1208 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1209 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1210 - , RDnCMP_CMD, 0x70030028, 0xcf79cfcdbf634718 // 1211 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1211 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1212 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1213 - , RDnCMP_CMD, 0x70030028, 0x312d8bf5bf634718 // 1214 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1214 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1215 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1216 - , RDnCMP_CMD, 0x70030028, 0x779320ffbf634718 // 1217 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1217 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1218 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1219 - , RDnCMP_CMD, 0x70030028, 0xaf2ab010bf634718 // 1220 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1220 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1221 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1222 - , RDnCMP_CMD, 0x70030028, 0xd6dcf2d2bf634718 // 1223 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1223 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1224 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1225 - , RDnCMP_CMD, 0x70030028, 0xaca908d1bf634718 // 1226 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1226 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1227 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1228 - , RDnCMP_CMD, 0x70030028, 0x643aa3c1bf634718 // 1229 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1229 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1230 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1231 - , RDnCMP_CMD, 0x70030028, 0x7d1a412abf634718 // 1232 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1232 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1233 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1234 - , RDnCMP_CMD, 0x70030028, 0x913e040bbf634718 // 1235 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1235 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1236 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1237 - , RDnCMP_CMD, 0x70030028, 0xb9e783e6bf634718 // 1238 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1238 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1239 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1240 - , RDnCMP_CMD, 0x70030028, 0x4c8f0cc3bf634718 // 1241 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1241 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1242 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1243 - , RDnCMP_CMD, 0x70030028, 0x2aea71cebf634718 // 1244 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1244 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1245 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1246 - , RDnCMP_CMD, 0x70030028, 0xf5c4ca1abf634718 // 1247 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1247 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1248 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1249 - , RDnCMP_CMD, 0x70030028, 0xd2801a01bf634718 // 1250 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1250 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1251 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1252 - , RDnCMP_CMD, 0x70030028, 0x6d979a35bf634718 // 1253 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1253 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1254 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1255 - , RDnCMP_CMD, 0x70030028, 0x5959c119bf634718 // 1256 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1256 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1257 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1258 - , RDnCMP_CMD, 0x70030028, 0x27d3d001bf634718 // 1259 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1259 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1260 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1261 - , RDnCMP_CMD, 0x70030028, 0xf501e9ffbf634718 // 1262 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1262 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1263 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1264 - , RDnCMP_CMD, 0x70030028, 0x386cca31bf634718 // 1265 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1265 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1266 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1267 - , RDnCMP_CMD, 0x70030028, 0x2045be18bf634718 // 1268 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1268 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1269 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1270 - , RDnCMP_CMD, 0x70030028, 0xd2a93e2ebf634718 // 1271 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1271 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1272 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1273 - , RDnCMP_CMD, 0x70030028, 0xedc0e9fabf634718 // 1274 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1274 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1275 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1276 - , RDnCMP_CMD, 0x70030028, 0x643173f3bf634718 // 1277 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1277 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1278 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1279 - , RDnCMP_CMD, 0x70030028, 0xde5cd036bf634718 // 1280 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1280 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1281 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1282 - , RDnCMP_CMD, 0x70030028, 0x41a1c9c3bf634718 // 1283 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1283 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1284 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1285 - , RDnCMP_CMD, 0x70030028, 0x1bdf3e11bf634718 // 1286 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1286 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1287 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1288 - , RDnCMP_CMD, 0x70030028, 0xfcf528efbf634718 // 1289 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1289 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1290 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1291 - , RDnCMP_CMD, 0x70030028, 0x75c7b8cdbf634718 // 1292 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1292 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1293 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1294 - , RDnCMP_CMD, 0x70030028, 0xc974e33dbf634718 // 1295 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1295 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1296 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1297 - , RDnCMP_CMD, 0x70030028, 0xf29b04bdbf634718 // 1298 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1298 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1299 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1300 - , RDnCMP_CMD, 0x70030028, 0x01da4a19bf634718 // 1301 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1301 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1302 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1303 - , RDnCMP_CMD, 0x70030028, 0x51101bbabf634718 // 1304 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1304 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1305 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1306 - , RDnCMP_CMD, 0x70030028, 0xc89a4bf6bf634718 // 1307 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1307 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1308 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1309 - , RDnCMP_CMD, 0x70030028, 0xebaf183bbf634718 // 1310 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1310 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1311 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1312 - , RDnCMP_CMD, 0x70030028, 0xd3972dc5bf634718 // 1313 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1313 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1314 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1315 - , RDnCMP_CMD, 0x70030028, 0xb6d428c1bf634718 // 1316 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1316 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1317 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1318 - , RDnCMP_CMD, 0x70030028, 0x97853603bf634718 // 1319 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1319 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1320 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1321 - , RDnCMP_CMD, 0x70030028, 0x94f0c1f6bf634718 // 1322 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1322 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1323 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1324 - , RDnCMP_CMD, 0x70030028, 0x8e6d34e4bf634718 // 1325 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1325 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1326 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1327 - , RDnCMP_CMD, 0x70030028, 0xdfb9ef1abf634718 // 1328 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1328 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1329 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1330 - , RDnCMP_CMD, 0x70030028, 0xbe279b39bf634718 // 1331 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1331 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1332 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1333 - , RDnCMP_CMD, 0x70030028, 0x7e780dc0bf634718 // 1334 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1334 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1335 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1336 - , RDnCMP_CMD, 0x70030028, 0xaee034cdbf634718 // 1337 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1337 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1338 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1339 - , RDnCMP_CMD, 0x70030028, 0xde66bb16bf634718 // 1340 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1340 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1341 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1342 - , RDnCMP_CMD, 0x70030028, 0xfe076cf3bf634718 // 1343 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1343 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1344 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1345 - , RDnCMP_CMD, 0x70030028, 0xda5469f0bf634718 // 1346 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1346 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1347 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1348 - , RDnCMP_CMD, 0x70030028, 0x4fcf58c6bf634718 // 1349 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1349 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1350 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1351 - , RDnCMP_CMD, 0x70030028, 0xb2e40b25bf634718 // 1352 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1352 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1353 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1354 - , RDnCMP_CMD, 0x70030028, 0x8016ca0ebf634718 // 1355 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1355 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1356 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1357 - , RDnCMP_CMD, 0x70030028, 0xc90f9bccbf634718 // 1358 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1358 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1359 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1360 - , RDnCMP_CMD, 0x70030028, 0x118a67cbbf634718 // 1361 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1361 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1362 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1363 - , RDnCMP_CMD, 0x70030028, 0x84b66cc9bf634718 // 1364 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1364 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1365 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1366 - , RDnCMP_CMD, 0x70030028, 0xd6fbf4fabf634718 // 1367 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1367 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1368 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1369 - , RDnCMP_CMD, 0x70030028, 0x9b35fc38bf634718 // 1370 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1370 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1371 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1372 - , RDnCMP_CMD, 0x70030028, 0x0682722dbf634718 // 1373 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1373 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1374 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1375 - , RDnCMP_CMD, 0x70030028, 0xccb4a51bbf634718 // 1376 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1376 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1377 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1378 - , RDnCMP_CMD, 0x70030028, 0x2e5f88c3bf634718 // 1379 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1379 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1380 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1381 - , RDnCMP_CMD, 0x70030028, 0x1e024500bf634718 // 1382 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1382 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1383 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1384 - , RDnCMP_CMD, 0x70030028, 0xa79f4cf5bf634718 // 1385 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1385 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1386 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1387 - , RDnCMP_CMD, 0x70030028, 0x052b3eecbf634718 // 1388 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1388 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1389 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1390 - , RDnCMP_CMD, 0x70030028, 0x30ff83bfbf634718 // 1391 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1391 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1392 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1393 - , RDnCMP_CMD, 0x70030028, 0x51d5540bbf634718 // 1394 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1394 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1395 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1396 - , RDnCMP_CMD, 0x70030028, 0x701d3dc2bf634718 // 1397 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1397 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1398 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1399 - , RDnCMP_CMD, 0x70030028, 0x14bff302bf634718 // 1400 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1400 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1401 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1402 - , RDnCMP_CMD, 0x70030028, 0x05d9acc7bf634718 // 1403 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1403 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1404 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1405 - , RDnCMP_CMD, 0x70030028, 0x51fb1e1abf634718 // 1406 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1406 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1407 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1408 - , RDnCMP_CMD, 0x70030028, 0x396d10f9bf634718 // 1409 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1409 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1410 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1411 - , RDnCMP_CMD, 0x70030028, 0x1f3d95d1bf634718 // 1412 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1412 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1413 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1414 - , RDnCMP_CMD, 0x70030028, 0x700c72ccbf634718 // 1415 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1415 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1416 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1417 - , RDnCMP_CMD, 0x70030028, 0x1d4f0916bf634718 // 1418 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1418 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1419 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1420 - , RDnCMP_CMD, 0x70030028, 0x29067fc6bf634718 // 1421 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1421 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1422 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1423 - , RDnCMP_CMD, 0x70030028, 0xb1a0accabf634718 // 1424 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1424 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1425 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1426 - , RDnCMP_CMD, 0x70030028, 0xd0d8a11dbf634718 // 1427 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1427 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1428 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1429 - , RDnCMP_CMD, 0x70030028, 0x5670d309bf634718 // 1430 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1430 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1431 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1432 - , RDnCMP_CMD, 0x70030028, 0x035fcde4bf634718 // 1433 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1433 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1434 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1435 - , RDnCMP_CMD, 0x70030028, 0x1c87b0c1bf634718 // 1436 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1436 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1437 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1438 - , RDnCMP_CMD, 0x70030028, 0x591506f6bf634718 // 1439 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1439 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1440 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1441 - , RDnCMP_CMD, 0x70030028, 0x84a24506bf634718 // 1442 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1442 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1443 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1444 - , RDnCMP_CMD, 0x70030028, 0x792971c5bf634718 // 1445 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1445 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1446 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1447 - , RDnCMP_CMD, 0x70030028, 0xd318dd05bf634718 // 1448 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1448 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1449 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1450 - , RDnCMP_CMD, 0x70030028, 0x0043eec5bf634718 // 1451 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1451 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1452 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1453 - , RDnCMP_CMD, 0x70030028, 0xf47f7d2abf634718 // 1454 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1454 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1455 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1456 - , RDnCMP_CMD, 0x70030028, 0x63504407bf634718 // 1457 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1457 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1458 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1459 - , RDnCMP_CMD, 0x70030028, 0x810e64dbbf634718 // 1460 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1460 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1461 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1462 - , RDnCMP_CMD, 0x70030028, 0xa008bd28bf634718 // 1463 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1463 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1464 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1465 - , RDnCMP_CMD, 0x70030028, 0xe2f51f35bf634718 // 1466 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1466 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1467 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1468 - , RDnCMP_CMD, 0x70030028, 0x00089fc6bf634718 // 1469 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1469 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1470 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1471 - , RDnCMP_CMD, 0x70030028, 0xf98be7ddbf634718 // 1472 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1472 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1473 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1474 - , RDnCMP_CMD, 0x70030028, 0x5c425420bf634718 // 1475 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1475 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1476 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1477 - , RDnCMP_CMD, 0x70030028, 0x8339ff10bf634718 // 1478 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1478 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1479 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1480 - , RDnCMP_CMD, 0x70030028, 0xb6d5ff0dbf634718 // 1481 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1481 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1482 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1483 - , RDnCMP_CMD, 0x70030028, 0xc9850cd4bf634718 // 1484 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1484 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1485 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1486 - , RDnCMP_CMD, 0x70030028, 0x087f70c6bf634718 // 1487 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1487 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1488 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1489 - , RDnCMP_CMD, 0x70030028, 0x2ce95217bf634718 // 1490 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1490 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1491 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1492 - , RDnCMP_CMD, 0x70030028, 0x6f1abf0bbf634718 // 1493 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1493 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1494 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1495 - , RDnCMP_CMD, 0x70030028, 0xcec15b08bf634718 // 1496 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1496 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1497 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1498 - , RDnCMP_CMD, 0x70030028, 0xe1fec62ebf634718 // 1499 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1499 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1500 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1501 - , RDnCMP_CMD, 0x70030028, 0x174988e5bf634718 // 1502 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1502 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1503 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1504 - , RDnCMP_CMD, 0x70030028, 0x5bf9ffedbf634718 // 1505 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1505 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1506 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1507 - , RDnCMP_CMD, 0x70030028, 0xd06b4d0ebf634718 // 1508 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1508 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1509 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1510 - , RDnCMP_CMD, 0x70030028, 0xc1769ef9bf634718 // 1511 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1511 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1512 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1513 - , RDnCMP_CMD, 0x70030028, 0xe870ecefbf634718 // 1514 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1514 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1515 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1516 - , RDnCMP_CMD, 0x70030028, 0x69c22fc9bf634718 // 1517 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1517 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1518 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1519 - , RDnCMP_CMD, 0x70030028, 0x67cca415bf634718 // 1520 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1520 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1521 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1522 - , RDnCMP_CMD, 0x70030028, 0xeb595cbebf634718 // 1523 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1523 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1524 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1525 - , RDnCMP_CMD, 0x70030028, 0x13d6d0c8bf634718 // 1526 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1526 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1527 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1528 - , RDnCMP_CMD, 0x70030028, 0xd19f0f2bbf634718 // 1529 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1529 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1530 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1531 - , RDnCMP_CMD, 0x70030028, 0xad694a28bf634718 // 1532 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1532 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1533 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1534 - , RDnCMP_CMD, 0x70030028, 0x7db75ec8bf634718 // 1535 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1535 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1536 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1537 - , RDnCMP_CMD, 0x70030028, 0x5f61da1cbf634718 // 1538 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1538 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1539 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1540 - , RDnCMP_CMD, 0x70030028, 0x11bbb01ebf634718 // 1541 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1541 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1542 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1543 - , RDnCMP_CMD, 0x70030028, 0x34904b0fbf634718 // 1544 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1544 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1545 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1546 - , RDnCMP_CMD, 0x70030028, 0x133c4e2abf634718 // 1547 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1547 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1548 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1549 - , RDnCMP_CMD, 0x70030028, 0x6e290437bf634718 // 1550 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1550 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1551 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1552 - , RDnCMP_CMD, 0x70030028, 0xfda5f2eabf634718 // 1553 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1553 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1554 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1555 - , RDnCMP_CMD, 0x70030028, 0xcfcda210bf634718 // 1556 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1556 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1557 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1558 - , RDnCMP_CMD, 0x70030028, 0xa27b47fbbf634718 // 1559 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1559 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1560 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1561 - , RDnCMP_CMD, 0x70030028, 0x0969ebfcbf634718 // 1562 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1562 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1563 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1564 - , RDnCMP_CMD, 0x70030028, 0xfdabd4c9bf634718 // 1565 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1565 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1566 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1567 - , RDnCMP_CMD, 0x70030028, 0x06f74b0dbf634718 // 1568 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1568 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1569 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1570 - , RDnCMP_CMD, 0x70030028, 0x70e009d8bf634718 // 1571 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1571 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1572 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1573 - , RDnCMP_CMD, 0x70030028, 0x31cc880fbf634718 // 1574 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1574 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1575 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1576 - , RDnCMP_CMD, 0x70030028, 0xc18a90c4bf634718 // 1577 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1577 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1578 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1579 - , RDnCMP_CMD, 0x70030028, 0xc04ed513bf634718 // 1580 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1580 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1581 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1582 - , RDnCMP_CMD, 0x70030028, 0xf7822edbbf634718 // 1583 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1583 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1584 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1585 - , RDnCMP_CMD, 0x70030028, 0x3bbe5a38bf634718 // 1586 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1586 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1587 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1588 - , RDnCMP_CMD, 0x70030028, 0x795296bfbf634718 // 1589 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1589 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1590 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1591 - , RDnCMP_CMD, 0x70030028, 0x33f7ba0abf634718 // 1592 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1592 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1593 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1594 - , RDnCMP_CMD, 0x70030028, 0xcb012cedbf634718 // 1595 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1595 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1596 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1597 - , RDnCMP_CMD, 0x70030028, 0x286118eebf634718 // 1598 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1598 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1599 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1600 - , RDnCMP_CMD, 0x70030028, 0x77f32908bf634718 // 1601 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1601 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1602 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1603 - , RDnCMP_CMD, 0x70030028, 0xffd76cffbf634718 // 1604 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1604 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1605 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1606 - , RDnCMP_CMD, 0x70030028, 0x18539ebdbf634718 // 1607 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1607 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1608 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1609 - , RDnCMP_CMD, 0x70030028, 0x1e11a8d1bf634718 // 1610 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1610 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1611 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1612 - , RDnCMP_CMD, 0x70030028, 0xfcbba52abf634718 // 1613 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1613 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1614 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1615 - , RDnCMP_CMD, 0x70030028, 0x16b9d329bf634718 // 1616 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1616 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1617 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1618 - , RDnCMP_CMD, 0x70030028, 0x673163fabf634718 // 1619 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1619 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1620 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1621 - , RDnCMP_CMD, 0x70030028, 0xc49ce2d6bf634718 // 1622 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1622 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1623 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1624 - , RDnCMP_CMD, 0x70030028, 0x6aade714bf634718 // 1625 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1625 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1626 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1627 - , RDnCMP_CMD, 0x70030028, 0x813df6f1bf634718 // 1628 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1628 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1629 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1630 - , RDnCMP_CMD, 0x70030028, 0xe06ae91ebf634718 // 1631 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1631 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1632 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1633 - , RDnCMP_CMD, 0x70030028, 0x29c911d0bf634718 // 1634 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1634 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1635 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1636 - , RDnCMP_CMD, 0x70030028, 0xcb9bdbeabf634718 // 1637 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1637 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1638 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1639 - , RDnCMP_CMD, 0x70030028, 0xbf634718bf634718 // 1640 + , RDnCMP_CMD, 0x70030028, 0xffffff7fffffff7f // 1640 , WRITE__CMD, 0x70030030, 0x0000000000000001 // 1641 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 1642 , WRITE__CMD, 0x70030018, 0x0000000000000004 // 1643 @@ -4758,7 +4758,7 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030028, 0x0000000000000000 // 4732 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4733 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4734 - , WRITE__CMD, 0x70030028, 0x00000000ceb6f89d // 4735 + , WRITE__CMD, 0x70030028, 0x00000000cb270dfd // 4735 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4736 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4737 , WRITE__CMD, 0x70030050, 0x0000000000000002 // 4738 @@ -4780,7 +4780,7 @@ uint64_t rsa_playback[] = { , RDnCMP_CMD, 0x70030068, 0x0000000000000000 // 4754 , WRITE__CMD, 0x70030070, 0x0000000000000001 // 4755 , WRITE__CMD, 0x70030070, 0x0000000000000000 // 4756 - , RDnCMP_CMD, 0x70030068, 0x0000000002b9fa77 // 4757 + , RDnCMP_CMD, 0x70030068, 0x000000006ebd38c4 // 4757 , WRITE__CMD, 0x70030018, 0x0000000000000004 // 4758 , WRITE__CMD, 0x70030018, 0x0000000000000000 // 4759 , WRITE__CMD, 0x70030010, 0x0000000000010001 // 4760 @@ -4792,10 +4792,10 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030028, 0x0000000000000000 // 4766 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4767 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4768 - , WRITE__CMD, 0x70030028, 0x00000000c1abd68f // 4769 + , WRITE__CMD, 0x70030028, 0x00000000e2846537 // 4769 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4770 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4771 - , WRITE__CMD, 0x70030028, 0x000000003bbca23b // 4772 + , WRITE__CMD, 0x70030028, 0x0000000044f48877 // 4772 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4773 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4774 , WRITE__CMD, 0x70030050, 0x0000000000000003 // 4775 @@ -4804,7 +4804,7 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030040, 0x0000000000000000 // 4778 , WRITE__CMD, 0x70030048, 0x0000000000000003 // 4779 , WRITE__CMD, 0x70030048, 0x0000000000000000 // 4780 - , WRITE__CMD, 0x70030040, 0x00000000c0574d28 // 4781 + , WRITE__CMD, 0x70030040, 0x00000000e1574d28 // 4781 , WRITE__CMD, 0x70030048, 0x0000000000000003 // 4782 , WRITE__CMD, 0x70030048, 0x0000000000000000 // 4783 , WRITE__CMD, 0x70030040, 0x00000000761ef5f0 // 4784 @@ -4820,10 +4820,10 @@ uint64_t rsa_playback[] = { , RDnCMP_CMD, 0x70030068, 0x0000000000000000 // 4794 , WRITE__CMD, 0x70030070, 0x0000000000000001 // 4795 , WRITE__CMD, 0x70030070, 0x0000000000000000 // 4796 - , RDnCMP_CMD, 0x70030068, 0x00000000c1337d65 // 4797 + , RDnCMP_CMD, 0x70030068, 0x0000000051cc9c7a // 4797 , WRITE__CMD, 0x70030070, 0x0000000000000001 // 4798 , WRITE__CMD, 0x70030070, 0x0000000000000000 // 4799 - , RDnCMP_CMD, 0x70030068, 0x00000000dca4284b // 4800 + , RDnCMP_CMD, 0x70030068, 0x0000000073fb99c3 // 4800 , WRITE__CMD, 0x70030018, 0x0000000000000004 // 4801 , WRITE__CMD, 0x70030018, 0x0000000000000000 // 4802 , WRITE__CMD, 0x70030010, 0x0000000000010001 // 4803 @@ -4835,7 +4835,7 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030028, 0x0000000000000000 // 4809 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4810 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4811 - , WRITE__CMD, 0x70030028, 0x00000000d2f49db9 // 4812 + , WRITE__CMD, 0x70030028, 0x00000000b880de55 // 4812 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4813 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4814 , WRITE__CMD, 0x70030050, 0x0000000000000002 // 4815 @@ -4857,7 +4857,7 @@ uint64_t rsa_playback[] = { , RDnCMP_CMD, 0x70030068, 0x0000000000000000 // 4831 , WRITE__CMD, 0x70030070, 0x0000000000000001 // 4832 , WRITE__CMD, 0x70030070, 0x0000000000000000 // 4833 - , RDnCMP_CMD, 0x70030068, 0x0000000052f80a99 // 4834 + , RDnCMP_CMD, 0x70030068, 0x0000000027eac30f // 4834 , WRITE__CMD, 0x70030018, 0x0000000000000004 // 4835 , WRITE__CMD, 0x70030018, 0x0000000000000000 // 4836 , WRITE__CMD, 0x70030010, 0x0000000000010001 // 4837 @@ -4869,10 +4869,10 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030028, 0x0000000000000000 // 4843 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4844 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4845 - , WRITE__CMD, 0x70030028, 0x00000000c250c313 // 4846 + , WRITE__CMD, 0x70030028, 0x00000000ac1c248b // 4846 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4847 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4848 - , WRITE__CMD, 0x70030028, 0x0000000059672435 // 4849 + , WRITE__CMD, 0x70030028, 0x00000000085533a3 // 4849 , WRITE__CMD, 0x70030030, 0x0000000000000003 // 4850 , WRITE__CMD, 0x70030030, 0x0000000000000000 // 4851 , WRITE__CMD, 0x70030050, 0x0000000000000003 // 4852 @@ -4881,7 +4881,7 @@ uint64_t rsa_playback[] = { , WRITE__CMD, 0x70030040, 0x0000000000000000 // 4855 , WRITE__CMD, 0x70030048, 0x0000000000000003 // 4856 , WRITE__CMD, 0x70030048, 0x0000000000000000 // 4857 - , WRITE__CMD, 0x70030040, 0x00000000c17fa3f7 // 4858 + , WRITE__CMD, 0x70030040, 0x00000000ab7fa3f7 // 4858 , WRITE__CMD, 0x70030048, 0x0000000000000003 // 4859 , WRITE__CMD, 0x70030048, 0x0000000000000000 // 4860 , WRITE__CMD, 0x70030040, 0x00000000cfc46207 // 4861 @@ -4897,10 +4897,10 @@ uint64_t rsa_playback[] = { , RDnCMP_CMD, 0x70030068, 0x0000000000000000 // 4871 , WRITE__CMD, 0x70030070, 0x0000000000000001 // 4872 , WRITE__CMD, 0x70030070, 0x0000000000000000 // 4873 - , RDnCMP_CMD, 0x70030068, 0x00000000424c48af // 4874 + , RDnCMP_CMD, 0x70030068, 0x000000008afb7571 // 4874 , WRITE__CMD, 0x70030070, 0x0000000000000001 // 4875 , WRITE__CMD, 0x70030070, 0x0000000000000000 // 4876 - , RDnCMP_CMD, 0x70030068, 0x00000000b073d008 // 4877 + , RDnCMP_CMD, 0x70030068, 0x000000001a868925 // 4877 }; #define rsa_adrBase 0x0070030000 diff --git a/cosim/drivers/vectors/rsa_stimulus.txt.gz b/cosim/drivers/vectors/rsa_stimulus.txt.gz index c9ae418b55ab7a8f369c63e8b63e4488e8ea31af..1796a8f765cb5dbe6019c7a32b5c49a2d2c0b7c0 100644 GIT binary patch literal 500610 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 z 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 literal 507646 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 diff --git a/cosim/drivers/vectors/sha256_playback.h b/cosim/drivers/vectors/sha256_playback.h index ad4a6b3..cc54399 100644 --- a/cosim/drivers/vectors/sha256_playback.h +++ b/cosim/drivers/vectors/sha256_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: sha256. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ #ifndef sha256_playback_H #define sha256_playback_H @@ -361,132 +361,132 @@ uint64_t sha256_playback[] = { , RDnCMP_CMD, 0x70020060, 0xea840958c84266c1 // 335 , RDnCMP_CMD, 0x70020068, 0x113a37486eec6fb4 // 336 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 337 - , WRITE__CMD, 0x70020008, 0xbfe0b3fc5532b9e2 // 338 - , WRITE__CMD, 0x70020010, 0xdac69bc733413e07 // 339 - , WRITE__CMD, 0x70020018, 0xa852dae45accd9cb // 340 - , WRITE__CMD, 0x70020020, 0xf359edf18106d612 // 341 - , WRITE__CMD, 0x70020028, 0x4ee286d38ed8bbd7 // 342 - , WRITE__CMD, 0x70020030, 0x806c2816a3247531 // 343 - , WRITE__CMD, 0x70020038, 0x68dc89c8e49410e4 // 344 - , WRITE__CMD, 0x70020040, 0xb4dacc335a0f3d01 // 345 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 338 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 339 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 340 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 341 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 342 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 343 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 344 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 345 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 346 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 347 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 348 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 349 - , WRITE__CMD, 0x70020008, 0x98159429a755c61a // 350 - , WRITE__CMD, 0x70020010, 0x3a0ce3bc087200e1 // 351 - , WRITE__CMD, 0x70020018, 0x4dcd2f24d1d7aaf2 // 352 - , WRITE__CMD, 0x70020020, 0x9a5e1e25338fa22a // 353 - , WRITE__CMD, 0x70020028, 0xcb182ad3d813ebff // 354 - , WRITE__CMD, 0x70020030, 0x081e153895610cf7 // 355 - , WRITE__CMD, 0x70020038, 0x8a49c6383828f7f5 // 356 - , WRITE__CMD, 0x70020040, 0xfff0ca076b568a04 // 357 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 350 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 351 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 352 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 353 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 354 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 355 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 356 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 357 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 358 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 359 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 360 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 361 - , WRITE__CMD, 0x70020008, 0xf548efc1ecb96f2f // 362 - , WRITE__CMD, 0x70020010, 0x34d9242d0c2f4ae8 // 363 - , WRITE__CMD, 0x70020018, 0x465d2fdd50b726f7 // 364 - , WRITE__CMD, 0x70020020, 0x2681711e92a171fd // 365 - , WRITE__CMD, 0x70020028, 0x49dd5226bbd8fde3 // 366 - , WRITE__CMD, 0x70020030, 0xb2a327e7546c8ddc // 367 - , WRITE__CMD, 0x70020038, 0x3367bf2f53c8e6dc // 368 - , WRITE__CMD, 0x70020040, 0x280f3901a4413337 // 369 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 362 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 363 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 364 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 365 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 366 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 367 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 368 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 369 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 370 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 371 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 372 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 373 - , WRITE__CMD, 0x70020008, 0x6cd4081ba6882037 // 374 - , WRITE__CMD, 0x70020010, 0x6ff6b8d0db4e7d0d // 375 - , WRITE__CMD, 0x70020018, 0xb35c1a3059ebffdb // 376 - , WRITE__CMD, 0x70020020, 0x2e06fcf57095831d // 377 - , WRITE__CMD, 0x70020028, 0x8a4d71bf7cb16dc6 // 378 - , WRITE__CMD, 0x70020030, 0xf447cf06d3d3d227 // 379 - , WRITE__CMD, 0x70020038, 0x06ea8533c0d5dcc0 // 380 - , WRITE__CMD, 0x70020040, 0xbd7186091acbd22e // 381 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 374 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 375 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 376 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 377 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 378 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 379 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 380 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 381 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 382 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 383 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 384 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 385 - , WRITE__CMD, 0x70020008, 0xff3819167ea324ff // 386 - , WRITE__CMD, 0x70020010, 0x9e42ba0e73bc2924 // 387 - , WRITE__CMD, 0x70020018, 0x0256e7fa1be4942b // 388 - , WRITE__CMD, 0x70020020, 0xc8e7e1d0ce7b9935 // 389 - , WRITE__CMD, 0x70020028, 0x8727dac8ab4f1508 // 390 - , WRITE__CMD, 0x70020030, 0xed80000000000000 // 391 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 386 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 387 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 388 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 389 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 390 + , WRITE__CMD, 0x70020030, 0xff80000000000000 // 391 , WRITE__CMD, 0x70020038, 0x0000000000000000 // 392 , WRITE__CMD, 0x70020040, 0x0000000000000948 // 393 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 394 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 395 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 396 - , RDnCMP_CMD, 0x70020050, 0x8bedb3de9b1d0dc0 // 397 - , RDnCMP_CMD, 0x70020058, 0xdf1223e504e8d008 // 398 - , RDnCMP_CMD, 0x70020060, 0x1121c0e74ae763a9 // 399 - , RDnCMP_CMD, 0x70020068, 0xf4d7da7741271f25 // 400 + , RDnCMP_CMD, 0x70020050, 0x448576f9e442936e // 397 + , RDnCMP_CMD, 0x70020058, 0x8712d9092e156fa1 // 398 + , RDnCMP_CMD, 0x70020060, 0x26258f4ba6b2f7b2 // 399 + , RDnCMP_CMD, 0x70020068, 0x82d12d432174d58c // 400 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 401 - , WRITE__CMD, 0x70020008, 0xe929b5ea49ce2bc7 // 402 - , WRITE__CMD, 0x70020010, 0x8feb270e3b167cda // 403 - , WRITE__CMD, 0x70020018, 0x31f0d5cc7f441729 // 404 - , WRITE__CMD, 0x70020020, 0xf82b7f2b1b5886d1 // 405 - , WRITE__CMD, 0x70020028, 0x1e2ff1d35a818523 // 406 - , WRITE__CMD, 0x70020030, 0x19f6c30302426324 // 407 - , WRITE__CMD, 0x70020038, 0x38f51dd9804903e9 // 408 - , WRITE__CMD, 0x70020040, 0x225502341b3b05e5 // 409 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 402 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 403 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 404 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 405 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 406 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 407 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 408 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 409 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 410 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 411 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 412 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 413 - , WRITE__CMD, 0x70020008, 0xd61886e6824a57e0 // 414 - , WRITE__CMD, 0x70020010, 0x7a50ac0c51078dc0 // 415 - , WRITE__CMD, 0x70020018, 0x479d58c1dc0a3235 // 416 - , WRITE__CMD, 0x70020020, 0xc05720184a90b4db // 417 - , WRITE__CMD, 0x70020028, 0x5e2405f5d5b0c6c5 // 418 - , WRITE__CMD, 0x70020030, 0xb5450b05084caf39 // 419 - , WRITE__CMD, 0x70020038, 0xf115f41575c6a724 // 420 - , WRITE__CMD, 0x70020040, 0xda65a8d0881f0fda // 421 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 414 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 415 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 416 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 417 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 418 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 419 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 420 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 421 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 422 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 423 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 424 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 425 - , WRITE__CMD, 0x70020008, 0x93adcc0a8561fff8 // 426 - , WRITE__CMD, 0x70020010, 0x7a8377c379188215 // 427 - , WRITE__CMD, 0x70020018, 0xc50fd72e8b28e9ba // 428 - , WRITE__CMD, 0x70020020, 0x5ebc35c3744f8b22 // 429 - , WRITE__CMD, 0x70020028, 0x2f2d5dbba4c46c37 // 430 - , WRITE__CMD, 0x70020030, 0xc1015df79512701b // 431 - , WRITE__CMD, 0x70020038, 0x265e72c20c8d383c // 432 - , WRITE__CMD, 0x70020040, 0xea5a5ecc26bdaa14 // 433 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 426 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 427 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 428 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 429 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 430 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 431 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 432 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 433 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 434 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 435 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 436 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 437 - , WRITE__CMD, 0x70020008, 0x2b177a0f510469ef // 438 - , WRITE__CMD, 0x70020010, 0x4e3507fc37715e34 // 439 - , WRITE__CMD, 0x70020018, 0x5e5718bd72dbf321 // 440 - , WRITE__CMD, 0x70020020, 0x31e7912d00cc7abb // 441 - , WRITE__CMD, 0x70020028, 0x8ff799080cc20001 // 442 - , WRITE__CMD, 0x70020030, 0xae9e1fbf1f74631c // 443 - , WRITE__CMD, 0x70020038, 0xa2330706df4023c9 // 444 - , WRITE__CMD, 0x70020040, 0x3f1887dfda077733 // 445 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 438 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 439 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 440 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 441 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 442 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 443 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 444 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 445 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 446 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 447 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 448 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 449 - , WRITE__CMD, 0x70020008, 0x162f74cae88eac0a // 450 - , WRITE__CMD, 0x70020010, 0xd1ab88d05298b7fb // 451 - , WRITE__CMD, 0x70020018, 0xfeaf9c10da57f7f9 // 452 - , WRITE__CMD, 0x70020020, 0x628ae0e63b883ffe // 453 - , WRITE__CMD, 0x70020028, 0xe0d2bace0b6b6ace // 454 - , WRITE__CMD, 0x70020030, 0x99fe3f15441beafe // 455 - , WRITE__CMD, 0x70020038, 0xe291fdf11ac9f804 // 456 - , WRITE__CMD, 0x70020040, 0x58ddd91baed5712e // 457 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 450 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 451 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 452 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 453 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 454 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 455 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 456 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 457 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 458 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 459 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 460 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 461 - , WRITE__CMD, 0x70020008, 0x1cd1b42b8607c4d4 // 462 - , WRITE__CMD, 0x70020010, 0xa9c4800000000000 // 463 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 462 + , WRITE__CMD, 0x70020010, 0xffff800000000000 // 463 , WRITE__CMD, 0x70020018, 0x0000000000000000 // 464 , WRITE__CMD, 0x70020020, 0x0000000000000000 // 465 , WRITE__CMD, 0x70020028, 0x0000000000000000 // 466 @@ -496,161 +496,161 @@ uint64_t sha256_playback[] = { , WRITE__CMD, 0x70020000, 0x0000000000000004 // 470 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 471 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 472 - , RDnCMP_CMD, 0x70020050, 0x90eab4bb54c58d1a // 473 - , RDnCMP_CMD, 0x70020058, 0xca285ac9f6ba2b68 // 474 - , RDnCMP_CMD, 0x70020060, 0x79d82c1a53acc096 // 475 - , RDnCMP_CMD, 0x70020068, 0xafd9db8fa30c42be // 476 + , RDnCMP_CMD, 0x70020050, 0x01112e20e7c50847 // 473 + , RDnCMP_CMD, 0x70020058, 0xfd989afd0dcf66d5 // 474 + , RDnCMP_CMD, 0x70020060, 0x906bb8e455c451fc // 475 + , RDnCMP_CMD, 0x70020068, 0xa0f27bad453c589d // 476 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 477 - , WRITE__CMD, 0x70020008, 0x4dd1e5c3f98546d4 // 478 - , WRITE__CMD, 0x70020010, 0x2ddaf9fe2052fc0a // 479 - , WRITE__CMD, 0x70020018, 0x8ed873100ec0f0e4 // 480 - , WRITE__CMD, 0x70020020, 0x75d0b7d03380f534 // 481 - , WRITE__CMD, 0x70020028, 0x00c77a003492eb0f // 482 - , WRITE__CMD, 0x70020030, 0xff5a2705888801e9 // 483 - , WRITE__CMD, 0x70020038, 0x986a51e9fe71f4bf // 484 - , WRITE__CMD, 0x70020040, 0x093f74de1c096cc2 // 485 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 478 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 479 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 480 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 481 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 482 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 483 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 484 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 485 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 486 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 487 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 488 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 489 - , WRITE__CMD, 0x70020008, 0x6db43b123e580c29 // 490 - , WRITE__CMD, 0x70020010, 0x9977e51ff3c134f6 // 491 - , WRITE__CMD, 0x70020018, 0xcf2419e771d7452f // 492 - , WRITE__CMD, 0x70020020, 0x42026dd3b4e1bec8 // 493 - , WRITE__CMD, 0x70020028, 0xa65a92f1f8dd840c // 494 - , WRITE__CMD, 0x70020030, 0x78986c32cffdd30b // 495 - , WRITE__CMD, 0x70020038, 0x8d4401eb55203fd5 // 496 - , WRITE__CMD, 0x70020040, 0xffa4331b03ff36c0 // 497 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 490 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 491 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 492 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 493 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 494 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 495 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 496 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 497 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 498 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 499 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 500 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 501 - , WRITE__CMD, 0x70020008, 0x36b130e339e388cb // 502 - , WRITE__CMD, 0x70020010, 0x0de486d9151f0533 // 503 - , WRITE__CMD, 0x70020018, 0x637ce2e3626e0ec0 // 504 - , WRITE__CMD, 0x70020020, 0x0bab51020f0b6de6 // 505 - , WRITE__CMD, 0x70020028, 0x34743aec6b642f03 // 506 - , WRITE__CMD, 0x70020030, 0xf5186a368395caf0 // 507 - , WRITE__CMD, 0x70020038, 0x450a28e8eaad1a37 // 508 - , WRITE__CMD, 0x70020040, 0x62b7d10072d10319 // 509 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 502 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 503 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 504 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 505 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 506 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 507 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 508 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 509 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 510 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 511 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 512 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 513 - , WRITE__CMD, 0x70020008, 0x074424e8436969ef // 514 - , WRITE__CMD, 0x70020010, 0x7d5061c671d5a9e8 // 515 - , WRITE__CMD, 0x70020018, 0x3e7ccfd09d115624 // 516 - , WRITE__CMD, 0x70020020, 0xb9c035223b1ec136 // 517 - , WRITE__CMD, 0x70020028, 0x1df045095be2982b // 518 - , WRITE__CMD, 0x70020030, 0x8eedd3c13b070809 // 519 - , WRITE__CMD, 0x70020038, 0xc2d3fd115e447e15 // 520 - , WRITE__CMD, 0x70020040, 0xabc0efdc5d689c1c // 521 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 514 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 515 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 516 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 517 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 518 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 519 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 520 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 521 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 522 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 523 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 524 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 525 - , WRITE__CMD, 0x70020008, 0x982a35f966c92ce1 // 526 - , WRITE__CMD, 0x70020010, 0x11a31dcd09b080f8 // 527 - , WRITE__CMD, 0x70020018, 0x7b4e5bf21b7fd50f // 528 - , WRITE__CMD, 0x70020020, 0xe853ccc2ef4cf3fe // 529 - , WRITE__CMD, 0x70020028, 0x74e499373387ee33 // 530 - , WRITE__CMD, 0x70020030, 0x7daeb9cebc630ef7 // 531 - , WRITE__CMD, 0x70020038, 0x56217a335e7be612 // 532 - , WRITE__CMD, 0x70020040, 0xd9758af2e38415cb // 533 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 526 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 527 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 528 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 529 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 530 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 531 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 532 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 533 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 534 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 535 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 536 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 537 - , WRITE__CMD, 0x70020008, 0x5909cedfc9cd26f4 // 538 - , WRITE__CMD, 0x70020010, 0x52e6fe013e4bb9ef // 539 - , WRITE__CMD, 0x70020018, 0x27e0f41cf06c9822 // 540 - , WRITE__CMD, 0x70020020, 0x86b557e49b0d7f17 // 541 - , WRITE__CMD, 0x70020028, 0xb1f8280fb365b72f // 542 - , WRITE__CMD, 0x70020030, 0xc7f1538000000000 // 543 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 538 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 539 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 540 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 541 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 542 + , WRITE__CMD, 0x70020030, 0xffffff8000000000 // 543 , WRITE__CMD, 0x70020038, 0x0000000000000000 // 544 , WRITE__CMD, 0x70020040, 0x0000000000000b58 // 545 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 546 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 547 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 548 - , RDnCMP_CMD, 0x70020050, 0x684f687a87daf47d // 549 - , RDnCMP_CMD, 0x70020058, 0x236e24731088a098 // 550 - , RDnCMP_CMD, 0x70020060, 0xe7c3f3d2801615b0 // 551 - , RDnCMP_CMD, 0x70020068, 0x08944ea74a4a37fb // 552 + , RDnCMP_CMD, 0x70020050, 0x7812782e0685104e // 549 + , RDnCMP_CMD, 0x70020058, 0xe754a9f22e8c5e5f // 550 + , RDnCMP_CMD, 0x70020060, 0x3a5558df3c31a137 // 551 + , RDnCMP_CMD, 0x70020068, 0x94de5b1e97e150ca // 552 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 553 - , WRITE__CMD, 0x70020008, 0x2c884fc791759fde // 554 - , WRITE__CMD, 0x70020010, 0x535f9b162abdfddb // 555 - , WRITE__CMD, 0x70020018, 0xeab5d9da7ca766c2 // 556 - , WRITE__CMD, 0x70020020, 0x05ac881bda53dee0 // 557 - , WRITE__CMD, 0x70020028, 0x6929f70285aaabcb // 558 - , WRITE__CMD, 0x70020030, 0xb40750f73fd98e0c // 559 - , WRITE__CMD, 0x70020038, 0x3019880cc5ccb713 // 560 - , WRITE__CMD, 0x70020040, 0x96933e1f502f8909 // 561 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 554 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 555 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 556 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 557 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 558 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 559 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 560 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 561 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 562 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 563 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 564 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 565 - , WRITE__CMD, 0x70020008, 0x3ba492336dc5b720 // 566 - , WRITE__CMD, 0x70020010, 0x95ecd5dcedc76e16 // 567 - , WRITE__CMD, 0x70020018, 0xee42e6033099f8e7 // 568 - , WRITE__CMD, 0x70020020, 0xea168fc51eb7f310 // 569 - , WRITE__CMD, 0x70020028, 0x3ad3cf13151b68d1 // 570 - , WRITE__CMD, 0x70020030, 0x97b03c0ed105c826 // 571 - , WRITE__CMD, 0x70020038, 0x5f5d332f189a7537 // 572 - , WRITE__CMD, 0x70020040, 0x9a6d0df949af2f1c // 573 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 566 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 567 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 568 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 569 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 570 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 571 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 572 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 573 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 574 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 575 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 576 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 577 - , WRITE__CMD, 0x70020008, 0xcc178fe4075b9ae2 // 578 - , WRITE__CMD, 0x70020010, 0x1a3a4410fc0cfad1 // 579 - , WRITE__CMD, 0x70020018, 0x7775680db97dcfd4 // 580 - , WRITE__CMD, 0x70020020, 0x373f6de12fefa4c7 // 581 - , WRITE__CMD, 0x70020028, 0xbc34fac50a98aff6 // 582 - , WRITE__CMD, 0x70020030, 0x5da0efe0b01ad1c0 // 583 - , WRITE__CMD, 0x70020038, 0xbc3399e59f37c4e3 // 584 - , WRITE__CMD, 0x70020040, 0xb914a6f41ec72fc1 // 585 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 578 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 579 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 580 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 581 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 582 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 583 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 584 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 585 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 586 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 587 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 588 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 589 - , WRITE__CMD, 0x70020008, 0xb94d1c219ddf15e9 // 590 - , WRITE__CMD, 0x70020010, 0x717ba1e44d300dee // 591 - , WRITE__CMD, 0x70020018, 0x12d508ca0e569af8 // 592 - , WRITE__CMD, 0x70020020, 0x6cb79ad6d8f05120 // 593 - , WRITE__CMD, 0x70020028, 0xc4c0d6dbb6d0b723 // 594 - , WRITE__CMD, 0x70020030, 0xc7da251264dc0111 // 595 - , WRITE__CMD, 0x70020038, 0x690d16ffce005dd0 // 596 - , WRITE__CMD, 0x70020040, 0x65ddbcd1c4fb47fc // 597 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 590 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 591 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 592 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 593 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 594 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 595 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 596 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 597 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 598 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 599 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 600 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 601 - , WRITE__CMD, 0x70020008, 0x81f54bea9627ebc9 // 602 - , WRITE__CMD, 0x70020010, 0x9e5d9f1cebe5f726 // 603 - , WRITE__CMD, 0x70020018, 0x2ca484f23759da01 // 604 - , WRITE__CMD, 0x70020020, 0xf3a4ae03a905e3f0 // 605 - , WRITE__CMD, 0x70020028, 0xa3972ae870ad5818 // 606 - , WRITE__CMD, 0x70020030, 0xedad19da0e6444d1 // 607 - , WRITE__CMD, 0x70020038, 0x7a4fe0bf2f07dc09 // 608 - , WRITE__CMD, 0x70020040, 0x46fe6038a72c1cda // 609 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 602 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 603 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 604 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 605 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 606 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 607 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 608 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 609 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 610 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 611 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 612 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 613 - , WRITE__CMD, 0x70020008, 0xf7c5b927fe9b59bf // 614 - , WRITE__CMD, 0x70020010, 0x25b4ced297f2f32e // 615 - , WRITE__CMD, 0x70020018, 0x03149e018ecc311f // 616 - , WRITE__CMD, 0x70020020, 0xc5213c20072196cb // 617 - , WRITE__CMD, 0x70020028, 0x32b24f1a30d193da // 618 - , WRITE__CMD, 0x70020030, 0x2f4b63c75b98dfec // 619 - , WRITE__CMD, 0x70020038, 0x273bfb253c4ff9d7 // 620 - , WRITE__CMD, 0x70020040, 0x0d80a5db3546aedc // 621 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 614 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 615 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 616 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 617 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 618 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 619 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 620 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 621 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 622 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 623 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 624 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 625 - , WRITE__CMD, 0x70020008, 0x13581ae2126397c6 // 626 - , WRITE__CMD, 0x70020010, 0xfba2833c80000000 // 627 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 626 + , WRITE__CMD, 0x70020010, 0xffffff7f80000000 // 627 , WRITE__CMD, 0x70020018, 0x0000000000000000 // 628 , WRITE__CMD, 0x70020020, 0x0000000000000000 // 629 , WRITE__CMD, 0x70020028, 0x0000000000000000 // 630 @@ -660,185 +660,185 @@ uint64_t sha256_playback[] = { , WRITE__CMD, 0x70020000, 0x0000000000000004 // 634 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 635 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 636 - , RDnCMP_CMD, 0x70020050, 0xcc124f023147c750 // 637 - , RDnCMP_CMD, 0x70020058, 0x1d0f06f5074926c3 // 638 - , RDnCMP_CMD, 0x70020060, 0x38fe93db0062a959 // 639 - , RDnCMP_CMD, 0x70020068, 0x94e4cf05e1b33835 // 640 + , RDnCMP_CMD, 0x70020050, 0xaa7dbffe4c584b57 // 637 + , RDnCMP_CMD, 0x70020058, 0x340651189ff97c04 // 638 + , RDnCMP_CMD, 0x70020060, 0x7bb89bd4a9d1b381 // 639 + , RDnCMP_CMD, 0x70020068, 0x9fce9139038b8c97 // 640 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 641 - , WRITE__CMD, 0x70020008, 0xae2e4e05824b2602 // 642 - , WRITE__CMD, 0x70020010, 0x48110af419de82d7 // 643 - , WRITE__CMD, 0x70020018, 0xd198661e076ebbf4 // 644 - , WRITE__CMD, 0x70020020, 0xcff1b1fa50772cd8 // 645 - , WRITE__CMD, 0x70020028, 0x8493a70974cd2216 // 646 - , WRITE__CMD, 0x70020030, 0xe77c840d72e5edf9 // 647 - , WRITE__CMD, 0x70020038, 0x3c4295f1c6623630 // 648 - , WRITE__CMD, 0x70020040, 0x1f441d00fb39922f // 649 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 642 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 643 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 644 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 645 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 646 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 647 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 648 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 649 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 650 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 651 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 652 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 653 - , WRITE__CMD, 0x70020008, 0xc86575164d4485e3 // 654 - , WRITE__CMD, 0x70020010, 0x8ef1cb1666c08222 // 655 - , WRITE__CMD, 0x70020018, 0x50fc86edf9fde3f0 // 656 - , WRITE__CMD, 0x70020020, 0x540c101f2e2937c4 // 657 - , WRITE__CMD, 0x70020028, 0x1fd93f3e84d04fca // 658 - , WRITE__CMD, 0x70020030, 0x2583e8c039796223 // 659 - , WRITE__CMD, 0x70020038, 0x762f3a364be38d26 // 660 - , WRITE__CMD, 0x70020040, 0x30ac5fdd4da4160c // 661 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 654 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 655 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 656 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 657 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 658 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 659 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 660 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 661 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 662 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 663 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 664 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 665 - , WRITE__CMD, 0x70020008, 0x51cd80026e98ec1d // 666 - , WRITE__CMD, 0x70020010, 0x06824c18a5956be3 // 667 - , WRITE__CMD, 0x70020018, 0x9001302c07492911 // 668 - , WRITE__CMD, 0x70020020, 0xb070e308e7a7ff1e // 669 - , WRITE__CMD, 0x70020028, 0x32044f3110c16a33 // 670 - , WRITE__CMD, 0x70020030, 0x2e4c9cbf575f72f1 // 671 - , WRITE__CMD, 0x70020038, 0xa87819fe8b2b08c6 // 672 - , WRITE__CMD, 0x70020040, 0xbf79bc3f140ce324 // 673 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 666 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 667 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 668 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 669 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 670 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 671 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 672 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 673 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 674 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 675 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 676 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 677 - , WRITE__CMD, 0x70020008, 0x020ee5f826a96edf // 678 - , WRITE__CMD, 0x70020010, 0xbf9c3a3421880cd9 // 679 - , WRITE__CMD, 0x70020018, 0x8d752a137eba3d04 // 680 - , WRITE__CMD, 0x70020020, 0x2123a2d40c0490f9 // 681 - , WRITE__CMD, 0x70020028, 0xb8719dcb1cc1a7fd // 682 - , WRITE__CMD, 0x70020030, 0xafd3b703ba305634 // 683 - , WRITE__CMD, 0x70020038, 0x7e85202977be65fc // 684 - , WRITE__CMD, 0x70020040, 0xaa2be7d5726664e1 // 685 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 678 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 679 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 680 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 681 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 682 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 683 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 684 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 685 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 686 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 687 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 688 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 689 - , WRITE__CMD, 0x70020008, 0x172d83c33d23952c // 690 - , WRITE__CMD, 0x70020010, 0x3f25620ee18f5fbd // 691 - , WRITE__CMD, 0x70020018, 0x08a13c17325e5222 // 692 - , WRITE__CMD, 0x70020020, 0xfdf061cad682e11a // 693 - , WRITE__CMD, 0x70020028, 0xa3cd3fc11c9ed9ee // 694 - , WRITE__CMD, 0x70020030, 0xe030dedcde01342d // 695 - , WRITE__CMD, 0x70020038, 0x18be9e125553781b // 696 - , WRITE__CMD, 0x70020040, 0x72899bd633aa033b // 697 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 690 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 691 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 692 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 693 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 694 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 695 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 696 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 697 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 698 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 699 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 700 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 701 - , WRITE__CMD, 0x70020008, 0xec453cc9a77636cd // 702 - , WRITE__CMD, 0x70020010, 0xf808c1c1552f9c1e // 703 - , WRITE__CMD, 0x70020018, 0x127233eddc3cb4e8 // 704 - , WRITE__CMD, 0x70020020, 0x12d591fa8d9d2131 // 705 - , WRITE__CMD, 0x70020028, 0xa33eadc236bff719 // 706 - , WRITE__CMD, 0x70020030, 0xea05021336aaabbb // 707 - , WRITE__CMD, 0x70020038, 0x01c015077e6f590f // 708 - , WRITE__CMD, 0x70020040, 0x7e4e08e2bc9c7afd // 709 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 702 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 703 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 704 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 705 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 706 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 707 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 708 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 709 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 710 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 711 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 712 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 713 - , WRITE__CMD, 0x70020008, 0xcd01cac3509d5bd8 // 714 - , WRITE__CMD, 0x70020010, 0xcacde5c3cc5bb0d1 // 715 - , WRITE__CMD, 0x70020018, 0x3b3b1fc6317d233c // 716 - , WRITE__CMD, 0x70020020, 0x76abf5c8558657cc // 717 - , WRITE__CMD, 0x70020028, 0xe191bc0cf133a939 // 718 - , WRITE__CMD, 0x70020030, 0x0fbddb187f800000 // 719 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 714 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 715 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 716 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 717 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 718 + , WRITE__CMD, 0x70020030, 0xffffff7fff800000 // 719 , WRITE__CMD, 0x70020038, 0x0000000000000000 // 720 , WRITE__CMD, 0x70020040, 0x0000000000000d68 // 721 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 722 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 723 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 724 - , RDnCMP_CMD, 0x70020050, 0xd7989bd1864cb7fc // 725 - , RDnCMP_CMD, 0x70020058, 0x514faae5d3f0616f // 726 - , RDnCMP_CMD, 0x70020060, 0xc29bb0f9012a8a38 // 727 - , RDnCMP_CMD, 0x70020068, 0x317ddb279ddde652 // 728 + , RDnCMP_CMD, 0x70020050, 0x0b8c4027cf8a5fbf // 725 + , RDnCMP_CMD, 0x70020058, 0xe5a3d882fb2f180a // 726 + , RDnCMP_CMD, 0x70020060, 0x466d0bceedd181a0 // 727 + , RDnCMP_CMD, 0x70020068, 0x74f63a40d5b6952a // 728 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 729 - , WRITE__CMD, 0x70020008, 0x4ea69028d3d12004 // 730 - , WRITE__CMD, 0x70020010, 0x71979e09ca0a00f8 // 731 - , WRITE__CMD, 0x70020018, 0x8cbb24311844720e // 732 - , WRITE__CMD, 0x70020020, 0x2f27081d85fa86d5 // 733 - , WRITE__CMD, 0x70020028, 0x39c691077d0932e9 // 734 - , WRITE__CMD, 0x70020030, 0xba5f1d2320ade7d0 // 735 - , WRITE__CMD, 0x70020038, 0xff57bff5d6c4b3eb // 736 - , WRITE__CMD, 0x70020040, 0x23662acf1ce2e2fc // 737 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 730 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 731 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 732 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 733 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 734 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 735 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 736 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 737 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 738 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 739 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 740 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 741 - , WRITE__CMD, 0x70020008, 0x8d41fb012e95afc0 // 742 - , WRITE__CMD, 0x70020010, 0xec27d434265306f1 // 743 - , WRITE__CMD, 0x70020018, 0xaaaccae845913501 // 744 - , WRITE__CMD, 0x70020020, 0xd23bcd240441c5e7 // 745 - , WRITE__CMD, 0x70020028, 0x0a8620f4988ecce1 // 746 - , WRITE__CMD, 0x70020030, 0xea822dfb1b5ac2db // 747 - , WRITE__CMD, 0x70020038, 0x315cee1c7d0e0cd6 // 748 - , WRITE__CMD, 0x70020040, 0x850e920c4f4372e9 // 749 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 742 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 743 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 744 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 745 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 746 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 747 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 748 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 749 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 750 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 751 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 752 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 753 - , WRITE__CMD, 0x70020008, 0x67e473f19a8caa1c // 754 - , WRITE__CMD, 0x70020010, 0xc034b8e316b6d41b // 755 - , WRITE__CMD, 0x70020018, 0xc96fbce2aa4a8c2a // 756 - , WRITE__CMD, 0x70020020, 0x233465ec2b1f0400 // 757 - , WRITE__CMD, 0x70020028, 0x8a65632a07b749cd // 758 - , WRITE__CMD, 0x70020030, 0xb47ec8ef28473dcf // 759 - , WRITE__CMD, 0x70020038, 0x0340aee4ee358ad5 // 760 - , WRITE__CMD, 0x70020040, 0xe51101e98a71ef11 // 761 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 754 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 755 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 756 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 757 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 758 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 759 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 760 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 761 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 762 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 763 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 764 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 765 - , WRITE__CMD, 0x70020008, 0x014754fd1fca6a07 // 766 - , WRITE__CMD, 0x70020010, 0xbd1e483224aa0e2e // 767 - , WRITE__CMD, 0x70020018, 0x74265620ee428ff5 // 768 - , WRITE__CMD, 0x70020020, 0x10845f0175ef880a // 769 - , WRITE__CMD, 0x70020028, 0x5f268a1359b88bff // 770 - , WRITE__CMD, 0x70020030, 0x8bbd9ffbb2569ffe // 771 - , WRITE__CMD, 0x70020038, 0xe68bdedfa4463f1d // 772 - , WRITE__CMD, 0x70020040, 0x31796bef72fe3acb // 773 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 766 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 767 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 768 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 769 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 770 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 771 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 772 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 773 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 774 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 775 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 776 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 777 - , WRITE__CMD, 0x70020008, 0x71f401facae6cc37 // 778 - , WRITE__CMD, 0x70020010, 0x89fd23c6ca4e7d3d // 779 - , WRITE__CMD, 0x70020018, 0xea1d0e004af60c07 // 780 - , WRITE__CMD, 0x70020020, 0x385e4e16a34a2a24 // 781 - , WRITE__CMD, 0x70020028, 0xd302a2e393c6c4c2 // 782 - , WRITE__CMD, 0x70020030, 0x69eef0ee0598dc08 // 783 - , WRITE__CMD, 0x70020038, 0x580c0f14340babe2 // 784 - , WRITE__CMD, 0x70020040, 0x56aff7dafc4a50d6 // 785 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 778 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 779 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 780 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 781 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 782 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 783 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 784 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 785 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 786 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 787 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 788 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 789 - , WRITE__CMD, 0x70020008, 0xdb1d1dcfd0a16234 // 790 - , WRITE__CMD, 0x70020010, 0xdbd81fd3b91c3df3 // 791 - , WRITE__CMD, 0x70020018, 0x0a3d6de10cac0ac6 // 792 - , WRITE__CMD, 0x70020020, 0xd2fd80176d8ba6fc // 793 - , WRITE__CMD, 0x70020028, 0x73519e103774722d // 794 - , WRITE__CMD, 0x70020030, 0x2bfa791143d40cf8 // 795 - , WRITE__CMD, 0x70020038, 0x36223e1c44560709 // 796 - , WRITE__CMD, 0x70020040, 0xc895a50f440ab0f8 // 797 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 790 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 791 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 792 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 793 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 794 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 795 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 796 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 797 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 798 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 799 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 800 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 801 - , WRITE__CMD, 0x70020008, 0xb60912d3fa3a67c7 // 802 - , WRITE__CMD, 0x70020010, 0xc69e2bd30f3f291f // 803 - , WRITE__CMD, 0x70020018, 0xc8d38bd3bb53d4fb // 804 - , WRITE__CMD, 0x70020020, 0xcf7b4a3affeab9e3 // 805 - , WRITE__CMD, 0x70020028, 0x4ac79fdeabe1ccd2 // 806 - , WRITE__CMD, 0x70020030, 0x6fc85dd7a5a6c6cd // 807 - , WRITE__CMD, 0x70020038, 0xae608af549227ee8 // 808 - , WRITE__CMD, 0x70020040, 0xa508d52008998bea // 809 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 802 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 803 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 804 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 805 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 806 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 807 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 808 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 809 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 810 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 811 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 812 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 813 - , WRITE__CMD, 0x70020008, 0x5ca48e291b059418 // 814 - , WRITE__CMD, 0x70020010, 0xc93aa10fcdf18000 // 815 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 814 + , WRITE__CMD, 0x70020010, 0xffffff7fffff8000 // 815 , WRITE__CMD, 0x70020018, 0x0000000000000000 // 816 , WRITE__CMD, 0x70020020, 0x0000000000000000 // 817 , WRITE__CMD, 0x70020028, 0x0000000000000000 // 818 @@ -848,209 +848,209 @@ uint64_t sha256_playback[] = { , WRITE__CMD, 0x70020000, 0x0000000000000004 // 822 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 823 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 824 - , RDnCMP_CMD, 0x70020050, 0xaabc9180549d5f85 // 825 - , RDnCMP_CMD, 0x70020058, 0x84e68c28eed14bef // 826 - , RDnCMP_CMD, 0x70020060, 0x1eb4b19bcf756146 // 827 - , RDnCMP_CMD, 0x70020068, 0xf67052eb5e60c9b4 // 828 + , RDnCMP_CMD, 0x70020050, 0xb54af1e28f6999e3 // 825 + , RDnCMP_CMD, 0x70020058, 0x69836ec3a599647e // 826 + , RDnCMP_CMD, 0x70020060, 0x14ed557d7df58f63 // 827 + , RDnCMP_CMD, 0x70020068, 0x2d59a184b7379fc1 // 828 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 829 - , WRITE__CMD, 0x70020008, 0x72229feaaf3e620d // 830 - , WRITE__CMD, 0x70020010, 0xf8031cc16263c212 // 831 - , WRITE__CMD, 0x70020018, 0xe0ffc3dcb8a296e2 // 832 - , WRITE__CMD, 0x70020020, 0xf441d6d2442d50bf // 833 - , WRITE__CMD, 0x70020028, 0x314239e00f2fcaed // 834 - , WRITE__CMD, 0x70020030, 0x0d9bb1efbd7845f3 // 835 - , WRITE__CMD, 0x70020038, 0x5293ab098cf93908 // 836 - , WRITE__CMD, 0x70020040, 0xd2a9d7cc713160ee // 837 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 830 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 831 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 832 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 833 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 834 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 835 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 836 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 837 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 838 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 839 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 840 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 841 - , WRITE__CMD, 0x70020008, 0xa8e83cedb4a213e1 // 842 - , WRITE__CMD, 0x70020010, 0x7e4da6c665e5ff38 // 843 - , WRITE__CMD, 0x70020018, 0xe20b9ae461dbf8f3 // 844 - , WRITE__CMD, 0x70020020, 0xf61d502a3e0bf419 // 845 - , WRITE__CMD, 0x70020028, 0x5d5ec6d8aa304de5 // 846 - , WRITE__CMD, 0x70020030, 0x21480de72eca95f2 // 847 - , WRITE__CMD, 0x70020038, 0x6e0c582302568208 // 848 - , WRITE__CMD, 0x70020040, 0x26f82919cb12e001 // 849 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 842 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 843 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 844 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 845 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 846 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 847 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 848 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 849 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 850 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 851 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 852 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 853 - , WRITE__CMD, 0x70020008, 0xa7fe293bf0a2aa04 // 854 - , WRITE__CMD, 0x70020010, 0x6fb32b0c6e396105 // 855 - , WRITE__CMD, 0x70020018, 0xde4cae084b6d02fb // 856 - , WRITE__CMD, 0x70020020, 0x0a82d01ff3922a06 // 857 - , WRITE__CMD, 0x70020028, 0x52fbe4d6c0c6aad3 // 858 - , WRITE__CMD, 0x70020030, 0x712c8cc775e42109 // 859 - , WRITE__CMD, 0x70020038, 0x4effe61e977ab807 // 860 - , WRITE__CMD, 0x70020040, 0x38d245eb3fd793d3 // 861 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 854 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 855 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 856 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 857 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 858 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 859 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 860 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 861 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 862 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 863 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 864 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 865 - , WRITE__CMD, 0x70020008, 0x40a7d9e24eaa992f // 866 - , WRITE__CMD, 0x70020010, 0x30181a11814489d8 // 867 - , WRITE__CMD, 0x70020018, 0x6c2e2ee4d87d1501 // 868 - , WRITE__CMD, 0x70020020, 0xc0559e048d559dfc // 869 - , WRITE__CMD, 0x70020028, 0x46b9e8c7f8fb4034 // 870 - , WRITE__CMD, 0x70020030, 0x0195890a946f790d // 871 - , WRITE__CMD, 0x70020038, 0x0580f8d560590525 // 872 - , WRITE__CMD, 0x70020040, 0xa90bd2bcf0a416db // 873 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 866 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 867 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 868 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 869 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 870 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 871 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 872 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 873 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 874 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 875 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 876 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 877 - , WRITE__CMD, 0x70020008, 0x2f94f823bee7dfc5 // 878 - , WRITE__CMD, 0x70020010, 0x010e74179b194ff5 // 879 - , WRITE__CMD, 0x70020018, 0x557a2fbf80ca8dca // 880 - , WRITE__CMD, 0x70020020, 0x44371ce7d1128bf2 // 881 - , WRITE__CMD, 0x70020028, 0x6c53b3bea2f1a0d8 // 882 - , WRITE__CMD, 0x70020030, 0xfe1f8cd45f8ff6c2 // 883 - , WRITE__CMD, 0x70020038, 0xa6e8351ad66b29dc // 884 - , WRITE__CMD, 0x70020040, 0x3e98860737062f2d // 885 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 878 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 879 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 880 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 881 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 882 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 883 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 884 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 885 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 886 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 887 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 888 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 889 - , WRITE__CMD, 0x70020008, 0xc88707e76efc1d36 // 890 - , WRITE__CMD, 0x70020010, 0xaa8153e1468110d2 // 891 - , WRITE__CMD, 0x70020018, 0xeec25917d7357d17 // 892 - , WRITE__CMD, 0x70020020, 0x3282ad338e26bbea // 893 - , WRITE__CMD, 0x70020028, 0x7c1a0d308c8af717 // 894 - , WRITE__CMD, 0x70020030, 0x02c037ce48d857c3 // 895 - , WRITE__CMD, 0x70020038, 0x5dbf18c2413e8d39 // 896 - , WRITE__CMD, 0x70020040, 0x963fd0007c163804 // 897 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 890 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 891 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 892 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 893 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 894 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 895 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 896 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 897 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 898 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 899 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 900 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 901 - , WRITE__CMD, 0x70020008, 0xfa0d0a2d7e11142c // 902 - , WRITE__CMD, 0x70020010, 0xd0f640fda402bdcd // 903 - , WRITE__CMD, 0x70020018, 0x1108b7db8b305cc6 // 904 - , WRITE__CMD, 0x70020020, 0x3b4557220b9bc9e6 // 905 - , WRITE__CMD, 0x70020028, 0x80f2ab19d10355be // 906 - , WRITE__CMD, 0x70020030, 0x82a57ce12a275e1f // 907 - , WRITE__CMD, 0x70020038, 0x2b4f8dcb41e8441b // 908 - , WRITE__CMD, 0x70020040, 0xfa0840f742f78ec4 // 909 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 902 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 903 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 904 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 905 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 906 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 907 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 908 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 909 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 910 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 911 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 912 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 913 - , WRITE__CMD, 0x70020008, 0xcda6a2ea89018c24 // 914 - , WRITE__CMD, 0x70020010, 0xdd1588dcb3b644c1 // 915 - , WRITE__CMD, 0x70020018, 0x138ebf0ce4cb88ec // 916 - , WRITE__CMD, 0x70020020, 0x2ea05737b8fbc6e4 // 917 - , WRITE__CMD, 0x70020028, 0x2dfc330d15656d2e // 918 - , WRITE__CMD, 0x70020030, 0x9f8f89e6ce408280 // 919 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 914 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 915 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 916 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 917 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 918 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff80 // 919 , WRITE__CMD, 0x70020038, 0x0000000000000000 // 920 , WRITE__CMD, 0x70020040, 0x0000000000000f78 // 921 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 922 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 923 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 924 - , RDnCMP_CMD, 0x70020050, 0xa48e7f10591bf980 // 925 - , RDnCMP_CMD, 0x70020058, 0xf16698607438951a // 926 - , RDnCMP_CMD, 0x70020060, 0x0f51c044b4d6ef9c // 927 - , RDnCMP_CMD, 0x70020068, 0xb539f0161d99a4e4 // 928 + , RDnCMP_CMD, 0x70020050, 0x97067fa1e801b695 // 925 + , RDnCMP_CMD, 0x70020058, 0x0bc886221147e930 // 926 + , RDnCMP_CMD, 0x70020060, 0x040d547d40bb59c7 // 927 + , RDnCMP_CMD, 0x70020068, 0x6c3ea871ba71aa23 // 928 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 929 - , WRITE__CMD, 0x70020008, 0xf24c6d1d0747c2d5 // 930 - , WRITE__CMD, 0x70020010, 0x2efbe03417cd54e3 // 931 - , WRITE__CMD, 0x70020018, 0x1db22de4b6098625 // 932 - , WRITE__CMD, 0x70020020, 0x70b43306327c9610 // 933 - , WRITE__CMD, 0x70020028, 0xdd9876e846f5b313 // 934 - , WRITE__CMD, 0x70020030, 0xa0efd7ca9174ca03 // 935 - , WRITE__CMD, 0x70020038, 0x1407e4ec85f0c4e9 // 936 - , WRITE__CMD, 0x70020040, 0x0b4ed6d601d83704 // 937 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 930 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 931 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 932 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 933 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 934 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 935 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 936 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 937 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 938 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 939 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 940 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 941 - , WRITE__CMD, 0x70020008, 0x45d304ff98160b20 // 942 - , WRITE__CMD, 0x70020010, 0x9bd6fb2bdf5d7924 // 943 - , WRITE__CMD, 0x70020018, 0xcbd1ed21e0de1bbb // 944 - , WRITE__CMD, 0x70020020, 0x2302701d6a7955d4 // 945 - , WRITE__CMD, 0x70020028, 0x62d21a0257e8ad00 // 946 - , WRITE__CMD, 0x70020030, 0x1816f738d2b371e7 // 947 - , WRITE__CMD, 0x70020038, 0xa1eec3e9adcfe218 // 948 - , WRITE__CMD, 0x70020040, 0xcb9a6718d817bfd8 // 949 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 942 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 943 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 944 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 945 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 946 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 947 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 948 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 949 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 950 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 951 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 952 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 953 - , WRITE__CMD, 0x70020008, 0x5420730957353ff4 // 954 - , WRITE__CMD, 0x70020010, 0xc806adfbd90bd4c7 // 955 - , WRITE__CMD, 0x70020018, 0xf70f58f9aaad1c15 // 956 - , WRITE__CMD, 0x70020020, 0x8f61c0fb1ee54d09 // 957 - , WRITE__CMD, 0x70020028, 0xf679f707a63c00d2 // 958 - , WRITE__CMD, 0x70020030, 0x76eddd1b76de8c2c // 959 - , WRITE__CMD, 0x70020038, 0x0a9641f7348304e9 // 960 - , WRITE__CMD, 0x70020040, 0xb0c0111bb0729ec9 // 961 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 954 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 955 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 956 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 957 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 958 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 959 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 960 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 961 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 962 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 963 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 964 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 965 - , WRITE__CMD, 0x70020008, 0xb368ed1c1983b322 // 966 - , WRITE__CMD, 0x70020010, 0x9532bfd76eda240e // 967 - , WRITE__CMD, 0x70020018, 0xc74831184c572cd6 // 968 - , WRITE__CMD, 0x70020020, 0x56be12d4d4a171db // 969 - , WRITE__CMD, 0x70020028, 0x11488328ac61742b // 970 - , WRITE__CMD, 0x70020030, 0x9787efde23d99110 // 971 - , WRITE__CMD, 0x70020038, 0x757f20fe1884f3f2 // 972 - , WRITE__CMD, 0x70020040, 0xaebe3a2cd9f40afa // 973 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 966 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 967 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 968 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 969 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 970 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 971 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 972 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 973 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 974 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 975 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 976 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 977 - , WRITE__CMD, 0x70020008, 0xf08020d94c750ac9 // 978 - , WRITE__CMD, 0x70020010, 0xfd6c2d1c553f9cba // 979 - , WRITE__CMD, 0x70020018, 0xc2cefb1c9089b1bd // 980 - , WRITE__CMD, 0x70020020, 0x429e63f8273c1009 // 981 - , WRITE__CMD, 0x70020028, 0xa2b3701d5ce311d7 // 982 - , WRITE__CMD, 0x70020030, 0x98bc27e7ce3ce4ee // 983 - , WRITE__CMD, 0x70020038, 0x5d8e572f3080a7df // 984 - , WRITE__CMD, 0x70020040, 0xa913e611449a2717 // 985 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 978 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 979 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 980 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 981 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 982 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 983 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 984 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 985 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 986 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 987 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 988 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 989 - , WRITE__CMD, 0x70020008, 0x97a69b253f927bf1 // 990 - , WRITE__CMD, 0x70020010, 0x4e489fc499bc44ef // 991 - , WRITE__CMD, 0x70020018, 0x510518c30583843f // 992 - , WRITE__CMD, 0x70020020, 0xdca16fec91456b2e // 993 - , WRITE__CMD, 0x70020028, 0xe00435d60e646438 // 994 - , WRITE__CMD, 0x70020030, 0x64e7c0da7de2e0fc // 995 - , WRITE__CMD, 0x70020038, 0xb9b324094eb6ae30 // 996 - , WRITE__CMD, 0x70020040, 0xc8cdab20586b490c // 997 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 990 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 991 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 992 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 993 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 994 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 995 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 996 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 997 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 998 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 999 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1000 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1001 - , WRITE__CMD, 0x70020008, 0xc1100ae97b5e1f32 // 1002 - , WRITE__CMD, 0x70020010, 0x0acd1a2a1c87bed4 // 1003 - , WRITE__CMD, 0x70020018, 0x6b31d8e2516c401c // 1004 - , WRITE__CMD, 0x70020020, 0x5c8fba387560b0d2 // 1005 - , WRITE__CMD, 0x70020028, 0x1bf38dd879ce04d7 // 1006 - , WRITE__CMD, 0x70020030, 0xb85d82c4a48ad722 // 1007 - , WRITE__CMD, 0x70020038, 0x6f7d69e171d03c03 // 1008 - , WRITE__CMD, 0x70020040, 0x63d83d19fb20a725 // 1009 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1002 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1003 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1004 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1005 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1006 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1007 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1008 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1009 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1010 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1011 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1012 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1013 - , WRITE__CMD, 0x70020008, 0x2c60c6e5714aa229 // 1014 - , WRITE__CMD, 0x70020010, 0xf33685110ca8f6be // 1015 - , WRITE__CMD, 0x70020018, 0x65b762f0eaee04e7 // 1016 - , WRITE__CMD, 0x70020020, 0x699067cc25e318dd // 1017 - , WRITE__CMD, 0x70020028, 0xc042e8e8bb8ff4cb // 1018 - , WRITE__CMD, 0x70020030, 0x49b95b28babf8008 // 1019 - , WRITE__CMD, 0x70020038, 0xec25eaedafccd6fa // 1020 - , WRITE__CMD, 0x70020040, 0xa63a7ffd890f562a // 1021 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1014 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1015 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1016 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1017 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1018 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1019 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1020 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1021 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1022 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1023 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1024 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1025 - , WRITE__CMD, 0x70020008, 0x64f0adfa8518e5e4 // 1026 - , WRITE__CMD, 0x70020010, 0xdc9e2c3b8f0cc9f3 // 1027 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1026 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1027 , WRITE__CMD, 0x70020018, 0x8000000000000000 // 1028 , WRITE__CMD, 0x70020020, 0x0000000000000000 // 1029 , WRITE__CMD, 0x70020028, 0x0000000000000000 // 1030 @@ -1060,122 +1060,122 @@ uint64_t sha256_playback[] = { , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1034 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1035 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1036 - , RDnCMP_CMD, 0x70020050, 0x23ae219319ca778f // 1037 - , RDnCMP_CMD, 0x70020058, 0x0fd57f898e5d197f // 1038 - , RDnCMP_CMD, 0x70020060, 0x3541675dfd556ff8 // 1039 - , RDnCMP_CMD, 0x70020068, 0x69998addbe3b7348 // 1040 + , RDnCMP_CMD, 0x70020050, 0x8d6a4a37a6318625 // 1037 + , RDnCMP_CMD, 0x70020058, 0xa76c69947ef5bc21 // 1038 + , RDnCMP_CMD, 0x70020060, 0xbe46789a22a3d9b9 // 1039 + , RDnCMP_CMD, 0x70020068, 0xf8a7804a6df3261f // 1040 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1041 - , WRITE__CMD, 0x70020008, 0xc2fcb3b8d6a75afb // 1042 - , WRITE__CMD, 0x70020010, 0x314a171c40ffb0ec // 1043 - , WRITE__CMD, 0x70020018, 0xcee083d30902f420 // 1044 - , WRITE__CMD, 0x70020020, 0x1258febae66cf2dd // 1045 - , WRITE__CMD, 0x70020028, 0xcff295238c424520 // 1046 - , WRITE__CMD, 0x70020030, 0x3d94c104940931f2 // 1047 - , WRITE__CMD, 0x70020038, 0xd45d9fedd9661fe6 // 1048 - , WRITE__CMD, 0x70020040, 0x9711443ca07823c8 // 1049 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1042 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1043 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1044 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1045 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1046 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1047 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1048 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1049 , WRITE__CMD, 0x70020000, 0x0000000000000002 // 1050 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1051 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1052 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1053 - , WRITE__CMD, 0x70020008, 0x95f797f94a17e726 // 1054 - , WRITE__CMD, 0x70020010, 0x24fc621138caa708 // 1055 - , WRITE__CMD, 0x70020018, 0x878a6d2fc6331e11 // 1056 - , WRITE__CMD, 0x70020020, 0x51d516df43dc9a03 // 1057 - , WRITE__CMD, 0x70020028, 0x3cab74de99ed1d12 // 1058 - , WRITE__CMD, 0x70020030, 0xa79766ba415cdf17 // 1059 - , WRITE__CMD, 0x70020038, 0xf9cfb6feb16e0b2a // 1060 - , WRITE__CMD, 0x70020040, 0x4e77df024d59a3d7 // 1061 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1054 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1055 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1056 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1057 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1058 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1059 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1060 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1061 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1062 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1063 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1064 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1065 - , WRITE__CMD, 0x70020008, 0x0d9b050bffa031e7 // 1066 - , WRITE__CMD, 0x70020010, 0x65762638a209a1bd // 1067 - , WRITE__CMD, 0x70020018, 0x386039d1df02e822 // 1068 - , WRITE__CMD, 0x70020020, 0x7cfae7020b68ba1c // 1069 - , WRITE__CMD, 0x70020028, 0xf6c4ba1107302b31 // 1070 - , WRITE__CMD, 0x70020030, 0xd7a897cf4955e7f6 // 1071 - , WRITE__CMD, 0x70020038, 0xe09a0cefa752f9ea // 1072 - , WRITE__CMD, 0x70020040, 0xcf182afb0141eed7 // 1073 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1066 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1067 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1068 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1069 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1070 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1071 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1072 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1073 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1074 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1075 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1076 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1077 - , WRITE__CMD, 0x70020008, 0x0739053775b8fe32 // 1078 - , WRITE__CMD, 0x70020010, 0xf9a8f12ccbe94634 // 1079 - , WRITE__CMD, 0x70020018, 0xe76180e8eb99cec8 // 1080 - , WRITE__CMD, 0x70020020, 0x76a5a205b6858f38 // 1081 - , WRITE__CMD, 0x70020028, 0x7b14901fb35bb811 // 1082 - , WRITE__CMD, 0x70020030, 0x972f85ea34c28af0 // 1083 - , WRITE__CMD, 0x70020038, 0xc6fc52e5cddb2e2c // 1084 - , WRITE__CMD, 0x70020040, 0x19fdc9b88fbce42f // 1085 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1078 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1079 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1080 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1081 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1082 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1083 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1084 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1085 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1086 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1087 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1088 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1089 - , WRITE__CMD, 0x70020008, 0xee0671dc10db6bc5 // 1090 - , WRITE__CMD, 0x70020010, 0x2430511dcbe7e620 // 1091 - , WRITE__CMD, 0x70020018, 0x5c276714f212b9c7 // 1092 - , WRITE__CMD, 0x70020020, 0xc6627d1b9825c610 // 1093 - , WRITE__CMD, 0x70020028, 0x1d217d03d63869f8 // 1094 - , WRITE__CMD, 0x70020030, 0xdb44b62947f093c8 // 1095 - , WRITE__CMD, 0x70020038, 0x847249d0f20952ea // 1096 - , WRITE__CMD, 0x70020040, 0xbe8e53c4b954b228 // 1097 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1090 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1091 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1092 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1093 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1094 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1095 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1096 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1097 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1098 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1099 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1100 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1101 - , WRITE__CMD, 0x70020008, 0xcad307d317cc19c2 // 1102 - , WRITE__CMD, 0x70020010, 0x29f27bffa4c844dd // 1103 - , WRITE__CMD, 0x70020018, 0xf1b8f63d660ed5ed // 1104 - , WRITE__CMD, 0x70020020, 0xb640c8f1382194bf // 1105 - , WRITE__CMD, 0x70020028, 0xe1b755edaf3f1d27 // 1106 - , WRITE__CMD, 0x70020030, 0xdfb84df54e61603b // 1107 - , WRITE__CMD, 0x70020038, 0x89627e13be2b28d5 // 1108 - , WRITE__CMD, 0x70020040, 0x8420c23201cd830b // 1109 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1102 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1103 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1104 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1105 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1106 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1107 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1108 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1109 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1110 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1111 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1112 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1113 - , WRITE__CMD, 0x70020008, 0x05b95edadb36fb2b // 1114 - , WRITE__CMD, 0x70020010, 0x9e21cf2eb67c96e3 // 1115 - , WRITE__CMD, 0x70020018, 0x4f90d7c5f4b295f2 // 1116 - , WRITE__CMD, 0x70020020, 0x087b3c12d51c55bb // 1117 - , WRITE__CMD, 0x70020028, 0x538ae9c6c34c3b3f // 1118 - , WRITE__CMD, 0x70020030, 0x92dab1ff9ab70e12 // 1119 - , WRITE__CMD, 0x70020038, 0x1f2a400606bdf8bd // 1120 - , WRITE__CMD, 0x70020040, 0x9505f4e940d29a04 // 1121 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1114 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1115 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1116 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1117 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1118 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1119 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1120 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1121 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1122 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1123 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1124 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1125 - , WRITE__CMD, 0x70020008, 0x08e114e6c9d51dfc // 1126 - , WRITE__CMD, 0x70020010, 0x0e6adcde80bd33fc // 1127 - , WRITE__CMD, 0x70020018, 0x673d4301e45ad936 // 1128 - , WRITE__CMD, 0x70020020, 0xa8ee5be326eecf24 // 1129 - , WRITE__CMD, 0x70020028, 0xf48d3ce4e5ba4417 // 1130 - , WRITE__CMD, 0x70020030, 0xb11cd7196f916d09 // 1131 - , WRITE__CMD, 0x70020038, 0x643734dca0940afb // 1132 - , WRITE__CMD, 0x70020040, 0x91e640217be0c5dd // 1133 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1126 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1127 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1128 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1129 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1130 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1131 + , WRITE__CMD, 0x70020038, 0xffffff7fffffff7f // 1132 + , WRITE__CMD, 0x70020040, 0xffffff7fffffff7f // 1133 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1134 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1135 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1136 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1137 - , WRITE__CMD, 0x70020008, 0xc9ee94d35725bf30 // 1138 - , WRITE__CMD, 0x70020010, 0xe86f64bb06e67a10 // 1139 - , WRITE__CMD, 0x70020018, 0x2066c516eb1576d0 // 1140 - , WRITE__CMD, 0x70020020, 0xbdf440cb5f9c35de // 1141 - , WRITE__CMD, 0x70020028, 0xc953fa1fe2008fd3 // 1142 - , WRITE__CMD, 0x70020030, 0x469db9d2e7676026 // 1143 - , WRITE__CMD, 0x70020038, 0x1180000000000000 // 1144 + , WRITE__CMD, 0x70020008, 0xffffff7fffffff7f // 1138 + , WRITE__CMD, 0x70020010, 0xffffff7fffffff7f // 1139 + , WRITE__CMD, 0x70020018, 0xffffff7fffffff7f // 1140 + , WRITE__CMD, 0x70020020, 0xffffff7fffffff7f // 1141 + , WRITE__CMD, 0x70020028, 0xffffff7fffffff7f // 1142 + , WRITE__CMD, 0x70020030, 0xffffff7fffffff7f // 1143 + , WRITE__CMD, 0x70020038, 0xff80000000000000 // 1144 , WRITE__CMD, 0x70020040, 0x0000000000001188 // 1145 , WRITE__CMD, 0x70020000, 0x0000000000000004 // 1146 , WRITE__CMD, 0x70020000, 0x0000000000000000 // 1147 , RDSPIN_CMD, 0x70020048, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1148 - , RDnCMP_CMD, 0x70020050, 0x69e4d785ca2592eb // 1149 - , RDnCMP_CMD, 0x70020058, 0x9bb5c4dc4c854d73 // 1150 - , RDnCMP_CMD, 0x70020060, 0x0e6a9cd533735110 // 1151 - , RDnCMP_CMD, 0x70020068, 0xa915f48776d19a0c // 1152 + , RDnCMP_CMD, 0x70020050, 0xfc67c4c6b17f6d92 // 1149 + , RDnCMP_CMD, 0x70020058, 0x65b383a882137d17 // 1150 + , RDnCMP_CMD, 0x70020060, 0x3a74d2d6fb87d710 // 1151 + , RDnCMP_CMD, 0x70020068, 0xfe08f1abf5bd1600 // 1152 , RDSPIN_CMD, 0x70020000, 0x0000000000000001, 0xffffffffffffffff, 0x64 // 1153 , WRITE__CMD, 0x70020008, 0x3f26432323d59802 // 1154 , WRITE__CMD, 0x70020010, 0x60c6e42f2d967942 // 1155 diff --git a/cosim/drivers/vectors/sha256_stimulus.txt.gz b/cosim/drivers/vectors/sha256_stimulus.txt.gz index f92f8a6384e65a93d59f07e3927cb0a31bf1c2a6..bf294b5d65c64fe739ec38aca3657140d12fe36a 100644 GIT binary patch literal 82519 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 literal 88166 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 D(W{RP diff --git a/cosim/dvt/behav_models/cep_driver.v b/cosim/dvt/behav_models/cep_driver.v index adf8767..e6716d4 100644 --- a/cosim/dvt/behav_models/cep_driver.v +++ b/cosim/dvt/behav_models/cep_driver.v @@ -751,12 +751,12 @@ endtask // READ32_64_TASK // // For RISC-TESTS // + reg PassStatus=0; + reg FailStatus=0; `ifdef RISCV_TESTS wire pcPass, pcFail; - reg PassStatus=0; - reg FailStatus=0; reg checkToHost=0; - + // reg [63:0] passFail [4:0] = '{default:0}; // @@ -787,6 +787,14 @@ endtask // READ32_64_TASK FailStatus = 1; dvtFlags[`DVTF_SET_PASS_FAIL_STATUS] = 0; // self-clear end + reg DisableStuckChecker = 0; + + always @(posedge dvtFlags[`DVTF_DISABLE_STUCKCHECKER]) begin + `logI("DisableStuckChecker=1"); + DisableStuckChecker = 1; + dvtFlags[`DVTF_DISABLE_STUCKCHECKER] = 0; // self-clear + end + // // To detect stuck loop // @@ -796,7 +804,7 @@ endtask // READ32_64_TASK wire curValid; wire coreInReset; wire pcValid; - wire pcStuck = stuckCnt >= 500; + wire pcStuck = !DisableStuckChecker && (stuckCnt >= 500); // assign pcPass = curValid && ((curPc[29:0] === passFail[0][29:0]) || @@ -827,9 +835,11 @@ endtask // READ32_64_TASK `logI("C0 Pass/fail Detected!!!.. Put it to sleep"); PassStatus = pcPass; FailStatus = pcFail; - repeat (20) @(posedge clk); - // - force `CORE0_PATH.core.reset =1; + if (!DisableStuckChecker) begin + repeat (20) @(posedge clk); + // + force `CORE0_PATH.core.reset =1; + end end end assign curPc = `CORE0_PC; @@ -843,8 +853,10 @@ endtask // READ32_64_TASK `logI("C1 Pass/fail Detected!!!.. Put it to sleep"); PassStatus = pcPass; FailStatus = pcFail; - repeat (20) @(posedge clk); - force `CORE1_PATH.core.reset =1; + if (!DisableStuckChecker) begin + repeat (20) @(posedge clk); + force `CORE1_PATH.core.reset =1; + end end end assign curPc = `CORE1_PC; @@ -858,8 +870,10 @@ endtask // READ32_64_TASK `logI("C2 Pass/fail Detected!!!.. Put it to sleep"); PassStatus = pcPass; FailStatus = pcFail; - repeat (20) @(posedge clk); - force `CORE2_PATH.core.reset =1; + if (!DisableStuckChecker) begin + repeat (20) @(posedge clk); + force `CORE2_PATH.core.reset =1; + end end end assign curPc = `CORE2_PC; @@ -873,8 +887,10 @@ endtask // READ32_64_TASK `logI("C3 Pass/fail Detected!!!.. Put it to sleep"); PassStatus = pcPass; FailStatus = pcFail; - repeat (20) @(posedge clk); - force `CORE3_PATH.core.reset =1; + if (!DisableStuckChecker) begin + repeat (20) @(posedge clk); + force `CORE3_PATH.core.reset =1; + end end end assign curPc = `CORE3_PC; diff --git a/cosim/dvt/cep_adrMap.incl b/cosim/dvt/cep_adrMap.incl index ca5b26d..9bac034 100644 --- a/cosim/dvt/cep_adrMap.incl +++ b/cosim/dvt/cep_adrMap.incl @@ -10,17 +10,17 @@ //************************************************************************ /* as reported from Chisel - + as of 05/03/21 Generated Address Map 0 - 1000 ARWX debug-controller@0 3000 - 4000 ARWX error-device@3000 - 10000 - 14000 R X rom@10000 + 10000 - 210000 R X rom@10000 2000000 - 2010000 ARW clint@2000000 c000000 - 10000000 ARW interrupt-controller@c000000 64000000 - 64001000 ARW serial@64000000 64001000 - 64002000 ARW spi@64001000 64002000 - 64003000 ARW gpio@64002000 - 64800000 - 64810000 RWXC memory@64800000 + 64800000 - 64810000 RWXC scratchpad@64800000 70000000 - 70000100 ARW aes-slave@70000000 70008000 - 70008040 ARW aes-llki-slave@70008000 70010000 - 70010100 ARW md5-slave@70010000 @@ -75,13 +75,16 @@ Generated Address Map `define scratchpad_base_addr 'h6480_0000 `define scratchpad_base_size 'h0001_0000 +`define scratchpad_know_pattern 'h600dbabe_12345678 // bootrom as 4kx32 = 16Kbytes `define bootrom_base_addr 'h0001_0000 -`define bootrom_base_size (1<<13) +`define bootrom_base_size (1<<15) // 32-bit offs -`define bootrom_base_test_offs 'h7fe +// last 8 bytes of 0x7FFF +// 32-bit offset +`define bootrom_base_test_offs 'h1ffe `define bootrom_known_pat0 'h12345678 `define bootrom_known_pat1 'h600dbabe @@ -102,16 +105,19 @@ Generated Address Map // PLIC registers // source 1 - 127, source2 = +4 ... til 127 +`define plic_source0_prio_offset 'h00_0000 `define plic_source1_prio_offset 'h00_0004 `define plic_pending_array_start 'h00_1000 `define plic_pending_array_last 'h00_100C `define plic_hart0_m_mode_ien_start 'h00_2000 `define plic_hart0_m_mode_ien_stop 'h00_200C +// NOTE: for Sifive U54, offset from one hart to another is 0x10 instead of 0x80 `define plic_mode_ien_size_offset 'h80 `define plic_hart0_m_mode_prio_thresh 'h20_0000 `define plic_hart0_m_mode_claim_done 'h20_0004 +// NOTE: for Sifiv U54, offset from one hart to another is 0x8 instead of 0x1000 `define plic_prio_thresh_size_offset 'h1000 //QSPI0 flash 256Mb @@ -301,7 +307,7 @@ Generated Address Map // `define testNset_reg 'hFD10 `define isLock0_bit 0 -`define lock0Id_bit_lo 7 +`define lock0Id_bit_lo 1 `define lock0Id_mask 'h7F `define isLock1_bit 8 `define lock1Id_bit_lo 9 @@ -309,7 +315,7 @@ Generated Address Map `define isLock2_bit 16 `define lock2Id_bit_lo 17 `define lock2Id_mask 'h7F -`define isLock3_bit 23 +`define isLock3_bit 24 `define lock3Id_bit_lo 25 `define lock3Id_mask 'h7F // @@ -334,5 +340,35 @@ Generated Address Map `define cep_core2_status 'hFF10 `define cep_core3_status 'hFF18 +// JTAG +// Encoding States + `define JTAG_TestLogicReset 15 + `define JTAG_RunTestIdle 12 + `define JTAG_SelectDRScan 7 + `define JTAG_CaptureDR 6 + `define JTAG_ShiftDR 2 + `define JTAG_Exit1DR 1 + `define JTAG_PauseDR 3 + `define JTAG_Exit2DR 0 + `define JTAG_UpdateDR 5 + `define JTAG_SelectIRScan 4 + `define JTAG_CaptureIR 14 + `define JTAG_ShiftIR 10 + `define JTAG_Exit1IR 9 + `define JTAG_PauseIR 11 + `define JTAG_Exit2IR 8 + `define JTAG_UpdateIR 13 + +`define JTAG_VERSION 'h2 +`define JTAG_PARTNUM 'h0000 +`define JTAG_MFRID 'h489 +// 0x2000_0913 +`define JTAG_ID_CODE ((`JTAG_VERSION << 28)|(`JTAG_PARTNUM << 12)|(`JTAG_MFRID << 1)|0x1) + +// custom CSR register encoding is at 0x7c1 +// but within it, default to 0x208 +//`define CSR_CUSTOM0 'h7c1 + + `endif diff --git a/cosim/dvt/cep_tb.v b/cosim/dvt/cep_tb.v index 5d9aacd..ae8ee99 100644 --- a/cosim/dvt/cep_tb.v +++ b/cosim/dvt/cep_tb.v @@ -90,6 +90,11 @@ // `include "config.v" +import "DPI-C" function int jtag_getSocketPortId(); +import "DPI-C" function int jtag_cmd(input int tdo_in, output int encode); +import "DPI-C" function int jtag_init(); +import "DPI-C" function int jtag_quit(); + `timescale 1ps/100fs module cep_tb; @@ -340,6 +345,15 @@ module cep_tb; release fpga.topDesign.topMod_debug_ndreset; `DVT_FLAG[`DVTF_TOGGLE_DMI_RESET_BIT] = 0; end + + always @(posedge `DVT_FLAG[`DVTF_GET_SOCKET_ID_BIT]) begin + `logI("DVTF_GET_SOCKET_ID_BIT"); + `ifdef OPENOCD_ENABLE + `DVT_FLAG[`DVTF_PAT_HI:`DVTF_PAT_LO] = jtag_getSocketPortId(); + `endif + `logI("SocketId=0x%08x",`DVT_FLAG[`DVTF_PAT_HI:`DVTF_PAT_LO]); + `DVT_FLAG[`DVTF_GET_SOCKET_ID_BIT] = 0; + end assign sys_rst = RST_ACT_LOW ? sys_rst_n : ~sys_rst_n; @@ -470,19 +484,14 @@ module cep_tb; end endgenerate + wire [7:0] led; wire jtag_jtag_TCK; wire jtag_jtag_TMS; wire jtag_jtag_TDI; - + wire jtag_jtag_TRSTn; + pullup (weak1) (jtag_jtag_TRSTn); wire jtag_jtag_TDO; - wire [7:0] led; - reg JTCK=0; - reg JTMS=1; - reg JTDI=0; - assign jtag_jtag_TCK = JTCK; - assign jtag_jtag_TMS = JTMS; - assign jtag_jtag_TDI = JTDI; /* initial begin forever #20 JTCK = !JTCK; @@ -603,7 +612,9 @@ module cep_tb; repeat (100) @(posedge sys_clk_i); //path = "/home/aduong/CEP/CEP-master/cosim/bin/bareboot.hex"; //path = "../../bin/bareboot.hex"; - path = "../../drivers/bootbare/bootbare.hex"; + //path = "../../drivers/bootbare/bootbare.hex"; + path = "../../../hdl_cores/freedom/builds/vc707-u500devkit/sdboot_fpga_sim.hex"; + // `logI("=== Overriding bootROm with file %s ==",path); $readmemh(path, `BOOTROM_PATH.rom); // also add 0x600DBABE_12345678 at end of the ROM for testing @@ -622,7 +633,7 @@ module cep_tb; .jtag_jtag_TMS (jtag_jtag_TMS), .jtag_jtag_TDI (jtag_jtag_TDI), .jtag_jtag_TDO (jtag_jtag_TDO), - .jtag_srst_n (pullHi), + .jtag_srst_n (jtag_jtag_TRSTn), .uart_txd (uart_txd), .uart_rxd (uart_rxd), .uart_rtsn (uart_rtsn), @@ -943,12 +954,16 @@ module cep_tb; // // reg [3:0] enableMask = 0; + wire [3:0] passMask; initial begin #1 enableMask = 'hF; // or contrtol from C side end genvar c; + always @(passMask) begin + `logI("**** passMask=0x%x *****\n",passMask); + end generate - for (c=0;c<4;c=c+1) begin : driverX + for (c=0;c<4;c=c+1) begin : driverX cep_driver #(.MY_SLOT_ID(0),.MY_LOCAL_ID(c)) driver( .clk (sys_clk_i), // clk100), @@ -956,8 +971,75 @@ module cep_tb; .enableMe (enableMask[c]), .__simTime () ); + assign passMask[c] = driver.PassStatus; end endgenerate + + + bit jtag_TCK = 0; + bit jtag_TMS = 0; + bit jtag_TDI = 0; + bit jtag_TRSTn = 0; + assign jtag_jtag_TCK = jtag_TCK; + assign jtag_jtag_TMS = jtag_TMS; + assign jtag_jtag_TDI = jtag_TDI; + assign jtag_jtag_TRSTn = jtag_TRSTn; + + //pullup (weak1) (jtag_jtag_TRSTn); + + // + // ============================= + // OpenOCD interface to drive JTAG via DPI + // ============================= + // + reg enable_jtag=0; + reg quit_jtag=0; + reg enableDel = 0; + int junk; + int jtag_encode; + wire dpi_jtag_tdo = fpga.topDesign_auto_jtag_debug_source_out_TDO_data; // jtag_jtag_TDO; + always @(posedge `DVT_FLAG[`DVTF_ENABLE_REMOTE_BITBANG_BIT]) begin + enable_jtag=1; + @(negedge `DVT_FLAG[`DVTF_ENABLE_REMOTE_BITBANG_BIT]); + quit_jtag=1; + end +`ifdef OPENOCD_ENABLE + always @(posedge passMask[3]) begin + repeat (40000) @(posedge sys_clk_i); + `logI("Initialting QUIT to close socket..."); + junk = jtag_quit(); + end + // + reg [15:0] clkCnt; + initial begin + junk = jtag_init(); + jtag_TRSTn = 0; + repeat (20) @(posedge sys_clk_i); + jtag_TRSTn = 1; + repeat (20) @(posedge sys_clk_i); + jtag_TRSTn = 0; + end + + always @(posedge sys_clk_i) begin + if (sys_rst) begin + enableDel <= 0; + clkCnt <= 5; + end else begin + enableDel <= enable_jtag; + if (enableDel) begin + clkCnt <= clkCnt - 1; + if (clkCnt == 0) begin + clkCnt <= 5; + if (!quit_jtag) begin + junk = jtag_cmd(dpi_jtag_tdo, // see bug + jtag_encode); + {jtag_TRSTn,jtag_TCK,jtag_TMS,jtag_TDI} = jtag_encode ^ 'h8; // flip the TRSN + end + end // if (clkCnt == 0) + end // if (enable && init_done_sticky) + end // else: !if(reset || r_reset) + end // always @ (posedge clock) +`endif // // diff --git a/cosim/dvt/dump_control.incl b/cosim/dvt/dump_control.incl index df1832a..f47d746 100644 --- a/cosim/dvt/dump_control.incl +++ b/cosim/dvt/dump_control.incl @@ -23,7 +23,7 @@ initial begin // -`ifdef NO_WAVE +`ifdef NOWAVE `else `DVAR_FILE; `DVAR(`LEVEL0,cep_tb); diff --git a/cosim/dvt/sys_common.incl b/cosim/dvt/sys_common.incl index c410539..784cfd0 100644 --- a/cosim/dvt/sys_common.incl +++ b/cosim/dvt/sys_common.incl @@ -46,17 +46,22 @@ endtask // WRITE_DVT_FLAG_TASK; task READ_DVT_FLAG_TASK; input [31:0] msb; input [31:0] lsb; -output [31:0] r_data; -integer s; -reg [31:0] tmp; +output [64:0] r_data; +integer m,l,s; +reg [63:0] tmp; begin tmp = 0; `ifdef USE_DPI - for (s=inBox.mPar[0];s>=inBox.mPar[1];s=s-1) begin - tmp = {tmp[30:0],dvtFlags[s]}; - end - inBox.mPar[0] = tmp; + m=inBox.mPar[0]; + l=inBox.mPar[1]; + for (int s=m;s>=l;s--) begin + tmp = {tmp[62:0],dvtFlags[s]}; + //$display("LOOP s=%d %x\n",s,tmp); + end + inBox.mPar[0] = tmp; + //$display("IN %d/%d %x\n",m,l,inBox.mPar[0]); + `else for (s =msb;s>=lsb;s=s-1) begin tmp = {tmp[30:0],dvtFlags[s]}; diff --git a/cosim/dvt/v2c_cmds.incl b/cosim/dvt/v2c_cmds.incl index 45d9d15..5a1a36f 100644 --- a/cosim/dvt/v2c_cmds.incl +++ b/cosim/dvt/v2c_cmds.incl @@ -178,6 +178,11 @@ `define DVTF_SROT_START_CAPTURE_BIT 111 `define DVTF_SROT_STOP_CAPTURE_BIT 112 +// JTAG/OpenOcd +`define DVTF_ENABLE_REMOTE_BITBANG_BIT 113 +`define DVTF_DISABLE_STUCKCHECKER 114 +`define DVTF_GET_SOCKET_ID_BIT 115 + // // =============================================== // System Sim Status diff --git a/cosim/dvt/v2c_top.v b/cosim/dvt/v2c_top.v index 454b3b9..3a1e6f6 100644 --- a/cosim/dvt/v2c_top.v +++ b/cosim/dvt/v2c_top.v @@ -218,12 +218,22 @@ endtask // READ32_64_TASK always @(posedge singelThread) begin // put all core in reset. - force `CORE0_PATH.core.reset =1; - force `CORE1_PATH.core.reset =1; - force `CORE2_PATH.core.reset =1; - force `CORE3_PATH.core.reset =1; + force `CORE0_PATH.reset =1; + force `CORE1_PATH.reset =1; + force `CORE2_PATH.reset =1; + force `CORE3_PATH.reset =1; // wait for calibration complete @(posedge cep_tb.program_loaded); + // allow caches to get out of reset but not the core!!! + release `CORE0_PATH.reset; + release `CORE1_PATH.reset; + release `CORE2_PATH.reset; + release `CORE3_PATH.reset; + // + force `CORE0_PATH.core.reset =1; + force `CORE1_PATH.core.reset =1; + force `CORE2_PATH.core.reset =1; + force `CORE3_PATH.core.reset =1; // for (int c=0;c<4;c=c+1) begin if (coreActiveMask[c]) begin @@ -234,7 +244,7 @@ endtask // READ32_64_TASK if (virtualMode) begin ResetAllCores(); end - release `CORE0_PATH.core.reset; + release `CORE0_PATH.core.reset; @(posedge (`CORE0_DRIVER.PassStatus || `CORE0_DRIVER.FailStatus)); end 1: begin diff --git a/cosim/isaTests/Makefile b/cosim/isaTests/Makefile index 9546650..4ae7f4e 100644 --- a/cosim/isaTests/Makefile +++ b/cosim/isaTests/Makefile @@ -58,10 +58,13 @@ ISA_VM_1CORE_ONLY_LIST= \ rv64ud-v-move \ # make 4 cores -ISA_VM_LIST = $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}0) \ - $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}1) \ - $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}2) \ - $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}3) +ISA_VM_LIST = $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}0) + +# +# $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}1) \ +# $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}2) \ +# $(foreach t,${ISA_VM_1CORE_ONLY_LIST},${t}3) + # # special tests that going toHost = Pass @@ -226,7 +229,17 @@ ISA_TEST_LIST = \ ${ISA_SINGETHR_LIST} \ ${ISA_PARALLEL_TEST_LIST} \ +# +# Special test, NOT ISA +# +# +# This test needs *openocd* to control the JTAG port +# +OPENOCD_CHECK := $(filter Debugger, $(shell openocd --version 2>&1 | grep Debugger)) +ifeq "$(OPENOCD_CHECK)" "Debugger" +ISA_TEST_LIST += dtmTest +endif TESTINFO_LIST := $(sort $(foreach t,${TALUS_TEST_LIST},${BLD_DIR}/${t}/testInfo.txt)) diff --git a/cosim/isaTests/common.make b/cosim/isaTests/common.make index dc95313..b4e9421 100644 --- a/cosim/isaTests/common.make +++ b/cosim/isaTests/common.make @@ -13,7 +13,10 @@ # must have this one for auto-dependentcy detection override DUT_SIM_MODE = BARE +ifeq (${NO_BUILDIN_ELF_MODE},1) +else override DUT_ELF_MODE = BUILTIN +endif override DUT_XILINX_TOP_MODULE = cep_tb # include ${DUT_TOP_DIR}/${COSIM_NAME}/common.make diff --git a/cosim/isaTests/config.v b/cosim/isaTests/config.v index a650184..795285e 100644 --- a/cosim/isaTests/config.v +++ b/cosim/isaTests/config.v @@ -16,5 +16,6 @@ //`define RANDOMIZE `define RISCV_TESTS +`define OPENOCD_ENABLE `timescale 1ns/100ps diff --git a/cosim/isaTests/dtmTest/Makefile b/cosim/isaTests/dtmTest/Makefile new file mode 100644 index 0000000..de2ee43 --- /dev/null +++ b/cosim/isaTests/dtmTest/Makefile @@ -0,0 +1,49 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// SPDX short identifier: BSD-2-Clause +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ +# +# +# +COSIM_NAME = $(shell cd ../..; basename `pwd`) +DUT_TOP_DIR = $(shell cd ../../..; pwd | ./${COSIM_NAME}/bin/strip_net.pl ) +BLD_DIR = $(shell cd ..; pwd | ../bin/strip_net.pl ) +TEST_SUITE = $(shell basename ${BLD_DIR}) +TEST_DIR = $(shell cd .; pwd | ../../bin/strip_net.pl ) +TEST_NAME = $(shell basename `pwd`) +SIM_DIR = ${DUT_TOP_DIR}/${COSIM_NAME} +ELF_FILE = ${RISCV_TEST_DIR}/isa/${TEST_NAME} + +# +# override anything here before calling the common file +# +NO_BUILDIN_ELF_MODE = 1 + +# +# Top target!!! +# +# +# This test needs *openocd* to control the JTAG port +# +OPENOCD_CHECK = $(filter Debugger, $(shell openocd --version 2>&1 | grep Debugger)) + + +ifeq "$(OPENOCD_CHECK)" "Debugger" +all: .vrun_flag + @echo "**** OpenOcd app is found .. Will run this test.... :$(OPENOCD_CHECK):" +else +all: + @echo "**** OpenOcd app not found.. Skipping this test.... :$(OPENOCD_CHECK):" +endif + +include ${BLD_DIR}/common.make + + + + diff --git a/cosim/isaTests/dtmTest/c_dispatch.cc b/cosim/isaTests/dtmTest/c_dispatch.cc new file mode 100644 index 0000000..443df73 --- /dev/null +++ b/cosim/isaTests/dtmTest/c_dispatch.cc @@ -0,0 +1,181 @@ +#define MAX_TIMEOUT 2000 +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include +#include "v2c_cmds.h" +#include "access.h" +#include "c_dispatch.h" +#include "c_module.h" +#include "cep_apis.h" +#include "cep_adrMap.h" +#include "simPio.h" +/* + * main + */ +int main(int argc, char *argv[]) +{ + + /* ===================================== */ + /* SETUP SECTION FOR SIMULATION */ + /* ===================================== */ + unsigned long seed; + sscanf(argv[1],"0x%x",&seed); + printf("Seed = 0x%x\n",seed); + int errCnt = 0; + int verbose = 0x1f; + + /* ===================================== */ + /* spawn all the paralle threads */ + /* ===================================== */ + int activeSlot=0; // only 1 board + // + // ============================ + // fork all the tests here + // ============================ + // + shPthread thr; + // + // max number of cores not include the system thread + // + int maxHost = MAX_CORES; // number of cores/threads + // + // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) + // + long unsigned int mask = 0xf; +#ifdef SINGLE_CORE_ONLY + mask = SINGLE_CORE_ONLY; +#endif + // + // Set the active CPU mask before spawn the threads... + // + thr.SetActiveMask(mask); + // + // c_module is the threead to run + // + for (int i=0;i +#ifdef PASS_IS_TO_HOST + DUT_WRITE_DVT(DVTF_PASS_IS_TO_HOST, DVTF_PASS_IS_TO_HOST, 1); +#endif + + + // ============================ + // Turn on the wave here + // ============================ + // + int cycle2start=0; + int cycle2capture=-1; // til end + int wave_enable=1; + #ifndef NOWAVE + dump_wave(cycle2start, cycle2capture, wave_enable); + #endif + // + // Enable main memory logging + // + //DUT_WRITE_DVT(DVTF_ENABLE_MAIN_MEM_LOGGING, DVTF_ENABLE_MAIN_MEM_LOGGING, 1); + // + // + #if 1 + // + // ============================ + // Setup and Fork OpenOcd here as another thread... + // ============================ + // + int socketPortId = 0; + int timeOut = 1000; + LOGI("SocketPortId = 0x%08x to=%d\n",socketPortId,timeOut); + while (timeOut > 0) { + DUT_WRITE_DVT(DVTF_GET_SOCKET_ID_BIT,DVTF_GET_SOCKET_ID_BIT,1); + socketPortId = DUT_READ_DVT(DVTF_PAT_HI, DVTF_PAT_LO); + LOGI("SocketPortId = 0x%08x to=%d\n",socketPortId,timeOut); + if (socketPortId >> 31) { + break; + } + DUT_WRITE_DVT(DVTF_GET_SOCKET_ID_BIT,DVTF_GET_SOCKET_ID_BIT,0); + DUT_RUNCLK(100); + timeOut--; + } + + char cmd[128]; + sprintf(cmd,"openocd -c \"set _JTAG_SOCKET_PORT %d\" -f dtm.cfg -d2 -l openOcd.log", socketPortId & 0xffff); + DUT_WRITE_DVT(DVTF_ENABLE_REMOTE_BITBANG_BIT, DVTF_ENABLE_REMOTE_BITBANG_BIT, 1); + // child + if (fork() == 0) { + printf("Executing system command %s\n",cmd); + system(cmd); + return 0; + } +#endif + // + // wait for calibration?? + // + #if 1 + //int calibDone = calibrate_ddr3(50); + int backdoor_on = 1; + int verify = 0; + int srcOffset = 0x1000; + int destOffset = 0; + errCnt += load_mainMemory((char *)"./riscv_wrapper.elf", ddr3_base_adr,srcOffset, destOffset, backdoor_on, verify); + //errCnt += load_mainMemory(RISCV_WRAPPER, ddr3_base_adr,srcOffset, destOffset, backdoor_on, verify); + #endif + DUT_WRITE_DVT(DVTF_DISABLE_MAIN_MEM_LOGGING, DVTF_DISABLE_MAIN_MEM_LOGGING, 1); + // + // log the write only + //DUT_WRITE_DVT(DVTF_ENABLE_MAIN_MEMWR_LOGGING, DVTF_ENABLE_MAIN_MEMWR_LOGGING, 1); + // + // ============================ + // wait until all the threads are done + // ============================ + // + int Done = 0; + while (!Done) { + Done = thr.AllThreadDone(); + sleep(2); + } + // + toggleDmiReset(); + // just in case + DUT_WRITE_DVT(DVTF_ENABLE_REMOTE_BITBANG_BIT, DVTF_ENABLE_REMOTE_BITBANG_BIT, 0); + // + // + /* ===================================== */ + /* END-OF-TEST CHECKING */ + /* ===================================== */ + errCnt += thr.GetErrorCount(); + if (errCnt != 0) { + LOGE("%s ======== TEST FAIL ========== %x\n",__FUNCTION__,errCnt); + } else { + LOGI("%s ======== TEST PASS ========== \n",__FUNCTION__); + } + // + // shutdown HW side + // dont call this DUT_SetInActiveStatus is used + thr.Shutdown(); + return(errCnt); +} diff --git a/cosim/isaTests/dtmTest/c_dispatch.h b/cosim/isaTests/dtmTest/c_dispatch.h new file mode 100644 index 0000000..eba50af --- /dev/null +++ b/cosim/isaTests/dtmTest/c_dispatch.h @@ -0,0 +1,23 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef __C_DISPATCH_H +#define __C_DISPATCH_H + + +// Dispatch setup +#ifdef LONGTEST +#define MAX_LOOP 50 +#else +#define MAX_LOOP 5 +#endif + +#endif + diff --git a/cosim/isaTests/dtmTest/c_module.cc b/cosim/isaTests/dtmTest/c_module.cc new file mode 100644 index 0000000..34f8f00 --- /dev/null +++ b/cosim/isaTests/dtmTest/c_module.cc @@ -0,0 +1,92 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#include "v2c_cmds.h" +#include "simPio.h" +// +#include "shMem.h" +#include "c_module.h" +#include +#include "random48.h" + +#include "cep_adrMap.h" +#include "cep_apis.h" +#include "simdiag_global.h" +#include "cepregression.h" +#include "simPio.h" + +// +void *c_module(void *arg) { + + + // ====================================== + // Set up + // ====================================== + pthread_parm_t *tParm = (pthread_parm_t *)arg; + int errCnt = 0; + int slotId = tParm->slotId; + int cpuId = tParm->cpuId; + int verbose = tParm->verbose; + Int32U seed = tParm->seed; + int restart = tParm->restart; + int offset = GET_OFFSET(slotId,cpuId); + GlobalShMemory.getSlotCpuId(offset,&slotId,&cpuId); + //printf("offset=%x seed=%x verbose=%x GlobalShMemory=%x\n",offset,seed, verbose,(unsigned long) &GlobalShMemory); + // notify I am Alive!!! + shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetAliveStatus(); + sleep(1); + + // ====================================== + // Test is Here + // ====================================== + simPio pio; + pio.MaybeAThread(); // chec + pio.EnableShIpc(1); + pio.SetVerbose(verbose); + + // + // ====================================== + // Test starts here + // ====================================== + // MUST + // wait until Calibration is done.. + //int calibDone = calibrate_ddr3(50); + DUT_WRITE_DVT(DVTF_DISABLE_STUCKCHECKER,DVTF_DISABLE_STUCKCHECKER, 1); + int calibDone = is_program_loaded(50); + + // use seed as timeout + errCnt += check_PassFail_status(cpuId,seed); + // + pio.RunClk(1000); + + int loop = 5; + while (loop>0) { + pio.RunClk(5000); + LOGI("Loop=%d\n",loop--); + } + + // + // ====================================== + // Exit + // ====================================== +cleanup: + if (errCnt != 0) { + LOGI("======== TEST FAIL ========== %x\n",errCnt); + } else { + LOGI("======== TEST PASS ========== \n"); + } + // shIpc *ptr = GlobalShMemory.getIpcPtr(offset); + ptr->SetError(errCnt); + ptr->SetThreadDone(); + pthread_exit(NULL); + return ((void *)NULL); +} + diff --git a/cosim/isaTests/dtmTest/c_module.h b/cosim/isaTests/dtmTest/c_module.h new file mode 100644 index 0000000..3e5bb5c --- /dev/null +++ b/cosim/isaTests/dtmTest/c_module.h @@ -0,0 +1,18 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +#ifndef c_module_H +#define c_module_H + +#include "shPthread.h" + +void *c_module(void *); /* thread routine */ + +#endif diff --git a/cosim/isaTests/dtmTest/dtm.cfg b/cosim/isaTests/dtmTest/dtm.cfg new file mode 100644 index 0000000..61066eb --- /dev/null +++ b/cosim/isaTests/dtmTest/dtm.cfg @@ -0,0 +1,56 @@ +# +# Config file for openocd to use for simulation ONLY!!!! +# +# +# remote bitbang via DPI +# +adapter driver remote_bitbang +remote_bitbang_host localhost +# +# pass in via -c "set _JTAG_SOCKET_PORT " at the openocd command line +# +remote_bitbang_port $_JTAG_SOCKET_PORT +# +# +# +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000913 +# +# 4 cores +# +set _TARGETNAME_0 $_CHIPNAME.cpu0 +set _TARGETNAME_1 $_CHIPNAME.cpu1 +set _TARGETNAME_2 $_CHIPNAME.cpu2 +set _TARGETNAME_3 $_CHIPNAME.cpu3 +# +# 4 cores +# +target create $_TARGETNAME_0 riscv -chain-position $_CHIPNAME.cpu -rtos hwthread +target create $_TARGETNAME_1 riscv -chain-position $_CHIPNAME.cpu -coreid 1 +target create $_TARGETNAME_2 riscv -chain-position $_CHIPNAME.cpu -coreid 2 +target create $_TARGETNAME_3 riscv -chain-position $_CHIPNAME.cpu -coreid 3 +target smp $_TARGETNAME_0 $_TARGETNAME_1 $_TARGETNAME_2 $_TARGETNAME_3 +# +# Some timeout +# +riscv set_reset_timeout_sec 60 +riscv set_command_timeout_sec 60 +riscv set_prefer_sba 1 + +# +# *init* will take forever to run in simulation, the goal it to verify that OpenOcd can put each of the core thru the trap and read it MISA register +# and verify its IDCODE. +# Each core expects to execute normally -> enter traps -> jump to 0x800 (openOcd tell them to do there) -> 0x848 (done with openocd) -> trap... +# +# as soon as the core's PC= 0x848 (see PassFaiul.hex) for all cores, the test will terminate which causes the socket to close +# and *openOcd* to seg fault due to broken pipe (which is expected as of now because openocd has no feeedback to indicate socket is closed beside TDO) +# +echo "Issuing Init" +init +# +# +# +echo "End of DTM.cfg file" + + + diff --git a/cosim/isaTests/dtmTest/riscv_wrapper.cc b/cosim/isaTests/dtmTest/riscv_wrapper.cc new file mode 100644 index 0000000..3de0a05 --- /dev/null +++ b/cosim/isaTests/dtmTest/riscv_wrapper.cc @@ -0,0 +1,75 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX short identifier: BSD-2-Clause +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ +// +// For bareMetal mode ONLY +// +#ifdef BARE_MODE +#include "cep_adrMap.h" +#include "cep_apis.h" + +#include "cepRegTest.h" +#include "cepregression.h" +#include "portable_io.h" + +//#define printf(...) { return 0; } + +#ifdef __cplusplus +extern "C" { +#endif + +//int main(void) +void thread_entry(int cid, int nc) +{ + // +int errCnt = 0; +int testId[4] = {0x00,0x11,0x22,0x33}; +int coreId = read_csr(mhartid); + // +set_printf(0); + + // + // +set_cur_status(CEP_RUNNING_STATUS); + + // Do nothing but keep +int done = 0; +uint64_t dat64 = coreId; +uint64_t rdat64; +while (!done) { + DUT_WRITE32_64(cep_scratch0_reg + (coreId * 8),dat64); + dat64 += 1 + coreId; + // + DUT_READ32_64(cep_core0_status + (coreId * 8),rdat64); +if (rdat64 == CEP_GOOD_STATUS) done=1; +} + // + // + // Done + // + set_status(errCnt,testId[coreId]); + /* + if (errCnt) { + set_pass(); + } else { + set_fail(); + } + */ + // + // Stuck here forever... + // + exit(errCnt); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/cosim/pli/dpi_bitbang.cc b/cosim/pli/dpi_bitbang.cc new file mode 100644 index 0000000..f09cf4e --- /dev/null +++ b/cosim/pli/dpi_bitbang.cc @@ -0,0 +1,203 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX License Identifier: MIT +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: to be used with openocd +// Notes: +// +//************************************************************************ + +#include +#include +#include +#include +#include +#include +#include + +#include "dpi_bitbang.h" + +typedef struct { + int sockFd; + int openOcdFd; + int socket_portId; + int jtagEncode; // concate of {TRST,TCK,TMS,TDI} // NOTE TRST = active hi + int jtagTdo; + int quit; + int comOn; // is open +} bitbang; + +// +// global +// +bitbang jtag_bitbang; +bitbang *jtag = &jtag_bitbang; + +static void dpi_bitbang_open(uint16_t port) +{ + jtag->sockFd = 0; + jtag->openOcdFd = 0; + // + jtag->socket_portId = 0; + jtag->sockFd = socket(AF_INET, SOCK_STREAM, 0); + if (jtag->sockFd == -1) { + printf("%s: failed to make socket: %s (%d)\n",__FUNCTION__,strerror(errno), errno); + abort(); + } + fcntl(jtag->sockFd, F_SETFL, O_NONBLOCK); + int reuseaddr = 1; + if (setsockopt(jtag->sockFd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, + sizeof(int)) == -1) { + printf("%s: failed setsockopt: %s (%d)\n",__FUNCTION__,strerror(errno), errno); + abort(); + } + + struct sockaddr_in addr; + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = INADDR_ANY; + addr.sin_port = htons(port); + + if (::bind(jtag->sockFd, (struct sockaddr *) &addr, sizeof(addr)) == -1) { + printf("%s failed to bind socket: %s (%d)\n",__FUNCTION__,strerror(errno), errno); + abort(); + } + + if (listen(jtag->sockFd, 1) == -1) { + printf("%s failed to listen on socket: %s (%d)\n",__FUNCTION__,strerror(errno), errno); + abort(); + } + + socklen_t addrlen = sizeof(addr); + if (getsockname(jtag->sockFd, (struct sockaddr *) &addr, &addrlen) == -1) { + printf("%s getsockname failed: %s (%d)\n",__FUNCTION__,strerror(errno), errno); + abort(); + } + jtag->jtagEncode = 0xf; + jtag->quit = 0; + jtag->comOn = 0; + // bit[31] = valid + jtag->socket_portId = (1 << 31) | (int)ntohs(addr.sin_port); + // + printf("%s: Listening on port %d\n",__FUNCTION__,jtag->socket_portId & 0xFFFF); +} + +static void dpi_bitbang_wait2accept(void) +{ + if (!jtag->comOn) { + printf("%s: Waiting to accept client socket (openocd)\n",__FUNCTION__); + int again = 1; + while (again != 0) { + jtag->openOcdFd = ::accept(jtag->sockFd, NULL, NULL); + if (jtag->openOcdFd == -1) { + if (errno == EAGAIN) { + // No client waiting to connect right now. + } else { + printf("%s: failed to accept on socket: %s (%d)\n", __FUNCTION__,strerror(errno), errno); + again = 0; + abort(); + } + } else { + fcntl(jtag->openOcdFd, F_SETFL, O_NONBLOCK); + printf("%s: Accepted successfully.",__FUNCTION__); + again = 0; + } + } + jtag->comOn = 1; + } +} + +static void dpi_bitbang_run(void) +{ + char cmd; + int wrBack = 0; + char tdoChar = '?'; + // + int again = 1; + while (again) { + ssize_t num_read = read(jtag->openOcdFd, &cmd, sizeof(cmd)); + if (num_read == -1) { + if (errno != EAGAIN) { + printf("%s: failed to read on socket: %s (%d)\n",__FUNCTION__,strerror(errno), errno); + again = 0; + abort(); + } + } else if (num_read == 0) { + printf("%s: No Command Received.\n",__FUNCTION__); + again = 1; + } else { + again = 0; + } + } + // see openocd's bitbang.h 's write interface + // openocd will send 1 character encoding {tck,tms,tdi} in the 3 LSB bits the character.. "0" <-> "7" + // will some others + // + switch (cmd) { + case '0': jtag->jtagEncode = 0;break; + case '1': jtag->jtagEncode = 1;break; + case '2': jtag->jtagEncode = 2;break; + case '3': jtag->jtagEncode = 3;break; + case '4': jtag->jtagEncode = 4;break; + case '5': jtag->jtagEncode = 5;break; + case '6': jtag->jtagEncode = 6;break; + case '7': jtag->jtagEncode = 7;break; + case 'r': jtag->jtagEncode = 0xf; break;// reset + // + case 'R': wrBack = 1; tdoChar = jtag->jtagTdo ? '1' : '0'; break; + case 'Q': jtag->quit = 1; break; + case 'B': + case 'b': break; // do nothing + // + default: + printf("%s: unsupported command '%c'\n",__FUNCTION__,cmd); + } + + if (wrBack){ + ssize_t bytes = write(jtag->openOcdFd, &tdoChar, sizeof(tdoChar)); + if (bytes == -1) { + printf("%s: failed to write to socket: %s (%d)\n", __FUNCTION__,strerror(errno), errno); + abort(); + } + } + // + if (jtag->quit) { + printf("%s: Remote end disconnected\n",__FUNCTION__); + close(jtag->openOcdFd); + jtag->openOcdFd = 0; + jtag->comOn = 0; + } +} + +// +// DPI +// + +int jtag_init(void) +{ + dpi_bitbang_open(0); + return 0; +} + +int jtag_quit(void) { + jtag->quit = 1; + return 0; +} + +int jtag_getSocketPortId (void) { return jtag->socket_portId; } + +int jtag_cmd(const int tdo_in, int *encode) +{ + + if (jtag->openOcdFd > 0) { + jtag->jtagTdo = tdo_in; + dpi_bitbang_run(); + } else if (!jtag->quit && !jtag->comOn) { + dpi_bitbang_wait2accept(); + } + *encode = jtag->jtagEncode; + return 0; +} + diff --git a/cosim/pli/dpi_bitbang.h b/cosim/pli/dpi_bitbang.h new file mode 100644 index 0000000..4baa51d --- /dev/null +++ b/cosim/pli/dpi_bitbang.h @@ -0,0 +1,25 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX License Identifier: MIT +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ + +#ifndef DPI_BITBANG_H +#define DPI_BITBANG_H + +#include +#include + +extern "C" { + int jtag_init(void) ; + int jtag_quit(void); + int jtag_getSocketPortId (void); + int jtag_cmd(const int tdo_in, int *encode); +} + +#endif diff --git a/cosim/share/portable_io.h b/cosim/share/portable_io.h index f3f8e45..1752956 100644 --- a/cosim/share/portable_io.h +++ b/cosim/share/portable_io.h @@ -80,7 +80,7 @@ #define DUT_SetInActiveStatus sim_SetInActiveStatus #define DUT_RUNCLK(x) sim_RunClk(x) -#define USEC_SLEEP(x) +#define USEC_SLEEP(x) // framer #define DUT_FRAMER_RDWR(a,wd,rd) sim_Framer_RdWr(a,wd,rd) diff --git a/cosim/vBareTest/Makefile b/cosim/vBareTest/Makefile index 539f183..c9f111e 100644 --- a/cosim/vBareTest/Makefile +++ b/cosim/vBareTest/Makefile @@ -50,12 +50,12 @@ VIRT_TEST_LIST = \ pt3levels \ directMap2Levels \ superpage2Level \ - directMap1Level \ special1Level \ misalignLdSt2Levels \ # iTLB \ # dTLB \ +# directMap1Level \ #x rdwrDat_sv39 \ diff --git a/cosim/vBareTest/dTLB/c_dispatch.cc b/cosim/vBareTest/dTLB/c_dispatch.cc index b581778..3f20766 100644 --- a/cosim/vBareTest/dTLB/c_dispatch.cc +++ b/cosim/vBareTest/dTLB/c_dispatch.cc @@ -48,7 +48,7 @@ int main(int argc, char *argv[]) // // each bit is to turn on the given core (bit0 = core0, bit1=core1, etc..) // - long unsigned int mask = 0xf; + long unsigned int mask = 0x1; // // Set the active CPU mask before spawn the threads... // diff --git a/doc/version3.2.jpg b/doc/version3.2.jpg deleted file mode 100644 index 8a710cf19da3196af1ea51c3fc368255b03eaa27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8692 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 diff --git a/doc/version3.3.jpg b/doc/version3.3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bd69e4d4dde93f8227dd4b60fbf70894cee275db GIT binary patch literal 8923 zcmeHs2{_d6+wa#-NEmw>p~#vfWt&R&5LwF7SW=iIAqq26mIxt~EM+Z1vSu5MCH<1@ zyO}Y`IvEpVnC*Of&;R|O<$bUBde8em=UnHy&ikG3ea&1m&-2Xvxu560@6UaIS(7Xr zaKO^k!W3X*V*|3l7r>eUi~$aI_CGgxae_A&FBcalC)Yk69&TQNeF6gf`}p|<_lq15 z+%LSJpZ|dP0bx;yn3$M=kc6Z-L{bDI2KloH8wWUtlZ%gwiw`2mF9`WxzE~ZAFfY)+ zro_P}53mcfaR{@qx&bHvuyKLf{!#dE7aKdMBR3B(-#&hDK>Y!LosENoos;8_*5K$U z@OOYym`mia);VrbJ5L_@AjpY_X>WKH&ewE`*$a#TtAn950= zQ@W?m=ow!yF*P%{u)OTx=;VCms*Cq^pBp!Q{rrPNLhprz-+%Dvaco?C!jr`GjOUqI z*)Lw^6c!bil$O1HSN^fKuD+qM=~HtTrn{%N?{oi`;gQj?@rlW)Y5W4=$KubW<(1V< z^6#x}$_{mR?+-3EfaAZy`a81!370U4i=C5`gOleEE;jZsP&kA+xejY_i=4CL@eC4` zKk<+kaz5=%O(&m%wmnJA>+aA#amADPBb$Gq{S&f(AF!DJ5VF4m`)|0W0Rav+aPv5X z0T{rzT>X-%iky(noi}Qw`jE`J`Zu)~#L8Jf_m{;ggG!n6{T;d)DOJ3%=JS%cr*SgA zj4C75@X~Y93Lx8}k3l}45Q%&y_fPd3bD57PUg3Tpd#J?husoJd~kWeSRl z^29@VC)G=mo8$5qqje=}pXm${fZN>uJ}e*xj{KG_aDB``3RUIS=$dETt(Ro6`+kjHvHC@s zV-Zdb?OX3*0T%{Yfa+cu3s4+l0sEU6FVM>`S->L7fd%}?*(*;3cAc5BK{PGYkTwhW z!hFX9`cI-TRj?bHdq+{b@G;o#(f0DfXd_1!5buWk3g5cO0?6oc6xkX|T1%ZuVm>Kg zI&a%DEvn1kz81-I@|^bc4;Ecnu?|$Sbv}Uo$Wdp8us7 zHiXMCd`?)*JFUc#_GpwHv8+PYoVKL|55as>x%g$C>`z{()ahA@Z?*PsxxMwO=Wx3D ztY^b7$Jy6p9xq6=kb7aP1jU59@}BNO%KwDlkeM+qi?k(K?+!&;-4vQlcZ4>#JoP~S z^5Kd*{rOfkUnHEYWPY_dbQ9V07P0A~{m$PlH1Q6mV(&~u*{a{%m2 zApfYak$C9h)lBP~U0BMQX%?^|xD7#d`h$UGJW`znc;{6!pJDCJ9{Sf5a3ojLMF`A` zw)kvDHw)NW3H!G!>XzMIon$0PJ%b;gFbG(1*T?8xIpP#`J_wrAA^K5=Hf+SE?;sL1 zToLI{ttpNaq&hFaWf93NK!hkhR3)t=cXDv}bT+K}m!nyW^Y4;P0%7SX%6Bk9VqSeS ztLzBz$Jeg;u`5Xt%E6g&kma|q6ZaLY*GJ_O6 zZ>GXR`Js8?l1G|TP{9a`u6|2>*lMp`-b~UQ3O=#bm8kqa`Fx@(0ZKhqK#WDvPS7=L zh9ZxFOXzK$Nmq5vhGMp9lvYUn3zM(b9^mwSZhC%sJZpHS$ysHk*(zb? z0lhf62~%w_@q#MB+{Xe)u6_9@zqjfJzM+m-H;rw0en{N7R8waao^Qrmsc>ZExLaB} zgfLtO!@Y-cpzsLhS6$@ckB!<0B>yX#llmjI@nX(T@Yfg3QEShtyFQnMD_SVrus9Is zbUB81`P}>Ef#9amW#%@+Z#7v3Gix93xC2`q{E2cHbxuWoMoWnjCf1j5D5;Yb>WsOV z&bQuA-Fs;7sKjhj&-Jdhs28RsFJc{~6t~3M%xT9?x5q&iiSi}0yA_l|kS9e)o?@ia zolC-ld$Nq=#zNiCf5ocl3D$}1Y6U8n8mkTAYMgqtcWi=sBX{trbg@@>+a7d+5tI}d z->N{Es?WPk)>rjZkA0SWHC5w>d%Cdc)dU_kiyov6a~diwLs%lJ5>Vo1X9_MN#y^hS zKVni0ZAqwp?a{)lLaed?ssgkFOSLpo2~S-JWwg_vg04}IY{T3h-9N2AWm|qh61ump za;KopGV~O7ap=K%n^g~TrO7y|JqqcHHs08n!BB!W1Bn(S7fnv8?X{6QDObBh%1XVK zQfAOWf11}3v4q_(r|uwe)dND*;K4pY%^qp>`sMFB0U{C0Ug)-=dadT^*(MRIhLD7Y zvHlLu+&hBE`Ju};D!IGEYpAtfDtCiZRf*ml9Z1gaNGYnB6{#;S8v7|#owTw!wrh}2Lwtaz8=rEj$3r#^QjN_342JY*;&+5f(H0Bv$i89T*`7RrSgdF;H@IVBE zt^=c=+f3@sQR;?EuiRZh?XR0kr%da2EAM@MYb@Vemce~iZ7Gh!e@V@mGTkN>@%+;v zB6frc-7@2h+RI(LUb%)MH!grK8!XEP&x1E&>7tDb@kG1LCk8(FK}h&**;81Xc-w}N zP`}%U!!!A{5A;K#v%-RBo;ojAiiyNzSZ}d_IE@oQ)*5Ki(jt6aAB@mln<$LtG!UM& z@H4gq>#L_;;pP{|-}I~UmuBNz(_;>O<4(JH$8h%%F>nxf7A+u3-BSmEZ1ezf~h#^1eI_ zL8cLlknLq(&?JXI&hX%lf(D5v0j)Y*ZMhN+4b8EOB_CtWZ>k3oyhYoW1+_aTkRGY$c=~> z3nvCcwR5>HoZE7Almq~7K#X<_ggn5A4HcSdF=^lIOOZ=~9zxt(m{;ZU0JB8a<2dE7 zr%$wSsXvX~S9E61#RIpD$%z2dC}cgmgt?$~*U{%M**P@7``-4p(RyK`>IpDMy=MQL z2t~ti^(ZpJNSp=Ke4Aha=7DdEnEcKx;AkyAkam!W+KSst1h(PSBYpH21sF}*6Oh0R z|7tI<&P3s|p=2+V0Q#2_3n;T{-YbvZr(F1VQSsk%tZFNsUupbaIgtEAGtfZeM77L2 zr_1Z-2?F`baBAdb5BI)lDenEVWaqqk7u7BVSW{SNzmojO!|A17zBo_O5pA@m;K=7)63E zo=wo2Xjh~fU`4zG0JoSjL_yMK}4KUsi6 z0ij|MIsg`y^q#_J&t9kBQGL};eTie}y3`JB7&sTY`0u1AsMqaoOWH5o=j*uewBe^$ z1Y6GHns-sj;6rra;H1z3n&`K=CnOwxV*|4XkKba5V{PIBZtt0YO;OA;Q%N&9%yEM4 z^T9{(0%%>?y6PsJ;#~j8e)INAKNNm9_d@fpC;DzKYVn0H0d{ES5H+zJl^W{F&ZXT^g5zy?}!gGEP-v5kvp@6&H@Uq{>hvTv0n;#ycO~@sx zX0MA`wO&x+9XNR71uk~u6Dd2*~CB|PV!FHqAm zT2p;~E=FBMd%%{-z$rJcc8kC<3jiboy}ckY#r-Hv;-;0|?d|FCc3-gGG4S!5>e z+lYLT$ji>&pj_!?l`|5$FjtAMqizN)p!zG*w>1a{e}evq>ZXk7Tpw%YU!aNomTUgd z;_F^?>!G4{H}-_Cg34TiK@89GAYByA+~-q8CG_kCVuX^yYOwRG0&+vGma8@Widalw zP_$T5h%+EEDcICt22v}oQj*52@<97d zTv6SFSS;HbTz!z(NfJts>B;9L{cOSrzFTRSD30hCK{E$j$AXi}lz5uubH~h&Rp!4j zfjEf&Um=Bnb2@Si#Quiy8g&yZMLkkv*4F;f?<57ue$9;bS;jDK`%=`CYS+TrcS3$V zJflq(U6xjF=vD461Ky!J_1yu2-5TEMx{}xblp6{1jRq(JBX}V!QNzGwLA4h>_DeqQ z*ln2#H9JKMDlr))z30r_7e&%$Li&hyRqj(W2_Z0XO$sr;r|W&XmIU9nNc^pPBI=Pn zI5gj?k>Mut3BFQZ6Xx)Tb=IfWS|~hr+Y?B$-M{E=a-?EpsTLmYWLI>|D2a?E!`xB0 zrznoTSf(g7X(52o#3XP{oC6p7Shpe+Ou>3CmlpY*s=@UyDp+sov|i{`$siXu4Q6WSRfKk`m{&>Lhd*d^ai4=3 zVUcK4nB?O6nEK()k*TxbP+=k#Vs7JU9m`gshE1E z;|zv?V0&gAK1hc^DZ`|Kj=;z5he_XFy?0rK3F}mxQByzJVv%KW>+xI1s-pmNU8P1v zChL}mhZgh^#HqfpLP@MJ0;FV_QhL@FtK*&URxHU96&r>U0G-BNeCbjwal^nm;#9L& z#@ocRXh4GZrqve+=B@Vmp>IHzo=q5x{-44jvwWj%XC*3<-2?jL`&K6f?f3M{m}roYAw}a_8OVqNOy1F(9Wi2 zSl>b$q6hcP(wHMGpdK2Fx{l>oVXAE2D|qj(7e(A#8R{#FO6~{5Facw(LX&(^kwHlzH(j8dnb`2mBM6D1|bPe5&qg#y!q0Ik^WL(rzwx@aAr= z9;^P&EUT+DHT1TsMaN$CY>rhjc?NV|H3sfHz)j#9>0&bY`4Sv-hNI{5oK%6$#JIXw zmj$1S-FLM_?G+XC<9Y(lzxu#`{9#FA0gOjPuq)y+5sjR~)>Nhv!${v`TrKb;28hD! z0@KkO@U$eh_IZ2m3xTmeu2-n!9y<5l5q8rxhaVphi7qbqJjf68vmBvWzzViQf5VQl z09-D*{!|`KgC2qy6mCtU8h4AMr*p>IhiHHR=4{Z8(J1_NFDk>q!rb5VenDAS_^6L>6YrC(3(@@X}r?bys=don5f@GivR%FNqp)ZX~24@`YMJQA4WXy~0@N>xwNqOZ&UGZSS4#Ij^EM z#Rajmzx1~b+yC({8IKa7;Bh-QHGe#SpvfJM>Z!aT=_(s+8MD>dBGYjH?M!fea7xpm z%w#-BtNZY}k3%c0y^X1G+<=5r9qPn97#>KBV$rV2-XCcS0%e?Jp$A(o$}YEr+$H}& za11cEsT*6r`LVq|j`9sJ5bQc@s+e*?f$OSyC+9t#8;P#V81E&R1gcXXeG?`FmuWM@ zU&{zQMl2o(Dg`-Pq^pHAGqawwM1fL;Nu?B3?EXltA-T3E-D&RdBJ6#ThEE8u z7CV2kbA*QBzeC%a@=inQ?9BH^^rH9ERX0^HCfRI;#f6~6{77GvQbt@pB$5@Mv2#35 zyTXk*{!Ke33XuesQ#RDYVEZ%>gvk^ENw9yLQzEw+r|>l9;PKuM80p96giGb++yD>) zI6SvAU6}l75JBqefwqxn!y-wo%wYq zyE0S>!z=C-(Bn0>%}e+eyd#cNJ~Y`AWo)9VIvaMcrX%t=m4igUwW{UwkZh9hWg)`- z!QMBLf>cr-{*-G;-FY#AG7+%-BQj5a*Dn0E2vt+q#Tn+?in(G1Sd)@ zpr&9BAE?2!3zoyn9_o$p?JCBi^;t!dc=`5T0#}FRUs@QC^gH|?c%~qZ)=JJb6Lm8I zW*6HUM?+}EBAsD=Dt|%VJ~+{wE(yKlKlk?*+<(6_|L)KIKIY!{6+=@_a=o0yDa%?I zWo9mHNG@MvBQfS%7Ob!Rb$+N)B64T?@tS~L>OC)RThGyauE>WAu!L(W40LG=DG=is zg%5mKLQg#qPFawMS#o^}%^$Qe1s;2nTi@%6@b>*B$33yW7LKiJB%UE?rXb?MK1@I{ z>E@$?^7(*_s6{eOo1Tb?DSq@NM|IVfo2qX@jl#QYVvw>UZ-zsxHRb{;)rh?!%A+1a z_7Uk|kK5vCA~01h{qs>NwZOc2xIWov!g2W5_nsi1sC@$hpC42du}ek>J1@T$%F;yR z3a&v&b6eB#U8&OHf8iE?R9%k<6kM&^i+pNh5plKg7zKznRMBC)g89@ zz=zsN7%weB4oZaXy~)+GTQf_Yxg1du{)&<0*&v5r|KOpzlH_{jR)AMS jL!5p@_$9N0TFMS49BgL~0z97fLubKE{=ZeAtf~J3WT=2M literal 0 HcmV?d00001 diff --git a/hdl_cores/freedom/bootrom/sdboot/Makefile b/hdl_cores/freedom/bootrom/sdboot/Makefile index 90b9b93..e26a13b 100644 --- a/hdl_cores/freedom/bootrom/sdboot/Makefile +++ b/hdl_cores/freedom/bootrom/sdboot/Makefile @@ -1,10 +1,19 @@ +# +# modified by Tony D. 04/16/21 +# The caller MUST pass in 2 arguments +# SDNAME & DEFINES +# + # RISCV environment variable must be set CC=$(RISCV)/bin/riscv64-unknown-elf-gcc +AR=$(RISCV)/bin/riscv64-unknown-elf-gcc-ar OBJCOPY=$(RISCV)/bin/riscv64-unknown-elf-objcopy +OBJDUMP=$(RISCV)/bin/riscv64-unknown-elf-objdump CFLAGS=-march=rv64imac -mcmodel=medany -O2 -std=gnu11 -Wall -nostartfiles -CFLAGS+= -fno-common -g -DENTROPY=0 -mabi=lp64 -DNONSMP_HART=0 +CFLAGS+= -fno-common -DENTROPY=0 -mabi=lp64 -DNONSMP_HART=0 CFLAGS+= -I $(BOOTROM_DIR)/include -I. +CFLAGS+= ${EXTRA_CFLAGS} LFLAGS=-static -nostdlib -L $(BOOTROM_DIR)/linker -T sdboot.elf.lds dts := $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).dts @@ -21,21 +30,22 @@ $(dtb): $(dts) .PHONY: dtb dtb: $(dtb) -elf := $(BUILD_DIR)/sdboot.elf +elf := $(BUILD_DIR)/${SDNAME}.elf $(elf): $(dtb) head.S kprintf.c sd.c $(clk) - $(CC) $(CFLAGS) -include $(clk) -DDEVICE_TREE='"$(dtb)"' $(LFLAGS) -o $@ head.S sd.c kprintf.c + $(CC) $(CFLAGS) -include $(clk) -DDEVICE_TREE='"$(dtb)"' $(LFLAGS) -o $@ head.S sd.c kprintf.c ${DEFINES} .PHONY: elf elf: $(elf) -bin := $(BUILD_DIR)/sdboot.bin +bin := $(BUILD_DIR)/${SDNAME}.bin $(bin): $(elf) $(OBJCOPY) -O binary $< $@ + $(OBJDUMP) -S -C -d -l -x ${elf} > ${elf}.dump .PHONY: bin bin: $(bin) -hex := $(BUILD_DIR)/sdboot.hex +hex := $(BUILD_DIR)/${SDNAME}.hex $(hex): $(bin) od -t x4 -An -w4 -v $< > $@ diff --git a/hdl_cores/freedom/bootrom/sdboot/common.h b/hdl_cores/freedom/bootrom/sdboot/common.h index 4f71e10..c7ced2e 100644 --- a/hdl_cores/freedom/bootrom/sdboot/common.h +++ b/hdl_cores/freedom/bootrom/sdboot/common.h @@ -1,3 +1,13 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ + #ifndef _SDBOOT_COMMON_H #define _SDBOOT_COMMON_H @@ -5,5 +15,6 @@ #define PAYLOAD_DEST MEMORY_MEM_ADDR #endif +#define SCRATCH_DEST 0x64800000 #endif diff --git a/hdl_cores/freedom/bootrom/sdboot/head.S b/hdl_cores/freedom/bootrom/sdboot/head.S index 14fa740..ac2b6da 100644 --- a/hdl_cores/freedom/bootrom/sdboot/head.S +++ b/hdl_cores/freedom/bootrom/sdboot/head.S @@ -1,3 +1,13 @@ +#//************************************************************************ +#// Copyright 2021 Massachusetts Institute of Technology +#// +#// File Name: +#// Program: Common Evaluation Platform (CEP) +#// Description: +#// Notes: +#// +#//************************************************************************ + // See LICENSE for license details. #include #include @@ -8,6 +18,18 @@ .globl _prog_start _prog_start: smp_pause(s1, s2) +#ifdef _USE_xEXE + # + # ----------------------- + # jump to xExeInit init (core0 ONLY) + # ----------------------- + # + li sp, (SCRATCH_DEST + 0xf000) + call xExeInit +#endif + # ----------------------- + # back to main + # ----------------------- li sp, (PAYLOAD_DEST + 0x7fff000) call main smp_resume(s1, s2) diff --git a/hdl_cores/freedom/bootrom/sdboot/include/platform.h b/hdl_cores/freedom/bootrom/sdboot/include/platform.h index fcb1156..a2b3862 100644 --- a/hdl_cores/freedom/bootrom/sdboot/include/platform.h +++ b/hdl_cores/freedom/bootrom/sdboot/include/platform.h @@ -41,7 +41,7 @@ #define GPIO_CTRL_ADDR _AC(0x64002000,UL) #define GPIO_CTRL_SIZE _AC(0x1000,UL) #define MASKROM_MEM_ADDR _AC(0x10000,UL) -#define MASKROM_MEM_SIZE _AC(0x4000,UL) +#define MASKROM_MEM_SIZE _AC(0x80000,UL) #define MEMORY_MEM_ADDR _AC(0x80000000,UL) #define MEMORY_MEM_SIZE _AC(0x40000000,UL) #define PLIC_CTRL_ADDR _AC(0xc000000,UL) diff --git a/hdl_cores/freedom/bootrom/sdboot/linker/memory.lds b/hdl_cores/freedom/bootrom/sdboot/linker/memory.lds index f5cdc07..30182cc 100644 --- a/hdl_cores/freedom/bootrom/sdboot/linker/memory.lds +++ b/hdl_cores/freedom/bootrom/sdboot/linker/memory.lds @@ -3,12 +3,13 @@ MEMORY debug_ctrl (rwx) : ORIGIN = 0x0, LENGTH = 0x1000 error_mem (rw) : ORIGIN = 0x3000, LENGTH = 0x1000 test_ctrl (rw) : ORIGIN = 0x4000, LENGTH = 0x1000 - maskrom_mem (rx) : ORIGIN = 0x10000, LENGTH = 0x4000 + maskrom_mem (rx) : ORIGIN = 0x10000, LENGTH = 0x8000 clint_ctrl (rw) : ORIGIN = 0x2000000, LENGTH = 0x10000 plic_ctrl (rw) : ORIGIN = 0xc000000, LENGTH = 0x4000000 - axi_pcie_host_1_00_a_ctrl (rw) : ORIGIN = 0x50000000, LENGTH = 0x4000000 - uart_ctrl (rw) : ORIGIN = 0x54000000, LENGTH = 0x1000 - spi_ctrl (rw) : ORIGIN = 0x54001000, LENGTH = 0x1000 - gpio_ctrl (rw) : ORIGIN = 0x54002000, LENGTH = 0x1000 + axi_pcie_host_1_00_a_ctrl (rw) : ORIGIN = 0x60000000, LENGTH = 0x4000000 + uart_ctrl (rw) : ORIGIN = 0x64000000, LENGTH = 0x1000 + spi_ctrl (rw) : ORIGIN = 0x64001000, LENGTH = 0x1000 + gpio_ctrl (rw) : ORIGIN = 0x64002000, LENGTH = 0x1000 + scratch_mem (rwx) : ORIGIN = 0x64800000, LENGTH = 0x10000 memory_mem (rwx) : ORIGIN = 0x80000000, LENGTH = 0x40000000 } diff --git a/hdl_cores/freedom/bootrom/sdboot/sd.c b/hdl_cores/freedom/bootrom/sdboot/sd.c index 7b5a8f1..404d829 100644 --- a/hdl_cores/freedom/bootrom/sdboot/sd.c +++ b/hdl_cores/freedom/bootrom/sdboot/sd.c @@ -224,7 +224,7 @@ void print_greeting() kputs(" ./+++++++++++oo+++: +oo++o++++o+o+oo+oo.- `s+++s`- "); kputs(" .--:---:-:-::-::` -::::::::::::::::::. :::::. "); kputs(" "); - kputs(" Common Evaluation Platform v3.20 "); + kputs(" Common Evaluation Platform v3.30 "); kputs(" Copyright 2021 Massachusetts Institute of Technology "); kputs(" "); kputs(" Built upon the SiFive Freedom U500 Platform using "); @@ -239,11 +239,13 @@ void print_greeting() kputs(" "); kputs(" Specific commit links available in the CEP README.md, Release Notes "); kputs(" "); + kprintf("BootRom Image built on %s %s\n",__DATE__,__TIME__); } int main(void) { +#ifndef _NO_SD_DOWNLOAD REG32(uart, UART_REG_TXCTRL) = UART_TXEN; print_greeting(); @@ -260,6 +262,7 @@ int main(void) } kputs("BOOT"); +#endif __asm__ __volatile__ ("fence.i" : : : "memory"); return 0; diff --git a/hdl_cores/freedom/bootrom/sdboot/xExeHacked.c b/hdl_cores/freedom/bootrom/sdboot/xExeHacked.c new file mode 100644 index 0000000..5bd0019 --- /dev/null +++ b/hdl_cores/freedom/bootrom/sdboot/xExeHacked.c @@ -0,0 +1,101 @@ +//************************************************************************ +// Copyright 2021 Massachusetts Institute of Technology +// SPDX License Identifier: MIT +// +// File Name: +// Program: Common Evaluation Platform (CEP) +// Description: +// Notes: +// +//************************************************************************ + +// See LICENSE for license details. +#include + +#include + +#include "common.h" + + +// +// +// +//#include "cep_adrMap.h" + +// +// This will force the use of stack!!! +// +#define scratchpad_base_addr 0x64800000 +#define scratchpad_base_size 0x00010000 +#define scratchpad_know_pattern 0x600dbabe12345678ULL +#define reg_base_addr 0x700F0000 +#define cep_scratch0_reg 0xFE00 + +int xExeTestAPI(uint64_t offset, uint64_t in) { + int errCnt = 0; + uint64_t wrDat = in; + uint64_t rdDat ; + _REG64(scratchpad_base_addr,offset) = wrDat; + rdDat = _REG64(scratchpad_base_addr, offset); + if (wrDat != rdDat) { + errCnt++; + } + return errCnt; +} +// +// Some code to verify that we can move the stack point to scratchpad and execute code out of bootrom without main memory +// (act as place holder for real APIs) +// +int xExeInit(void) +{ + uint64_t wrDat = scratchpad_know_pattern; + uint64_t rdDat ; + int errCnt=0; + uint64_t offset_array[8]; // local space via stack + + // + // offset, use array to force push on stack + // + for (int i=0;i<8;i++) { + offset_array[i] = i * 0x100; + } + // + // + // Write loop + // + wrDat = scratchpad_know_pattern; + for (int i=0;i<8;i++) { + errCnt += xExeTestAPI(offset_array[i],wrDat); // call some API to use stack!! + wrDat++; + } + if (errCnt ) { return 1; } + // + // Read loop + // + wrDat = scratchpad_know_pattern; + for (int i=0;i<8;i++) { + rdDat = _REG64(scratchpad_base_addr, offset_array[i]); + if (wrDat != rdDat) { + errCnt++; + break; + } + wrDat++; + } + if (errCnt ) { return 1; } + // + // + // play with some internal registers to act as AXI read/write + // + wrDat = ~wrDat; + _REG64(reg_base_addr, cep_scratch0_reg) = wrDat; + rdDat = _REG64(reg_base_addr, cep_scratch0_reg); + if (wrDat != rdDat) { + return 1; + } + // + // + // + __asm__ __volatile__ ("fence.i" : : : "memory"); + return errCnt; +} + diff --git a/hdl_cores/freedom/common.mk b/hdl_cores/freedom/common.mk index ee097ac..7c94a10 100644 --- a/hdl_cores/freedom/common.mk +++ b/hdl_cores/freedom/common.mk @@ -66,9 +66,28 @@ endif verilog: $(verilog) romgen := $(BUILD_DIR)/$(CONFIG_PROJECT).$(CONFIG).rom.v +# +# Modified by Tony D. 04/16/21 +# Calling the Makefile under bootrom 2 times: one for fpga to run on VC707, one for fpga in simulation. +# For later ASIC versions, just add 2 more make. +# +# Must passed in 2 arguments: +# SDNAME & DEFINES +# Possible defines = -D_USE_xSPI and/or -D_NO_SD_DOWNLOAD +# +# NOTE: the -D_USE_xExe is added (and xExeHacked.c) to both sdboot_fpga_hw/sim as test to verify that we can execute codes from bootrom +# without main memory for stack point and private data. +# +# (via xExeHacked.c version of xSPI) +# +# They should be removed once the real xSPI controller is in for ASIC or replace xExeHacked.c with appropriate file... +# +# NOTE2: for simulation, we just need to make "hex" target instead of "romgen" when calling Make +# $(romgen): $(verilog) ifneq ($(BOOTROM_DIR),"") - $(MAKE) -C $(BOOTROM_DIR) romgen + $(MAKE) -C $(BOOTROM_DIR) SDNAME=sdboot_fpga_sim EXTRA_CFLAGS="-g" DEFINES="-D_NO_SD_DOWNLOAD -D_USE_xEXE xExeHacked.c" hex + $(MAKE) -C $(BOOTROM_DIR) SDNAME=sdboot_fpga_hw EXTRA_CFLAGS="-g" DEFINES=" -D_USE_xEXE xExeHacked.c" romgen mv $(BUILD_DIR)/rom.v $@ endif diff --git a/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_addresses.scala b/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_addresses.scala index 6e9340a..9a3c193 100644 --- a/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_addresses.scala +++ b/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_addresses.scala @@ -34,7 +34,7 @@ import freechips.rocketchip.tilelink._ object CEPVersion { val CEP_MAJOR_VERSION = 0x03 - val CEP_MINOR_VERSION = 0x20 + val CEP_MINOR_VERSION = 0x30 } object CEPBaseAddresses { @@ -117,7 +117,7 @@ object CEPBaseAddresses { val cepregs_base_depth = 0x0000FFFFL val srot_base_addr = 0x70200000L - val srot_base_depth = 0x00000fffL + val srot_base_depth = 0x0000FFFFL } object AESAddresses { diff --git a/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_registers.scala b/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_registers.scala index 6fe8e5a..638dce7 100644 --- a/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_registers.scala +++ b/hdl_cores/freedom/mitll-blocks/src/main/scala/cep_registers.scala @@ -177,19 +177,19 @@ class TLModuleImp(cepregsparams: CEPREGSParams, outer: TLModule) extends LazyMod // when ((lockNum === 0.U) & (lock0.isLocked === 0.U)) { lock0.coreId := reqId - lock0.isLocked := 1.U + lock0.isLocked := 1.U } .elsewhen ((lockNum === 1.U) & (lock1.isLocked === 0.U)) { lock1.coreId := reqId - lock1.isLocked := 1.U + lock1.isLocked := 1.U } .elsewhen ((lockNum === 2.U) & (lock2.isLocked === 0.U)) { lock2.coreId := reqId - lock2.isLocked := 1.U + lock2.isLocked := 1.U } .elsewhen ((lockNum === 3.U) & (lock3.isLocked === 0.U)) { lock3.coreId := reqId - lock3.isLocked := 1.U + lock3.isLocked := 1.U } } // diff --git a/hdl_cores/freedom/src/main/scala/unleashed/DevKitConfigs.scala b/hdl_cores/freedom/src/main/scala/unleashed/DevKitConfigs.scala index a6231cd..0b7f2ef 100644 --- a/hdl_cores/freedom/src/main/scala/unleashed/DevKitConfigs.scala +++ b/hdl_cores/freedom/src/main/scala/unleashed/DevKitConfigs.scala @@ -47,7 +47,7 @@ class U500DevKitPeripherals extends Config((site, here, up) => { case PeripheryGPIOKey => List( GPIOParams(address = BigInt(0x64002000L), width = 8)) case PeripheryMaskROMKey => List( - MaskROMParams(address = 0x10000, name = "BootROM", depth = 4096)) + MaskROMParams(address = 0x10000, name = "BootROM", depth = 0x2000)) // 8K x 32-bits words case PeripheryDES3Key => List( COREParams( slave_base_addr = BigInt(CEPBaseAddresses.des3_base_addr), @@ -172,7 +172,7 @@ class U500DevKitConfig extends Config( case DTSTimebase => BigInt(1000000) case JtagDTMKey => new JtagDTMConfig ( idcodeVersion = 2, // 1 was legacy (FE310-G000, Acai). - idcodePartNum = 0x000, // Decided to simplify. + idcodePartNum = 0x0000, // Decided to simplify. idcodeManufId = 0x489, // As Assigned by JEDEC to SiFive. Only used in wrappers / test harnesses. debugIdleCycles = 5) // Reasonable guess for synchronization }) diff --git a/hdl_cores/freedom/src/main/scala/unleashed/DevKitFPGADesign.scala b/hdl_cores/freedom/src/main/scala/unleashed/DevKitFPGADesign.scala index d1ad4d7..759191a 100644 --- a/hdl_cores/freedom/src/main/scala/unleashed/DevKitFPGADesign.scala +++ b/hdl_cores/freedom/src/main/scala/unleashed/DevKitFPGADesign.scala @@ -180,14 +180,9 @@ class U500VC707DevKitSystemModule[+L <: DevKitFPGADesign](_outer: L) val gpio_cat = Cat(Seq.tabulate(gpio_pins.pins.length) { i => gpio_pins.pins(i).o.oval }) // make the LED to GPIO connections - _outer.ledsOut(0) := gpio_cat(0) - _outer.ledsOut(1) := gpio_cat(1) - _outer.ledsOut(2) := gpio_cat(2) - _outer.ledsOut(3) := gpio_cat(3) - _outer.ledsOut(4) := gpio_cat(4) - _outer.ledsOut(5) := gpio_cat(5) - _outer.ledsOut(6) := gpio_cat(6) - _outer.ledsOut(7) := gpio_cat(7) + for ( ledindex <- 0 to _outer.ledsOut.length-1 ) { + _outer.ledsOut(ledindex) := gpio_cat(ledindex) + } } // Allow frequency of the design to be controlled by the Makefile diff --git a/hdl_cores/llki/llki_pkg.sv b/hdl_cores/llki/llki_pkg.sv index b19cb7c..475522f 100644 --- a/hdl_cores/llki/llki_pkg.sv +++ b/hdl_cores/llki/llki_pkg.sv @@ -5,16 +5,9 @@ // File Name: llki_pkg.sv // Program: Common Evaluation Platform (CEP) // Description: LLKI related parameters and such. -// Notes: Addresses must reside "within" the corresponding +// Notes: Addresses MUST reside "within" the corresponding // range as specified in cep_addresses.scala. // -// Example: For the Surrogate Root of Trust (SRoT) -// cep_addresses.scala specifies -// val srot_base_addr = 0x70100000L -// val srot_base_depth = 0x00007fffL -// As a result, the SROT_XXXX addresses must -// reside in this ranges (due to hierarchical decode) -// // The address and bitmappings here should match // those in CEP.h (to allow for SW access) // @@ -32,11 +25,11 @@ package llki_pkg; localparam SROT_LLKIC2_SCRATCHPAD1_ADDR = 32'h7020_0018; // See KeyIndexRAM explanation below localparam SROT_KEYINDEXRAM_ADDR = 32'h7020_0100; - localparam SROT_KEYINDEXRAM_SIZE = 32'h0000_0020; + localparam SROT_KEYINDEXRAM_SIZE = 32'h0000_0020; // 32 64-bit words // Holds the LLKI keys as referenced by the those words in the KeyIndex RAM // Note: This cannot be less than SROT_KEYINDEXRAM_ADDR + (SROT_KEYINDEXRAM_SIZE * 8)!!! localparam SROT_KEYRAM_ADDR = 32'h7020_0200; - localparam SROT_KEYRAM_SIZE = 32'h0000_0100; + localparam SROT_KEYRAM_SIZE = 32'h0000_0800; // 2048 64-bit words // All LLKI Protocol Processing blocks will use the same SystemVerilog code, and thus // will have their decode addresses uniquified through module parameters. These will be @@ -147,10 +140,10 @@ package llki_pkg; // LLKI C2 RISCV -> SRoT Message Format // // Word# - // 63 32 31 24 23 16 15 8 7 0 - // +----------------------------------+-------+---------+--------+--------+ - // | Reserved |Key Idx| MSG LEN | STATUS | MSG ID | 1 - // +----------------------------------+-------+---------+--------+--------+ + // 63 40 39 32 31 16 15 8 7 0 + // +----------------------------------+-----------------+--------+--------+ + // | Reserved |Key Idx| MSG LEN | STATUS | MSG ID | 1 + // +----------------------------------+-----------------+--------+--------+ // // MSG ID : Only the following message IDs are valid on the LLKIC2 request interface: @@ -181,10 +174,10 @@ package llki_pkg; // NOTE: Each word transferred is a SEPERATE Tilelink transaction // // Word# - // 63 24 23 16 15 8 7 0 - // +------------------------------------------+---------+--------+--------+ - // | Reserved | MSG LEN | STATUS | MSG ID | 1 - // +------------------------------------------+---------+--------+--------+ + // 63 40 39 32 31 16 15 8 7 0 + // +----------------------------------+-----------------+--------+--------+ + // | Reserved |Key Idx| MSG LEN | STATUS | MSG ID | 1 + // +----------------------------------+-----------------+--------+--------+ // ... // +----------------------------------------------------------------------+ // | Key Word #1 (LLKI_MID_KLLOADKEYREQ message only) | 2 diff --git a/hdl_cores/llki/llki_pp_wrapper.sv b/hdl_cores/llki/llki_pp_wrapper.sv index b1562e9..4bbfcf5 100644 --- a/hdl_cores/llki/llki_pp_wrapper.sv +++ b/hdl_cores/llki/llki_pp_wrapper.sv @@ -246,7 +246,7 @@ module llki_pp_wrapper import tlul_pkg::*; import llki_pkg::*; #( LLKIPP_STATE_TYPE llkipp_current_state; reg [7:0] msg_id; reg [7:0] status; - reg [7:0] msg_len; + reg [15:0] msg_len; always @(posedge clk or posedge rst) begin @@ -281,7 +281,7 @@ module llki_pp_wrapper import tlul_pkg::*; import llki_pkg::*; #( if (reg_we_o && reg_addr_o == SENDRECV_ADDR) begin msg_id <= reg_wdata_o[7:0]; status <= reg_wdata_o[15:8]; - msg_len <= reg_wdata_o[23:16]; + msg_len <= reg_wdata_o[31:16]; // Now that we have captured the message, time to process llkipp_current_state <= ST_LLKIPP_MESSAGE_CHECK; @@ -462,7 +462,7 @@ module llki_pp_wrapper import tlul_pkg::*; import llki_pkg::*; #( // Build the response word and indicate that a response is waiting (remember, no FIFOs) llkipp_response_word[7:0] <= msg_id; llkipp_response_word[15:8] <= status; - llkipp_response_word[23:16] <= 1; // All responses have a message len of 1 + llkipp_response_word[31:16] <= 1; // All responses have a message len of 1 llkipp_response_waiting <= '1; // When the SEND/RECV address is read via the register interface, we can return to idle diff --git a/hdl_cores/llki/srot_wrapper.sv b/hdl_cores/llki/srot_wrapper.sv index 201b503..44a2f24 100644 --- a/hdl_cores/llki/srot_wrapper.sv +++ b/hdl_cores/llki/srot_wrapper.sv @@ -652,7 +652,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( reg [31:0] rsvd; reg [7:0] msg_id; reg [7:0] status; - reg [7:0] msg_len; + reg [15:0] msg_len; reg [7:0] key_index; reg [15:0] low_pointer; reg [15:0] high_pointer; @@ -728,10 +728,10 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( // Capture the message elements (incoming status is ignored) msg_id <= llkic2_reqfifo_rdata_o[7:0]; - msg_len <= llkic2_reqfifo_rdata_o[23:16]; - key_index <= llkic2_reqfifo_rdata_o[31:24]; + msg_len <= llkic2_reqfifo_rdata_o[31:16]; + key_index <= llkic2_reqfifo_rdata_o[39:32]; - rsvd <= llkic2_reqfifo_rdata_o[63:32]; + rsvd <= llkic2_reqfifo_rdata_o[63:40]; // Assert the Send FIFO read enable llkic2_reqfifo_rready_i <= 1'b1; @@ -884,7 +884,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( host_wdata_i[7:0] <= LLKI_MID_KLLOADKEYREQ; // For the Load Key Request Message length is equal // to the 2 + (high_pointer - low pointer). - host_wdata_i[23:16] <= (high_pointer - low_pointer) + 2; + host_wdata_i[31:16] <= (high_pointer - low_pointer) + 2; host_addr_i <= LLKI_CORE_INDEX_ARRAY[core_index][LLKI_SENDRECV_INDEX]; // Assert write enable and req (indicates a TL PutFullData operation) host_req_i <= 1'b1; @@ -893,7 +893,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( end LLKI_MID_C2CLEARKEYREQ : begin host_wdata_i[7:0] <= LLKI_MID_KLCLEARKEYREQ; - host_wdata_i[23:16] <= 8'h01; + host_wdata_i[31:16] <= 16'h01; host_addr_i <= LLKI_CORE_INDEX_ARRAY[core_index][LLKI_SENDRECV_INDEX]; // Assert write enable and req (indicates a TL PutFullData operation) host_req_i <= 1'b1; @@ -901,7 +901,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( end LLKI_MID_C2KEYSTATUSREQ : begin host_wdata_i[7:0] <= LLKI_MID_KLKEYSTATUSREQ; - host_wdata_i[23:16] <= 8'h01; + host_wdata_i[31:16] <= 16'h01; host_addr_i <= LLKI_CORE_INDEX_ARRAY[core_index][LLKI_SENDRECV_INDEX]; // Assert write enable and req (indicates a TL PutFullData operation) host_req_i <= 1'b1; @@ -1281,7 +1281,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( // Capture the reponse fields from the LLKI-PP block msg_id <= host_rdata_o[7:0]; status <= host_rdata_o[15:8]; - msg_len <= host_rdata_o[23:16]; + msg_len <= host_rdata_o[31:16]; // Just to creating a C2 Response message srot_current_state <= ST_SROT_C2_RESPONSE; @@ -1324,7 +1324,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( // Set most of the LLKI-C2 response fields llkic2_respfifo_wdata_i[15:8] <= status; - llkic2_respfifo_wdata_i[23:16] <= 8'h01; + llkic2_respfifo_wdata_i[31:16] <= 8'h01; llkic2_respfifo_wdata_i[63:32] <= rsvd; llkic2_respfifo_wvalid_i <= 1'b1; @@ -1357,7 +1357,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( LLKI_STATUS_KL_KEY_OVERWRITE : begin llkic2_respfifo_wdata_i[7:0] <= LLKI_MID_C2ERRORRESP; llkic2_respfifo_wdata_i[15:8] <= status; - llkic2_respfifo_wdata_i[23:16] <= 8'h01; + llkic2_respfifo_wdata_i[31:16] <= 16'h01; llkic2_respfifo_wdata_i[63:32] <= rsvd; llkic2_respfifo_wvalid_i <= 1'b1; end @@ -1367,7 +1367,7 @@ module srot_wrapper import tlul_pkg::*; import llki_pkg::*; #( default : begin llkic2_respfifo_wdata_i[7:0] <= LLKI_MID_C2ERRORRESP; llkic2_respfifo_wdata_i[15:8] <= LLKI_STATUS_UNKNOWN_ERROR; - llkic2_respfifo_wdata_i[23:16] <= 8'h01; + llkic2_respfifo_wdata_i[31:16] <= 16'h01; llkic2_respfifo_wdata_i[63:32] <= rsvd; llkic2_respfifo_wvalid_i <= 1'b1; end diff --git a/unit_simulation/TL_level_sim/supports/insertLLKI.pl b/unit_simulation/TL_level_sim/supports/insertLLKI.pl deleted file mode 100755 index f699ccc..0000000 --- a/unit_simulation/TL_level_sim/supports/insertLLKI.pl +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/perl -#//************************************************************************ -#// Copyright 2021 Massachusetts Institute of Technology -#// -#// File Name: insertLLKI.pl -#// Program: Common Evaluation Platform (CEP) -#// Description: -#// Notes: -#// -#//************************************************************************ - -use POSIX; -use File::Basename; -use FileHandle; -use English; - -# -# arguments -# -$in_file = @ARGV[0]; -$out_file = @ARGV[1]; - -$debug = 0; -# -# -# -open(FP,$in_file) || die "Can't find file $in_file"; -open(OF,">$out_file") || die "Can't find file $out_file"; -print(OF "`include \"llki_struct.h\"\n"); -while () { - $newline = $_; - if (/^module TL([^(]+)/) { - #printf("Found $1 from : $_"); - $mod = "TL" . $1; - if (($1 =~ /Monitor/) || ($1 =~ /Buffer/)) { - #printf("Skip $_"); - } else { - $newline =~ s/$mod\(/${mod}_mock #(parameter llki_s MY_STRUCT) \(tlul_if\.slave tlul, /g; - #printf("After $newline"); - } - } - elsif (/([\S]+)\s+blackbox\s+\(/) { - #printf("$1\n"); - $modName = $1; - $newMod = $1 . "_mock_tss"; - print(OF "llki_discrete_if discreteIf();\n"); - # use buffer_clock and reset since core might have active-low reset!!! - # use top level instead of buffer_clock because without TL MOnitor, TLBuffer has no clock/reset inputs - print(OF "llki_pp_mock #(.MY_ID(MY_STRUCT.core_id)) llki_pp(.clk(clock), .rst(reset),.discrete(discreteIf.master),.tlul(tlul));\n"); - $newline =~ s/blackbox \(/blackbox \( \.llki\(discreteIf.slave\), /g; - $newline =~ s/$modName/$newMod #(.MY_STRUCT(MY_STRUCT))/; - } - print(OF $newline); -} -close(FP); -close(OF); diff --git a/unit_simulation/TL_level_sim/sv_vectors/aes_playback.h b/unit_simulation/TL_level_sim/sv_vectors/aes_playback.h index a835547..cb3c037 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/aes_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/aes_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: aes. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef aes_playback_H `define aes_playback_H diff --git a/unit_simulation/TL_level_sim/sv_vectors/des3_playback.h b/unit_simulation/TL_level_sim/sv_vectors/des3_playback.h index e12a1ff..623c289 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/des3_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/des3_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: des3. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef des3_playback_H `define des3_playback_H @@ -1945,335 +1945,335 @@ longint des3_playback[] = { , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1919 , `RDnCMP_CMD, 'h70040038, 'h1718191a1b1c1d1e // 1920 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 1921 - , `WRITE__CMD, 'h70040010, 'hc5cff024f5594b1c // 1922 - , `WRITE__CMD, 'h70040018, 'h00bfb09841f3d701 // 1923 - , `WRITE__CMD, 'h70040020, 'h00bcab27b6aa27f2 // 1924 - , `WRITE__CMD, 'h70040028, 'h00da08ff26019995 // 1925 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 1922 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 1923 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 1924 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 1925 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1926 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1927 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1928 - , `RDnCMP_CMD, 'h70040038, 'hfd5f8081e9d4d522 // 1929 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 1929 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 1930 - , `WRITE__CMD, 'h70040010, 'hfd5f8081e9d4d522 // 1931 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 1931 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1932 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1933 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1934 - , `RDnCMP_CMD, 'h70040038, 'hc5cff024f5594b1c // 1935 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 1935 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 1936 - , `WRITE__CMD, 'h70040010, 'hc79e10013a3f15ee // 1937 - , `WRITE__CMD, 'h70040018, 'h00796ecf4aca81f5 // 1938 - , `WRITE__CMD, 'h70040020, 'h00c343a80c6d5479 // 1939 - , `WRITE__CMD, 'h70040028, 'h00f2c05e3d7e78e2 // 1940 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 1937 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 1938 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 1939 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 1940 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1941 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1942 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1943 - , `RDnCMP_CMD, 'h70040038, 'h0074347314123891 // 1944 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 1944 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 1945 - , `WRITE__CMD, 'h70040010, 'h0074347314123891 // 1946 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 1946 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1947 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1948 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1949 - , `RDnCMP_CMD, 'h70040038, 'hc79e10013a3f15ee // 1950 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 1950 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 1951 - , `WRITE__CMD, 'h70040010, 'h4b52700d30885f1f // 1952 - , `WRITE__CMD, 'h70040018, 'h00b378116c4ac999 // 1953 - , `WRITE__CMD, 'h70040020, 'h00e4ce80cb267af5 // 1954 - , `WRITE__CMD, 'h70040028, 'h006e1f38921d8c60 // 1955 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 1952 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 1953 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 1954 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 1955 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1956 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1957 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1958 - , `RDnCMP_CMD, 'h70040038, 'hcd63552acc7cbebf // 1959 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 1959 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 1960 - , `WRITE__CMD, 'h70040010, 'hcd63552acc7cbebf // 1961 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 1961 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1962 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1963 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1964 - , `RDnCMP_CMD, 'h70040038, 'h4b52700d30885f1f // 1965 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 1965 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 1966 - , `WRITE__CMD, 'h70040010, 'h75429efd58706705 // 1967 - , `WRITE__CMD, 'h70040018, 'h00936f07be83cde4 // 1968 - , `WRITE__CMD, 'h70040020, 'h00f2eeb802845377 // 1969 - , `WRITE__CMD, 'h70040028, 'h00521e3138fb7c89 // 1970 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 1967 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 1968 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 1969 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 1970 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1971 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1972 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1973 - , `RDnCMP_CMD, 'h70040038, 'h633fa731c9c3a509 // 1974 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 1974 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 1975 - , `WRITE__CMD, 'h70040010, 'h633fa731c9c3a509 // 1976 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 1976 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1977 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1978 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1979 - , `RDnCMP_CMD, 'h70040038, 'h75429efd58706705 // 1980 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 1980 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 1981 - , `WRITE__CMD, 'h70040010, 'hcf85240b8a3bdd2c // 1982 - , `WRITE__CMD, 'h70040018, 'h0027eaf5dbb331e1 // 1983 - , `WRITE__CMD, 'h70040020, 'h00afef6088ac1277 // 1984 - , `WRITE__CMD, 'h70040028, 'h0085c3417c385474 // 1985 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 1982 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 1983 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 1984 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 1985 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1986 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1987 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1988 - , `RDnCMP_CMD, 'h70040038, 'hd9a91fde527bf193 // 1989 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 1989 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 1990 - , `WRITE__CMD, 'h70040010, 'hd9a91fde527bf193 // 1991 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 1991 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 1992 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 1993 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 1994 - , `RDnCMP_CMD, 'h70040038, 'hcf85240b8a3bdd2c // 1995 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 1995 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 1996 - , `WRITE__CMD, 'h70040010, 'hcd6fcf188f8c2cd3 // 1997 - , `WRITE__CMD, 'h70040018, 'h003ca11f9d5e7d72 // 1998 - , `WRITE__CMD, 'h70040020, 'h00a5c05f45a67c90 // 1999 - , `WRITE__CMD, 'h70040028, 'h00571ddfa8d20ffe // 2000 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 1997 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 1998 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 1999 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2000 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2001 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2002 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2003 - , `RDnCMP_CMD, 'h70040038, 'h422f23eca990ee83 // 2004 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2004 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2005 - , `WRITE__CMD, 'h70040010, 'h422f23eca990ee83 // 2006 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2006 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2007 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2008 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2009 - , `RDnCMP_CMD, 'h70040038, 'hcd6fcf188f8c2cd3 // 2010 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2010 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2011 - , `WRITE__CMD, 'h70040010, 'hc200b800ec4d8928 // 2012 - , `WRITE__CMD, 'h70040018, 'h008ddd971169b09b // 2013 - , `WRITE__CMD, 'h70040020, 'h0075e15f4738f9ff // 2014 - , `WRITE__CMD, 'h70040028, 'h008ff35fe3283465 // 2015 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2012 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2013 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2014 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2015 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2016 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2017 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2018 - , `RDnCMP_CMD, 'h70040038, 'h8bb99ad043348ff0 // 2019 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2019 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2020 - , `WRITE__CMD, 'h70040010, 'h8bb99ad043348ff0 // 2021 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2021 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2022 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2023 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2024 - , `RDnCMP_CMD, 'h70040038, 'hc200b800ec4d8928 // 2025 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2025 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2026 - , `WRITE__CMD, 'h70040010, 'h7af8f2c9067d64de // 2027 - , `WRITE__CMD, 'h70040018, 'h000946514392fc81 // 2028 - , `WRITE__CMD, 'h70040020, 'h002009415b604e62 // 2029 - , `WRITE__CMD, 'h70040028, 'h001994d6f280d968 // 2030 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2027 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2028 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2029 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2030 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2031 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2032 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2033 - , `RDnCMP_CMD, 'h70040038, 'h7995eca3130c9598 // 2034 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2034 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2035 - , `WRITE__CMD, 'h70040010, 'h7995eca3130c9598 // 2036 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2036 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2037 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2038 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2039 - , `RDnCMP_CMD, 'h70040038, 'h7af8f2c9067d64de // 2040 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2040 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2041 - , `WRITE__CMD, 'h70040010, 'hda3cf5c3d225df2f // 2042 - , `WRITE__CMD, 'h70040018, 'h00c222f628ee9291 // 2043 - , `WRITE__CMD, 'h70040020, 'h005d7988261eab12 // 2044 - , `WRITE__CMD, 'h70040028, 'h0030bf576125230e // 2045 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2042 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2043 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2044 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2045 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2046 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2047 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2048 - , `RDnCMP_CMD, 'h70040038, 'h2c1dab7faa69f8d0 // 2049 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2049 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2050 - , `WRITE__CMD, 'h70040010, 'h2c1dab7faa69f8d0 // 2051 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2051 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2052 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2053 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2054 - , `RDnCMP_CMD, 'h70040038, 'hda3cf5c3d225df2f // 2055 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2055 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2056 - , `WRITE__CMD, 'h70040010, 'h008f10d34d077630 // 2057 - , `WRITE__CMD, 'h70040018, 'h008c25a721572c1a // 2058 - , `WRITE__CMD, 'h70040020, 'h00d90b56b8b7c1ff // 2059 - , `WRITE__CMD, 'h70040028, 'h00b5d79042efdbe2 // 2060 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2057 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2058 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2059 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2060 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2061 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2062 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2063 - , `RDnCMP_CMD, 'h70040038, 'h618b2af2028942af // 2064 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2064 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2065 - , `WRITE__CMD, 'h70040010, 'h618b2af2028942af // 2066 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2066 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2067 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2068 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2069 - , `RDnCMP_CMD, 'h70040038, 'h008f10d34d077630 // 2070 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2070 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2071 - , `WRITE__CMD, 'h70040010, 'h91723f13d9ffc5f9 // 2072 - , `WRITE__CMD, 'h70040018, 'h008f877864000ffc // 2073 - , `WRITE__CMD, 'h70040020, 'h00d21f06a166c602 // 2074 - , `WRITE__CMD, 'h70040028, 'h006232f7749ceef4 // 2075 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2072 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2073 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2074 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2075 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2076 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2077 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2078 - , `RDnCMP_CMD, 'h70040038, 'hcf1410b3d0efeba7 // 2079 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2079 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2080 - , `WRITE__CMD, 'h70040010, 'hcf1410b3d0efeba7 // 2081 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2081 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2082 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2083 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2084 - , `RDnCMP_CMD, 'h70040038, 'h91723f13d9ffc5f9 // 2085 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2085 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2086 - , `WRITE__CMD, 'h70040010, 'h8df3cf0c22133700 // 2087 - , `WRITE__CMD, 'h70040018, 'h00389f86951edf71 // 2088 - , `WRITE__CMD, 'h70040020, 'h00b644b9370d5df2 // 2089 - , `WRITE__CMD, 'h70040028, 'h00f9ea062652db6b // 2090 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2087 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2088 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2089 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2090 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2091 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2092 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2093 - , `RDnCMP_CMD, 'h70040038, 'ha8f8bf83c894bf51 // 2094 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2094 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2095 - , `WRITE__CMD, 'h70040010, 'ha8f8bf83c894bf51 // 2096 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2096 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2097 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2098 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2099 - , `RDnCMP_CMD, 'h70040038, 'h8df3cf0c22133700 // 2100 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2100 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2101 - , `WRITE__CMD, 'h70040010, 'h7d5973da02fa58dd // 2102 - , `WRITE__CMD, 'h70040018, 'h003eb906845827e4 // 2103 - , `WRITE__CMD, 'h70040020, 'h00e9f5702850886d // 2104 - , `WRITE__CMD, 'h70040028, 'h0000e7e0b5fed01a // 2105 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2102 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2103 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2104 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2105 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2106 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2107 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2108 - , `RDnCMP_CMD, 'h70040038, 'hb155057db25e12d2 // 2109 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2109 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2110 - , `WRITE__CMD, 'h70040010, 'hb155057db25e12d2 // 2111 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2111 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2112 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2113 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2114 - , `RDnCMP_CMD, 'h70040038, 'h7d5973da02fa58dd // 2115 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2115 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2116 - , `WRITE__CMD, 'h70040010, 'he6f81bf3fc459bf8 // 2117 - , `WRITE__CMD, 'h70040018, 'h00194527fda406e7 // 2118 - , `WRITE__CMD, 'h70040020, 'h00cdba980e43f66a // 2119 - , `WRITE__CMD, 'h70040028, 'h004ad39fcd90ce77 // 2120 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2117 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2118 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2119 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2120 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2121 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2122 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2123 - , `RDnCMP_CMD, 'h70040038, 'h55191eceb5837ad1 // 2124 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2124 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2125 - , `WRITE__CMD, 'h70040010, 'h55191eceb5837ad1 // 2126 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2126 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2127 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2128 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2129 - , `RDnCMP_CMD, 'h70040038, 'he6f81bf3fc459bf8 // 2130 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2130 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2131 - , `WRITE__CMD, 'h70040010, 'hc38e37ee3a4112ff // 2132 - , `WRITE__CMD, 'h70040018, 'h005b6f287217e97f // 2133 - , `WRITE__CMD, 'h70040020, 'h00d837674126577a // 2134 - , `WRITE__CMD, 'h70040028, 'h00708819046bd075 // 2135 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2132 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2133 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2134 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2135 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2136 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2137 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2138 - , `RDnCMP_CMD, 'h70040038, 'h44408795047f8286 // 2139 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2139 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2140 - , `WRITE__CMD, 'h70040010, 'h44408795047f8286 // 2141 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2141 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2142 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2143 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2144 - , `RDnCMP_CMD, 'h70040038, 'hc38e37ee3a4112ff // 2145 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2145 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2146 - , `WRITE__CMD, 'h70040010, 'hd2397018cd105932 // 2147 - , `WRITE__CMD, 'h70040018, 'h003ca20764a5b2fb // 2148 - , `WRITE__CMD, 'h70040020, 'h00be03ce04f75eee // 2149 - , `WRITE__CMD, 'h70040028, 'h00c69481b6661ce8 // 2150 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2147 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2148 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2149 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2150 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2151 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2152 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2153 - , `RDnCMP_CMD, 'h70040038, 'h606d5c3243e17317 // 2154 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2154 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2155 - , `WRITE__CMD, 'h70040010, 'h606d5c3243e17317 // 2156 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2156 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2157 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2158 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2159 - , `RDnCMP_CMD, 'h70040038, 'hd2397018cd105932 // 2160 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2160 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2161 - , `WRITE__CMD, 'h70040010, 'h63ad4aed3ddb3d05 // 2162 - , `WRITE__CMD, 'h70040018, 'h007572c61032869c // 2163 - , `WRITE__CMD, 'h70040020, 'h00bfc12e4936d71e // 2164 - , `WRITE__CMD, 'h70040028, 'h00730b37f6951c13 // 2165 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2162 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2163 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2164 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2165 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2166 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2167 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2168 - , `RDnCMP_CMD, 'h70040038, 'h8566bdd72c6504b7 // 2169 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2169 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2170 - , `WRITE__CMD, 'h70040010, 'h8566bdd72c6504b7 // 2171 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2171 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2172 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2173 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2174 - , `RDnCMP_CMD, 'h70040038, 'h63ad4aed3ddb3d05 // 2175 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2175 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2176 - , `WRITE__CMD, 'h70040010, 'h948bca11612ad7cf // 2177 - , `WRITE__CMD, 'h70040018, 'h00233a062e11bf91 // 2178 - , `WRITE__CMD, 'h70040020, 'h0035176152335892 // 2179 - , `WRITE__CMD, 'h70040028, 'h00907cd763f1c380 // 2180 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2177 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2178 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2179 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2180 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2181 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2182 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2183 - , `RDnCMP_CMD, 'h70040038, 'ha2dd80cfc67d79c1 // 2184 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2184 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2185 - , `WRITE__CMD, 'h70040010, 'ha2dd80cfc67d79c1 // 2186 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2186 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2187 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2188 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2189 - , `RDnCMP_CMD, 'h70040038, 'h948bca11612ad7cf // 2190 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2190 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2191 - , `WRITE__CMD, 'h70040010, 'h1f5898bb0c0102cc // 2192 - , `WRITE__CMD, 'h70040018, 'h001e87f7de749992 // 2193 - , `WRITE__CMD, 'h70040020, 'h00994686b7ebb963 // 2194 - , `WRITE__CMD, 'h70040028, 'h00c80abfe5d59e6e // 2195 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2192 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2193 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2194 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2195 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2196 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2197 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2198 - , `RDnCMP_CMD, 'h70040038, 'h833eca1cc826814e // 2199 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2199 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2200 - , `WRITE__CMD, 'h70040010, 'h833eca1cc826814e // 2201 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2201 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2202 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2203 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2204 - , `RDnCMP_CMD, 'h70040038, 'h1f5898bb0c0102cc // 2205 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2205 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2206 - , `WRITE__CMD, 'h70040010, 'h4ee0a4df67cc0423 // 2207 - , `WRITE__CMD, 'h70040018, 'h00dce996c840c86b // 2208 - , `WRITE__CMD, 'h70040020, 'h008d7db7ff2c5bec // 2209 - , `WRITE__CMD, 'h70040028, 'h00645456a3721574 // 2210 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2207 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2208 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2209 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2210 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2211 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2212 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2213 - , `RDnCMP_CMD, 'h70040038, 'h4a9af705a3ee4616 // 2214 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2214 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2215 - , `WRITE__CMD, 'h70040010, 'h4a9af705a3ee4616 // 2216 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2216 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2217 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2218 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2219 - , `RDnCMP_CMD, 'h70040038, 'h4ee0a4df67cc0423 // 2220 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2220 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2221 - , `WRITE__CMD, 'h70040010, 'h4a386adde3feddd0 // 2222 - , `WRITE__CMD, 'h70040018, 'h00313705f384c117 // 2223 - , `WRITE__CMD, 'h70040020, 'h0098e54f85765a7d // 2224 - , `WRITE__CMD, 'h70040028, 'h00ddc69721911d16 // 2225 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2222 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2223 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2224 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2225 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2226 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2227 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2228 - , `RDnCMP_CMD, 'h70040038, 'h90406a21187ecbd1 // 2229 + , `RDnCMP_CMD, 'h70040038, 'h6a5b3868f637f87b // 2229 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2230 - , `WRITE__CMD, 'h70040010, 'h90406a21187ecbd1 // 2231 + , `WRITE__CMD, 'h70040010, 'h6a5b3868f637f87b // 2231 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2232 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2233 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2234 - , `RDnCMP_CMD, 'h70040038, 'h4a386adde3feddd0 // 2235 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2235 , `WRITE__CMD, 'h70040008, 'h0000000000000001 // 2236 - , `WRITE__CMD, 'h70040010, 'ha820f3c268acfc12 // 2237 - , `WRITE__CMD, 'h70040018, 'h0040c85f22918405 // 2238 - , `WRITE__CMD, 'h70040020, 'h00b3bd7fb4d85e76 // 2239 - , `WRITE__CMD, 'h70040028, 'h00bfdc4f46571974 // 2240 + , `WRITE__CMD, 'h70040010, 'hffffff7fffffff7f // 2237 + , `WRITE__CMD, 'h70040018, 'h00fffffbffffffbf // 2238 + , `WRITE__CMD, 'h70040020, 'h00fffffbffffffbf // 2239 + , `WRITE__CMD, 'h70040028, 'h00fffffbffffffbf // 2240 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2241 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2242 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2243 - , `RDnCMP_CMD, 'h70040038, 'h2661353bd5f6d1db // 2244 + , `RDnCMP_CMD, 'h70040038, 'h8248d3fc80a6d3ce // 2244 , `WRITE__CMD, 'h70040008, 'h0000000000000000 // 2245 - , `WRITE__CMD, 'h70040010, 'h2661353bd5f6d1db // 2246 + , `WRITE__CMD, 'h70040010, 'h8248d3fc80a6d3ce // 2246 , `WRITE__CMD, 'h70040000, 'h0000000000000001 // 2247 , `WRITE__CMD, 'h70040000, 'h0000000000000000 // 2248 , `RDSPIN_CMD, 'h70040030, 'h0000000000000001, 'hffffffffffffffff, 'h32 // 2249 - , `RDnCMP_CMD, 'h70040038, 'ha820f3c268acfc12 // 2250 + , `RDnCMP_CMD, 'h70040038, 'hffffff7fffffff7f // 2250 }; `define des3_adrBase 'h0070040000 diff --git a/unit_simulation/TL_level_sim/sv_vectors/dft_playback.h b/unit_simulation/TL_level_sim/sv_vectors/dft_playback.h index cc761e4..73a1f7d 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/dft_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/dft_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: dft. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef dft_playback_H `define dft_playback_H @@ -1584,131 +1584,131 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70060020, 'h0040004000400040 // 1558 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 1559 , `RDnCMP_CMD, 'h70060020, 'h0040004000400040 // 1560 - , `WRITE__CMD, 'h70050010, 'h3b1be5053b1ce506 // 1561 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 1561 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 1562 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1563 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1564 - , `WRITE__CMD, 'h70050010, 'h3b1de5073b1ee508 // 1565 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 1565 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 1566 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1567 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1568 - , `WRITE__CMD, 'h70050010, 'h3b1fe5093b20e50a // 1569 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 1569 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 1570 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1571 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1572 - , `WRITE__CMD, 'h70050010, 'h3b21e50b3b22e50c // 1573 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 1573 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 1574 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1575 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1576 - , `WRITE__CMD, 'h70050010, 'h3b23e50d3b24e50e // 1577 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 1577 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 1578 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1579 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1580 - , `WRITE__CMD, 'h70050010, 'h3b25e50f3b26e510 // 1581 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 1581 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 1582 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1583 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1584 - , `WRITE__CMD, 'h70050010, 'h3b27e5113b28e512 // 1585 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 1585 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 1586 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1587 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1588 - , `WRITE__CMD, 'h70050010, 'h3b29e5133b2ae514 // 1589 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 1589 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 1590 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1591 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1592 - , `WRITE__CMD, 'h70050010, 'h3b2be5153b2ce516 // 1593 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 1593 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 1594 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1595 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1596 - , `WRITE__CMD, 'h70050010, 'h3b2de5173b2ee518 // 1597 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 1597 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 1598 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1599 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1600 - , `WRITE__CMD, 'h70050010, 'h3b2fe5193b30e51a // 1601 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 1601 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 1602 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1603 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1604 - , `WRITE__CMD, 'h70050010, 'h3b31e51b3b32e51c // 1605 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 1605 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 1606 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1607 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1608 - , `WRITE__CMD, 'h70050010, 'h3b33e51d3b34e51e // 1609 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 1609 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 1610 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1611 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1612 - , `WRITE__CMD, 'h70050010, 'h3b35e51f3b36e520 // 1613 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 1613 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 1614 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1615 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1616 - , `WRITE__CMD, 'h70050010, 'h3b37e5213b38e522 // 1617 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 1617 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 1618 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1619 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1620 - , `WRITE__CMD, 'h70050010, 'h3b39e5233b3ae524 // 1621 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 1621 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 1622 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1623 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1624 - , `WRITE__CMD, 'h70050010, 'h3b3be5253b3ce526 // 1625 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 1625 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 1626 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1627 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1628 - , `WRITE__CMD, 'h70050010, 'h3b3de5273b3ee528 // 1629 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 1629 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 1630 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1631 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1632 - , `WRITE__CMD, 'h70050010, 'h3b3fe5293b40e52a // 1633 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 1633 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 1634 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1635 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1636 - , `WRITE__CMD, 'h70050010, 'h3b41e52b3b42e52c // 1637 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 1637 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 1638 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1639 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1640 - , `WRITE__CMD, 'h70050010, 'h3b43e52d3b44e52e // 1641 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 1641 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 1642 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1643 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1644 - , `WRITE__CMD, 'h70050010, 'h3b45e52f3b46e530 // 1645 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 1645 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 1646 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1647 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1648 - , `WRITE__CMD, 'h70050010, 'h3b47e5313b48e532 // 1649 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 1649 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 1650 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1651 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1652 - , `WRITE__CMD, 'h70050010, 'h3b49e5333b4ae534 // 1653 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 1653 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 1654 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1655 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1656 - , `WRITE__CMD, 'h70050010, 'h3b4be5353b4ce536 // 1657 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 1657 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 1658 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1659 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1660 - , `WRITE__CMD, 'h70050010, 'h3b4de5373b4ee538 // 1661 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 1661 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 1662 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1663 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1664 - , `WRITE__CMD, 'h70050010, 'h3b4fe5393b50e53a // 1665 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 1665 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 1666 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1667 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1668 - , `WRITE__CMD, 'h70050010, 'h3b51e53b3b52e53c // 1669 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 1669 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 1670 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1671 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1672 - , `WRITE__CMD, 'h70050010, 'h3b53e53d3b54e53e // 1673 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 1673 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 1674 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1675 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1676 - , `WRITE__CMD, 'h70050010, 'h3b55e53f3b56e540 // 1677 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 1677 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 1678 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1679 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1680 - , `WRITE__CMD, 'h70050010, 'h3b57e5413b58e542 // 1681 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 1681 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 1682 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1683 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1684 - , `WRITE__CMD, 'h70050010, 'h3b59e5433b5ae544 // 1685 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 1685 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 1686 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1687 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1688 @@ -1716,7 +1716,7 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1690 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 1691 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 1692 - , `RDnCMP_CMD, 'h70050020, 'hcea04920fd4e0265 // 1693 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 1693 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 1694 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 1695 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 1696 @@ -1779,7 +1779,7 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 1753 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 1754 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 1755 - , `WRITE__CMD, 'h70060010, 'hcea04920fd4e0265 // 1756 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 1756 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 1757 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 1758 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 1759 @@ -1911,194 +1911,194 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 1885 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 1886 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 1887 - , `RDnCMP_CMD, 'h70060020, 'hc6c04140c7204173 // 1888 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 1888 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 1889 - , `RDnCMP_CMD, 'h70060020, 'hc75f41b6c7ae41ee // 1890 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 1890 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 1891 - , `RDnCMP_CMD, 'h70060020, 'hc7d5423ec81d4276 // 1892 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 1892 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 1893 - , `RDnCMP_CMD, 'h70060020, 'hc86642b4c8aa42ed // 1894 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 1894 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 1895 - , `RDnCMP_CMD, 'h70060020, 'hc8ba433ac8f44376 // 1896 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 1896 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 1897 - , `RDnCMP_CMD, 'h70060020, 'hc94243b3c98643f1 // 1898 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 1898 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 1899 - , `RDnCMP_CMD, 'h70060020, 'hc9ce4442ca104482 // 1900 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 1900 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 1901 - , `RDnCMP_CMD, 'h70060020, 'hca5544bfca9e4504 // 1902 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 1902 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 1903 - , `RDnCMP_CMD, 'h70060020, 'hcac04540cafd4581 // 1904 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 1904 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 1905 - , `RDnCMP_CMD, 'h70060020, 'hcb2f45bacb7545fb // 1906 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 1906 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 1907 - , `RDnCMP_CMD, 'h70060020, 'hcbcd4643cc0f468a // 1908 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 1908 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 1909 - , `RDnCMP_CMD, 'h70060020, 'hcc5246bacc9646fa // 1910 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 1910 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 1911 - , `RDnCMP_CMD, 'h70060020, 'hccd14739cd0c477e // 1912 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 1912 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 1913 - , `RDnCMP_CMD, 'h70060020, 'hcd5947bccd9747f9 // 1914 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 1914 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 1915 - , `RDnCMP_CMD, 'h70060020, 'hcdde4835ce1a4872 // 1916 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 1916 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 1917 - , `RDnCMP_CMD, 'h70060020, 'hce6448bccea548fd // 1918 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 1918 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 1919 - , `RDnCMP_CMD, 'h70060020, 'hcec04940cefe497d // 1920 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 1920 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 1921 - , `RDnCMP_CMD, 'h70060020, 'hcf3749c6cf7a4a00 // 1922 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 1922 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 1923 - , `RDnCMP_CMD, 'h70060020, 'hcfa54a3ccfe54a78 // 1924 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 1924 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 1925 - , `RDnCMP_CMD, 'h70060020, 'hd0284accd06a4b11 // 1926 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 1926 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 1927 - , `RDnCMP_CMD, 'h70060020, 'hd0c64b46d0f84b84 // 1928 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 1928 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 1929 - , `RDnCMP_CMD, 'h70060020, 'hd14a4bcfd18c4c07 // 1930 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 1930 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 1931 - , `RDnCMP_CMD, 'h70060020, 'hd1c24c36d2064c7c // 1932 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 1932 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 1933 - , `RDnCMP_CMD, 'h70060020, 'hd2474cb3d2844cf6 // 1934 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 1934 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 1935 - , `RDnCMP_CMD, 'h70060020, 'hd2c04d40d2f94d87 // 1936 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 1936 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 1937 - , `RDnCMP_CMD, 'h70060020, 'hd3334dc2d3734e0f // 1938 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 1938 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 1939 - , `RDnCMP_CMD, 'h70060020, 'hd3b94e43d3fb4e88 // 1940 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 1940 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 1941 - , `RDnCMP_CMD, 'h70060020, 'hd4304ebed46e4efc // 1942 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 1942 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 1943 - , `RDnCMP_CMD, 'h70060020, 'hd4af4f47d4ec4f88 // 1944 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 1944 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 1945 - , `RDnCMP_CMD, 'h70060020, 'hd5234fcad5575007 // 1946 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 1946 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 1947 - , `RDnCMP_CMD, 'h70060020, 'hd5925053d5cc5098 // 1948 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 1948 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 1949 - , `RDnCMP_CMD, 'h70060020, 'hd5f050dad6115125 // 1950 - , `WRITE__CMD, 'h70050010, 'hd11c2bb4d11d2bb5 // 1951 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 1950 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 1951 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 1952 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1953 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1954 - , `WRITE__CMD, 'h70050010, 'hd11e2bb6d11f2bb7 // 1955 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 1955 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 1956 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1957 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1958 - , `WRITE__CMD, 'h70050010, 'hd1202bb8d1212bb9 // 1959 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 1959 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 1960 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1961 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1962 - , `WRITE__CMD, 'h70050010, 'hd1222bbad1232bbb // 1963 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 1963 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 1964 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1965 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1966 - , `WRITE__CMD, 'h70050010, 'hd1242bbcd1252bbd // 1967 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 1967 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 1968 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1969 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1970 - , `WRITE__CMD, 'h70050010, 'hd1262bbed1272bbf // 1971 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 1971 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 1972 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1973 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1974 - , `WRITE__CMD, 'h70050010, 'hd1282bc0d1292bc1 // 1975 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 1975 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 1976 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1977 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1978 - , `WRITE__CMD, 'h70050010, 'hd12a2bc2d12b2bc3 // 1979 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 1979 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 1980 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1981 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1982 - , `WRITE__CMD, 'h70050010, 'hd12c2bc4d12d2bc5 // 1983 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 1983 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 1984 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1985 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1986 - , `WRITE__CMD, 'h70050010, 'hd12e2bc6d12f2bc7 // 1987 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 1987 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 1988 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1989 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1990 - , `WRITE__CMD, 'h70050010, 'hd1302bc8d1312bc9 // 1991 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 1991 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 1992 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1993 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1994 - , `WRITE__CMD, 'h70050010, 'hd1322bcad1332bcb // 1995 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 1995 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 1996 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1997 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1998 - , `WRITE__CMD, 'h70050010, 'hd1342bccd1352bcd // 1999 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 1999 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 2000 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2001 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2002 - , `WRITE__CMD, 'h70050010, 'hd1362bced1372bcf // 2003 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 2003 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 2004 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2005 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2006 - , `WRITE__CMD, 'h70050010, 'hd1382bd0d1392bd1 // 2007 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 2007 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 2008 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2009 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2010 - , `WRITE__CMD, 'h70050010, 'hd13a2bd2d13b2bd3 // 2011 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 2011 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 2012 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2013 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2014 - , `WRITE__CMD, 'h70050010, 'hd13c2bd4d13d2bd5 // 2015 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 2015 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 2016 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2017 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2018 - , `WRITE__CMD, 'h70050010, 'hd13e2bd6d13f2bd7 // 2019 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 2019 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 2020 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2021 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2022 - , `WRITE__CMD, 'h70050010, 'hd1402bd8d1412bd9 // 2023 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 2023 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 2024 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2025 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2026 - , `WRITE__CMD, 'h70050010, 'hd1422bdad1432bdb // 2027 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 2027 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 2028 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2029 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2030 - , `WRITE__CMD, 'h70050010, 'hd1442bdcd1452bdd // 2031 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 2031 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 2032 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2033 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2034 - , `WRITE__CMD, 'h70050010, 'hd1462bded1472bdf // 2035 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 2035 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 2036 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2037 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2038 - , `WRITE__CMD, 'h70050010, 'hd1482be0d1492be1 // 2039 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 2039 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 2040 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2041 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2042 - , `WRITE__CMD, 'h70050010, 'hd14a2be2d14b2be3 // 2043 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 2043 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 2044 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2045 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2046 - , `WRITE__CMD, 'h70050010, 'hd14c2be4d14d2be5 // 2047 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 2047 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 2048 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2049 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2050 - , `WRITE__CMD, 'h70050010, 'hd14e2be6d14f2be7 // 2051 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 2051 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 2052 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2053 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2054 - , `WRITE__CMD, 'h70050010, 'hd1502be8d1512be9 // 2055 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 2055 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 2056 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2057 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2058 - , `WRITE__CMD, 'h70050010, 'hd1522bead1532beb // 2059 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 2059 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 2060 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2061 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2062 - , `WRITE__CMD, 'h70050010, 'hd1542becd1552bed // 2063 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 2063 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 2064 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2065 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2066 - , `WRITE__CMD, 'h70050010, 'hd1562beed1572bef // 2067 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 2067 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 2068 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2069 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2070 - , `WRITE__CMD, 'h70050010, 'hd1582bf0d1592bf1 // 2071 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 2071 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 2072 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2073 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2074 - , `WRITE__CMD, 'h70050010, 'hd15a2bf2d15b2bf3 // 2075 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 2075 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 2076 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2077 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2078 @@ -2106,7 +2106,7 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2080 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2081 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 2082 - , `RDnCMP_CMD, 'h70050020, 'h4ee0f4e0fd4e0265 // 2083 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 2083 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 2084 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 2085 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 2086 @@ -2169,7 +2169,7 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 2143 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 2144 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 2145 - , `WRITE__CMD, 'h70060010, 'h4ee0f4e0fd4e0265 // 2146 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 2146 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 2147 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 2148 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2149 @@ -2301,194 +2301,194 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2275 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2276 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 2277 - , `RDnCMP_CMD, 'h70060020, 'h4700ed004760ed33 // 2278 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 2278 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 2279 - , `RDnCMP_CMD, 'h70060020, 'h479fed7647eeedae // 2280 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 2280 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 2281 - , `RDnCMP_CMD, 'h70060020, 'h4815edfe485dee36 // 2282 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 2282 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 2283 - , `RDnCMP_CMD, 'h70060020, 'h48a6ee7448eaeead // 2284 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 2284 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 2285 - , `RDnCMP_CMD, 'h70060020, 'h48faeefa4934ef36 // 2286 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 2286 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 2287 - , `RDnCMP_CMD, 'h70060020, 'h4982ef7349c6efb1 // 2288 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 2288 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 2289 - , `RDnCMP_CMD, 'h70060020, 'h4a0ef0024a50f042 // 2290 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 2290 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 2291 - , `RDnCMP_CMD, 'h70060020, 'h4a95f07f4adef0c4 // 2292 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 2292 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 2293 - , `RDnCMP_CMD, 'h70060020, 'h4b00f1004b3df141 // 2294 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 2294 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 2295 - , `RDnCMP_CMD, 'h70060020, 'h4b6ff17a4bb5f1bb // 2296 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 2296 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 2297 - , `RDnCMP_CMD, 'h70060020, 'h4c0df2034c4ff24a // 2298 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 2298 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 2299 - , `RDnCMP_CMD, 'h70060020, 'h4c92f27a4cd6f2ba // 2300 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 2300 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 2301 - , `RDnCMP_CMD, 'h70060020, 'h4d11f2f94d4cf33e // 2302 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 2302 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 2303 - , `RDnCMP_CMD, 'h70060020, 'h4d99f37c4dd7f3b9 // 2304 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 2304 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 2305 - , `RDnCMP_CMD, 'h70060020, 'h4e1ef3f54e5af432 // 2306 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 2306 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 2307 - , `RDnCMP_CMD, 'h70060020, 'h4ea4f47c4ee5f4bd // 2308 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 2308 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 2309 - , `RDnCMP_CMD, 'h70060020, 'h4f00f5004f3ef53d // 2310 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 2310 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 2311 - , `RDnCMP_CMD, 'h70060020, 'h4f77f5864fbaf5c0 // 2312 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 2312 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 2313 - , `RDnCMP_CMD, 'h70060020, 'h4fe5f5fc5025f638 // 2314 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 2314 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 2315 - , `RDnCMP_CMD, 'h70060020, 'h5068f68c50aaf6d1 // 2316 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 2316 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 2317 - , `RDnCMP_CMD, 'h70060020, 'h5106f7065138f744 // 2318 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 2318 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 2319 - , `RDnCMP_CMD, 'h70060020, 'h518af78f51ccf7c7 // 2320 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 2320 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 2321 - , `RDnCMP_CMD, 'h70060020, 'h5202f7f65246f83c // 2322 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 2322 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 2323 - , `RDnCMP_CMD, 'h70060020, 'h5287f87352c4f8b6 // 2324 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 2324 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 2325 - , `RDnCMP_CMD, 'h70060020, 'h5300f9005339f947 // 2326 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 2326 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 2327 - , `RDnCMP_CMD, 'h70060020, 'h5373f98253b3f9cf // 2328 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 2328 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 2329 - , `RDnCMP_CMD, 'h70060020, 'h53f9fa03543bfa48 // 2330 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 2330 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 2331 - , `RDnCMP_CMD, 'h70060020, 'h5470fa7e54aefabc // 2332 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 2332 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 2333 - , `RDnCMP_CMD, 'h70060020, 'h54effb07552cfb48 // 2334 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 2334 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 2335 - , `RDnCMP_CMD, 'h70060020, 'h5563fb8a5597fbc7 // 2336 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 2336 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 2337 - , `RDnCMP_CMD, 'h70060020, 'h55d2fc13560cfc58 // 2338 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 2338 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 2339 - , `RDnCMP_CMD, 'h70060020, 'h5630fc9a5651fce5 // 2340 - , `WRITE__CMD, 'h70050010, 'h445e157e445f157f // 2341 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 2340 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 2341 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 2342 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2343 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2344 - , `WRITE__CMD, 'h70050010, 'h4460158044611581 // 2345 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 2345 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 2346 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2347 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2348 - , `WRITE__CMD, 'h70050010, 'h4462158244631583 // 2349 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 2349 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 2350 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2351 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2352 - , `WRITE__CMD, 'h70050010, 'h4464158444651585 // 2353 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 2353 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 2354 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2355 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2356 - , `WRITE__CMD, 'h70050010, 'h4466158644671587 // 2357 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 2357 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 2358 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2359 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2360 - , `WRITE__CMD, 'h70050010, 'h4468158844691589 // 2361 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 2361 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 2362 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2363 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2364 - , `WRITE__CMD, 'h70050010, 'h446a158a446b158b // 2365 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 2365 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 2366 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2367 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2368 - , `WRITE__CMD, 'h70050010, 'h446c158c446d158d // 2369 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 2369 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 2370 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2371 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2372 - , `WRITE__CMD, 'h70050010, 'h446e158e446f158f // 2373 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 2373 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 2374 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2375 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2376 - , `WRITE__CMD, 'h70050010, 'h4470159044711591 // 2377 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 2377 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 2378 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2379 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2380 - , `WRITE__CMD, 'h70050010, 'h4472159244731593 // 2381 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 2381 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 2382 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2383 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2384 - , `WRITE__CMD, 'h70050010, 'h4474159444751595 // 2385 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 2385 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 2386 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2387 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2388 - , `WRITE__CMD, 'h70050010, 'h4476159644771597 // 2389 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 2389 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 2390 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2391 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2392 - , `WRITE__CMD, 'h70050010, 'h4478159844791599 // 2393 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 2393 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 2394 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2395 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2396 - , `WRITE__CMD, 'h70050010, 'h447a159a447b159b // 2397 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 2397 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 2398 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2399 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2400 - , `WRITE__CMD, 'h70050010, 'h447c159c447d159d // 2401 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 2401 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 2402 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2403 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2404 - , `WRITE__CMD, 'h70050010, 'h447e159e447f159f // 2405 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 2405 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 2406 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2407 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2408 - , `WRITE__CMD, 'h70050010, 'h448015a0448115a1 // 2409 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 2409 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 2410 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2411 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2412 - , `WRITE__CMD, 'h70050010, 'h448215a2448315a3 // 2413 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 2413 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 2414 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2415 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2416 - , `WRITE__CMD, 'h70050010, 'h448415a4448515a5 // 2417 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 2417 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 2418 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2419 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2420 - , `WRITE__CMD, 'h70050010, 'h448615a6448715a7 // 2421 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 2421 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 2422 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2423 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2424 - , `WRITE__CMD, 'h70050010, 'h448815a8448915a9 // 2425 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 2425 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 2426 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2427 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2428 - , `WRITE__CMD, 'h70050010, 'h448a15aa448b15ab // 2429 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 2429 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 2430 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2431 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2432 - , `WRITE__CMD, 'h70050010, 'h448c15ac448d15ad // 2433 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 2433 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 2434 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2435 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2436 - , `WRITE__CMD, 'h70050010, 'h448e15ae448f15af // 2437 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 2437 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 2438 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2439 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2440 - , `WRITE__CMD, 'h70050010, 'h449015b0449115b1 // 2441 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 2441 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 2442 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2443 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2444 - , `WRITE__CMD, 'h70050010, 'h449215b2449315b3 // 2445 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 2445 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 2446 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2447 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2448 - , `WRITE__CMD, 'h70050010, 'h449415b4449515b5 // 2449 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 2449 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 2450 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2451 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2452 - , `WRITE__CMD, 'h70050010, 'h449615b6449715b7 // 2453 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 2453 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 2454 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2455 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2456 - , `WRITE__CMD, 'h70050010, 'h449815b8449915b9 // 2457 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 2457 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 2458 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2459 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2460 - , `WRITE__CMD, 'h70050010, 'h449a15ba449b15bb // 2461 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 2461 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 2462 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2463 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2464 - , `WRITE__CMD, 'h70050010, 'h449c15bc449d15bd // 2465 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 2465 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 2466 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2467 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2468 @@ -2496,7 +2496,7 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2470 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2471 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 2472 - , `RDnCMP_CMD, 'h70050020, 'h1f606760fd4e0265 // 2473 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 2473 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 2474 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 2475 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 2476 @@ -2559,7 +2559,7 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 2533 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 2534 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 2535 - , `WRITE__CMD, 'h70060010, 'h1f606760fd4e0265 // 2536 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 2536 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 2537 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 2538 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2539 @@ -2691,194 +2691,194 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2665 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2666 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 2667 - , `RDnCMP_CMD, 'h70060020, 'h17805f8017e05fb3 // 2668 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 2668 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 2669 - , `RDnCMP_CMD, 'h70060020, 'h181f5ff6186e602e // 2670 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 2670 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 2671 - , `RDnCMP_CMD, 'h70060020, 'h1895607e18dd60b6 // 2672 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 2672 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 2673 - , `RDnCMP_CMD, 'h70060020, 'h192660f4196a612d // 2674 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 2674 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 2675 - , `RDnCMP_CMD, 'h70060020, 'h197a617a19b461b6 // 2676 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 2676 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 2677 - , `RDnCMP_CMD, 'h70060020, 'h1a0261f31a466231 // 2678 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 2678 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 2679 - , `RDnCMP_CMD, 'h70060020, 'h1a8e62821ad062c2 // 2680 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 2680 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 2681 - , `RDnCMP_CMD, 'h70060020, 'h1b1562ff1b5e6344 // 2682 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 2682 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 2683 - , `RDnCMP_CMD, 'h70060020, 'h1b8063801bbd63c1 // 2684 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 2684 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 2685 - , `RDnCMP_CMD, 'h70060020, 'h1bef63fa1c35643b // 2686 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 2686 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 2687 - , `RDnCMP_CMD, 'h70060020, 'h1c8d64831ccf64ca // 2688 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 2688 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 2689 - , `RDnCMP_CMD, 'h70060020, 'h1d1264fa1d56653a // 2690 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 2690 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 2691 - , `RDnCMP_CMD, 'h70060020, 'h1d9165791dcc65be // 2692 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 2692 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 2693 - , `RDnCMP_CMD, 'h70060020, 'h1e1965fc1e576639 // 2694 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 2694 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 2695 - , `RDnCMP_CMD, 'h70060020, 'h1e9e66751eda66b2 // 2696 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 2696 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 2697 - , `RDnCMP_CMD, 'h70060020, 'h1f2466fc1f65673d // 2698 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 2698 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 2699 - , `RDnCMP_CMD, 'h70060020, 'h1f8067801fbe67bd // 2700 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 2700 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 2701 - , `RDnCMP_CMD, 'h70060020, 'h1ff76806203a6840 // 2702 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 2702 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 2703 - , `RDnCMP_CMD, 'h70060020, 'h2065687c20a568b8 // 2704 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 2704 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 2705 - , `RDnCMP_CMD, 'h70060020, 'h20e8690c212a6951 // 2706 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 2706 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 2707 - , `RDnCMP_CMD, 'h70060020, 'h2186698621b869c4 // 2708 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 2708 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 2709 - , `RDnCMP_CMD, 'h70060020, 'h220a6a0f224c6a47 // 2710 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 2710 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 2711 - , `RDnCMP_CMD, 'h70060020, 'h22826a7622c66abc // 2712 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 2712 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 2713 - , `RDnCMP_CMD, 'h70060020, 'h23076af323446b36 // 2714 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 2714 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 2715 - , `RDnCMP_CMD, 'h70060020, 'h23806b8023b96bc7 // 2716 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 2716 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 2717 - , `RDnCMP_CMD, 'h70060020, 'h23f36c0224336c4f // 2718 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 2718 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 2719 - , `RDnCMP_CMD, 'h70060020, 'h24796c8324bb6cc8 // 2720 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 2720 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 2721 - , `RDnCMP_CMD, 'h70060020, 'h24f06cfe252e6d3c // 2722 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 2722 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 2723 - , `RDnCMP_CMD, 'h70060020, 'h256f6d8725ac6dc8 // 2724 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 2724 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 2725 - , `RDnCMP_CMD, 'h70060020, 'h25e36e0a26176e47 // 2726 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 2726 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 2727 - , `RDnCMP_CMD, 'h70060020, 'h26526e93268c6ed8 // 2728 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 2728 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 2729 - , `RDnCMP_CMD, 'h70060020, 'h26b06f1a26d16f65 // 2730 - , `WRITE__CMD, 'h70050010, 'h6bb708ca6bb808cb // 2731 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 2730 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 2731 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 2732 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2733 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2734 - , `WRITE__CMD, 'h70050010, 'h6bb908cc6bba08cd // 2735 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 2735 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 2736 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2737 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2738 - , `WRITE__CMD, 'h70050010, 'h6bbb08ce6bbc08cf // 2739 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 2739 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 2740 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2741 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2742 - , `WRITE__CMD, 'h70050010, 'h6bbd08d06bbe08d1 // 2743 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 2743 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 2744 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2745 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2746 - , `WRITE__CMD, 'h70050010, 'h6bbf08d26bc008d3 // 2747 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 2747 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 2748 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2749 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2750 - , `WRITE__CMD, 'h70050010, 'h6bc108d46bc208d5 // 2751 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 2751 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 2752 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2753 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2754 - , `WRITE__CMD, 'h70050010, 'h6bc308d66bc408d7 // 2755 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 2755 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 2756 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2757 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2758 - , `WRITE__CMD, 'h70050010, 'h6bc508d86bc608d9 // 2759 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 2759 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 2760 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2761 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2762 - , `WRITE__CMD, 'h70050010, 'h6bc708da6bc808db // 2763 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 2763 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 2764 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2765 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2766 - , `WRITE__CMD, 'h70050010, 'h6bc908dc6bca08dd // 2767 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 2767 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 2768 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2769 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2770 - , `WRITE__CMD, 'h70050010, 'h6bcb08de6bcc08df // 2771 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 2771 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 2772 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2773 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2774 - , `WRITE__CMD, 'h70050010, 'h6bcd08e06bce08e1 // 2775 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 2775 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 2776 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2777 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2778 - , `WRITE__CMD, 'h70050010, 'h6bcf08e26bd008e3 // 2779 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 2779 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 2780 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2781 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2782 - , `WRITE__CMD, 'h70050010, 'h6bd108e46bd208e5 // 2783 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 2783 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 2784 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2785 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2786 - , `WRITE__CMD, 'h70050010, 'h6bd308e66bd408e7 // 2787 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 2787 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 2788 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2789 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2790 - , `WRITE__CMD, 'h70050010, 'h6bd508e86bd608e9 // 2791 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 2791 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 2792 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2793 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2794 - , `WRITE__CMD, 'h70050010, 'h6bd708ea6bd808eb // 2795 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 2795 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 2796 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2797 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2798 - , `WRITE__CMD, 'h70050010, 'h6bd908ec6bda08ed // 2799 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 2799 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 2800 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2801 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2802 - , `WRITE__CMD, 'h70050010, 'h6bdb08ee6bdc08ef // 2803 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 2803 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 2804 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2805 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2806 - , `WRITE__CMD, 'h70050010, 'h6bdd08f06bde08f1 // 2807 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 2807 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 2808 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2809 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2810 - , `WRITE__CMD, 'h70050010, 'h6bdf08f26be008f3 // 2811 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 2811 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 2812 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2813 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2814 - , `WRITE__CMD, 'h70050010, 'h6be108f46be208f5 // 2815 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 2815 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 2816 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2817 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2818 - , `WRITE__CMD, 'h70050010, 'h6be308f66be408f7 // 2819 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 2819 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 2820 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2821 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2822 - , `WRITE__CMD, 'h70050010, 'h6be508f86be608f9 // 2823 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 2823 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 2824 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2825 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2826 - , `WRITE__CMD, 'h70050010, 'h6be708fa6be808fb // 2827 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 2827 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 2828 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2829 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2830 - , `WRITE__CMD, 'h70050010, 'h6be908fc6bea08fd // 2831 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 2831 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 2832 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2833 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2834 - , `WRITE__CMD, 'h70050010, 'h6beb08fe6bec08ff // 2835 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 2835 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 2836 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2837 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2838 - , `WRITE__CMD, 'h70050010, 'h6bed09006bee0901 // 2839 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 2839 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 2840 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2841 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2842 - , `WRITE__CMD, 'h70050010, 'h6bef09026bf00903 // 2843 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 2843 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 2844 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2845 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2846 - , `WRITE__CMD, 'h70050010, 'h6bf109046bf20905 // 2847 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 2847 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 2848 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2849 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2850 - , `WRITE__CMD, 'h70050010, 'h6bf309066bf40907 // 2851 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 2851 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 2852 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2853 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2854 - , `WRITE__CMD, 'h70050010, 'h6bf509086bf60909 // 2855 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 2855 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 2856 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2857 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2858 @@ -2886,7 +2886,7 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2860 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2861 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 2862 - , `RDnCMP_CMD, 'h70050020, 'hf5a03a60fd4e0265 // 2863 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 2863 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 2864 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 2865 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 2866 @@ -2949,7 +2949,7 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 2923 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 2924 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 2925 - , `WRITE__CMD, 'h70060010, 'hf5a03a60fd4e0265 // 2926 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 2926 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 2927 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 2928 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2929 @@ -3081,194 +3081,194 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3055 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3056 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 3057 - , `RDnCMP_CMD, 'h70060020, 'hedc03280ee2032b3 // 3058 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 3058 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 3059 - , `RDnCMP_CMD, 'h70060020, 'hee5f32f6eeae332e // 3060 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 3060 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 3061 - , `RDnCMP_CMD, 'h70060020, 'heed5337eef1d33b6 // 3062 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 3062 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 3063 - , `RDnCMP_CMD, 'h70060020, 'hef6633f4efaa342d // 3064 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 3064 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 3065 - , `RDnCMP_CMD, 'h70060020, 'hefba347aeff434b6 // 3066 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 3066 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 3067 - , `RDnCMP_CMD, 'h70060020, 'hf04234f3f0863531 // 3068 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 3068 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 3069 - , `RDnCMP_CMD, 'h70060020, 'hf0ce3582f11035c2 // 3070 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 3070 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 3071 - , `RDnCMP_CMD, 'h70060020, 'hf15535fff19e3644 // 3072 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 3072 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 3073 - , `RDnCMP_CMD, 'h70060020, 'hf1c03680f1fd36c1 // 3074 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 3074 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 3075 - , `RDnCMP_CMD, 'h70060020, 'hf22f36faf275373b // 3076 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 3076 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 3077 - , `RDnCMP_CMD, 'h70060020, 'hf2cd3783f30f37ca // 3078 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 3078 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 3079 - , `RDnCMP_CMD, 'h70060020, 'hf35237faf396383a // 3080 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 3080 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 3081 - , `RDnCMP_CMD, 'h70060020, 'hf3d13879f40c38be // 3082 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 3082 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 3083 - , `RDnCMP_CMD, 'h70060020, 'hf45938fcf4973939 // 3084 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 3084 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 3085 - , `RDnCMP_CMD, 'h70060020, 'hf4de3975f51a39b2 // 3086 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 3086 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 3087 - , `RDnCMP_CMD, 'h70060020, 'hf56439fcf5a53a3d // 3088 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 3088 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 3089 - , `RDnCMP_CMD, 'h70060020, 'hf5c03a80f5fe3abd // 3090 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 3090 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 3091 - , `RDnCMP_CMD, 'h70060020, 'hf6373b06f67a3b40 // 3092 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 3092 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 3093 - , `RDnCMP_CMD, 'h70060020, 'hf6a53b7cf6e53bb8 // 3094 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 3094 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 3095 - , `RDnCMP_CMD, 'h70060020, 'hf7283c0cf76a3c51 // 3096 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 3096 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 3097 - , `RDnCMP_CMD, 'h70060020, 'hf7c63c86f7f83cc4 // 3098 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 3098 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 3099 - , `RDnCMP_CMD, 'h70060020, 'hf84a3d0ff88c3d47 // 3100 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 3100 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 3101 - , `RDnCMP_CMD, 'h70060020, 'hf8c23d76f9063dbc // 3102 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 3102 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 3103 - , `RDnCMP_CMD, 'h70060020, 'hf9473df3f9843e36 // 3104 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 3104 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 3105 - , `RDnCMP_CMD, 'h70060020, 'hf9c03e80f9f93ec7 // 3106 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 3106 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 3107 - , `RDnCMP_CMD, 'h70060020, 'hfa333f02fa733f4f // 3108 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 3108 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 3109 - , `RDnCMP_CMD, 'h70060020, 'hfab93f83fafb3fc8 // 3110 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 3110 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 3111 - , `RDnCMP_CMD, 'h70060020, 'hfb303ffefb6e403c // 3112 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 3112 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 3113 - , `RDnCMP_CMD, 'h70060020, 'hfbaf4087fbec40c8 // 3114 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 3114 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 3115 - , `RDnCMP_CMD, 'h70060020, 'hfc23410afc574147 // 3116 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 3116 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 3117 - , `RDnCMP_CMD, 'h70060020, 'hfc924193fccc41d8 // 3118 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 3118 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 3119 - , `RDnCMP_CMD, 'h70060020, 'hfcf0421afd114265 // 3120 - , `WRITE__CMD, 'h70050010, 'h1fd91a6b1fda1a6c // 3121 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 3120 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 3121 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 3122 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3123 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3124 - , `WRITE__CMD, 'h70050010, 'h1fdb1a6d1fdc1a6e // 3125 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 3125 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 3126 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3127 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3128 - , `WRITE__CMD, 'h70050010, 'h1fdd1a6f1fde1a70 // 3129 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 3129 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 3130 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3131 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3132 - , `WRITE__CMD, 'h70050010, 'h1fdf1a711fe01a72 // 3133 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 3133 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 3134 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3135 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3136 - , `WRITE__CMD, 'h70050010, 'h1fe11a731fe21a74 // 3137 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 3137 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 3138 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3139 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3140 - , `WRITE__CMD, 'h70050010, 'h1fe31a751fe41a76 // 3141 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 3141 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 3142 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3143 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3144 - , `WRITE__CMD, 'h70050010, 'h1fe51a771fe61a78 // 3145 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 3145 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 3146 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3147 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3148 - , `WRITE__CMD, 'h70050010, 'h1fe71a791fe81a7a // 3149 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 3149 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 3150 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3151 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3152 - , `WRITE__CMD, 'h70050010, 'h1fe91a7b1fea1a7c // 3153 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 3153 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 3154 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3155 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3156 - , `WRITE__CMD, 'h70050010, 'h1feb1a7d1fec1a7e // 3157 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 3157 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 3158 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3159 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3160 - , `WRITE__CMD, 'h70050010, 'h1fed1a7f1fee1a80 // 3161 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 3161 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 3162 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3163 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3164 - , `WRITE__CMD, 'h70050010, 'h1fef1a811ff01a82 // 3165 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 3165 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 3166 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3167 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3168 - , `WRITE__CMD, 'h70050010, 'h1ff11a831ff21a84 // 3169 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 3169 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 3170 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3171 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3172 - , `WRITE__CMD, 'h70050010, 'h1ff31a851ff41a86 // 3173 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 3173 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 3174 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3175 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3176 - , `WRITE__CMD, 'h70050010, 'h1ff51a871ff61a88 // 3177 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 3177 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 3178 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3179 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3180 - , `WRITE__CMD, 'h70050010, 'h1ff71a891ff81a8a // 3181 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 3181 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 3182 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3183 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3184 - , `WRITE__CMD, 'h70050010, 'h1ff91a8b1ffa1a8c // 3185 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 3185 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 3186 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3187 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3188 - , `WRITE__CMD, 'h70050010, 'h1ffb1a8d1ffc1a8e // 3189 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 3189 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 3190 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3191 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3192 - , `WRITE__CMD, 'h70050010, 'h1ffd1a8f1ffe1a90 // 3193 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 3193 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 3194 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3195 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3196 - , `WRITE__CMD, 'h70050010, 'h1fff1a9120001a92 // 3197 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 3197 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 3198 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3199 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3200 - , `WRITE__CMD, 'h70050010, 'h20011a9320021a94 // 3201 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 3201 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 3202 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3203 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3204 - , `WRITE__CMD, 'h70050010, 'h20031a9520041a96 // 3205 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 3205 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 3206 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3207 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3208 - , `WRITE__CMD, 'h70050010, 'h20051a9720061a98 // 3209 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 3209 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 3210 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3211 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3212 - , `WRITE__CMD, 'h70050010, 'h20071a9920081a9a // 3213 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 3213 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 3214 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3215 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3216 - , `WRITE__CMD, 'h70050010, 'h20091a9b200a1a9c // 3217 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 3217 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 3218 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3219 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3220 - , `WRITE__CMD, 'h70050010, 'h200b1a9d200c1a9e // 3221 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 3221 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 3222 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3223 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3224 - , `WRITE__CMD, 'h70050010, 'h200d1a9f200e1aa0 // 3225 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 3225 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 3226 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3227 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3228 - , `WRITE__CMD, 'h70050010, 'h200f1aa120101aa2 // 3229 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 3229 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 3230 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3231 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3232 - , `WRITE__CMD, 'h70050010, 'h20111aa320121aa4 // 3233 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 3233 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 3234 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3235 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3236 - , `WRITE__CMD, 'h70050010, 'h20131aa520141aa6 // 3237 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 3237 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 3238 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3239 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3240 - , `WRITE__CMD, 'h70050010, 'h20151aa720161aa8 // 3241 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 3241 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 3242 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3243 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3244 - , `WRITE__CMD, 'h70050010, 'h20171aa920181aaa // 3245 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 3245 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 3246 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3247 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3248 @@ -3276,7 +3276,7 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3250 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3251 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 3252 - , `RDnCMP_CMD, 'h70050020, 'hfe20a2a0fd4e0265 // 3253 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 3253 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 3254 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 3255 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 3256 @@ -3339,7 +3339,7 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 3313 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 3314 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 3315 - , `WRITE__CMD, 'h70060010, 'hfe20a2a0fd4e0265 // 3316 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 3316 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 3317 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 3318 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3319 @@ -3471,194 +3471,194 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3445 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3446 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 3447 - , `RDnCMP_CMD, 'h70060020, 'hf6409ac0f6a09af3 // 3448 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 3448 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 3449 - , `RDnCMP_CMD, 'h70060020, 'hf6df9b36f72e9b6e // 3450 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 3450 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 3451 - , `RDnCMP_CMD, 'h70060020, 'hf7559bbef79d9bf6 // 3452 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 3452 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 3453 - , `RDnCMP_CMD, 'h70060020, 'hf7e69c34f82a9c6d // 3454 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 3454 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 3455 - , `RDnCMP_CMD, 'h70060020, 'hf83a9cbaf8749cf6 // 3456 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 3456 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 3457 - , `RDnCMP_CMD, 'h70060020, 'hf8c29d33f9069d71 // 3458 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 3458 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 3459 - , `RDnCMP_CMD, 'h70060020, 'hf94e9dc2f9909e02 // 3460 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 3460 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 3461 - , `RDnCMP_CMD, 'h70060020, 'hf9d59e3ffa1e9e84 // 3462 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 3462 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 3463 - , `RDnCMP_CMD, 'h70060020, 'hfa409ec0fa7d9f01 // 3464 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 3464 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 3465 - , `RDnCMP_CMD, 'h70060020, 'hfaaf9f3afaf59f7b // 3466 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 3466 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 3467 - , `RDnCMP_CMD, 'h70060020, 'hfb4d9fc3fb8fa00a // 3468 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 3468 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 3469 - , `RDnCMP_CMD, 'h70060020, 'hfbd2a03afc16a07a // 3470 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 3470 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 3471 - , `RDnCMP_CMD, 'h70060020, 'hfc51a0b9fc8ca0fe // 3472 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 3472 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 3473 - , `RDnCMP_CMD, 'h70060020, 'hfcd9a13cfd17a179 // 3474 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 3474 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 3475 - , `RDnCMP_CMD, 'h70060020, 'hfd5ea1b5fd9aa1f2 // 3476 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 3476 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 3477 - , `RDnCMP_CMD, 'h70060020, 'hfde4a23cfe25a27d // 3478 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 3478 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 3479 - , `RDnCMP_CMD, 'h70060020, 'hfe40a2c0fe7ea2fd // 3480 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 3480 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 3481 - , `RDnCMP_CMD, 'h70060020, 'hfeb7a346fefaa380 // 3482 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 3482 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 3483 - , `RDnCMP_CMD, 'h70060020, 'hff25a3bcff65a3f8 // 3484 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 3484 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 3485 - , `RDnCMP_CMD, 'h70060020, 'hffa8a44cffeaa491 // 3486 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 3486 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 3487 - , `RDnCMP_CMD, 'h70060020, 'h0046a4c60078a504 // 3488 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 3488 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 3489 - , `RDnCMP_CMD, 'h70060020, 'h00caa54f010ca587 // 3490 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 3490 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 3491 - , `RDnCMP_CMD, 'h70060020, 'h0142a5b60186a5fc // 3492 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 3492 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 3493 - , `RDnCMP_CMD, 'h70060020, 'h01c7a6330204a676 // 3494 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 3494 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 3495 - , `RDnCMP_CMD, 'h70060020, 'h0240a6c00279a707 // 3496 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 3496 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 3497 - , `RDnCMP_CMD, 'h70060020, 'h02b3a74202f3a78f // 3498 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 3498 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 3499 - , `RDnCMP_CMD, 'h70060020, 'h0339a7c3037ba808 // 3500 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 3500 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 3501 - , `RDnCMP_CMD, 'h70060020, 'h03b0a83e03eea87c // 3502 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 3502 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 3503 - , `RDnCMP_CMD, 'h70060020, 'h042fa8c7046ca908 // 3504 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 3504 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 3505 - , `RDnCMP_CMD, 'h70060020, 'h04a3a94a04d7a987 // 3506 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 3506 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 3507 - , `RDnCMP_CMD, 'h70060020, 'h0512a9d3054caa18 // 3508 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 3508 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 3509 - , `RDnCMP_CMD, 'h70060020, 'h0570aa5a0591aaa5 // 3510 - , `WRITE__CMD, 'h70050010, 'h5e62f3b95e63f3ba // 3511 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 3510 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 3511 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 3512 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3513 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3514 - , `WRITE__CMD, 'h70050010, 'h5e64f3bb5e65f3bc // 3515 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 3515 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 3516 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3517 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3518 - , `WRITE__CMD, 'h70050010, 'h5e66f3bd5e67f3be // 3519 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 3519 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 3520 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3521 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3522 - , `WRITE__CMD, 'h70050010, 'h5e68f3bf5e69f3c0 // 3523 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 3523 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 3524 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3525 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3526 - , `WRITE__CMD, 'h70050010, 'h5e6af3c15e6bf3c2 // 3527 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 3527 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 3528 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3529 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3530 - , `WRITE__CMD, 'h70050010, 'h5e6cf3c35e6df3c4 // 3531 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 3531 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 3532 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3533 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3534 - , `WRITE__CMD, 'h70050010, 'h5e6ef3c55e6ff3c6 // 3535 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 3535 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 3536 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3537 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3538 - , `WRITE__CMD, 'h70050010, 'h5e70f3c75e71f3c8 // 3539 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 3539 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 3540 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3541 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3542 - , `WRITE__CMD, 'h70050010, 'h5e72f3c95e73f3ca // 3543 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 3543 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 3544 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3545 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3546 - , `WRITE__CMD, 'h70050010, 'h5e74f3cb5e75f3cc // 3547 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 3547 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 3548 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3549 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3550 - , `WRITE__CMD, 'h70050010, 'h5e76f3cd5e77f3ce // 3551 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 3551 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 3552 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3553 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3554 - , `WRITE__CMD, 'h70050010, 'h5e78f3cf5e79f3d0 // 3555 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 3555 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 3556 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3557 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3558 - , `WRITE__CMD, 'h70050010, 'h5e7af3d15e7bf3d2 // 3559 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 3559 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 3560 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3561 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3562 - , `WRITE__CMD, 'h70050010, 'h5e7cf3d35e7df3d4 // 3563 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 3563 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 3564 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3565 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3566 - , `WRITE__CMD, 'h70050010, 'h5e7ef3d55e7ff3d6 // 3567 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 3567 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 3568 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3569 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3570 - , `WRITE__CMD, 'h70050010, 'h5e80f3d75e81f3d8 // 3571 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 3571 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 3572 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3573 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3574 - , `WRITE__CMD, 'h70050010, 'h5e82f3d95e83f3da // 3575 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 3575 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 3576 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3577 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3578 - , `WRITE__CMD, 'h70050010, 'h5e84f3db5e85f3dc // 3579 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 3579 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 3580 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3581 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3582 - , `WRITE__CMD, 'h70050010, 'h5e86f3dd5e87f3de // 3583 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 3583 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 3584 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3585 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3586 - , `WRITE__CMD, 'h70050010, 'h5e88f3df5e89f3e0 // 3587 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 3587 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 3588 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3589 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3590 - , `WRITE__CMD, 'h70050010, 'h5e8af3e15e8bf3e2 // 3591 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 3591 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 3592 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3593 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3594 - , `WRITE__CMD, 'h70050010, 'h5e8cf3e35e8df3e4 // 3595 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 3595 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 3596 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3597 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3598 - , `WRITE__CMD, 'h70050010, 'h5e8ef3e55e8ff3e6 // 3599 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 3599 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 3600 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3601 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3602 - , `WRITE__CMD, 'h70050010, 'h5e90f3e75e91f3e8 // 3603 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 3603 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 3604 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3605 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3606 - , `WRITE__CMD, 'h70050010, 'h5e92f3e95e93f3ea // 3607 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 3607 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 3608 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3609 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3610 - , `WRITE__CMD, 'h70050010, 'h5e94f3eb5e95f3ec // 3611 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 3611 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 3612 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3613 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3614 - , `WRITE__CMD, 'h70050010, 'h5e96f3ed5e97f3ee // 3615 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 3615 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 3616 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3617 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3618 - , `WRITE__CMD, 'h70050010, 'h5e98f3ef5e99f3f0 // 3619 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 3619 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 3620 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3621 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3622 - , `WRITE__CMD, 'h70050010, 'h5e9af3f15e9bf3f2 // 3623 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 3623 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 3624 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3625 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3626 - , `WRITE__CMD, 'h70050010, 'h5e9cf3f35e9df3f4 // 3627 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 3627 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 3628 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3629 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3630 - , `WRITE__CMD, 'h70050010, 'h5e9ef3f55e9ff3f6 // 3631 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 3631 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 3632 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3633 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3634 - , `WRITE__CMD, 'h70050010, 'h5ea0f3f75ea1f3f8 // 3635 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 3635 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 3636 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3637 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3638 @@ -3666,7 +3666,7 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3640 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3641 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 3642 - , `RDnCMP_CMD, 'h70050020, 'ha060f620fd4e0265 // 3643 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 3643 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 3644 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 3645 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 3646 @@ -3729,7 +3729,7 @@ longint dft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 3703 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 3704 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 3705 - , `WRITE__CMD, 'h70060010, 'ha060f620fd4e0265 // 3706 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 3706 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 3707 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 3708 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3709 @@ -3861,69 +3861,69 @@ longint dft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3835 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3836 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 3837 - , `RDnCMP_CMD, 'h70060020, 'h9880ee4098e0ee73 // 3838 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 3838 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 3839 - , `RDnCMP_CMD, 'h70060020, 'h991feeb6996eeeee // 3840 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 3840 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 3841 - , `RDnCMP_CMD, 'h70060020, 'h9995ef3e99ddef76 // 3842 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 3842 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 3843 - , `RDnCMP_CMD, 'h70060020, 'h9a26efb49a6aefed // 3844 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 3844 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 3845 - , `RDnCMP_CMD, 'h70060020, 'h9a7af03a9ab4f076 // 3846 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 3846 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 3847 - , `RDnCMP_CMD, 'h70060020, 'h9b02f0b39b46f0f1 // 3848 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 3848 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 3849 - , `RDnCMP_CMD, 'h70060020, 'h9b8ef1429bd0f182 // 3850 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 3850 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 3851 - , `RDnCMP_CMD, 'h70060020, 'h9c15f1bf9c5ef204 // 3852 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 3852 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 3853 - , `RDnCMP_CMD, 'h70060020, 'h9c80f2409cbdf281 // 3854 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 3854 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 3855 - , `RDnCMP_CMD, 'h70060020, 'h9ceff2ba9d35f2fb // 3856 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 3856 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 3857 - , `RDnCMP_CMD, 'h70060020, 'h9d8df3439dcff38a // 3858 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 3858 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 3859 - , `RDnCMP_CMD, 'h70060020, 'h9e12f3ba9e56f3fa // 3860 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 3860 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 3861 - , `RDnCMP_CMD, 'h70060020, 'h9e91f4399eccf47e // 3862 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 3862 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 3863 - , `RDnCMP_CMD, 'h70060020, 'h9f19f4bc9f57f4f9 // 3864 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 3864 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 3865 - , `RDnCMP_CMD, 'h70060020, 'h9f9ef5359fdaf572 // 3866 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 3866 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 3867 - , `RDnCMP_CMD, 'h70060020, 'ha024f5bca065f5fd // 3868 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 3868 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 3869 - , `RDnCMP_CMD, 'h70060020, 'ha080f640a0bef67d // 3870 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 3870 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 3871 - , `RDnCMP_CMD, 'h70060020, 'ha0f7f6c6a13af700 // 3872 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 3872 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 3873 - , `RDnCMP_CMD, 'h70060020, 'ha165f73ca1a5f778 // 3874 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 3874 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 3875 - , `RDnCMP_CMD, 'h70060020, 'ha1e8f7cca22af811 // 3876 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 3876 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 3877 - , `RDnCMP_CMD, 'h70060020, 'ha286f846a2b8f884 // 3878 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 3878 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 3879 - , `RDnCMP_CMD, 'h70060020, 'ha30af8cfa34cf907 // 3880 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 3880 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 3881 - , `RDnCMP_CMD, 'h70060020, 'ha382f936a3c6f97c // 3882 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 3882 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 3883 - , `RDnCMP_CMD, 'h70060020, 'ha407f9b3a444f9f6 // 3884 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 3884 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 3885 - , `RDnCMP_CMD, 'h70060020, 'ha480fa40a4b9fa87 // 3886 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 3886 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 3887 - , `RDnCMP_CMD, 'h70060020, 'ha4f3fac2a533fb0f // 3888 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 3888 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 3889 - , `RDnCMP_CMD, 'h70060020, 'ha579fb43a5bbfb88 // 3890 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 3890 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 3891 - , `RDnCMP_CMD, 'h70060020, 'ha5f0fbbea62efbfc // 3892 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 3892 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 3893 - , `RDnCMP_CMD, 'h70060020, 'ha66ffc47a6acfc88 // 3894 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 3894 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 3895 - , `RDnCMP_CMD, 'h70060020, 'ha6e3fccaa717fd07 // 3896 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 3896 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 3897 - , `RDnCMP_CMD, 'h70060020, 'ha752fd53a78cfd98 // 3898 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 3898 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 3899 - , `RDnCMP_CMD, 'h70060020, 'ha7b0fddaa7d1fe25 // 3900 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 3900 }; `define dft_adrBase 'h0070050000 diff --git a/unit_simulation/TL_level_sim/sv_vectors/fir_playback.h b/unit_simulation/TL_level_sim/sv_vectors/fir_playback.h index 7a13a4d..ffd0f6d 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/fir_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/fir_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: fir. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef fir_playback_H `define fir_playback_H diff --git a/unit_simulation/TL_level_sim/sv_vectors/gps_playback.h b/unit_simulation/TL_level_sim/sv_vectors/gps_playback.h index 6a18e09..7e80f8d 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/gps_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/gps_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: gps. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef gps_playback_H `define gps_playback_H diff --git a/unit_simulation/TL_level_sim/sv_vectors/idft_playback.h b/unit_simulation/TL_level_sim/sv_vectors/idft_playback.h index c5afeb3..0b3fa5d 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/idft_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/idft_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: idft. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef idft_playback_H `define idft_playback_H @@ -1584,131 +1584,131 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70060020, 'h0040004000400040 // 1558 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 1559 , `RDnCMP_CMD, 'h70060020, 'h0040004000400040 // 1560 - , `WRITE__CMD, 'h70050010, 'h3b1be5053b1ce506 // 1561 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 1561 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 1562 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1563 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1564 - , `WRITE__CMD, 'h70050010, 'h3b1de5073b1ee508 // 1565 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 1565 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 1566 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1567 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1568 - , `WRITE__CMD, 'h70050010, 'h3b1fe5093b20e50a // 1569 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 1569 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 1570 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1571 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1572 - , `WRITE__CMD, 'h70050010, 'h3b21e50b3b22e50c // 1573 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 1573 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 1574 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1575 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1576 - , `WRITE__CMD, 'h70050010, 'h3b23e50d3b24e50e // 1577 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 1577 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 1578 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1579 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1580 - , `WRITE__CMD, 'h70050010, 'h3b25e50f3b26e510 // 1581 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 1581 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 1582 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1583 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1584 - , `WRITE__CMD, 'h70050010, 'h3b27e5113b28e512 // 1585 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 1585 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 1586 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1587 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1588 - , `WRITE__CMD, 'h70050010, 'h3b29e5133b2ae514 // 1589 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 1589 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 1590 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1591 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1592 - , `WRITE__CMD, 'h70050010, 'h3b2be5153b2ce516 // 1593 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 1593 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 1594 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1595 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1596 - , `WRITE__CMD, 'h70050010, 'h3b2de5173b2ee518 // 1597 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 1597 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 1598 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1599 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1600 - , `WRITE__CMD, 'h70050010, 'h3b2fe5193b30e51a // 1601 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 1601 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 1602 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1603 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1604 - , `WRITE__CMD, 'h70050010, 'h3b31e51b3b32e51c // 1605 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 1605 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 1606 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1607 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1608 - , `WRITE__CMD, 'h70050010, 'h3b33e51d3b34e51e // 1609 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 1609 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 1610 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1611 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1612 - , `WRITE__CMD, 'h70050010, 'h3b35e51f3b36e520 // 1613 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 1613 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 1614 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1615 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1616 - , `WRITE__CMD, 'h70050010, 'h3b37e5213b38e522 // 1617 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 1617 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 1618 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1619 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1620 - , `WRITE__CMD, 'h70050010, 'h3b39e5233b3ae524 // 1621 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 1621 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 1622 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1623 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1624 - , `WRITE__CMD, 'h70050010, 'h3b3be5253b3ce526 // 1625 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 1625 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 1626 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1627 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1628 - , `WRITE__CMD, 'h70050010, 'h3b3de5273b3ee528 // 1629 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 1629 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 1630 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1631 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1632 - , `WRITE__CMD, 'h70050010, 'h3b3fe5293b40e52a // 1633 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 1633 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 1634 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1635 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1636 - , `WRITE__CMD, 'h70050010, 'h3b41e52b3b42e52c // 1637 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 1637 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 1638 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1639 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1640 - , `WRITE__CMD, 'h70050010, 'h3b43e52d3b44e52e // 1641 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 1641 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 1642 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1643 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1644 - , `WRITE__CMD, 'h70050010, 'h3b45e52f3b46e530 // 1645 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 1645 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 1646 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1647 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1648 - , `WRITE__CMD, 'h70050010, 'h3b47e5313b48e532 // 1649 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 1649 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 1650 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1651 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1652 - , `WRITE__CMD, 'h70050010, 'h3b49e5333b4ae534 // 1653 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 1653 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 1654 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1655 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1656 - , `WRITE__CMD, 'h70050010, 'h3b4be5353b4ce536 // 1657 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 1657 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 1658 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1659 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1660 - , `WRITE__CMD, 'h70050010, 'h3b4de5373b4ee538 // 1661 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 1661 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 1662 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1663 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1664 - , `WRITE__CMD, 'h70050010, 'h3b4fe5393b50e53a // 1665 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 1665 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 1666 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1667 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1668 - , `WRITE__CMD, 'h70050010, 'h3b51e53b3b52e53c // 1669 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 1669 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 1670 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1671 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1672 - , `WRITE__CMD, 'h70050010, 'h3b53e53d3b54e53e // 1673 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 1673 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 1674 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1675 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1676 - , `WRITE__CMD, 'h70050010, 'h3b55e53f3b56e540 // 1677 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 1677 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 1678 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1679 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1680 - , `WRITE__CMD, 'h70050010, 'h3b57e5413b58e542 // 1681 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 1681 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 1682 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1683 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1684 - , `WRITE__CMD, 'h70050010, 'h3b59e5433b5ae544 // 1685 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 1685 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 1686 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1687 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1688 @@ -1716,7 +1716,7 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1690 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 1691 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 1692 - , `RDnCMP_CMD, 'h70050020, 'hcea04920fd4e0265 // 1693 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 1693 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 1694 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 1695 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 1696 @@ -1779,7 +1779,7 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 1753 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 1754 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 1755 - , `WRITE__CMD, 'h70060010, 'hcea04920fd4e0265 // 1756 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 1756 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 1757 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 1758 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 1759 @@ -1911,194 +1911,194 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 1885 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 1886 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 1887 - , `RDnCMP_CMD, 'h70060020, 'hc6c04140c7204173 // 1888 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 1888 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 1889 - , `RDnCMP_CMD, 'h70060020, 'hc75f41b6c7ae41ee // 1890 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 1890 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 1891 - , `RDnCMP_CMD, 'h70060020, 'hc7d5423ec81d4276 // 1892 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 1892 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 1893 - , `RDnCMP_CMD, 'h70060020, 'hc86642b4c8aa42ed // 1894 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 1894 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 1895 - , `RDnCMP_CMD, 'h70060020, 'hc8ba433ac8f44376 // 1896 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 1896 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 1897 - , `RDnCMP_CMD, 'h70060020, 'hc94243b3c98643f1 // 1898 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 1898 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 1899 - , `RDnCMP_CMD, 'h70060020, 'hc9ce4442ca104482 // 1900 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 1900 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 1901 - , `RDnCMP_CMD, 'h70060020, 'hca5544bfca9e4504 // 1902 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 1902 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 1903 - , `RDnCMP_CMD, 'h70060020, 'hcac04540cafd4581 // 1904 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 1904 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 1905 - , `RDnCMP_CMD, 'h70060020, 'hcb2f45bacb7545fb // 1906 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 1906 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 1907 - , `RDnCMP_CMD, 'h70060020, 'hcbcd4643cc0f468a // 1908 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 1908 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 1909 - , `RDnCMP_CMD, 'h70060020, 'hcc5246bacc9646fa // 1910 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 1910 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 1911 - , `RDnCMP_CMD, 'h70060020, 'hccd14739cd0c477e // 1912 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 1912 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 1913 - , `RDnCMP_CMD, 'h70060020, 'hcd5947bccd9747f9 // 1914 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 1914 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 1915 - , `RDnCMP_CMD, 'h70060020, 'hcdde4835ce1a4872 // 1916 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 1916 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 1917 - , `RDnCMP_CMD, 'h70060020, 'hce6448bccea548fd // 1918 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 1918 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 1919 - , `RDnCMP_CMD, 'h70060020, 'hcec04940cefe497d // 1920 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 1920 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 1921 - , `RDnCMP_CMD, 'h70060020, 'hcf3749c6cf7a4a00 // 1922 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 1922 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 1923 - , `RDnCMP_CMD, 'h70060020, 'hcfa54a3ccfe54a78 // 1924 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 1924 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 1925 - , `RDnCMP_CMD, 'h70060020, 'hd0284accd06a4b11 // 1926 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 1926 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 1927 - , `RDnCMP_CMD, 'h70060020, 'hd0c64b46d0f84b84 // 1928 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 1928 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 1929 - , `RDnCMP_CMD, 'h70060020, 'hd14a4bcfd18c4c07 // 1930 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 1930 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 1931 - , `RDnCMP_CMD, 'h70060020, 'hd1c24c36d2064c7c // 1932 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 1932 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 1933 - , `RDnCMP_CMD, 'h70060020, 'hd2474cb3d2844cf6 // 1934 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 1934 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 1935 - , `RDnCMP_CMD, 'h70060020, 'hd2c04d40d2f94d87 // 1936 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 1936 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 1937 - , `RDnCMP_CMD, 'h70060020, 'hd3334dc2d3734e0f // 1938 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 1938 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 1939 - , `RDnCMP_CMD, 'h70060020, 'hd3b94e43d3fb4e88 // 1940 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 1940 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 1941 - , `RDnCMP_CMD, 'h70060020, 'hd4304ebed46e4efc // 1942 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 1942 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 1943 - , `RDnCMP_CMD, 'h70060020, 'hd4af4f47d4ec4f88 // 1944 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 1944 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 1945 - , `RDnCMP_CMD, 'h70060020, 'hd5234fcad5575007 // 1946 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 1946 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 1947 - , `RDnCMP_CMD, 'h70060020, 'hd5925053d5cc5098 // 1948 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 1948 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 1949 - , `RDnCMP_CMD, 'h70060020, 'hd5f050dad6115125 // 1950 - , `WRITE__CMD, 'h70050010, 'hd11c2bb4d11d2bb5 // 1951 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 1950 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 1951 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 1952 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1953 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1954 - , `WRITE__CMD, 'h70050010, 'hd11e2bb6d11f2bb7 // 1955 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 1955 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 1956 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1957 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1958 - , `WRITE__CMD, 'h70050010, 'hd1202bb8d1212bb9 // 1959 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 1959 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 1960 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1961 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1962 - , `WRITE__CMD, 'h70050010, 'hd1222bbad1232bbb // 1963 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 1963 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 1964 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1965 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1966 - , `WRITE__CMD, 'h70050010, 'hd1242bbcd1252bbd // 1967 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 1967 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 1968 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1969 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1970 - , `WRITE__CMD, 'h70050010, 'hd1262bbed1272bbf // 1971 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 1971 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 1972 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1973 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1974 - , `WRITE__CMD, 'h70050010, 'hd1282bc0d1292bc1 // 1975 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 1975 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 1976 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1977 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1978 - , `WRITE__CMD, 'h70050010, 'hd12a2bc2d12b2bc3 // 1979 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 1979 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 1980 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1981 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1982 - , `WRITE__CMD, 'h70050010, 'hd12c2bc4d12d2bc5 // 1983 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 1983 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 1984 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1985 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1986 - , `WRITE__CMD, 'h70050010, 'hd12e2bc6d12f2bc7 // 1987 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 1987 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 1988 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1989 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1990 - , `WRITE__CMD, 'h70050010, 'hd1302bc8d1312bc9 // 1991 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 1991 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 1992 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1993 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1994 - , `WRITE__CMD, 'h70050010, 'hd1322bcad1332bcb // 1995 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 1995 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 1996 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 1997 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 1998 - , `WRITE__CMD, 'h70050010, 'hd1342bccd1352bcd // 1999 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 1999 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 2000 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2001 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2002 - , `WRITE__CMD, 'h70050010, 'hd1362bced1372bcf // 2003 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 2003 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 2004 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2005 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2006 - , `WRITE__CMD, 'h70050010, 'hd1382bd0d1392bd1 // 2007 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 2007 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 2008 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2009 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2010 - , `WRITE__CMD, 'h70050010, 'hd13a2bd2d13b2bd3 // 2011 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 2011 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 2012 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2013 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2014 - , `WRITE__CMD, 'h70050010, 'hd13c2bd4d13d2bd5 // 2015 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 2015 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 2016 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2017 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2018 - , `WRITE__CMD, 'h70050010, 'hd13e2bd6d13f2bd7 // 2019 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 2019 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 2020 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2021 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2022 - , `WRITE__CMD, 'h70050010, 'hd1402bd8d1412bd9 // 2023 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 2023 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 2024 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2025 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2026 - , `WRITE__CMD, 'h70050010, 'hd1422bdad1432bdb // 2027 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 2027 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 2028 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2029 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2030 - , `WRITE__CMD, 'h70050010, 'hd1442bdcd1452bdd // 2031 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 2031 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 2032 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2033 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2034 - , `WRITE__CMD, 'h70050010, 'hd1462bded1472bdf // 2035 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 2035 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 2036 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2037 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2038 - , `WRITE__CMD, 'h70050010, 'hd1482be0d1492be1 // 2039 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 2039 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 2040 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2041 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2042 - , `WRITE__CMD, 'h70050010, 'hd14a2be2d14b2be3 // 2043 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 2043 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 2044 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2045 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2046 - , `WRITE__CMD, 'h70050010, 'hd14c2be4d14d2be5 // 2047 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 2047 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 2048 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2049 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2050 - , `WRITE__CMD, 'h70050010, 'hd14e2be6d14f2be7 // 2051 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 2051 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 2052 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2053 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2054 - , `WRITE__CMD, 'h70050010, 'hd1502be8d1512be9 // 2055 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 2055 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 2056 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2057 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2058 - , `WRITE__CMD, 'h70050010, 'hd1522bead1532beb // 2059 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 2059 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 2060 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2061 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2062 - , `WRITE__CMD, 'h70050010, 'hd1542becd1552bed // 2063 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 2063 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 2064 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2065 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2066 - , `WRITE__CMD, 'h70050010, 'hd1562beed1572bef // 2067 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 2067 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 2068 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2069 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2070 - , `WRITE__CMD, 'h70050010, 'hd1582bf0d1592bf1 // 2071 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 2071 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 2072 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2073 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2074 - , `WRITE__CMD, 'h70050010, 'hd15a2bf2d15b2bf3 // 2075 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 2075 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 2076 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2077 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2078 @@ -2106,7 +2106,7 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2080 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2081 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 2082 - , `RDnCMP_CMD, 'h70050020, 'h4ee0f4e0fd4e0265 // 2083 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 2083 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 2084 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 2085 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 2086 @@ -2169,7 +2169,7 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 2143 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 2144 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 2145 - , `WRITE__CMD, 'h70060010, 'h4ee0f4e0fd4e0265 // 2146 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 2146 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 2147 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 2148 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2149 @@ -2301,194 +2301,194 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2275 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2276 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 2277 - , `RDnCMP_CMD, 'h70060020, 'h4700ed004760ed33 // 2278 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 2278 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 2279 - , `RDnCMP_CMD, 'h70060020, 'h479fed7647eeedae // 2280 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 2280 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 2281 - , `RDnCMP_CMD, 'h70060020, 'h4815edfe485dee36 // 2282 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 2282 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 2283 - , `RDnCMP_CMD, 'h70060020, 'h48a6ee7448eaeead // 2284 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 2284 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 2285 - , `RDnCMP_CMD, 'h70060020, 'h48faeefa4934ef36 // 2286 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 2286 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 2287 - , `RDnCMP_CMD, 'h70060020, 'h4982ef7349c6efb1 // 2288 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 2288 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 2289 - , `RDnCMP_CMD, 'h70060020, 'h4a0ef0024a50f042 // 2290 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 2290 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 2291 - , `RDnCMP_CMD, 'h70060020, 'h4a95f07f4adef0c4 // 2292 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 2292 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 2293 - , `RDnCMP_CMD, 'h70060020, 'h4b00f1004b3df141 // 2294 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 2294 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 2295 - , `RDnCMP_CMD, 'h70060020, 'h4b6ff17a4bb5f1bb // 2296 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 2296 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 2297 - , `RDnCMP_CMD, 'h70060020, 'h4c0df2034c4ff24a // 2298 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 2298 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 2299 - , `RDnCMP_CMD, 'h70060020, 'h4c92f27a4cd6f2ba // 2300 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 2300 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 2301 - , `RDnCMP_CMD, 'h70060020, 'h4d11f2f94d4cf33e // 2302 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 2302 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 2303 - , `RDnCMP_CMD, 'h70060020, 'h4d99f37c4dd7f3b9 // 2304 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 2304 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 2305 - , `RDnCMP_CMD, 'h70060020, 'h4e1ef3f54e5af432 // 2306 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 2306 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 2307 - , `RDnCMP_CMD, 'h70060020, 'h4ea4f47c4ee5f4bd // 2308 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 2308 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 2309 - , `RDnCMP_CMD, 'h70060020, 'h4f00f5004f3ef53d // 2310 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 2310 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 2311 - , `RDnCMP_CMD, 'h70060020, 'h4f77f5864fbaf5c0 // 2312 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 2312 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 2313 - , `RDnCMP_CMD, 'h70060020, 'h4fe5f5fc5025f638 // 2314 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 2314 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 2315 - , `RDnCMP_CMD, 'h70060020, 'h5068f68c50aaf6d1 // 2316 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 2316 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 2317 - , `RDnCMP_CMD, 'h70060020, 'h5106f7065138f744 // 2318 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 2318 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 2319 - , `RDnCMP_CMD, 'h70060020, 'h518af78f51ccf7c7 // 2320 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 2320 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 2321 - , `RDnCMP_CMD, 'h70060020, 'h5202f7f65246f83c // 2322 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 2322 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 2323 - , `RDnCMP_CMD, 'h70060020, 'h5287f87352c4f8b6 // 2324 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 2324 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 2325 - , `RDnCMP_CMD, 'h70060020, 'h5300f9005339f947 // 2326 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 2326 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 2327 - , `RDnCMP_CMD, 'h70060020, 'h5373f98253b3f9cf // 2328 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 2328 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 2329 - , `RDnCMP_CMD, 'h70060020, 'h53f9fa03543bfa48 // 2330 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 2330 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 2331 - , `RDnCMP_CMD, 'h70060020, 'h5470fa7e54aefabc // 2332 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 2332 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 2333 - , `RDnCMP_CMD, 'h70060020, 'h54effb07552cfb48 // 2334 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 2334 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 2335 - , `RDnCMP_CMD, 'h70060020, 'h5563fb8a5597fbc7 // 2336 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 2336 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 2337 - , `RDnCMP_CMD, 'h70060020, 'h55d2fc13560cfc58 // 2338 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 2338 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 2339 - , `RDnCMP_CMD, 'h70060020, 'h5630fc9a5651fce5 // 2340 - , `WRITE__CMD, 'h70050010, 'h445e157e445f157f // 2341 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 2340 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 2341 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 2342 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2343 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2344 - , `WRITE__CMD, 'h70050010, 'h4460158044611581 // 2345 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 2345 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 2346 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2347 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2348 - , `WRITE__CMD, 'h70050010, 'h4462158244631583 // 2349 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 2349 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 2350 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2351 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2352 - , `WRITE__CMD, 'h70050010, 'h4464158444651585 // 2353 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 2353 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 2354 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2355 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2356 - , `WRITE__CMD, 'h70050010, 'h4466158644671587 // 2357 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 2357 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 2358 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2359 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2360 - , `WRITE__CMD, 'h70050010, 'h4468158844691589 // 2361 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 2361 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 2362 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2363 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2364 - , `WRITE__CMD, 'h70050010, 'h446a158a446b158b // 2365 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 2365 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 2366 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2367 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2368 - , `WRITE__CMD, 'h70050010, 'h446c158c446d158d // 2369 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 2369 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 2370 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2371 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2372 - , `WRITE__CMD, 'h70050010, 'h446e158e446f158f // 2373 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 2373 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 2374 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2375 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2376 - , `WRITE__CMD, 'h70050010, 'h4470159044711591 // 2377 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 2377 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 2378 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2379 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2380 - , `WRITE__CMD, 'h70050010, 'h4472159244731593 // 2381 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 2381 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 2382 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2383 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2384 - , `WRITE__CMD, 'h70050010, 'h4474159444751595 // 2385 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 2385 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 2386 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2387 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2388 - , `WRITE__CMD, 'h70050010, 'h4476159644771597 // 2389 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 2389 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 2390 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2391 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2392 - , `WRITE__CMD, 'h70050010, 'h4478159844791599 // 2393 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 2393 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 2394 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2395 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2396 - , `WRITE__CMD, 'h70050010, 'h447a159a447b159b // 2397 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 2397 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 2398 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2399 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2400 - , `WRITE__CMD, 'h70050010, 'h447c159c447d159d // 2401 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 2401 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 2402 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2403 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2404 - , `WRITE__CMD, 'h70050010, 'h447e159e447f159f // 2405 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 2405 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 2406 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2407 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2408 - , `WRITE__CMD, 'h70050010, 'h448015a0448115a1 // 2409 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 2409 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 2410 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2411 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2412 - , `WRITE__CMD, 'h70050010, 'h448215a2448315a3 // 2413 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 2413 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 2414 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2415 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2416 - , `WRITE__CMD, 'h70050010, 'h448415a4448515a5 // 2417 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 2417 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 2418 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2419 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2420 - , `WRITE__CMD, 'h70050010, 'h448615a6448715a7 // 2421 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 2421 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 2422 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2423 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2424 - , `WRITE__CMD, 'h70050010, 'h448815a8448915a9 // 2425 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 2425 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 2426 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2427 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2428 - , `WRITE__CMD, 'h70050010, 'h448a15aa448b15ab // 2429 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 2429 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 2430 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2431 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2432 - , `WRITE__CMD, 'h70050010, 'h448c15ac448d15ad // 2433 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 2433 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 2434 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2435 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2436 - , `WRITE__CMD, 'h70050010, 'h448e15ae448f15af // 2437 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 2437 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 2438 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2439 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2440 - , `WRITE__CMD, 'h70050010, 'h449015b0449115b1 // 2441 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 2441 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 2442 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2443 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2444 - , `WRITE__CMD, 'h70050010, 'h449215b2449315b3 // 2445 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 2445 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 2446 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2447 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2448 - , `WRITE__CMD, 'h70050010, 'h449415b4449515b5 // 2449 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 2449 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 2450 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2451 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2452 - , `WRITE__CMD, 'h70050010, 'h449615b6449715b7 // 2453 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 2453 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 2454 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2455 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2456 - , `WRITE__CMD, 'h70050010, 'h449815b8449915b9 // 2457 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 2457 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 2458 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2459 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2460 - , `WRITE__CMD, 'h70050010, 'h449a15ba449b15bb // 2461 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 2461 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 2462 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2463 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2464 - , `WRITE__CMD, 'h70050010, 'h449c15bc449d15bd // 2465 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 2465 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 2466 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2467 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2468 @@ -2496,7 +2496,7 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2470 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2471 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 2472 - , `RDnCMP_CMD, 'h70050020, 'h1f606760fd4e0265 // 2473 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 2473 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 2474 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 2475 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 2476 @@ -2559,7 +2559,7 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 2533 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 2534 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 2535 - , `WRITE__CMD, 'h70060010, 'h1f606760fd4e0265 // 2536 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 2536 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 2537 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 2538 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2539 @@ -2691,194 +2691,194 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2665 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2666 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 2667 - , `RDnCMP_CMD, 'h70060020, 'h17805f8017e05fb3 // 2668 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 2668 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 2669 - , `RDnCMP_CMD, 'h70060020, 'h181f5ff6186e602e // 2670 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 2670 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 2671 - , `RDnCMP_CMD, 'h70060020, 'h1895607e18dd60b6 // 2672 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 2672 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 2673 - , `RDnCMP_CMD, 'h70060020, 'h192660f4196a612d // 2674 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 2674 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 2675 - , `RDnCMP_CMD, 'h70060020, 'h197a617a19b461b6 // 2676 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 2676 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 2677 - , `RDnCMP_CMD, 'h70060020, 'h1a0261f31a466231 // 2678 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 2678 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 2679 - , `RDnCMP_CMD, 'h70060020, 'h1a8e62821ad062c2 // 2680 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 2680 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 2681 - , `RDnCMP_CMD, 'h70060020, 'h1b1562ff1b5e6344 // 2682 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 2682 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 2683 - , `RDnCMP_CMD, 'h70060020, 'h1b8063801bbd63c1 // 2684 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 2684 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 2685 - , `RDnCMP_CMD, 'h70060020, 'h1bef63fa1c35643b // 2686 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 2686 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 2687 - , `RDnCMP_CMD, 'h70060020, 'h1c8d64831ccf64ca // 2688 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 2688 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 2689 - , `RDnCMP_CMD, 'h70060020, 'h1d1264fa1d56653a // 2690 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 2690 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 2691 - , `RDnCMP_CMD, 'h70060020, 'h1d9165791dcc65be // 2692 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 2692 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 2693 - , `RDnCMP_CMD, 'h70060020, 'h1e1965fc1e576639 // 2694 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 2694 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 2695 - , `RDnCMP_CMD, 'h70060020, 'h1e9e66751eda66b2 // 2696 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 2696 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 2697 - , `RDnCMP_CMD, 'h70060020, 'h1f2466fc1f65673d // 2698 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 2698 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 2699 - , `RDnCMP_CMD, 'h70060020, 'h1f8067801fbe67bd // 2700 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 2700 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 2701 - , `RDnCMP_CMD, 'h70060020, 'h1ff76806203a6840 // 2702 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 2702 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 2703 - , `RDnCMP_CMD, 'h70060020, 'h2065687c20a568b8 // 2704 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 2704 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 2705 - , `RDnCMP_CMD, 'h70060020, 'h20e8690c212a6951 // 2706 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 2706 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 2707 - , `RDnCMP_CMD, 'h70060020, 'h2186698621b869c4 // 2708 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 2708 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 2709 - , `RDnCMP_CMD, 'h70060020, 'h220a6a0f224c6a47 // 2710 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 2710 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 2711 - , `RDnCMP_CMD, 'h70060020, 'h22826a7622c66abc // 2712 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 2712 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 2713 - , `RDnCMP_CMD, 'h70060020, 'h23076af323446b36 // 2714 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 2714 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 2715 - , `RDnCMP_CMD, 'h70060020, 'h23806b8023b96bc7 // 2716 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 2716 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 2717 - , `RDnCMP_CMD, 'h70060020, 'h23f36c0224336c4f // 2718 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 2718 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 2719 - , `RDnCMP_CMD, 'h70060020, 'h24796c8324bb6cc8 // 2720 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 2720 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 2721 - , `RDnCMP_CMD, 'h70060020, 'h24f06cfe252e6d3c // 2722 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 2722 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 2723 - , `RDnCMP_CMD, 'h70060020, 'h256f6d8725ac6dc8 // 2724 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 2724 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 2725 - , `RDnCMP_CMD, 'h70060020, 'h25e36e0a26176e47 // 2726 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 2726 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 2727 - , `RDnCMP_CMD, 'h70060020, 'h26526e93268c6ed8 // 2728 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 2728 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 2729 - , `RDnCMP_CMD, 'h70060020, 'h26b06f1a26d16f65 // 2730 - , `WRITE__CMD, 'h70050010, 'h6bb708ca6bb808cb // 2731 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 2730 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 2731 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 2732 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2733 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2734 - , `WRITE__CMD, 'h70050010, 'h6bb908cc6bba08cd // 2735 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 2735 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 2736 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2737 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2738 - , `WRITE__CMD, 'h70050010, 'h6bbb08ce6bbc08cf // 2739 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 2739 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 2740 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2741 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2742 - , `WRITE__CMD, 'h70050010, 'h6bbd08d06bbe08d1 // 2743 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 2743 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 2744 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2745 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2746 - , `WRITE__CMD, 'h70050010, 'h6bbf08d26bc008d3 // 2747 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 2747 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 2748 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2749 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2750 - , `WRITE__CMD, 'h70050010, 'h6bc108d46bc208d5 // 2751 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 2751 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 2752 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2753 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2754 - , `WRITE__CMD, 'h70050010, 'h6bc308d66bc408d7 // 2755 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 2755 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 2756 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2757 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2758 - , `WRITE__CMD, 'h70050010, 'h6bc508d86bc608d9 // 2759 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 2759 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 2760 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2761 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2762 - , `WRITE__CMD, 'h70050010, 'h6bc708da6bc808db // 2763 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 2763 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 2764 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2765 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2766 - , `WRITE__CMD, 'h70050010, 'h6bc908dc6bca08dd // 2767 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 2767 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 2768 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2769 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2770 - , `WRITE__CMD, 'h70050010, 'h6bcb08de6bcc08df // 2771 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 2771 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 2772 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2773 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2774 - , `WRITE__CMD, 'h70050010, 'h6bcd08e06bce08e1 // 2775 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 2775 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 2776 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2777 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2778 - , `WRITE__CMD, 'h70050010, 'h6bcf08e26bd008e3 // 2779 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 2779 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 2780 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2781 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2782 - , `WRITE__CMD, 'h70050010, 'h6bd108e46bd208e5 // 2783 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 2783 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 2784 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2785 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2786 - , `WRITE__CMD, 'h70050010, 'h6bd308e66bd408e7 // 2787 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 2787 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 2788 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2789 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2790 - , `WRITE__CMD, 'h70050010, 'h6bd508e86bd608e9 // 2791 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 2791 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 2792 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2793 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2794 - , `WRITE__CMD, 'h70050010, 'h6bd708ea6bd808eb // 2795 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 2795 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 2796 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2797 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2798 - , `WRITE__CMD, 'h70050010, 'h6bd908ec6bda08ed // 2799 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 2799 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 2800 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2801 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2802 - , `WRITE__CMD, 'h70050010, 'h6bdb08ee6bdc08ef // 2803 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 2803 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 2804 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2805 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2806 - , `WRITE__CMD, 'h70050010, 'h6bdd08f06bde08f1 // 2807 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 2807 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 2808 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2809 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2810 - , `WRITE__CMD, 'h70050010, 'h6bdf08f26be008f3 // 2811 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 2811 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 2812 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2813 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2814 - , `WRITE__CMD, 'h70050010, 'h6be108f46be208f5 // 2815 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 2815 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 2816 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2817 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2818 - , `WRITE__CMD, 'h70050010, 'h6be308f66be408f7 // 2819 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 2819 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 2820 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2821 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2822 - , `WRITE__CMD, 'h70050010, 'h6be508f86be608f9 // 2823 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 2823 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 2824 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2825 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2826 - , `WRITE__CMD, 'h70050010, 'h6be708fa6be808fb // 2827 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 2827 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 2828 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2829 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2830 - , `WRITE__CMD, 'h70050010, 'h6be908fc6bea08fd // 2831 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 2831 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 2832 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2833 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2834 - , `WRITE__CMD, 'h70050010, 'h6beb08fe6bec08ff // 2835 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 2835 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 2836 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2837 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2838 - , `WRITE__CMD, 'h70050010, 'h6bed09006bee0901 // 2839 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 2839 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 2840 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2841 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2842 - , `WRITE__CMD, 'h70050010, 'h6bef09026bf00903 // 2843 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 2843 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 2844 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2845 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2846 - , `WRITE__CMD, 'h70050010, 'h6bf109046bf20905 // 2847 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 2847 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 2848 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2849 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2850 - , `WRITE__CMD, 'h70050010, 'h6bf309066bf40907 // 2851 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 2851 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 2852 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2853 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2854 - , `WRITE__CMD, 'h70050010, 'h6bf509086bf60909 // 2855 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 2855 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 2856 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 2857 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2858 @@ -2886,7 +2886,7 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 2860 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 2861 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 2862 - , `RDnCMP_CMD, 'h70050020, 'hf5a03a60fd4e0265 // 2863 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 2863 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 2864 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 2865 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 2866 @@ -2949,7 +2949,7 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 2923 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 2924 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 2925 - , `WRITE__CMD, 'h70060010, 'hf5a03a60fd4e0265 // 2926 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 2926 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 2927 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 2928 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 2929 @@ -3081,194 +3081,194 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3055 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3056 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 3057 - , `RDnCMP_CMD, 'h70060020, 'hedc03280ee2032b3 // 3058 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 3058 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 3059 - , `RDnCMP_CMD, 'h70060020, 'hee5f32f6eeae332e // 3060 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 3060 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 3061 - , `RDnCMP_CMD, 'h70060020, 'heed5337eef1d33b6 // 3062 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 3062 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 3063 - , `RDnCMP_CMD, 'h70060020, 'hef6633f4efaa342d // 3064 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 3064 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 3065 - , `RDnCMP_CMD, 'h70060020, 'hefba347aeff434b6 // 3066 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 3066 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 3067 - , `RDnCMP_CMD, 'h70060020, 'hf04234f3f0863531 // 3068 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 3068 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 3069 - , `RDnCMP_CMD, 'h70060020, 'hf0ce3582f11035c2 // 3070 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 3070 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 3071 - , `RDnCMP_CMD, 'h70060020, 'hf15535fff19e3644 // 3072 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 3072 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 3073 - , `RDnCMP_CMD, 'h70060020, 'hf1c03680f1fd36c1 // 3074 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 3074 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 3075 - , `RDnCMP_CMD, 'h70060020, 'hf22f36faf275373b // 3076 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 3076 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 3077 - , `RDnCMP_CMD, 'h70060020, 'hf2cd3783f30f37ca // 3078 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 3078 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 3079 - , `RDnCMP_CMD, 'h70060020, 'hf35237faf396383a // 3080 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 3080 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 3081 - , `RDnCMP_CMD, 'h70060020, 'hf3d13879f40c38be // 3082 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 3082 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 3083 - , `RDnCMP_CMD, 'h70060020, 'hf45938fcf4973939 // 3084 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 3084 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 3085 - , `RDnCMP_CMD, 'h70060020, 'hf4de3975f51a39b2 // 3086 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 3086 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 3087 - , `RDnCMP_CMD, 'h70060020, 'hf56439fcf5a53a3d // 3088 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 3088 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 3089 - , `RDnCMP_CMD, 'h70060020, 'hf5c03a80f5fe3abd // 3090 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 3090 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 3091 - , `RDnCMP_CMD, 'h70060020, 'hf6373b06f67a3b40 // 3092 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 3092 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 3093 - , `RDnCMP_CMD, 'h70060020, 'hf6a53b7cf6e53bb8 // 3094 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 3094 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 3095 - , `RDnCMP_CMD, 'h70060020, 'hf7283c0cf76a3c51 // 3096 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 3096 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 3097 - , `RDnCMP_CMD, 'h70060020, 'hf7c63c86f7f83cc4 // 3098 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 3098 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 3099 - , `RDnCMP_CMD, 'h70060020, 'hf84a3d0ff88c3d47 // 3100 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 3100 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 3101 - , `RDnCMP_CMD, 'h70060020, 'hf8c23d76f9063dbc // 3102 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 3102 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 3103 - , `RDnCMP_CMD, 'h70060020, 'hf9473df3f9843e36 // 3104 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 3104 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 3105 - , `RDnCMP_CMD, 'h70060020, 'hf9c03e80f9f93ec7 // 3106 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 3106 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 3107 - , `RDnCMP_CMD, 'h70060020, 'hfa333f02fa733f4f // 3108 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 3108 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 3109 - , `RDnCMP_CMD, 'h70060020, 'hfab93f83fafb3fc8 // 3110 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 3110 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 3111 - , `RDnCMP_CMD, 'h70060020, 'hfb303ffefb6e403c // 3112 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 3112 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 3113 - , `RDnCMP_CMD, 'h70060020, 'hfbaf4087fbec40c8 // 3114 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 3114 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 3115 - , `RDnCMP_CMD, 'h70060020, 'hfc23410afc574147 // 3116 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 3116 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 3117 - , `RDnCMP_CMD, 'h70060020, 'hfc924193fccc41d8 // 3118 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 3118 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 3119 - , `RDnCMP_CMD, 'h70060020, 'hfcf0421afd114265 // 3120 - , `WRITE__CMD, 'h70050010, 'h1fd91a6b1fda1a6c // 3121 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 3120 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 3121 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 3122 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3123 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3124 - , `WRITE__CMD, 'h70050010, 'h1fdb1a6d1fdc1a6e // 3125 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 3125 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 3126 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3127 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3128 - , `WRITE__CMD, 'h70050010, 'h1fdd1a6f1fde1a70 // 3129 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 3129 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 3130 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3131 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3132 - , `WRITE__CMD, 'h70050010, 'h1fdf1a711fe01a72 // 3133 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 3133 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 3134 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3135 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3136 - , `WRITE__CMD, 'h70050010, 'h1fe11a731fe21a74 // 3137 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 3137 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 3138 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3139 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3140 - , `WRITE__CMD, 'h70050010, 'h1fe31a751fe41a76 // 3141 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 3141 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 3142 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3143 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3144 - , `WRITE__CMD, 'h70050010, 'h1fe51a771fe61a78 // 3145 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 3145 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 3146 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3147 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3148 - , `WRITE__CMD, 'h70050010, 'h1fe71a791fe81a7a // 3149 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 3149 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 3150 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3151 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3152 - , `WRITE__CMD, 'h70050010, 'h1fe91a7b1fea1a7c // 3153 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 3153 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 3154 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3155 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3156 - , `WRITE__CMD, 'h70050010, 'h1feb1a7d1fec1a7e // 3157 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 3157 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 3158 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3159 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3160 - , `WRITE__CMD, 'h70050010, 'h1fed1a7f1fee1a80 // 3161 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 3161 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 3162 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3163 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3164 - , `WRITE__CMD, 'h70050010, 'h1fef1a811ff01a82 // 3165 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 3165 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 3166 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3167 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3168 - , `WRITE__CMD, 'h70050010, 'h1ff11a831ff21a84 // 3169 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 3169 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 3170 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3171 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3172 - , `WRITE__CMD, 'h70050010, 'h1ff31a851ff41a86 // 3173 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 3173 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 3174 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3175 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3176 - , `WRITE__CMD, 'h70050010, 'h1ff51a871ff61a88 // 3177 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 3177 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 3178 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3179 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3180 - , `WRITE__CMD, 'h70050010, 'h1ff71a891ff81a8a // 3181 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 3181 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 3182 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3183 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3184 - , `WRITE__CMD, 'h70050010, 'h1ff91a8b1ffa1a8c // 3185 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 3185 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 3186 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3187 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3188 - , `WRITE__CMD, 'h70050010, 'h1ffb1a8d1ffc1a8e // 3189 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 3189 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 3190 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3191 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3192 - , `WRITE__CMD, 'h70050010, 'h1ffd1a8f1ffe1a90 // 3193 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 3193 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 3194 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3195 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3196 - , `WRITE__CMD, 'h70050010, 'h1fff1a9120001a92 // 3197 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 3197 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 3198 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3199 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3200 - , `WRITE__CMD, 'h70050010, 'h20011a9320021a94 // 3201 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 3201 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 3202 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3203 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3204 - , `WRITE__CMD, 'h70050010, 'h20031a9520041a96 // 3205 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 3205 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 3206 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3207 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3208 - , `WRITE__CMD, 'h70050010, 'h20051a9720061a98 // 3209 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 3209 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 3210 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3211 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3212 - , `WRITE__CMD, 'h70050010, 'h20071a9920081a9a // 3213 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 3213 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 3214 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3215 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3216 - , `WRITE__CMD, 'h70050010, 'h20091a9b200a1a9c // 3217 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 3217 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 3218 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3219 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3220 - , `WRITE__CMD, 'h70050010, 'h200b1a9d200c1a9e // 3221 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 3221 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 3222 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3223 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3224 - , `WRITE__CMD, 'h70050010, 'h200d1a9f200e1aa0 // 3225 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 3225 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 3226 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3227 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3228 - , `WRITE__CMD, 'h70050010, 'h200f1aa120101aa2 // 3229 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 3229 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 3230 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3231 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3232 - , `WRITE__CMD, 'h70050010, 'h20111aa320121aa4 // 3233 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 3233 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 3234 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3235 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3236 - , `WRITE__CMD, 'h70050010, 'h20131aa520141aa6 // 3237 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 3237 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 3238 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3239 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3240 - , `WRITE__CMD, 'h70050010, 'h20151aa720161aa8 // 3241 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 3241 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 3242 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3243 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3244 - , `WRITE__CMD, 'h70050010, 'h20171aa920181aaa // 3245 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 3245 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 3246 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3247 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3248 @@ -3276,7 +3276,7 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3250 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3251 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 3252 - , `RDnCMP_CMD, 'h70050020, 'hfe20a2a0fd4e0265 // 3253 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 3253 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 3254 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 3255 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 3256 @@ -3339,7 +3339,7 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 3313 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 3314 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 3315 - , `WRITE__CMD, 'h70060010, 'hfe20a2a0fd4e0265 // 3316 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 3316 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 3317 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 3318 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3319 @@ -3471,194 +3471,194 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3445 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3446 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 3447 - , `RDnCMP_CMD, 'h70060020, 'hf6409ac0f6a09af3 // 3448 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 3448 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 3449 - , `RDnCMP_CMD, 'h70060020, 'hf6df9b36f72e9b6e // 3450 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 3450 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 3451 - , `RDnCMP_CMD, 'h70060020, 'hf7559bbef79d9bf6 // 3452 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 3452 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 3453 - , `RDnCMP_CMD, 'h70060020, 'hf7e69c34f82a9c6d // 3454 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 3454 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 3455 - , `RDnCMP_CMD, 'h70060020, 'hf83a9cbaf8749cf6 // 3456 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 3456 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 3457 - , `RDnCMP_CMD, 'h70060020, 'hf8c29d33f9069d71 // 3458 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 3458 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 3459 - , `RDnCMP_CMD, 'h70060020, 'hf94e9dc2f9909e02 // 3460 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 3460 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 3461 - , `RDnCMP_CMD, 'h70060020, 'hf9d59e3ffa1e9e84 // 3462 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 3462 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 3463 - , `RDnCMP_CMD, 'h70060020, 'hfa409ec0fa7d9f01 // 3464 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 3464 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 3465 - , `RDnCMP_CMD, 'h70060020, 'hfaaf9f3afaf59f7b // 3466 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 3466 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 3467 - , `RDnCMP_CMD, 'h70060020, 'hfb4d9fc3fb8fa00a // 3468 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 3468 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 3469 - , `RDnCMP_CMD, 'h70060020, 'hfbd2a03afc16a07a // 3470 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 3470 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 3471 - , `RDnCMP_CMD, 'h70060020, 'hfc51a0b9fc8ca0fe // 3472 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 3472 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 3473 - , `RDnCMP_CMD, 'h70060020, 'hfcd9a13cfd17a179 // 3474 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 3474 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 3475 - , `RDnCMP_CMD, 'h70060020, 'hfd5ea1b5fd9aa1f2 // 3476 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 3476 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 3477 - , `RDnCMP_CMD, 'h70060020, 'hfde4a23cfe25a27d // 3478 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 3478 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 3479 - , `RDnCMP_CMD, 'h70060020, 'hfe40a2c0fe7ea2fd // 3480 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 3480 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 3481 - , `RDnCMP_CMD, 'h70060020, 'hfeb7a346fefaa380 // 3482 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 3482 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 3483 - , `RDnCMP_CMD, 'h70060020, 'hff25a3bcff65a3f8 // 3484 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 3484 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 3485 - , `RDnCMP_CMD, 'h70060020, 'hffa8a44cffeaa491 // 3486 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 3486 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 3487 - , `RDnCMP_CMD, 'h70060020, 'h0046a4c60078a504 // 3488 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 3488 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 3489 - , `RDnCMP_CMD, 'h70060020, 'h00caa54f010ca587 // 3490 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 3490 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 3491 - , `RDnCMP_CMD, 'h70060020, 'h0142a5b60186a5fc // 3492 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 3492 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 3493 - , `RDnCMP_CMD, 'h70060020, 'h01c7a6330204a676 // 3494 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 3494 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 3495 - , `RDnCMP_CMD, 'h70060020, 'h0240a6c00279a707 // 3496 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 3496 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 3497 - , `RDnCMP_CMD, 'h70060020, 'h02b3a74202f3a78f // 3498 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 3498 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 3499 - , `RDnCMP_CMD, 'h70060020, 'h0339a7c3037ba808 // 3500 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 3500 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 3501 - , `RDnCMP_CMD, 'h70060020, 'h03b0a83e03eea87c // 3502 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 3502 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 3503 - , `RDnCMP_CMD, 'h70060020, 'h042fa8c7046ca908 // 3504 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 3504 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 3505 - , `RDnCMP_CMD, 'h70060020, 'h04a3a94a04d7a987 // 3506 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 3506 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 3507 - , `RDnCMP_CMD, 'h70060020, 'h0512a9d3054caa18 // 3508 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 3508 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 3509 - , `RDnCMP_CMD, 'h70060020, 'h0570aa5a0591aaa5 // 3510 - , `WRITE__CMD, 'h70050010, 'h5e62f3b95e63f3ba // 3511 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 3510 + , `WRITE__CMD, 'h70050010, 'h0001000000020001 // 3511 , `WRITE__CMD, 'h70050008, 'h0000000000000000 // 3512 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3513 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3514 - , `WRITE__CMD, 'h70050010, 'h5e64f3bb5e65f3bc // 3515 + , `WRITE__CMD, 'h70050010, 'h0003000200040003 // 3515 , `WRITE__CMD, 'h70050008, 'h0000000000000001 // 3516 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3517 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3518 - , `WRITE__CMD, 'h70050010, 'h5e66f3bd5e67f3be // 3519 + , `WRITE__CMD, 'h70050010, 'h0005000400060005 // 3519 , `WRITE__CMD, 'h70050008, 'h0000000000000002 // 3520 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3521 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3522 - , `WRITE__CMD, 'h70050010, 'h5e68f3bf5e69f3c0 // 3523 + , `WRITE__CMD, 'h70050010, 'h0007000600080007 // 3523 , `WRITE__CMD, 'h70050008, 'h0000000000000003 // 3524 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3525 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3526 - , `WRITE__CMD, 'h70050010, 'h5e6af3c15e6bf3c2 // 3527 + , `WRITE__CMD, 'h70050010, 'h00090008000a0009 // 3527 , `WRITE__CMD, 'h70050008, 'h0000000000000004 // 3528 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3529 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3530 - , `WRITE__CMD, 'h70050010, 'h5e6cf3c35e6df3c4 // 3531 + , `WRITE__CMD, 'h70050010, 'h000b000a000c000b // 3531 , `WRITE__CMD, 'h70050008, 'h0000000000000005 // 3532 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3533 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3534 - , `WRITE__CMD, 'h70050010, 'h5e6ef3c55e6ff3c6 // 3535 + , `WRITE__CMD, 'h70050010, 'h000d000c000e000d // 3535 , `WRITE__CMD, 'h70050008, 'h0000000000000006 // 3536 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3537 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3538 - , `WRITE__CMD, 'h70050010, 'h5e70f3c75e71f3c8 // 3539 + , `WRITE__CMD, 'h70050010, 'h000f000e0010000f // 3539 , `WRITE__CMD, 'h70050008, 'h0000000000000007 // 3540 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3541 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3542 - , `WRITE__CMD, 'h70050010, 'h5e72f3c95e73f3ca // 3543 + , `WRITE__CMD, 'h70050010, 'h0011001000120011 // 3543 , `WRITE__CMD, 'h70050008, 'h0000000000000008 // 3544 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3545 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3546 - , `WRITE__CMD, 'h70050010, 'h5e74f3cb5e75f3cc // 3547 + , `WRITE__CMD, 'h70050010, 'h0013001200140013 // 3547 , `WRITE__CMD, 'h70050008, 'h0000000000000009 // 3548 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3549 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3550 - , `WRITE__CMD, 'h70050010, 'h5e76f3cd5e77f3ce // 3551 + , `WRITE__CMD, 'h70050010, 'h0015001400160015 // 3551 , `WRITE__CMD, 'h70050008, 'h000000000000000a // 3552 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3553 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3554 - , `WRITE__CMD, 'h70050010, 'h5e78f3cf5e79f3d0 // 3555 + , `WRITE__CMD, 'h70050010, 'h0017001600180017 // 3555 , `WRITE__CMD, 'h70050008, 'h000000000000000b // 3556 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3557 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3558 - , `WRITE__CMD, 'h70050010, 'h5e7af3d15e7bf3d2 // 3559 + , `WRITE__CMD, 'h70050010, 'h00190018001a0019 // 3559 , `WRITE__CMD, 'h70050008, 'h000000000000000c // 3560 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3561 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3562 - , `WRITE__CMD, 'h70050010, 'h5e7cf3d35e7df3d4 // 3563 + , `WRITE__CMD, 'h70050010, 'h001b001a001c001b // 3563 , `WRITE__CMD, 'h70050008, 'h000000000000000d // 3564 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3565 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3566 - , `WRITE__CMD, 'h70050010, 'h5e7ef3d55e7ff3d6 // 3567 + , `WRITE__CMD, 'h70050010, 'h001d001c001e001d // 3567 , `WRITE__CMD, 'h70050008, 'h000000000000000e // 3568 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3569 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3570 - , `WRITE__CMD, 'h70050010, 'h5e80f3d75e81f3d8 // 3571 + , `WRITE__CMD, 'h70050010, 'h001f001e0020001f // 3571 , `WRITE__CMD, 'h70050008, 'h000000000000000f // 3572 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3573 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3574 - , `WRITE__CMD, 'h70050010, 'h5e82f3d95e83f3da // 3575 + , `WRITE__CMD, 'h70050010, 'h0021002000220021 // 3575 , `WRITE__CMD, 'h70050008, 'h0000000000000010 // 3576 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3577 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3578 - , `WRITE__CMD, 'h70050010, 'h5e84f3db5e85f3dc // 3579 + , `WRITE__CMD, 'h70050010, 'h0023002200240023 // 3579 , `WRITE__CMD, 'h70050008, 'h0000000000000011 // 3580 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3581 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3582 - , `WRITE__CMD, 'h70050010, 'h5e86f3dd5e87f3de // 3583 + , `WRITE__CMD, 'h70050010, 'h0025002400260025 // 3583 , `WRITE__CMD, 'h70050008, 'h0000000000000012 // 3584 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3585 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3586 - , `WRITE__CMD, 'h70050010, 'h5e88f3df5e89f3e0 // 3587 + , `WRITE__CMD, 'h70050010, 'h0027002600280027 // 3587 , `WRITE__CMD, 'h70050008, 'h0000000000000013 // 3588 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3589 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3590 - , `WRITE__CMD, 'h70050010, 'h5e8af3e15e8bf3e2 // 3591 + , `WRITE__CMD, 'h70050010, 'h00290028002a0029 // 3591 , `WRITE__CMD, 'h70050008, 'h0000000000000014 // 3592 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3593 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3594 - , `WRITE__CMD, 'h70050010, 'h5e8cf3e35e8df3e4 // 3595 + , `WRITE__CMD, 'h70050010, 'h002b002a002c002b // 3595 , `WRITE__CMD, 'h70050008, 'h0000000000000015 // 3596 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3597 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3598 - , `WRITE__CMD, 'h70050010, 'h5e8ef3e55e8ff3e6 // 3599 + , `WRITE__CMD, 'h70050010, 'h002d002c002e002d // 3599 , `WRITE__CMD, 'h70050008, 'h0000000000000016 // 3600 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3601 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3602 - , `WRITE__CMD, 'h70050010, 'h5e90f3e75e91f3e8 // 3603 + , `WRITE__CMD, 'h70050010, 'h002f002e0030002f // 3603 , `WRITE__CMD, 'h70050008, 'h0000000000000017 // 3604 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3605 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3606 - , `WRITE__CMD, 'h70050010, 'h5e92f3e95e93f3ea // 3607 + , `WRITE__CMD, 'h70050010, 'h0031003000320031 // 3607 , `WRITE__CMD, 'h70050008, 'h0000000000000018 // 3608 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3609 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3610 - , `WRITE__CMD, 'h70050010, 'h5e94f3eb5e95f3ec // 3611 + , `WRITE__CMD, 'h70050010, 'h0033003200340033 // 3611 , `WRITE__CMD, 'h70050008, 'h0000000000000019 // 3612 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3613 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3614 - , `WRITE__CMD, 'h70050010, 'h5e96f3ed5e97f3ee // 3615 + , `WRITE__CMD, 'h70050010, 'h0035003400360035 // 3615 , `WRITE__CMD, 'h70050008, 'h000000000000001a // 3616 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3617 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3618 - , `WRITE__CMD, 'h70050010, 'h5e98f3ef5e99f3f0 // 3619 + , `WRITE__CMD, 'h70050010, 'h0037003600380037 // 3619 , `WRITE__CMD, 'h70050008, 'h000000000000001b // 3620 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3621 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3622 - , `WRITE__CMD, 'h70050010, 'h5e9af3f15e9bf3f2 // 3623 + , `WRITE__CMD, 'h70050010, 'h00390038003a0039 // 3623 , `WRITE__CMD, 'h70050008, 'h000000000000001c // 3624 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3625 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3626 - , `WRITE__CMD, 'h70050010, 'h5e9cf3f35e9df3f4 // 3627 + , `WRITE__CMD, 'h70050010, 'h003b003a003c003b // 3627 , `WRITE__CMD, 'h70050008, 'h000000000000001d // 3628 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3629 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3630 - , `WRITE__CMD, 'h70050010, 'h5e9ef3f55e9ff3f6 // 3631 + , `WRITE__CMD, 'h70050010, 'h003d003c003e003d // 3631 , `WRITE__CMD, 'h70050008, 'h000000000000001e // 3632 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3633 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3634 - , `WRITE__CMD, 'h70050010, 'h5ea0f3f75ea1f3f8 // 3635 + , `WRITE__CMD, 'h70050010, 'h003f003e0040003f // 3635 , `WRITE__CMD, 'h70050008, 'h000000000000001f // 3636 , `WRITE__CMD, 'h70050000, 'h0000000000000002 // 3637 , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3638 @@ -3666,7 +3666,7 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70050000, 'h0000000000000000 // 3640 , `RDSPIN_CMD, 'h70050000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3641 , `WRITE__CMD, 'h70050018, 'h0000000000000000 // 3642 - , `RDnCMP_CMD, 'h70050020, 'ha060f620fd4e0265 // 3643 + , `RDnCMP_CMD, 'h70050020, 'h082007e0fd4e0265 // 3643 , `WRITE__CMD, 'h70050018, 'h0000000000000001 // 3644 , `RDnCMP_CMD, 'h70050020, 'hfe980122ff0400af // 3645 , `WRITE__CMD, 'h70050018, 'h0000000000000002 // 3646 @@ -3729,7 +3729,7 @@ longint idft_playback[] = { , `RDnCMP_CMD, 'h70050020, 'h0080ff4100b9ff14 // 3703 , `WRITE__CMD, 'h70050018, 'h000000000000001f // 3704 , `RDnCMP_CMD, 'h70050020, 'h0123fe9f0267fd5d // 3705 - , `WRITE__CMD, 'h70060010, 'ha060f620fd4e0265 // 3706 + , `WRITE__CMD, 'h70060010, 'h082007e0fd4e0265 // 3706 , `WRITE__CMD, 'h70060008, 'h0000000000000000 // 3707 , `WRITE__CMD, 'h70060000, 'h0000000000000002 // 3708 , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3709 @@ -3861,69 +3861,69 @@ longint idft_playback[] = { , `WRITE__CMD, 'h70060000, 'h0000000000000000 // 3835 , `RDSPIN_CMD, 'h70060000, 'h0000000000000004, 'hffffffffffffffff, 'h1f4 // 3836 , `WRITE__CMD, 'h70060018, 'h0000000000000000 // 3837 - , `RDnCMP_CMD, 'h70060020, 'h9880ee4098e0ee73 // 3838 + , `RDnCMP_CMD, 'h70060020, 'h0040000000a00033 // 3838 , `WRITE__CMD, 'h70060018, 'h0000000000000001 // 3839 - , `RDnCMP_CMD, 'h70060020, 'h991feeb6996eeeee // 3840 + , `RDnCMP_CMD, 'h70060020, 'h00df0076012e00ae // 3840 , `WRITE__CMD, 'h70060018, 'h0000000000000002 // 3841 - , `RDnCMP_CMD, 'h70060020, 'h9995ef3e99ddef76 // 3842 + , `RDnCMP_CMD, 'h70060020, 'h015500fe019d0136 // 3842 , `WRITE__CMD, 'h70060018, 'h0000000000000003 // 3843 - , `RDnCMP_CMD, 'h70060020, 'h9a26efb49a6aefed // 3844 + , `RDnCMP_CMD, 'h70060020, 'h01e60174022a01ad // 3844 , `WRITE__CMD, 'h70060018, 'h0000000000000004 // 3845 - , `RDnCMP_CMD, 'h70060020, 'h9a7af03a9ab4f076 // 3846 + , `RDnCMP_CMD, 'h70060020, 'h023a01fa02740236 // 3846 , `WRITE__CMD, 'h70060018, 'h0000000000000005 // 3847 - , `RDnCMP_CMD, 'h70060020, 'h9b02f0b39b46f0f1 // 3848 + , `RDnCMP_CMD, 'h70060020, 'h02c20273030602b1 // 3848 , `WRITE__CMD, 'h70060018, 'h0000000000000006 // 3849 - , `RDnCMP_CMD, 'h70060020, 'h9b8ef1429bd0f182 // 3850 + , `RDnCMP_CMD, 'h70060020, 'h034e030203900342 // 3850 , `WRITE__CMD, 'h70060018, 'h0000000000000007 // 3851 - , `RDnCMP_CMD, 'h70060020, 'h9c15f1bf9c5ef204 // 3852 + , `RDnCMP_CMD, 'h70060020, 'h03d5037f041e03c4 // 3852 , `WRITE__CMD, 'h70060018, 'h0000000000000008 // 3853 - , `RDnCMP_CMD, 'h70060020, 'h9c80f2409cbdf281 // 3854 + , `RDnCMP_CMD, 'h70060020, 'h04400400047d0441 // 3854 , `WRITE__CMD, 'h70060018, 'h0000000000000009 // 3855 - , `RDnCMP_CMD, 'h70060020, 'h9ceff2ba9d35f2fb // 3856 + , `RDnCMP_CMD, 'h70060020, 'h04af047a04f504bb // 3856 , `WRITE__CMD, 'h70060018, 'h000000000000000a // 3857 - , `RDnCMP_CMD, 'h70060020, 'h9d8df3439dcff38a // 3858 + , `RDnCMP_CMD, 'h70060020, 'h054d0503058f054a // 3858 , `WRITE__CMD, 'h70060018, 'h000000000000000b // 3859 - , `RDnCMP_CMD, 'h70060020, 'h9e12f3ba9e56f3fa // 3860 + , `RDnCMP_CMD, 'h70060020, 'h05d2057a061605ba // 3860 , `WRITE__CMD, 'h70060018, 'h000000000000000c // 3861 - , `RDnCMP_CMD, 'h70060020, 'h9e91f4399eccf47e // 3862 + , `RDnCMP_CMD, 'h70060020, 'h065105f9068c063e // 3862 , `WRITE__CMD, 'h70060018, 'h000000000000000d // 3863 - , `RDnCMP_CMD, 'h70060020, 'h9f19f4bc9f57f4f9 // 3864 + , `RDnCMP_CMD, 'h70060020, 'h06d9067c071706b9 // 3864 , `WRITE__CMD, 'h70060018, 'h000000000000000e // 3865 - , `RDnCMP_CMD, 'h70060020, 'h9f9ef5359fdaf572 // 3866 + , `RDnCMP_CMD, 'h70060020, 'h075e06f5079a0732 // 3866 , `WRITE__CMD, 'h70060018, 'h000000000000000f // 3867 - , `RDnCMP_CMD, 'h70060020, 'ha024f5bca065f5fd // 3868 + , `RDnCMP_CMD, 'h70060020, 'h07e4077c082507bd // 3868 , `WRITE__CMD, 'h70060018, 'h0000000000000010 // 3869 - , `RDnCMP_CMD, 'h70060020, 'ha080f640a0bef67d // 3870 + , `RDnCMP_CMD, 'h70060020, 'h08400800087e083d // 3870 , `WRITE__CMD, 'h70060018, 'h0000000000000011 // 3871 - , `RDnCMP_CMD, 'h70060020, 'ha0f7f6c6a13af700 // 3872 + , `RDnCMP_CMD, 'h70060020, 'h08b7088608fa08c0 // 3872 , `WRITE__CMD, 'h70060018, 'h0000000000000012 // 3873 - , `RDnCMP_CMD, 'h70060020, 'ha165f73ca1a5f778 // 3874 + , `RDnCMP_CMD, 'h70060020, 'h092508fc09650938 // 3874 , `WRITE__CMD, 'h70060018, 'h0000000000000013 // 3875 - , `RDnCMP_CMD, 'h70060020, 'ha1e8f7cca22af811 // 3876 + , `RDnCMP_CMD, 'h70060020, 'h09a8098c09ea09d1 // 3876 , `WRITE__CMD, 'h70060018, 'h0000000000000014 // 3877 - , `RDnCMP_CMD, 'h70060020, 'ha286f846a2b8f884 // 3878 + , `RDnCMP_CMD, 'h70060020, 'h0a460a060a780a44 // 3878 , `WRITE__CMD, 'h70060018, 'h0000000000000015 // 3879 - , `RDnCMP_CMD, 'h70060020, 'ha30af8cfa34cf907 // 3880 + , `RDnCMP_CMD, 'h70060020, 'h0aca0a8f0b0c0ac7 // 3880 , `WRITE__CMD, 'h70060018, 'h0000000000000016 // 3881 - , `RDnCMP_CMD, 'h70060020, 'ha382f936a3c6f97c // 3882 + , `RDnCMP_CMD, 'h70060020, 'h0b420af60b860b3c // 3882 , `WRITE__CMD, 'h70060018, 'h0000000000000017 // 3883 - , `RDnCMP_CMD, 'h70060020, 'ha407f9b3a444f9f6 // 3884 + , `RDnCMP_CMD, 'h70060020, 'h0bc70b730c040bb6 // 3884 , `WRITE__CMD, 'h70060018, 'h0000000000000018 // 3885 - , `RDnCMP_CMD, 'h70060020, 'ha480fa40a4b9fa87 // 3886 + , `RDnCMP_CMD, 'h70060020, 'h0c400c000c790c47 // 3886 , `WRITE__CMD, 'h70060018, 'h0000000000000019 // 3887 - , `RDnCMP_CMD, 'h70060020, 'ha4f3fac2a533fb0f // 3888 + , `RDnCMP_CMD, 'h70060020, 'h0cb30c820cf30ccf // 3888 , `WRITE__CMD, 'h70060018, 'h000000000000001a // 3889 - , `RDnCMP_CMD, 'h70060020, 'ha579fb43a5bbfb88 // 3890 + , `RDnCMP_CMD, 'h70060020, 'h0d390d030d7b0d48 // 3890 , `WRITE__CMD, 'h70060018, 'h000000000000001b // 3891 - , `RDnCMP_CMD, 'h70060020, 'ha5f0fbbea62efbfc // 3892 + , `RDnCMP_CMD, 'h70060020, 'h0db00d7e0dee0dbc // 3892 , `WRITE__CMD, 'h70060018, 'h000000000000001c // 3893 - , `RDnCMP_CMD, 'h70060020, 'ha66ffc47a6acfc88 // 3894 + , `RDnCMP_CMD, 'h70060020, 'h0e2f0e070e6c0e48 // 3894 , `WRITE__CMD, 'h70060018, 'h000000000000001d // 3895 - , `RDnCMP_CMD, 'h70060020, 'ha6e3fccaa717fd07 // 3896 + , `RDnCMP_CMD, 'h70060020, 'h0ea30e8a0ed70ec7 // 3896 , `WRITE__CMD, 'h70060018, 'h000000000000001e // 3897 - , `RDnCMP_CMD, 'h70060020, 'ha752fd53a78cfd98 // 3898 + , `RDnCMP_CMD, 'h70060020, 'h0f120f130f4c0f58 // 3898 , `WRITE__CMD, 'h70060018, 'h000000000000001f // 3899 - , `RDnCMP_CMD, 'h70060020, 'ha7b0fddaa7d1fe25 // 3900 + , `RDnCMP_CMD, 'h70060020, 'h0f700f9a0f910fe5 // 3900 }; `define idft_adrBase 'h0070060000 diff --git a/unit_simulation/TL_level_sim/sv_vectors/iir_playback.h b/unit_simulation/TL_level_sim/sv_vectors/iir_playback.h index 6b34b91..ecc36f6 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/iir_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/iir_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: iir. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef iir_playback_H `define iir_playback_H @@ -1336,131 +1336,131 @@ longint iir_playback[] = { , `RDnCMP_CMD, 'h70080020, 'h0000000018fc1024 // 1310 , `WRITE__CMD, 'h70080028, 'h0000000000000001 // 1311 , `WRITE__CMD, 'h70080028, 'h0000000000000000 // 1312 - , `WRITE__CMD, 'h70080010, 'h268618da268618da // 1313 + , `WRITE__CMD, 'h70080010, 'h0000000300000003 // 1313 , `WRITE__CMD, 'h70080008, 'h0000000000000000 // 1314 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1315 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1316 - , `WRITE__CMD, 'h70080010, 'h20574a8a20574a8a // 1317 + , `WRITE__CMD, 'h70080010, 'h0000000700000007 // 1317 , `WRITE__CMD, 'h70080008, 'h0000000000000001 // 1318 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1319 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1320 - , `WRITE__CMD, 'h70080010, 'h0cac50860cac5086 // 1321 + , `WRITE__CMD, 'h70080010, 'h0000000b0000000b // 1321 , `WRITE__CMD, 'h70080008, 'h0000000000000002 // 1322 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1323 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1324 - , `WRITE__CMD, 'h70080010, 'h008d0761008d0761 // 1325 + , `WRITE__CMD, 'h70080010, 'h0000000f0000000f // 1325 , `WRITE__CMD, 'h70080008, 'h0000000000000003 // 1326 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1327 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1328 - , `WRITE__CMD, 'h70080010, 'h01589d5b01589d5b // 1329 + , `WRITE__CMD, 'h70080010, 'h0000001300000013 // 1329 , `WRITE__CMD, 'h70080008, 'h0000000000000004 // 1330 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1331 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1332 - , `WRITE__CMD, 'h70080010, 'h35320af435320af4 // 1333 + , `WRITE__CMD, 'h70080010, 'h0000001700000017 // 1333 , `WRITE__CMD, 'h70080008, 'h0000000000000005 // 1334 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1335 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1336 - , `WRITE__CMD, 'h70080010, 'h182057dc182057dc // 1337 + , `WRITE__CMD, 'h70080010, 'h0000001b0000001b // 1337 , `WRITE__CMD, 'h70080008, 'h0000000000000006 // 1338 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1339 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1340 - , `WRITE__CMD, 'h70080010, 'h1bb4906a1bb4906a // 1341 + , `WRITE__CMD, 'h70080010, 'h0000001f0000001f // 1341 , `WRITE__CMD, 'h70080008, 'h0000000000000007 // 1342 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1343 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1344 - , `WRITE__CMD, 'h70080010, 'h3505248235052482 // 1345 + , `WRITE__CMD, 'h70080010, 'h0000002300000023 // 1345 , `WRITE__CMD, 'h70080008, 'h0000000000000008 // 1346 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1347 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1348 - , `WRITE__CMD, 'h70080010, 'h05c6b0fd05c6b0fd // 1349 + , `WRITE__CMD, 'h70080010, 'h0000002700000027 // 1349 , `WRITE__CMD, 'h70080008, 'h0000000000000009 // 1350 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1351 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1352 - , `WRITE__CMD, 'h70080010, 'h050b45e1050b45e1 // 1353 + , `WRITE__CMD, 'h70080010, 'h0000002b0000002b // 1353 , `WRITE__CMD, 'h70080008, 'h000000000000000a // 1354 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1355 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1356 - , `WRITE__CMD, 'h70080010, 'h39af4c3839af4c38 // 1357 + , `WRITE__CMD, 'h70080010, 'h0000002f0000002f // 1357 , `WRITE__CMD, 'h70080008, 'h000000000000000b // 1358 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1359 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1360 - , `WRITE__CMD, 'h70080010, 'h15f4162515f41625 // 1361 + , `WRITE__CMD, 'h70080010, 'h0000003300000033 // 1361 , `WRITE__CMD, 'h70080008, 'h000000000000000c // 1362 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1363 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1364 - , `WRITE__CMD, 'h70080010, 'h24a7c6ad24a7c6ad // 1365 + , `WRITE__CMD, 'h70080010, 'h0000003700000037 // 1365 , `WRITE__CMD, 'h70080008, 'h000000000000000d // 1366 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1367 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1368 - , `WRITE__CMD, 'h70080010, 'h10a8661610a86616 // 1369 + , `WRITE__CMD, 'h70080010, 'h0000003b0000003b // 1369 , `WRITE__CMD, 'h70080008, 'h000000000000000e // 1370 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1371 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1372 - , `WRITE__CMD, 'h70080010, 'h1a0f1fc81a0f1fc8 // 1373 + , `WRITE__CMD, 'h70080010, 'h0000003f0000003f // 1373 , `WRITE__CMD, 'h70080008, 'h000000000000000f // 1374 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1375 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1376 - , `WRITE__CMD, 'h70080010, 'h0accadd70accadd7 // 1377 + , `WRITE__CMD, 'h70080010, 'h0000004300000043 // 1377 , `WRITE__CMD, 'h70080008, 'h0000000000000010 // 1378 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1379 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1380 - , `WRITE__CMD, 'h70080010, 'h38ff61cd38ff61cd // 1381 + , `WRITE__CMD, 'h70080010, 'h0000004700000047 // 1381 , `WRITE__CMD, 'h70080008, 'h0000000000000011 // 1382 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1383 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1384 - , `WRITE__CMD, 'h70080010, 'h037783c6037783c6 // 1385 + , `WRITE__CMD, 'h70080010, 'h0000004b0000004b // 1385 , `WRITE__CMD, 'h70080008, 'h0000000000000012 // 1386 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1387 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1388 - , `WRITE__CMD, 'h70080010, 'h158218c9158218c9 // 1389 + , `WRITE__CMD, 'h70080010, 'h0000004f0000004f // 1389 , `WRITE__CMD, 'h70080008, 'h0000000000000013 // 1390 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1391 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1392 - , `WRITE__CMD, 'h70080010, 'h2ed710192ed71019 // 1393 + , `WRITE__CMD, 'h70080010, 'h0000005300000053 // 1393 , `WRITE__CMD, 'h70080008, 'h0000000000000014 // 1394 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1395 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1396 - , `WRITE__CMD, 'h70080010, 'h3ae928e33ae928e3 // 1397 + , `WRITE__CMD, 'h70080010, 'h0000005700000057 // 1397 , `WRITE__CMD, 'h70080008, 'h0000000000000015 // 1398 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1399 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1400 - , `WRITE__CMD, 'h70080010, 'h0335bcba0335bcba // 1401 + , `WRITE__CMD, 'h70080010, 'h0000005b0000005b // 1401 , `WRITE__CMD, 'h70080008, 'h0000000000000016 // 1402 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1403 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1404 - , `WRITE__CMD, 'h70080010, 'h228b4fd4228b4fd4 // 1405 + , `WRITE__CMD, 'h70080010, 'h0000005f0000005f // 1405 , `WRITE__CMD, 'h70080008, 'h0000000000000017 // 1406 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1407 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1408 - , `WRITE__CMD, 'h70080010, 'h3b5d2d933b5d2d93 // 1409 + , `WRITE__CMD, 'h70080010, 'h0000006300000063 // 1409 , `WRITE__CMD, 'h70080008, 'h0000000000000018 // 1410 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1411 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1412 - , `WRITE__CMD, 'h70080010, 'h376cc50c376cc50c // 1413 + , `WRITE__CMD, 'h70080010, 'h0000006700000067 // 1413 , `WRITE__CMD, 'h70080008, 'h0000000000000019 // 1414 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1415 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1416 - , `WRITE__CMD, 'h70080010, 'h375d022d375d022d // 1417 + , `WRITE__CMD, 'h70080010, 'h0000006b0000006b // 1417 , `WRITE__CMD, 'h70080008, 'h000000000000001a // 1418 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1419 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1420 - , `WRITE__CMD, 'h70080010, 'h1b7013051b701305 // 1421 + , `WRITE__CMD, 'h70080010, 'h0000006f0000006f // 1421 , `WRITE__CMD, 'h70080008, 'h000000000000001b // 1422 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1423 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1424 - , `WRITE__CMD, 'h70080010, 'h02725e9a02725e9a // 1425 + , `WRITE__CMD, 'h70080010, 'h0000007300000073 // 1425 , `WRITE__CMD, 'h70080008, 'h000000000000001c // 1426 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1427 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1428 - , `WRITE__CMD, 'h70080010, 'h3c388d843c388d84 // 1429 + , `WRITE__CMD, 'h70080010, 'h0000007700000077 // 1429 , `WRITE__CMD, 'h70080008, 'h000000000000001d // 1430 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1431 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1432 - , `WRITE__CMD, 'h70080010, 'h0c5e5b660c5e5b66 // 1433 + , `WRITE__CMD, 'h70080010, 'h0000007b0000007b // 1433 , `WRITE__CMD, 'h70080008, 'h000000000000001e // 1434 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1435 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1436 - , `WRITE__CMD, 'h70080010, 'h14aabda614aabda6 // 1437 + , `WRITE__CMD, 'h70080010, 'h0000007f0000007f // 1437 , `WRITE__CMD, 'h70080008, 'h000000000000001f // 1438 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1439 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1440 @@ -1470,194 +1470,194 @@ longint iir_playback[] = { , `WRITE__CMD, 'h70080018, 'h0000000000000000 // 1444 , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1445 , `WRITE__CMD, 'h70080018, 'h0000000000000001 // 1446 - , `RDnCMP_CMD, 'h70080020, 'h00000000009a1863 // 1447 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1447 , `WRITE__CMD, 'h70080018, 'h0000000000000002 // 1448 - , `RDnCMP_CMD, 'h70080020, 'h0000000003d0e34c // 1449 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1449 , `WRITE__CMD, 'h70080018, 'h0000000000000003 // 1450 - , `RDnCMP_CMD, 'h70080020, 'h000000000c52483f // 1451 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1451 , `WRITE__CMD, 'h70080018, 'h0000000000000004 // 1452 - , `RDnCMP_CMD, 'h70080020, 'h0000000018850068 // 1453 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000002 // 1453 , `WRITE__CMD, 'h70080018, 'h0000000000000005 // 1454 - , `RDnCMP_CMD, 'h70080020, 'h000000001ebe74e1 // 1455 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000008 // 1455 , `WRITE__CMD, 'h70080018, 'h0000000000000006 // 1456 - , `RDnCMP_CMD, 'h70080020, 'h0000000015d32209 // 1457 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000d // 1457 , `WRITE__CMD, 'h70080018, 'h0000000000000007 // 1458 - , `RDnCMP_CMD, 'h70080020, 'h0000000005902dc1 // 1459 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000f // 1459 , `WRITE__CMD, 'h70080018, 'h0000000000000008 // 1460 - , `RDnCMP_CMD, 'h70080020, 'h0000000004c8e31e // 1461 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000012 // 1461 , `WRITE__CMD, 'h70080018, 'h0000000000000009 // 1462 - , `RDnCMP_CMD, 'h70080020, 'h000000001aabd03c // 1463 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000017 // 1463 , `WRITE__CMD, 'h70080018, 'h000000000000000a // 1464 - , `RDnCMP_CMD, 'h70080020, 'h000000002f22ec9c // 1465 + , `RDnCMP_CMD, 'h70080020, 'h000000000000001b // 1465 , `WRITE__CMD, 'h70080018, 'h000000000000000b // 1466 - , `RDnCMP_CMD, 'h70080020, 'h000000002a4fc36c // 1467 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000020 // 1467 , `WRITE__CMD, 'h70080018, 'h000000000000000c // 1468 - , `RDnCMP_CMD, 'h70080020, 'h0000000016b489f6 // 1469 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000024 // 1469 , `WRITE__CMD, 'h70080018, 'h000000000000000d // 1470 - , `RDnCMP_CMD, 'h70080020, 'h000000000ef2dadf // 1471 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000025 // 1471 , `WRITE__CMD, 'h70080018, 'h000000000000000e // 1472 - , `RDnCMP_CMD, 'h70080020, 'h0000000016cbac48 // 1473 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000028 // 1473 , `WRITE__CMD, 'h70080018, 'h000000000000000f // 1474 - , `RDnCMP_CMD, 'h70080020, 'h000000001f5af477 // 1475 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000030 // 1475 , `WRITE__CMD, 'h70080018, 'h0000000000000010 // 1476 - , `RDnCMP_CMD, 'h70080020, 'h00000000227c2e15 // 1477 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000035 // 1477 , `WRITE__CMD, 'h70080018, 'h0000000000000011 // 1478 - , `RDnCMP_CMD, 'h70080020, 'h0000000020adddf1 // 1479 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000038 // 1479 , `WRITE__CMD, 'h70080018, 'h0000000000000012 // 1480 - , `RDnCMP_CMD, 'h70080020, 'h000000001890031a // 1481 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000039 // 1481 , `WRITE__CMD, 'h70080018, 'h0000000000000013 // 1482 - , `RDnCMP_CMD, 'h70080020, 'h0000000010930a26 // 1483 + , `RDnCMP_CMD, 'h70080020, 'h000000000000003d // 1483 , `WRITE__CMD, 'h70080018, 'h0000000000000014 // 1484 - , `RDnCMP_CMD, 'h70080020, 'h000000001450aa8e // 1485 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000044 // 1485 , `WRITE__CMD, 'h70080018, 'h0000000000000015 // 1486 - , `RDnCMP_CMD, 'h70080020, 'h000000001f4bbe63 // 1487 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000046 // 1487 , `WRITE__CMD, 'h70080018, 'h0000000000000016 // 1488 - , `RDnCMP_CMD, 'h70080020, 'h00000000212f8090 // 1489 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000047 // 1489 , `WRITE__CMD, 'h70080018, 'h0000000000000017 // 1490 - , `RDnCMP_CMD, 'h70080020, 'h000000001aa092f6 // 1491 + , `RDnCMP_CMD, 'h70080020, 'h000000000000004f // 1491 , `WRITE__CMD, 'h70080018, 'h0000000000000018 // 1492 - , `RDnCMP_CMD, 'h70080020, 'h000000001d15ab48 // 1493 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 1493 , `WRITE__CMD, 'h70080018, 'h0000000000000019 // 1494 - , `RDnCMP_CMD, 'h70080020, 'h0000000029d47233 // 1495 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 1495 , `WRITE__CMD, 'h70080018, 'h000000000000001a // 1496 - , `RDnCMP_CMD, 'h70080020, 'h000000002c484318 // 1497 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000058 // 1497 , `WRITE__CMD, 'h70080018, 'h000000000000001b // 1498 - , `RDnCMP_CMD, 'h70080020, 'h0000000021751980 // 1499 + , `RDnCMP_CMD, 'h70080020, 'h000000000000005f // 1499 , `WRITE__CMD, 'h70080018, 'h000000000000001c // 1500 - , `RDnCMP_CMD, 'h70080020, 'h000000002339ca55 // 1501 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000065 // 1501 , `WRITE__CMD, 'h70080018, 'h000000000000001d // 1502 - , `RDnCMP_CMD, 'h70080020, 'h00000000381a3f72 // 1503 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 1503 , `WRITE__CMD, 'h70080018, 'h000000000000001e // 1504 - , `RDnCMP_CMD, 'h70080020, 'h000000003d9f4ec3 // 1505 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 1505 , `WRITE__CMD, 'h70080018, 'h000000000000001f // 1506 - , `RDnCMP_CMD, 'h70080020, 'h00000000217e1ec5 // 1507 + , `RDnCMP_CMD, 'h70080020, 'h000000000000006d // 1507 , `WRITE__CMD, 'h70080028, 'h0000000000000001 // 1508 , `WRITE__CMD, 'h70080028, 'h0000000000000000 // 1509 - , `WRITE__CMD, 'h70080010, 'h0f7a172f0f7a172f // 1510 + , `WRITE__CMD, 'h70080010, 'h0000000300000003 // 1510 , `WRITE__CMD, 'h70080008, 'h0000000000000000 // 1511 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1512 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1513 - , `WRITE__CMD, 'h70080010, 'h2f6904592f690459 // 1514 + , `WRITE__CMD, 'h70080010, 'h0000000700000007 // 1514 , `WRITE__CMD, 'h70080008, 'h0000000000000001 // 1515 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1516 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1517 - , `WRITE__CMD, 'h70080010, 'h3c07355a3c07355a // 1518 + , `WRITE__CMD, 'h70080010, 'h0000000b0000000b // 1518 , `WRITE__CMD, 'h70080008, 'h0000000000000002 // 1519 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1520 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1521 - , `WRITE__CMD, 'h70080010, 'h345e7147345e7147 // 1522 + , `WRITE__CMD, 'h70080010, 'h0000000f0000000f // 1522 , `WRITE__CMD, 'h70080008, 'h0000000000000003 // 1523 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1524 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1525 - , `WRITE__CMD, 'h70080010, 'h3d1857723d185772 // 1526 + , `WRITE__CMD, 'h70080010, 'h0000001300000013 // 1526 , `WRITE__CMD, 'h70080008, 'h0000000000000004 // 1527 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1528 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1529 - , `WRITE__CMD, 'h70080010, 'h21f3db8a21f3db8a // 1530 + , `WRITE__CMD, 'h70080010, 'h0000001700000017 // 1530 , `WRITE__CMD, 'h70080008, 'h0000000000000005 // 1531 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1532 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1533 - , `WRITE__CMD, 'h70080010, 'h2d91e74d2d91e74d // 1534 + , `WRITE__CMD, 'h70080010, 'h0000001b0000001b // 1534 , `WRITE__CMD, 'h70080008, 'h0000000000000006 // 1535 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1536 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1537 - , `WRITE__CMD, 'h70080010, 'h3b7acc203b7acc20 // 1538 + , `WRITE__CMD, 'h70080010, 'h0000001f0000001f // 1538 , `WRITE__CMD, 'h70080008, 'h0000000000000007 // 1539 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1540 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1541 - , `WRITE__CMD, 'h70080010, 'h0899f7b30899f7b3 // 1542 + , `WRITE__CMD, 'h70080010, 'h0000002300000023 // 1542 , `WRITE__CMD, 'h70080008, 'h0000000000000008 // 1543 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1544 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1545 - , `WRITE__CMD, 'h70080010, 'h0100c2340100c234 // 1546 + , `WRITE__CMD, 'h70080010, 'h0000002700000027 // 1546 , `WRITE__CMD, 'h70080008, 'h0000000000000009 // 1547 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1548 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1549 - , `WRITE__CMD, 'h70080010, 'h3f1f9eda3f1f9eda // 1550 + , `WRITE__CMD, 'h70080010, 'h0000002b0000002b // 1550 , `WRITE__CMD, 'h70080008, 'h000000000000000a // 1551 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1552 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1553 - , `WRITE__CMD, 'h70080010, 'h1c63744f1c63744f // 1554 + , `WRITE__CMD, 'h70080010, 'h0000002f0000002f // 1554 , `WRITE__CMD, 'h70080008, 'h000000000000000b // 1555 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1556 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1557 - , `WRITE__CMD, 'h70080010, 'h060733d6060733d6 // 1558 + , `WRITE__CMD, 'h70080010, 'h0000003300000033 // 1558 , `WRITE__CMD, 'h70080008, 'h000000000000000c // 1559 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1560 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1561 - , `WRITE__CMD, 'h70080010, 'h0923411709234117 // 1562 + , `WRITE__CMD, 'h70080010, 'h0000003700000037 // 1562 , `WRITE__CMD, 'h70080008, 'h000000000000000d // 1563 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1564 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1565 - , `WRITE__CMD, 'h70080010, 'h1f87187b1f87187b // 1566 + , `WRITE__CMD, 'h70080010, 'h0000003b0000003b // 1566 , `WRITE__CMD, 'h70080008, 'h000000000000000e // 1567 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1568 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1569 - , `WRITE__CMD, 'h70080010, 'h3377081a3377081a // 1570 + , `WRITE__CMD, 'h70080010, 'h0000003f0000003f // 1570 , `WRITE__CMD, 'h70080008, 'h000000000000000f // 1571 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1572 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1573 - , `WRITE__CMD, 'h70080010, 'h0a742f5a0a742f5a // 1574 + , `WRITE__CMD, 'h70080010, 'h0000004300000043 // 1574 , `WRITE__CMD, 'h70080008, 'h0000000000000010 // 1575 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1576 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1577 - , `WRITE__CMD, 'h70080010, 'h0aac8f300aac8f30 // 1578 + , `WRITE__CMD, 'h70080010, 'h0000004700000047 // 1578 , `WRITE__CMD, 'h70080008, 'h0000000000000011 // 1579 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1580 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1581 - , `WRITE__CMD, 'h70080010, 'h1088ac1d1088ac1d // 1582 + , `WRITE__CMD, 'h70080010, 'h0000004b0000004b // 1582 , `WRITE__CMD, 'h70080008, 'h0000000000000012 // 1583 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1584 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1585 - , `WRITE__CMD, 'h70080010, 'h3bb798a23bb798a2 // 1586 + , `WRITE__CMD, 'h70080010, 'h0000004f0000004f // 1586 , `WRITE__CMD, 'h70080008, 'h0000000000000013 // 1587 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1588 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1589 - , `WRITE__CMD, 'h70080010, 'h109cb052109cb052 // 1590 + , `WRITE__CMD, 'h70080010, 'h0000005300000053 // 1590 , `WRITE__CMD, 'h70080008, 'h0000000000000014 // 1591 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1592 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1593 - , `WRITE__CMD, 'h70080010, 'h39f7583239f75832 // 1594 + , `WRITE__CMD, 'h70080010, 'h0000005700000057 // 1594 , `WRITE__CMD, 'h70080008, 'h0000000000000015 // 1595 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1596 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1597 - , `WRITE__CMD, 'h70080010, 'h26e08abe26e08abe // 1598 + , `WRITE__CMD, 'h70080010, 'h0000005b0000005b // 1598 , `WRITE__CMD, 'h70080008, 'h0000000000000016 // 1599 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1600 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1601 - , `WRITE__CMD, 'h70080010, 'h3e3f889b3e3f889b // 1602 + , `WRITE__CMD, 'h70080010, 'h0000005f0000005f // 1602 , `WRITE__CMD, 'h70080008, 'h0000000000000017 // 1603 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1604 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1605 - , `WRITE__CMD, 'h70080010, 'h0ebad3440ebad344 // 1606 + , `WRITE__CMD, 'h70080010, 'h0000006300000063 // 1606 , `WRITE__CMD, 'h70080008, 'h0000000000000018 // 1607 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1608 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1609 - , `WRITE__CMD, 'h70080010, 'h0e6a6b730e6a6b73 // 1610 + , `WRITE__CMD, 'h70080010, 'h0000006700000067 // 1610 , `WRITE__CMD, 'h70080008, 'h0000000000000019 // 1611 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1612 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1613 - , `WRITE__CMD, 'h70080010, 'h153fff05153fff05 // 1614 + , `WRITE__CMD, 'h70080010, 'h0000006b0000006b // 1614 , `WRITE__CMD, 'h70080008, 'h000000000000001a // 1615 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1616 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1617 - , `WRITE__CMD, 'h70080010, 'h3eea1bb43eea1bb4 // 1618 + , `WRITE__CMD, 'h70080010, 'h0000006f0000006f // 1618 , `WRITE__CMD, 'h70080008, 'h000000000000001b // 1619 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1620 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1621 - , `WRITE__CMD, 'h70080010, 'h31fd925631fd9256 // 1622 + , `WRITE__CMD, 'h70080010, 'h0000007300000073 // 1622 , `WRITE__CMD, 'h70080008, 'h000000000000001c // 1623 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1624 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1625 - , `WRITE__CMD, 'h70080010, 'h04f8c99204f8c992 // 1626 + , `WRITE__CMD, 'h70080010, 'h0000007700000077 // 1626 , `WRITE__CMD, 'h70080008, 'h000000000000001d // 1627 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1628 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1629 - , `WRITE__CMD, 'h70080010, 'h1bd9ddd41bd9ddd4 // 1630 + , `WRITE__CMD, 'h70080010, 'h0000007b0000007b // 1630 , `WRITE__CMD, 'h70080008, 'h000000000000001e // 1631 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1632 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1633 - , `WRITE__CMD, 'h70080010, 'h2e71d62e2e71d62e // 1634 + , `WRITE__CMD, 'h70080010, 'h0000007f0000007f // 1634 , `WRITE__CMD, 'h70080008, 'h000000000000001f // 1635 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1636 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1637 @@ -1667,194 +1667,194 @@ longint iir_playback[] = { , `WRITE__CMD, 'h70080018, 'h0000000000000000 // 1641 , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1642 , `WRITE__CMD, 'h70080018, 'h0000000000000001 // 1643 - , `RDnCMP_CMD, 'h70080020, 'h00000000003de85c // 1644 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1644 , `WRITE__CMD, 'h70080018, 'h0000000000000002 // 1645 - , `RDnCMP_CMD, 'h70080020, 'h000000000212220f // 1646 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1646 , `WRITE__CMD, 'h70080018, 'h0000000000000003 // 1647 - , `RDnCMP_CMD, 'h70080020, 'h0000000008c42844 // 1648 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1648 , `WRITE__CMD, 'h70080018, 'h0000000000000004 // 1649 - , `RDnCMP_CMD, 'h70080020, 'h0000000017bc1386 // 1650 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000002 // 1650 , `WRITE__CMD, 'h70080018, 'h0000000000000005 // 1651 - , `RDnCMP_CMD, 'h70080020, 'h000000002d055df1 // 1652 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000008 // 1652 , `WRITE__CMD, 'h70080018, 'h0000000000000006 // 1653 - , `RDnCMP_CMD, 'h70080020, 'h000000003e01e043 // 1654 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000d // 1654 , `WRITE__CMD, 'h70080018, 'h0000000000000007 // 1655 - , `RDnCMP_CMD, 'h70080020, 'h000000003f6ca553 // 1656 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000f // 1656 , `WRITE__CMD, 'h70080018, 'h0000000000000008 // 1657 - , `RDnCMP_CMD, 'h70080020, 'h000000003310ae90 // 1658 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000012 // 1658 , `WRITE__CMD, 'h70080018, 'h0000000000000009 // 1659 - , `RDnCMP_CMD, 'h70080020, 'h0000000027a0ed0f // 1660 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000017 // 1660 , `WRITE__CMD, 'h70080018, 'h000000000000000a // 1661 - , `RDnCMP_CMD, 'h70080020, 'h000000002604e63f // 1662 + , `RDnCMP_CMD, 'h70080020, 'h000000000000001b // 1662 , `WRITE__CMD, 'h70080018, 'h000000000000000b // 1663 - , `RDnCMP_CMD, 'h70080020, 'h0000000025fefb41 // 1664 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000020 // 1664 , `WRITE__CMD, 'h70080018, 'h000000000000000c // 1665 - , `RDnCMP_CMD, 'h70080020, 'h000000001d0162b2 // 1666 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000024 // 1666 , `WRITE__CMD, 'h70080018, 'h000000000000000d // 1667 - , `RDnCMP_CMD, 'h70080020, 'h0000000011d52a93 // 1668 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000025 // 1668 , `WRITE__CMD, 'h70080018, 'h000000000000000e // 1669 - , `RDnCMP_CMD, 'h70080020, 'h000000001432953f // 1670 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000028 // 1670 , `WRITE__CMD, 'h70080018, 'h000000000000000f // 1671 - , `RDnCMP_CMD, 'h70080020, 'h000000002045cd90 // 1672 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000030 // 1672 , `WRITE__CMD, 'h70080018, 'h0000000000000010 // 1673 - , `RDnCMP_CMD, 'h70080020, 'h000000001ece2feb // 1674 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000035 // 1674 , `WRITE__CMD, 'h70080018, 'h0000000000000011 // 1675 - , `RDnCMP_CMD, 'h70080020, 'h000000000dc822d6 // 1676 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000038 // 1676 , `WRITE__CMD, 'h70080018, 'h0000000000000012 // 1677 - , `RDnCMP_CMD, 'h70080020, 'h000000000b566bf7 // 1678 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000039 // 1678 , `WRITE__CMD, 'h70080018, 'h0000000000000013 // 1679 - , `RDnCMP_CMD, 'h70080020, 'h0000000020602c56 // 1680 + , `RDnCMP_CMD, 'h70080020, 'h000000000000003d // 1680 , `WRITE__CMD, 'h70080018, 'h0000000000000014 // 1681 - , `RDnCMP_CMD, 'h70080020, 'h000000002983591f // 1682 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000044 // 1682 , `WRITE__CMD, 'h70080018, 'h0000000000000015 // 1683 - , `RDnCMP_CMD, 'h70080020, 'h00000000142caaba // 1684 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000046 // 1684 , `WRITE__CMD, 'h70080018, 'h0000000000000016 // 1685 - , `RDnCMP_CMD, 'h70080020, 'h00000000061adb9d // 1686 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000047 // 1686 , `WRITE__CMD, 'h70080018, 'h0000000000000017 // 1687 - , `RDnCMP_CMD, 'h70080020, 'h000000001db36042 // 1688 + , `RDnCMP_CMD, 'h70080020, 'h000000000000004f // 1688 , `WRITE__CMD, 'h70080018, 'h0000000000000018 // 1689 - , `RDnCMP_CMD, 'h70080020, 'h000000003b1724b0 // 1690 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 1690 , `WRITE__CMD, 'h70080018, 'h0000000000000019 // 1691 - , `RDnCMP_CMD, 'h70080020, 'h0000000036daeb7f // 1692 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 1692 , `WRITE__CMD, 'h70080018, 'h000000000000001a // 1693 - , `RDnCMP_CMD, 'h70080020, 'h0000000022b8c44c // 1694 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000058 // 1694 , `WRITE__CMD, 'h70080018, 'h000000000000001b // 1695 - , `RDnCMP_CMD, 'h70080020, 'h00000000208b09b9 // 1696 + , `RDnCMP_CMD, 'h70080020, 'h000000000000005f // 1696 , `WRITE__CMD, 'h70080018, 'h000000000000001c // 1697 - , `RDnCMP_CMD, 'h70080020, 'h0000000024d62860 // 1698 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000065 // 1698 , `WRITE__CMD, 'h70080018, 'h000000000000001d // 1699 - , `RDnCMP_CMD, 'h70080020, 'h00000000190e964b // 1700 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 1700 , `WRITE__CMD, 'h70080018, 'h000000000000001e // 1701 - , `RDnCMP_CMD, 'h70080020, 'h0000000010a73cea // 1702 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 1702 , `WRITE__CMD, 'h70080018, 'h000000000000001f // 1703 - , `RDnCMP_CMD, 'h70080020, 'h0000000023f06bb4 // 1704 + , `RDnCMP_CMD, 'h70080020, 'h000000000000006d // 1704 , `WRITE__CMD, 'h70080028, 'h0000000000000001 // 1705 , `WRITE__CMD, 'h70080028, 'h0000000000000000 // 1706 - , `WRITE__CMD, 'h70080010, 'h14c4078a14c4078a // 1707 + , `WRITE__CMD, 'h70080010, 'h0000000300000003 // 1707 , `WRITE__CMD, 'h70080008, 'h0000000000000000 // 1708 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1709 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1710 - , `WRITE__CMD, 'h70080010, 'h3038c4b13038c4b1 // 1711 + , `WRITE__CMD, 'h70080010, 'h0000000700000007 // 1711 , `WRITE__CMD, 'h70080008, 'h0000000000000001 // 1712 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1713 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1714 - , `WRITE__CMD, 'h70080010, 'h015447b4015447b4 // 1715 + , `WRITE__CMD, 'h70080010, 'h0000000b0000000b // 1715 , `WRITE__CMD, 'h70080008, 'h0000000000000002 // 1716 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1717 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1718 - , `WRITE__CMD, 'h70080010, 'h03e5d15d03e5d15d // 1719 + , `WRITE__CMD, 'h70080010, 'h0000000f0000000f // 1719 , `WRITE__CMD, 'h70080008, 'h0000000000000003 // 1720 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1721 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1722 - , `WRITE__CMD, 'h70080010, 'h1446860d1446860d // 1723 + , `WRITE__CMD, 'h70080010, 'h0000001300000013 // 1723 , `WRITE__CMD, 'h70080008, 'h0000000000000004 // 1724 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1725 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1726 - , `WRITE__CMD, 'h70080010, 'h3ef9da453ef9da45 // 1727 + , `WRITE__CMD, 'h70080010, 'h0000001700000017 // 1727 , `WRITE__CMD, 'h70080008, 'h0000000000000005 // 1728 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1729 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1730 - , `WRITE__CMD, 'h70080010, 'h0afc523c0afc523c // 1731 + , `WRITE__CMD, 'h70080010, 'h0000001b0000001b // 1731 , `WRITE__CMD, 'h70080008, 'h0000000000000006 // 1732 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1733 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1734 - , `WRITE__CMD, 'h70080010, 'h1073d8ae1073d8ae // 1735 + , `WRITE__CMD, 'h70080010, 'h0000001f0000001f // 1735 , `WRITE__CMD, 'h70080008, 'h0000000000000007 // 1736 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1737 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1738 - , `WRITE__CMD, 'h70080010, 'h24f0c03224f0c032 // 1739 + , `WRITE__CMD, 'h70080010, 'h0000002300000023 // 1739 , `WRITE__CMD, 'h70080008, 'h0000000000000008 // 1740 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1741 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1742 - , `WRITE__CMD, 'h70080010, 'h10b7d09d10b7d09d // 1743 + , `WRITE__CMD, 'h70080010, 'h0000002700000027 // 1743 , `WRITE__CMD, 'h70080008, 'h0000000000000009 // 1744 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1745 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1746 - , `WRITE__CMD, 'h70080010, 'h34f5805f34f5805f // 1747 + , `WRITE__CMD, 'h70080010, 'h0000002b0000002b // 1747 , `WRITE__CMD, 'h70080008, 'h000000000000000a // 1748 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1749 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1750 - , `WRITE__CMD, 'h70080010, 'h007ac730007ac730 // 1751 + , `WRITE__CMD, 'h70080010, 'h0000002f0000002f // 1751 , `WRITE__CMD, 'h70080008, 'h000000000000000b // 1752 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1753 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1754 - , `WRITE__CMD, 'h70080010, 'h0feb92680feb9268 // 1755 + , `WRITE__CMD, 'h70080010, 'h0000003300000033 // 1755 , `WRITE__CMD, 'h70080008, 'h000000000000000c // 1756 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1757 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1758 - , `WRITE__CMD, 'h70080010, 'h05275b3705275b37 // 1759 + , `WRITE__CMD, 'h70080010, 'h0000003700000037 // 1759 , `WRITE__CMD, 'h70080008, 'h000000000000000d // 1760 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1761 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1762 - , `WRITE__CMD, 'h70080010, 'h290188c4290188c4 // 1763 + , `WRITE__CMD, 'h70080010, 'h0000003b0000003b // 1763 , `WRITE__CMD, 'h70080008, 'h000000000000000e // 1764 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1765 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1766 - , `WRITE__CMD, 'h70080010, 'h29516ad829516ad8 // 1767 + , `WRITE__CMD, 'h70080010, 'h0000003f0000003f // 1767 , `WRITE__CMD, 'h70080008, 'h000000000000000f // 1768 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1769 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1770 - , `WRITE__CMD, 'h70080010, 'h3ff472423ff47242 // 1771 + , `WRITE__CMD, 'h70080010, 'h0000004300000043 // 1771 , `WRITE__CMD, 'h70080008, 'h0000000000000010 // 1772 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1773 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1774 - , `WRITE__CMD, 'h70080010, 'h1e743f511e743f51 // 1775 + , `WRITE__CMD, 'h70080010, 'h0000004700000047 // 1775 , `WRITE__CMD, 'h70080008, 'h0000000000000011 // 1776 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1777 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1778 - , `WRITE__CMD, 'h70080010, 'h026c0968026c0968 // 1779 + , `WRITE__CMD, 'h70080010, 'h0000004b0000004b // 1779 , `WRITE__CMD, 'h70080008, 'h0000000000000012 // 1780 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1781 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1782 - , `WRITE__CMD, 'h70080010, 'h123bb4bd123bb4bd // 1783 + , `WRITE__CMD, 'h70080010, 'h0000004f0000004f // 1783 , `WRITE__CMD, 'h70080008, 'h0000000000000013 // 1784 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1785 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1786 - , `WRITE__CMD, 'h70080010, 'h290c5892290c5892 // 1787 + , `WRITE__CMD, 'h70080010, 'h0000005300000053 // 1787 , `WRITE__CMD, 'h70080008, 'h0000000000000014 // 1788 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1789 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1790 - , `WRITE__CMD, 'h70080010, 'h1fe577f11fe577f1 // 1791 + , `WRITE__CMD, 'h70080010, 'h0000005700000057 // 1791 , `WRITE__CMD, 'h70080008, 'h0000000000000015 // 1792 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1793 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1794 - , `WRITE__CMD, 'h70080010, 'h3634c24f3634c24f // 1795 + , `WRITE__CMD, 'h70080010, 'h0000005b0000005b // 1795 , `WRITE__CMD, 'h70080008, 'h0000000000000016 // 1796 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1797 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1798 - , `WRITE__CMD, 'h70080010, 'h2719252f2719252f // 1799 + , `WRITE__CMD, 'h70080010, 'h0000005f0000005f // 1799 , `WRITE__CMD, 'h70080008, 'h0000000000000017 // 1800 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1801 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1802 - , `WRITE__CMD, 'h70080010, 'h2f45d7d52f45d7d5 // 1803 + , `WRITE__CMD, 'h70080010, 'h0000006300000063 // 1803 , `WRITE__CMD, 'h70080008, 'h0000000000000018 // 1804 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1805 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1806 - , `WRITE__CMD, 'h70080010, 'h136d02aa136d02aa // 1807 + , `WRITE__CMD, 'h70080010, 'h0000006700000067 // 1807 , `WRITE__CMD, 'h70080008, 'h0000000000000019 // 1808 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1809 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1810 - , `WRITE__CMD, 'h70080010, 'h08bee22008bee220 // 1811 + , `WRITE__CMD, 'h70080010, 'h0000006b0000006b // 1811 , `WRITE__CMD, 'h70080008, 'h000000000000001a // 1812 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1813 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1814 - , `WRITE__CMD, 'h70080010, 'h31925b1631925b16 // 1815 + , `WRITE__CMD, 'h70080010, 'h0000006f0000006f // 1815 , `WRITE__CMD, 'h70080008, 'h000000000000001b // 1816 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1817 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1818 - , `WRITE__CMD, 'h70080010, 'h0c84de6c0c84de6c // 1819 + , `WRITE__CMD, 'h70080010, 'h0000007300000073 // 1819 , `WRITE__CMD, 'h70080008, 'h000000000000001c // 1820 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1821 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1822 - , `WRITE__CMD, 'h70080010, 'h326c98f0326c98f0 // 1823 + , `WRITE__CMD, 'h70080010, 'h0000007700000077 // 1823 , `WRITE__CMD, 'h70080008, 'h000000000000001d // 1824 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1825 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1826 - , `WRITE__CMD, 'h70080010, 'h0bd3fe4b0bd3fe4b // 1827 + , `WRITE__CMD, 'h70080010, 'h0000007b0000007b // 1827 , `WRITE__CMD, 'h70080008, 'h000000000000001e // 1828 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1829 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1830 - , `WRITE__CMD, 'h70080010, 'h2b01450d2b01450d // 1831 + , `WRITE__CMD, 'h70080010, 'h0000007f0000007f // 1831 , `WRITE__CMD, 'h70080008, 'h000000000000001f // 1832 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1833 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1834 @@ -1864,194 +1864,194 @@ longint iir_playback[] = { , `WRITE__CMD, 'h70080018, 'h0000000000000000 // 1838 , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1839 , `WRITE__CMD, 'h70080018, 'h0000000000000001 // 1840 - , `RDnCMP_CMD, 'h70080020, 'h000000000053101e // 1841 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1841 , `WRITE__CMD, 'h70080018, 'h0000000000000002 // 1842 - , `RDnCMP_CMD, 'h70080020, 'h000000000289bbb7 // 1843 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1843 , `WRITE__CMD, 'h70080018, 'h0000000000000003 // 1844 - , `RDnCMP_CMD, 'h70080020, 'h0000000009339e38 // 1845 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 1845 , `WRITE__CMD, 'h70080018, 'h0000000000000004 // 1846 - , `RDnCMP_CMD, 'h70080020, 'h000000001444ae81 // 1847 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000002 // 1847 , `WRITE__CMD, 'h70080018, 'h0000000000000005 // 1848 - , `RDnCMP_CMD, 'h70080020, 'h000000001c4d5b59 // 1849 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000008 // 1849 , `WRITE__CMD, 'h70080018, 'h0000000000000006 // 1850 - , `RDnCMP_CMD, 'h70080020, 'h00000000183cad14 // 1851 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000d // 1851 , `WRITE__CMD, 'h70080018, 'h0000000000000007 // 1852 - , `RDnCMP_CMD, 'h70080020, 'h000000000cc6ea95 // 1853 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000f // 1853 , `WRITE__CMD, 'h70080018, 'h0000000000000008 // 1854 - , `RDnCMP_CMD, 'h70080020, 'h000000000d7511c8 // 1855 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000012 // 1855 , `WRITE__CMD, 'h70080018, 'h0000000000000009 // 1856 - , `RDnCMP_CMD, 'h70080020, 'h000000001fe45a72 // 1857 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000017 // 1857 , `WRITE__CMD, 'h70080018, 'h000000000000000a // 1858 - , `RDnCMP_CMD, 'h70080020, 'h000000002b46e198 // 1859 + , `RDnCMP_CMD, 'h70080020, 'h000000000000001b // 1859 , `WRITE__CMD, 'h70080018, 'h000000000000000b // 1860 - , `RDnCMP_CMD, 'h70080020, 'h000000001d0a191a // 1861 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000020 // 1861 , `WRITE__CMD, 'h70080018, 'h000000000000000c // 1862 - , `RDnCMP_CMD, 'h70080020, 'h000000000bcb52c9 // 1863 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000024 // 1863 , `WRITE__CMD, 'h70080018, 'h000000000000000d // 1864 - , `RDnCMP_CMD, 'h70080020, 'h0000000014722a7b // 1865 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000025 // 1865 , `WRITE__CMD, 'h70080018, 'h000000000000000e // 1866 - , `RDnCMP_CMD, 'h70080020, 'h000000002595e961 // 1867 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000028 // 1867 , `WRITE__CMD, 'h70080018, 'h000000000000000f // 1868 - , `RDnCMP_CMD, 'h70080020, 'h000000001ce50acd // 1869 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000030 // 1869 , `WRITE__CMD, 'h70080018, 'h0000000000000010 // 1870 - , `RDnCMP_CMD, 'h70080020, 'h0000000004e2fac0 // 1871 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000035 // 1871 , `WRITE__CMD, 'h70080018, 'h0000000000000011 // 1872 - , `RDnCMP_CMD, 'h70080020, 'h0000000005952c97 // 1873 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000038 // 1873 , `WRITE__CMD, 'h70080018, 'h0000000000000012 // 1874 - , `RDnCMP_CMD, 'h70080020, 'h00000000237b716a // 1875 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000039 // 1875 , `WRITE__CMD, 'h70080018, 'h0000000000000013 // 1876 - , `RDnCMP_CMD, 'h70080020, 'h000000003a3355d9 // 1877 + , `RDnCMP_CMD, 'h70080020, 'h000000000000003d // 1877 , `WRITE__CMD, 'h70080018, 'h0000000000000014 // 1878 - , `RDnCMP_CMD, 'h70080020, 'h00000000333768bd // 1879 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000044 // 1879 , `WRITE__CMD, 'h70080018, 'h0000000000000015 // 1880 - , `RDnCMP_CMD, 'h70080020, 'h000000001c7db4f4 // 1881 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000046 // 1881 , `WRITE__CMD, 'h70080018, 'h0000000000000016 // 1882 - , `RDnCMP_CMD, 'h70080020, 'h000000000cca100c // 1883 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000047 // 1883 , `WRITE__CMD, 'h70080018, 'h0000000000000017 // 1884 - , `RDnCMP_CMD, 'h70080020, 'h000000000d932b81 // 1885 + , `RDnCMP_CMD, 'h70080020, 'h000000000000004f // 1885 , `WRITE__CMD, 'h70080018, 'h0000000000000018 // 1886 - , `RDnCMP_CMD, 'h70080020, 'h000000001d25fe46 // 1887 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 1887 , `WRITE__CMD, 'h70080018, 'h0000000000000019 // 1888 - , `RDnCMP_CMD, 'h70080020, 'h000000002fe7b244 // 1889 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 1889 , `WRITE__CMD, 'h70080018, 'h000000000000001a // 1890 - , `RDnCMP_CMD, 'h70080020, 'h000000003541c753 // 1891 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000058 // 1891 , `WRITE__CMD, 'h70080018, 'h000000000000001b // 1892 - , `RDnCMP_CMD, 'h70080020, 'h000000002a773734 // 1893 + , `RDnCMP_CMD, 'h70080020, 'h000000000000005f // 1893 , `WRITE__CMD, 'h70080018, 'h000000000000001c // 1894 - , `RDnCMP_CMD, 'h70080020, 'h000000001dd97ee9 // 1895 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000065 // 1895 , `WRITE__CMD, 'h70080018, 'h000000000000001d // 1896 - , `RDnCMP_CMD, 'h70080020, 'h000000001880b30a // 1897 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 1897 , `WRITE__CMD, 'h70080018, 'h000000000000001e // 1898 - , `RDnCMP_CMD, 'h70080020, 'h0000000016efa832 // 1899 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 1899 , `WRITE__CMD, 'h70080018, 'h000000000000001f // 1900 - , `RDnCMP_CMD, 'h70080020, 'h0000000017e2d6c7 // 1901 + , `RDnCMP_CMD, 'h70080020, 'h000000000000006d // 1901 , `WRITE__CMD, 'h70080028, 'h0000000000000001 // 1902 , `WRITE__CMD, 'h70080028, 'h0000000000000000 // 1903 - , `WRITE__CMD, 'h70080010, 'h153f2059153f2059 // 1904 + , `WRITE__CMD, 'h70080010, 'h0000000300000003 // 1904 , `WRITE__CMD, 'h70080008, 'h0000000000000000 // 1905 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1906 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1907 - , `WRITE__CMD, 'h70080010, 'h1b33a5071b33a507 // 1908 + , `WRITE__CMD, 'h70080010, 'h0000000700000007 // 1908 , `WRITE__CMD, 'h70080008, 'h0000000000000001 // 1909 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1910 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1911 - , `WRITE__CMD, 'h70080010, 'h0036ff0f0036ff0f // 1912 + , `WRITE__CMD, 'h70080010, 'h0000000b0000000b // 1912 , `WRITE__CMD, 'h70080008, 'h0000000000000002 // 1913 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1914 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1915 - , `WRITE__CMD, 'h70080010, 'h2330b1462330b146 // 1916 + , `WRITE__CMD, 'h70080010, 'h0000000f0000000f // 1916 , `WRITE__CMD, 'h70080008, 'h0000000000000003 // 1917 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1918 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1919 - , `WRITE__CMD, 'h70080010, 'h0b88e34d0b88e34d // 1920 + , `WRITE__CMD, 'h70080010, 'h0000001300000013 // 1920 , `WRITE__CMD, 'h70080008, 'h0000000000000004 // 1921 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1922 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1923 - , `WRITE__CMD, 'h70080010, 'h1986e4251986e425 // 1924 + , `WRITE__CMD, 'h70080010, 'h0000001700000017 // 1924 , `WRITE__CMD, 'h70080008, 'h0000000000000005 // 1925 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1926 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1927 - , `WRITE__CMD, 'h70080010, 'h33051f3133051f31 // 1928 + , `WRITE__CMD, 'h70080010, 'h0000001b0000001b // 1928 , `WRITE__CMD, 'h70080008, 'h0000000000000006 // 1929 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1930 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1931 - , `WRITE__CMD, 'h70080010, 'h23e27c8323e27c83 // 1932 + , `WRITE__CMD, 'h70080010, 'h0000001f0000001f // 1932 , `WRITE__CMD, 'h70080008, 'h0000000000000007 // 1933 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1934 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1935 - , `WRITE__CMD, 'h70080010, 'h000e6e86000e6e86 // 1936 + , `WRITE__CMD, 'h70080010, 'h0000002300000023 // 1936 , `WRITE__CMD, 'h70080008, 'h0000000000000008 // 1937 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1938 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1939 - , `WRITE__CMD, 'h70080010, 'h0251ab330251ab33 // 1940 + , `WRITE__CMD, 'h70080010, 'h0000002700000027 // 1940 , `WRITE__CMD, 'h70080008, 'h0000000000000009 // 1941 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1942 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1943 - , `WRITE__CMD, 'h70080010, 'h266d0b3b266d0b3b // 1944 + , `WRITE__CMD, 'h70080010, 'h0000002b0000002b // 1944 , `WRITE__CMD, 'h70080008, 'h000000000000000a // 1945 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1946 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1947 - , `WRITE__CMD, 'h70080010, 'h2c3a74642c3a7464 // 1948 + , `WRITE__CMD, 'h70080010, 'h0000002f0000002f // 1948 , `WRITE__CMD, 'h70080008, 'h000000000000000b // 1949 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1950 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1951 - , `WRITE__CMD, 'h70080010, 'h032f649f032f649f // 1952 + , `WRITE__CMD, 'h70080010, 'h0000003300000033 // 1952 , `WRITE__CMD, 'h70080008, 'h000000000000000c // 1953 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1954 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1955 - , `WRITE__CMD, 'h70080010, 'h366a192d366a192d // 1956 + , `WRITE__CMD, 'h70080010, 'h0000003700000037 // 1956 , `WRITE__CMD, 'h70080008, 'h000000000000000d // 1957 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1958 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1959 - , `WRITE__CMD, 'h70080010, 'h30ca95bf30ca95bf // 1960 + , `WRITE__CMD, 'h70080010, 'h0000003b0000003b // 1960 , `WRITE__CMD, 'h70080008, 'h000000000000000e // 1961 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1962 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1963 - , `WRITE__CMD, 'h70080010, 'h28280a8528280a85 // 1964 + , `WRITE__CMD, 'h70080010, 'h0000003f0000003f // 1964 , `WRITE__CMD, 'h70080008, 'h000000000000000f // 1965 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1966 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1967 - , `WRITE__CMD, 'h70080010, 'h371aae2e371aae2e // 1968 + , `WRITE__CMD, 'h70080010, 'h0000004300000043 // 1968 , `WRITE__CMD, 'h70080008, 'h0000000000000010 // 1969 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1970 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1971 - , `WRITE__CMD, 'h70080010, 'h00d1b7aa00d1b7aa // 1972 + , `WRITE__CMD, 'h70080010, 'h0000004700000047 // 1972 , `WRITE__CMD, 'h70080008, 'h0000000000000011 // 1973 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1974 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1975 - , `WRITE__CMD, 'h70080010, 'h1903d1be1903d1be // 1976 + , `WRITE__CMD, 'h70080010, 'h0000004b0000004b // 1976 , `WRITE__CMD, 'h70080008, 'h0000000000000012 // 1977 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1978 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1979 - , `WRITE__CMD, 'h70080010, 'h2824445728244457 // 1980 + , `WRITE__CMD, 'h70080010, 'h0000004f0000004f // 1980 , `WRITE__CMD, 'h70080008, 'h0000000000000013 // 1981 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1982 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1983 - , `WRITE__CMD, 'h70080010, 'h2f6969972f696997 // 1984 + , `WRITE__CMD, 'h70080010, 'h0000005300000053 // 1984 , `WRITE__CMD, 'h70080008, 'h0000000000000014 // 1985 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1986 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1987 - , `WRITE__CMD, 'h70080010, 'h066150d5066150d5 // 1988 + , `WRITE__CMD, 'h70080010, 'h0000005700000057 // 1988 , `WRITE__CMD, 'h70080008, 'h0000000000000015 // 1989 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1990 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1991 - , `WRITE__CMD, 'h70080010, 'h28a9d5cd28a9d5cd // 1992 + , `WRITE__CMD, 'h70080010, 'h0000005b0000005b // 1992 , `WRITE__CMD, 'h70080008, 'h0000000000000016 // 1993 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1994 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1995 - , `WRITE__CMD, 'h70080010, 'h10cf7c9e10cf7c9e // 1996 + , `WRITE__CMD, 'h70080010, 'h0000005f0000005f // 1996 , `WRITE__CMD, 'h70080008, 'h0000000000000017 // 1997 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 1998 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 1999 - , `WRITE__CMD, 'h70080010, 'h2456120124561201 // 2000 + , `WRITE__CMD, 'h70080010, 'h0000006300000063 // 2000 , `WRITE__CMD, 'h70080008, 'h0000000000000018 // 2001 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2002 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2003 - , `WRITE__CMD, 'h70080010, 'h2235c1212235c121 // 2004 + , `WRITE__CMD, 'h70080010, 'h0000006700000067 // 2004 , `WRITE__CMD, 'h70080008, 'h0000000000000019 // 2005 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2006 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2007 - , `WRITE__CMD, 'h70080010, 'h36c11ea736c11ea7 // 2008 + , `WRITE__CMD, 'h70080010, 'h0000006b0000006b // 2008 , `WRITE__CMD, 'h70080008, 'h000000000000001a // 2009 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2010 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2011 - , `WRITE__CMD, 'h70080010, 'h0945f08d0945f08d // 2012 + , `WRITE__CMD, 'h70080010, 'h0000006f0000006f // 2012 , `WRITE__CMD, 'h70080008, 'h000000000000001b // 2013 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2014 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2015 - , `WRITE__CMD, 'h70080010, 'h2b98e2cf2b98e2cf // 2016 + , `WRITE__CMD, 'h70080010, 'h0000007300000073 // 2016 , `WRITE__CMD, 'h70080008, 'h000000000000001c // 2017 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2018 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2019 - , `WRITE__CMD, 'h70080010, 'h01d3ee0601d3ee06 // 2020 + , `WRITE__CMD, 'h70080010, 'h0000007700000077 // 2020 , `WRITE__CMD, 'h70080008, 'h000000000000001d // 2021 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2022 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2023 - , `WRITE__CMD, 'h70080010, 'h090807b7090807b7 // 2024 + , `WRITE__CMD, 'h70080010, 'h0000007b0000007b // 2024 , `WRITE__CMD, 'h70080008, 'h000000000000001e // 2025 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2026 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2027 - , `WRITE__CMD, 'h70080010, 'h11fdd44211fdd442 // 2028 + , `WRITE__CMD, 'h70080010, 'h0000007f0000007f // 2028 , `WRITE__CMD, 'h70080008, 'h000000000000001f // 2029 , `WRITE__CMD, 'h70080000, 'h0000000000000002 // 2030 , `WRITE__CMD, 'h70080000, 'h0000000000000000 // 2031 @@ -2061,67 +2061,67 @@ longint iir_playback[] = { , `WRITE__CMD, 'h70080018, 'h0000000000000000 // 2035 , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 2036 , `WRITE__CMD, 'h70080018, 'h0000000000000001 // 2037 - , `RDnCMP_CMD, 'h70080020, 'h000000000054fc81 // 2038 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 2038 , `WRITE__CMD, 'h70080018, 'h0000000000000002 // 2039 - , `RDnCMP_CMD, 'h70080020, 'h0000000002403b5b // 2040 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 2040 , `WRITE__CMD, 'h70080018, 'h0000000000000003 // 2041 - , `RDnCMP_CMD, 'h70080020, 'h00000000077e93ea // 2042 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000000 // 2042 , `WRITE__CMD, 'h70080018, 'h0000000000000004 // 2043 - , `RDnCMP_CMD, 'h70080020, 'h000000000fc1e60f // 2044 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000002 // 2044 , `WRITE__CMD, 'h70080018, 'h0000000000000005 // 2045 - , `RDnCMP_CMD, 'h70080020, 'h000000001644245e // 2046 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000008 // 2046 , `WRITE__CMD, 'h70080018, 'h0000000000000006 // 2047 - , `RDnCMP_CMD, 'h70080020, 'h0000000016286fbb // 2048 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000d // 2048 , `WRITE__CMD, 'h70080018, 'h0000000000000007 // 2049 - , `RDnCMP_CMD, 'h70080020, 'h000000001255418e // 2050 + , `RDnCMP_CMD, 'h70080020, 'h000000000000000f // 2050 , `WRITE__CMD, 'h70080018, 'h0000000000000008 // 2051 - , `RDnCMP_CMD, 'h70080020, 'h000000001458c886 // 2052 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000012 // 2052 , `WRITE__CMD, 'h70080018, 'h0000000000000009 // 2053 - , `RDnCMP_CMD, 'h70080020, 'h000000001ea5832b // 2054 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000017 // 2054 , `WRITE__CMD, 'h70080018, 'h000000000000000a // 2055 - , `RDnCMP_CMD, 'h70080020, 'h000000002639f6c8 // 2056 + , `RDnCMP_CMD, 'h70080020, 'h000000000000001b // 2056 , `WRITE__CMD, 'h70080018, 'h000000000000000b // 2057 - , `RDnCMP_CMD, 'h70080020, 'h000000001fff04fa // 2058 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000020 // 2058 , `WRITE__CMD, 'h70080018, 'h000000000000000c // 2059 - , `RDnCMP_CMD, 'h70080020, 'h000000000f91468e // 2060 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000024 // 2060 , `WRITE__CMD, 'h70080018, 'h000000000000000d // 2061 - , `RDnCMP_CMD, 'h70080020, 'h00000000066477c5 // 2062 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000025 // 2062 , `WRITE__CMD, 'h70080018, 'h000000000000000e // 2063 - , `RDnCMP_CMD, 'h70080020, 'h00000000119dd903 // 2064 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000028 // 2064 , `WRITE__CMD, 'h70080018, 'h000000000000000f // 2065 - , `RDnCMP_CMD, 'h70080020, 'h0000000026bd92f3 // 2066 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000030 // 2066 , `WRITE__CMD, 'h70080018, 'h0000000000000010 // 2067 - , `RDnCMP_CMD, 'h70080020, 'h000000002ded89af // 2068 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000035 // 2068 , `WRITE__CMD, 'h70080018, 'h0000000000000011 // 2069 - , `RDnCMP_CMD, 'h70080020, 'h00000000253d122c // 2070 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000038 // 2070 , `WRITE__CMD, 'h70080018, 'h0000000000000012 // 2071 - , `RDnCMP_CMD, 'h70080020, 'h0000000023d5e37c // 2072 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000039 // 2072 , `WRITE__CMD, 'h70080018, 'h0000000000000013 // 2073 - , `RDnCMP_CMD, 'h70080020, 'h000000002f16d1d2 // 2074 + , `RDnCMP_CMD, 'h70080020, 'h000000000000003d // 2074 , `WRITE__CMD, 'h70080018, 'h0000000000000014 // 2075 - , `RDnCMP_CMD, 'h70080020, 'h000000002d6fb364 // 2076 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000044 // 2076 , `WRITE__CMD, 'h70080018, 'h0000000000000015 // 2077 - , `RDnCMP_CMD, 'h70080020, 'h000000001738e277 // 2078 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000046 // 2078 , `WRITE__CMD, 'h70080018, 'h0000000000000016 // 2079 - , `RDnCMP_CMD, 'h70080020, 'h000000000ad8251f // 2080 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000047 // 2080 , `WRITE__CMD, 'h70080018, 'h0000000000000017 // 2081 - , `RDnCMP_CMD, 'h70080020, 'h000000001b306a35 // 2082 + , `RDnCMP_CMD, 'h70080020, 'h000000000000004f // 2082 , `WRITE__CMD, 'h70080018, 'h0000000000000018 // 2083 - , `RDnCMP_CMD, 'h70080020, 'h000000002deadaa9 // 2084 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 2084 , `WRITE__CMD, 'h70080018, 'h0000000000000019 // 2085 - , `RDnCMP_CMD, 'h70080020, 'h0000000025d5c144 // 2086 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000055 // 2086 , `WRITE__CMD, 'h70080018, 'h000000000000001a // 2087 - , `RDnCMP_CMD, 'h70080020, 'h00000000116b01cf // 2088 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000058 // 2088 , `WRITE__CMD, 'h70080018, 'h000000000000001b // 2089 - , `RDnCMP_CMD, 'h70080020, 'h000000001157856b // 2090 + , `RDnCMP_CMD, 'h70080020, 'h000000000000005f // 2090 , `WRITE__CMD, 'h70080018, 'h000000000000001c // 2091 - , `RDnCMP_CMD, 'h70080020, 'h000000002468fa42 // 2092 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000065 // 2092 , `WRITE__CMD, 'h70080018, 'h000000000000001d // 2093 - , `RDnCMP_CMD, 'h70080020, 'h000000002e34c95b // 2094 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 2094 , `WRITE__CMD, 'h70080018, 'h000000000000001e // 2095 - , `RDnCMP_CMD, 'h70080020, 'h0000000025376c11 // 2096 + , `RDnCMP_CMD, 'h70080020, 'h0000000000000066 // 2096 , `WRITE__CMD, 'h70080018, 'h000000000000001f // 2097 - , `RDnCMP_CMD, 'h70080020, 'h0000000019400341 // 2098 + , `RDnCMP_CMD, 'h70080020, 'h000000000000006d // 2098 }; `define iir_adrBase 'h0070080000 diff --git a/unit_simulation/TL_level_sim/sv_vectors/md5_playback.h b/unit_simulation/TL_level_sim/sv_vectors/md5_playback.h index 53b5e9d..1c64b88 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/md5_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/md5_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: md5. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef md5_playback_H `define md5_playback_H diff --git a/unit_simulation/TL_level_sim/sv_vectors/rsa_playback.h b/unit_simulation/TL_level_sim/sv_vectors/rsa_playback.h index 311c173..22d7e0a 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/rsa_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/rsa_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: rsa. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef rsa_playback_H `define rsa_playback_H @@ -35,28 +35,28 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030028, 'h0000000000000000 // 9 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 10 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 11 - , `WRITE__CMD, 'h70030028, 'h00000000bd6b3e31 // 12 + , `WRITE__CMD, 'h70030028, 'h00000000b0652a8b // 12 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 13 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 14 - , `WRITE__CMD, 'h70030028, 'h0000000087c3b197 // 15 + , `WRITE__CMD, 'h70030028, 'h000000003dbf193e // 15 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 16 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 17 - , `WRITE__CMD, 'h70030028, 'h00000000313f4a53 // 18 + , `WRITE__CMD, 'h70030028, 'h00000000750b306e // 18 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 19 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 20 - , `WRITE__CMD, 'h70030028, 'h00000000e659f2c1 // 21 + , `WRITE__CMD, 'h70030028, 'h00000000e67bf259 // 21 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 22 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 23 - , `WRITE__CMD, 'h70030028, 'h00000000dbcb077e // 24 + , `WRITE__CMD, 'h70030028, 'h00000000df3bdb85 // 24 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 25 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 26 - , `WRITE__CMD, 'h70030028, 'h0000000068e77a6f // 27 + , `WRITE__CMD, 'h70030028, 'h000000006c042d34 // 27 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 28 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 29 - , `WRITE__CMD, 'h70030028, 'h000000002428a8ce // 30 + , `WRITE__CMD, 'h70030028, 'h00000000d752b575 // 30 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 31 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 32 - , `WRITE__CMD, 'h70030028, 'h00000000a1051ab7 // 33 + , `WRITE__CMD, 'h70030028, 'h00000000026b4da5 // 33 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 34 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 35 , `WRITE__CMD, 'h70030050, 'h0000000000000009 // 36 @@ -127,1543 +127,1543 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030050, 'h0000000000000000 // 101 , `WRITE__CMD, 'h70030030, 'h0000000000000004 // 102 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 103 - , `WRITE__CMD, 'h70030028, 'h0000000021d5e1c5 // 104 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 104 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 105 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 106 - , `WRITE__CMD, 'h70030028, 'h00000000515cdc02 // 107 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 107 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 108 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 109 - , `WRITE__CMD, 'h70030028, 'h00000000f579150e // 110 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 110 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 111 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 112 - , `WRITE__CMD, 'h70030028, 'h000000001a89c1c4 // 113 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 113 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 114 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 115 - , `WRITE__CMD, 'h70030028, 'h00000000bfbefc29 // 116 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 116 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 117 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 118 - , `WRITE__CMD, 'h70030028, 'h000000000a777531 // 119 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 119 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 120 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 121 - , `WRITE__CMD, 'h70030028, 'h00000000f1873b05 // 122 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 122 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 123 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 124 - , `WRITE__CMD, 'h70030028, 'h00000000d45b48c5 // 125 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 125 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 126 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 127 - , `WRITE__CMD, 'h70030028, 'h000000006c0d0df8 // 128 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 128 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 129 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 130 - , `WRITE__CMD, 'h70030028, 'h000000001e2c58c6 // 131 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 131 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 132 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 133 - , `WRITE__CMD, 'h70030028, 'h0000000052c0d82c // 134 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 134 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 135 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 136 - , `WRITE__CMD, 'h70030028, 'h000000005e5082db // 137 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 137 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 138 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 139 - , `WRITE__CMD, 'h70030028, 'h00000000401f02f2 // 140 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 140 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 141 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 142 - , `WRITE__CMD, 'h70030028, 'h00000000a3c854df // 143 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 143 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 144 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 145 - , `WRITE__CMD, 'h70030028, 'h000000006cffe524 // 146 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 146 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 147 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 148 - , `WRITE__CMD, 'h70030028, 'h000000002e9c3f25 // 149 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 149 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 150 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 151 - , `WRITE__CMD, 'h70030028, 'h0000000010a56c26 // 152 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 152 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 153 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 154 - , `WRITE__CMD, 'h70030028, 'h000000000a951ae1 // 155 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 155 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 156 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 157 - , `WRITE__CMD, 'h70030028, 'h0000000092d37ee4 // 158 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 158 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 159 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 160 - , `WRITE__CMD, 'h70030028, 'h0000000089a669e7 // 161 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 161 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 162 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 163 - , `WRITE__CMD, 'h70030028, 'h00000000cee682fb // 164 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 164 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 165 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 166 - , `WRITE__CMD, 'h70030028, 'h00000000f596d0c0 // 167 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 167 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 168 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 169 - , `WRITE__CMD, 'h70030028, 'h00000000464a9204 // 170 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 170 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 171 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 172 - , `WRITE__CMD, 'h70030028, 'h000000005554751d // 173 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 173 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 174 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 175 - , `WRITE__CMD, 'h70030028, 'h00000000601babbf // 176 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 176 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 177 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 178 - , `WRITE__CMD, 'h70030028, 'h000000005bd4e0d9 // 179 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 179 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 180 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 181 - , `WRITE__CMD, 'h70030028, 'h000000002ca3bbf1 // 182 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 182 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 183 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 184 - , `WRITE__CMD, 'h70030028, 'h000000000fc9d6f4 // 185 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 185 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 186 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 187 - , `WRITE__CMD, 'h70030028, 'h000000006fabd320 // 188 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 188 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 189 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 190 - , `WRITE__CMD, 'h70030028, 'h00000000dcdf54e9 // 191 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 191 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 192 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 193 - , `WRITE__CMD, 'h70030028, 'h00000000ffe200cc // 194 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 194 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 195 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 196 - , `WRITE__CMD, 'h70030028, 'h00000000572c643c // 197 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 197 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 198 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 199 - , `WRITE__CMD, 'h70030028, 'h000000000f6ab7ed // 200 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 200 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 201 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 202 - , `WRITE__CMD, 'h70030028, 'h00000000f18f891c // 203 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 203 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 204 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 205 - , `WRITE__CMD, 'h70030028, 'h0000000028f6be17 // 206 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 206 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 207 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 208 - , `WRITE__CMD, 'h70030028, 'h00000000d26ba321 // 209 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 209 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 210 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 211 - , `WRITE__CMD, 'h70030028, 'h000000005b0caaee // 212 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 212 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 213 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 214 - , `WRITE__CMD, 'h70030028, 'h00000000cb0942d3 // 215 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 215 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 216 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 217 - , `WRITE__CMD, 'h70030028, 'h00000000fbb24622 // 218 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 218 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 219 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 220 - , `WRITE__CMD, 'h70030028, 'h0000000032e92032 // 221 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 221 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 222 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 223 - , `WRITE__CMD, 'h70030028, 'h0000000046add5cc // 224 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 224 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 225 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 226 - , `WRITE__CMD, 'h70030028, 'h000000003a4fcdf7 // 227 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 227 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 228 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 229 - , `WRITE__CMD, 'h70030028, 'h00000000d23510d3 // 230 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 230 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 231 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 232 - , `WRITE__CMD, 'h70030028, 'h000000009b6ec6ee // 233 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 233 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 234 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 235 - , `WRITE__CMD, 'h70030028, 'h00000000b4eb433b // 236 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 236 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 237 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 238 - , `WRITE__CMD, 'h70030028, 'h0000000059993b1d // 239 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 239 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 240 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 241 - , `WRITE__CMD, 'h70030028, 'h0000000047981aba // 242 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 242 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 243 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 244 - , `WRITE__CMD, 'h70030028, 'h000000003135e11d // 245 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 245 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 246 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 247 - , `WRITE__CMD, 'h70030028, 'h00000000e2460f35 // 248 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 248 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 249 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 250 - , `WRITE__CMD, 'h70030028, 'h00000000e746c9fc // 251 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 251 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 252 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 253 - , `WRITE__CMD, 'h70030028, 'h00000000cca2b225 // 254 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 254 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 255 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 256 - , `WRITE__CMD, 'h70030028, 'h00000000fc5f89df // 257 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 257 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 258 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 259 - , `WRITE__CMD, 'h70030028, 'h0000000071e66be1 // 260 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 260 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 261 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 262 - , `WRITE__CMD, 'h70030028, 'h0000000093f0b2c9 // 263 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 263 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 264 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 265 - , `WRITE__CMD, 'h70030028, 'h000000009e6ed234 // 266 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 266 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 267 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 268 - , `WRITE__CMD, 'h70030028, 'h000000009188fa2b // 269 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 269 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 270 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 271 - , `WRITE__CMD, 'h70030028, 'h00000000476e6f2e // 272 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 272 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 273 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 274 - , `WRITE__CMD, 'h70030028, 'h00000000906a6de6 // 275 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 275 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 276 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 277 - , `WRITE__CMD, 'h70030028, 'h0000000043899232 // 278 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 278 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 279 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 280 - , `WRITE__CMD, 'h70030028, 'h000000006c93dafd // 281 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 281 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 282 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 283 - , `WRITE__CMD, 'h70030028, 'h00000000aa0e8ef2 // 284 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 284 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 285 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 286 - , `WRITE__CMD, 'h70030028, 'h00000000a75d51f1 // 287 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 287 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 288 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 289 - , `WRITE__CMD, 'h70030028, 'h0000000027476c2e // 290 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 290 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 291 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 292 - , `WRITE__CMD, 'h70030028, 'h00000000ab0fef13 // 293 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 293 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 294 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 295 - , `WRITE__CMD, 'h70030028, 'h0000000062da3dd3 // 296 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 296 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 297 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 298 - , `WRITE__CMD, 'h70030028, 'h000000004e1b1f0d // 299 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 299 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 300 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 301 - , `WRITE__CMD, 'h70030028, 'h000000006604a0cd // 302 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 302 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 303 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 304 - , `WRITE__CMD, 'h70030028, 'h00000000447bcf00 // 305 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 305 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 306 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 307 - , `WRITE__CMD, 'h70030028, 'h00000000ad349ef3 // 308 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 308 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 309 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 310 - , `WRITE__CMD, 'h70030028, 'h00000000e5ce40e5 // 311 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 311 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 312 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 313 - , `WRITE__CMD, 'h70030028, 'h0000000004ff55c8 // 314 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 314 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 315 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 316 - , `WRITE__CMD, 'h70030028, 'h00000000bb798230 // 317 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 317 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 318 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 319 - , `WRITE__CMD, 'h70030028, 'h000000006a037a0b // 320 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 320 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 321 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 322 - , `WRITE__CMD, 'h70030028, 'h000000009d39dc24 // 323 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 323 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 324 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 325 - , `WRITE__CMD, 'h70030028, 'h000000007f1986f2 // 326 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 326 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 327 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 328 - , `WRITE__CMD, 'h70030028, 'h0000000096d6d314 // 329 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 329 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 330 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 331 - , `WRITE__CMD, 'h70030028, 'h00000000f88c1dd5 // 332 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 332 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 333 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 334 - , `WRITE__CMD, 'h70030028, 'h00000000db073ae0 // 335 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 335 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 336 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 337 - , `WRITE__CMD, 'h70030028, 'h00000000067161ff // 338 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 338 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 339 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 340 - , `WRITE__CMD, 'h70030028, 'h00000000f0f1a0d7 // 341 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 341 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 342 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 343 - , `WRITE__CMD, 'h70030028, 'h000000001792c5c5 // 344 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 344 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 345 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 346 - , `WRITE__CMD, 'h70030028, 'h000000009191d731 // 347 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 347 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 348 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 349 - , `WRITE__CMD, 'h70030028, 'h00000000eb7d83c7 // 350 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 350 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 351 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 352 - , `WRITE__CMD, 'h70030028, 'h000000008eff1d24 // 353 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 353 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 354 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 355 - , `WRITE__CMD, 'h70030028, 'h0000000006a6a0d5 // 356 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 356 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 357 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 358 - , `WRITE__CMD, 'h70030028, 'h000000006e4fdbef // 359 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 359 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 360 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 361 - , `WRITE__CMD, 'h70030028, 'h000000002977082b // 362 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 362 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 363 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 364 - , `WRITE__CMD, 'h70030028, 'h00000000cb536fe2 // 365 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 365 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 366 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 367 - , `WRITE__CMD, 'h70030028, 'h00000000571febde // 368 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 368 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 369 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 370 - , `WRITE__CMD, 'h70030028, 'h000000005d9d8cd1 // 371 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 371 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 372 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 373 - , `WRITE__CMD, 'h70030028, 'h0000000005574ef2 // 374 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 374 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 375 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 376 - , `WRITE__CMD, 'h70030028, 'h000000001e9cdc02 // 377 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 377 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 378 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 379 - , `WRITE__CMD, 'h70030028, 'h0000000079a913bd // 380 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 380 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 381 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 382 - , `WRITE__CMD, 'h70030028, 'h00000000808ca22f // 383 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 383 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 384 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 385 - , `WRITE__CMD, 'h70030028, 'h000000002b2a2d1c // 386 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 386 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 387 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 388 - , `WRITE__CMD, 'h70030028, 'h0000000006b46409 // 389 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 389 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 390 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 391 - , `WRITE__CMD, 'h70030028, 'h00000000b06da7d4 // 392 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 392 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 393 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 394 - , `WRITE__CMD, 'h70030028, 'h00000000f5ad45df // 395 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 395 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 396 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 397 - , `WRITE__CMD, 'h70030028, 'h000000002450de04 // 398 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 398 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 399 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 400 - , `WRITE__CMD, 'h70030028, 'h00000000c7a33b1c // 401 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 401 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 402 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 403 - , `WRITE__CMD, 'h70030028, 'h000000003f32c932 // 404 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 404 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 405 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 406 - , `WRITE__CMD, 'h70030028, 'h0000000081087cc0 // 407 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 407 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 408 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 409 - , `WRITE__CMD, 'h70030028, 'h00000000fd86b93c // 410 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 410 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 411 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 412 - , `WRITE__CMD, 'h70030028, 'h0000000047f5f6cb // 413 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 413 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 414 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 415 - , `WRITE__CMD, 'h70030028, 'h00000000814245ec // 416 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 416 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 417 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 418 - , `WRITE__CMD, 'h70030028, 'h000000007e2db9f8 // 419 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 419 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 420 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 421 - , `WRITE__CMD, 'h70030028, 'h00000000294f0b0e // 422 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 422 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 423 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 424 - , `WRITE__CMD, 'h70030028, 'h0000000017d1a5c7 // 425 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 425 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 426 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 427 - , `WRITE__CMD, 'h70030028, 'h0000000055c55eec // 428 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 428 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 429 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 430 - , `WRITE__CMD, 'h70030028, 'h0000000010f20cc3 // 431 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 431 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 432 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 433 - , `WRITE__CMD, 'h70030028, 'h00000000a6053117 // 434 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 434 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 435 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 436 - , `WRITE__CMD, 'h70030028, 'h00000000639aba15 // 437 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 437 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 438 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 439 - , `WRITE__CMD, 'h70030028, 'h00000000cf79cfcd // 440 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 440 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 441 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 442 - , `WRITE__CMD, 'h70030028, 'h00000000312d8bf5 // 443 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 443 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 444 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 445 - , `WRITE__CMD, 'h70030028, 'h00000000779320ff // 446 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 446 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 447 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 448 - , `WRITE__CMD, 'h70030028, 'h00000000af2ab010 // 449 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 449 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 450 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 451 - , `WRITE__CMD, 'h70030028, 'h00000000d6dcf2d2 // 452 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 452 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 453 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 454 - , `WRITE__CMD, 'h70030028, 'h00000000aca908d1 // 455 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 455 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 456 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 457 - , `WRITE__CMD, 'h70030028, 'h00000000643aa3c1 // 458 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 458 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 459 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 460 - , `WRITE__CMD, 'h70030028, 'h000000007d1a412a // 461 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 461 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 462 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 463 - , `WRITE__CMD, 'h70030028, 'h00000000913e040b // 464 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 464 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 465 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 466 - , `WRITE__CMD, 'h70030028, 'h00000000b9e783e6 // 467 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 467 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 468 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 469 - , `WRITE__CMD, 'h70030028, 'h000000004c8f0cc3 // 470 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 470 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 471 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 472 - , `WRITE__CMD, 'h70030028, 'h000000002aea71ce // 473 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 473 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 474 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 475 - , `WRITE__CMD, 'h70030028, 'h00000000f5c4ca1a // 476 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 476 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 477 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 478 - , `WRITE__CMD, 'h70030028, 'h00000000d2801a01 // 479 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 479 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 480 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 481 - , `WRITE__CMD, 'h70030028, 'h000000006d979a35 // 482 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 482 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 483 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 484 - , `WRITE__CMD, 'h70030028, 'h000000005959c119 // 485 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 485 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 486 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 487 - , `WRITE__CMD, 'h70030028, 'h0000000027d3d001 // 488 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 488 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 489 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 490 - , `WRITE__CMD, 'h70030028, 'h00000000f501e9ff // 491 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 491 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 492 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 493 - , `WRITE__CMD, 'h70030028, 'h00000000386cca31 // 494 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 494 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 495 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 496 - , `WRITE__CMD, 'h70030028, 'h000000002045be18 // 497 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 497 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 498 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 499 - , `WRITE__CMD, 'h70030028, 'h00000000d2a93e2e // 500 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 500 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 501 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 502 - , `WRITE__CMD, 'h70030028, 'h00000000edc0e9fa // 503 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 503 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 504 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 505 - , `WRITE__CMD, 'h70030028, 'h00000000643173f3 // 506 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 506 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 507 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 508 - , `WRITE__CMD, 'h70030028, 'h00000000de5cd036 // 509 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 509 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 510 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 511 - , `WRITE__CMD, 'h70030028, 'h0000000041a1c9c3 // 512 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 512 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 513 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 514 - , `WRITE__CMD, 'h70030028, 'h000000001bdf3e11 // 515 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 515 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 516 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 517 - , `WRITE__CMD, 'h70030028, 'h00000000fcf528ef // 518 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 518 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 519 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 520 - , `WRITE__CMD, 'h70030028, 'h0000000075c7b8cd // 521 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 521 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 522 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 523 - , `WRITE__CMD, 'h70030028, 'h00000000c974e33d // 524 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 524 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 525 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 526 - , `WRITE__CMD, 'h70030028, 'h00000000f29b04bd // 527 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 527 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 528 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 529 - , `WRITE__CMD, 'h70030028, 'h0000000001da4a19 // 530 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 530 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 531 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 532 - , `WRITE__CMD, 'h70030028, 'h0000000051101bba // 533 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 533 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 534 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 535 - , `WRITE__CMD, 'h70030028, 'h00000000c89a4bf6 // 536 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 536 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 537 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 538 - , `WRITE__CMD, 'h70030028, 'h00000000ebaf183b // 539 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 539 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 540 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 541 - , `WRITE__CMD, 'h70030028, 'h00000000d3972dc5 // 542 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 542 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 543 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 544 - , `WRITE__CMD, 'h70030028, 'h00000000b6d428c1 // 545 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 545 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 546 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 547 - , `WRITE__CMD, 'h70030028, 'h0000000097853603 // 548 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 548 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 549 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 550 - , `WRITE__CMD, 'h70030028, 'h0000000094f0c1f6 // 551 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 551 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 552 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 553 - , `WRITE__CMD, 'h70030028, 'h000000008e6d34e4 // 554 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 554 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 555 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 556 - , `WRITE__CMD, 'h70030028, 'h00000000dfb9ef1a // 557 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 557 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 558 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 559 - , `WRITE__CMD, 'h70030028, 'h00000000be279b39 // 560 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 560 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 561 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 562 - , `WRITE__CMD, 'h70030028, 'h000000007e780dc0 // 563 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 563 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 564 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 565 - , `WRITE__CMD, 'h70030028, 'h00000000aee034cd // 566 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 566 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 567 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 568 - , `WRITE__CMD, 'h70030028, 'h00000000de66bb16 // 569 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 569 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 570 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 571 - , `WRITE__CMD, 'h70030028, 'h00000000fe076cf3 // 572 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 572 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 573 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 574 - , `WRITE__CMD, 'h70030028, 'h00000000da5469f0 // 575 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 575 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 576 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 577 - , `WRITE__CMD, 'h70030028, 'h000000004fcf58c6 // 578 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 578 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 579 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 580 - , `WRITE__CMD, 'h70030028, 'h00000000b2e40b25 // 581 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 581 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 582 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 583 - , `WRITE__CMD, 'h70030028, 'h000000008016ca0e // 584 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 584 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 585 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 586 - , `WRITE__CMD, 'h70030028, 'h00000000c90f9bcc // 587 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 587 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 588 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 589 - , `WRITE__CMD, 'h70030028, 'h00000000118a67cb // 590 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 590 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 591 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 592 - , `WRITE__CMD, 'h70030028, 'h0000000084b66cc9 // 593 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 593 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 594 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 595 - , `WRITE__CMD, 'h70030028, 'h00000000d6fbf4fa // 596 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 596 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 597 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 598 - , `WRITE__CMD, 'h70030028, 'h000000009b35fc38 // 599 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 599 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 600 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 601 - , `WRITE__CMD, 'h70030028, 'h000000000682722d // 602 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 602 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 603 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 604 - , `WRITE__CMD, 'h70030028, 'h00000000ccb4a51b // 605 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 605 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 606 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 607 - , `WRITE__CMD, 'h70030028, 'h000000002e5f88c3 // 608 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 608 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 609 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 610 - , `WRITE__CMD, 'h70030028, 'h000000001e024500 // 611 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 611 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 612 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 613 - , `WRITE__CMD, 'h70030028, 'h00000000a79f4cf5 // 614 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 614 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 615 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 616 - , `WRITE__CMD, 'h70030028, 'h00000000052b3eec // 617 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 617 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 618 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 619 - , `WRITE__CMD, 'h70030028, 'h0000000030ff83bf // 620 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 620 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 621 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 622 - , `WRITE__CMD, 'h70030028, 'h0000000051d5540b // 623 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 623 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 624 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 625 - , `WRITE__CMD, 'h70030028, 'h00000000701d3dc2 // 626 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 626 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 627 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 628 - , `WRITE__CMD, 'h70030028, 'h0000000014bff302 // 629 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 629 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 630 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 631 - , `WRITE__CMD, 'h70030028, 'h0000000005d9acc7 // 632 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 632 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 633 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 634 - , `WRITE__CMD, 'h70030028, 'h0000000051fb1e1a // 635 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 635 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 636 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 637 - , `WRITE__CMD, 'h70030028, 'h00000000396d10f9 // 638 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 638 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 639 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 640 - , `WRITE__CMD, 'h70030028, 'h000000001f3d95d1 // 641 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 641 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 642 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 643 - , `WRITE__CMD, 'h70030028, 'h00000000700c72cc // 644 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 644 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 645 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 646 - , `WRITE__CMD, 'h70030028, 'h000000001d4f0916 // 647 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 647 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 648 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 649 - , `WRITE__CMD, 'h70030028, 'h0000000029067fc6 // 650 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 650 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 651 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 652 - , `WRITE__CMD, 'h70030028, 'h00000000b1a0acca // 653 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 653 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 654 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 655 - , `WRITE__CMD, 'h70030028, 'h00000000d0d8a11d // 656 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 656 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 657 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 658 - , `WRITE__CMD, 'h70030028, 'h000000005670d309 // 659 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 659 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 660 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 661 - , `WRITE__CMD, 'h70030028, 'h00000000035fcde4 // 662 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 662 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 663 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 664 - , `WRITE__CMD, 'h70030028, 'h000000001c87b0c1 // 665 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 665 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 666 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 667 - , `WRITE__CMD, 'h70030028, 'h00000000591506f6 // 668 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 668 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 669 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 670 - , `WRITE__CMD, 'h70030028, 'h0000000084a24506 // 671 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 671 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 672 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 673 - , `WRITE__CMD, 'h70030028, 'h00000000792971c5 // 674 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 674 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 675 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 676 - , `WRITE__CMD, 'h70030028, 'h00000000d318dd05 // 677 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 677 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 678 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 679 - , `WRITE__CMD, 'h70030028, 'h000000000043eec5 // 680 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 680 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 681 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 682 - , `WRITE__CMD, 'h70030028, 'h00000000f47f7d2a // 683 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 683 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 684 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 685 - , `WRITE__CMD, 'h70030028, 'h0000000063504407 // 686 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 686 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 687 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 688 - , `WRITE__CMD, 'h70030028, 'h00000000810e64db // 689 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 689 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 690 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 691 - , `WRITE__CMD, 'h70030028, 'h00000000a008bd28 // 692 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 692 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 693 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 694 - , `WRITE__CMD, 'h70030028, 'h00000000e2f51f35 // 695 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 695 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 696 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 697 - , `WRITE__CMD, 'h70030028, 'h0000000000089fc6 // 698 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 698 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 699 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 700 - , `WRITE__CMD, 'h70030028, 'h00000000f98be7dd // 701 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 701 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 702 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 703 - , `WRITE__CMD, 'h70030028, 'h000000005c425420 // 704 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 704 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 705 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 706 - , `WRITE__CMD, 'h70030028, 'h000000008339ff10 // 707 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 707 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 708 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 709 - , `WRITE__CMD, 'h70030028, 'h00000000b6d5ff0d // 710 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 710 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 711 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 712 - , `WRITE__CMD, 'h70030028, 'h00000000c9850cd4 // 713 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 713 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 714 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 715 - , `WRITE__CMD, 'h70030028, 'h00000000087f70c6 // 716 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 716 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 717 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 718 - , `WRITE__CMD, 'h70030028, 'h000000002ce95217 // 719 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 719 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 720 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 721 - , `WRITE__CMD, 'h70030028, 'h000000006f1abf0b // 722 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 722 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 723 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 724 - , `WRITE__CMD, 'h70030028, 'h00000000cec15b08 // 725 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 725 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 726 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 727 - , `WRITE__CMD, 'h70030028, 'h00000000e1fec62e // 728 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 728 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 729 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 730 - , `WRITE__CMD, 'h70030028, 'h00000000174988e5 // 731 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 731 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 732 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 733 - , `WRITE__CMD, 'h70030028, 'h000000005bf9ffed // 734 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 734 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 735 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 736 - , `WRITE__CMD, 'h70030028, 'h00000000d06b4d0e // 737 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 737 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 738 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 739 - , `WRITE__CMD, 'h70030028, 'h00000000c1769ef9 // 740 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 740 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 741 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 742 - , `WRITE__CMD, 'h70030028, 'h00000000e870ecef // 743 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 743 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 744 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 745 - , `WRITE__CMD, 'h70030028, 'h0000000069c22fc9 // 746 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 746 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 747 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 748 - , `WRITE__CMD, 'h70030028, 'h0000000067cca415 // 749 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 749 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 750 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 751 - , `WRITE__CMD, 'h70030028, 'h00000000eb595cbe // 752 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 752 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 753 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 754 - , `WRITE__CMD, 'h70030028, 'h0000000013d6d0c8 // 755 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 755 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 756 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 757 - , `WRITE__CMD, 'h70030028, 'h00000000d19f0f2b // 758 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 758 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 759 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 760 - , `WRITE__CMD, 'h70030028, 'h00000000ad694a28 // 761 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 761 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 762 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 763 - , `WRITE__CMD, 'h70030028, 'h000000007db75ec8 // 764 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 764 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 765 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 766 - , `WRITE__CMD, 'h70030028, 'h000000005f61da1c // 767 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 767 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 768 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 769 - , `WRITE__CMD, 'h70030028, 'h0000000011bbb01e // 770 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 770 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 771 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 772 - , `WRITE__CMD, 'h70030028, 'h0000000034904b0f // 773 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 773 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 774 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 775 - , `WRITE__CMD, 'h70030028, 'h00000000133c4e2a // 776 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 776 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 777 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 778 - , `WRITE__CMD, 'h70030028, 'h000000006e290437 // 779 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 779 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 780 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 781 - , `WRITE__CMD, 'h70030028, 'h00000000fda5f2ea // 782 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 782 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 783 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 784 - , `WRITE__CMD, 'h70030028, 'h00000000cfcda210 // 785 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 785 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 786 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 787 - , `WRITE__CMD, 'h70030028, 'h00000000a27b47fb // 788 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 788 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 789 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 790 - , `WRITE__CMD, 'h70030028, 'h000000000969ebfc // 791 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 791 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 792 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 793 - , `WRITE__CMD, 'h70030028, 'h00000000fdabd4c9 // 794 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 794 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 795 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 796 - , `WRITE__CMD, 'h70030028, 'h0000000006f74b0d // 797 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 797 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 798 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 799 - , `WRITE__CMD, 'h70030028, 'h0000000070e009d8 // 800 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 800 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 801 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 802 - , `WRITE__CMD, 'h70030028, 'h0000000031cc880f // 803 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 803 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 804 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 805 - , `WRITE__CMD, 'h70030028, 'h00000000c18a90c4 // 806 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 806 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 807 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 808 - , `WRITE__CMD, 'h70030028, 'h00000000c04ed513 // 809 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 809 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 810 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 811 - , `WRITE__CMD, 'h70030028, 'h00000000f7822edb // 812 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 812 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 813 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 814 - , `WRITE__CMD, 'h70030028, 'h000000003bbe5a38 // 815 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 815 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 816 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 817 - , `WRITE__CMD, 'h70030028, 'h00000000795296bf // 818 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 818 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 819 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 820 - , `WRITE__CMD, 'h70030028, 'h0000000033f7ba0a // 821 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 821 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 822 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 823 - , `WRITE__CMD, 'h70030028, 'h00000000cb012ced // 824 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 824 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 825 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 826 - , `WRITE__CMD, 'h70030028, 'h00000000286118ee // 827 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 827 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 828 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 829 - , `WRITE__CMD, 'h70030028, 'h0000000077f32908 // 830 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 830 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 831 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 832 - , `WRITE__CMD, 'h70030028, 'h00000000ffd76cff // 833 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 833 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 834 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 835 - , `WRITE__CMD, 'h70030028, 'h0000000018539ebd // 836 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 836 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 837 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 838 - , `WRITE__CMD, 'h70030028, 'h000000001e11a8d1 // 839 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 839 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 840 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 841 - , `WRITE__CMD, 'h70030028, 'h00000000fcbba52a // 842 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 842 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 843 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 844 - , `WRITE__CMD, 'h70030028, 'h0000000016b9d329 // 845 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 845 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 846 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 847 - , `WRITE__CMD, 'h70030028, 'h00000000673163fa // 848 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 848 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 849 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 850 - , `WRITE__CMD, 'h70030028, 'h00000000c49ce2d6 // 851 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 851 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 852 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 853 - , `WRITE__CMD, 'h70030028, 'h000000006aade714 // 854 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 854 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 855 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 856 - , `WRITE__CMD, 'h70030028, 'h00000000813df6f1 // 857 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 857 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 858 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 859 - , `WRITE__CMD, 'h70030028, 'h00000000e06ae91e // 860 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 860 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 861 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 862 - , `WRITE__CMD, 'h70030028, 'h0000000029c911d0 // 863 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 863 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 864 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 865 - , `WRITE__CMD, 'h70030028, 'h00000000cb9bdbea // 866 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 866 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 867 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 868 - , `WRITE__CMD, 'h70030028, 'h00000000bf634718 // 869 + , `WRITE__CMD, 'h70030028, 'h00000000ffffff7f // 869 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 870 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 871 , `WRITE__CMD, 'h70030050, 'h0000000000000100 // 872 , `WRITE__CMD, 'h70030030, 'h0000000000000004 // 873 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 874 - , `RDnCMP_CMD, 'h70030028, 'h21d5e1c5bf634718 // 875 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 875 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 876 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 877 - , `RDnCMP_CMD, 'h70030028, 'h515cdc02bf634718 // 878 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 878 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 879 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 880 - , `RDnCMP_CMD, 'h70030028, 'hf579150ebf634718 // 881 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 881 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 882 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 883 - , `RDnCMP_CMD, 'h70030028, 'h1a89c1c4bf634718 // 884 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 884 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 885 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 886 - , `RDnCMP_CMD, 'h70030028, 'hbfbefc29bf634718 // 887 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 887 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 888 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 889 - , `RDnCMP_CMD, 'h70030028, 'h0a777531bf634718 // 890 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 890 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 891 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 892 - , `RDnCMP_CMD, 'h70030028, 'hf1873b05bf634718 // 893 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 893 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 894 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 895 - , `RDnCMP_CMD, 'h70030028, 'hd45b48c5bf634718 // 896 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 896 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 897 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 898 - , `RDnCMP_CMD, 'h70030028, 'h6c0d0df8bf634718 // 899 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 899 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 900 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 901 - , `RDnCMP_CMD, 'h70030028, 'h1e2c58c6bf634718 // 902 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 902 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 903 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 904 - , `RDnCMP_CMD, 'h70030028, 'h52c0d82cbf634718 // 905 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 905 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 906 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 907 - , `RDnCMP_CMD, 'h70030028, 'h5e5082dbbf634718 // 908 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 908 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 909 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 910 - , `RDnCMP_CMD, 'h70030028, 'h401f02f2bf634718 // 911 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 911 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 912 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 913 - , `RDnCMP_CMD, 'h70030028, 'ha3c854dfbf634718 // 914 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 914 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 915 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 916 - , `RDnCMP_CMD, 'h70030028, 'h6cffe524bf634718 // 917 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 917 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 918 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 919 - , `RDnCMP_CMD, 'h70030028, 'h2e9c3f25bf634718 // 920 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 920 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 921 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 922 - , `RDnCMP_CMD, 'h70030028, 'h10a56c26bf634718 // 923 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 923 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 924 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 925 - , `RDnCMP_CMD, 'h70030028, 'h0a951ae1bf634718 // 926 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 926 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 927 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 928 - , `RDnCMP_CMD, 'h70030028, 'h92d37ee4bf634718 // 929 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 929 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 930 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 931 - , `RDnCMP_CMD, 'h70030028, 'h89a669e7bf634718 // 932 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 932 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 933 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 934 - , `RDnCMP_CMD, 'h70030028, 'hcee682fbbf634718 // 935 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 935 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 936 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 937 - , `RDnCMP_CMD, 'h70030028, 'hf596d0c0bf634718 // 938 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 938 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 939 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 940 - , `RDnCMP_CMD, 'h70030028, 'h464a9204bf634718 // 941 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 941 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 942 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 943 - , `RDnCMP_CMD, 'h70030028, 'h5554751dbf634718 // 944 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 944 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 945 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 946 - , `RDnCMP_CMD, 'h70030028, 'h601babbfbf634718 // 947 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 947 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 948 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 949 - , `RDnCMP_CMD, 'h70030028, 'h5bd4e0d9bf634718 // 950 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 950 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 951 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 952 - , `RDnCMP_CMD, 'h70030028, 'h2ca3bbf1bf634718 // 953 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 953 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 954 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 955 - , `RDnCMP_CMD, 'h70030028, 'h0fc9d6f4bf634718 // 956 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 956 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 957 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 958 - , `RDnCMP_CMD, 'h70030028, 'h6fabd320bf634718 // 959 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 959 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 960 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 961 - , `RDnCMP_CMD, 'h70030028, 'hdcdf54e9bf634718 // 962 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 962 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 963 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 964 - , `RDnCMP_CMD, 'h70030028, 'hffe200ccbf634718 // 965 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 965 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 966 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 967 - , `RDnCMP_CMD, 'h70030028, 'h572c643cbf634718 // 968 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 968 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 969 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 970 - , `RDnCMP_CMD, 'h70030028, 'h0f6ab7edbf634718 // 971 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 971 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 972 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 973 - , `RDnCMP_CMD, 'h70030028, 'hf18f891cbf634718 // 974 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 974 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 975 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 976 - , `RDnCMP_CMD, 'h70030028, 'h28f6be17bf634718 // 977 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 977 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 978 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 979 - , `RDnCMP_CMD, 'h70030028, 'hd26ba321bf634718 // 980 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 980 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 981 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 982 - , `RDnCMP_CMD, 'h70030028, 'h5b0caaeebf634718 // 983 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 983 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 984 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 985 - , `RDnCMP_CMD, 'h70030028, 'hcb0942d3bf634718 // 986 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 986 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 987 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 988 - , `RDnCMP_CMD, 'h70030028, 'hfbb24622bf634718 // 989 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 989 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 990 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 991 - , `RDnCMP_CMD, 'h70030028, 'h32e92032bf634718 // 992 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 992 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 993 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 994 - , `RDnCMP_CMD, 'h70030028, 'h46add5ccbf634718 // 995 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 995 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 996 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 997 - , `RDnCMP_CMD, 'h70030028, 'h3a4fcdf7bf634718 // 998 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 998 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 999 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1000 - , `RDnCMP_CMD, 'h70030028, 'hd23510d3bf634718 // 1001 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1001 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1002 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1003 - , `RDnCMP_CMD, 'h70030028, 'h9b6ec6eebf634718 // 1004 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1004 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1005 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1006 - , `RDnCMP_CMD, 'h70030028, 'hb4eb433bbf634718 // 1007 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1007 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1008 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1009 - , `RDnCMP_CMD, 'h70030028, 'h59993b1dbf634718 // 1010 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1010 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1011 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1012 - , `RDnCMP_CMD, 'h70030028, 'h47981ababf634718 // 1013 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1013 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1014 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1015 - , `RDnCMP_CMD, 'h70030028, 'h3135e11dbf634718 // 1016 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1016 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1017 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1018 - , `RDnCMP_CMD, 'h70030028, 'he2460f35bf634718 // 1019 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1019 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1020 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1021 - , `RDnCMP_CMD, 'h70030028, 'he746c9fcbf634718 // 1022 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1022 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1023 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1024 - , `RDnCMP_CMD, 'h70030028, 'hcca2b225bf634718 // 1025 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1025 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1026 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1027 - , `RDnCMP_CMD, 'h70030028, 'hfc5f89dfbf634718 // 1028 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1028 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1029 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1030 - , `RDnCMP_CMD, 'h70030028, 'h71e66be1bf634718 // 1031 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1031 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1032 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1033 - , `RDnCMP_CMD, 'h70030028, 'h93f0b2c9bf634718 // 1034 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1034 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1035 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1036 - , `RDnCMP_CMD, 'h70030028, 'h9e6ed234bf634718 // 1037 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1037 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1038 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1039 - , `RDnCMP_CMD, 'h70030028, 'h9188fa2bbf634718 // 1040 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1040 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1041 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1042 - , `RDnCMP_CMD, 'h70030028, 'h476e6f2ebf634718 // 1043 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1043 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1044 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1045 - , `RDnCMP_CMD, 'h70030028, 'h906a6de6bf634718 // 1046 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1046 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1047 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1048 - , `RDnCMP_CMD, 'h70030028, 'h43899232bf634718 // 1049 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1049 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1050 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1051 - , `RDnCMP_CMD, 'h70030028, 'h6c93dafdbf634718 // 1052 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1052 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1053 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1054 - , `RDnCMP_CMD, 'h70030028, 'haa0e8ef2bf634718 // 1055 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1055 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1056 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1057 - , `RDnCMP_CMD, 'h70030028, 'ha75d51f1bf634718 // 1058 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1058 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1059 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1060 - , `RDnCMP_CMD, 'h70030028, 'h27476c2ebf634718 // 1061 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1061 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1062 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1063 - , `RDnCMP_CMD, 'h70030028, 'hab0fef13bf634718 // 1064 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1064 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1065 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1066 - , `RDnCMP_CMD, 'h70030028, 'h62da3dd3bf634718 // 1067 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1067 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1068 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1069 - , `RDnCMP_CMD, 'h70030028, 'h4e1b1f0dbf634718 // 1070 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1070 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1071 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1072 - , `RDnCMP_CMD, 'h70030028, 'h6604a0cdbf634718 // 1073 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1073 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1074 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1075 - , `RDnCMP_CMD, 'h70030028, 'h447bcf00bf634718 // 1076 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1076 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1077 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1078 - , `RDnCMP_CMD, 'h70030028, 'had349ef3bf634718 // 1079 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1079 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1080 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1081 - , `RDnCMP_CMD, 'h70030028, 'he5ce40e5bf634718 // 1082 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1082 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1083 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1084 - , `RDnCMP_CMD, 'h70030028, 'h04ff55c8bf634718 // 1085 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1085 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1086 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1087 - , `RDnCMP_CMD, 'h70030028, 'hbb798230bf634718 // 1088 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1088 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1089 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1090 - , `RDnCMP_CMD, 'h70030028, 'h6a037a0bbf634718 // 1091 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1091 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1092 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1093 - , `RDnCMP_CMD, 'h70030028, 'h9d39dc24bf634718 // 1094 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1094 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1095 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1096 - , `RDnCMP_CMD, 'h70030028, 'h7f1986f2bf634718 // 1097 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1097 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1098 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1099 - , `RDnCMP_CMD, 'h70030028, 'h96d6d314bf634718 // 1100 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1100 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1101 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1102 - , `RDnCMP_CMD, 'h70030028, 'hf88c1dd5bf634718 // 1103 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1103 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1104 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1105 - , `RDnCMP_CMD, 'h70030028, 'hdb073ae0bf634718 // 1106 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1106 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1107 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1108 - , `RDnCMP_CMD, 'h70030028, 'h067161ffbf634718 // 1109 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1109 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1110 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1111 - , `RDnCMP_CMD, 'h70030028, 'hf0f1a0d7bf634718 // 1112 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1112 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1113 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1114 - , `RDnCMP_CMD, 'h70030028, 'h1792c5c5bf634718 // 1115 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1115 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1116 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1117 - , `RDnCMP_CMD, 'h70030028, 'h9191d731bf634718 // 1118 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1118 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1119 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1120 - , `RDnCMP_CMD, 'h70030028, 'heb7d83c7bf634718 // 1121 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1121 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1122 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1123 - , `RDnCMP_CMD, 'h70030028, 'h8eff1d24bf634718 // 1124 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1124 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1125 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1126 - , `RDnCMP_CMD, 'h70030028, 'h06a6a0d5bf634718 // 1127 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1127 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1128 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1129 - , `RDnCMP_CMD, 'h70030028, 'h6e4fdbefbf634718 // 1130 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1130 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1131 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1132 - , `RDnCMP_CMD, 'h70030028, 'h2977082bbf634718 // 1133 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1133 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1134 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1135 - , `RDnCMP_CMD, 'h70030028, 'hcb536fe2bf634718 // 1136 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1136 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1137 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1138 - , `RDnCMP_CMD, 'h70030028, 'h571febdebf634718 // 1139 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1139 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1140 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1141 - , `RDnCMP_CMD, 'h70030028, 'h5d9d8cd1bf634718 // 1142 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1142 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1143 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1144 - , `RDnCMP_CMD, 'h70030028, 'h05574ef2bf634718 // 1145 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1145 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1146 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1147 - , `RDnCMP_CMD, 'h70030028, 'h1e9cdc02bf634718 // 1148 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1148 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1149 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1150 - , `RDnCMP_CMD, 'h70030028, 'h79a913bdbf634718 // 1151 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1151 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1152 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1153 - , `RDnCMP_CMD, 'h70030028, 'h808ca22fbf634718 // 1154 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1154 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1155 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1156 - , `RDnCMP_CMD, 'h70030028, 'h2b2a2d1cbf634718 // 1157 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1157 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1158 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1159 - , `RDnCMP_CMD, 'h70030028, 'h06b46409bf634718 // 1160 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1160 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1161 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1162 - , `RDnCMP_CMD, 'h70030028, 'hb06da7d4bf634718 // 1163 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1163 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1164 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1165 - , `RDnCMP_CMD, 'h70030028, 'hf5ad45dfbf634718 // 1166 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1166 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1167 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1168 - , `RDnCMP_CMD, 'h70030028, 'h2450de04bf634718 // 1169 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1169 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1170 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1171 - , `RDnCMP_CMD, 'h70030028, 'hc7a33b1cbf634718 // 1172 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1172 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1173 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1174 - , `RDnCMP_CMD, 'h70030028, 'h3f32c932bf634718 // 1175 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1175 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1176 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1177 - , `RDnCMP_CMD, 'h70030028, 'h81087cc0bf634718 // 1178 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1178 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1179 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1180 - , `RDnCMP_CMD, 'h70030028, 'hfd86b93cbf634718 // 1181 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1181 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1182 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1183 - , `RDnCMP_CMD, 'h70030028, 'h47f5f6cbbf634718 // 1184 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1184 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1185 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1186 - , `RDnCMP_CMD, 'h70030028, 'h814245ecbf634718 // 1187 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1187 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1188 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1189 - , `RDnCMP_CMD, 'h70030028, 'h7e2db9f8bf634718 // 1190 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1190 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1191 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1192 - , `RDnCMP_CMD, 'h70030028, 'h294f0b0ebf634718 // 1193 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1193 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1194 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1195 - , `RDnCMP_CMD, 'h70030028, 'h17d1a5c7bf634718 // 1196 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1196 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1197 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1198 - , `RDnCMP_CMD, 'h70030028, 'h55c55eecbf634718 // 1199 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1199 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1200 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1201 - , `RDnCMP_CMD, 'h70030028, 'h10f20cc3bf634718 // 1202 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1202 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1203 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1204 - , `RDnCMP_CMD, 'h70030028, 'ha6053117bf634718 // 1205 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1205 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1206 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1207 - , `RDnCMP_CMD, 'h70030028, 'h639aba15bf634718 // 1208 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1208 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1209 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1210 - , `RDnCMP_CMD, 'h70030028, 'hcf79cfcdbf634718 // 1211 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1211 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1212 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1213 - , `RDnCMP_CMD, 'h70030028, 'h312d8bf5bf634718 // 1214 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1214 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1215 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1216 - , `RDnCMP_CMD, 'h70030028, 'h779320ffbf634718 // 1217 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1217 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1218 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1219 - , `RDnCMP_CMD, 'h70030028, 'haf2ab010bf634718 // 1220 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1220 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1221 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1222 - , `RDnCMP_CMD, 'h70030028, 'hd6dcf2d2bf634718 // 1223 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1223 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1224 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1225 - , `RDnCMP_CMD, 'h70030028, 'haca908d1bf634718 // 1226 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1226 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1227 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1228 - , `RDnCMP_CMD, 'h70030028, 'h643aa3c1bf634718 // 1229 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1229 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1230 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1231 - , `RDnCMP_CMD, 'h70030028, 'h7d1a412abf634718 // 1232 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1232 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1233 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1234 - , `RDnCMP_CMD, 'h70030028, 'h913e040bbf634718 // 1235 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1235 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1236 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1237 - , `RDnCMP_CMD, 'h70030028, 'hb9e783e6bf634718 // 1238 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1238 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1239 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1240 - , `RDnCMP_CMD, 'h70030028, 'h4c8f0cc3bf634718 // 1241 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1241 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1242 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1243 - , `RDnCMP_CMD, 'h70030028, 'h2aea71cebf634718 // 1244 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1244 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1245 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1246 - , `RDnCMP_CMD, 'h70030028, 'hf5c4ca1abf634718 // 1247 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1247 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1248 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1249 - , `RDnCMP_CMD, 'h70030028, 'hd2801a01bf634718 // 1250 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1250 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1251 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1252 - , `RDnCMP_CMD, 'h70030028, 'h6d979a35bf634718 // 1253 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1253 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1254 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1255 - , `RDnCMP_CMD, 'h70030028, 'h5959c119bf634718 // 1256 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1256 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1257 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1258 - , `RDnCMP_CMD, 'h70030028, 'h27d3d001bf634718 // 1259 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1259 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1260 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1261 - , `RDnCMP_CMD, 'h70030028, 'hf501e9ffbf634718 // 1262 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1262 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1263 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1264 - , `RDnCMP_CMD, 'h70030028, 'h386cca31bf634718 // 1265 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1265 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1266 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1267 - , `RDnCMP_CMD, 'h70030028, 'h2045be18bf634718 // 1268 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1268 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1269 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1270 - , `RDnCMP_CMD, 'h70030028, 'hd2a93e2ebf634718 // 1271 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1271 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1272 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1273 - , `RDnCMP_CMD, 'h70030028, 'hedc0e9fabf634718 // 1274 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1274 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1275 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1276 - , `RDnCMP_CMD, 'h70030028, 'h643173f3bf634718 // 1277 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1277 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1278 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1279 - , `RDnCMP_CMD, 'h70030028, 'hde5cd036bf634718 // 1280 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1280 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1281 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1282 - , `RDnCMP_CMD, 'h70030028, 'h41a1c9c3bf634718 // 1283 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1283 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1284 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1285 - , `RDnCMP_CMD, 'h70030028, 'h1bdf3e11bf634718 // 1286 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1286 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1287 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1288 - , `RDnCMP_CMD, 'h70030028, 'hfcf528efbf634718 // 1289 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1289 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1290 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1291 - , `RDnCMP_CMD, 'h70030028, 'h75c7b8cdbf634718 // 1292 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1292 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1293 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1294 - , `RDnCMP_CMD, 'h70030028, 'hc974e33dbf634718 // 1295 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1295 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1296 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1297 - , `RDnCMP_CMD, 'h70030028, 'hf29b04bdbf634718 // 1298 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1298 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1299 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1300 - , `RDnCMP_CMD, 'h70030028, 'h01da4a19bf634718 // 1301 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1301 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1302 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1303 - , `RDnCMP_CMD, 'h70030028, 'h51101bbabf634718 // 1304 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1304 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1305 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1306 - , `RDnCMP_CMD, 'h70030028, 'hc89a4bf6bf634718 // 1307 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1307 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1308 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1309 - , `RDnCMP_CMD, 'h70030028, 'hebaf183bbf634718 // 1310 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1310 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1311 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1312 - , `RDnCMP_CMD, 'h70030028, 'hd3972dc5bf634718 // 1313 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1313 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1314 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1315 - , `RDnCMP_CMD, 'h70030028, 'hb6d428c1bf634718 // 1316 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1316 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1317 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1318 - , `RDnCMP_CMD, 'h70030028, 'h97853603bf634718 // 1319 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1319 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1320 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1321 - , `RDnCMP_CMD, 'h70030028, 'h94f0c1f6bf634718 // 1322 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1322 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1323 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1324 - , `RDnCMP_CMD, 'h70030028, 'h8e6d34e4bf634718 // 1325 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1325 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1326 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1327 - , `RDnCMP_CMD, 'h70030028, 'hdfb9ef1abf634718 // 1328 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1328 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1329 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1330 - , `RDnCMP_CMD, 'h70030028, 'hbe279b39bf634718 // 1331 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1331 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1332 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1333 - , `RDnCMP_CMD, 'h70030028, 'h7e780dc0bf634718 // 1334 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1334 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1335 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1336 - , `RDnCMP_CMD, 'h70030028, 'haee034cdbf634718 // 1337 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1337 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1338 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1339 - , `RDnCMP_CMD, 'h70030028, 'hde66bb16bf634718 // 1340 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1340 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1341 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1342 - , `RDnCMP_CMD, 'h70030028, 'hfe076cf3bf634718 // 1343 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1343 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1344 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1345 - , `RDnCMP_CMD, 'h70030028, 'hda5469f0bf634718 // 1346 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1346 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1347 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1348 - , `RDnCMP_CMD, 'h70030028, 'h4fcf58c6bf634718 // 1349 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1349 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1350 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1351 - , `RDnCMP_CMD, 'h70030028, 'hb2e40b25bf634718 // 1352 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1352 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1353 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1354 - , `RDnCMP_CMD, 'h70030028, 'h8016ca0ebf634718 // 1355 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1355 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1356 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1357 - , `RDnCMP_CMD, 'h70030028, 'hc90f9bccbf634718 // 1358 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1358 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1359 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1360 - , `RDnCMP_CMD, 'h70030028, 'h118a67cbbf634718 // 1361 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1361 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1362 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1363 - , `RDnCMP_CMD, 'h70030028, 'h84b66cc9bf634718 // 1364 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1364 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1365 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1366 - , `RDnCMP_CMD, 'h70030028, 'hd6fbf4fabf634718 // 1367 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1367 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1368 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1369 - , `RDnCMP_CMD, 'h70030028, 'h9b35fc38bf634718 // 1370 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1370 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1371 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1372 - , `RDnCMP_CMD, 'h70030028, 'h0682722dbf634718 // 1373 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1373 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1374 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1375 - , `RDnCMP_CMD, 'h70030028, 'hccb4a51bbf634718 // 1376 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1376 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1377 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1378 - , `RDnCMP_CMD, 'h70030028, 'h2e5f88c3bf634718 // 1379 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1379 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1380 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1381 - , `RDnCMP_CMD, 'h70030028, 'h1e024500bf634718 // 1382 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1382 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1383 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1384 - , `RDnCMP_CMD, 'h70030028, 'ha79f4cf5bf634718 // 1385 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1385 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1386 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1387 - , `RDnCMP_CMD, 'h70030028, 'h052b3eecbf634718 // 1388 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1388 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1389 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1390 - , `RDnCMP_CMD, 'h70030028, 'h30ff83bfbf634718 // 1391 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1391 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1392 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1393 - , `RDnCMP_CMD, 'h70030028, 'h51d5540bbf634718 // 1394 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1394 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1395 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1396 - , `RDnCMP_CMD, 'h70030028, 'h701d3dc2bf634718 // 1397 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1397 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1398 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1399 - , `RDnCMP_CMD, 'h70030028, 'h14bff302bf634718 // 1400 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1400 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1401 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1402 - , `RDnCMP_CMD, 'h70030028, 'h05d9acc7bf634718 // 1403 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1403 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1404 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1405 - , `RDnCMP_CMD, 'h70030028, 'h51fb1e1abf634718 // 1406 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1406 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1407 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1408 - , `RDnCMP_CMD, 'h70030028, 'h396d10f9bf634718 // 1409 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1409 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1410 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1411 - , `RDnCMP_CMD, 'h70030028, 'h1f3d95d1bf634718 // 1412 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1412 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1413 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1414 - , `RDnCMP_CMD, 'h70030028, 'h700c72ccbf634718 // 1415 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1415 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1416 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1417 - , `RDnCMP_CMD, 'h70030028, 'h1d4f0916bf634718 // 1418 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1418 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1419 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1420 - , `RDnCMP_CMD, 'h70030028, 'h29067fc6bf634718 // 1421 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1421 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1422 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1423 - , `RDnCMP_CMD, 'h70030028, 'hb1a0accabf634718 // 1424 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1424 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1425 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1426 - , `RDnCMP_CMD, 'h70030028, 'hd0d8a11dbf634718 // 1427 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1427 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1428 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1429 - , `RDnCMP_CMD, 'h70030028, 'h5670d309bf634718 // 1430 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1430 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1431 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1432 - , `RDnCMP_CMD, 'h70030028, 'h035fcde4bf634718 // 1433 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1433 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1434 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1435 - , `RDnCMP_CMD, 'h70030028, 'h1c87b0c1bf634718 // 1436 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1436 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1437 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1438 - , `RDnCMP_CMD, 'h70030028, 'h591506f6bf634718 // 1439 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1439 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1440 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1441 - , `RDnCMP_CMD, 'h70030028, 'h84a24506bf634718 // 1442 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1442 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1443 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1444 - , `RDnCMP_CMD, 'h70030028, 'h792971c5bf634718 // 1445 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1445 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1446 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1447 - , `RDnCMP_CMD, 'h70030028, 'hd318dd05bf634718 // 1448 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1448 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1449 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1450 - , `RDnCMP_CMD, 'h70030028, 'h0043eec5bf634718 // 1451 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1451 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1452 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1453 - , `RDnCMP_CMD, 'h70030028, 'hf47f7d2abf634718 // 1454 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1454 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1455 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1456 - , `RDnCMP_CMD, 'h70030028, 'h63504407bf634718 // 1457 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1457 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1458 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1459 - , `RDnCMP_CMD, 'h70030028, 'h810e64dbbf634718 // 1460 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1460 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1461 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1462 - , `RDnCMP_CMD, 'h70030028, 'ha008bd28bf634718 // 1463 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1463 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1464 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1465 - , `RDnCMP_CMD, 'h70030028, 'he2f51f35bf634718 // 1466 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1466 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1467 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1468 - , `RDnCMP_CMD, 'h70030028, 'h00089fc6bf634718 // 1469 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1469 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1470 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1471 - , `RDnCMP_CMD, 'h70030028, 'hf98be7ddbf634718 // 1472 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1472 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1473 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1474 - , `RDnCMP_CMD, 'h70030028, 'h5c425420bf634718 // 1475 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1475 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1476 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1477 - , `RDnCMP_CMD, 'h70030028, 'h8339ff10bf634718 // 1478 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1478 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1479 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1480 - , `RDnCMP_CMD, 'h70030028, 'hb6d5ff0dbf634718 // 1481 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1481 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1482 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1483 - , `RDnCMP_CMD, 'h70030028, 'hc9850cd4bf634718 // 1484 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1484 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1485 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1486 - , `RDnCMP_CMD, 'h70030028, 'h087f70c6bf634718 // 1487 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1487 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1488 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1489 - , `RDnCMP_CMD, 'h70030028, 'h2ce95217bf634718 // 1490 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1490 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1491 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1492 - , `RDnCMP_CMD, 'h70030028, 'h6f1abf0bbf634718 // 1493 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1493 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1494 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1495 - , `RDnCMP_CMD, 'h70030028, 'hcec15b08bf634718 // 1496 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1496 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1497 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1498 - , `RDnCMP_CMD, 'h70030028, 'he1fec62ebf634718 // 1499 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1499 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1500 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1501 - , `RDnCMP_CMD, 'h70030028, 'h174988e5bf634718 // 1502 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1502 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1503 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1504 - , `RDnCMP_CMD, 'h70030028, 'h5bf9ffedbf634718 // 1505 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1505 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1506 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1507 - , `RDnCMP_CMD, 'h70030028, 'hd06b4d0ebf634718 // 1508 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1508 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1509 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1510 - , `RDnCMP_CMD, 'h70030028, 'hc1769ef9bf634718 // 1511 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1511 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1512 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1513 - , `RDnCMP_CMD, 'h70030028, 'he870ecefbf634718 // 1514 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1514 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1515 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1516 - , `RDnCMP_CMD, 'h70030028, 'h69c22fc9bf634718 // 1517 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1517 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1518 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1519 - , `RDnCMP_CMD, 'h70030028, 'h67cca415bf634718 // 1520 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1520 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1521 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1522 - , `RDnCMP_CMD, 'h70030028, 'heb595cbebf634718 // 1523 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1523 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1524 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1525 - , `RDnCMP_CMD, 'h70030028, 'h13d6d0c8bf634718 // 1526 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1526 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1527 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1528 - , `RDnCMP_CMD, 'h70030028, 'hd19f0f2bbf634718 // 1529 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1529 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1530 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1531 - , `RDnCMP_CMD, 'h70030028, 'had694a28bf634718 // 1532 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1532 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1533 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1534 - , `RDnCMP_CMD, 'h70030028, 'h7db75ec8bf634718 // 1535 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1535 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1536 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1537 - , `RDnCMP_CMD, 'h70030028, 'h5f61da1cbf634718 // 1538 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1538 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1539 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1540 - , `RDnCMP_CMD, 'h70030028, 'h11bbb01ebf634718 // 1541 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1541 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1542 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1543 - , `RDnCMP_CMD, 'h70030028, 'h34904b0fbf634718 // 1544 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1544 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1545 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1546 - , `RDnCMP_CMD, 'h70030028, 'h133c4e2abf634718 // 1547 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1547 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1548 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1549 - , `RDnCMP_CMD, 'h70030028, 'h6e290437bf634718 // 1550 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1550 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1551 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1552 - , `RDnCMP_CMD, 'h70030028, 'hfda5f2eabf634718 // 1553 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1553 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1554 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1555 - , `RDnCMP_CMD, 'h70030028, 'hcfcda210bf634718 // 1556 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1556 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1557 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1558 - , `RDnCMP_CMD, 'h70030028, 'ha27b47fbbf634718 // 1559 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1559 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1560 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1561 - , `RDnCMP_CMD, 'h70030028, 'h0969ebfcbf634718 // 1562 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1562 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1563 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1564 - , `RDnCMP_CMD, 'h70030028, 'hfdabd4c9bf634718 // 1565 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1565 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1566 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1567 - , `RDnCMP_CMD, 'h70030028, 'h06f74b0dbf634718 // 1568 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1568 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1569 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1570 - , `RDnCMP_CMD, 'h70030028, 'h70e009d8bf634718 // 1571 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1571 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1572 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1573 - , `RDnCMP_CMD, 'h70030028, 'h31cc880fbf634718 // 1574 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1574 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1575 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1576 - , `RDnCMP_CMD, 'h70030028, 'hc18a90c4bf634718 // 1577 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1577 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1578 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1579 - , `RDnCMP_CMD, 'h70030028, 'hc04ed513bf634718 // 1580 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1580 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1581 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1582 - , `RDnCMP_CMD, 'h70030028, 'hf7822edbbf634718 // 1583 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1583 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1584 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1585 - , `RDnCMP_CMD, 'h70030028, 'h3bbe5a38bf634718 // 1586 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1586 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1587 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1588 - , `RDnCMP_CMD, 'h70030028, 'h795296bfbf634718 // 1589 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1589 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1590 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1591 - , `RDnCMP_CMD, 'h70030028, 'h33f7ba0abf634718 // 1592 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1592 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1593 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1594 - , `RDnCMP_CMD, 'h70030028, 'hcb012cedbf634718 // 1595 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1595 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1596 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1597 - , `RDnCMP_CMD, 'h70030028, 'h286118eebf634718 // 1598 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1598 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1599 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1600 - , `RDnCMP_CMD, 'h70030028, 'h77f32908bf634718 // 1601 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1601 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1602 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1603 - , `RDnCMP_CMD, 'h70030028, 'hffd76cffbf634718 // 1604 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1604 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1605 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1606 - , `RDnCMP_CMD, 'h70030028, 'h18539ebdbf634718 // 1607 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1607 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1608 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1609 - , `RDnCMP_CMD, 'h70030028, 'h1e11a8d1bf634718 // 1610 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1610 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1611 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1612 - , `RDnCMP_CMD, 'h70030028, 'hfcbba52abf634718 // 1613 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1613 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1614 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1615 - , `RDnCMP_CMD, 'h70030028, 'h16b9d329bf634718 // 1616 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1616 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1617 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1618 - , `RDnCMP_CMD, 'h70030028, 'h673163fabf634718 // 1619 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1619 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1620 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1621 - , `RDnCMP_CMD, 'h70030028, 'hc49ce2d6bf634718 // 1622 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1622 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1623 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1624 - , `RDnCMP_CMD, 'h70030028, 'h6aade714bf634718 // 1625 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1625 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1626 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1627 - , `RDnCMP_CMD, 'h70030028, 'h813df6f1bf634718 // 1628 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1628 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1629 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1630 - , `RDnCMP_CMD, 'h70030028, 'he06ae91ebf634718 // 1631 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1631 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1632 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1633 - , `RDnCMP_CMD, 'h70030028, 'h29c911d0bf634718 // 1634 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1634 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1635 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1636 - , `RDnCMP_CMD, 'h70030028, 'hcb9bdbeabf634718 // 1637 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1637 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1638 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1639 - , `RDnCMP_CMD, 'h70030028, 'hbf634718bf634718 // 1640 + , `RDnCMP_CMD, 'h70030028, 'hffffff7fffffff7f // 1640 , `WRITE__CMD, 'h70030030, 'h0000000000000001 // 1641 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 1642 , `WRITE__CMD, 'h70030018, 'h0000000000000004 // 1643 @@ -4758,7 +4758,7 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030028, 'h0000000000000000 // 4732 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4733 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4734 - , `WRITE__CMD, 'h70030028, 'h00000000ceb6f89d // 4735 + , `WRITE__CMD, 'h70030028, 'h00000000cb270dfd // 4735 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4736 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4737 , `WRITE__CMD, 'h70030050, 'h0000000000000002 // 4738 @@ -4780,7 +4780,7 @@ longint rsa_playback[] = { , `RDnCMP_CMD, 'h70030068, 'h0000000000000000 // 4754 , `WRITE__CMD, 'h70030070, 'h0000000000000001 // 4755 , `WRITE__CMD, 'h70030070, 'h0000000000000000 // 4756 - , `RDnCMP_CMD, 'h70030068, 'h0000000002b9fa77 // 4757 + , `RDnCMP_CMD, 'h70030068, 'h000000006ebd38c4 // 4757 , `WRITE__CMD, 'h70030018, 'h0000000000000004 // 4758 , `WRITE__CMD, 'h70030018, 'h0000000000000000 // 4759 , `WRITE__CMD, 'h70030010, 'h0000000000010001 // 4760 @@ -4792,10 +4792,10 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030028, 'h0000000000000000 // 4766 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4767 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4768 - , `WRITE__CMD, 'h70030028, 'h00000000c1abd68f // 4769 + , `WRITE__CMD, 'h70030028, 'h00000000e2846537 // 4769 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4770 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4771 - , `WRITE__CMD, 'h70030028, 'h000000003bbca23b // 4772 + , `WRITE__CMD, 'h70030028, 'h0000000044f48877 // 4772 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4773 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4774 , `WRITE__CMD, 'h70030050, 'h0000000000000003 // 4775 @@ -4804,7 +4804,7 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030040, 'h0000000000000000 // 4778 , `WRITE__CMD, 'h70030048, 'h0000000000000003 // 4779 , `WRITE__CMD, 'h70030048, 'h0000000000000000 // 4780 - , `WRITE__CMD, 'h70030040, 'h00000000c0574d28 // 4781 + , `WRITE__CMD, 'h70030040, 'h00000000e1574d28 // 4781 , `WRITE__CMD, 'h70030048, 'h0000000000000003 // 4782 , `WRITE__CMD, 'h70030048, 'h0000000000000000 // 4783 , `WRITE__CMD, 'h70030040, 'h00000000761ef5f0 // 4784 @@ -4820,10 +4820,10 @@ longint rsa_playback[] = { , `RDnCMP_CMD, 'h70030068, 'h0000000000000000 // 4794 , `WRITE__CMD, 'h70030070, 'h0000000000000001 // 4795 , `WRITE__CMD, 'h70030070, 'h0000000000000000 // 4796 - , `RDnCMP_CMD, 'h70030068, 'h00000000c1337d65 // 4797 + , `RDnCMP_CMD, 'h70030068, 'h0000000051cc9c7a // 4797 , `WRITE__CMD, 'h70030070, 'h0000000000000001 // 4798 , `WRITE__CMD, 'h70030070, 'h0000000000000000 // 4799 - , `RDnCMP_CMD, 'h70030068, 'h00000000dca4284b // 4800 + , `RDnCMP_CMD, 'h70030068, 'h0000000073fb99c3 // 4800 , `WRITE__CMD, 'h70030018, 'h0000000000000004 // 4801 , `WRITE__CMD, 'h70030018, 'h0000000000000000 // 4802 , `WRITE__CMD, 'h70030010, 'h0000000000010001 // 4803 @@ -4835,7 +4835,7 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030028, 'h0000000000000000 // 4809 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4810 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4811 - , `WRITE__CMD, 'h70030028, 'h00000000d2f49db9 // 4812 + , `WRITE__CMD, 'h70030028, 'h00000000b880de55 // 4812 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4813 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4814 , `WRITE__CMD, 'h70030050, 'h0000000000000002 // 4815 @@ -4857,7 +4857,7 @@ longint rsa_playback[] = { , `RDnCMP_CMD, 'h70030068, 'h0000000000000000 // 4831 , `WRITE__CMD, 'h70030070, 'h0000000000000001 // 4832 , `WRITE__CMD, 'h70030070, 'h0000000000000000 // 4833 - , `RDnCMP_CMD, 'h70030068, 'h0000000052f80a99 // 4834 + , `RDnCMP_CMD, 'h70030068, 'h0000000027eac30f // 4834 , `WRITE__CMD, 'h70030018, 'h0000000000000004 // 4835 , `WRITE__CMD, 'h70030018, 'h0000000000000000 // 4836 , `WRITE__CMD, 'h70030010, 'h0000000000010001 // 4837 @@ -4869,10 +4869,10 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030028, 'h0000000000000000 // 4843 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4844 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4845 - , `WRITE__CMD, 'h70030028, 'h00000000c250c313 // 4846 + , `WRITE__CMD, 'h70030028, 'h00000000ac1c248b // 4846 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4847 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4848 - , `WRITE__CMD, 'h70030028, 'h0000000059672435 // 4849 + , `WRITE__CMD, 'h70030028, 'h00000000085533a3 // 4849 , `WRITE__CMD, 'h70030030, 'h0000000000000003 // 4850 , `WRITE__CMD, 'h70030030, 'h0000000000000000 // 4851 , `WRITE__CMD, 'h70030050, 'h0000000000000003 // 4852 @@ -4881,7 +4881,7 @@ longint rsa_playback[] = { , `WRITE__CMD, 'h70030040, 'h0000000000000000 // 4855 , `WRITE__CMD, 'h70030048, 'h0000000000000003 // 4856 , `WRITE__CMD, 'h70030048, 'h0000000000000000 // 4857 - , `WRITE__CMD, 'h70030040, 'h00000000c17fa3f7 // 4858 + , `WRITE__CMD, 'h70030040, 'h00000000ab7fa3f7 // 4858 , `WRITE__CMD, 'h70030048, 'h0000000000000003 // 4859 , `WRITE__CMD, 'h70030048, 'h0000000000000000 // 4860 , `WRITE__CMD, 'h70030040, 'h00000000cfc46207 // 4861 @@ -4897,10 +4897,10 @@ longint rsa_playback[] = { , `RDnCMP_CMD, 'h70030068, 'h0000000000000000 // 4871 , `WRITE__CMD, 'h70030070, 'h0000000000000001 // 4872 , `WRITE__CMD, 'h70030070, 'h0000000000000000 // 4873 - , `RDnCMP_CMD, 'h70030068, 'h00000000424c48af // 4874 + , `RDnCMP_CMD, 'h70030068, 'h000000008afb7571 // 4874 , `WRITE__CMD, 'h70030070, 'h0000000000000001 // 4875 , `WRITE__CMD, 'h70030070, 'h0000000000000000 // 4876 - , `RDnCMP_CMD, 'h70030068, 'h00000000b073d008 // 4877 + , `RDnCMP_CMD, 'h70030068, 'h000000001a868925 // 4877 }; `define rsa_adrBase 'h0070030000 diff --git a/unit_simulation/TL_level_sim/sv_vectors/sha256_playback.h b/unit_simulation/TL_level_sim/sv_vectors/sha256_playback.h index 8cc8935..9e7fd2d 100644 --- a/unit_simulation/TL_level_sim/sv_vectors/sha256_playback.h +++ b/unit_simulation/TL_level_sim/sv_vectors/sha256_playback.h @@ -3,7 +3,7 @@ // // This file is auto-generated for test: sha256. Do not modify!!! // -// Generated on: Apr 13 2021 10:26:26 +// Generated on: May 19 2021 14:35:16 //************************************************************************ `ifndef sha256_playback_H `define sha256_playback_H @@ -361,132 +361,132 @@ longint sha256_playback[] = { , `RDnCMP_CMD, 'h70020060, 'hea840958c84266c1 // 335 , `RDnCMP_CMD, 'h70020068, 'h113a37486eec6fb4 // 336 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 337 - , `WRITE__CMD, 'h70020008, 'hbfe0b3fc5532b9e2 // 338 - , `WRITE__CMD, 'h70020010, 'hdac69bc733413e07 // 339 - , `WRITE__CMD, 'h70020018, 'ha852dae45accd9cb // 340 - , `WRITE__CMD, 'h70020020, 'hf359edf18106d612 // 341 - , `WRITE__CMD, 'h70020028, 'h4ee286d38ed8bbd7 // 342 - , `WRITE__CMD, 'h70020030, 'h806c2816a3247531 // 343 - , `WRITE__CMD, 'h70020038, 'h68dc89c8e49410e4 // 344 - , `WRITE__CMD, 'h70020040, 'hb4dacc335a0f3d01 // 345 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 338 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 339 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 340 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 341 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 342 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 343 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 344 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 345 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 346 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 347 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 348 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 349 - , `WRITE__CMD, 'h70020008, 'h98159429a755c61a // 350 - , `WRITE__CMD, 'h70020010, 'h3a0ce3bc087200e1 // 351 - , `WRITE__CMD, 'h70020018, 'h4dcd2f24d1d7aaf2 // 352 - , `WRITE__CMD, 'h70020020, 'h9a5e1e25338fa22a // 353 - , `WRITE__CMD, 'h70020028, 'hcb182ad3d813ebff // 354 - , `WRITE__CMD, 'h70020030, 'h081e153895610cf7 // 355 - , `WRITE__CMD, 'h70020038, 'h8a49c6383828f7f5 // 356 - , `WRITE__CMD, 'h70020040, 'hfff0ca076b568a04 // 357 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 350 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 351 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 352 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 353 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 354 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 355 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 356 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 357 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 358 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 359 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 360 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 361 - , `WRITE__CMD, 'h70020008, 'hf548efc1ecb96f2f // 362 - , `WRITE__CMD, 'h70020010, 'h34d9242d0c2f4ae8 // 363 - , `WRITE__CMD, 'h70020018, 'h465d2fdd50b726f7 // 364 - , `WRITE__CMD, 'h70020020, 'h2681711e92a171fd // 365 - , `WRITE__CMD, 'h70020028, 'h49dd5226bbd8fde3 // 366 - , `WRITE__CMD, 'h70020030, 'hb2a327e7546c8ddc // 367 - , `WRITE__CMD, 'h70020038, 'h3367bf2f53c8e6dc // 368 - , `WRITE__CMD, 'h70020040, 'h280f3901a4413337 // 369 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 362 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 363 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 364 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 365 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 366 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 367 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 368 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 369 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 370 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 371 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 372 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 373 - , `WRITE__CMD, 'h70020008, 'h6cd4081ba6882037 // 374 - , `WRITE__CMD, 'h70020010, 'h6ff6b8d0db4e7d0d // 375 - , `WRITE__CMD, 'h70020018, 'hb35c1a3059ebffdb // 376 - , `WRITE__CMD, 'h70020020, 'h2e06fcf57095831d // 377 - , `WRITE__CMD, 'h70020028, 'h8a4d71bf7cb16dc6 // 378 - , `WRITE__CMD, 'h70020030, 'hf447cf06d3d3d227 // 379 - , `WRITE__CMD, 'h70020038, 'h06ea8533c0d5dcc0 // 380 - , `WRITE__CMD, 'h70020040, 'hbd7186091acbd22e // 381 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 374 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 375 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 376 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 377 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 378 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 379 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 380 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 381 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 382 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 383 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 384 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 385 - , `WRITE__CMD, 'h70020008, 'hff3819167ea324ff // 386 - , `WRITE__CMD, 'h70020010, 'h9e42ba0e73bc2924 // 387 - , `WRITE__CMD, 'h70020018, 'h0256e7fa1be4942b // 388 - , `WRITE__CMD, 'h70020020, 'hc8e7e1d0ce7b9935 // 389 - , `WRITE__CMD, 'h70020028, 'h8727dac8ab4f1508 // 390 - , `WRITE__CMD, 'h70020030, 'hed80000000000000 // 391 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 386 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 387 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 388 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 389 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 390 + , `WRITE__CMD, 'h70020030, 'hff80000000000000 // 391 , `WRITE__CMD, 'h70020038, 'h0000000000000000 // 392 , `WRITE__CMD, 'h70020040, 'h0000000000000948 // 393 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 394 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 395 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 396 - , `RDnCMP_CMD, 'h70020050, 'h8bedb3de9b1d0dc0 // 397 - , `RDnCMP_CMD, 'h70020058, 'hdf1223e504e8d008 // 398 - , `RDnCMP_CMD, 'h70020060, 'h1121c0e74ae763a9 // 399 - , `RDnCMP_CMD, 'h70020068, 'hf4d7da7741271f25 // 400 + , `RDnCMP_CMD, 'h70020050, 'h448576f9e442936e // 397 + , `RDnCMP_CMD, 'h70020058, 'h8712d9092e156fa1 // 398 + , `RDnCMP_CMD, 'h70020060, 'h26258f4ba6b2f7b2 // 399 + , `RDnCMP_CMD, 'h70020068, 'h82d12d432174d58c // 400 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 401 - , `WRITE__CMD, 'h70020008, 'he929b5ea49ce2bc7 // 402 - , `WRITE__CMD, 'h70020010, 'h8feb270e3b167cda // 403 - , `WRITE__CMD, 'h70020018, 'h31f0d5cc7f441729 // 404 - , `WRITE__CMD, 'h70020020, 'hf82b7f2b1b5886d1 // 405 - , `WRITE__CMD, 'h70020028, 'h1e2ff1d35a818523 // 406 - , `WRITE__CMD, 'h70020030, 'h19f6c30302426324 // 407 - , `WRITE__CMD, 'h70020038, 'h38f51dd9804903e9 // 408 - , `WRITE__CMD, 'h70020040, 'h225502341b3b05e5 // 409 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 402 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 403 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 404 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 405 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 406 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 407 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 408 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 409 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 410 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 411 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 412 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 413 - , `WRITE__CMD, 'h70020008, 'hd61886e6824a57e0 // 414 - , `WRITE__CMD, 'h70020010, 'h7a50ac0c51078dc0 // 415 - , `WRITE__CMD, 'h70020018, 'h479d58c1dc0a3235 // 416 - , `WRITE__CMD, 'h70020020, 'hc05720184a90b4db // 417 - , `WRITE__CMD, 'h70020028, 'h5e2405f5d5b0c6c5 // 418 - , `WRITE__CMD, 'h70020030, 'hb5450b05084caf39 // 419 - , `WRITE__CMD, 'h70020038, 'hf115f41575c6a724 // 420 - , `WRITE__CMD, 'h70020040, 'hda65a8d0881f0fda // 421 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 414 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 415 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 416 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 417 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 418 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 419 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 420 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 421 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 422 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 423 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 424 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 425 - , `WRITE__CMD, 'h70020008, 'h93adcc0a8561fff8 // 426 - , `WRITE__CMD, 'h70020010, 'h7a8377c379188215 // 427 - , `WRITE__CMD, 'h70020018, 'hc50fd72e8b28e9ba // 428 - , `WRITE__CMD, 'h70020020, 'h5ebc35c3744f8b22 // 429 - , `WRITE__CMD, 'h70020028, 'h2f2d5dbba4c46c37 // 430 - , `WRITE__CMD, 'h70020030, 'hc1015df79512701b // 431 - , `WRITE__CMD, 'h70020038, 'h265e72c20c8d383c // 432 - , `WRITE__CMD, 'h70020040, 'hea5a5ecc26bdaa14 // 433 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 426 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 427 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 428 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 429 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 430 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 431 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 432 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 433 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 434 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 435 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 436 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 437 - , `WRITE__CMD, 'h70020008, 'h2b177a0f510469ef // 438 - , `WRITE__CMD, 'h70020010, 'h4e3507fc37715e34 // 439 - , `WRITE__CMD, 'h70020018, 'h5e5718bd72dbf321 // 440 - , `WRITE__CMD, 'h70020020, 'h31e7912d00cc7abb // 441 - , `WRITE__CMD, 'h70020028, 'h8ff799080cc20001 // 442 - , `WRITE__CMD, 'h70020030, 'hae9e1fbf1f74631c // 443 - , `WRITE__CMD, 'h70020038, 'ha2330706df4023c9 // 444 - , `WRITE__CMD, 'h70020040, 'h3f1887dfda077733 // 445 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 438 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 439 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 440 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 441 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 442 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 443 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 444 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 445 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 446 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 447 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 448 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 449 - , `WRITE__CMD, 'h70020008, 'h162f74cae88eac0a // 450 - , `WRITE__CMD, 'h70020010, 'hd1ab88d05298b7fb // 451 - , `WRITE__CMD, 'h70020018, 'hfeaf9c10da57f7f9 // 452 - , `WRITE__CMD, 'h70020020, 'h628ae0e63b883ffe // 453 - , `WRITE__CMD, 'h70020028, 'he0d2bace0b6b6ace // 454 - , `WRITE__CMD, 'h70020030, 'h99fe3f15441beafe // 455 - , `WRITE__CMD, 'h70020038, 'he291fdf11ac9f804 // 456 - , `WRITE__CMD, 'h70020040, 'h58ddd91baed5712e // 457 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 450 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 451 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 452 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 453 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 454 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 455 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 456 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 457 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 458 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 459 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 460 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 461 - , `WRITE__CMD, 'h70020008, 'h1cd1b42b8607c4d4 // 462 - , `WRITE__CMD, 'h70020010, 'ha9c4800000000000 // 463 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 462 + , `WRITE__CMD, 'h70020010, 'hffff800000000000 // 463 , `WRITE__CMD, 'h70020018, 'h0000000000000000 // 464 , `WRITE__CMD, 'h70020020, 'h0000000000000000 // 465 , `WRITE__CMD, 'h70020028, 'h0000000000000000 // 466 @@ -496,161 +496,161 @@ longint sha256_playback[] = { , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 470 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 471 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 472 - , `RDnCMP_CMD, 'h70020050, 'h90eab4bb54c58d1a // 473 - , `RDnCMP_CMD, 'h70020058, 'hca285ac9f6ba2b68 // 474 - , `RDnCMP_CMD, 'h70020060, 'h79d82c1a53acc096 // 475 - , `RDnCMP_CMD, 'h70020068, 'hafd9db8fa30c42be // 476 + , `RDnCMP_CMD, 'h70020050, 'h01112e20e7c50847 // 473 + , `RDnCMP_CMD, 'h70020058, 'hfd989afd0dcf66d5 // 474 + , `RDnCMP_CMD, 'h70020060, 'h906bb8e455c451fc // 475 + , `RDnCMP_CMD, 'h70020068, 'ha0f27bad453c589d // 476 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 477 - , `WRITE__CMD, 'h70020008, 'h4dd1e5c3f98546d4 // 478 - , `WRITE__CMD, 'h70020010, 'h2ddaf9fe2052fc0a // 479 - , `WRITE__CMD, 'h70020018, 'h8ed873100ec0f0e4 // 480 - , `WRITE__CMD, 'h70020020, 'h75d0b7d03380f534 // 481 - , `WRITE__CMD, 'h70020028, 'h00c77a003492eb0f // 482 - , `WRITE__CMD, 'h70020030, 'hff5a2705888801e9 // 483 - , `WRITE__CMD, 'h70020038, 'h986a51e9fe71f4bf // 484 - , `WRITE__CMD, 'h70020040, 'h093f74de1c096cc2 // 485 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 478 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 479 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 480 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 481 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 482 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 483 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 484 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 485 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 486 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 487 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 488 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 489 - , `WRITE__CMD, 'h70020008, 'h6db43b123e580c29 // 490 - , `WRITE__CMD, 'h70020010, 'h9977e51ff3c134f6 // 491 - , `WRITE__CMD, 'h70020018, 'hcf2419e771d7452f // 492 - , `WRITE__CMD, 'h70020020, 'h42026dd3b4e1bec8 // 493 - , `WRITE__CMD, 'h70020028, 'ha65a92f1f8dd840c // 494 - , `WRITE__CMD, 'h70020030, 'h78986c32cffdd30b // 495 - , `WRITE__CMD, 'h70020038, 'h8d4401eb55203fd5 // 496 - , `WRITE__CMD, 'h70020040, 'hffa4331b03ff36c0 // 497 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 490 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 491 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 492 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 493 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 494 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 495 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 496 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 497 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 498 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 499 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 500 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 501 - , `WRITE__CMD, 'h70020008, 'h36b130e339e388cb // 502 - , `WRITE__CMD, 'h70020010, 'h0de486d9151f0533 // 503 - , `WRITE__CMD, 'h70020018, 'h637ce2e3626e0ec0 // 504 - , `WRITE__CMD, 'h70020020, 'h0bab51020f0b6de6 // 505 - , `WRITE__CMD, 'h70020028, 'h34743aec6b642f03 // 506 - , `WRITE__CMD, 'h70020030, 'hf5186a368395caf0 // 507 - , `WRITE__CMD, 'h70020038, 'h450a28e8eaad1a37 // 508 - , `WRITE__CMD, 'h70020040, 'h62b7d10072d10319 // 509 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 502 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 503 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 504 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 505 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 506 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 507 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 508 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 509 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 510 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 511 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 512 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 513 - , `WRITE__CMD, 'h70020008, 'h074424e8436969ef // 514 - , `WRITE__CMD, 'h70020010, 'h7d5061c671d5a9e8 // 515 - , `WRITE__CMD, 'h70020018, 'h3e7ccfd09d115624 // 516 - , `WRITE__CMD, 'h70020020, 'hb9c035223b1ec136 // 517 - , `WRITE__CMD, 'h70020028, 'h1df045095be2982b // 518 - , `WRITE__CMD, 'h70020030, 'h8eedd3c13b070809 // 519 - , `WRITE__CMD, 'h70020038, 'hc2d3fd115e447e15 // 520 - , `WRITE__CMD, 'h70020040, 'habc0efdc5d689c1c // 521 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 514 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 515 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 516 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 517 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 518 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 519 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 520 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 521 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 522 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 523 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 524 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 525 - , `WRITE__CMD, 'h70020008, 'h982a35f966c92ce1 // 526 - , `WRITE__CMD, 'h70020010, 'h11a31dcd09b080f8 // 527 - , `WRITE__CMD, 'h70020018, 'h7b4e5bf21b7fd50f // 528 - , `WRITE__CMD, 'h70020020, 'he853ccc2ef4cf3fe // 529 - , `WRITE__CMD, 'h70020028, 'h74e499373387ee33 // 530 - , `WRITE__CMD, 'h70020030, 'h7daeb9cebc630ef7 // 531 - , `WRITE__CMD, 'h70020038, 'h56217a335e7be612 // 532 - , `WRITE__CMD, 'h70020040, 'hd9758af2e38415cb // 533 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 526 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 527 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 528 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 529 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 530 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 531 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 532 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 533 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 534 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 535 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 536 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 537 - , `WRITE__CMD, 'h70020008, 'h5909cedfc9cd26f4 // 538 - , `WRITE__CMD, 'h70020010, 'h52e6fe013e4bb9ef // 539 - , `WRITE__CMD, 'h70020018, 'h27e0f41cf06c9822 // 540 - , `WRITE__CMD, 'h70020020, 'h86b557e49b0d7f17 // 541 - , `WRITE__CMD, 'h70020028, 'hb1f8280fb365b72f // 542 - , `WRITE__CMD, 'h70020030, 'hc7f1538000000000 // 543 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 538 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 539 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 540 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 541 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 542 + , `WRITE__CMD, 'h70020030, 'hffffff8000000000 // 543 , `WRITE__CMD, 'h70020038, 'h0000000000000000 // 544 , `WRITE__CMD, 'h70020040, 'h0000000000000b58 // 545 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 546 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 547 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 548 - , `RDnCMP_CMD, 'h70020050, 'h684f687a87daf47d // 549 - , `RDnCMP_CMD, 'h70020058, 'h236e24731088a098 // 550 - , `RDnCMP_CMD, 'h70020060, 'he7c3f3d2801615b0 // 551 - , `RDnCMP_CMD, 'h70020068, 'h08944ea74a4a37fb // 552 + , `RDnCMP_CMD, 'h70020050, 'h7812782e0685104e // 549 + , `RDnCMP_CMD, 'h70020058, 'he754a9f22e8c5e5f // 550 + , `RDnCMP_CMD, 'h70020060, 'h3a5558df3c31a137 // 551 + , `RDnCMP_CMD, 'h70020068, 'h94de5b1e97e150ca // 552 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 553 - , `WRITE__CMD, 'h70020008, 'h2c884fc791759fde // 554 - , `WRITE__CMD, 'h70020010, 'h535f9b162abdfddb // 555 - , `WRITE__CMD, 'h70020018, 'heab5d9da7ca766c2 // 556 - , `WRITE__CMD, 'h70020020, 'h05ac881bda53dee0 // 557 - , `WRITE__CMD, 'h70020028, 'h6929f70285aaabcb // 558 - , `WRITE__CMD, 'h70020030, 'hb40750f73fd98e0c // 559 - , `WRITE__CMD, 'h70020038, 'h3019880cc5ccb713 // 560 - , `WRITE__CMD, 'h70020040, 'h96933e1f502f8909 // 561 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 554 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 555 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 556 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 557 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 558 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 559 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 560 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 561 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 562 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 563 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 564 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 565 - , `WRITE__CMD, 'h70020008, 'h3ba492336dc5b720 // 566 - , `WRITE__CMD, 'h70020010, 'h95ecd5dcedc76e16 // 567 - , `WRITE__CMD, 'h70020018, 'hee42e6033099f8e7 // 568 - , `WRITE__CMD, 'h70020020, 'hea168fc51eb7f310 // 569 - , `WRITE__CMD, 'h70020028, 'h3ad3cf13151b68d1 // 570 - , `WRITE__CMD, 'h70020030, 'h97b03c0ed105c826 // 571 - , `WRITE__CMD, 'h70020038, 'h5f5d332f189a7537 // 572 - , `WRITE__CMD, 'h70020040, 'h9a6d0df949af2f1c // 573 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 566 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 567 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 568 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 569 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 570 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 571 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 572 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 573 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 574 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 575 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 576 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 577 - , `WRITE__CMD, 'h70020008, 'hcc178fe4075b9ae2 // 578 - , `WRITE__CMD, 'h70020010, 'h1a3a4410fc0cfad1 // 579 - , `WRITE__CMD, 'h70020018, 'h7775680db97dcfd4 // 580 - , `WRITE__CMD, 'h70020020, 'h373f6de12fefa4c7 // 581 - , `WRITE__CMD, 'h70020028, 'hbc34fac50a98aff6 // 582 - , `WRITE__CMD, 'h70020030, 'h5da0efe0b01ad1c0 // 583 - , `WRITE__CMD, 'h70020038, 'hbc3399e59f37c4e3 // 584 - , `WRITE__CMD, 'h70020040, 'hb914a6f41ec72fc1 // 585 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 578 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 579 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 580 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 581 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 582 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 583 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 584 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 585 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 586 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 587 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 588 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 589 - , `WRITE__CMD, 'h70020008, 'hb94d1c219ddf15e9 // 590 - , `WRITE__CMD, 'h70020010, 'h717ba1e44d300dee // 591 - , `WRITE__CMD, 'h70020018, 'h12d508ca0e569af8 // 592 - , `WRITE__CMD, 'h70020020, 'h6cb79ad6d8f05120 // 593 - , `WRITE__CMD, 'h70020028, 'hc4c0d6dbb6d0b723 // 594 - , `WRITE__CMD, 'h70020030, 'hc7da251264dc0111 // 595 - , `WRITE__CMD, 'h70020038, 'h690d16ffce005dd0 // 596 - , `WRITE__CMD, 'h70020040, 'h65ddbcd1c4fb47fc // 597 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 590 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 591 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 592 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 593 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 594 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 595 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 596 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 597 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 598 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 599 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 600 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 601 - , `WRITE__CMD, 'h70020008, 'h81f54bea9627ebc9 // 602 - , `WRITE__CMD, 'h70020010, 'h9e5d9f1cebe5f726 // 603 - , `WRITE__CMD, 'h70020018, 'h2ca484f23759da01 // 604 - , `WRITE__CMD, 'h70020020, 'hf3a4ae03a905e3f0 // 605 - , `WRITE__CMD, 'h70020028, 'ha3972ae870ad5818 // 606 - , `WRITE__CMD, 'h70020030, 'hedad19da0e6444d1 // 607 - , `WRITE__CMD, 'h70020038, 'h7a4fe0bf2f07dc09 // 608 - , `WRITE__CMD, 'h70020040, 'h46fe6038a72c1cda // 609 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 602 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 603 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 604 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 605 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 606 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 607 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 608 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 609 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 610 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 611 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 612 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 613 - , `WRITE__CMD, 'h70020008, 'hf7c5b927fe9b59bf // 614 - , `WRITE__CMD, 'h70020010, 'h25b4ced297f2f32e // 615 - , `WRITE__CMD, 'h70020018, 'h03149e018ecc311f // 616 - , `WRITE__CMD, 'h70020020, 'hc5213c20072196cb // 617 - , `WRITE__CMD, 'h70020028, 'h32b24f1a30d193da // 618 - , `WRITE__CMD, 'h70020030, 'h2f4b63c75b98dfec // 619 - , `WRITE__CMD, 'h70020038, 'h273bfb253c4ff9d7 // 620 - , `WRITE__CMD, 'h70020040, 'h0d80a5db3546aedc // 621 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 614 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 615 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 616 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 617 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 618 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 619 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 620 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 621 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 622 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 623 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 624 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 625 - , `WRITE__CMD, 'h70020008, 'h13581ae2126397c6 // 626 - , `WRITE__CMD, 'h70020010, 'hfba2833c80000000 // 627 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 626 + , `WRITE__CMD, 'h70020010, 'hffffff7f80000000 // 627 , `WRITE__CMD, 'h70020018, 'h0000000000000000 // 628 , `WRITE__CMD, 'h70020020, 'h0000000000000000 // 629 , `WRITE__CMD, 'h70020028, 'h0000000000000000 // 630 @@ -660,185 +660,185 @@ longint sha256_playback[] = { , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 634 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 635 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 636 - , `RDnCMP_CMD, 'h70020050, 'hcc124f023147c750 // 637 - , `RDnCMP_CMD, 'h70020058, 'h1d0f06f5074926c3 // 638 - , `RDnCMP_CMD, 'h70020060, 'h38fe93db0062a959 // 639 - , `RDnCMP_CMD, 'h70020068, 'h94e4cf05e1b33835 // 640 + , `RDnCMP_CMD, 'h70020050, 'haa7dbffe4c584b57 // 637 + , `RDnCMP_CMD, 'h70020058, 'h340651189ff97c04 // 638 + , `RDnCMP_CMD, 'h70020060, 'h7bb89bd4a9d1b381 // 639 + , `RDnCMP_CMD, 'h70020068, 'h9fce9139038b8c97 // 640 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 641 - , `WRITE__CMD, 'h70020008, 'hae2e4e05824b2602 // 642 - , `WRITE__CMD, 'h70020010, 'h48110af419de82d7 // 643 - , `WRITE__CMD, 'h70020018, 'hd198661e076ebbf4 // 644 - , `WRITE__CMD, 'h70020020, 'hcff1b1fa50772cd8 // 645 - , `WRITE__CMD, 'h70020028, 'h8493a70974cd2216 // 646 - , `WRITE__CMD, 'h70020030, 'he77c840d72e5edf9 // 647 - , `WRITE__CMD, 'h70020038, 'h3c4295f1c6623630 // 648 - , `WRITE__CMD, 'h70020040, 'h1f441d00fb39922f // 649 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 642 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 643 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 644 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 645 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 646 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 647 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 648 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 649 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 650 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 651 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 652 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 653 - , `WRITE__CMD, 'h70020008, 'hc86575164d4485e3 // 654 - , `WRITE__CMD, 'h70020010, 'h8ef1cb1666c08222 // 655 - , `WRITE__CMD, 'h70020018, 'h50fc86edf9fde3f0 // 656 - , `WRITE__CMD, 'h70020020, 'h540c101f2e2937c4 // 657 - , `WRITE__CMD, 'h70020028, 'h1fd93f3e84d04fca // 658 - , `WRITE__CMD, 'h70020030, 'h2583e8c039796223 // 659 - , `WRITE__CMD, 'h70020038, 'h762f3a364be38d26 // 660 - , `WRITE__CMD, 'h70020040, 'h30ac5fdd4da4160c // 661 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 654 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 655 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 656 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 657 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 658 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 659 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 660 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 661 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 662 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 663 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 664 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 665 - , `WRITE__CMD, 'h70020008, 'h51cd80026e98ec1d // 666 - , `WRITE__CMD, 'h70020010, 'h06824c18a5956be3 // 667 - , `WRITE__CMD, 'h70020018, 'h9001302c07492911 // 668 - , `WRITE__CMD, 'h70020020, 'hb070e308e7a7ff1e // 669 - , `WRITE__CMD, 'h70020028, 'h32044f3110c16a33 // 670 - , `WRITE__CMD, 'h70020030, 'h2e4c9cbf575f72f1 // 671 - , `WRITE__CMD, 'h70020038, 'ha87819fe8b2b08c6 // 672 - , `WRITE__CMD, 'h70020040, 'hbf79bc3f140ce324 // 673 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 666 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 667 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 668 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 669 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 670 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 671 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 672 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 673 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 674 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 675 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 676 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 677 - , `WRITE__CMD, 'h70020008, 'h020ee5f826a96edf // 678 - , `WRITE__CMD, 'h70020010, 'hbf9c3a3421880cd9 // 679 - , `WRITE__CMD, 'h70020018, 'h8d752a137eba3d04 // 680 - , `WRITE__CMD, 'h70020020, 'h2123a2d40c0490f9 // 681 - , `WRITE__CMD, 'h70020028, 'hb8719dcb1cc1a7fd // 682 - , `WRITE__CMD, 'h70020030, 'hafd3b703ba305634 // 683 - , `WRITE__CMD, 'h70020038, 'h7e85202977be65fc // 684 - , `WRITE__CMD, 'h70020040, 'haa2be7d5726664e1 // 685 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 678 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 679 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 680 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 681 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 682 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 683 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 684 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 685 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 686 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 687 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 688 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 689 - , `WRITE__CMD, 'h70020008, 'h172d83c33d23952c // 690 - , `WRITE__CMD, 'h70020010, 'h3f25620ee18f5fbd // 691 - , `WRITE__CMD, 'h70020018, 'h08a13c17325e5222 // 692 - , `WRITE__CMD, 'h70020020, 'hfdf061cad682e11a // 693 - , `WRITE__CMD, 'h70020028, 'ha3cd3fc11c9ed9ee // 694 - , `WRITE__CMD, 'h70020030, 'he030dedcde01342d // 695 - , `WRITE__CMD, 'h70020038, 'h18be9e125553781b // 696 - , `WRITE__CMD, 'h70020040, 'h72899bd633aa033b // 697 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 690 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 691 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 692 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 693 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 694 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 695 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 696 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 697 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 698 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 699 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 700 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 701 - , `WRITE__CMD, 'h70020008, 'hec453cc9a77636cd // 702 - , `WRITE__CMD, 'h70020010, 'hf808c1c1552f9c1e // 703 - , `WRITE__CMD, 'h70020018, 'h127233eddc3cb4e8 // 704 - , `WRITE__CMD, 'h70020020, 'h12d591fa8d9d2131 // 705 - , `WRITE__CMD, 'h70020028, 'ha33eadc236bff719 // 706 - , `WRITE__CMD, 'h70020030, 'hea05021336aaabbb // 707 - , `WRITE__CMD, 'h70020038, 'h01c015077e6f590f // 708 - , `WRITE__CMD, 'h70020040, 'h7e4e08e2bc9c7afd // 709 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 702 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 703 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 704 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 705 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 706 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 707 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 708 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 709 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 710 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 711 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 712 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 713 - , `WRITE__CMD, 'h70020008, 'hcd01cac3509d5bd8 // 714 - , `WRITE__CMD, 'h70020010, 'hcacde5c3cc5bb0d1 // 715 - , `WRITE__CMD, 'h70020018, 'h3b3b1fc6317d233c // 716 - , `WRITE__CMD, 'h70020020, 'h76abf5c8558657cc // 717 - , `WRITE__CMD, 'h70020028, 'he191bc0cf133a939 // 718 - , `WRITE__CMD, 'h70020030, 'h0fbddb187f800000 // 719 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 714 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 715 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 716 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 717 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 718 + , `WRITE__CMD, 'h70020030, 'hffffff7fff800000 // 719 , `WRITE__CMD, 'h70020038, 'h0000000000000000 // 720 , `WRITE__CMD, 'h70020040, 'h0000000000000d68 // 721 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 722 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 723 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 724 - , `RDnCMP_CMD, 'h70020050, 'hd7989bd1864cb7fc // 725 - , `RDnCMP_CMD, 'h70020058, 'h514faae5d3f0616f // 726 - , `RDnCMP_CMD, 'h70020060, 'hc29bb0f9012a8a38 // 727 - , `RDnCMP_CMD, 'h70020068, 'h317ddb279ddde652 // 728 + , `RDnCMP_CMD, 'h70020050, 'h0b8c4027cf8a5fbf // 725 + , `RDnCMP_CMD, 'h70020058, 'he5a3d882fb2f180a // 726 + , `RDnCMP_CMD, 'h70020060, 'h466d0bceedd181a0 // 727 + , `RDnCMP_CMD, 'h70020068, 'h74f63a40d5b6952a // 728 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 729 - , `WRITE__CMD, 'h70020008, 'h4ea69028d3d12004 // 730 - , `WRITE__CMD, 'h70020010, 'h71979e09ca0a00f8 // 731 - , `WRITE__CMD, 'h70020018, 'h8cbb24311844720e // 732 - , `WRITE__CMD, 'h70020020, 'h2f27081d85fa86d5 // 733 - , `WRITE__CMD, 'h70020028, 'h39c691077d0932e9 // 734 - , `WRITE__CMD, 'h70020030, 'hba5f1d2320ade7d0 // 735 - , `WRITE__CMD, 'h70020038, 'hff57bff5d6c4b3eb // 736 - , `WRITE__CMD, 'h70020040, 'h23662acf1ce2e2fc // 737 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 730 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 731 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 732 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 733 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 734 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 735 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 736 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 737 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 738 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 739 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 740 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 741 - , `WRITE__CMD, 'h70020008, 'h8d41fb012e95afc0 // 742 - , `WRITE__CMD, 'h70020010, 'hec27d434265306f1 // 743 - , `WRITE__CMD, 'h70020018, 'haaaccae845913501 // 744 - , `WRITE__CMD, 'h70020020, 'hd23bcd240441c5e7 // 745 - , `WRITE__CMD, 'h70020028, 'h0a8620f4988ecce1 // 746 - , `WRITE__CMD, 'h70020030, 'hea822dfb1b5ac2db // 747 - , `WRITE__CMD, 'h70020038, 'h315cee1c7d0e0cd6 // 748 - , `WRITE__CMD, 'h70020040, 'h850e920c4f4372e9 // 749 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 742 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 743 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 744 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 745 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 746 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 747 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 748 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 749 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 750 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 751 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 752 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 753 - , `WRITE__CMD, 'h70020008, 'h67e473f19a8caa1c // 754 - , `WRITE__CMD, 'h70020010, 'hc034b8e316b6d41b // 755 - , `WRITE__CMD, 'h70020018, 'hc96fbce2aa4a8c2a // 756 - , `WRITE__CMD, 'h70020020, 'h233465ec2b1f0400 // 757 - , `WRITE__CMD, 'h70020028, 'h8a65632a07b749cd // 758 - , `WRITE__CMD, 'h70020030, 'hb47ec8ef28473dcf // 759 - , `WRITE__CMD, 'h70020038, 'h0340aee4ee358ad5 // 760 - , `WRITE__CMD, 'h70020040, 'he51101e98a71ef11 // 761 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 754 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 755 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 756 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 757 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 758 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 759 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 760 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 761 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 762 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 763 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 764 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 765 - , `WRITE__CMD, 'h70020008, 'h014754fd1fca6a07 // 766 - , `WRITE__CMD, 'h70020010, 'hbd1e483224aa0e2e // 767 - , `WRITE__CMD, 'h70020018, 'h74265620ee428ff5 // 768 - , `WRITE__CMD, 'h70020020, 'h10845f0175ef880a // 769 - , `WRITE__CMD, 'h70020028, 'h5f268a1359b88bff // 770 - , `WRITE__CMD, 'h70020030, 'h8bbd9ffbb2569ffe // 771 - , `WRITE__CMD, 'h70020038, 'he68bdedfa4463f1d // 772 - , `WRITE__CMD, 'h70020040, 'h31796bef72fe3acb // 773 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 766 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 767 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 768 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 769 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 770 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 771 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 772 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 773 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 774 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 775 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 776 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 777 - , `WRITE__CMD, 'h70020008, 'h71f401facae6cc37 // 778 - , `WRITE__CMD, 'h70020010, 'h89fd23c6ca4e7d3d // 779 - , `WRITE__CMD, 'h70020018, 'hea1d0e004af60c07 // 780 - , `WRITE__CMD, 'h70020020, 'h385e4e16a34a2a24 // 781 - , `WRITE__CMD, 'h70020028, 'hd302a2e393c6c4c2 // 782 - , `WRITE__CMD, 'h70020030, 'h69eef0ee0598dc08 // 783 - , `WRITE__CMD, 'h70020038, 'h580c0f14340babe2 // 784 - , `WRITE__CMD, 'h70020040, 'h56aff7dafc4a50d6 // 785 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 778 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 779 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 780 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 781 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 782 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 783 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 784 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 785 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 786 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 787 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 788 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 789 - , `WRITE__CMD, 'h70020008, 'hdb1d1dcfd0a16234 // 790 - , `WRITE__CMD, 'h70020010, 'hdbd81fd3b91c3df3 // 791 - , `WRITE__CMD, 'h70020018, 'h0a3d6de10cac0ac6 // 792 - , `WRITE__CMD, 'h70020020, 'hd2fd80176d8ba6fc // 793 - , `WRITE__CMD, 'h70020028, 'h73519e103774722d // 794 - , `WRITE__CMD, 'h70020030, 'h2bfa791143d40cf8 // 795 - , `WRITE__CMD, 'h70020038, 'h36223e1c44560709 // 796 - , `WRITE__CMD, 'h70020040, 'hc895a50f440ab0f8 // 797 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 790 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 791 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 792 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 793 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 794 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 795 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 796 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 797 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 798 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 799 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 800 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 801 - , `WRITE__CMD, 'h70020008, 'hb60912d3fa3a67c7 // 802 - , `WRITE__CMD, 'h70020010, 'hc69e2bd30f3f291f // 803 - , `WRITE__CMD, 'h70020018, 'hc8d38bd3bb53d4fb // 804 - , `WRITE__CMD, 'h70020020, 'hcf7b4a3affeab9e3 // 805 - , `WRITE__CMD, 'h70020028, 'h4ac79fdeabe1ccd2 // 806 - , `WRITE__CMD, 'h70020030, 'h6fc85dd7a5a6c6cd // 807 - , `WRITE__CMD, 'h70020038, 'hae608af549227ee8 // 808 - , `WRITE__CMD, 'h70020040, 'ha508d52008998bea // 809 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 802 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 803 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 804 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 805 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 806 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 807 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 808 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 809 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 810 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 811 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 812 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 813 - , `WRITE__CMD, 'h70020008, 'h5ca48e291b059418 // 814 - , `WRITE__CMD, 'h70020010, 'hc93aa10fcdf18000 // 815 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 814 + , `WRITE__CMD, 'h70020010, 'hffffff7fffff8000 // 815 , `WRITE__CMD, 'h70020018, 'h0000000000000000 // 816 , `WRITE__CMD, 'h70020020, 'h0000000000000000 // 817 , `WRITE__CMD, 'h70020028, 'h0000000000000000 // 818 @@ -848,209 +848,209 @@ longint sha256_playback[] = { , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 822 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 823 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 824 - , `RDnCMP_CMD, 'h70020050, 'haabc9180549d5f85 // 825 - , `RDnCMP_CMD, 'h70020058, 'h84e68c28eed14bef // 826 - , `RDnCMP_CMD, 'h70020060, 'h1eb4b19bcf756146 // 827 - , `RDnCMP_CMD, 'h70020068, 'hf67052eb5e60c9b4 // 828 + , `RDnCMP_CMD, 'h70020050, 'hb54af1e28f6999e3 // 825 + , `RDnCMP_CMD, 'h70020058, 'h69836ec3a599647e // 826 + , `RDnCMP_CMD, 'h70020060, 'h14ed557d7df58f63 // 827 + , `RDnCMP_CMD, 'h70020068, 'h2d59a184b7379fc1 // 828 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 829 - , `WRITE__CMD, 'h70020008, 'h72229feaaf3e620d // 830 - , `WRITE__CMD, 'h70020010, 'hf8031cc16263c212 // 831 - , `WRITE__CMD, 'h70020018, 'he0ffc3dcb8a296e2 // 832 - , `WRITE__CMD, 'h70020020, 'hf441d6d2442d50bf // 833 - , `WRITE__CMD, 'h70020028, 'h314239e00f2fcaed // 834 - , `WRITE__CMD, 'h70020030, 'h0d9bb1efbd7845f3 // 835 - , `WRITE__CMD, 'h70020038, 'h5293ab098cf93908 // 836 - , `WRITE__CMD, 'h70020040, 'hd2a9d7cc713160ee // 837 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 830 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 831 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 832 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 833 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 834 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 835 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 836 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 837 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 838 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 839 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 840 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 841 - , `WRITE__CMD, 'h70020008, 'ha8e83cedb4a213e1 // 842 - , `WRITE__CMD, 'h70020010, 'h7e4da6c665e5ff38 // 843 - , `WRITE__CMD, 'h70020018, 'he20b9ae461dbf8f3 // 844 - , `WRITE__CMD, 'h70020020, 'hf61d502a3e0bf419 // 845 - , `WRITE__CMD, 'h70020028, 'h5d5ec6d8aa304de5 // 846 - , `WRITE__CMD, 'h70020030, 'h21480de72eca95f2 // 847 - , `WRITE__CMD, 'h70020038, 'h6e0c582302568208 // 848 - , `WRITE__CMD, 'h70020040, 'h26f82919cb12e001 // 849 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 842 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 843 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 844 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 845 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 846 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 847 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 848 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 849 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 850 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 851 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 852 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 853 - , `WRITE__CMD, 'h70020008, 'ha7fe293bf0a2aa04 // 854 - , `WRITE__CMD, 'h70020010, 'h6fb32b0c6e396105 // 855 - , `WRITE__CMD, 'h70020018, 'hde4cae084b6d02fb // 856 - , `WRITE__CMD, 'h70020020, 'h0a82d01ff3922a06 // 857 - , `WRITE__CMD, 'h70020028, 'h52fbe4d6c0c6aad3 // 858 - , `WRITE__CMD, 'h70020030, 'h712c8cc775e42109 // 859 - , `WRITE__CMD, 'h70020038, 'h4effe61e977ab807 // 860 - , `WRITE__CMD, 'h70020040, 'h38d245eb3fd793d3 // 861 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 854 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 855 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 856 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 857 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 858 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 859 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 860 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 861 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 862 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 863 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 864 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 865 - , `WRITE__CMD, 'h70020008, 'h40a7d9e24eaa992f // 866 - , `WRITE__CMD, 'h70020010, 'h30181a11814489d8 // 867 - , `WRITE__CMD, 'h70020018, 'h6c2e2ee4d87d1501 // 868 - , `WRITE__CMD, 'h70020020, 'hc0559e048d559dfc // 869 - , `WRITE__CMD, 'h70020028, 'h46b9e8c7f8fb4034 // 870 - , `WRITE__CMD, 'h70020030, 'h0195890a946f790d // 871 - , `WRITE__CMD, 'h70020038, 'h0580f8d560590525 // 872 - , `WRITE__CMD, 'h70020040, 'ha90bd2bcf0a416db // 873 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 866 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 867 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 868 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 869 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 870 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 871 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 872 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 873 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 874 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 875 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 876 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 877 - , `WRITE__CMD, 'h70020008, 'h2f94f823bee7dfc5 // 878 - , `WRITE__CMD, 'h70020010, 'h010e74179b194ff5 // 879 - , `WRITE__CMD, 'h70020018, 'h557a2fbf80ca8dca // 880 - , `WRITE__CMD, 'h70020020, 'h44371ce7d1128bf2 // 881 - , `WRITE__CMD, 'h70020028, 'h6c53b3bea2f1a0d8 // 882 - , `WRITE__CMD, 'h70020030, 'hfe1f8cd45f8ff6c2 // 883 - , `WRITE__CMD, 'h70020038, 'ha6e8351ad66b29dc // 884 - , `WRITE__CMD, 'h70020040, 'h3e98860737062f2d // 885 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 878 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 879 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 880 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 881 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 882 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 883 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 884 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 885 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 886 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 887 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 888 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 889 - , `WRITE__CMD, 'h70020008, 'hc88707e76efc1d36 // 890 - , `WRITE__CMD, 'h70020010, 'haa8153e1468110d2 // 891 - , `WRITE__CMD, 'h70020018, 'heec25917d7357d17 // 892 - , `WRITE__CMD, 'h70020020, 'h3282ad338e26bbea // 893 - , `WRITE__CMD, 'h70020028, 'h7c1a0d308c8af717 // 894 - , `WRITE__CMD, 'h70020030, 'h02c037ce48d857c3 // 895 - , `WRITE__CMD, 'h70020038, 'h5dbf18c2413e8d39 // 896 - , `WRITE__CMD, 'h70020040, 'h963fd0007c163804 // 897 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 890 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 891 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 892 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 893 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 894 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 895 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 896 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 897 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 898 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 899 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 900 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 901 - , `WRITE__CMD, 'h70020008, 'hfa0d0a2d7e11142c // 902 - , `WRITE__CMD, 'h70020010, 'hd0f640fda402bdcd // 903 - , `WRITE__CMD, 'h70020018, 'h1108b7db8b305cc6 // 904 - , `WRITE__CMD, 'h70020020, 'h3b4557220b9bc9e6 // 905 - , `WRITE__CMD, 'h70020028, 'h80f2ab19d10355be // 906 - , `WRITE__CMD, 'h70020030, 'h82a57ce12a275e1f // 907 - , `WRITE__CMD, 'h70020038, 'h2b4f8dcb41e8441b // 908 - , `WRITE__CMD, 'h70020040, 'hfa0840f742f78ec4 // 909 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 902 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 903 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 904 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 905 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 906 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 907 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 908 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 909 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 910 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 911 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 912 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 913 - , `WRITE__CMD, 'h70020008, 'hcda6a2ea89018c24 // 914 - , `WRITE__CMD, 'h70020010, 'hdd1588dcb3b644c1 // 915 - , `WRITE__CMD, 'h70020018, 'h138ebf0ce4cb88ec // 916 - , `WRITE__CMD, 'h70020020, 'h2ea05737b8fbc6e4 // 917 - , `WRITE__CMD, 'h70020028, 'h2dfc330d15656d2e // 918 - , `WRITE__CMD, 'h70020030, 'h9f8f89e6ce408280 // 919 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 914 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 915 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 916 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 917 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 918 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff80 // 919 , `WRITE__CMD, 'h70020038, 'h0000000000000000 // 920 , `WRITE__CMD, 'h70020040, 'h0000000000000f78 // 921 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 922 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 923 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 924 - , `RDnCMP_CMD, 'h70020050, 'ha48e7f10591bf980 // 925 - , `RDnCMP_CMD, 'h70020058, 'hf16698607438951a // 926 - , `RDnCMP_CMD, 'h70020060, 'h0f51c044b4d6ef9c // 927 - , `RDnCMP_CMD, 'h70020068, 'hb539f0161d99a4e4 // 928 + , `RDnCMP_CMD, 'h70020050, 'h97067fa1e801b695 // 925 + , `RDnCMP_CMD, 'h70020058, 'h0bc886221147e930 // 926 + , `RDnCMP_CMD, 'h70020060, 'h040d547d40bb59c7 // 927 + , `RDnCMP_CMD, 'h70020068, 'h6c3ea871ba71aa23 // 928 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 929 - , `WRITE__CMD, 'h70020008, 'hf24c6d1d0747c2d5 // 930 - , `WRITE__CMD, 'h70020010, 'h2efbe03417cd54e3 // 931 - , `WRITE__CMD, 'h70020018, 'h1db22de4b6098625 // 932 - , `WRITE__CMD, 'h70020020, 'h70b43306327c9610 // 933 - , `WRITE__CMD, 'h70020028, 'hdd9876e846f5b313 // 934 - , `WRITE__CMD, 'h70020030, 'ha0efd7ca9174ca03 // 935 - , `WRITE__CMD, 'h70020038, 'h1407e4ec85f0c4e9 // 936 - , `WRITE__CMD, 'h70020040, 'h0b4ed6d601d83704 // 937 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 930 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 931 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 932 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 933 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 934 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 935 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 936 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 937 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 938 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 939 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 940 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 941 - , `WRITE__CMD, 'h70020008, 'h45d304ff98160b20 // 942 - , `WRITE__CMD, 'h70020010, 'h9bd6fb2bdf5d7924 // 943 - , `WRITE__CMD, 'h70020018, 'hcbd1ed21e0de1bbb // 944 - , `WRITE__CMD, 'h70020020, 'h2302701d6a7955d4 // 945 - , `WRITE__CMD, 'h70020028, 'h62d21a0257e8ad00 // 946 - , `WRITE__CMD, 'h70020030, 'h1816f738d2b371e7 // 947 - , `WRITE__CMD, 'h70020038, 'ha1eec3e9adcfe218 // 948 - , `WRITE__CMD, 'h70020040, 'hcb9a6718d817bfd8 // 949 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 942 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 943 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 944 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 945 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 946 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 947 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 948 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 949 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 950 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 951 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 952 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 953 - , `WRITE__CMD, 'h70020008, 'h5420730957353ff4 // 954 - , `WRITE__CMD, 'h70020010, 'hc806adfbd90bd4c7 // 955 - , `WRITE__CMD, 'h70020018, 'hf70f58f9aaad1c15 // 956 - , `WRITE__CMD, 'h70020020, 'h8f61c0fb1ee54d09 // 957 - , `WRITE__CMD, 'h70020028, 'hf679f707a63c00d2 // 958 - , `WRITE__CMD, 'h70020030, 'h76eddd1b76de8c2c // 959 - , `WRITE__CMD, 'h70020038, 'h0a9641f7348304e9 // 960 - , `WRITE__CMD, 'h70020040, 'hb0c0111bb0729ec9 // 961 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 954 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 955 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 956 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 957 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 958 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 959 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 960 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 961 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 962 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 963 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 964 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 965 - , `WRITE__CMD, 'h70020008, 'hb368ed1c1983b322 // 966 - , `WRITE__CMD, 'h70020010, 'h9532bfd76eda240e // 967 - , `WRITE__CMD, 'h70020018, 'hc74831184c572cd6 // 968 - , `WRITE__CMD, 'h70020020, 'h56be12d4d4a171db // 969 - , `WRITE__CMD, 'h70020028, 'h11488328ac61742b // 970 - , `WRITE__CMD, 'h70020030, 'h9787efde23d99110 // 971 - , `WRITE__CMD, 'h70020038, 'h757f20fe1884f3f2 // 972 - , `WRITE__CMD, 'h70020040, 'haebe3a2cd9f40afa // 973 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 966 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 967 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 968 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 969 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 970 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 971 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 972 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 973 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 974 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 975 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 976 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 977 - , `WRITE__CMD, 'h70020008, 'hf08020d94c750ac9 // 978 - , `WRITE__CMD, 'h70020010, 'hfd6c2d1c553f9cba // 979 - , `WRITE__CMD, 'h70020018, 'hc2cefb1c9089b1bd // 980 - , `WRITE__CMD, 'h70020020, 'h429e63f8273c1009 // 981 - , `WRITE__CMD, 'h70020028, 'ha2b3701d5ce311d7 // 982 - , `WRITE__CMD, 'h70020030, 'h98bc27e7ce3ce4ee // 983 - , `WRITE__CMD, 'h70020038, 'h5d8e572f3080a7df // 984 - , `WRITE__CMD, 'h70020040, 'ha913e611449a2717 // 985 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 978 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 979 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 980 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 981 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 982 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 983 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 984 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 985 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 986 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 987 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 988 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 989 - , `WRITE__CMD, 'h70020008, 'h97a69b253f927bf1 // 990 - , `WRITE__CMD, 'h70020010, 'h4e489fc499bc44ef // 991 - , `WRITE__CMD, 'h70020018, 'h510518c30583843f // 992 - , `WRITE__CMD, 'h70020020, 'hdca16fec91456b2e // 993 - , `WRITE__CMD, 'h70020028, 'he00435d60e646438 // 994 - , `WRITE__CMD, 'h70020030, 'h64e7c0da7de2e0fc // 995 - , `WRITE__CMD, 'h70020038, 'hb9b324094eb6ae30 // 996 - , `WRITE__CMD, 'h70020040, 'hc8cdab20586b490c // 997 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 990 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 991 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 992 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 993 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 994 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 995 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 996 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 997 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 998 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 999 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1000 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1001 - , `WRITE__CMD, 'h70020008, 'hc1100ae97b5e1f32 // 1002 - , `WRITE__CMD, 'h70020010, 'h0acd1a2a1c87bed4 // 1003 - , `WRITE__CMD, 'h70020018, 'h6b31d8e2516c401c // 1004 - , `WRITE__CMD, 'h70020020, 'h5c8fba387560b0d2 // 1005 - , `WRITE__CMD, 'h70020028, 'h1bf38dd879ce04d7 // 1006 - , `WRITE__CMD, 'h70020030, 'hb85d82c4a48ad722 // 1007 - , `WRITE__CMD, 'h70020038, 'h6f7d69e171d03c03 // 1008 - , `WRITE__CMD, 'h70020040, 'h63d83d19fb20a725 // 1009 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1002 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1003 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1004 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1005 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1006 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1007 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1008 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1009 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1010 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1011 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1012 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1013 - , `WRITE__CMD, 'h70020008, 'h2c60c6e5714aa229 // 1014 - , `WRITE__CMD, 'h70020010, 'hf33685110ca8f6be // 1015 - , `WRITE__CMD, 'h70020018, 'h65b762f0eaee04e7 // 1016 - , `WRITE__CMD, 'h70020020, 'h699067cc25e318dd // 1017 - , `WRITE__CMD, 'h70020028, 'hc042e8e8bb8ff4cb // 1018 - , `WRITE__CMD, 'h70020030, 'h49b95b28babf8008 // 1019 - , `WRITE__CMD, 'h70020038, 'hec25eaedafccd6fa // 1020 - , `WRITE__CMD, 'h70020040, 'ha63a7ffd890f562a // 1021 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1014 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1015 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1016 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1017 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1018 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1019 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1020 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1021 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1022 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1023 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1024 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1025 - , `WRITE__CMD, 'h70020008, 'h64f0adfa8518e5e4 // 1026 - , `WRITE__CMD, 'h70020010, 'hdc9e2c3b8f0cc9f3 // 1027 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1026 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1027 , `WRITE__CMD, 'h70020018, 'h8000000000000000 // 1028 , `WRITE__CMD, 'h70020020, 'h0000000000000000 // 1029 , `WRITE__CMD, 'h70020028, 'h0000000000000000 // 1030 @@ -1060,122 +1060,122 @@ longint sha256_playback[] = { , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1034 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1035 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1036 - , `RDnCMP_CMD, 'h70020050, 'h23ae219319ca778f // 1037 - , `RDnCMP_CMD, 'h70020058, 'h0fd57f898e5d197f // 1038 - , `RDnCMP_CMD, 'h70020060, 'h3541675dfd556ff8 // 1039 - , `RDnCMP_CMD, 'h70020068, 'h69998addbe3b7348 // 1040 + , `RDnCMP_CMD, 'h70020050, 'h8d6a4a37a6318625 // 1037 + , `RDnCMP_CMD, 'h70020058, 'ha76c69947ef5bc21 // 1038 + , `RDnCMP_CMD, 'h70020060, 'hbe46789a22a3d9b9 // 1039 + , `RDnCMP_CMD, 'h70020068, 'hf8a7804a6df3261f // 1040 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1041 - , `WRITE__CMD, 'h70020008, 'hc2fcb3b8d6a75afb // 1042 - , `WRITE__CMD, 'h70020010, 'h314a171c40ffb0ec // 1043 - , `WRITE__CMD, 'h70020018, 'hcee083d30902f420 // 1044 - , `WRITE__CMD, 'h70020020, 'h1258febae66cf2dd // 1045 - , `WRITE__CMD, 'h70020028, 'hcff295238c424520 // 1046 - , `WRITE__CMD, 'h70020030, 'h3d94c104940931f2 // 1047 - , `WRITE__CMD, 'h70020038, 'hd45d9fedd9661fe6 // 1048 - , `WRITE__CMD, 'h70020040, 'h9711443ca07823c8 // 1049 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1042 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1043 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1044 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1045 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1046 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1047 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1048 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1049 , `WRITE__CMD, 'h70020000, 'h0000000000000002 // 1050 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1051 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1052 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1053 - , `WRITE__CMD, 'h70020008, 'h95f797f94a17e726 // 1054 - , `WRITE__CMD, 'h70020010, 'h24fc621138caa708 // 1055 - , `WRITE__CMD, 'h70020018, 'h878a6d2fc6331e11 // 1056 - , `WRITE__CMD, 'h70020020, 'h51d516df43dc9a03 // 1057 - , `WRITE__CMD, 'h70020028, 'h3cab74de99ed1d12 // 1058 - , `WRITE__CMD, 'h70020030, 'ha79766ba415cdf17 // 1059 - , `WRITE__CMD, 'h70020038, 'hf9cfb6feb16e0b2a // 1060 - , `WRITE__CMD, 'h70020040, 'h4e77df024d59a3d7 // 1061 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1054 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1055 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1056 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1057 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1058 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1059 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1060 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1061 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1062 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1063 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1064 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1065 - , `WRITE__CMD, 'h70020008, 'h0d9b050bffa031e7 // 1066 - , `WRITE__CMD, 'h70020010, 'h65762638a209a1bd // 1067 - , `WRITE__CMD, 'h70020018, 'h386039d1df02e822 // 1068 - , `WRITE__CMD, 'h70020020, 'h7cfae7020b68ba1c // 1069 - , `WRITE__CMD, 'h70020028, 'hf6c4ba1107302b31 // 1070 - , `WRITE__CMD, 'h70020030, 'hd7a897cf4955e7f6 // 1071 - , `WRITE__CMD, 'h70020038, 'he09a0cefa752f9ea // 1072 - , `WRITE__CMD, 'h70020040, 'hcf182afb0141eed7 // 1073 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1066 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1067 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1068 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1069 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1070 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1071 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1072 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1073 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1074 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1075 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1076 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1077 - , `WRITE__CMD, 'h70020008, 'h0739053775b8fe32 // 1078 - , `WRITE__CMD, 'h70020010, 'hf9a8f12ccbe94634 // 1079 - , `WRITE__CMD, 'h70020018, 'he76180e8eb99cec8 // 1080 - , `WRITE__CMD, 'h70020020, 'h76a5a205b6858f38 // 1081 - , `WRITE__CMD, 'h70020028, 'h7b14901fb35bb811 // 1082 - , `WRITE__CMD, 'h70020030, 'h972f85ea34c28af0 // 1083 - , `WRITE__CMD, 'h70020038, 'hc6fc52e5cddb2e2c // 1084 - , `WRITE__CMD, 'h70020040, 'h19fdc9b88fbce42f // 1085 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1078 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1079 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1080 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1081 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1082 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1083 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1084 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1085 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1086 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1087 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1088 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1089 - , `WRITE__CMD, 'h70020008, 'hee0671dc10db6bc5 // 1090 - , `WRITE__CMD, 'h70020010, 'h2430511dcbe7e620 // 1091 - , `WRITE__CMD, 'h70020018, 'h5c276714f212b9c7 // 1092 - , `WRITE__CMD, 'h70020020, 'hc6627d1b9825c610 // 1093 - , `WRITE__CMD, 'h70020028, 'h1d217d03d63869f8 // 1094 - , `WRITE__CMD, 'h70020030, 'hdb44b62947f093c8 // 1095 - , `WRITE__CMD, 'h70020038, 'h847249d0f20952ea // 1096 - , `WRITE__CMD, 'h70020040, 'hbe8e53c4b954b228 // 1097 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1090 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1091 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1092 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1093 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1094 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1095 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1096 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1097 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1098 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1099 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1100 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1101 - , `WRITE__CMD, 'h70020008, 'hcad307d317cc19c2 // 1102 - , `WRITE__CMD, 'h70020010, 'h29f27bffa4c844dd // 1103 - , `WRITE__CMD, 'h70020018, 'hf1b8f63d660ed5ed // 1104 - , `WRITE__CMD, 'h70020020, 'hb640c8f1382194bf // 1105 - , `WRITE__CMD, 'h70020028, 'he1b755edaf3f1d27 // 1106 - , `WRITE__CMD, 'h70020030, 'hdfb84df54e61603b // 1107 - , `WRITE__CMD, 'h70020038, 'h89627e13be2b28d5 // 1108 - , `WRITE__CMD, 'h70020040, 'h8420c23201cd830b // 1109 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1102 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1103 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1104 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1105 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1106 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1107 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1108 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1109 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1110 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1111 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1112 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1113 - , `WRITE__CMD, 'h70020008, 'h05b95edadb36fb2b // 1114 - , `WRITE__CMD, 'h70020010, 'h9e21cf2eb67c96e3 // 1115 - , `WRITE__CMD, 'h70020018, 'h4f90d7c5f4b295f2 // 1116 - , `WRITE__CMD, 'h70020020, 'h087b3c12d51c55bb // 1117 - , `WRITE__CMD, 'h70020028, 'h538ae9c6c34c3b3f // 1118 - , `WRITE__CMD, 'h70020030, 'h92dab1ff9ab70e12 // 1119 - , `WRITE__CMD, 'h70020038, 'h1f2a400606bdf8bd // 1120 - , `WRITE__CMD, 'h70020040, 'h9505f4e940d29a04 // 1121 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1114 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1115 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1116 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1117 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1118 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1119 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1120 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1121 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1122 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1123 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1124 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1125 - , `WRITE__CMD, 'h70020008, 'h08e114e6c9d51dfc // 1126 - , `WRITE__CMD, 'h70020010, 'h0e6adcde80bd33fc // 1127 - , `WRITE__CMD, 'h70020018, 'h673d4301e45ad936 // 1128 - , `WRITE__CMD, 'h70020020, 'ha8ee5be326eecf24 // 1129 - , `WRITE__CMD, 'h70020028, 'hf48d3ce4e5ba4417 // 1130 - , `WRITE__CMD, 'h70020030, 'hb11cd7196f916d09 // 1131 - , `WRITE__CMD, 'h70020038, 'h643734dca0940afb // 1132 - , `WRITE__CMD, 'h70020040, 'h91e640217be0c5dd // 1133 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1126 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1127 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1128 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1129 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1130 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1131 + , `WRITE__CMD, 'h70020038, 'hffffff7fffffff7f // 1132 + , `WRITE__CMD, 'h70020040, 'hffffff7fffffff7f // 1133 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1134 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1135 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1136 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1137 - , `WRITE__CMD, 'h70020008, 'hc9ee94d35725bf30 // 1138 - , `WRITE__CMD, 'h70020010, 'he86f64bb06e67a10 // 1139 - , `WRITE__CMD, 'h70020018, 'h2066c516eb1576d0 // 1140 - , `WRITE__CMD, 'h70020020, 'hbdf440cb5f9c35de // 1141 - , `WRITE__CMD, 'h70020028, 'hc953fa1fe2008fd3 // 1142 - , `WRITE__CMD, 'h70020030, 'h469db9d2e7676026 // 1143 - , `WRITE__CMD, 'h70020038, 'h1180000000000000 // 1144 + , `WRITE__CMD, 'h70020008, 'hffffff7fffffff7f // 1138 + , `WRITE__CMD, 'h70020010, 'hffffff7fffffff7f // 1139 + , `WRITE__CMD, 'h70020018, 'hffffff7fffffff7f // 1140 + , `WRITE__CMD, 'h70020020, 'hffffff7fffffff7f // 1141 + , `WRITE__CMD, 'h70020028, 'hffffff7fffffff7f // 1142 + , `WRITE__CMD, 'h70020030, 'hffffff7fffffff7f // 1143 + , `WRITE__CMD, 'h70020038, 'hff80000000000000 // 1144 , `WRITE__CMD, 'h70020040, 'h0000000000001188 // 1145 , `WRITE__CMD, 'h70020000, 'h0000000000000004 // 1146 , `WRITE__CMD, 'h70020000, 'h0000000000000000 // 1147 , `RDSPIN_CMD, 'h70020048, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1148 - , `RDnCMP_CMD, 'h70020050, 'h69e4d785ca2592eb // 1149 - , `RDnCMP_CMD, 'h70020058, 'h9bb5c4dc4c854d73 // 1150 - , `RDnCMP_CMD, 'h70020060, 'h0e6a9cd533735110 // 1151 - , `RDnCMP_CMD, 'h70020068, 'ha915f48776d19a0c // 1152 + , `RDnCMP_CMD, 'h70020050, 'hfc67c4c6b17f6d92 // 1149 + , `RDnCMP_CMD, 'h70020058, 'h65b383a882137d17 // 1150 + , `RDnCMP_CMD, 'h70020060, 'h3a74d2d6fb87d710 // 1151 + , `RDnCMP_CMD, 'h70020068, 'hfe08f1abf5bd1600 // 1152 , `RDSPIN_CMD, 'h70020000, 'h0000000000000001, 'hffffffffffffffff, 'h64 // 1153 , `WRITE__CMD, 'h70020008, 'h3f26432323d59802 // 1154 , `WRITE__CMD, 'h70020010, 'h60c6e42f2d967942 // 1155 diff --git a/unit_simulation/aes_sim/aes_stimulus.txt.gz b/unit_simulation/aes_sim/aes_stimulus.txt.gz index 6dc991a46ed360dba51f632f676f898e070515a8..e94ea2a357573b6f02484560ed46be54d12bf934 100644 GIT binary patch delta 18 acmX?cmhr?{Mt1pb4i43rr5o7~rU3v&jt27p delta 18 acmX?cmhr?{Mt1pb4vxarr5o7~rU3v*j0au- diff --git a/unit_simulation/des3_sim/des3_stimulus.txt.gz b/unit_simulation/des3_sim/des3_stimulus.txt.gz index e12e974ec456f4fdcc30d9c3a74478ca369d3f49..296c9f19cad5a3402f989f7354131989d2ff81e1 100644 GIT binary patch delta 19984 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 Jl#9WX{{`{fbc+B0 delta 32876 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 MmAq52xxrih4UCP>>i_@% literal 15755 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 diff --git a/unit_simulation/iir_sim/iir_stimulus.txt.gz b/unit_simulation/iir_sim/iir_stimulus.txt.gz index 99495d852a0e19f0d03f32ce18794dc2ebcde9e8..cd2a3ea104a054673086bbdf7d60e0282c5a6b7c 100644 GIT binary patch literal 13892 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 ZmJ@l7T^0Tz;sTlC`?6+Fe4pY6{{c3Hqc8vf literal 16969 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 delta 24 gcmezMj{Da;Zg%-@4i4iDrH$;Z?2KF4nTo#y0D$@lJpcdz diff --git a/unit_simulation/rsa_sim/rsa_stimulus.txt.gz b/unit_simulation/rsa_sim/rsa_stimulus.txt.gz index c9ae418b55ab7a8f369c63e8b63e4488e8ea31af..1796a8f765cb5dbe6019c7a32b5c49a2d2c0b7c0 100644 GIT binary patch literal 500610 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 z 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 literal 507646 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 diff --git a/unit_simulation/sha256_sim/sha256_stimulus.txt.gz b/unit_simulation/sha256_sim/sha256_stimulus.txt.gz index f92f8a6384e65a93d59f07e3927cb0a31bf1c2a6..bf294b5d65c64fe739ec38aca3657140d12fe36a 100644 GIT binary patch literal 82519 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 literal 88166 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 D(W{RP