summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhuajun li <huajun.li.lee@gmail.com>2011-03-04 10:56:18 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-07 13:40:59 -0800
commit41e568d14ec0aca1b2bb19563517aad3b06d6805 (patch)
treee1c9e5a384bb0ae1909ab373b13d127ef0f0b0de
parent153775d94899503f5f66baaa9751a43c74d4f371 (diff)
Staging: Merge ENE UB6250 SD card codes from keucr to drivers/usb/storage
The usb portion of this driver can now go into drivers/usb/storage. This leaves the non-usb portion of the code still in staging. Signed-off-by: Huajun Li <huajun.li.lee@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/keucr/Kconfig5
-rw-r--r--drivers/staging/keucr/Makefile1
-rw-r--r--drivers/staging/keucr/init.c122
-rw-r--r--drivers/staging/keucr/init.h773
-rw-r--r--drivers/staging/keucr/sdscsi.c210
-rw-r--r--drivers/staging/keucr/transport.c3
-rw-r--r--drivers/staging/keucr/transport.h3
-rw-r--r--drivers/staging/keucr/usb.c21
-rw-r--r--drivers/usb/storage/Kconfig14
-rw-r--r--drivers/usb/storage/Makefile2
-rw-r--r--drivers/usb/storage/ene_ub6250.c807
-rw-r--r--drivers/usb/storage/unusual_ene_ub6250.h26
-rw-r--r--drivers/usb/storage/usual-tables.c1
13 files changed, 876 insertions, 1112 deletions
diff --git a/drivers/staging/keucr/Kconfig b/drivers/staging/keucr/Kconfig
index b595bdbd4740..e397fad693a7 100644
--- a/drivers/staging/keucr/Kconfig
+++ b/drivers/staging/keucr/Kconfig
@@ -1,8 +1,9 @@
config USB_ENESTORAGE
- tristate "USB ENE card reader support"
+ tristate "USB ENE SM/MS card reader support"
depends on USB && SCSI && m
---help---
- Say Y here if you wish to control a ENE Card reader.
+ Say Y here if you wish to control a ENE SM/MS Card reader.
+ To use SD card, please build driver/usb/storage/ums-eneub6250.ko
This option depends on 'SCSI' support being enabled, but you
probably also need 'SCSI device support: SCSI disk support'
diff --git a/drivers/staging/keucr/Makefile b/drivers/staging/keucr/Makefile
index 5c19b7b0d3b7..ae928f9cd71a 100644
--- a/drivers/staging/keucr/Makefile
+++ b/drivers/staging/keucr/Makefile
@@ -7,7 +7,6 @@ keucr-y := \
scsiglue.o \
transport.o \
init.o \
- sdscsi.o \
msscsi.o \
ms.o \
smscsi.o \
diff --git a/drivers/staging/keucr/init.c b/drivers/staging/keucr/init.c
index 515e448852a0..5c01f28f0734 100644
--- a/drivers/staging/keucr/init.c
+++ b/drivers/staging/keucr/init.c
@@ -30,14 +30,6 @@ int ENE_InitMedia(struct us_data *us)
}
printk(KERN_INFO "MiscReg03 = %x\n", MiscReg03);
- if (MiscReg03 & 0x01) {
- if (!us->SD_Status.Ready) {
- result = ENE_SDInit(us);
- if (result != USB_STOR_XFER_GOOD)
- return USB_STOR_TRANSPORT_ERROR;
- }
- }
-
if (MiscReg03 & 0x02) {
if (!us->SM_Status.Ready && !us->MS_Status.Ready) {
result = ENE_SMInit(us);
@@ -73,69 +65,6 @@ int ENE_Read_BYTE(struct us_data *us, WORD index, void *buf)
}
/*
- * ENE_SDInit():
- */
-int ENE_SDInit(struct us_data *us)
-{
- struct bulk_cb_wrap *bcb = (struct bulk_cb_wrap *) us->iobuf;
- int result;
- BYTE buf[0x200];
-
- printk(KERN_INFO "transport --- ENE_SDInit\n");
- /* SD Init Part-1 */
- result = ENE_LoadBinCode(us, SD_INIT1_PATTERN);
- if (result != USB_STOR_XFER_GOOD) {
- printk(KERN_ERR "Load SD Init Code Part-1 Fail !!\n");
- return USB_STOR_TRANSPORT_ERROR;
- }
-
- memset(bcb, 0, sizeof(struct bulk_cb_wrap));
- bcb->Signature = cpu_to_le32(US_BULK_CB_SIGN);
- bcb->Flags = 0x80;
- bcb->CDB[0] = 0xF2;
-
- result = ENE_SendScsiCmd(us, FDIR_READ, NULL, 0);
- if (result != USB_STOR_XFER_GOOD) {
- printk(KERN_ERR "Exection SD Init Code Fail !!\n");
- return USB_STOR_TRANSPORT_ERROR;
- }
-
- /* SD Init Part-2 */
- result = ENE_LoadBinCode(us, SD_INIT2_PATTERN);
- if (result != USB_STOR_XFER_GOOD) {
- printk(KERN_ERR "Load SD Init Code Part-2 Fail !!\n");
- return USB_STOR_TRANSPORT_ERROR;
- }
-
- memset(bcb, 0, sizeof(struct bulk_cb_wrap));
- bcb->Signature = cpu_to_le32(US_BULK_CB_SIGN);
- bcb->DataTransferLength = 0x200;
- bcb->Flags = 0x80;
- bcb->CDB[0] = 0xF1;
-
- result = ENE_SendScsiCmd(us, FDIR_READ, &buf, 0);
- if (result != USB_STOR_XFER_GOOD) {
- printk(KERN_ERR "Exection SD Init Code Fail !!\n");
- return USB_STOR_TRANSPORT_ERROR;
- }
-
- us->SD_Status = *(PSD_STATUS)&buf[0];
- if (us->SD_Status.Insert && us->SD_Status.Ready) {
- ENE_ReadSDReg(us, (PBYTE)&buf);
- printk(KERN_INFO "Insert = %x\n", us->SD_Status.Insert);
- printk(KERN_INFO "Ready = %x\n", us->SD_Status.Ready);
- printk(KERN_INFO "IsMMC = %x\n", us->SD_Status.IsMMC);
- printk(KERN_INFO "HiCapacity = %x\n", us->SD_Status.HiCapacity);
- printk(KERN_INFO "HiSpeed = %x\n", us->SD_Status.HiSpeed);
- printk(KERN_INFO "WtP = %x\n", us->SD_Status.WtP);
- } else {
- printk(KERN_ERR "SD Card Not Ready --- %x\n", buf[0]);
- return USB_STOR_TRANSPORT_ERROR;
- }
- return USB_STOR_TRANSPORT_GOOD;
-}
-
-/*
* ENE_MSInit():
*/
int ENE_MSInit(struct us_data *us)
@@ -242,38 +171,6 @@ int ENE_SMInit(struct us_data *us)
}
/*
- * ENE_ReadSDReg()
- */
-int ENE_ReadSDReg(struct us_data *us, u8 *RdBuf)
-{
- WORD tmpreg;
- DWORD reg4b;
-
- /* printk(KERN_INFO "transport --- ENE_ReadSDReg\n"); */
- reg4b = *(PDWORD)&RdBuf[0x18];
- us->SD_READ_BL_LEN = (BYTE)((reg4b >> 8) & 0x0f);
-
- tmpreg = (WORD) reg4b;
- reg4b = *(PDWORD)(&RdBuf[0x14]);
- if (us->SD_Status.HiCapacity && !us->SD_Status.IsMMC)
- us->HC_C_SIZE = (reg4b >> 8) & 0x3fffff;
-
- us->SD_C_SIZE = ((tmpreg & 0x03) << 10) | (WORD)(reg4b >> 22);
- us->SD_C_SIZE_MULT = (BYTE)(reg4b >> 7) & 0x07;
- if (us->SD_Status.HiCapacity && us->SD_Status.IsMMC)
- us->HC_C_SIZE = *(PDWORD)(&RdBuf[0x100]);
-
- if (us->SD_READ_BL_LEN > SD_BLOCK_LEN) {
- us->SD_Block_Mult =
- 1 << (us->SD_READ_BL_LEN - SD_BLOCK_LEN);
- us->SD_READ_BL_LEN = SD_BLOCK_LEN;
- } else {
- us->SD_Block_Mult = 1;
- }
- return USB_STOR_TRANSPORT_GOOD;
-}
-
-/*
* ENE_LoadBinCode()
*/
int ENE_LoadBinCode(struct us_data *us, BYTE flag)
@@ -291,19 +188,6 @@ int ENE_LoadBinCode(struct us_data *us, BYTE flag)
if (buf == NULL)
return USB_STOR_TRANSPORT_ERROR;
switch (flag) {
- /* For SD */
- case SD_INIT1_PATTERN:
- printk(KERN_INFO "SD_INIT1_PATTERN\n");
- memcpy(buf, SD_Init1, 0x800);
- break;
- case SD_INIT2_PATTERN:
- printk(KERN_INFO "SD_INIT2_PATTERN\n");
- memcpy(buf, SD_Init2, 0x800);
- break;
- case SD_RW_PATTERN:
- printk(KERN_INFO "SD_RW_PATTERN\n");
- memcpy(buf, SD_Rdwr, 0x800);
- break;
/* For MS */
case MS_INIT_PATTERN:
printk(KERN_INFO "MS_INIT_PATTERN\n");
@@ -412,8 +296,9 @@ int ENE_SendScsiCmd(struct us_data *us, BYTE fDir, void *buf, int use_sg)
*/
if (residue && !(us->fflags & US_FL_IGNORE_RESIDUE)) {
residue = min(residue, transfer_length);
- scsi_set_resid(us->srb, max(scsi_get_resid(us->srb),
- (int) residue));
+ if (us->srb)
+ scsi_set_resid(us->srb, max(scsi_get_resid(us->srb),
+ (int) residue));
}
if (bcs->Status != US_BULK_STAT_OK)
@@ -558,4 +443,3 @@ void usb_stor_print_cmd(struct scsi_cmnd *srb)
blen = 0;
}
-
diff --git a/drivers/staging/keucr/init.h b/drivers/staging/keucr/init.h
index 5223132a6c24..953a31e9d5f0 100644
--- a/drivers/staging/keucr/init.h
+++ b/drivers/staging/keucr/init.h
@@ -3,779 +3,6 @@
extern DWORD MediaChange;
extern int Check_D_MediaFmt(struct us_data *);
-BYTE SD_Init1[] = {
-0x90, 0xFF, 0x09, 0xE0, 0x30, 0xE1, 0x06, 0x90,
-0xFF, 0x23, 0x74, 0x80, 0xF0, 0x90, 0xFF, 0x09,
-0xE0, 0x30, 0xE5, 0xFC, 0x90, 0xFF, 0x83, 0xE0,
-0xA2, 0xE0, 0x92, 0x14, 0x20, 0x14, 0x0A, 0xC2,
-0x0F, 0xD2, 0x10, 0xC2, 0x17, 0xC3, 0x02, 0xE3,
-0x13, 0x7F, 0x03, 0x12, 0x2F, 0xCB, 0x7E, 0x00,
-0x7F, 0x10, 0x12, 0xE3, 0xFA, 0x90, 0xFE, 0x07,
-0xE0, 0x54, 0xBA, 0xF0, 0x75, 0x16, 0x00, 0x75,
-0x17, 0x00, 0x90, 0xFE, 0x05, 0x74, 0x80, 0xF0,
-0x90, 0xFE, 0x07, 0x74, 0x80, 0xF0, 0x7F, 0x32,
-0x7E, 0x00, 0x12, 0xE3, 0xFA, 0x90, 0xFE, 0x05,
-0xE0, 0x44, 0x01, 0xF0, 0xE0, 0x44, 0x08, 0xF0,
-0x7F, 0x32, 0x7E, 0x00, 0x12, 0xE3, 0xFA, 0x90,
-0xFE, 0x05, 0xE0, 0x54, 0xF7, 0xF0, 0x7F, 0x32,
-0x7E, 0x00, 0x12, 0xE3, 0xFA, 0x90, 0xFF, 0x81,
-0xE0, 0xC2, 0xE3, 0xF0, 0xE0, 0x54, 0xCF, 0x44,
-0x20, 0xD2, 0xE3, 0xF0, 0x90, 0xFF, 0x84, 0xE0,
-0x54, 0x1F, 0x44, 0x40, 0xF0, 0x90, 0xFE, 0x05,
-0xE0, 0xD2, 0xE0, 0xF0, 0xE0, 0x30, 0xE0, 0xF8,
-0x90, 0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90,
-0xFE, 0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA,
-0xD3, 0x80, 0x01, 0xC3, 0x90, 0xFE, 0x05, 0xE0,
-0x44, 0x30, 0xF0, 0x90, 0xFE, 0x06, 0x74, 0x70,
-0xF0, 0x74, 0xFF, 0x90, 0xFE, 0x08, 0xF0, 0x74,
-0xFF, 0x90, 0xFE, 0x09, 0xF0, 0x90, 0xFE, 0x04,
-0xE0, 0x44, 0x06, 0xF0, 0xE4, 0x90, 0xFE, 0x0C,
-0xF0, 0x90, 0xFE, 0x0D, 0xF0, 0x90, 0xFE, 0x0E,
-0xF0, 0xC2, 0x12, 0xE4, 0x90, 0xEB, 0xF9, 0xF0,
-0x90, 0xEB, 0xFA, 0xF0, 0x90, 0xFF, 0x81, 0xE0,
-0x54, 0x8F, 0x44, 0x7F, 0xF0, 0x7F, 0x32, 0x7E,
-0x00, 0x12, 0xE3, 0xFA, 0x90, 0xFE, 0x05, 0xE0,
-0x54, 0xBF, 0xF0, 0x75, 0xF0, 0xFF, 0xD2, 0x17,
-0xC2, 0x13, 0xE5, 0xF0, 0x14, 0xF5, 0xF0, 0x70,
-0x03, 0x02, 0xE2, 0xFC, 0x90, 0xFF, 0x83, 0xE0,
-0xA2, 0xE0, 0x92, 0x14, 0x20, 0x14, 0x03, 0x02,
-0xE2, 0xFC, 0xE4, 0xFE, 0x74, 0xFF, 0xFF, 0x78,
-0x00, 0x79, 0x08, 0x12, 0xE3, 0x22, 0x20, 0x13,
-0x24, 0x30, 0x17, 0x21, 0x90, 0xFF, 0x83, 0xE0,
-0xA2, 0xE0, 0x92, 0x14, 0x20, 0x14, 0x03, 0x02,
-0xE2, 0xFC, 0x78, 0x08, 0x79, 0x28, 0x7D, 0xAA,
-0x7C, 0x01, 0x7B, 0x00, 0x7A, 0x00, 0x12, 0xE3,
-0x22, 0x50, 0x02, 0x21, 0xED, 0x90, 0xFF, 0x83,
-0xE0, 0xA2, 0xE0, 0x92, 0x14, 0x20, 0x14, 0x03,
-0x02, 0xE2, 0xFC, 0x30, 0x13, 0x02, 0x80, 0x17,
-0x78, 0x37, 0x79, 0x50, 0x7A, 0x00, 0x7B, 0x00,
-0x7C, 0x00, 0x7D, 0x00, 0x12, 0xE3, 0x22, 0x50,
-0x02, 0x80, 0x7A, 0x78, 0x69, 0x80, 0x02, 0x78,
-0x01, 0x79, 0x2A, 0x7A, 0x80, 0x30, 0x17, 0x02,
-0x7A, 0x40, 0x7B, 0x70, 0x7C, 0x00, 0x7D, 0x00,
-0x12, 0xE3, 0x22, 0x50, 0x16, 0x90, 0xFE, 0x04,
-0xE0, 0x44, 0x06, 0xF0, 0x90, 0xFE, 0x04, 0x30,
-0x14, 0x06, 0xE0, 0x70, 0xFA, 0xD3, 0x80, 0x01,
-0xC3, 0x80, 0x4A, 0x90, 0xFE, 0x20, 0xE0, 0x54,
-0x00, 0xB4, 0x00, 0x23, 0x90, 0xFE, 0x21, 0xE0,
-0x54, 0x00, 0xB4, 0x00, 0x1A, 0x90, 0xFE, 0x22,
-0xE0, 0x54, 0x70, 0xB4, 0x70, 0x11, 0x90, 0xFE,
-0x23, 0xE0, 0x30, 0xE7, 0x0A, 0x30, 0x17, 0x05,
-0x20, 0xE6, 0x02, 0xC2, 0x17, 0x41, 0x02, 0xC3,
-0xEF, 0x94, 0x01, 0xFF, 0xEE, 0x94, 0x00, 0xFE,
-0xC0, 0x06, 0xC0, 0x07, 0x7F, 0x64, 0x7E, 0x00,
-0x12, 0xE3, 0xFA, 0xD0, 0x07, 0xD0, 0x06, 0xEE,
-0x4F, 0x60, 0x02, 0x21, 0x4D, 0x7F, 0x64, 0x7E,
-0x00, 0x12, 0xE3, 0xFA, 0xB2, 0x17, 0x30, 0x17,
-0x07, 0xB2, 0x13, 0x20, 0x13, 0x02, 0x01, 0xFE,
-0x21, 0x0C, 0x78, 0x02, 0x79, 0x2D, 0x12, 0xE3,
-0x22, 0x50, 0x03, 0x02, 0xE2, 0xFC, 0x7B, 0x0F,
-0x7C, 0xFE, 0x7D, 0x20, 0x7E, 0xEA, 0x7F, 0x1A,
-0x12, 0xE3, 0xD3, 0x78, 0x03, 0x20, 0x13, 0x02,
-0x78, 0x03, 0x79, 0x28, 0x90, 0xEB, 0xFA, 0xE0,
-0xFA, 0x90, 0xEB, 0xF9, 0xE0, 0xFB, 0x7C, 0x00,
-0x7D, 0x00, 0x12, 0xE3, 0x22, 0x50, 0x03, 0x02,
-0xE2, 0xFC, 0x90, 0xFE, 0x22, 0xE0, 0x90, 0xEB,
-0xF9, 0xF0, 0x90, 0xFE, 0x23, 0xE0, 0x90, 0xEB,
-0xFA, 0xF0, 0x90, 0xFF, 0x81, 0xE0, 0xC2, 0xE3,
-0xF0, 0x30, 0x13, 0x11, 0x90, 0xFF, 0x85, 0xE0,
-0x54, 0xCF, 0x44, 0x20, 0xF0, 0x90, 0xFF, 0x81,
-0x74, 0x94, 0xF0, 0x80, 0x0F, 0x90, 0xFF, 0x85,
-0xE0, 0x54, 0xCF, 0x44, 0x30, 0xF0, 0x90, 0xFF,
-0x81, 0x74, 0x94, 0xF0, 0x90, 0xFF, 0x81, 0xE0,
-0xD2, 0xE3, 0xF0, 0x7F, 0x32, 0x7E, 0x00, 0x12,
-0xE3, 0xFA, 0x78, 0x09, 0x79, 0x4D, 0x90, 0xEB,
-0xFA, 0xE0, 0xFA, 0x90, 0xEB, 0xF9, 0xE0, 0xFB,
-0x7C, 0x00, 0x7D, 0x00, 0x12, 0xE3, 0x22, 0x50,
-0x03, 0x02, 0xE2, 0xFC, 0x12, 0xE3, 0x91, 0x78,
-0x87, 0x79, 0x50, 0x90, 0xEB, 0xFA, 0xE0, 0xFA,
-0x90, 0xEB, 0xF9, 0xE0, 0xFB, 0x7C, 0x00, 0x7D,
-0x00, 0x12, 0xE3, 0x22, 0x50, 0x03, 0x02, 0xE2,
-0xFC, 0x30, 0x13, 0x09, 0x90, 0xFE, 0x05, 0xE0,
-0x54, 0xBF, 0xF0, 0x80, 0x35, 0x78, 0x37, 0x79,
-0x50, 0x90, 0xEB, 0xFA, 0xE0, 0xFA, 0x90, 0xEB,
-0xF9, 0xE0, 0xFB, 0x7C, 0x00, 0x7D, 0x00, 0x12,
-0xE3, 0x22, 0x50, 0x03, 0x02, 0xE2, 0xFC, 0x78,
-0x46, 0x79, 0x50, 0x7A, 0x00, 0x7B, 0x00, 0x7C,
-0x00, 0x7D, 0x02, 0x12, 0xE3, 0x22, 0x50, 0x03,
-0x02, 0xE2, 0xFC, 0x90, 0xFE, 0x05, 0xE0, 0x44,
-0x40, 0xF0, 0xD3, 0x22, 0x30, 0x14, 0x14, 0x90,
-0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90, 0xFE,
-0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA, 0xD3,
-0x80, 0x01, 0xC3, 0x90, 0xFE, 0xD8, 0x74, 0x01,
-0xF0, 0x90, 0xFE, 0xCC, 0xE0, 0x44, 0x80, 0xF0,
-0xC3, 0x22, 0xE8, 0x90, 0xFE, 0x15, 0xF0, 0xE9,
-0x90, 0xFE, 0x14, 0xF0, 0xED, 0x90, 0xFE, 0x18,
-0xF0, 0xEC, 0x90, 0xFE, 0x19, 0xF0, 0xEB, 0x90,
-0xFE, 0x1A, 0xF0, 0xEA, 0x90, 0xFE, 0x1B, 0xF0,
-0x74, 0xFF, 0x90, 0xFE, 0x10, 0xF0, 0x90, 0xFE,
-0x11, 0xF0, 0x90, 0xFE, 0x12, 0xF0, 0xE8, 0x54,
-0x80, 0xFE, 0x90, 0xFE, 0x04, 0x74, 0x01, 0xF0,
-0x30, 0x14, 0x08, 0x90, 0xFE, 0x10, 0xE0, 0x54,
-0x05, 0x60, 0x02, 0xD3, 0x22, 0x90, 0xFE, 0x11,
-0xE0, 0x30, 0xE0, 0xEC, 0xBE, 0x80, 0x03, 0x30,
-0xE1, 0xE6, 0x90, 0xFE, 0x10, 0xE0, 0x54, 0x05,
-0x70, 0xE9, 0xC3, 0x22, 0x30, 0x13, 0x02, 0xC3,
-0x22, 0x90, 0xFE, 0x22, 0xE0, 0x70, 0x06, 0x90,
-0xFE, 0x23, 0xE0, 0x60, 0x02, 0xD3, 0x22, 0xC3,
-0x22, 0x7B, 0x0F, 0x7C, 0xFE, 0x7D, 0x20, 0x7E,
-0xEA, 0x7F, 0x29, 0x12, 0xE3, 0xD3, 0x30, 0x13,
-0x1B, 0x90, 0xFE, 0x20, 0xE0, 0x54, 0x30, 0x64,
-0x30, 0x70, 0x02, 0xD2, 0x11, 0x30, 0x13, 0x0C,
-0x90, 0xFE, 0x2E, 0xE0, 0x54, 0x3C, 0x64, 0x10,
-0x70, 0x02, 0xD2, 0x12, 0x30, 0x17, 0x03, 0x02,
-0xE3, 0xC4, 0x80, 0x03, 0x20, 0x13, 0x00, 0xC2,
-0x11, 0x90, 0xFE, 0x13, 0xE0, 0x30, 0xE2, 0x02,
-0xD2, 0x11, 0x22, 0xC0, 0x04, 0xC0, 0x05, 0x8E,
-0x83, 0x8F, 0x82, 0xEB, 0x60, 0x17, 0xC0, 0x82,
-0xC0, 0x83, 0x8C, 0x83, 0x8D, 0x82, 0xE0, 0xA3,
-0xAC, 0x83, 0xAD, 0x82, 0xD0, 0x83, 0xD0, 0x82,
-0xF0, 0xA3, 0x1B, 0x80, 0xE6, 0xD0, 0x05, 0xD0,
-0x04, 0x22, 0x75, 0x8A, 0x00, 0x75, 0x8C, 0xCE,
-0xC2, 0x8D, 0x90, 0xEA, 0x65, 0xE4, 0xF0, 0xA3,
-0xF0, 0xD2, 0x8C, 0x90, 0xEA, 0x65, 0xE0, 0xFC,
-0xA3, 0xE0, 0xFD, 0xEC, 0xC3, 0x9E, 0x40, 0xF3,
-0x70, 0x05, 0xED, 0xC3, 0x9F, 0x40, 0xEC, 0xC2,
-0x8C, 0x22, 0xF5, 0xD3, 0xE0, 0x64, 0x01, 0x70,
-0x02, 0xD2, 0x3F, 0x75, 0x17, 0x00, 0x75, 0x18,
-0x00, 0x85, 0x14, 0x19, 0x75, 0x1B, 0x01, 0x12,
-0x2F, 0x8C, 0x40, 0x03, 0x02, 0xE4, 0x45, 0x90,
-0xEA, 0x49, 0xE5, 0x14, 0xF0, 0x05, 0x14, 0x02,
-0xE2, 0xDC, 0xD2, 0x22, 0x90, 0xEA, 0x49, 0xE0,
-0x64, 0xFF, 0x70, 0x02, 0x80, 0x02, 0x80, 0x12,
-0x90, 0xFE, 0x44, 0x74, 0x02, 0xF0, 0x30, 0x25,
-0x04, 0xE0, 0x20, 0xE1, 0xF9, 0x12, 0x2F, 0x9E,
-0xC3, 0x22, 0x30, 0x3F, 0x36, 0x74, 0x88, 0x90,
-0xEA, 0x44, 0xF0, 0x75, 0x17, 0x00, 0x79, 0x00,
-0x7A, 0x00, 0x7B, 0x10, 0x7C, 0x02, 0x7D, 0x02,
-0x12, 0x2F, 0xA7, 0x7F, 0x80, 0x12, 0x2F, 0xC5,
-0x90, 0xFE, 0x45, 0xE0, 0x54, 0xFE, 0xF0, 0x90,
-0xFE, 0x45, 0xE0, 0x44, 0x04, 0xF0, 0x90, 0xFE,
-0x44, 0x74, 0x02, 0xF0, 0x30, 0x25, 0x04, 0xE0,
-0x20, 0xE1, 0xF9, 0xD3, 0x22, 0x75, 0x8A, 0x00,
-0x75, 0x8C, 0xCE, 0xC2, 0x8D, 0x90, 0xEA, 0x65,
-0xE4, 0xF0, 0xA3, 0xF0, 0xD2, 0x8C, 0x90, 0xEA,
-0x65, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xEC, 0xC3,
-0x9E, 0x40, 0xF3, 0x70, 0x05, 0xED, 0xC3, 0x9F,
-0x40, 0xEC, 0xC2, 0x8C, 0x22, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x53, 0x44, 0x2D, 0x49, 0x6E, 0x69, 0x74, 0x31,
-0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x31 };
-
-BYTE SD_Init2[] = {
-0x90, 0xFF, 0x09, 0xE0, 0x30, 0xE1, 0x06, 0x90,
-0xFF, 0x23, 0x74, 0x80, 0xF0, 0x90, 0xFF, 0x09,
-0xE0, 0x30, 0xE5, 0xFC, 0x90, 0xFF, 0x83, 0xE0,
-0xA2, 0xE0, 0x92, 0x14, 0x20, 0x14, 0x0A, 0xC2,
-0x0F, 0xD2, 0x10, 0xC2, 0x17, 0xC3, 0x02, 0xE0,
-0xA0, 0x20, 0x13, 0x05, 0x12, 0xE3, 0x8D, 0x80,
-0x03, 0x12, 0xE1, 0x1F, 0xD2, 0x0F, 0xC2, 0x10,
-0xD3, 0x90, 0xF3, 0xFF, 0x75, 0xF0, 0xFF, 0x74,
-0x00, 0xA3, 0xF0, 0xD5, 0xF0, 0xFB, 0x7B, 0x0F,
-0x7C, 0xEA, 0x7D, 0x29, 0x7E, 0xF4, 0x7F, 0x10,
-0x12, 0xE5, 0x5D, 0x90, 0xF4, 0x00, 0xE4, 0xA2,
-0x14, 0x92, 0xE0, 0xA2, 0x0F, 0x92, 0xE1, 0xA2,
-0x10, 0x92, 0xE2, 0xA2, 0x13, 0x92, 0xE3, 0xA2,
-0x17, 0x92, 0xE4, 0xA2, 0x12, 0x92, 0xE5, 0xA2,
-0x11, 0x92, 0xE6, 0xF0, 0xF0, 0x74, 0xFF, 0xA3,
-0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0xFF, 0x2A,
-0x74, 0x02, 0xF0, 0xA3, 0x74, 0x00, 0xF0, 0xD3,
-0x22, 0x30, 0x14, 0x14, 0x90, 0xFE, 0x04, 0xE0,
-0x44, 0x06, 0xF0, 0x90, 0xFE, 0x04, 0x30, 0x14,
-0x06, 0xE0, 0x70, 0xFA, 0xD3, 0x80, 0x01, 0xC3,
-0x90, 0xFE, 0xD8, 0x74, 0x01, 0xF0, 0x90, 0xFE,
-0xCC, 0xE0, 0x44, 0x80, 0xF0, 0x02, 0xE0, 0x39,
-0xE8, 0x90, 0xFE, 0x15, 0xF0, 0xE9, 0x90, 0xFE,
-0x14, 0xF0, 0xED, 0x90, 0xFE, 0x18, 0xF0, 0xEC,
-0x90, 0xFE, 0x19, 0xF0, 0xEB, 0x90, 0xFE, 0x1A,
-0xF0, 0xEA, 0x90, 0xFE, 0x1B, 0xF0, 0x74, 0xFF,
-0x90, 0xFE, 0x10, 0xF0, 0x90, 0xFE, 0x11, 0xF0,
-0x90, 0xFE, 0x12, 0xF0, 0xE8, 0x54, 0x80, 0xFE,
-0x90, 0xFE, 0x04, 0x74, 0x01, 0xF0, 0x30, 0x14,
-0x08, 0x90, 0xFE, 0x10, 0xE0, 0x54, 0x05, 0x60,
-0x02, 0xD3, 0x22, 0x90, 0xFE, 0x11, 0xE0, 0x30,
-0xE0, 0xEC, 0xBE, 0x80, 0x03, 0x30, 0xE1, 0xE6,
-0x90, 0xFE, 0x10, 0xE0, 0x54, 0x05, 0x70, 0xE9,
-0xC3, 0x22, 0x30, 0x13, 0x02, 0xC3, 0x22, 0x90,
-0xFE, 0x22, 0xE0, 0x70, 0x06, 0x90, 0xFE, 0x23,
-0xE0, 0x60, 0x02, 0xD3, 0x22, 0xC3, 0x22, 0x20,
-0x12, 0x03, 0x02, 0xE3, 0x17, 0x90, 0xFE, 0x1C,
-0x74, 0xFF, 0xF0, 0x90, 0xFE, 0x1D, 0x74, 0x01,
-0xF0, 0x74, 0x00, 0x90, 0xFE, 0x1E, 0xF0, 0x90,
-0xFE, 0x1F, 0xF0, 0x90, 0xFE, 0xCC, 0xE0, 0x54,
-0x7F, 0xF0, 0x90, 0xFE, 0x06, 0xE0, 0x54, 0xF0,
-0xF0, 0x90, 0xFE, 0xC0, 0x74, 0xF4, 0xF0, 0xA3,
-0x74, 0x00, 0xF0, 0x90, 0xFE, 0xC6, 0x74, 0x01,
-0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0x90, 0xFE, 0xC5,
-0xE4, 0xF0, 0x90, 0xFE, 0xC4, 0x74, 0x04, 0xF0,
-0x78, 0x10, 0x79, 0x50, 0x7A, 0x00, 0x7B, 0x00,
-0x7C, 0x02, 0x7D, 0x00, 0x12, 0xE0, 0xB0, 0x50,
-0x03, 0x02, 0xE3, 0x17, 0x78, 0x08, 0x79, 0xE8,
-0x12, 0xE0, 0xB0, 0x50, 0x03, 0x02, 0xE3, 0x17,
-0x90, 0xFE, 0xC8, 0xE0, 0xF0, 0x90, 0xFE, 0xC4,
-0xE0, 0x44, 0x01, 0xF0, 0x30, 0x14, 0x10, 0x90,
-0xFE, 0xC8, 0xE0, 0x64, 0x01, 0x60, 0x11, 0x90,
-0xFE, 0x10, 0xE0, 0x54, 0x0A, 0x60, 0xED, 0x90,
-0xFE, 0xD8, 0x74, 0x01, 0xF0, 0xC3, 0x80, 0x01,
-0xD3, 0x40, 0x03, 0x02, 0xE3, 0x17, 0x20, 0x17,
-0x02, 0x80, 0x39, 0xC3, 0x90, 0xF4, 0xD4, 0xE0,
-0x90, 0xF5, 0x00, 0xF0, 0x90, 0xEB, 0xF8, 0x94,
-0x01, 0xF0, 0x90, 0xF4, 0xD5, 0xE0, 0x90, 0xF5,
-0x01, 0xF0, 0x90, 0xEB, 0xF7, 0x94, 0x00, 0xF0,
-0x90, 0xF4, 0xD6, 0xE0, 0x90, 0xF5, 0x02, 0xF0,
-0x90, 0xEB, 0xF6, 0x94, 0x00, 0xF0, 0x90, 0xF4,
-0xD7, 0xE0, 0x90, 0xF5, 0x03, 0xF0, 0x90, 0xEB,
-0xF5, 0x94, 0x00, 0xF0, 0x90, 0xF4, 0x00, 0x43,
-0x82, 0xC4, 0xE0, 0x54, 0x03, 0xF5, 0x09, 0x90,
-0xFE, 0xCC, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0xFE,
-0x06, 0xE0, 0x54, 0x3F, 0x44, 0x00, 0xF0, 0x90,
-0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90, 0xFE,
-0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA, 0xD3,
-0x80, 0x01, 0xC3, 0x74, 0x03, 0x90, 0xFE, 0x1C,
-0xF0, 0x74, 0x00, 0x90, 0xFE, 0x1D, 0xF0, 0x90,
-0xFE, 0x1E, 0xF0, 0x90, 0xFE, 0x1F, 0xF0, 0x78,
-0x10, 0x79, 0x50, 0x7A, 0x00, 0x7B, 0x00, 0x7C,
-0x00, 0x7D, 0x04, 0x12, 0xE0, 0xB0, 0x50, 0x03,
-0x02, 0xE3, 0x17, 0x90, 0xFE, 0x07, 0xE0, 0xC2,
-0xE6, 0xF0, 0x90, 0xFE, 0x07, 0xE0, 0xD2, 0xE0,
-0xF0, 0x90, 0xFE, 0x05, 0xE0, 0xD2, 0xE7, 0xF0,
-0x7B, 0x55, 0x7C, 0xAA, 0x7D, 0xAA, 0x7E, 0x55,
-0x12, 0xE3, 0x35, 0x50, 0x05, 0x75, 0x08, 0x02,
-0x41, 0xB0, 0x90, 0xFE, 0x07, 0xE0, 0x54, 0xBE,
-0xF0, 0x90, 0xFE, 0x05, 0xE0, 0x44, 0x40, 0xF0,
-0x90, 0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90,
-0xFE, 0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA,
-0xD3, 0x80, 0x01, 0xC3, 0x7B, 0x5A, 0x7C, 0x5A,
-0x7D, 0xA5, 0x7E, 0x00, 0x12, 0xE3, 0x35, 0x50,
-0x05, 0x75, 0x08, 0x01, 0x41, 0xB0, 0x90, 0xFE,
-0x05, 0xE0, 0x54, 0xBF, 0xF0, 0x02, 0xE3, 0x17,
-0x90, 0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90,
-0xFE, 0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA,
-0xD3, 0x80, 0x01, 0xC3, 0xE5, 0x08, 0x78, 0x86,
-0x79, 0x50, 0x7A, 0x03, 0x7B, 0xB7, 0xFC, 0x7D,
-0x00, 0x12, 0xE0, 0xB0, 0x50, 0x03, 0x02, 0xE3,
-0x17, 0x78, 0x86, 0x79, 0x50, 0x7A, 0x03, 0x7B,
-0xB9, 0x7C, 0x01, 0x7D, 0x00, 0x12, 0xE0, 0xB0,
-0x40, 0xBC, 0xE5, 0x09, 0x20, 0xE1, 0x04, 0x74,
-0x94, 0x80, 0x02, 0x74, 0x84, 0x90, 0xFF, 0x81,
-0xF0, 0x90, 0xFE, 0x07, 0xE0, 0xD2, 0xE6, 0xF0,
-0x90, 0xFF, 0x85, 0xE0, 0x54, 0xCF, 0x44, 0x30,
-0xF0, 0x90, 0xFF, 0x81, 0xE0, 0xD2, 0xE3, 0xF0,
-0x7F, 0x32, 0x7E, 0x00, 0x12, 0xE5, 0x84, 0x90,
-0xFE, 0x06, 0xE0, 0x54, 0x3F, 0x44, 0x40, 0xF0,
-0x90, 0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90,
-0xFE, 0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA,
-0xD3, 0x80, 0x01, 0xC3, 0x22, 0xC0, 0x05, 0xC0,
-0x06, 0x78, 0x13, 0x79, 0x68, 0x12, 0xE0, 0xB0,
-0x50, 0x03, 0x02, 0xE3, 0x8B, 0xEB, 0x90, 0xFE,
-0x00, 0xF0, 0xEC, 0xF0, 0x90, 0xFE, 0x12, 0xE0,
-0x30, 0xE1, 0xF9, 0x90, 0xFE, 0x04, 0xE0, 0x44,
-0x06, 0xF0, 0x90, 0xFE, 0x04, 0x30, 0x14, 0x06,
-0xE0, 0x70, 0xFA, 0xD3, 0x80, 0x01, 0xC3, 0x78,
-0x0E, 0x79, 0xE8, 0x12, 0xE0, 0xB0, 0x50, 0x03,
-0x02, 0xE3, 0x8B, 0x90, 0xFE, 0x12, 0xE0, 0x20,
-0xE1, 0xF9, 0xD0, 0x06, 0xD0, 0x05, 0x90, 0xFE,
-0x00, 0xE0, 0x6D, 0x70, 0x06, 0xE0, 0x6E, 0x70,
-0x02, 0xD3, 0x22, 0xC3, 0x22, 0x90, 0xFE, 0x06,
-0xE0, 0x54, 0x3F, 0x44, 0x00, 0xF0, 0x90, 0xFE,
-0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90, 0xFE, 0x04,
-0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA, 0xD3, 0x80,
-0x01, 0xC3, 0x74, 0x07, 0x90, 0xFE, 0x1C, 0xF0,
-0x74, 0x00, 0x90, 0xFE, 0x1D, 0xF0, 0x90, 0xFE,
-0x1E, 0xF0, 0x90, 0xFE, 0x1F, 0xF0, 0x78, 0x10,
-0x79, 0x50, 0x7A, 0x00, 0x7B, 0x00, 0x30, 0x17,
-0x06, 0x7C, 0x02, 0x7D, 0x00, 0x80, 0x04, 0x7C,
-0x00, 0x7D, 0x08, 0x12, 0xE0, 0xB0, 0x50, 0x03,
-0x02, 0xE4, 0x39, 0x78, 0x37, 0x79, 0x50, 0x90,
-0xEB, 0xFA, 0xE0, 0xFA, 0x90, 0xEB, 0xF9, 0xE0,
-0xFB, 0x7C, 0x00, 0x7D, 0x00, 0x12, 0xE0, 0xB0,
-0x50, 0x03, 0x02, 0xE4, 0x39, 0x78, 0x73, 0x79,
-0xE8, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D,
-0x00, 0x12, 0xE0, 0xB0, 0x50, 0x03, 0x02, 0xE4,
-0x39, 0x90, 0xFE, 0x12, 0xE0, 0x20, 0xE1, 0xF9,
-0x78, 0x08, 0x90, 0xEA, 0x3F, 0xC0, 0x83, 0xC0,
-0x82, 0x90, 0xFE, 0x00, 0xE0, 0xD0, 0x82, 0xD0,
-0x83, 0xF0, 0xC3, 0xE5, 0x82, 0x24, 0xFF, 0xF5,
-0x82, 0xE5, 0x83, 0x34, 0xFF, 0xF5, 0x83, 0xD8,
-0xE4, 0x90, 0xEA, 0x3F, 0xE0, 0x54, 0x0F, 0x70,
-0x25, 0x90, 0xFE, 0x07, 0xE0, 0xC2, 0xE6, 0xF0,
-0x90, 0xFE, 0x06, 0xE0, 0x54, 0x3F, 0x44, 0x40,
-0xF0, 0x90, 0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0,
-0x90, 0xFE, 0x04, 0x30, 0x14, 0x06, 0xE0, 0x70,
-0xFA, 0xD3, 0x80, 0x01, 0xC3, 0x22, 0x90, 0xFE,
-0x06, 0xE0, 0x54, 0x3F, 0x44, 0x40, 0xF0, 0x90,
-0xFE, 0x04, 0xE0, 0x44, 0x06, 0xF0, 0x90, 0xFE,
-0x04, 0x30, 0x14, 0x06, 0xE0, 0x70, 0xFA, 0xD3,
-0x80, 0x01, 0xC3, 0x7E, 0x00, 0x12, 0xE4, 0xBF,
-0x40, 0x03, 0x02, 0xE4, 0xBE, 0x7E, 0x80, 0x12,
-0xE4, 0xBF, 0x40, 0x03, 0x02, 0xE4, 0xBE, 0x90,
-0xFF, 0x81, 0xE0, 0xC2, 0xE3, 0xF0, 0x90, 0xFF,
-0x81, 0x74, 0x84, 0xF0, 0x90, 0xFE, 0x07, 0xE0,
-0xD2, 0xE6, 0xF0, 0x90, 0xFF, 0x81, 0xE0, 0xD2,
-0xE3, 0xF0, 0x90, 0xFE, 0x04, 0xE0, 0x44, 0x06,
-0xF0, 0x90, 0xFE, 0x04, 0x30, 0x14, 0x06, 0xE0,
-0x70, 0xFA, 0xD3, 0x80, 0x01, 0xC3, 0x22, 0x90,
-0xFE, 0x1C, 0x74, 0x3F, 0xF0, 0x90, 0xFE, 0x1D,
-0x74, 0x00, 0xF0, 0x74, 0x00, 0x90, 0xFE, 0x1E,
-0xF0, 0x90, 0xFE, 0x1F, 0xF0, 0x90, 0xFE, 0xCC,
-0xE0, 0x54, 0x7F, 0xF0, 0x90, 0xFE, 0x06, 0xE0,
-0x54, 0xF0, 0xF0, 0x90, 0xFE, 0xC0, 0x74, 0xF4,
-0xF0, 0xA3, 0x74, 0x00, 0xF0, 0x90, 0xFE, 0xC6,
-0x74, 0x00, 0xF0, 0xA3, 0x74, 0x3F, 0xF0, 0x90,
-0xFE, 0xC5, 0xE4, 0xF0, 0x90, 0xFE, 0xC4, 0x74,
-0x04, 0xF0, 0x78, 0x06, 0x79, 0xE8, 0xAA, 0x06,
-0x7B, 0xFF, 0x7C, 0xFF, 0x7D, 0x01, 0x12, 0xE0,
-0xB0, 0x50, 0x03, 0x02, 0xE5, 0x5B, 0x90, 0xFE,
-0xC8, 0x74, 0x01, 0xF0, 0x90, 0xFE, 0xC4, 0xE0,
-0x44, 0x01, 0xF0, 0x30, 0x14, 0x10, 0x90, 0xFE,
-0xC8, 0xE0, 0x64, 0x01, 0x60, 0x11, 0x90, 0xFE,
-0x10, 0xE0, 0x54, 0x0A, 0x60, 0xED, 0x90, 0xFE,
-0xD8, 0x74, 0x01, 0xF0, 0xC3, 0x80, 0x01, 0xD3,
-0x40, 0x03, 0x02, 0xE5, 0x5B, 0x90, 0xFE, 0xCC,
-0xE0, 0x44, 0x80, 0xF0, 0x90, 0xF4, 0x0D, 0xE0,
-0x90, 0xF4, 0x10, 0xE0, 0x64, 0x0F, 0x60, 0x03,
-0xD3, 0x80, 0x01, 0xC3, 0x22, 0xC0, 0x04, 0xC0,
-0x05, 0x8E, 0x83, 0x8F, 0x82, 0xEB, 0x60, 0x17,
-0xC0, 0x82, 0xC0, 0x83, 0x8C, 0x83, 0x8D, 0x82,
-0xE0, 0xA3, 0xAC, 0x83, 0xAD, 0x82, 0xD0, 0x83,
-0xD0, 0x82, 0xF0, 0xA3, 0x1B, 0x80, 0xE6, 0xD0,
-0x05, 0xD0, 0x04, 0x22, 0x75, 0x8A, 0x00, 0x75,
-0x8C, 0xCE, 0xC2, 0x8D, 0x90, 0xEA, 0x65, 0xE4,
-0xF0, 0xA3, 0xF0, 0xD2, 0x8C, 0x90, 0xEA, 0x65,
-0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xEC, 0xC3, 0x9E,
-0x40, 0xF3, 0x70, 0x05, 0xED, 0xC3, 0x9F, 0x40,
-0xEC, 0xC2, 0x8C, 0x22, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x53, 0x44, 0x2D, 0x49, 0x6E, 0x69, 0x74, 0x32,
-0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x31 };
-
-BYTE SD_Rdwr[] = {
-0x90, 0xF0, 0x11, 0xE0, 0x90, 0xEB, 0x2A, 0xF0,
-0x90, 0xF0, 0x12, 0xE0, 0x90, 0xEB, 0x2B, 0xF0,
-0x90, 0xF0, 0x13, 0xE0, 0x90, 0xEB, 0x2C, 0xF0,
-0x90, 0xF0, 0x14, 0xE0, 0x90, 0xEB, 0x2D, 0xF0,
-0x90, 0xFF, 0x83, 0xE0, 0xA2, 0xE0, 0x92, 0x14,
-0x30, 0x14, 0x3E, 0x30, 0x0F, 0x3B, 0x90, 0xEB,
-0x2A, 0xE0, 0xF5, 0x10, 0xA3, 0xE0, 0xF5, 0x11,
-0xA3, 0xE0, 0xF5, 0x12, 0xA3, 0xE0, 0xF5, 0x13,
-0xC3, 0xE5, 0x3D, 0x13, 0xF5, 0x14, 0xE5, 0x3E,
-0x13, 0xF5, 0x15, 0x85, 0x14, 0x16, 0x85, 0x15,
-0x17, 0x90, 0xF0, 0x0C, 0xE0, 0x54, 0x80, 0x70,
-0x12, 0x90, 0xFF, 0x09, 0xE0, 0x30, 0xE1, 0x06,
-0x90, 0xFF, 0x23, 0x74, 0x80, 0xF0, 0x02, 0xE2,
-0x31, 0xC3, 0x22, 0x90, 0xFF, 0x09, 0xE0, 0x30,
-0xE1, 0x06, 0x90, 0xFF, 0x23, 0x74, 0x80, 0xF0,
-0xE5, 0x15, 0x24, 0xFF, 0x90, 0xFE, 0x1E, 0xF0,
-0xE5, 0x14, 0x34, 0xFF, 0x90, 0xFE, 0x1F, 0xF0,
-0x90, 0xFE, 0x1C, 0x74, 0xFF, 0xF0, 0x90, 0xFE,
-0x1D, 0x74, 0x01, 0xF0, 0x90, 0xFE, 0xCC, 0xE0,
-0x54, 0x7F, 0xF0, 0x90, 0xFE, 0x06, 0xE0, 0x54,
-0xF0, 0xF0, 0x90, 0xFE, 0xC0, 0x74, 0xF4, 0xF0,
-0xA3, 0x74, 0x00, 0xF0, 0x90, 0xFE, 0xC6, 0x74,
-0x01, 0xF0, 0xA3, 0x74, 0xFF, 0xF0, 0x90, 0xFE,
-0xC5, 0xE4, 0xF0, 0x90, 0xFE, 0xC4, 0x74, 0x04,
-0xF0, 0x78, 0x10, 0x79, 0x50, 0x7A, 0x00, 0x7B,
-0x00, 0x7C, 0x02, 0x7D, 0x00, 0x12, 0xE3, 0xEA,
-0x50, 0x03, 0x02, 0xE1, 0xFA, 0x12, 0xE4, 0x44,
-0x50, 0x03, 0x02, 0xE1, 0xFA, 0xAD, 0x13, 0xAC,
-0x12, 0xAB, 0x11, 0xAA, 0x10, 0x80, 0x00, 0xE5,
-0x15, 0x64, 0x01, 0x45, 0x14, 0x70, 0x0E, 0x78,
-0x11, 0x79, 0xE8, 0x12, 0xE3, 0xEA, 0x50, 0x03,
-0x02, 0xE1, 0xFA, 0x80, 0x0C, 0x78, 0x12, 0x79,
-0xE8, 0x12, 0xE3, 0xEA, 0x50, 0x03, 0x02, 0xE1,
-0xFA, 0x12, 0xE4, 0x44, 0x50, 0x03, 0x02, 0xE1,
-0xFA, 0x30, 0x14, 0x07, 0x90, 0xFE, 0x12, 0xE0,
-0x30, 0xE4, 0xF6, 0x20, 0x14, 0x03, 0x02, 0xE1,
-0xFA, 0x90, 0xFF, 0x09, 0xE0, 0x30, 0xE5, 0xFC,
-0x90, 0xFE, 0xC8, 0x74, 0x01, 0xF0, 0x90, 0xFE,
-0xC4, 0xE0, 0x44, 0x01, 0xF0, 0xC3, 0xE5, 0x17,
-0x94, 0x01, 0xF5, 0x17, 0xE5, 0x16, 0x94, 0x00,
-0xF5, 0x16, 0x45, 0x17, 0x60, 0x42, 0x30, 0x14,
-0x10, 0x90, 0xFE, 0xC8, 0xE0, 0x64, 0x01, 0x60,
-0x11, 0x90, 0xFE, 0x10, 0xE0, 0x54, 0x0A, 0x60,
-0xED, 0x90, 0xFE, 0xD8, 0x74, 0x01, 0xF0, 0xC3,
-0x80, 0x01, 0xD3, 0x40, 0x03, 0x02, 0xE1, 0xFA,
-0x90, 0xFF, 0x2A, 0x74, 0x02, 0xF0, 0xA3, 0x74,
-0x00, 0xF0, 0x90, 0xFF, 0x09, 0xE0, 0x30, 0xE5,
-0xFC, 0x90, 0xFE, 0xC8, 0x74, 0x01, 0xF0, 0x90,
-0xFE, 0xC4, 0xE0, 0x44, 0x01, 0xF0, 0x80, 0xAD,
-0x30, 0x14, 0x10, 0x90, 0xFE, 0xC8, 0xE0, 0x64,
-0x01, 0x60, 0x11, 0x90, 0xFE, 0x10, 0xE0, 0x54,
-0x0A, 0x60, 0xED, 0x90, 0xFE, 0xD8, 0x74, 0x01,
-0xF0, 0xC3, 0x80, 0x01, 0xD3, 0x40, 0x03, 0x02,
-0xE1, 0xFA, 0x90, 0xFF, 0x2A, 0x74, 0x02, 0xF0,
-0xA3, 0x74, 0x00, 0xF0, 0xE5, 0x15, 0x64, 0x01,
-0x45, 0x14, 0x60, 0x29, 0x90, 0xFF, 0x09, 0xE0,
-0x30, 0xE5, 0xFC, 0x78, 0x8C, 0x79, 0x50, 0x12,
-0xE3, 0xEA, 0x50, 0x03, 0x02, 0xE1, 0xFA, 0x12,
-0xE4, 0x44, 0x50, 0x11, 0x90, 0xFE, 0x22, 0xE0,
-0x70, 0x20, 0x90, 0xFE, 0x23, 0xE0, 0x64, 0x80,
-0x60, 0x03, 0x02, 0xE1, 0xFA, 0x90, 0xFE, 0xCC,
-0xE0, 0x44, 0x80, 0xF0, 0x75, 0x3C, 0x00, 0x75,
-0x3D, 0x00, 0x75, 0x3E, 0x00, 0x75, 0x3F, 0x00,
-0xD3, 0x22, 0x30, 0x14, 0x14, 0x90, 0xFE, 0x04,
-0xE0, 0x44, 0x06, 0xF0, 0x90, 0xFE, 0x04, 0x30,
-0x14, 0x06, 0xE0, 0x70, 0xFA, 0xD3, 0x80, 0x01,
-0xC3, 0x90, 0xFE, 0xD8, 0x74, 0x01, 0xF0, 0x90,
-0xFE, 0xCC, 0xE0, 0x44, 0x80, 0xF0, 0x75, 0x3F,
-0x00, 0xC3, 0xE5, 0x17, 0x33, 0xF5, 0x3E, 0xE5,
-0x16, 0x33, 0xF5, 0x3D, 0x75, 0x3C, 0x00, 0xC3,
-0x22, 0xE5, 0x3E, 0x54, 0x01, 0x45, 0x3F, 0x60,
-0x03, 0x02, 0xE0, 0x69, 0xE5, 0x15, 0x24, 0xFF,
-0x90, 0xFE, 0x1E, 0xF0, 0xE5, 0x14, 0x34, 0xFF,
-0x90, 0xFE, 0x1F, 0xF0, 0x90, 0xFE, 0x1C, 0x74,
-0xFF, 0xF0, 0x90, 0xFE, 0x1D, 0x74, 0x01, 0xF0,
-0x90, 0xFE, 0x06, 0xE0, 0x54, 0xF0, 0x44, 0x0F,
-0xF0, 0x90, 0xFE, 0xC0, 0x74, 0xF0, 0xF0, 0xA3,
-0x74, 0x00, 0xF0, 0xE5, 0x4D, 0x24, 0xFF, 0xFF,
-0xE5, 0x4C, 0x34, 0xFF, 0x90, 0xFE, 0xC6, 0xF0,
-0xA3, 0xEF, 0xF0, 0xE4, 0x90, 0xFE, 0xC5, 0xF0,
-0x74, 0x06, 0x90, 0xFE, 0xC4, 0xF0, 0x90, 0xFE,
-0xCC, 0xE0, 0x54, 0x7F, 0xF0, 0x78, 0x10, 0x79,
-0x50, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x02, 0x7D,
-0x00, 0x12, 0xE3, 0xEA, 0x50, 0x03, 0x02, 0xE3,
-0x9E, 0x12, 0xE4, 0x44, 0x50, 0x03, 0x02, 0xE3,
-0x9E, 0xAD, 0x13, 0xAC, 0x12, 0xAB, 0x11, 0xAA,
-0x10, 0x80, 0x10, 0x74, 0x00, 0xFD, 0xC3, 0xE5,
-0x13, 0x33, 0xFC, 0xE5, 0x12, 0x33, 0xFB, 0xE5,
-0x11, 0x33, 0xFA, 0xE5, 0x15, 0x64, 0x01, 0x45,
-0x14, 0x70, 0x0E, 0x78, 0x18, 0x79, 0x68, 0x12,
-0xE3, 0xEA, 0x50, 0x03, 0x02, 0xE3, 0x9E, 0x80,
-0x0C, 0x78, 0x19, 0x79, 0x68, 0x12, 0xE3, 0xEA,
-0x50, 0x0