From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 420F62C37 for ; Thu, 21 Apr 2016 19:33:11 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 21 Apr 2016 10:33:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,513,1455004800"; d="scan'208";a="937407053" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 21 Apr 2016 10:33:09 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 21 Apr 2016 10:33:07 -0700 Received: from lcsmsx153.ger.corp.intel.com (10.186.165.228) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 21 Apr 2016 10:33:06 -0700 Received: from HASMSX110.ger.corp.intel.com ([169.254.11.243]) by LCSMSX153.ger.corp.intel.com ([169.254.8.65]) with mapi id 14.03.0248.002; Thu, 21 Apr 2016 20:33:04 +0300 From: "Rosen, Rami" To: "dev@dpdk.org" CC: "Rosen, Rami" Thread-Topic: [PATCH 1/1] add writing registers Thread-Index: AQHRm/KEI4PZwDQ3Bk+ivnJo7l+iuZ+Ur62g Date: Thu, 21 Apr 2016 17:33:02 +0000 Message-ID: <9B0331B6EBBD0E4684FBFAEDA55776F92CC53434@HASMSX110.ger.corp.intel.com> References: <1461259465-6515-1-git-send-email-rami.rosen@intel.com> In-Reply-To: <1461259465-6515-1-git-send-email-rami.rosen@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWYyZDJjNmQtYmE2Yi00ZmI5LWIyZDMtZTk2YTQ5NTlhNzFhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IldyMHNWa3NzMm9kdUhQK1BRcjE3Y2VKNkZIT2t5TUlqYnZlMVwva2RsNWlrPSJ9 x-ctpclassification: CTP_IC x-originating-ip: [10.184.70.11] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 1/1] add writing registers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Apr 2016 17:33:13 -0000 Please ignore, this is a wrong patch=20 -----Original Message----- From: Rosen, Rami=20 Sent: Thursday, April 21, 2016 8:24 PM To: dev@dpdk.org Cc: Rosen, Rami Subject: [PATCH 1/1] add writing registers Change-Id: Iaeeefcbc29d109fef17797d6a888cf2448499646 Signed-off-by: Rami Rosen --- fvlproto/build.sh | 4 + fvlproto/config.c | 7 + fvlproto/myMakefile | 29 + fvlproto/mybuild.sh | 5 + fvlproto/regs.txt | 78 ++ fvlproto/regs.txt.org | 1998 +++++++++++++++++++++++++++++++++++++++++++= ++++ fvlproto/run.sh | 20 + fvlproto/test/Makefile | 29 + fvlproto/test/readreg.c | 167 ++++ fvlproto/test/run.sh | 3 + 10 files changed, 2340 insertions(+) create mode 100755 fvlproto/build.sh create mode 100644 fvlproto/myMakefile create mode 100755 fvlproto/mybuild.sh create mode 100644 fvlproto/regs.txt create mode 100644 fvlproto/regs.txt.org create mode 100644 fvlproto/run.sh create mode 100644 fvlproto/test/Makefile create mode 100644 fvlproto/test/readreg.c create mode 100644 fvlproto/test/run.sh diff --git a/fvlproto/build.sh b/fvlproto/build.sh new file mode 100755 index 0000000..bfffb6b --- /dev/null +++ b/fvlproto/build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +export RTE_SDK=3D/work/src/dpdk-16.04 +make diff --git a/fvlproto/config.c b/fvlproto/config.c index f7db457..1659154 100644 --- a/fvlproto/config.c +++ b/fvlproto/config.c @@ -148,6 +148,9 @@ static void parse_print_regs_input(const char *arg) char input_line[256]; char *address, *val, *curr; const char delimiters[] =3D " "; + uint32_t reg; + uint32_t value; + char *eptr; =20 if (arg =3D=3D NULL) return; @@ -166,6 +169,10 @@ static void parse_print_regs_input(const char *arg) address =3D strtok(NULL, delimiters); val =3D strtok(NULL, delimiters); printf("addess=3D%s val=3D%s\n", address, val); + reg =3D strtol(address, &eptr, 16); + value =3D strtol(val, &eptr, 16); + printf("Writing reg=3D%x value=3D%x\n", reg, value); + i40e_dev_reg_write(app.nic_rx_port, reg, value, 0); } =20 fclose(file); diff --git a/fvlproto/myMakefile b/fvlproto/myMakefile new file mode 100644 index 0000000..00b878b --- /dev/null +++ b/fvlproto/myMakefile @@ -0,0 +1,29 @@ +# BSD LICENSE + +ifeq ($(RTE_SDK),) +$(error "Please define RTE_SDK environment variable") +endif + +# Default target, can be overriden by command line or environment +RTE_TARGET ?=3D x86_64-native-linuxapp-gcc + +include $(RTE_SDK)/mk/rte.vars.mk + +# binary name +APP =3D readreg + +# all source are stored in SRCS-y +SRCS-y :=3D readreg.c + +CFLAGS +=3D -O3 -g +CFLAGS +=3D $(WERROR_FLAGS) +#CFLAGS_config.o :=3D -D_GNU_SOURCE + +# workaround for a gcc bug with noreturn attribute +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D12603 +ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) +#CFLAGS_main.o +=3D -Wno-return-type +CFLAGS_readreg.o +=3D -Wno-return-type +endif + +include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/fvlproto/mybuild.sh b/fvlproto/mybuild.sh new file mode 100755 index 0000000..55b89f1 --- /dev/null +++ b/fvlproto/mybuild.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +export RTE_SDK=3D/work/src/dpdk-16.04 +make -f myMakefile + diff --git a/fvlproto/regs.txt b/fvlproto/regs.txt new file mode 100644 index 0000000..68f9ef3 --- /dev/null +++ b/fvlproto/regs.txt @@ -0,0 +1,78 @@ + write 0x1c0a90 0x5 =20 + write 0x1c0a9c 0x3180c =20 + write 0x1c0aa0 0x20000096 =20 + write 0x1c0aa4 0x5 =20 + write 0x1c0aa8 0x3180c =20 + write 0x1c0aac 0x20000096 =20 + write 0x1c0a90 0x305 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0xb =20 + write 0x1c0aa4 0x305 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0xb =20 + write 0x1c0a90 0x110 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x28000cb =20 + write 0x1c0aa4 0x110 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x28000cb =20 + write 0x1c0a90 0x111 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x280000b =20 + write 0x1c0aa4 0x111 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x280000b =20 + write 0x1c0a90 0x113 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2c4a7d5 =20 + write 0x1c0aa4 0x113 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2c4a7d5 =20 + write 0x1c0a90 0x114 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2800219 =20 + write 0x1c0aa4 0x114 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2800219 =20 + write 0x1c0a90 0x115 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x280031b =20 + write 0x1c0aa4 0x115 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x280031b =20 + write 0x1c0a90 0x138 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2b2ac41 =20 + write 0x1c0aa4 0x138 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2b2ac41 =20 + write 0x1c0a90 0x139 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2840019 =20 + write 0x1c0aa4 0x139 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2840019 =20 + write 0x1c0a90 0x13a =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2c36e9b =20 + write 0x1c0aa4 0x13a =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2c36e9b =20 + write 0x1c0a90 0x13b =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2c0803f =20 + write 0x1c0aa4 0x13b =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2c0803f =20 + write 0x1c0a90 0x5a7 =20 + write 0x1c0a9c 0x21 =20 + write 0x1c0aa0 0x4c8bffff =20 + write 0x1c0aa4 0x5a7 =20 + write 0x1c0aa8 0x21 =20 + write 0x1c0aac 0x4c8bffff =20 + write 0x51040 0x4ce =20 + write 0x5104c 0x1a7 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8ce =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 \ No newline at end of file diff --git a/fvlproto/regs.txt.org b/fvlproto/regs.txt.org new file mode 100644 index 0000000..754fc08 --- /dev/null +++ b/fvlproto/regs.txt.org @@ -0,0 +1,1998 @@ + write 0x1c0a90 0x5 =20 + write 0x1c0a9c 0x3180c =20 + write 0x1c0aa0 0x20000096 =20 + write 0x1c0aa4 0x5 =20 + write 0x1c0aa8 0x3180c =20 + write 0x1c0aac 0x20000096 =20 + write 0x1c0a90 0x305 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0xb =20 + write 0x1c0aa4 0x305 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0xb =20 + write 0x1c0a90 0x110 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x28000cb =20 + write 0x1c0aa4 0x110 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x28000cb =20 + write 0x1c0a90 0x111 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x280000b =20 + write 0x1c0aa4 0x111 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x280000b =20 + write 0x1c0a90 0x113 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2c4a7d5 =20 + write 0x1c0aa4 0x113 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2c4a7d5 =20 + write 0x1c0a90 0x114 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2800219 =20 + write 0x1c0aa4 0x114 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2800219 =20 + write 0x1c0a90 0x115 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x280031b =20 + write 0x1c0aa4 0x115 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x280031b =20 + write 0x1c0a90 0x138 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2b2ac41 =20 + write 0x1c0aa4 0x138 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2b2ac41 =20 + write 0x1c0a90 0x139 =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2840019 =20 + write 0x1c0aa4 0x139 =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2840019 =20 + write 0x1c0a90 0x13a =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2c36e9b =20 + write 0x1c0aa4 0x13a =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2c36e9b =20 + write 0x1c0a90 0x13b =20 + write 0x1c0a9c 0x0 =20 + write 0x1c0aa0 0x2c0803f =20 + write 0x1c0aa4 0x13b =20 + write 0x1c0aa8 0x0 =20 + write 0x1c0aac 0x2c0803f =20 + write 0x1c0a90 0x500 =20 + write 0x1c0a9c 0xf =20 + write 0x1c0aa0 0xffffffff =20 + write 0x1c0aa4 0x500 =20 + write 0x1c0aa8 0xf =20 + write 0x1c0aac 0xffffffff =20 + write 0x1c0a90 0x501 =20 + write 0x1c0a9c 0x8 =20 + write 0x1c0aa0 0x7fffffff =20 + write 0x1c0aa4 0x501 =20 + write 0x1c0aa8 0x8 =20 + write 0x1c0aac 0x7fffffff =20 + write 0x1c0a90 0x502 =20 + write 0x1c0a9c 0x10 =20 + write 0x1c0aa0 0x21ffffff =20 + write 0x1c0aa4 0x502 =20 + write 0x1c0aa8 0x10 =20 + write 0x1c0aac 0x21ffffff =20 + write 0x1c0a90 0x503 =20 + write 0x1c0a9c 0x10 =20 + write 0x1c0aa0 0x61ffffff =20 + write 0x1c0aa4 0x503 =20 + write 0x1c0aa8 0x10 =20 + write 0x1c0aac 0x61ffffff =20 + write 0x1c0a90 0x504 =20 + write 0x1c0a9c 0x1f =20 + write 0x1c0aa0 0xe1ffffff =20 + write 0x1c0aa4 0x504 =20 + write 0x1c0aa8 0x1f =20 + write 0x1c0aac 0xe1ffffff =20 + write 0x1c0a90 0x505 =20 + write 0x1c0a9c 0x1f =20 + write 0x1c0aa0 0xe1ffffff =20 + write 0x1c0aa4 0x505 =20 + write 0x1c0aa8 0x1f =20 + write 0x1c0aac 0xe1ffffff =20 + write 0x1c0a90 0x506 =20 + write 0x1c0a9c 0x11 =20 + write 0x1c0aa0 0x21ffffff =20 + write 0x1c0aa4 0x506 =20 + write 0x1c0aa8 0x11 =20 + write 0x1c0aac 0x21ffffff =20 + write 0x1c0a90 0x507 =20 + write 0x1c0a9c 0x1f =20 + write 0x1c0aa0 0xe1ffffff =20 + write 0x1c0aa4 0x507 =20 + write 0x1c0aa8 0x1f =20 + write 0x1c0aac 0xe1ffffff =20 + write 0x1c0a90 0x508 =20 + write 0x1c0a9c 0x1f =20 + write 0x1c0aa0 0xe1ffffff =20 + write 0x1c0aa4 0x508 =20 + write 0x1c0aa8 0x1f =20 + write 0x1c0aac 0xe1ffffff =20 + write 0x1c0a90 0x509 =20 + write 0x1c0a9c 0x1f =20 + write 0x1c0aa0 0xe1ffffff =20 + write 0x1c0aa4 0x509 =20 + write 0x1c0aa8 0x1f =20 + write 0x1c0aac 0xe1ffffff =20 + write 0x1c0a90 0x50a =20 + write 0x1c0a9c 0x12 =20 + write 0x1c0aa0 0x21ffffff =20 + write 0x1c0aa4 0x50a =20 + write 0x1c0aa8 0x12 =20 + write 0x1c0aac 0x21ffffff =20 + write 0x1c0a90 0x50b =20 + write 0x1c0a9c 0x12 =20 + write 0x1c0aa0 0x61ffffff =20 + write 0x1c0aa4 0x50b =20 + write 0x1c0aa8 0x12 =20 + write 0x1c0aac 0x61ffffff =20 + write 0x1c0a90 0x50c =20 + write 0x1c0a9c 0x1f =20 + write 0x1c0aa0 0xe2ffffff =20 + write 0x1c0aa4 0x50c =20 + write 0x1c0aa8 0x1f =20 + write 0x1c0aac 0xe2ffffff =20 + write 0x1c0a90 0x50d =20 + write 0x1c0a9c 0x2f =20 + write 0x1c0aa0 0xff8bffff =20 + write 0x1c0aa4 0x50d =20 + write 0x1c0aa8 0x2f =20 + write 0x1c0aac 0xff8bffff =20 + write 0x1c0a90 0x50e =20 + write 0x1c0a9c 0x2f =20 + write 0x1c0aa0 0xff8bffff =20 + write 0x1c0aa4 0x50e =20 + write 0x1c0aa8 0x2f =20 + write 0x1c0aac 0xff8bffff =20 + write 0x1c0a90 0x50f =20 + write 0x1c0a9c 0x2f =20 + write 0x1c0aa0 0xff8bffff =20 + write 0x1c0aa4 0x50f =20 + write 0x1c0aa8 0x2f =20 + write 0x1c0aac 0xff8bffff =20 + write 0x1c0a90 0x510 =20 + write 0x1c0a9c 0x2f =20 + write 0x1c0aa0 0xff8bffff =20 + write 0x1c0aa4 0x510 =20 + write 0x1c0aa8 0x2f =20 + write 0x1c0aac 0xff8bffff =20 + write 0x1c0a90 0x511 =20 + write 0x1c0a9c 0x3f =20 + write 0x1c0aa0 0xff8bffff =20 + write 0x1c0aa4 0x511 =20 + write 0x1c0aa8 0x3f =20 + write 0x1c0aac 0xff8bffff =20 + write 0x1c0a90 0x512 =20 + write 0x1c0a9c 0x3f =20 + write 0x1c0aa0 0xfffe2fff =20 + write 0x1c0aa4 0x512 =20 + write 0x1c0aa8 0x3f =20 + write 0x1c0aac 0xfffe2fff =20 + write 0x1c0a90 0x513 =20 + write 0x1c0a9c 0x3f =20 + write 0x1c0aa0 0xfffe2fff =20 + write 0x1c0aa4 0x513 =20 + write 0x1c0aa8 0x3f =20 + write 0x1c0aac 0xfffe2fff =20 + write 0x1c0a90 0x514 =20 + write 0x1c0a9c 0x3f =20 + write 0x1c0aa0 0xfffe2fff =20 + write 0x1c0aa4 0x514 =20 + write 0x1c0aa8 0x3f =20 + write 0x1c0aac 0xfffe2fff =20 + write 0x1c0a90 0x515 =20 + write 0x1c0a9c 0x3f =20 + write 0x1c0aa0 0xfffe2fff =20 + write 0x1c0aa4 0x515 =20 + write 0x1c0aa8 0x3f =20 + write 0x1c0aac 0xfffe2fff =20 + write 0x1c0a90 0x516 =20 + write 0x1c0a9c 0x1b =20 + write 0x1c0aa0 0x22ffffff =20 + write 0x1c0aa4 0x516 =20 + write 0x1c0aa8 0x1b =20 + write 0x1c0aac 0x22ffffff =20 + write 0x51040 0x435 =20 + write 0x5104c 0x116 =20 + write 0x51050 0x0 =20 + write 0x51040 0x835 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x50000 =20 + write 0x1c0a90 0x517 =20 + write 0x1c0a9c 0x13 =20 + write 0x1c0aa0 0x22ffffff =20 + write 0x1c0aa4 0x517 =20 + write 0x1c0aa8 0x13 =20 + write 0x1c0aac 0x22ffffff =20 + write 0x51040 0x436 =20 + write 0x5104c 0x117 =20 + write 0x51050 0x0 =20 + write 0x51040 0x836 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x50000 =20 + write 0x1c0a90 0x518 =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x128fffff =20 + write 0x1c0aa4 0x518 =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x128fffff =20 + write 0x51040 0x437 =20 + write 0x5104c 0x118 =20 + write 0x51050 0x0 =20 + write 0x51040 0x837 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x70008 =20 + write 0x1c0a90 0x519 =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x8fffff =20 + write 0x1c0aa4 0x519 =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x8fffff =20 + write 0x51040 0x438 =20 + write 0x5104c 0x119 =20 + write 0x51050 0x0 =20 + write 0x51040 0x838 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x70008 =20 + write 0x1c0a90 0x51a =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x118fffff =20 + write 0x1c0aa4 0x51a =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x118fffff =20 + write 0x51040 0x439 =20 + write 0x5104c 0x11a =20 + write 0x51050 0x0 =20 + write 0x51040 0x839 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x70000 =20 + write 0x1c0a90 0x51b =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x138fffff =20 + write 0x1c0aa4 0x51b =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x138fffff =20 + write 0x51040 0x43a =20 + write 0x5104c 0x11b =20 + write 0x51050 0x0 =20 + write 0x51040 0x83a =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe70000 =20 + write 0x1c0a90 0x51c =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x148fffff =20 + write 0x1c0aa4 0x51c =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x148fffff =20 + write 0x51040 0x43b =20 + write 0x5104c 0x11c =20 + write 0x51050 0x0 =20 + write 0x51040 0x83b =20 + write 0x5104c 0x0 =20 + write 0x51050 0x50000 =20 + write 0x1c0a90 0x51d =20 + write 0x1c0a9c 0x423 =20 + write 0x1c0aa0 0x2c8bffff =20 + write 0x1c0aa4 0x51d =20 + write 0x1c0aa8 0x423 =20 + write 0x1c0aac 0x2c8bffff =20 + write 0x51040 0x43c =20 + write 0x5104c 0x11d =20 + write 0x51050 0x0 =20 + write 0x51040 0x83c =20 + write 0x5104c 0x0 =20 + write 0x51050 0xd0000 =20 + write 0x1c0a90 0x51e =20 + write 0x1c0a9c 0x423 =20 + write 0x1c0aa0 0xc8bffff =20 + write 0x1c0aa4 0x51e =20 + write 0x1c0aa8 0x423 =20 + write 0x1c0aac 0xc8bffff =20 + write 0x51040 0x43d =20 + write 0x5104c 0x11e =20 + write 0x51050 0x0 =20 + write 0x51040 0x83d =20 + write 0x5104c 0x0 =20 + write 0x51050 0xd0000 =20 + write 0x1c0a90 0x51f =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xc4a3fff =20 + write 0x1c0aa4 0x51f =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xc4a3fff =20 + write 0x51040 0x43e =20 + write 0x5104c 0x11f =20 + write 0x51050 0x0 =20 + write 0x51040 0x83e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x100010 =20 + write 0x1c0a90 0x520 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xc023fff =20 + write 0x1c0aa4 0x520 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xc023fff =20 + write 0x51040 0x43f =20 + write 0x5104c 0x120 =20 + write 0x51050 0x0 =20 + write 0x51040 0x83f =20 + write 0x5104c 0x0 =20 + write 0x51050 0x100010 =20 + write 0x1c0a90 0x521 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xc463fff =20 + write 0x1c0aa4 0x521 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xc463fff =20 + write 0x51040 0x440 =20 + write 0x5104c 0x121 =20 + write 0x51050 0x0 =20 + write 0x51040 0x840 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x100000 =20 + write 0x1c0a90 0x522 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xc4e3fff =20 + write 0x1c0aa4 0x522 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xc4e3fff =20 + write 0x51040 0x441 =20 + write 0x5104c 0x122 =20 + write 0x51050 0x0 =20 + write 0x51040 0x841 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xef0000 =20 + write 0x1c0a90 0x523 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xc523fff =20 + write 0x1c0aa4 0x523 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xc523fff =20 + write 0x51040 0x442 =20 + write 0x5104c 0x123 =20 + write 0x51050 0x0 =20 + write 0x51040 0x842 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xd0000 =20 + write 0x1c0a90 0x524 =20 + write 0x1c0a9c 0x433 =20 + write 0x1c0aa0 0xdc22fff =20 + write 0x1c0aa4 0x524 =20 + write 0x1c0aa8 0x433 =20 + write 0x1c0aac 0xdc22fff =20 + write 0x51040 0x443 =20 + write 0x5104c 0x124 =20 + write 0x51050 0x0 =20 + write 0x51040 0x843 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x525 =20 + write 0x1c0a9c 0x423 =20 + write 0x1c0aa0 0xd8bffff =20 + write 0x1c0aa4 0x525 =20 + write 0x1c0aa8 0x423 =20 + write 0x1c0aac 0xd8bffff =20 + write 0x51040 0x444 =20 + write 0x5104c 0x125 =20 + write 0x51050 0x0 =20 + write 0x51040 0x844 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x526 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xd4a3fff =20 + write 0x1c0aa4 0x526 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xd4a3fff =20 + write 0x51040 0x445 =20 + write 0x5104c 0x126 =20 + write 0x51050 0x0 =20 + write 0x51040 0x845 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x280010 =20 + write 0x1c0a90 0x527 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xd023fff =20 + write 0x1c0aa4 0x527 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xd023fff =20 + write 0x51040 0x446 =20 + write 0x5104c 0x127 =20 + write 0x51050 0x0 =20 + write 0x51040 0x846 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x280010 =20 + write 0x1c0a90 0x528 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xd463fff =20 + write 0x1c0aa4 0x528 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xd463fff =20 + write 0x51040 0x447 =20 + write 0x5104c 0x128 =20 + write 0x51050 0x0 =20 + write 0x51040 0x847 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x280000 =20 + write 0x1c0a90 0x529 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xd4e3fff =20 + write 0x1c0aa4 0x529 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xd4e3fff =20 + write 0x51040 0x448 =20 + write 0x5104c 0x129 =20 + write 0x51050 0x0 =20 + write 0x51040 0x848 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1080000 =20 + write 0x1c0a90 0x52a =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0xd5e3fff =20 + write 0x1c0aa4 0x52a =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0xd5e3fff =20 + write 0x51040 0x449 =20 + write 0x5104c 0x12a =20 + write 0x51050 0x0 =20 + write 0x51040 0x849 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x52b =20 + write 0x1c0a9c 0x823 =20 + write 0x1c0aa0 0xf8bffff =20 + write 0x1c0aa4 0x52b =20 + write 0x1c0aa8 0x823 =20 + write 0x1c0aac 0xf8bffff =20 + write 0x51040 0x44a =20 + write 0x5104c 0x12b =20 + write 0x51050 0x0 =20 + write 0x51040 0x84a =20 + write 0x5104c 0x0 =20 + write 0x51050 0x50000 =20 + write 0x1c0a90 0x52c =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0xfb22fff =20 + write 0x1c0aa4 0x52c =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0xfb22fff =20 + write 0x51040 0x44b =20 + write 0x5104c 0x12c =20 + write 0x51050 0x0 =20 + write 0x51040 0x84b =20 + write 0x5104c 0x0 =20 + write 0x51050 0x180000 =20 + write 0x1c0a90 0x52d =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0xf322fff =20 + write 0x1c0aa4 0x52d =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0xf322fff =20 + write 0x51040 0x44c =20 + write 0x5104c 0x12d =20 + write 0x51050 0x0 =20 + write 0x51040 0x84c =20 + write 0x5104c 0x0 =20 + write 0x51050 0x180000 =20 + write 0x1c0a90 0x52e =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3128ff =20 + write 0x1c0aa4 0x52e =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3128ff =20 + write 0x51040 0x44d =20 + write 0x5104c 0x12e =20 + write 0x51050 0x0 =20 + write 0x51040 0x84d =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1b0010 =20 + write 0x1c0a90 0x52f =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3008ff =20 + write 0x1c0aa4 0x52f =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3008ff =20 + write 0x51040 0x44e =20 + write 0x5104c 0x12f =20 + write 0x51050 0x0 =20 + write 0x51040 0x84e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1b0010 =20 + write 0x1c0a90 0x530 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3118ff =20 + write 0x1c0aa4 0x530 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3118ff =20 + write 0x51040 0x44f =20 + write 0x5104c 0x130 =20 + write 0x51050 0x0 =20 + write 0x51040 0x84f =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1b0000 =20 + write 0x1c0a90 0x531 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3138ff =20 + write 0x1c0aa4 0x531 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3138ff =20 + write 0x51040 0x450 =20 + write 0x5104c 0x131 =20 + write 0x51050 0x0 =20 + write 0x51040 0x850 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xf80000 =20 + write 0x1c0a90 0x532 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3148ff =20 + write 0x1c0aa4 0x532 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3148ff =20 + write 0x51040 0x451 =20 + write 0x5104c 0x132 =20 + write 0x51050 0x0 =20 + write 0x51040 0x851 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x180000 =20 + write 0x1c0a90 0x533 =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf3708bf =20 + write 0x1c0aa4 0x533 =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf3708bf =20 + write 0x51040 0x452 =20 + write 0x5104c 0x133 =20 + write 0x51050 0x0 =20 + write 0x51040 0x852 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x534 =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0xf362fff =20 + write 0x1c0aa4 0x534 =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0xf362fff =20 + write 0x51040 0x453 =20 + write 0x5104c 0x134 =20 + write 0x51050 0x0 =20 + write 0x51040 0x853 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x535 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3528ff =20 + write 0x1c0aa4 0x535 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3528ff =20 + write 0x51040 0x454 =20 + write 0x5104c 0x135 =20 + write 0x51050 0x0 =20 + write 0x51040 0x854 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x2f0010 =20 + write 0x1c0a90 0x536 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3408ff =20 + write 0x1c0aa4 0x536 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3408ff =20 + write 0x51040 0x455 =20 + write 0x5104c 0x136 =20 + write 0x51050 0x0 =20 + write 0x51040 0x855 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x2f0010 =20 + write 0x1c0a90 0x537 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3518ff =20 + write 0x1c0aa4 0x537 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3518ff =20 + write 0x51040 0x456 =20 + write 0x5104c 0x137 =20 + write 0x51050 0x0 =20 + write 0x51040 0x856 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x2f0000 =20 + write 0x1c0a90 0x538 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3538ff =20 + write 0x1c0aa4 0x538 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3538ff =20 + write 0x51040 0x457 =20 + write 0x5104c 0x138 =20 + write 0x51050 0x0 =20 + write 0x51040 0x857 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1100000 =20 + write 0x1c0a90 0x539 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0xf3578ff =20 + write 0x1c0aa4 0x539 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0xf3578ff =20 + write 0x51040 0x458 =20 + write 0x5104c 0x139 =20 + write 0x51050 0x0 =20 + write 0x51040 0x858 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x53a =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0xf822fff =20 + write 0x1c0aa4 0x53a =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0xf822fff =20 + write 0x51040 0x459 =20 + write 0x5104c 0x13a =20 + write 0x51050 0x0 =20 + write 0x51040 0x859 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x50000 =20 + write 0x1c0a90 0x53b =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf82c8bf =20 + write 0x1c0aa4 0x53b =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf82c8bf =20 + write 0x51040 0x45a =20 + write 0x5104c 0x13b =20 + write 0x51050 0x0 =20 + write 0x51040 0x85a =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360002 =20 + write 0x1c0a90 0x53c =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf80c8bf =20 + write 0x1c0aa4 0x53c =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf80c8bf =20 + write 0x51040 0x45b =20 + write 0x5104c 0x13c =20 + write 0x51050 0x0 =20 + write 0x51040 0x85b =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360002 =20 + write 0x1c0a90 0x53d =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80c4a3 =20 + write 0x1c0aa4 0x53d =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80c4a3 =20 + write 0x51040 0x45c =20 + write 0x5104c 0x13d =20 + write 0x51050 0x0 =20 + write 0x51040 0x85c =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390022 =20 + write 0x1c0a90 0x53e =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80c023 =20 + write 0x1c0aa4 0x53e =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80c023 =20 + write 0x51040 0x45d =20 + write 0x5104c 0x13e =20 + write 0x51050 0x0 =20 + write 0x51040 0x85d =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390022 =20 + write 0x1c0a90 0x53f =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80c463 =20 + write 0x1c0aa4 0x53f =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80c463 =20 + write 0x51040 0x45e =20 + write 0x5104c 0x13f =20 + write 0x51050 0x0 =20 + write 0x51040 0x85e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390002 =20 + write 0x1c0a90 0x540 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80c4e3 =20 + write 0x1c0aa4 0x540 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80c4e3 =20 + write 0x51040 0x45f =20 + write 0x5104c 0x140 =20 + write 0x51050 0x0 =20 + write 0x51040 0x85f =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1180002 =20 + write 0x1c0a90 0x541 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80c523 =20 + write 0x1c0aa4 0x541 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80c523 =20 + write 0x51040 0x460 =20 + write 0x5104c 0x141 =20 + write 0x51050 0x0 =20 + write 0x51040 0x860 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360002 =20 + write 0x1c0a90 0x542 =20 + write 0x1c0a9c 0x853 =20 + write 0x1c0aa0 0xf80dc22 =20 + write 0x1c0aa4 0x542 =20 + write 0x1c0aa8 0x853 =20 + write 0x1c0aac 0xf80dc22 =20 + write 0x51040 0x461 =20 + write 0x5104c 0x142 =20 + write 0x51050 0x0 =20 + write 0x51040 0x861 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x543 =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf80d8bf =20 + write 0x1c0aa4 0x543 =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf80d8bf =20 + write 0x51040 0x462 =20 + write 0x5104c 0x143 =20 + write 0x51050 0x0 =20 + write 0x51040 0x862 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x544 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80d4a3 =20 + write 0x1c0aa4 0x544 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80d4a3 =20 + write 0x51040 0x463 =20 + write 0x5104c 0x144 =20 + write 0x51050 0x0 =20 + write 0x51040 0x863 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410022 =20 + write 0x1c0a90 0x545 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80d023 =20 + write 0x1c0aa4 0x545 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80d023 =20 + write 0x51040 0x464 =20 + write 0x5104c 0x145 =20 + write 0x51050 0x0 =20 + write 0x51040 0x864 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410022 =20 + write 0x1c0a90 0x546 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80d463 =20 + write 0x1c0aa4 0x546 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80d463 =20 + write 0x51040 0x465 =20 + write 0x5104c 0x146 =20 + write 0x51050 0x0 =20 + write 0x51040 0x865 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410002 =20 + write 0x1c0a90 0x547 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80d4e3 =20 + write 0x1c0aa4 0x547 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80d4e3 =20 + write 0x51040 0x466 =20 + write 0x5104c 0x147 =20 + write 0x51050 0x0 =20 + write 0x51040 0x866 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1220002 =20 + write 0x1c0a90 0x548 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf80d5e3 =20 + write 0x1c0aa4 0x548 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf80d5e3 =20 + write 0x51040 0x467 =20 + write 0x5104c 0x148 =20 + write 0x51050 0x0 =20 + write 0x51040 0x867 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x1c0a90 0x549 =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0xf7e2fff =20 + write 0x1c0aa4 0x549 =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0xf7e2fff =20 + write 0x51040 0x468 =20 + write 0x5104c 0x149 =20 + write 0x51050 0x0 =20 + write 0x51040 0x868 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x50000 =20 + write 0x51040 0x469 =20 + write 0x5104c 0x149 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x869 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12e0000 =20 + write 0x1c0a90 0x54a =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf7ec8bf =20 + write 0x1c0aa4 0x54a =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf7ec8bf =20 + write 0x51040 0x46a =20 + write 0x5104c 0x14a =20 + write 0x51050 0x0 =20 + write 0x51040 0x86a =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360002 =20 + write 0x51040 0x46b =20 + write 0x5104c 0x14a =20 + write 0x51050 0x4000 =20 + write 0x51040 0x86b =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360000 =20 + write 0x1c0a90 0x54b =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf7cc8bf =20 + write 0x1c0aa4 0x54b =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf7cc8bf =20 + write 0x51040 0x46c =20 + write 0x5104c 0x14b =20 + write 0x51050 0x0 =20 + write 0x51040 0x86c =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360002 =20 + write 0x51040 0x46d =20 + write 0x5104c 0x14b =20 + write 0x51050 0x4000 =20 + write 0x51040 0x86d =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360000 =20 + write 0x1c0a90 0x54c =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cc4a3 =20 + write 0x1c0aa4 0x54c =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cc4a3 =20 + write 0x51040 0x46e =20 + write 0x5104c 0x14c =20 + write 0x51050 0x0 =20 + write 0x51040 0x86e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390022 =20 + write 0x51040 0x46f =20 + write 0x5104c 0x14c =20 + write 0x51050 0x4000 =20 + write 0x51040 0x86f =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390020 =20 + write 0x1c0a90 0x54d =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cc023 =20 + write 0x1c0aa4 0x54d =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cc023 =20 + write 0x51040 0x470 =20 + write 0x5104c 0x14d =20 + write 0x51050 0x0 =20 + write 0x51040 0x870 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390022 =20 + write 0x51040 0x471 =20 + write 0x5104c 0x14d =20 + write 0x51050 0x4000 =20 + write 0x51040 0x871 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390020 =20 + write 0x1c0a90 0x54e =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cc463 =20 + write 0x1c0aa4 0x54e =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cc463 =20 + write 0x51040 0x472 =20 + write 0x5104c 0x14e =20 + write 0x51050 0x0 =20 + write 0x51040 0x872 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390002 =20 + write 0x51040 0x473 =20 + write 0x5104c 0x14e =20 + write 0x51050 0x4000 =20 + write 0x51040 0x873 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x390000 =20 + write 0x1c0a90 0x54f =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cc4e3 =20 + write 0x1c0aa4 0x54f =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cc4e3 =20 + write 0x51040 0x474 =20 + write 0x5104c 0x14f =20 + write 0x51050 0x0 =20 + write 0x51040 0x874 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1180002 =20 + write 0x51040 0x475 =20 + write 0x5104c 0x14f =20 + write 0x51050 0x4000 =20 + write 0x51040 0x875 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1180000 =20 + write 0x1c0a90 0x550 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cc523 =20 + write 0x1c0aa4 0x550 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cc523 =20 + write 0x51040 0x476 =20 + write 0x5104c 0x150 =20 + write 0x51050 0x0 =20 + write 0x51040 0x876 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360002 =20 + write 0x51040 0x477 =20 + write 0x5104c 0x150 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x877 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x360000 =20 + write 0x1c0a90 0x551 =20 + write 0x1c0a9c 0x853 =20 + write 0x1c0aa0 0xf7cdc22 =20 + write 0x1c0aa4 0x551 =20 + write 0x1c0aa8 0x853 =20 + write 0x1c0aac 0xf7cdc22 =20 + write 0x51040 0x478 =20 + write 0x5104c 0x151 =20 + write 0x51050 0x0 =20 + write 0x51040 0x878 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x51040 0x479 =20 + write 0x5104c 0x151 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x879 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12c0000 =20 + write 0x1c0a90 0x552 =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0xf7cd8bf =20 + write 0x1c0aa4 0x552 =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0xf7cd8bf =20 + write 0x51040 0x47a =20 + write 0x5104c 0x152 =20 + write 0x51050 0x0 =20 + write 0x51040 0x87a =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x51040 0x47b =20 + write 0x5104c 0x152 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x87b =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12c0000 =20 + write 0x1c0a90 0x553 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cd4a3 =20 + write 0x1c0aa4 0x553 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cd4a3 =20 + write 0x51040 0x47c =20 + write 0x5104c 0x153 =20 + write 0x51050 0x0 =20 + write 0x51040 0x87c =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410022 =20 + write 0x51040 0x47d =20 + write 0x5104c 0x153 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x87d =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410020 =20 + write 0x1c0a90 0x554 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cd023 =20 + write 0x1c0aa4 0x554 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cd023 =20 + write 0x51040 0x47e =20 + write 0x5104c 0x154 =20 + write 0x51050 0x0 =20 + write 0x51040 0x87e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410022 =20 + write 0x51040 0x47f =20 + write 0x5104c 0x154 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x87f =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410020 =20 + write 0x1c0a90 0x555 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cd463 =20 + write 0x1c0aa4 0x555 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cd463 =20 + write 0x51040 0x480 =20 + write 0x5104c 0x155 =20 + write 0x51050 0x0 =20 + write 0x51040 0x880 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410002 =20 + write 0x51040 0x481 =20 + write 0x5104c 0x155 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x881 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x410000 =20 + write 0x1c0a90 0x556 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cd4e3 =20 + write 0x1c0aa4 0x556 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cd4e3 =20 + write 0x51040 0x482 =20 + write 0x5104c 0x156 =20 + write 0x51050 0x0 =20 + write 0x51040 0x882 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1220002 =20 + write 0x51040 0x483 =20 + write 0x5104c 0x156 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x883 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1220000 =20 + write 0x1c0a90 0x557 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0xf7cd5e3 =20 + write 0x1c0aa4 0x557 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0xf7cd5e3 =20 + write 0x51040 0x484 =20 + write 0x5104c 0x157 =20 + write 0x51050 0x0 =20 + write 0x51040 0x884 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x60000 =20 + write 0x51040 0x485 =20 + write 0x5104c 0x157 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x885 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12c0000 =20 + write 0x1c0a90 0x558 =20 + write 0x1c0a9c 0x23 =20 + write 0x1c0aa0 0x708bffff =20 + write 0x1c0aa4 0x558 =20 + write 0x1c0aa8 0x23 =20 + write 0x1c0aac 0x708bffff =20 + write 0x1c0a90 0x559 =20 + write 0x1c0a9c 0x13 =20 + write 0x1c0aa0 0x62ffffff =20 + write 0x1c0aa4 0x559 =20 + write 0x1c0aa8 0x13 =20 + write 0x1c0aac 0x62ffffff =20 + write 0x1c0a90 0x55a =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x528fffff =20 + write 0x1c0aa4 0x55a =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x528fffff =20 + write 0x51040 0x486 =20 + write 0x5104c 0x15a =20 + write 0x51050 0x0 =20 + write 0x51040 0x886 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x220008 =20 + write 0x1c0a90 0x55b =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x408fffff =20 + write 0x1c0aa4 0x55b =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x408fffff =20 + write 0x51040 0x487 =20 + write 0x5104c 0x15b =20 + write 0x51050 0x0 =20 + write 0x51040 0x887 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x220008 =20 + write 0x1c0a90 0x55c =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x518fffff =20 + write 0x1c0aa4 0x55c =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x518fffff =20 + write 0x51040 0x488 =20 + write 0x5104c 0x15c =20 + write 0x51050 0x0 =20 + write 0x51040 0x888 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x220000 =20 + write 0x1c0a90 0x55d =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x538fffff =20 + write 0x1c0aa4 0x55d =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x538fffff =20 + write 0x51040 0x489 =20 + write 0x5104c 0x15d =20 + write 0x51050 0x0 =20 + write 0x51040 0x889 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1010000 =20 + write 0x1c0a90 0x55e =20 + write 0x1c0a9c 0xa3 =20 + write 0x1c0aa0 0x578fffff =20 + write 0x1c0aa4 0x55e =20 + write 0x1c0aa8 0xa3 =20 + write 0x1c0aac 0x578fffff =20 + write 0x1c0a90 0x55f =20 + write 0x1c0a9c 0x423 =20 + write 0x1c0aa0 0x6c8bffff =20 + write 0x1c0aa4 0x55f =20 + write 0x1c0aa8 0x423 =20 + write 0x1c0aac 0x6c8bffff =20 + write 0x51040 0x48a =20 + write 0x5104c 0x15f =20 + write 0x51050 0x0 =20 + write 0x51040 0x88a =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 + write 0x1c0a90 0x560 =20 + write 0x1c0a9c 0x423 =20 + write 0x1c0aa0 0x4c8bffff =20 + write 0x1c0aa4 0x560 =20 + write 0x1c0aa8 0x423 =20 + write 0x1c0aac 0x4c8bffff =20 + write 0x51040 0x48b =20 + write 0x5104c 0x160 =20 + write 0x51050 0x0 =20 + write 0x51040 0x88b =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 + write 0x1c0a90 0x561 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4c4a3fff =20 + write 0x1c0aa4 0x561 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4c4a3fff =20 + write 0x51040 0x48c =20 + write 0x5104c 0x161 =20 + write 0x51050 0x0 =20 + write 0x51040 0x88c =20 + write 0x5104c 0x0 =20 + write 0x51050 0x110008 =20 + write 0x1c0a90 0x562 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4c023fff =20 + write 0x1c0aa4 0x562 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4c023fff =20 + write 0x51040 0x48d =20 + write 0x5104c 0x162 =20 + write 0x51050 0x0 =20 + write 0x51040 0x88d =20 + write 0x5104c 0x0 =20 + write 0x51050 0x110008 =20 + write 0x1c0a90 0x563 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4c463fff =20 + write 0x1c0aa4 0x563 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4c463fff =20 + write 0x51040 0x48e =20 + write 0x5104c 0x163 =20 + write 0x51050 0x0 =20 + write 0x51040 0x88e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x110000 =20 + write 0x1c0a90 0x564 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4c4e3fff =20 + write 0x1c0aa4 0x564 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4c4e3fff =20 + write 0x51040 0x48f =20 + write 0x5104c 0x164 =20 + write 0x51050 0x0 =20 + write 0x51040 0x88f =20 + write 0x5104c 0x0 =20 + write 0x51050 0xf00000 =20 + write 0x1c0a90 0x565 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4c523fff =20 + write 0x1c0aa4 0x565 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4c523fff =20 + write 0x51040 0x490 =20 + write 0x5104c 0x165 =20 + write 0x51050 0x0 =20 + write 0x51040 0x890 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 + write 0x1c0a90 0x566 =20 + write 0x1c0a9c 0x433 =20 + write 0x1c0aa0 0x4dc22fff =20 + write 0x1c0aa4 0x566 =20 + write 0x1c0aa8 0x433 =20 + write 0x1c0aac 0x4dc22fff =20 + write 0x1c0a90 0x567 =20 + write 0x1c0a9c 0x423 =20 + write 0x1c0aa0 0x4d8bffff =20 + write 0x1c0aa4 0x567 =20 + write 0x1c0aa8 0x423 =20 + write 0x1c0aac 0x4d8bffff =20 + write 0x1c0a90 0x568 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4d4a3fff =20 + write 0x1c0aa4 0x568 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4d4a3fff =20 + write 0x51040 0x491 =20 + write 0x5104c 0x168 =20 + write 0x51050 0x0 =20 + write 0x51040 0x891 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x290008 =20 + write 0x1c0a90 0x569 =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4d023fff =20 + write 0x1c0aa4 0x569 =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4d023fff =20 + write 0x51040 0x492 =20 + write 0x5104c 0x169 =20 + write 0x51050 0x0 =20 + write 0x51040 0x892 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x290008 =20 + write 0x1c0a90 0x56a =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4d463fff =20 + write 0x1c0aa4 0x56a =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4d463fff =20 + write 0x51040 0x493 =20 + write 0x5104c 0x16a =20 + write 0x51050 0x0 =20 + write 0x51040 0x893 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x290000 =20 + write 0x1c0a90 0x56b =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4d4e3fff =20 + write 0x1c0aa4 0x56b =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4d4e3fff =20 + write 0x51040 0x494 =20 + write 0x5104c 0x16b =20 + write 0x51050 0x0 =20 + write 0x51040 0x894 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1090000 =20 + write 0x1c0a90 0x56c =20 + write 0x1c0a9c 0x533 =20 + write 0x1c0aa0 0x4d5e3fff =20 + write 0x1c0aa4 0x56c =20 + write 0x1c0aa8 0x533 =20 + write 0x1c0aac 0x4d5e3fff =20 + write 0x1c0a90 0x56d =20 + write 0x1c0a9c 0x823 =20 + write 0x1c0aa0 0x4f8bffff =20 + write 0x1c0aa4 0x56d =20 + write 0x1c0aa8 0x823 =20 + write 0x1c0aac 0x4f8bffff =20 + write 0x1c0a90 0x56e =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0x4fb22fff =20 + write 0x1c0aa4 0x56e =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0x4fb22fff =20 + write 0x51040 0x495 =20 + write 0x5104c 0x16e =20 + write 0x51050 0x0 =20 + write 0x51040 0x895 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x190000 =20 + write 0x1c0a90 0x56f =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0x4f322fff =20 + write 0x1c0aa4 0x56f =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0x4f322fff =20 + write 0x51040 0x496 =20 + write 0x5104c 0x16f =20 + write 0x51050 0x0 =20 + write 0x51040 0x896 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x190000 =20 + write 0x1c0a90 0x570 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3128ff =20 + write 0x1c0aa4 0x570 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3128ff =20 + write 0x51040 0x497 =20 + write 0x5104c 0x170 =20 + write 0x51050 0x0 =20 + write 0x51040 0x897 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1c0008 =20 + write 0x1c0a90 0x571 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3008ff =20 + write 0x1c0aa4 0x571 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3008ff =20 + write 0x51040 0x498 =20 + write 0x5104c 0x171 =20 + write 0x51050 0x0 =20 + write 0x51040 0x898 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1c0008 =20 + write 0x1c0a90 0x572 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3118ff =20 + write 0x1c0aa4 0x572 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3118ff =20 + write 0x51040 0x499 =20 + write 0x5104c 0x172 =20 + write 0x51050 0x0 =20 + write 0x51040 0x899 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1c0000 =20 + write 0x1c0a90 0x573 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3138ff =20 + write 0x1c0aa4 0x573 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3138ff =20 + write 0x51040 0x49a =20 + write 0x5104c 0x173 =20 + write 0x51050 0x0 =20 + write 0x51040 0x89a =20 + write 0x5104c 0x0 =20 + write 0x51050 0xf90000 =20 + write 0x1c0a90 0x574 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3148ff =20 + write 0x1c0aa4 0x574 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3148ff =20 + write 0x51040 0x49b =20 + write 0x5104c 0x174 =20 + write 0x51050 0x0 =20 + write 0x51040 0x89b =20 + write 0x5104c 0x0 =20 + write 0x51050 0x190000 =20 + write 0x1c0a90 0x575 =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f3708bf =20 + write 0x1c0aa4 0x575 =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f3708bf =20 + write 0x1c0a90 0x576 =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0x4f362fff =20 + write 0x1c0aa4 0x576 =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0x4f362fff =20 + write 0x1c0a90 0x577 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3528ff =20 + write 0x1c0aa4 0x577 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3528ff =20 + write 0x51040 0x49c =20 + write 0x5104c 0x177 =20 + write 0x51050 0x0 =20 + write 0x51040 0x89c =20 + write 0x5104c 0x0 =20 + write 0x51050 0x300008 =20 + write 0x1c0a90 0x578 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3408ff =20 + write 0x1c0aa4 0x578 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3408ff =20 + write 0x51040 0x49d =20 + write 0x5104c 0x178 =20 + write 0x51050 0x0 =20 + write 0x51040 0x89d =20 + write 0x5104c 0x0 =20 + write 0x51050 0x300008 =20 + write 0x1c0a90 0x579 =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3518ff =20 + write 0x1c0aa4 0x579 =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3518ff =20 + write 0x51040 0x49e =20 + write 0x5104c 0x179 =20 + write 0x51050 0x0 =20 + write 0x51040 0x89e =20 + write 0x5104c 0x0 =20 + write 0x51050 0x300000 =20 + write 0x1c0a90 0x57a =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3538ff =20 + write 0x1c0aa4 0x57a =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3538ff =20 + write 0x51040 0x49f =20 + write 0x5104c 0x17a =20 + write 0x51050 0x0 =20 + write 0x51040 0x89f =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1110000 =20 + write 0x1c0a90 0x57b =20 + write 0x1c0a9c 0x9c3 =20 + write 0x1c0aa0 0x4f3578ff =20 + write 0x1c0aa4 0x57b =20 + write 0x1c0aa8 0x9c3 =20 + write 0x1c0aac 0x4f3578ff =20 + write 0x1c0a90 0x57c =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0x4f822fff =20 + write 0x1c0aa4 0x57c =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0x4f822fff =20 + write 0x1c0a90 0x57d =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f82c8bf =20 + write 0x1c0aa4 0x57d =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f82c8bf =20 + write 0x51040 0x4a0 =20 + write 0x5104c 0x17d =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a0 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370001 =20 + write 0x1c0a90 0x57e =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f80c8bf =20 + write 0x1c0aa4 0x57e =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f80c8bf =20 + write 0x51040 0x4a1 =20 + write 0x5104c 0x17e =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a1 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370001 =20 + write 0x1c0a90 0x57f =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80c4a3 =20 + write 0x1c0aa4 0x57f =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80c4a3 =20 + write 0x51040 0x4a2 =20 + write 0x5104c 0x17f =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a2 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0011 =20 + write 0x1c0a90 0x580 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80c023 =20 + write 0x1c0aa4 0x580 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80c023 =20 + write 0x51040 0x4a3 =20 + write 0x5104c 0x180 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a3 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0011 =20 + write 0x1c0a90 0x581 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80c463 =20 + write 0x1c0aa4 0x581 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80c463 =20 + write 0x51040 0x4a4 =20 + write 0x5104c 0x181 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a4 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0001 =20 + write 0x1c0a90 0x582 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80c4e3 =20 + write 0x1c0aa4 0x582 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80c4e3 =20 + write 0x51040 0x4a5 =20 + write 0x5104c 0x182 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a5 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1190001 =20 + write 0x1c0a90 0x583 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80c523 =20 + write 0x1c0aa4 0x583 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80c523 =20 + write 0x51040 0x4a6 =20 + write 0x5104c 0x183 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a6 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370001 =20 + write 0x1c0a90 0x584 =20 + write 0x1c0a9c 0x853 =20 + write 0x1c0aa0 0x4f80dc22 =20 + write 0x1c0aa4 0x584 =20 + write 0x1c0aa8 0x853 =20 + write 0x1c0aac 0x4f80dc22 =20 + write 0x1c0a90 0x585 =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f80d8bf =20 + write 0x1c0aa4 0x585 =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f80d8bf =20 + write 0x1c0a90 0x586 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80d4a3 =20 + write 0x1c0aa4 0x586 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80d4a3 =20 + write 0x51040 0x4a7 =20 + write 0x5104c 0x186 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a7 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420011 =20 + write 0x1c0a90 0x587 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80d023 =20 + write 0x1c0aa4 0x587 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80d023 =20 + write 0x51040 0x4a8 =20 + write 0x5104c 0x187 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a8 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420011 =20 + write 0x1c0a90 0x588 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80d463 =20 + write 0x1c0aa4 0x588 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80d463 =20 + write 0x51040 0x4a9 =20 + write 0x5104c 0x188 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8a9 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420001 =20 + write 0x1c0a90 0x589 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80d4e3 =20 + write 0x1c0aa4 0x589 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80d4e3 =20 + write 0x51040 0x4aa =20 + write 0x5104c 0x189 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8aa =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1230001 =20 + write 0x1c0a90 0x58a =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f80d5e3 =20 + write 0x1c0aa4 0x58a =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f80d5e3 =20 + write 0x1c0a90 0x58b =20 + write 0x1c0a9c 0x833 =20 + write 0x1c0aa0 0x4f7e2fff =20 + write 0x1c0aa4 0x58b =20 + write 0x1c0aa8 0x833 =20 + write 0x1c0aac 0x4f7e2fff =20 + write 0x51040 0x4ab =20 + write 0x5104c 0x18b =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8ab =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12b0000 =20 + write 0x1c0a90 0x58c =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f7ec8bf =20 + write 0x1c0aa4 0x58c =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f7ec8bf =20 + write 0x51040 0x4ac =20 + write 0x5104c 0x18c =20 + write 0x51050 0x0 =20 + write 0x51040 0x8ac =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370001 =20 + write 0x51040 0x4ad =20 + write 0x5104c 0x18c =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8ad =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370000 =20 + write 0x1c0a90 0x58d =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f7cc8bf =20 + write 0x1c0aa4 0x58d =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f7cc8bf =20 + write 0x51040 0x4ae =20 + write 0x5104c 0x18d =20 + write 0x51050 0x0 =20 + write 0x51040 0x8ae =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370001 =20 + write 0x51040 0x4af =20 + write 0x5104c 0x18d =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8af =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370000 =20 + write 0x1c0a90 0x58e =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cc4a3 =20 + write 0x1c0aa4 0x58e =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cc4a3 =20 + write 0x51040 0x4b0 =20 + write 0x5104c 0x18e =20 + write 0x51050 0x0 =20 + write 0x51040 0x8b0 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0011 =20 + write 0x51040 0x4b1 =20 + write 0x5104c 0x18e =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8b1 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0010 =20 + write 0x1c0a90 0x58f =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cc023 =20 + write 0x1c0aa4 0x58f =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cc023 =20 + write 0x51040 0x4b2 =20 + write 0x5104c 0x18f =20 + write 0x51050 0x0 =20 + write 0x51040 0x8b2 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0011 =20 + write 0x51040 0x4b3 =20 + write 0x5104c 0x18f =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8b3 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0010 =20 + write 0x1c0a90 0x590 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cc463 =20 + write 0x1c0aa4 0x590 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cc463 =20 + write 0x51040 0x4b4 =20 + write 0x5104c 0x190 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8b4 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0001 =20 + write 0x51040 0x4b5 =20 + write 0x5104c 0x190 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8b5 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x3a0000 =20 + write 0x1c0a90 0x591 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cc4e3 =20 + write 0x1c0aa4 0x591 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cc4e3 =20 + write 0x51040 0x4b6 =20 + write 0x5104c 0x191 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8b6 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1190001 =20 + write 0x51040 0x4b7 =20 + write 0x5104c 0x191 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8b7 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1190000 =20 + write 0x1c0a90 0x592 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cc523 =20 + write 0x1c0aa4 0x592 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cc523 =20 + write 0x51040 0x4b8 =20 + write 0x5104c 0x192 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8b8 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370001 =20 + write 0x51040 0x4b9 =20 + write 0x5104c 0x192 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8b9 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x370000 =20 + write 0x1c0a90 0x593 =20 + write 0x1c0a9c 0x853 =20 + write 0x1c0aa0 0x4f7cdc22 =20 + write 0x1c0aa4 0x593 =20 + write 0x1c0aa8 0x853 =20 + write 0x1c0aac 0x4f7cdc22 =20 + write 0x51040 0x4ba =20 + write 0x5104c 0x193 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8ba =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12b0010 =20 + write 0x1c0a90 0x594 =20 + write 0x1c0a9c 0x843 =20 + write 0x1c0aa0 0x4f7cd8bf =20 + write 0x1c0aa4 0x594 =20 + write 0x1c0aa8 0x843 =20 + write 0x1c0aac 0x4f7cd8bf =20 + write 0x51040 0x4bb =20 + write 0x5104c 0x194 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8bb =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12b0010 =20 + write 0x1c0a90 0x595 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cd4a3 =20 + write 0x1c0aa4 0x595 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cd4a3 =20 + write 0x51040 0x4bc =20 + write 0x5104c 0x195 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8bc =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420011 =20 + write 0x51040 0x4bd =20 + write 0x5104c 0x195 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8bd =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420010 =20 + write 0x1c0a90 0x596 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cd023 =20 + write 0x1c0aa4 0x596 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cd023 =20 + write 0x51040 0x4be =20 + write 0x5104c 0x196 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8be =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420011 =20 + write 0x51040 0x4bf =20 + write 0x5104c 0x196 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8bf =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420010 =20 + write 0x1c0a90 0x597 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cd463 =20 + write 0x1c0aa4 0x597 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cd463 =20 + write 0x51040 0x4c0 =20 + write 0x5104c 0x197 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c0 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420001 =20 + write 0x51040 0x4c1 =20 + write 0x5104c 0x197 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8c1 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x420000 =20 + write 0x1c0a90 0x598 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cd4e3 =20 + write 0x1c0aa4 0x598 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cd4e3 =20 + write 0x51040 0x4c2 =20 + write 0x5104c 0x198 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c2 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1230001 =20 + write 0x51040 0x4c3 =20 + write 0x5104c 0x198 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8c3 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1230000 =20 + write 0x1c0a90 0x599 =20 + write 0x1c0a9c 0xa53 =20 + write 0x1c0aa0 0x4f7cd5e3 =20 + write 0x1c0aa4 0x599 =20 + write 0x1c0aa8 0xa53 =20 + write 0x1c0aac 0x4f7cd5e3 =20 + write 0x51040 0x4c4 =20 + write 0x5104c 0x199 =20 + write 0x51050 0x4000 =20 + write 0x51040 0x8c4 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x12b0000 =20 + write 0x1c0a90 0x59a =20 + write 0x1c0a9c 0x411 =20 + write 0x1c0aa0 0xe1ffffff =20 + write 0x1c0aa4 0x59a =20 + write 0x1c0aa8 0x411 =20 + write 0x1c0aac 0xe1ffffff =20 + write 0x1c0a90 0x59b =20 + write 0x1c0a9c 0x421 =20 + write 0x1c0aa0 0xec8bffff =20 + write 0x1c0aa4 0x59b =20 + write 0x1c0aa8 0x421 =20 + write 0x1c0aac 0xec8bffff =20 + write 0x51040 0x4c5 =20 + write 0x5104c 0x19b =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c5 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 + write 0x1c0a90 0x59c =20 + write 0x1c0a9c 0x421 =20 + write 0x1c0aa0 0xcc8bffff =20 + write 0x1c0aa4 0x59c =20 + write 0x1c0aa8 0x421 =20 + write 0x1c0aac 0xcc8bffff =20 + write 0x51040 0x4c6 =20 + write 0x5104c 0x19c =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c6 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 + write 0x1c0a90 0x59d =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcc4a3fff =20 + write 0x1c0aa4 0x59d =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcc4a3fff =20 + write 0x51040 0x4c7 =20 + write 0x5104c 0x19d =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c7 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x110008 =20 + write 0x1c0a90 0x59e =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcc463fff =20 + write 0x1c0aa4 0x59e =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcc463fff =20 + write 0x51040 0x4c8 =20 + write 0x5104c 0x19e =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c8 =20 + write 0x5104c 0x0 =20 + write 0x51050 0x110000 =20 + write 0x1c0a90 0x59f =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcc4e3fff =20 + write 0x1c0aa4 0x59f =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcc4e3fff =20 + write 0x51040 0x4c9 =20 + write 0x5104c 0x19f =20 + write 0x51050 0x0 =20 + write 0x51040 0x8c9 =20 + write 0x5104c 0x0 =20 + write 0x51050 0xf00000 =20 + write 0x1c0a90 0x5a0 =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcc523fff =20 + write 0x1c0aa4 0x5a0 =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcc523fff =20 + write 0x51040 0x4ca =20 + write 0x5104c 0x1a0 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8ca =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 + write 0x1c0a90 0x5a1 =20 + write 0x1c0a9c 0x431 =20 + write 0x1c0aa0 0xcdc22fff =20 + write 0x1c0aa4 0x5a1 =20 + write 0x1c0aa8 0x431 =20 + write 0x1c0aac 0xcdc22fff =20 + write 0x1c0a90 0x5a2 =20 + write 0x1c0a9c 0x421 =20 + write 0x1c0aa0 0xcd8bffff =20 + write 0x1c0aa4 0x5a2 =20 + write 0x1c0aa8 0x421 =20 + write 0x1c0aac 0xcd8bffff =20 + write 0x1c0a90 0x5a3 =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcd4a3fff =20 + write 0x1c0aa4 0x5a3 =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcd4a3fff =20 + write 0x51040 0x4cb =20 + write 0x5104c 0x1a3 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8cb =20 + write 0x5104c 0x0 =20 + write 0x51050 0x290008 =20 + write 0x1c0a90 0x5a4 =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcd463fff =20 + write 0x1c0aa4 0x5a4 =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcd463fff =20 + write 0x51040 0x4cc =20 + write 0x5104c 0x1a4 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8cc =20 + write 0x5104c 0x0 =20 + write 0x51050 0x290000 =20 + write 0x1c0a90 0x5a5 =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcd4e3fff =20 + write 0x1c0aa4 0x5a5 =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcd4e3fff =20 + write 0x51040 0x4cd =20 + write 0x5104c 0x1a5 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8cd =20 + write 0x5104c 0x0 =20 + write 0x51050 0x1090000 =20 + write 0x1c0a90 0x5a6 =20 + write 0x1c0a9c 0x531 =20 + write 0x1c0aa0 0xcd5e3fff =20 + write 0x1c0aa4 0x5a6 =20 + write 0x1c0aa8 0x531 =20 + write 0x1c0aac 0xcd5e3fff =20 + write 0x1c0a90 0x5a7 =20 + write 0x1c0a9c 0x21 =20 + write 0x1c0aa0 0x4c8bffff =20 + write 0x1c0aa4 0x5a7 =20 + write 0x1c0aa8 0x21 =20 + write 0x1c0aac 0x4c8bffff =20 + write 0x51040 0x4ce =20 + write 0x5104c 0x1a7 =20 + write 0x51050 0x0 =20 + write 0x51040 0x8ce =20 + write 0x5104c 0x0 =20 + write 0x51050 0xe0000 =20 \ No newline at end of file diff --git a/fvlproto/run.sh b/fvlproto/run.sh new file mode 100644 index 0000000..f8a6573 --- /dev/null +++ b/fvlproto/run.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +#./build/fvlproto -c 3d5 -n 4 -- --lb-mode sw --rx 2,2 --w 4,6,7,8,9 --lb-= proto 50 + +#./build/fvlproto -c 3d5 -n 4 -- --lb-mode sw --rx 1,2 --w 4,6,7,8,9 --lb-= proto 50 +#./build/fvlproto -c 3d5 -n 4 -- --lb-mode sw --rx 0,2 --w 4,6,7,8,9 --lb-= proto 50 + +#./build/fvlproto -c 7fff -n 4 -- --lb-mode sw --rx 0,0 --w 4,6,7,8,9 --lb= -proto 50 +#RX - worked for me +#./build/fvlproto -c 3fff -n 4 -- --lb-mode sw --rx 0,2 --w 1,4,5,6,7 --lb= -proto 50 +#./build/fvlproto -c 3fff -n 4 -- --lb-mode rss --rx 0,2 --w 1,4,5,6,7 --l= b-proto 50 + + +#Shobhi + + +#./build/fvlproto -c 3fff -n 4 -- --rx 0,2 --tx 1,12:20:30:40:50:60 --w 4,= 6,7,8,9 --lb-proto 50 --lb-mode sw --input regs.txt +./build/fvlproto -c 3fff -n 4 -- --rx 0,2 --w 4,6,7,8,9 --lb-mode sw --inp= ut regs.txt + + diff --git a/fvlproto/test/Makefile b/fvlproto/test/Makefile new file mode 100644 index 0000000..00b878b --- /dev/null +++ b/fvlproto/test/Makefile @@ -0,0 +1,29 @@ +# BSD LICENSE + +ifeq ($(RTE_SDK),) +$(error "Please define RTE_SDK environment variable") +endif + +# Default target, can be overriden by command line or environment +RTE_TARGET ?=3D x86_64-native-linuxapp-gcc + +include $(RTE_SDK)/mk/rte.vars.mk + +# binary name +APP =3D readreg + +# all source are stored in SRCS-y +SRCS-y :=3D readreg.c + +CFLAGS +=3D -O3 -g +CFLAGS +=3D $(WERROR_FLAGS) +#CFLAGS_config.o :=3D -D_GNU_SOURCE + +# workaround for a gcc bug with noreturn attribute +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D12603 +ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) +#CFLAGS_main.o +=3D -Wno-return-type +CFLAGS_readreg.o +=3D -Wno-return-type +endif + +include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/fvlproto/test/readreg.c b/fvlproto/test/readreg.c new file mode 100644 index 0000000..717ddb3 --- /dev/null +++ b/fvlproto/test/readreg.c @@ -0,0 +1,167 @@ +// readreg.c + +#include +#include +#include +#include +//#include "i40e.h" +//#include "trb.h" =20 + +enum { + I40E_TRB_L2_PTP =3D 0, /* 0 */ + I40E_TRB_L2_FIP, /* 1 */ + I40E_TRB_VXLAN_KEY, /* 2 */ + I40E_TRB_GENEVE_KEY, /* 3 */ + I40E_TRB_L2_LLDP, /* 4 */ + I40E_TRB_L2_MPLS, /* 5 */ + I40E_TRB_GENERIC_UDP_KEY, /* 6 */ + I40E_TRB_L2_NSH, /* 7 */ + I40E_TRB_L2_888E, /* 8 */ + I40E_TRB_L2_ARP, /* 9 */ + I40E_TRB_GRE_KEY, /* 10 */ + I40E_TRB_GRE_KEYC, /* 11 **/ + I40E_TRB_L3_IPV4, /* 12 */ + I40E_TRB_L3_IPV6, /* 13 */ + I40E_TRB_L2_FCOE, /* 14 */ + I40E_TRB_GRE_NO_KEY, /* 15 GRENAT */ + I40E_TRB_TEREDO, /* 16 NAT */ + I40E_TRB_TCP, /* 17 */ + I40E_TRB_UDP, /* 18 */ + I40E_TRB_SCTP, /* 19 */ + I40E_TRB_ICMP, /* 20 */ + I40E_TRB_RESERVED_21, /* 21 */ + I40E_TRB_RESERVED_22, /* 22 */ + I40E_TRB_IPV6_ICMP, /* 23 */ + I40E_TRB_IPV6_OTHER, /* 24 */ + I40E_TRB_IPV6_DST_ROUTE, /* 25 */ + I40E_TRB_FC_RDY_RW, /* 26 */ + I40E_TRB_FC_DATA, /* 27 */ + I40E_TRB_FC_VFT, /* 28 */ + I40E_TRB_FC_RSP, /* 29 */ + I40E_TRB_FC_OTHER, /* 30 */ + I40E_TRB_CLOUD_MACVLAN, /* 31 */ + I40E_TRB_CLOUD_MAC, /* 32 */ + I40E_TRB_L2_PAYLOAD, /* 33 */ + I40E_TRB_L3_PAYLOAD, /* 34 */ + I40E_TRB_L4_PAYLOAD, /* 35 */ + I40E_TRB_L2_HDR0, /* 36 */ + I40E_TRB_L2_HDR1, /* 37 IP First Nibble */ + I40E_TRB_L2_HDR2, /* 38 FCRCTL */ + I40E_TRB_L2_HDR_STAG, /* 39 IDLE */ + I40E_TRB_L2_HDR_EXVLAN, /* 40 VXLANGPE */ + I40E_TRB_L2_HDR_VLAN, /* 41 UDPTIMESYNC1 */ + I40E_TRB_L2_CTS, /* 42 NSH_TUNNEL */ + I40E_TRB_L2_HDR7, /* 43 GRE */ + I40E_TRB_L2_HDR8, /* 44 IPV4_FRAG */ + I40E_TRB_L2_HDR9, /* 45 */ + I40E_TRB_L2_RESERVED46, /* 46 */ + I40E_TRB_L2_RESERVED47, /* 47 */ + I40E_TRB_IP_HDR_FRAG, /* 48 IPV6_FRAG */ + I40E_TRB_IP_INNER_HDR_OP, /* 49 MACDUMMY */ + I40E_TRB_TCP_HDR_OP, /* 50 */ + I40E_TRB_L2_RESERVED51, /* 51 */ + I40E_TRB_EXT_IPV4, /* 52 */ + I40E_TRB_EXT_IPV6, /* 53 */ + I40E_TRB_FC_BIT23, /* 54 */ + I40E_TRB_TCP_SYN, /* 55 */ + I40E_TRB_FC_BIT22, /* 56 */ + I40E_TRB_FLEX_OAM_VXLAN_GPE, /* 57 */ + I40E_TRB_FLEX_OAM_GENEVE, /* 58 */ + I40E_TRB_FLEX_RESERVED59, /* 59 */ + I40E_TRB_FLEX_RESERVED60, /* 60 */ + I40E_TRB_L2_UCAST_MAC, /* 61 */ + I40E_TRB_L2_MCAST_MAC, /* 62 */ + I40E_TRB_L2_BCAST_MAC /* 63 */ +}; + +// from i40e.h +int i40e_dev_reg_write(uint8_t portid, uint32_t reg_addr, uint32_t reg_val= , int ctl); + +int i40e_dev_reg_read(uint8_t portid, uint32_t reg_addr, uint64_t *reg_val= , int ctl); +// from i40e_int.h +/* Some defines from internal i40e_register_x710_int.h */ + +#define I40E_GLQF_PTYPE(_i, _j) (0x00268200 + ((_i) * 4 + (_j) *= 8)) /* _i=3D0...1, _j=3D0...63 */ /* Reset: CORER */ +#define I40E_GLQF_PTYPE_MAX_INDEX 1 +#define I40E_GLQF_PTYPE_PROT_LAYER_SHIFT 0 +#define I40E_GLQF_PTYPE_PROT_LAYER_MASK I40E_MASK(0xFFFFFFFF, I40E_GLQF_P= TYPE_PROT_LAYER_SHIFT) + +#define I40E_GLQF_PTYPE_ENA(_i, _j) (0x00268600 + ((_i) * 4 + (_= j) * 8)) /* _i=3D0...1, _j=3D0...63 */ /* Reset: CORER */ +#define I40E_GLQF_PTYPE_ENA_MAX_INDEX 1 +#define I40E_GLQF_PTYPE_ENA_PROT_LAYER_SHIFT 0 +#define I40E_GLQF_PTYPE_ENA_PROT_LAYER_MASK I40E_MASK(0xFFFFFFFF, I40E_GL= QF_PTYPE_ENA_PROT_LAYER_SHIFT) + +#define I40E_GLPPRS_INDIRECT_ADDRESS 0x001C0A90 /* Reset: CORER= */ +#define I40E_GLPPRS_INDIRECT_ADDRESS_ADDR_SHIFT 0 +#define I40E_GLPPRS_INDIRECT_ADDRESS_ADDR_MASK I40E_MASK(0xFFFF, I40E_GLP= PRS_INDIRECT_ADDRESS_ADDR_SHIFT) + +#define I40E_GLPPRS_INDIRECT_DATA(_i) (0x001C0A94 + ((_i) * 4)) /* = _i=3D0...3 */ /* Reset: CORER */ +#define I40E_GLPPRS_INDIRECT_DATA_MAX_INDEX 3 +#define I40E_GLPPRS_INDIRECT_DATA_DATA_SHIFT 0 +#define I40E_GLPPRS_INDIRECT_DATA_DATA_MASK I40E_MASK(0xFFFFFFFF, I40E_GL= PPRS_INDIRECT_DATA_DATA_SHIFT) + +#define I40E_GLRCU_INDIRECT_ADDRESS 0x001C0AA= 4 /* Reset: CORER */ +#define I40E_GLRCU_INDIRECT_ADDRESS_GLRCU_INDIRECT_ADDRESS_SHIFT 0 +#define I40E_GLRCU_INDIRECT_ADDRESS_GLRCU_INDIRECT_ADDRESS_MASK I40E_MASK= (0xFFFF, I40E_GLRCU_INDIRECT_ADDRESS_GLRCU_INDIRECT_ADDRESS_SHIFT) + +#define I40E_GLRCU_INDIRECT_DATA(_i) (0x001C0AA8 + (= (_i) * 4)) /* _i=3D0...1 */ /* Reset: CORER */ +#define I40E_GLRCU_INDIRECT_DATA_MAX_INDEX 1 +#define I40E_GLRCU_INDIRECT_DATA_GLRCU_INDIRECT_DATA_SHIFT 0 +#define I40E_GLRCU_INDIRECT_DATA_GLRCU_INDIRECT_DATA_MASK I40E_MASK(0xFFF= FFFFF, I40E_GLRCU_INDIRECT_DATA_GLRCU_INDIRECT_DATA_SHIFT) + +#define I40E_GLQF_L3_MAP(_i) (0x0026C700 + ((_i) * 4)) /* _= i=3D0...63 */ /* Reset: CORER */ +#define I40E_GLQF_L3_MAP_MAX_INDEX 63 +#define I40E_GLQF_L3_MAP_TR_IDX_CODE_SHIFT 0 +#define I40E_GLQF_L3_MAP_TR_IDX_CODE_MASK I40E_MASK(0x3F, I40E_GLQF_L3_M= AP_TR_IDX_CODE_SHIFT) +#define I40E_GLQF_L3_MAP_TR_OPCODE_SHIFT 6 +#define I40E_GLQF_L3_MAP_TR_OPCODE_MASK I40E_MASK(0x3, I40E_GLQF_L3_MA= P_TR_OPCODE_SHIFT) +#define I40E_GLQF_L3_MAP_MIN_SKIP_GAP_SHIFT 8 +#define I40E_GLQF_L3_MAP_MIN_SKIP_GAP_MASK I40E_MASK(0x7F, I40E_GLQF_L3_M= AP_MIN_SKIP_GAP_SHIFT) +#define I40E_GLQF_L3_MAP_MIN_SKIP_ENA_SHIFT 15 +#define I40E_GLQF_L3_MAP_MIN_SKIP_ENA_MASK I40E_MASK(0x1, I40E_GLQF_L3_MA= P_MIN_SKIP_ENA_SHIFT) + + +#define MEMTYPE_HEADER_SKIP 0x000 +#define MEMTYPE_PROTO 0x100 +#define MEMTYPE_PTYPE 0x500 + +#define PROTO_SPACE_IPV4 1 +#define PROTO_SPACE_IPV6 2 + +#define SKIP_SELECT_CONST 2 + +static void i40_read_memconfig(uint8_t portid, uint32_t memtype, uint32_t = entry) +{ + uint64_t val; + printf(" memtype + entry =3D %x in %s\n", memtype + entry, __func__); + i40e_dev_reg_write(portid, I40E_GLPPRS_INDIRECT_ADDRESS, memtype + entry,= 0); + i40e_dev_reg_read(portid, I40E_GLPPRS_INDIRECT_DATA(2), &val, 0); + printf("I40E_GLPPRS_INDIRECT_DATA(2)=3D%lx in %s\n", val, __func__); + i40e_dev_reg_read(portid, I40E_GLPPRS_INDIRECT_DATA(3), &val, 0); + printf("I40E_GLPPRS_INDIRECT_DATA(3)=3D%lx in %s\n", val, __func__);=09 + printf("****************************************************\n" );=09 + i40e_dev_reg_write(portid, I40E_GLRCU_INDIRECT_ADDRESS, memtype + entry, = 0); + i40e_dev_reg_read(portid, I40E_GLRCU_INDIRECT_DATA(0), &val, 0); + printf("I40E_GLRCU_INDIRECT_DATA(0)=3D%lx\n",val); + i40e_dev_reg_read(portid, I40E_GLRCU_INDIRECT_DATA(1), &val, 0); + printf("I40E_GLRCU_INDIRECT_DATA(1)=3D%lx\n",val);=09 +} + +int main(int argc, char **argv) +{ + uint8_t portid =3D 0; + int ret; + uint32_t proto_entry =3D 36; // ICMPv4 + ret =3D rte_eal_init(argc, argv); + if (ret < 0) { + printf("rte_eal_init() failed in %s\n",__func__); + return -1; + } + printf("calling i40_read_memconfig() for MEMTYPE_PROTO + 0x24 in %s\n= ",__func__); + i40_read_memconfig(portid, MEMTYPE_PROTO, proto_entry); + + printf("calling i40_read_memconfig() for MEMTYPE_HEADER_SKIP + I40E_T= RB_ICMP in %s\n",__func__); =20 + i40_read_memconfig(portid, MEMTYPE_HEADER_SKIP, I40E_TRB_ICMP); + =20 + return ret; +} diff --git a/fvlproto/test/run.sh b/fvlproto/test/run.sh new file mode 100644 index 0000000..0ece4b2 --- /dev/null +++ b/fvlproto/test/run.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +./build/readreg -c 3fff -n 4 \ No newline at end of file --=20 2.5.5