a76a791644ebe9ecc2927cea969e75e039de0bc7
[linux-3.10.git] / drivers / iio / imu / nvi_mpu / nvi_dmp_icm.c
1 /* Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.
2  *
3  * This software is licensed under the terms of the GNU General Public
4  * License version 2, as published by the Free Software Foundation, and
5  * may be copied, distributed, and modified under those terms.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  */
12
13 #include <linux/delay.h>
14 #include "nvi.h"
15 #include "nvi_dmp_icm.h"
16
17 #define ICM_DMP_DEV_MSK                 ((1 << DEV_SM) | \
18                                          (1 << DEV_QTN) | \
19                                          (1 << DEV_GMR) | \
20                                          (1 << DEV_GYU))
21
22 #define AUX_PORT_DEV_GMF                (0)
23 #define MSK_AUX_PORTS_DEV_GMF           (0x3)
24 #define AUX_PORT_DEV_PRS                (3)
25 /* all ports enabled when pressure enabled
26  * see nvi_dmp_aux_war
27  */
28 #define MSK_AUX_PORTS_DEV_PRS           (0xF)
29 /* redefine the port to the HW */
30 #define DMP_AUX_PORT_0                  (AUX_PORT_DEV_GMF)
31 #define DMP_AUX_PORT_0_MSK              (MSK_AUX_PORTS_DEV_GMF)
32 #define DMP_AUX_PORT_2                  (-1)
33 #define DMP_AUX_PORT_2_MSK              (0)
34 #define DMP_AUX_PORT_3                  (AUX_PORT_DEV_PRS)
35 #define DMP_AUX_PORT_3_MSK              (MSK_AUX_PORTS_DEV_PRS)
36
37 #define MSK_EN_AUX_PORTS                (((1 << (AUX_PORT_IO + DEV_N_AUX)) - \
38                                           1) & ~MSK_DEV_SNSR)
39 #define DMP_HDR_LEN_MAX                 (4)
40 #define DMP_HDR1_HDR2_MSK               (0x0008)
41 #define DMP_HDR1_PUSH_MSK               (0xFEF0)
42 #define DMP_DATA_OUT_CTL_HDR2_MSK       (0x0000FFFF)
43 /* INV defines */
44 #define DEFAULT_ACCEL_GAIN              (0x02000000)
45 #define PED_ACCEL_GAIN                  (0x04000000)
46 #define DMP_ACC_PERIOD_US_PED           (19608)
47
48
49 static struct nvi_aux_port_dmp_dev ap_dd_gmf[] = {
50         {
51                 .dev                    = COMPASS_ID_AK8963,
52                 .dmp_rd_len_sts         = 2,
53                 .dmp_rd_len_data        = 6,
54                 .dmp_rd_be_sts          = true,
55                 .dmp_rd_be_data         = true,
56                 .dmp_rd_ctrl            = 0x59,
57                 .dmp_rd_reg             = 0x01,
58         },
59         {
60                 .dev                    = COMPASS_ID_AK8975,
61                 .dmp_rd_len_sts         = 2,
62                 .dmp_rd_len_data        = 6,
63                 .dmp_rd_be_sts          = true,
64                 .dmp_rd_be_data         = true,
65                 .dmp_rd_ctrl            = 0x59,
66                 .dmp_rd_reg             = 0x01,
67         },
68         {
69                 .dev                    = COMPASS_ID_AK09911,
70                 .dmp_rd_len_sts         = 2,
71                 .dmp_rd_len_data        = 6,
72                 .dmp_rd_be_sts          = true,
73                 .dmp_rd_be_data         = true,
74                 .dmp_rd_ctrl            = 0x5A,
75                 .dmp_rd_reg             = 0x10,
76         },
77 };
78
79 static struct nvi_aux_port_dmp_dev ap_dd_prs[] = {
80         {
81                 .dev                    = PRESSURE_ID_BMP280,
82                 .dmp_rd_len_sts         = 0,
83                 .dmp_rd_len_data        = 6,
84                 .dmp_rd_be_sts          = true,
85                 .dmp_rd_be_data         = true,
86                 .dmp_rd_ctrl            = 0x06,
87                 .dmp_rd_reg             = 0xF7,
88         },
89 };
90
91 static struct nvi_dmp_aux_port nvi_dmp_ap[] = {
92         /* ICM DMP FW supports only this configuration */
93         /* port 0 */
94         {
95                 .type                   = SECONDARY_SLAVE_TYPE_COMPASS,
96                 .port_rd                = true,
97                 .port                   = AUX_PORT_DEV_GMF,
98                 .dd_n                   = ARRAY_SIZE(ap_dd_gmf),
99                 .dd                     = ap_dd_gmf,
100         },
101         /* port 1 */
102         {
103                 .type                   = SECONDARY_SLAVE_TYPE_COMPASS,
104                 .port_rd                = false,
105                 .port                   = AUX_PORT_DEV_GMF + 1,
106         },
107         /* port 2 not supported */
108         /* port 3 */
109         {
110                 .type                   = SECONDARY_SLAVE_TYPE_PRESSURE,
111                 .port_rd                = true,
112                 .port                   = AUX_PORT_DEV_PRS,
113                 .dd_n                   = ARRAY_SIZE(ap_dd_prs),
114                 .dd                     = ap_dd_prs,
115         },
116 };
117
118 struct nvi_dmp_dev {
119         unsigned int dev;
120         unsigned int aux_port;
121         unsigned int depend_msk;        /* sensor dependencies */
122         unsigned int src_msk;
123         unsigned int period_us_dflt;
124         unsigned int buf_n;
125         int buf_shft;
126         u32 int_ctl;
127         u16 odr_cfg;
128         u16 odr_cntr;
129         unsigned int odr_src;
130         int (*fn_init)(struct nvi_state *st, u32 *out_ctl,
131                        unsigned int en_msk, unsigned int irq_msk);
132         int (*fn_initd)(struct nvi_state *st, u32 *out_ctl,
133                         unsigned int en_msk, unsigned int irq_msk);
134 };
135
136 struct nvi_dmp_hdr {
137         unsigned int dev;
138         unsigned int aux_port;
139         unsigned int data_n;
140         u16 hdr_msk;
141 };
142
143
144 struct inv_dmp_acc_scale {
145         u32 scale;
146         u32 scale2;
147 };
148
149 /* input param: fsr for accel parts
150  * 1: 1g. 2: 2g. 4: 4g. 8: 8g. 16: 16g. 32: 32g.
151  * The goal is to set 1g data to 2^25, 2g data to 2^26, etc.
152  * For 2g parts, raw accel data is 1g = 2^14, 2g = 2^15.
153  * DMP takes raw accel data and shifts by 16 bits, so this scale means to shift
154  * by -5 bits.
155  * In Q-30 math, >> 5 equals multiply by 2^25 = 33554432.
156  * For 8g parts, raw accel data is 4g = 2^14, 8g = 2^15.
157  * DMP takes raw accel data and shifts by 16 bits, so this scale means to shift
158  * by -3 bits.
159  * In Q-30 math, >> 3 equals multiply by 2^27 = 134217728.
160  */
161 static struct inv_dmp_acc_scale inv_dmp_acc_scales[] = {
162         {
163                 .scale                  = 0x02000000,
164                 .scale2                 = 0x00080000,
165         },
166         {
167                 .scale                  = 0x04000000,
168                 .scale2                 = 0x00040000,
169         },
170         {
171                 .scale                  = 0x08000000,
172                 .scale2                 = 0x00020000,
173         },
174         {
175                 .scale                  = 0x10000000,
176                 .scale2                 = 0x00010000,
177         },
178 };
179
180 static int nvi_dmp_acc_init(struct nvi_state *st, u32 *out_ctl,
181                             unsigned int en_msk, unsigned int irq_msk)
182 {
183         int ret = 0;
184 #if ICM_DMP_FW_VER == 2
185         unsigned int i;
186
187         i = st->snsr[DEV_ACC].usr_cfg;
188         ret |= nvi_mem_wr_be_mc(st, ACC_SCALE, 4,
189                                 inv_dmp_acc_scales[i].scale,
190                                 &st->mc.icm.acc_scale);
191         ret |= nvi_mem_wr_be_mc(st, ACC_SCALE2, 4,
192                                 inv_dmp_acc_scales[i].scale2,
193                                 &st->mc.icm.acc_scale2);
194 #endif /* ICM_DMP_FW_VER */
195         ret |= st->hal->fn->en_acc(st);
196         if (irq_msk & (1 << DEV_ACC) || en_msk & ((1 << DEV_QTN) |
197                                                   (1 << DEV_GMR)))
198                 *out_ctl |= ACCEL_ACCURACY_SET;
199         return ret;
200 }
201
202 struct inv_dmp_acc_wtf {
203         unsigned int period_us;
204         unsigned int rate;
205         unsigned int gain;
206         unsigned int alpha;
207         unsigned int a;
208 };
209
210 static struct inv_dmp_acc_wtf inv_dmp_acc_wtfs[] = {
211         {
212                 .period_us              = 4444,
213                 .rate                   = 3,
214                 .gain                   = DEFAULT_ACCEL_GAIN,
215                 .alpha                  = 0x33333333,
216                 .a                      = 0x0CCCCCCD,
217         },
218         {
219                 .period_us              = 9804,
220                 .rate                   = 1,
221                 .gain                   = DEFAULT_ACCEL_GAIN,
222                 .alpha                  = 0x33333333,
223                 .a                      = 0x0CCCCCCD,
224         },
225         {
226                 .period_us              = DMP_ACC_PERIOD_US_PED,
227                 .rate                   = 0,
228                 .gain                   = PED_ACCEL_GAIN,
229                 .alpha                  = 0x33333333,
230                 .a                      = 0x0CCCCCCD,
231         },
232         {
233                 .period_us              = 66667,
234                 .rate                   = 0,
235                 .gain                   = DEFAULT_ACCEL_GAIN,
236                 .alpha                  = 0x15555555,
237                 .a                      = 0x2AAAAAAB,
238         },
239         {
240                 .period_us              = 200000,
241                 .rate                   = 0,
242                 .gain                   = DEFAULT_ACCEL_GAIN,
243                 .alpha                  = 0x06666666,
244                 .a                      = 0x3999999A,
245         },
246 };
247
248 static int nvi_dmp_acc_initd(struct nvi_state *st, u32 *out_ctl,
249                              unsigned int en_msk, unsigned int irq_msk)
250 {
251         unsigned int min_diff = -1;
252         unsigned int tmp;
253         unsigned int i;
254         unsigned int j;
255         int ret;
256
257         i = ARRAY_SIZE(inv_dmp_acc_wtfs) - 1;
258         if (st->src[SRC_ACC].period_us_src > inv_dmp_acc_wtfs[i].period_us) {
259                 /* i = ARRAY_SIZE(inv_dmp_acc_wtfs) - 1 */
260         } else if (st->src[SRC_ACC].period_us_src <
261                                                inv_dmp_acc_wtfs[0].period_us) {
262                 i = 0;
263         } else {
264                 for (j = 0; j < ARRAY_SIZE(inv_dmp_acc_wtfs); j++) {
265                         tmp = abs(inv_dmp_acc_wtfs[j].period_us -
266                                   st->src[SRC_ACC].period_us_src);
267                         if (tmp < min_diff) {
268                                 min_diff = tmp;
269                                 i = j;
270                         }
271                 }
272         }
273
274         ret = nvi_mem_wr_be_mc(st, ACCEL_CAL_RATE, 2, inv_dmp_acc_wtfs[i].rate,
275                                &st->mc.icm.accel_cal_rate);
276         ret |= nvi_mem_wr_be_mc(st, PED_RATE, 4, inv_dmp_acc_wtfs[i].rate,
277                                 &st->mc.icm.ped_rate);
278         ret |= nvi_mem_wr_be_mc(st, ACCEL_ALPHA_VAR, 4,
279                                 inv_dmp_acc_wtfs[i].alpha,
280                                 &st->mc.icm.accel_alpha_var);
281         ret |= nvi_mem_wr_be_mc(st, ACCEL_A_VAR, 4, inv_dmp_acc_wtfs[i].a,
282                                 &st->mc.icm.accel_a_var);
283         ret |= nvi_mem_wr_be_mc(st, ACCEL_ONLY_GAIN, 4,
284                                 inv_dmp_acc_wtfs[i].gain,
285                                 &st->mc.icm.accel_only_gain);
286         return ret;
287 }
288
289 /* gmf = GeoMagnetic Field (compass) */
290 static int nvi_dmp_gmf_init(struct nvi_state *st, u32 *out_ctl,
291                             unsigned int en_msk, unsigned int irq_msk)
292 {
293         st->src[SRC_AUX].period_us_max =
294                                        st->hal->src[SRC_AUX].period_us_min * 8;
295         if (irq_msk & (1 << (AUX_PORT_DEV_GMF + DEV_N_AUX)) ||
296                                                        en_msk & (1 << DEV_GMR))
297                 *out_ctl |= CPASS_ACCURACY_SET;
298         return 0;
299 }
300
301 struct inv_dmp_gmf_wtf {
302         unsigned int period_us;
303         unsigned int ct;
304         unsigned int alpha_c;
305         unsigned int a_c;
306         unsigned int rad_3d;
307         unsigned int nomot_var_thr;
308 };
309
310 static struct inv_dmp_gmf_wtf inv_dmp_gmf_wtfs[] = {
311         {
312                 .period_us              = 14286,
313                 .ct                     = 70,
314                 .alpha_c                = 0x36DB6DB7,
315                 .a_c                    = 0x09249249,
316                 .rad_3d                 = 0x00000E00,
317                 .nomot_var_thr          = 0x0000000C,
318         },
319         {
320                 .period_us              = 28571,
321                 .ct                     = 35,
322                 .alpha_c                = 0x2DB6DB6E,
323                 .a_c                    = 0x12492492,
324                 .rad_3d                 = 0x00000E00,
325                 .nomot_var_thr          = 0x0000000C,
326         },
327         {
328                 .period_us              = 66667,
329                 .ct                     = 15,
330                 .alpha_c                = 0x15555555,
331                 .a_c                    = 0x2AAAAAAB,
332                 .rad_3d                 = 0x00000E00,
333                 .nomot_var_thr          = 0x00000008,
334         },
335         {
336                 .period_us              = 125000,
337                 .ct                     = 8,
338                 .alpha_c                = 0x06666666,
339                 .a_c                    = 0x3999999A,
340                 .rad_3d                 = 0x00000E00,
341                 .nomot_var_thr          = 0x00000001,
342         },
343         {
344                 .period_us              = 250000,
345                 .ct                     = 4,
346                 .alpha_c                = 0x06666666,
347                 .a_c                    = 0x3999999A,
348                 .rad_3d                 = 0x00000E00,
349                 .nomot_var_thr          = 0x00000001,
350         },
351 };
352
353 /* gmf = GeoMagnetic Field (compass) */
354 static int nvi_dmp_gmf_initd(struct nvi_state *st, u32 *out_ctl,
355                              unsigned int en_msk, unsigned int irq_msk)
356 {
357         unsigned int min_diff = -1;
358         unsigned int tmp;
359         unsigned int i;
360         unsigned int j;
361         int ret;
362
363         i = ARRAY_SIZE(inv_dmp_gmf_wtfs) - 1;
364         if (st->src[SRC_AUX].period_us_src > inv_dmp_gmf_wtfs[i].period_us) {
365                 /* i = ARRAY_SIZE(inv_dmp_gmf_wtfs) - 1 */
366         } else if (st->src[SRC_AUX].period_us_src <
367                                                inv_dmp_gmf_wtfs[0].period_us) {
368                 i = 0;
369         } else {
370                 for (j = 0; j < ARRAY_SIZE(inv_dmp_gmf_wtfs); j++) {
371                         tmp = abs(inv_dmp_gmf_wtfs[j].period_us -
372                                   st->src[SRC_AUX].period_us_src);
373                         if (tmp < min_diff) {
374                                 min_diff = tmp;
375                                 i = j;
376                         }
377                 }
378         }
379
380         ret = nvi_mem_wr_be_mc(st, CPASS_TIME_BUFFER, 2,
381                                inv_dmp_gmf_wtfs[i].ct,
382                                &st->mc.icm.cpass_time_buffer);
383         ret |= nvi_mem_wr_be_mc(st,
384                                 CPASS_RADIUS_3D_THRESH_ANOMALY, 4,
385                                 inv_dmp_gmf_wtfs[i].rad_3d,
386                                 &st->mc.icm.cpass_rad_3d_thr);
387 #if ICM_DMP_FW_VER == 0
388         ret |= nvi_mem_wr_be_mc(st, CPASS_ALPHA_VAR, 4,
389                                 inv_dmp_gmf_wtfs[i].alpha_c,
390                                 &st->mc.icm.cpass_alpha_var);
391         ret |= nvi_mem_wr_be_mc(st, CPASS_A_VAR, 4,
392                                 inv_dmp_gmf_wtfs[i].a_c,
393                                 &st->mc.icm.cpass_a_var);
394         ret |= nvi_mem_wr_be_mc(st, CPASS_NOMOT_VAR_THRESH, 4,
395                                 inv_dmp_gmf_wtfs[i].nomot_var_thr,
396                                 &st->mc.icm.cpass_nomot_var_thr);
397 #endif /* ICM_DMP_FW_VER */
398         return ret;
399 }
400
401 static int nvi_dmp_gyr_init(struct nvi_state *st, u32 *out_ctl,
402                             unsigned int en_msk, unsigned int irq_msk)
403 {
404         if (irq_msk & (1 << DEV_GYR) || en_msk & ((1 << DEV_QTN) |
405                                                   (1 << DEV_GMR)))
406                 *out_ctl |= GYRO_ACCURACY_SET;
407         st->snsr[DEV_GYR].sts = 1;
408         return st->hal->fn->en_gyr(st);
409 }
410
411 static int nvi_dmp_sm_init(struct nvi_state *st, u32 *out_ctl,
412                            unsigned int en_msk, unsigned int irq_msk)
413 {
414 #if ICM_DMP_FW_VER == 0
415         int ret;
416
417         ret = nvi_mem_wr_be_mc(st, SMD_MOT_THLD, 4,
418                                st->snsr[DEV_SM].cfg.thresh_lo << 16,
419                                &st->mc.icm.smd_thld);
420         ret |= nvi_mem_wr_be_mc(st, SMD_DELAY_THLD, 4,
421                                 st->snsr[DEV_SM].cfg.delay_us_min,
422                                 &st->mc.icm.smd_delay);
423         ret |= nvi_mem_wr_be_mc(st, SMD_DELAY2_THLD, 4,
424                                 st->snsr[DEV_SM].cfg.delay_us_max,
425                                 &st->mc.icm.smd_delay2);
426         return ret;
427 #elif ICM_DMP_FW_VER == 1
428         /* no documentation from INV here.
429          * It can be assumed that SMD is broken with DMP FW version 1.
430          */
431         return 0;
432 #elif ICM_DMP_FW_VER == 2
433         int ret;
434
435         ret = nvi_mem_wr_be_mc(st, SMD_E1_THLD, 4,
436                                st->snsr[DEV_SM].cfg.thresh_lo,
437                                &st->mc.icm.smd_thld);
438         ret |= nvi_mem_wr_be_mc(st, SMD_E1_COUNTER_TH, 4,
439                                 st->snsr[DEV_SM].cfg.thresh_hi,
440                                 &st->mc.icm.smd_thld_n);
441         ret |= nvi_mem_wr_be_mc(st, SMD_CNTR_LO_TH, 4,
442                                 st->snsr[DEV_SM].cfg.delay_us_min,
443                                 &st->mc.icm.smd_delay);
444         ret |= nvi_mem_wr_be_mc(st, SMD_CNTR_TH, 4,
445                                 st->snsr[DEV_SM].cfg.delay_us_max,
446                                 &st->mc.icm.smd_delay2);
447         ret |= nvi_mem_wr_be_mc(st, SMD_LOW_ENERGY_TIMER_TH, 4,
448                                 st->snsr[DEV_SM].cfg.report_n,
449                                 &st->mc.icm.smd_reset);
450         return ret;
451 #else
452         return 0;
453 #endif /* ICM_DMP_FW_VER */
454 }
455
456 static int nvi_dmp_gmr_init(struct nvi_state *st, u32 *out_ctl,
457                             unsigned int en_msk, unsigned int irq_msk)
458 {
459         if (en_msk & ((1 << DEV_GYR) | (1 << DEV_GYU)))
460                 /* if gyro is enabled GMR becomes QTN 9-axis */
461                 st->src[SRC_AUX].period_us_min =
462                                        st->hal->src[SRC_AUX].period_us_min * 2;
463         else
464                 /* gyro not enabled so GMR enabled */
465                 *out_ctl |= GEOMAG_EN;
466         return 0;
467 }
468
469 static struct nvi_dmp_dev nvi_dmp_devs[] = {
470         {
471                 .dev                    = DEV_ACC,
472 #if ICM_DMP_FW_VER == 2
473                 .buf_n                  = 6,
474                 .buf_shft               = 0,
475 #else /* ICM_DMP_FW_VER < 2 */
476                 .buf_n                  = 12,
477                 .buf_shft               = -11,
478 #endif /* ICM_DMP_FW_VER */
479                 .int_ctl                = ACCEL_SET,
480                 .odr_cfg                = ODR_ACCEL,
481                 .odr_cntr               = ODR_CNTR_ACCEL,
482                 .odr_src                = SRC_ACC,
483                 .fn_init                = &nvi_dmp_acc_init,
484                 .fn_initd               = &nvi_dmp_acc_initd,
485         },
486         {
487                 .dev                    = DEV_GYR,
488                 .buf_n                  = 12,
489                 .buf_shft               = -15,
490                 .int_ctl                = GYRO_CALIBR_SET,
491                 .odr_cfg                = ODR_GYRO_CALIBR,
492                 .odr_cntr               = ODR_CNTR_GYRO_CALIBR,
493                 .odr_src                = SRC_GYR,
494                 .fn_init                = &nvi_dmp_gyr_init,
495         },
496         {
497                 .dev                    = DEV_GYU,
498                 .depend_msk             = (1 << DEV_GYR),
499                 .buf_n                  = 6,
500                 .int_ctl                = GYRO_SET,
501                 .odr_cfg                = ODR_GYRO,
502                 .odr_cntr               = ODR_CNTR_GYRO,
503                 .odr_src                = SRC_GYR,
504         },
505         {
506                 .dev                    = DEV_QTN,
507                 .depend_msk             = (1 << DEV_ACC) |
508                                           (1 << DEV_GYR),
509                 .src_msk                = (1 << SRC_ACC) |
510                                           (1 << SRC_GYR),
511                 .period_us_dflt         = ICM_DMP_PERIOD_US,
512                 .buf_n                  = 12,
513                 .int_ctl                = QUAT6_SET,
514                 .odr_cfg                = ODR_QUAT6,
515                 .odr_cntr               = ODR_CNTR_QUAT6,
516                 .odr_src                = SRC_GYR,
517         },
518         {
519                 .dev                    = DEV_GMR,
520                 .depend_msk             = (1 << DEV_ACC) |
521                                           (0x03 << DEV_N_AUX),
522                 .src_msk                = (1 << SRC_ACC) |
523                                           (1 << SRC_GYR) |
524                                           (1 << SRC_AUX),
525                 .period_us_dflt         = ICM_DMP_PERIOD_US,
526                 .buf_n                  = 14,
527                 .int_ctl                = QUAT9_SET,
528                 .odr_cfg                = ODR_QUAT9,
529                 .odr_cntr               = ODR_CNTR_QUAT9,
530                 .odr_src                = SRC_ACC,
531                 .fn_init                = &nvi_dmp_gmr_init,
532         },
533         {
534                 .dev                    = DEV_SM,
535                 .depend_msk             = (1 << DEV_ACC),
536                 .src_msk                = (1 << SRC_ACC),
537                 .period_us_dflt         = DMP_ACC_PERIOD_US_PED,
538                 .buf_n                  = 1,
539                 .fn_init                = &nvi_dmp_sm_init,
540         },
541         {
542                 .dev                    = DEV_AUX,
543                 .aux_port               = DMP_AUX_PORT_0,
544                 .depend_msk             = (DMP_AUX_PORT_0_MSK << DEV_N_AUX),
545                 .buf_n                  = 6,
546                 .int_ctl                = CPASS_SET,
547                 .odr_cfg                = ODR_CPASS,
548                 .odr_cntr               = ODR_CNTR_CPASS,
549                 .odr_src                = SRC_AUX,
550                 .fn_init                = &nvi_dmp_gmf_init,
551                 .fn_initd               = &nvi_dmp_gmf_initd,
552         },
553         {
554                 .dev                    = DEV_AUX,
555                 .aux_port               = DMP_AUX_PORT_2,
556                 .depend_msk             = (DMP_AUX_PORT_2_MSK << DEV_N_AUX),
557                 .buf_n                  = 8,
558                 .int_ctl                = ALS_SET,
559                 .odr_cfg                = ODR_ALS,
560                 .odr_cntr               = ODR_CNTR_ALS,
561                 .odr_src                = SRC_AUX,
562         },
563         {
564                 .dev                    = DEV_AUX,
565                 .aux_port               = DMP_AUX_PORT_3,
566                 .depend_msk             = (DMP_AUX_PORT_3_MSK << DEV_N_AUX),
567                 .buf_n                  = 6,
568                 .int_ctl                = PRESSURE_SET,
569                 .odr_cfg                = ODR_PRESSURE,
570                 .odr_cntr               = ODR_CNTR_PRESSURE,
571                 .odr_src                = SRC_AUX,
572         },
573 };
574
575 /* devices must be in the order the data comes out of the DMP */
576 static struct nvi_dmp_hdr nvi_dmp_hdr2s[] = {
577         {
578                 .dev                    = DEV_ACC,
579                 .data_n                 = 2,
580                 .hdr_msk                = ACCEL_ACCURACY_SET,
581         },
582         {
583                 .dev                    = DEV_GYR,
584                 .data_n                 = 2,
585                 .hdr_msk                = GYRO_ACCURACY_SET,
586         },
587         {
588                 .dev                    = DEV_AUX,
589                 .aux_port               = DMP_AUX_PORT_0,
590                 .data_n                 = 2,
591                 .hdr_msk                = CPASS_ACCURACY_SET,
592         },
593         {
594                 .dev                    = -1, /* WTF */
595                 .data_n                 = 6,
596                 .hdr_msk                = ACT_RECOG_SET,
597         },
598 };
599
600 /* devices must be in the order the data comes out of the DMP */
601 static struct nvi_dmp_hdr nvi_dmp_hdr1s[] = {
602         {
603                 .dev                    = DEV_ACC,
604 #if ICM_DMP_FW_VER == 2
605                 .data_n                 = 6,
606 #else /* ICM_DMP_FW_VER < 2 */
607                 .data_n                 = 12,
608 #endif /* ICM_DMP_FW_VER */
609                 .hdr_msk                = ACCEL_SET,
610         },
611         {
612                 .dev                    = DEV_GYU,
613                 .data_n                 = 6,
614                 .hdr_msk                = GYRO_SET,
615         },
616         {
617                 .dev                    = DEV_AUX,
618                 .aux_port               = DMP_AUX_PORT_0,
619                 .data_n                 = 6,
620                 .hdr_msk                = CPASS_SET,
621         },
622         {
623                 .dev                    = DEV_AUX,
624                 .aux_port               = DMP_AUX_PORT_2,
625                 .data_n                 = 8,
626                 .hdr_msk                = ALS_SET,
627         },
628         {
629                 .dev                    = DEV_QTN,
630                 .data_n                 = 12,
631                 .hdr_msk                = QUAT6_SET,
632         },
633         {
634                 .dev                    = DEV_GMR,
635                 .data_n                 = 14,
636                 .hdr_msk                = QUAT9_SET,
637         },
638         {
639                 .dev                    = -1, /* PQUAT6 */
640                 .data_n                 = 6,
641                 .hdr_msk                = PQUAT6_SET,
642         },
643         {
644                 .dev                    = DEV_AUX,
645                 .aux_port               = DMP_AUX_PORT_3,
646                 .data_n                 = 6,
647                 .hdr_msk                = PRESSURE_SET,
648         },
649         {
650                 .dev                    = DEV_GYR,
651                 .data_n                 = 12,
652                 .hdr_msk                = GYRO_CALIBR_SET,
653         },
654         {
655                 .dev                    = -1, /* CPASS_CALIBR */
656                 .data_n                 = 12,
657                 .hdr_msk                = CPASS_CALIBR_SET,
658         },
659         {
660                 .dev                    = DEV_STP,
661                 .data_n                 = 4,
662                 .hdr_msk                = PED_STEPDET_SET,
663         },
664 };
665
666 static unsigned int nvi_dmp_dbg(struct nvi_state *st, unsigned int n)
667 {
668         dev_info(&st->i2c->dev,
669                  "n=%04u %02x %02x %02x %02x %02x %02x %02x %02x\n",
670                  n, st->buf[st->buf_i], st->buf[st->buf_i + 1],
671                  st->buf[st->buf_i + 2], st->buf[st->buf_i + 3],
672                  st->buf[st->buf_i + 4], st->buf[st->buf_i + 5],
673                  st->buf[st->buf_i + 6], st->buf[st->buf_i + 7]);
674         dev_info(&st->i2c->dev,
675                  "       %02x %02x %02x %02x %02x %02x %02x %02x\n",
676                  st->buf[st->buf_i + 8], st->buf[st->buf_i + 9],
677                  st->buf[st->buf_i + 10], st->buf[st->buf_i + 11],
678                  st->buf[st->buf_i + 12], st->buf[st->buf_i + 13],
679                  st->buf[st->buf_i + 14], st->buf[st->buf_i + 15]);
680         if (n > 16) {
681                 st->buf_i += 16;
682                 n -= 16;
683         } else {
684                 st->buf_i += n;
685                 n = 0;
686         }
687         return n;
688 }
689
690 static void nvi_dmp_rd_aux(struct nvi_state *st, struct nvi_dmp_hdr *dh,
691                            unsigned int buf_i, s64 ts)
692 {
693         struct aux_port *ap;
694
695         if (dh->aux_port >= AUX_PORT_IO)
696                 return;
697
698         if (!(st->snsr[DEV_AUX].enable & (1 << dh->aux_port)))
699                 return;
700
701         ap = &st->aux.port[dh->aux_port];
702         ap->nmp.handler(&st->buf[buf_i], dh->data_n,
703                         nvi_ts_dev(st, 0, dh->dev, dh->aux_port),
704                         ap->nmp.ext_driver);
705 }
706
707 static void nvi_dmp_rd_hdr2(struct nvi_state *st, struct nvi_dmp_hdr *dh,
708                             unsigned int buf_i, s64 ts)
709 {
710         unsigned int i;
711
712         if (dh->dev == DEV_AUX) {
713                 nvi_dmp_rd_aux(st, dh, buf_i, ts);
714         } else if (dh->dev < DEV_N) {
715                 st->snsr[dh->dev].sts = 0;
716                 for (i = 0; i < dh->data_n; i++) {
717                         st->snsr[dh->dev].sts <<= 8;
718                         st->snsr[dh->dev].sts |= st->buf[buf_i + i];
719                 }
720         }
721 }
722
723 static void nvi_dmp_rd_hdr1(struct nvi_state *st, struct nvi_dmp_hdr *dh,
724                             unsigned int buf_i, s64 ts)
725 {
726         if (dh->dev == DEV_AUX) {
727                 nvi_dmp_rd_aux(st, dh, buf_i, ts);
728         } else if (dh->dev < DEV_N) {
729                 if (!st->snsr[dh->dev].enable)
730                         return;
731
732                 nvi_push(st, dh->dev, &st->buf[buf_i],
733                          nvi_ts_dev(st, ts, dh->dev, 0));
734         }
735 }
736
737 static int nvi_dmp_rd(struct nvi_state *st, s64 ts, unsigned int n)
738 {
739         struct nvi_dmp_hdr *dh;
740         unsigned int data_n;
741         unsigned int hdr1_i;
742         unsigned int hdr2_i;
743         unsigned int i;
744         u16 hdr1;
745         u16 hdr2;
746
747         while (n > DMP_HDR_LEN_MAX) {
748                 if (st->sts & NVI_DBG_SPEW_FIFO) {
749                         n = nvi_dmp_dbg(st, n);
750                         continue;
751                 }
752
753                 if (st->sts & (NVS_STS_SUSPEND | NVS_STS_SHUTDOWN))
754                         return -1;
755
756                 hdr1 = (u16)be16_to_cpup((__be16 *)(&st->buf[st->buf_i]));
757                 data_n = sizeof(hdr1);
758                 hdr1_i = sizeof(hdr1);
759                 /* make sure we have all the data for this header */
760                 for (i = 0; i < ARRAY_SIZE(nvi_dmp_hdr1s); i++) {
761                         if (hdr1 & nvi_dmp_hdr1s[i].hdr_msk)
762                                 data_n += nvi_dmp_hdr1s[i].data_n;
763                 }
764                 if (hdr1 & DMP_HDR1_HDR2_MSK) {
765                         hdr2 = (u16)be16_to_cpup((__be16 *)
766                                                  (&st->buf[st->buf_i +
767                                                            sizeof(hdr1)]));
768                         data_n += sizeof(hdr2);
769                         hdr2_i = data_n; /* index to header2 data */
770                         hdr1_i += sizeof(hdr2); /* index to header1 data */
771                         for (i = 0; i < ARRAY_SIZE(nvi_dmp_hdr2s); i++) {
772                                 if (hdr2 & nvi_dmp_hdr2s[i].hdr_msk)
773                                         data_n += nvi_dmp_hdr2s[i].data_n;
774                         }
775                 } else {
776                         hdr2 = 0;
777                 }
778
779                 if (n < data_n)
780                         /* not enough data to process */
781                         return 0;
782
783                 /* we process header2 accuracy data first so that it becomes
784                  * part of the header1 data + status when pushed.
785                  * if status is for an AUX device then it is sent separate
786                  * as-is to the AUX device's driver.
787                  */
788                 for (i = 0; hdr2 && i < ARRAY_SIZE(nvi_dmp_hdr2s); i++) {
789                         dh = &nvi_dmp_hdr2s[i];
790                         if (hdr2 & dh->hdr_msk) {
791                                 hdr2 &= ~dh->hdr_msk;
792                                 nvi_dmp_rd_hdr2(st, dh,
793                                                 st->buf_i + hdr2_i, ts);
794                                 hdr2_i += dh->data_n;
795                         }
796                 }
797
798                 if (hdr2) {
799                         /* unknown header: lost DMP sync so DMP reset */
800                         if (st->sts & NVI_DBG_SPEW_MSG)
801                                 dev_err(&st->i2c->dev,
802                                         "%s ERR: DMP sync HDR2=%hx\n",
803                                         __func__, hdr2);
804                         nvi_err(st);
805                         st->icm_fifo_off = true;
806                         return -1;
807                 }
808
809                 /* push data for enabled sensors */
810                 hdr1 &= DMP_HDR1_PUSH_MSK;
811                 for (i = 0; hdr1 && i < ARRAY_SIZE(nvi_dmp_hdr1s); i++) {
812                         dh = &nvi_dmp_hdr1s[i];
813                         if (hdr1 & dh->hdr_msk) {
814                                 hdr1 &= ~dh->hdr_msk;
815                                 nvi_dmp_rd_hdr1(st, dh,
816                                                 st->buf_i + hdr1_i, ts);
817                                 hdr1_i += dh->data_n;
818                         }
819                 }
820
821                 st->buf_i += data_n;
822                 n -= data_n;
823                 if (hdr1) {
824                         /* unknown header: lost DMP sync so DMP reset */
825                         if (st->sts & NVI_DBG_SPEW_MSG)
826                                 dev_err(&st->i2c->dev,
827                                         "%s ERR: DMP sync HDR1: %x\n",
828                                         __func__, hdr1);
829                         nvi_err(st);
830                         st->icm_fifo_off = true;
831                         return -1;
832                 }
833         }
834
835         return 0;
836 }
837
838 static int nvi_dmp_clk_n(struct nvi_state *st, u32 *clk_n)
839 {
840         return nvi_mem_rd_le(st, DMPRATE_CNTR, 4, clk_n);
841 }
842
843 static unsigned int nvi_dmp_gmf_us_periods[] = {
844         200000,
845         166667,
846         142857,
847         125000,
848         111111,
849         100000,
850         90909,
851         83333,
852         76923,
853         71429,
854         66667,
855         58824,
856         55556,
857         45455,
858         40000,
859         35714,
860         31250,
861         27027,
862         22222,
863         19608,
864         13333,
865         9804,
866         4444,
867 };
868
869 static int nvi_dmp_period(struct nvi_state *st, u32 *out_ctl,
870                           unsigned int en_msk, unsigned int irq_msk)
871 {
872         struct nvi_dmp_dev *dd;
873         u32 int_ctl;
874         u16 odr_cfg;
875         unsigned int period_us_req[SRC_N];
876         unsigned int period_us;
877         unsigned int period_us_int;
878         unsigned int dev_msk;
879         unsigned int src_msk;
880         unsigned int src;
881         unsigned int i;
882         unsigned int j;
883         int ret;
884         int ret_t = 0;
885
886         /* sensor enabled = sensor enabled by HAL (irq_msk)
887          * sensor active = sensor on as dependency to another sensor
888          */
889         /* initialize source period */
890         for (src = 0; src < st->hal->src_n; src++)
891                 period_us_req[src] = st->src[src].period_us_max;
892
893         /* set source's period_us_req[] to fastest enabled sensor */
894         for (i = 0; i < ARRAY_SIZE(nvi_dmp_devs); i++) {
895                 dd = &nvi_dmp_devs[i];
896                 if ((!st->snsr[dd->dev].period_us) || !(irq_msk &
897                                                         (1 << dd->dev)))
898                         /* sensor not enabled or non-valid period */
899                         continue;
900
901                 src_msk = dd->src_msk; /* use all of device's sources */
902                 if (st->hal->dev[dd->dev]->src >= 0)
903                         src_msk |= (1 << st->hal->dev[dd->dev]->src);
904                 for (src = 0; src < st->hal->src_n; src++) {
905                         if (!(src_msk & (1 << src)))
906                                 /* sensor doesn't use this source */
907                                 continue;
908
909                         if (st->snsr[dd->dev].period_us < period_us_req[src])
910                                 period_us_req[src] =
911                                                    st->snsr[dd->dev].period_us;
912                         /* override above speeds with any faster defaults */
913                         if (dd->period_us_dflt) {
914                                 if (dd->period_us_dflt < period_us_req[src])
915                                         period_us_req[src] =
916                                                             dd->period_us_dflt;
917                         }
918                 }
919         }
920
921         /* WAR: SRC_ACC && SRC_GYR must be same speed for timestamps to sync.
922          * SRC_AUX has timestamps set to ts_now = 0 since SRC_AUX has fixed
923          * rates and can't sync with the other sources.
924          */
925         period_us = -1;
926         for (src = 0; src < st->hal->src_n; src++) {
927                 if (period_us_req[src] < period_us)
928                         period_us = period_us_req[src];
929         }
930
931         /* The latest INV driver implements this WAR with a twist: the gmf
932          * lookup table, nvi_dmp_gmf_us_periods.
933          */
934         if (en_msk & (1 << (DEV_N_AUX + AUX_PORT_DEV_GMF))) {
935                 /* compass is enabled */
936                 if (period_us_req[SRC_AUX] <= period_us) {
937                         j = ARRAY_SIZE(nvi_dmp_gmf_us_periods) - 1;
938                         for (i = 0; i < j; i++) {
939                                 if (period_us_req[SRC_AUX] >=
940                                                      nvi_dmp_gmf_us_periods[i])
941                                         break;
942                         }
943                         period_us = nvi_dmp_gmf_us_periods[i];
944                 }
945
946                 period_us_req[SRC_AUX] = period_us;
947         } else if (en_msk & MSK_EN_AUX_PORTS) {
948                 /* other aux device(s) enabled */
949                 period_us_req[SRC_AUX] = period_us;
950         } else {
951                 period_us_req[SRC_AUX] = st->src[SRC_AUX].period_us_req;
952         }
953
954         period_us_req[SRC_GYR] = period_us;
955         period_us_req[SRC_ACC] = period_us;
956         /* WAR: end */
957
958         /* program the sources */
959         for (src = 0; src < st->hal->src_n; src++) {
960                 dev_msk = st->hal->src[src].dev_msk;
961 #if 0 /* WAR: program all clock sources regardless if used */
962                 if (dev_msk & (1 << DEV_AUX))
963                         dev_msk |= MSK_EN_AUX_PORTS;
964                 if (!(dev_msk & en_msk))
965                         /* no active sensors use this source */
966                         continue;
967 #endif /* WAR: end */
968                 if (period_us_req[src] < st->src[src].period_us_min)
969                         period_us_req[src] = st->src[src].period_us_min;
970                 st->src[src].period_us_req = period_us_req[src];
971                 ret_t |= st->hal->src[src].fn_period(st);
972         }
973
974         /* now set each DMP device's ODR based on their period */
975         int_ctl = 0;
976         period_us_int = -1;
977         j = -1;
978         for (i = 0; i < ARRAY_SIZE(nvi_dmp_devs); i++) {
979                 dd = &nvi_dmp_devs[i];
980                 if (!(en_msk & (1 << dd->dev)))
981                         /* device disabled */
982                         continue;
983
984                 if (dd->fn_initd)
985                         /* settings after src initialized (initd) */
986                         ret |= dd->fn_initd(st, out_ctl, en_msk, irq_msk);
987                 if (dd->dev >= DEV_N_AUX || !(dd->odr_cfg | dd->odr_cntr))
988                         /* dd (DMP Device) is not ODR configurable */
989                         continue;
990
991                 if (dd->dev == DEV_AUX) {
992                         if (dd->aux_port >= AUX_PORT_IO)
993                                 /* unused port */
994                                 continue;
995
996                         if (!(en_msk & (1 << (dd->aux_port + DEV_N_AUX))))
997                                 /* AUX sensor not enabled */
998                                 continue;
999
1000                         period_us = st->aux.port[dd->aux_port].period_us;
1001                 } else {
1002                         period_us = st->snsr[dd->dev].period_us;
1003                 }
1004
1005                 if (st->bm_timeout_us) {
1006                         /* batch mode on */
1007                         int_ctl |= dd->int_ctl;
1008                 } else {
1009                         if (*out_ctl & (dd->int_ctl << 16) && period_us) {
1010                                 /* IRQ on fastest period with data out */
1011                                 if (period_us < period_us_int) {
1012                                         period_us_int = period_us;
1013                                         j = i;
1014                                 }
1015                         }
1016                 }
1017                 if (irq_msk & (1 << dd->dev)) {
1018                         /* ODR rate for sent sensor data */
1019 #if ICM_DMP_FW_VER == 2
1020                         /* everything is off of SRC_GYR for v.2 */
1021                         odr_cfg = period_us / st->src[SRC_GYR].period_us_src;
1022 #else /* ICM_DMP_FW_VER < 2 */
1023                         odr_cfg = period_us /
1024                                             st->src[dd->odr_src].period_us_src;
1025 #endif /* ICM_DMP_FW_VER */
1026                         if (odr_cfg)
1027                                 odr_cfg--;
1028                 } else {
1029                         /* data is not sent so timing is synced to src */
1030                         odr_cfg = 0;
1031                 }
1032                 if (dd->dev == DEV_AUX)
1033                         st->aux.port[dd->aux_port].odr = odr_cfg;
1034                 else
1035                         st->snsr[dd->dev].odr = odr_cfg;
1036                 ret_t |= nvi_mem_wr_be(st, dd->odr_cntr, 2, 0);
1037                 ret_t |= nvi_mem_wr_be(st, dd->odr_cfg, 2, odr_cfg);
1038                 ret_t |= nvi_mem_wr_be(st, dd->odr_cntr, 2, 0);
1039         }
1040
1041         if (j < ARRAY_SIZE(nvi_dmp_devs))
1042                 int_ctl |= nvi_dmp_devs[j].int_ctl;
1043         if (irq_msk & (1 << DEV_STP))
1044                 int_ctl |= PED_STEPDET_SET;
1045         ret_t |= nvi_mem_wr_be_mc(st, DATA_INTR_CTL, 2, int_ctl,
1046                                   &st->mc.icm.data_intr_ctl);
1047         /* WAR: DMPRATE_CNTR only runs off of SRC_ACC.  If SRC_ACC is off then
1048          * timestamps will switch to realtime when DMPRATE_CNTR doesn't tick.
1049          */
1050         st->src[SRC_DMP].period_us_src = st->src[SRC_ACC].period_us_src;
1051         return ret_t;
1052 }
1053
1054 static int nvi_dmp_irq(struct nvi_state *st, unsigned int en_msk)
1055 {
1056         u32 able;
1057
1058         if ((en_msk & MSK_DEV_ALL) & ~((1 << DEV_SM) | (1 << DEV_STP)))
1059                 /* DMP requires FIFO IRQ */
1060                 able = 0;
1061         else
1062                 /* DMP IRQ is in event mode */
1063                 able = 1;
1064         return nvi_mem_wr_be_mc(st, WOM_ENABLE, 4, able,
1065                                 &st->mc.icm.wom_enable);
1066 }
1067
1068 static struct nvi_dmp_dev *nvi_dd(struct nvi_state *st,
1069                                   unsigned int dev, int port)
1070 {
1071         unsigned int i;
1072
1073         for (i = 0; i < ARRAY_SIZE(nvi_dmp_devs); i++) {
1074                 if (dev == nvi_dmp_devs[i].dev) {
1075                         if (dev == DEV_AUX) {
1076                                 if (port != nvi_dmp_devs[i].aux_port)
1077                                         continue;
1078                         }
1079                         return &nvi_dmp_devs[i];
1080                 }
1081         }
1082
1083         return NULL;
1084 }
1085
1086 static int nvi_dd_init(struct nvi_state *st, unsigned int dev)
1087 {
1088         struct nvi_dmp_dev *dd;
1089         unsigned int en_msk;
1090         int ret = -EINVAL;
1091         u32 out_ctl = 0;
1092
1093         dd = nvi_dd(st, dev, -1);
1094         if (dd == NULL)
1095                 return -EINVAL;
1096
1097         if (dd->fn_init) {
1098                 en_msk = st->en_msk & MSK_DEV_ALL;
1099                 en_msk |= (st->aux.dmp_en_msk << DEV_N_AUX);
1100                 ret = dd->fn_init(st, &out_ctl, en_msk, 0);
1101         }
1102         return ret;
1103 }
1104
1105 static const u16 nvi_dmp_gmf_mtx_addrs[] = {
1106         CPASS_MTX_00,
1107         CPASS_MTX_01,
1108         CPASS_MTX_02,
1109         CPASS_MTX_10,
1110         CPASS_MTX_11,
1111         CPASS_MTX_12,
1112         CPASS_MTX_20,
1113         CPASS_MTX_21,
1114         CPASS_MTX_22,
1115 };
1116
1117 static int nvi_dmp_gmf_mtx(struct nvi_state *st, u32 *mtx)
1118 {
1119         unsigned int i;
1120         int ret = 0;
1121
1122         for (i = 0; i < ARRAY_SIZE(nvi_dmp_gmf_mtx_addrs); i++)
1123                 ret |= nvi_mem_wr_be(st, nvi_dmp_gmf_mtx_addrs[i], 4, mtx[i]);
1124
1125         return ret;
1126 }
1127
1128 static int nvi_dmp_init_gmf(struct nvi_state *st)
1129 {
1130         struct nvi_mpu_port *nmp;
1131         s8 mtrx[AXIS_N * 3];
1132         s32 mtx[ARRAY_SIZE(nvi_dmp_gmf_mtx_addrs)];
1133         int adj[ARRAY_SIZE(nvi_dmp_gmf_mtx_addrs)];
1134         unsigned int i;
1135         unsigned int j;
1136         unsigned int k;
1137
1138         if (!st->aux.port[AUX_PORT_DEV_GMF].nmp.addr)
1139                 /* no device */
1140                 return -EINVAL;
1141
1142         nmp = &st->aux.port[AUX_PORT_DEV_GMF].nmp;
1143         for (i = 0; i < AXIS_N; i++) {
1144                 for (j = 0; j < AXIS_N; j++)
1145                         mtrx[AXIS_N * j + i] =
1146                                   st->snsr[DEV_ACC].cfg.matrix[AXIS_N * i + j];
1147         }
1148
1149         for (i = 0; i < 9; i++) {
1150                 adj[i] = nmp->matrix[i] * nmp->q30[i % AXIS_N];
1151                 mtx[i] = 0;
1152         }
1153
1154         for (i = 0; i < AXIS_N; i++) {
1155                 for (j = 0; j < AXIS_N; j++) {
1156                         for (k = 0; k < AXIS_N; k++)
1157                                 mtx[AXIS_N * i + j] += mtrx[AXIS_N * i + k] *
1158                                                        adj[AXIS_N * k + j];
1159                 }
1160         }
1161
1162         return nvi_dmp_gmf_mtx(st, mtx);
1163 }
1164
1165 static int nvi_dmp_init_gyr(struct nvi_state *st)
1166 {
1167         u8 val;
1168         s8 pll;
1169         s32 gryo_sf;
1170         int a;
1171         int r;
1172         int t;
1173         int ret;
1174
1175         ret = nvi_i2c_rd(st, &st->hal->reg->tbc_pll, &val);
1176         pll = abs(val & 0x7F);
1177         if (val & 0x80)
1178                 pll = -pll;
1179         t = 102870L + 81L * pll;
1180         a = (1L << 30) / t;
1181         r = (1L << 30) - a * t;
1182         gryo_sf = a * 797 * ICM_DMP_DIVIDER;
1183         gryo_sf += (s64)((a * 1011387LL * ICM_DMP_DIVIDER) >> 20);
1184         gryo_sf += r * 797L * ICM_DMP_DIVIDER / t;
1185         gryo_sf += (s32)((s64)((r * 1011387LL * ICM_DMP_DIVIDER) >> 20)) / t;
1186         gryo_sf <<= 1;
1187         ret |= nvi_mem_wr_be(st, GYRO_SF, sizeof(gryo_sf), gryo_sf);
1188         return ret;
1189 }
1190
1191 static int nvi_dmp_aux_war(struct nvi_state *st)
1192 {
1193         if (!st->aux.port[3].nmp.addr)
1194                 /* pressure not populated */
1195                 return 0;
1196
1197         if (!st->aux.port[0].dd)
1198                 /* need this info for the WAR */
1199                 return -EINVAL;
1200
1201         /* The ICM DMP FW requires port 0 to be enabled and reading 10 bytes
1202          * and port 2 enabled and reading 8 bytes when port 3 (pressure in
1203          * continuous mode) is enabled reading 6 bytes.
1204          * To accomplish this, we create fake port data for port 2 that will
1205          * read 8 bytes from the pressure sensor.
1206          * When the pressure is enabled, the MSK_AUX_PORTS_DEV_PRS will also
1207          * enable ports 0, 1, and 2.
1208          * When the pressure is disabled, either the nvi_aux_enable will detect
1209          * that port 2 is no longer enabled when not in DMP mode or if in DMP
1210          * mode port 2 will simply not be enabled.
1211          */
1212         /* Obviously if compass is not populated or port 2 has a legitimate
1213          * device on it, then this WAR needs to be modified to account for all
1214          * possible scenarios so that port 0 reads 10 bytes and port 2 reads 8
1215          * bytes when port 3 is enabled to read 6 bytes of pressure/temp data.
1216          */
1217         st->aux.port[2].nmp.addr = st->aux.port[3].nmp.addr;
1218         st->aux.port[2].nmp.reg = 0x88; /* BMP280_REG_CWORD00 */
1219         /* Note that technically the above is true and is what INV also does as
1220          * a WAR in their source drop. However, due to the port 0 big endian
1221          * byte swapping read configuration on an odd address that leaves a
1222          * byte dangling, the actual number of bytes needing to be read on port
1223          * 2 is 9 for some compass devices.
1224          */
1225         st->aux.port[2].nmp.ctrl = 8 + 10 - (st->aux.port[0].dd->dmp_rd_ctrl &
1226                                              BITS_I2C_SLV_CTRL_LEN);
1227         return 0;
1228 }
1229
1230 static int nvi_dmp_init(struct nvi_state *st)
1231 {
1232         int ret;
1233
1234         st->mc_dis = true;
1235         memset(&st->mc, 0, sizeof(st->mc));
1236         /* initialize DMP control registers */
1237         ret = nvi_mem_wr_be_mc(st, DATA_OUT_CTL1, 4, 0,
1238                                &st->mc.icm.data_out_ctl);
1239         ret |= nvi_mem_wr_be_mc(st, DATA_INTR_CTL, 2, 0,
1240                                 &st->mc.icm.data_intr_ctl);
1241         ret |= nvi_mem_wr_be_mc(st, MOTION_EVENT_CTL, 2, 0,
1242                                 &st->mc.icm.motion_event_ctl);
1243         st->mc_dis = false;
1244         if (ret)
1245                 return ret;
1246
1247         ret = nvi_dmp_init_gyr(st);
1248         nvi_dmp_init_gmf(st);
1249         /* WAR: DMP FW for auxiliary ports has issues */
1250         nvi_dmp_aux_war(st);
1251         return ret;
1252 }
1253
1254 static int nvi_dd_able(struct nvi_state *st,
1255                        unsigned int en_msk, unsigned int irq_msk)
1256 {
1257 #if ICM_DMP_FW_VER == 2
1258         u32 wtf_8a = 0;
1259 #endif /* ICM_DMP_FW_VER == 2 */
1260         u32 evnt_ctl = 0;
1261         u32 out_ctl = 0;
1262         struct nvi_dmp_dev *dd;
1263         bool en;
1264         unsigned int i;
1265         int ret;
1266
1267         st->en_msk &= ~MSK_DEV_SNSR;
1268         st->src[SRC_AUX].period_us_min = st->hal->src[SRC_AUX].period_us_min;
1269         st->src[SRC_AUX].period_us_max = st->hal->src[SRC_AUX].period_us_max;
1270         for (i = 0; i < ARRAY_SIZE(nvi_dmp_devs); i++) {
1271                 dd = &nvi_dmp_devs[i];
1272                 if (dd->dev > DEV_AUX)
1273                         continue;
1274
1275                 en = false;
1276                 if (dd->dev == DEV_AUX) {
1277                         if (dd->aux_port >= AUX_PORT_IO)
1278                                 /* unused port */
1279                                 continue;
1280
1281                         if (en_msk & (1 << (dd->aux_port + DEV_N_AUX)))
1282                                 en = true;
1283                 } else if (dd->dev < DEV_AUX) {
1284                         if (en_msk & (1 << dd->dev))
1285                                 en = true;
1286                 }
1287                 if (en) {
1288                         if (dd->fn_init) {
1289                                 ret = dd->fn_init(st, &out_ctl,
1290                                                   en_msk, irq_msk);
1291                                 if (ret < 0)
1292                                         return ret;
1293
1294                                 if (ret > 0)
1295                                         /* disable without error */
1296                                         en = false;
1297                         }
1298                 }
1299
1300                 if (en) {
1301                         if (dd->int_ctl && (irq_msk & (1 << dd->dev)))
1302                                 out_ctl |= (dd->int_ctl << 16);
1303                         if (dd->dev != DEV_AUX) {
1304                                 st->snsr[dd->dev].buf_n = dd->buf_n;
1305                                 st->snsr[dd->dev].buf_shft = dd->buf_shft;
1306                         }
1307                 } else {
1308                         if (dd->dev == DEV_AUX)
1309                                 en_msk &= ~(1 << (dd->aux_port + DEV_N_AUX));
1310                         else if (dd->dev < DEV_AUX)
1311                                 en_msk &= ~(1 << dd->dev);
1312                 }
1313         }
1314
1315         st->aux.dmp_en_msk = en_msk >> DEV_N_AUX;
1316         /* WAR: run all timestamp/IRQ timing off SRC_ACC (always on) */
1317         en_msk |= (1 << DEV_ACC);
1318         ret = nvi_dmp_period(st, &out_ctl, en_msk, irq_msk);
1319         if (ret)
1320                 return ret;
1321
1322         if (st->aux.dmp_en_msk) {
1323                 ret = nvi_aux_enable(st, __func__, true, true);
1324                 if (ret)
1325                         return ret;
1326         }
1327
1328         if (out_ctl & DMP_DATA_OUT_CTL_HDR2_MSK)
1329                 /* header 2 needs to be enabled */
1330                 out_ctl |= (HEADER2_SET << 16);
1331         ret = nvi_mem_wr_be_mc(st, DATA_OUT_CTL1, 4, out_ctl,
1332                                &st->mc.icm.data_out_ctl);
1333         if (ret)
1334                 return ret;
1335
1336         /* inv_enable_accel_cal_V3 */
1337         if (en_msk & (1 << DEV_ACC))
1338                 evnt_ctl |= ACCEL_CAL_EN;
1339         /* inv_enable_gyro_cal_V3 */
1340         if (en_msk & (1 << DEV_GYR))
1341                 evnt_ctl |= GYRO_CAL_EN;
1342         /* inv_enable_compass_cal_V3 */
1343         if (en_msk & (1 << (DEV_N_AUX + AUX_PORT_DEV_GMF)))
1344                 evnt_ctl |= COMPASS_CAL_EN;
1345         /* inv_enable_9axes_V3 */
1346         if (out_ctl & CPASS_ACCURACY_SET || en_msk & (1 << DEV_GMR))
1347                 evnt_ctl |= NINE_AXIS_EN;
1348         /* inv_setup_events */
1349         if (en_msk & (1 << DEV_STP))
1350                 evnt_ctl |= PEDOMETER_EN;
1351         if (en_msk & (1 << DEV_SM))
1352                 evnt_ctl |= (SMD_EN | PEDOMETER_EN);
1353         ret = nvi_mem_wr_be_mc(st, MOTION_EVENT_CTL, 2, evnt_ctl,
1354                                &st->mc.icm.motion_event_ctl);
1355         /* SMD_EN is self-clearing so we don't want it in the cache */
1356         st->mc.icm.motion_event_ctl &= ~SMD_EN;
1357         /* inv_set_wom */
1358         ret |= nvi_dmp_irq(st, irq_msk);
1359 #if ICM_DMP_FW_VER == 2
1360         if (en_msk & (1 << DEV_ACC))
1361                 wtf_8a |= 0x02;
1362         if (en_msk & (1 << DEV_GYR))
1363                 wtf_8a |= 0x01;
1364         if (en_msk & MSK_EN_AUX_PORTS)
1365                 wtf_8a |= 0x08;
1366         ret |= nvi_mem_wr_be_mc(st, 0x8A, 2, wtf_8a,
1367                                 &st->mc.icm.wtf_8a);
1368 #endif /* ICM_DMP_FW_VER == 2 */
1369         if (!ret)
1370                 st->en_msk |= (en_msk & ((1 << DEV_N_AUX) - 1));
1371         return ret;
1372 }
1373
1374 static int nvi_dmp_en(struct nvi_state *st)
1375 {
1376         struct nvi_dmp_dev *dd;
1377         unsigned int i;
1378         unsigned int irq_msk = 0;
1379         unsigned int en_msk = 0;
1380         int ret = 0;
1381
1382         for (i = 0; i < ARRAY_SIZE(nvi_dmp_devs); i++) {
1383                 dd = &nvi_dmp_devs[i];
1384                 if (dd->dev == DEV_AUX) {
1385                         if (dd->aux_port >= AUX_PORT_IO)
1386                                 /* unused port */
1387                                 continue;
1388
1389                         if (st->snsr[DEV_AUX].enable & (1 << dd->aux_port)) {
1390                                 irq_msk |= (1 << DEV_AUX);
1391                                 irq_msk |= (1 << (dd->aux_port + DEV_N_AUX));
1392                                 en_msk |= (1 << DEV_AUX);
1393                                 en_msk |= (1 << (dd->aux_port + DEV_N_AUX));
1394                                 en_msk |= dd->depend_msk;
1395                         }
1396                 } else if (dd->dev < DEV_AUX) {
1397                         if (st->snsr[dd->dev].enable) {
1398                                 irq_msk |= (1 << dd->dev);
1399                                 en_msk |= (1 << dd->dev);
1400                                 en_msk |= dd->depend_msk;
1401                         }
1402                 }
1403         }
1404
1405         if (!st->icm_dmp_war) {
1406                 st->icm_dmp_war = true;
1407                 st->mc_dis = true; /* initialize cache */
1408                 ret = nvi_dd_able(st, ICM_DMP_DEV_MSK | MSK_DEV_MPU, irq_msk);
1409                 st->mc_dis = false; /* enable cache */
1410         }
1411         ret |= nvi_dd_able(st, en_msk, irq_msk);
1412         /* restore any modified period limits */
1413         st->src[SRC_AUX].period_us_min = st->hal->src[SRC_AUX].period_us_min;
1414         st->src[SRC_AUX].period_us_max = st->hal->src[SRC_AUX].period_us_max;
1415         if (!ret) {
1416                 st->en_msk |= (1 << DEV_DMP);
1417                 /* TODO: WAR: pm2 has a mind of its own */
1418                 ret = nvi_i2c_wr(st, &st->hal->reg->pm2, 0, __func__);
1419                 nvi_push_delay(st);
1420                 ret |= nvi_reset(st, __func__, true, false, true);
1421         }
1422         return ret;
1423 }
1424
1425 #if ICM_DMP_FW_VER == 0
1426 static const u8 const dmp_fw_20628[] = {
1427         /* bank 0: 0x0090 */
1428         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1429         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1430         0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
1431         0x00, 0x05, 0x00, 0x02, 0x00, 0x05, 0x00, 0xFF,
1432         0xFF, 0xF7, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
1433         0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
1434         0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00,
1435         0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00,
1436         0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04, 0x00,
1437         0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00,
1438         0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40,
1439         0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10,
1440         0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04,
1441         0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01,
1442         /* bank 1: 0x0100 */
1443         0x00, 0x00, 0x0A, 0x8C, 0x00, 0x01, 0xD4, 0xC0,
1444         0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1445         0x00, 0x08, 0x94, 0xA5, 0x00, 0x02, 0xB6, 0xA3,
1446         0x13, 0x5C, 0x28, 0xF6, 0x0C, 0xF5, 0xC2, 0x8F,
1447         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1448         0x00, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x38,
1449         0x04, 0xF6, 0xE8, 0xF4, 0x00, 0x00, 0x68, 0x00,
1450         0x00, 0x01, 0xFF, 0xC7, 0x00, 0x00, 0x00, 0x00,
1451         0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0xAE, 0x14,
1452         0x3E, 0xB8, 0x51, 0xEC, 0x00, 0x0F, 0x00, 0x00,
1453         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1454         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1455         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1456         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1457         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1458         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1459         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1460         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1461         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1462         0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x0C, 0x00,
1463         0x00, 0x00, 0x01, 0x5E, 0x00, 0x00, 0x00, 0x00,
1464         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1465         0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x2B, 0x80,
1466         0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
1467         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC,
1468         0xFF, 0xFF, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01,
1469         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1470         0x00, 0x50, 0x50, 0x50, 0x3F, 0xAF, 0xAF, 0xB0,
1471         0x00, 0x35, 0xA1, 0x09, 0x36, 0x66, 0x66, 0x66,
1472         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1473         0x8E, 0x17, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
1474         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1475         /* bank 2: 0x0200 */
1476         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1477         0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80,
1478         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1479         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1480         0x00, 0x3E, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
1481         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1482         0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
1483         0x00, 0x00, 0x9C, 0x40, 0x0C, 0xCC, 0xCC, 0xCD,
1484         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1485         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1486         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1487         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1488         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1489         0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
1490         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1491         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1492         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1493         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1494         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1495         0x3E, 0xB8, 0x51, 0xEC, 0x01, 0x47, 0xAE, 0x14,
1496         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1497         0x33, 0x33, 0x33, 0x33, 0x0C, 0xCC, 0xCC, 0xCD,
1498         0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x4B, 0xD1,
1499         0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x0A,
1500         0x06, 0xD5, 0x8E, 0x27, 0xE1, 0x05, 0x86, 0xB2,
1501         0x38, 0xB3, 0x8D, 0x1F, 0xCF, 0x87, 0xC3, 0x8F,
1502         0x06, 0xD5, 0x8E, 0x27, 0x1F, 0xA1, 0xAB, 0x12,
1503         0x3A, 0x50, 0xFF, 0xCB, 0x31, 0x7D, 0xD5, 0x43,
1504         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1505         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1506         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1507         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1508         /* bank 3: 0x0300 */
1509         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
1510         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
1511         0x00, 0x06, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00,
1512         0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x23, 0xDF,
1513         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1514         0x00, 0x07, 0x00, 0x10, 0x00, 0x96, 0x00, 0x3C,
1515         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1516         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1517         0x0D, 0x35, 0xA2, 0x0E, 0xCA, 0x45, 0xB3, 0x53,
1518         0x53, 0xB6, 0x82, 0x59, 0xC4, 0xDB, 0x1C, 0x13,
1519         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1520         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1521         0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1522         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
1523         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1524         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1525         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3D,
1526         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1527         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1528         0x00, 0x20, 0x31, 0x88, 0x00, 0x00, 0x00, 0x00,
1529         0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
1530         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1531         0x0E, 0x49, 0x6E, 0x64, 0xC5, 0x92, 0x24, 0x82,
1532         0x59, 0xFA, 0xEE, 0x8D, 0xC2, 0x29, 0xFE, 0xD7,
1533         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1534         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
1535         0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0xCC, 0xCC,
1536         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1537         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1538         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1539         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1540         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1541         /* bank 4: 0x0400 */
1542         0x00, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
1543         0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x00, 0x00,
1544         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1545         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1546         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1547         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1548         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1549         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1550         0x00, 0x00, 0x00, 0x03, 0x3F, 0xC1, 0xA7, 0x68,
1551         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1552         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1553         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1554         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1555         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1556         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1557         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1558         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1559         0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1560         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1561         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1562         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1563         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1564         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1565         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1566         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1567         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1568         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1569         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1570         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1571         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1572         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1573         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1574         /* bank 5: 0x0500 */
1575         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1576         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1577         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1578         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1579         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1580         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1581         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1582         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1583         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1584         0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00,
1585         0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
1586         0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
1587         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
1588         0x00, 0x00, 0x1F, 0x40, 0x00, 0x80, 0x00, 0x00,
1589         0x09, 0x24, 0x92, 0x49, 0x00, 0x00, 0x00, 0x00,
1590         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1591         0x36, 0xDB, 0x6D, 0xB7, 0x00, 0x00, 0x00, 0x00,
1592         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1593         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1594         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
1595         0x3F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1596         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1597         0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
1598         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1599         0x0C, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
1600         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1601         0x00, 0x00, 0x9D, 0x49, 0x00, 0x00, 0x00, 0x00,
1602         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1603         0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
1604         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
1605         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1606         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1607         /* bank 6: 0x0600 */
1608         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1609         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1610         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
1611         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1612         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
1613         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
1614         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1615         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1616         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1617         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1618         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1619         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1620         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1621         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1622         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1623         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1624         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
1625         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
1626         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1627         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1628         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1629         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1630         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
1631         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1632         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
1633         0x00, 0x00, 0x00, 0x00, 0x13, 0x88, 0x00, 0x00,
1634         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
1635         0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x0C, 0xCD,
1636         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1637         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1638         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1639         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1640         /* bank 7: 0x0700 */
1641         0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01,
1642         0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x46,
1643         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1644         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1645         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1646         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1647         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1648         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1649         0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
1650         0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
1651         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1652         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1653         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1654         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1655         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1656         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1657         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1658         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1659         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1661         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1662         0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
1663         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1664         0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x24, 0xF8,
1665         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
1666         0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xF6,
1667         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1668         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1669         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1670         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1671         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1672         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1673         /* bank 8: 0x0800 */
1674         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1675         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1676         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1677         0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xEA,
1678         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1679         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1680         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1681         0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x4E,
1682         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1683         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1684         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1685         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
1686         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1687         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1688         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1689         0x01, 0x47, 0xAE, 0x14, 0x4E, 0x40, 0x00, 0x00,
1690         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1691         0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xF8,
1692         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1693         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1694         0x00, 0x01, 0x00, 0x00, 0x4E, 0x40, 0x00, 0x00,
1695         0x4A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x06,
1696         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1697         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1698         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1699         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1700         0xD8, 0xDC, 0xB8, 0xB0, 0xB4, 0xF3, 0xAA, 0xF8,
1701         0xF9, 0xD1, 0xD9, 0x88, 0x9A, 0xF8, 0xF7, 0x3E,
1702         0xD8, 0xF3, 0x8A, 0x9A, 0xA7, 0x31, 0xD1, 0xDA,
1703         0xF1, 0xFF, 0xD8, 0xF1, 0xA4, 0xDF, 0xA5, 0xDE,
1704         0xF3, 0xA8, 0xDE, 0xD0, 0xDF, 0xA4, 0x84, 0x9F,
1705         0x24, 0xF2, 0xA9, 0xF8, 0xF9, 0xD1, 0xDA, 0xDE,
1706         /* bank 9: 0x0900 */
1707         0xA8, 0xDE, 0xDF, 0xDF, 0xDF, 0xD8, 0xF4, 0xB1,
1708         0x8D, 0xF3, 0xA8, 0xD0, 0xC0, 0xF1, 0xBC, 0xB0,
1709         0xBD, 0xBE, 0x82, 0xA1, 0xC3, 0xC5, 0xC7, 0xBC,
1710         0xBC, 0xA2, 0xDF, 0xDF, 0xDF, 0x80, 0xF2, 0xA2,
1711         0xC3, 0xCB, 0xC5, 0xBC, 0xF1, 0x90, 0xFC, 0xC3,
1712         0x00, 0xD9, 0xF4, 0x09, 0x8E, 0xD8, 0xF3, 0xA0,
1713         0xDF, 0xF1, 0x82, 0x91, 0xA9, 0x2D, 0x55, 0x7D,
1714         0xA9, 0x80, 0x90, 0xFC, 0x51, 0x00, 0x10, 0xFC,
1715         0x51, 0x00, 0x10, 0xFC, 0x51, 0x00, 0x10, 0xFC,
1716         0xC1, 0x04, 0xD9, 0xF2, 0xA0, 0xDF, 0xF4, 0x09,
1717         0x8E, 0xD8, 0xF6, 0xA0, 0xFA, 0x80, 0x90, 0x38,
1718         0xF3, 0xDE, 0xDA, 0xF8, 0xF4, 0x09, 0x8E, 0xD8,
1719         0xF1, 0xBD, 0x95, 0xFC, 0xC1, 0x04, 0xD9, 0xBD,
1720         0xBD, 0xF4, 0x09, 0x8E, 0xDA, 0xBD, 0xBD, 0xD8,
1721         0xF6, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBE, 0xB5,
1722         0xA7, 0x84, 0x92, 0x1A, 0xF8, 0xF9, 0xD1, 0xDB,
1723         0x84, 0x93, 0xF7, 0x6A, 0xB6, 0x87, 0x96, 0xF3,
1724         0x09, 0xFF, 0xDA, 0xBC, 0xBD, 0xBE, 0xD8, 0xF3,
1725         0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBE, 0xB0, 0xB4,
1726         0x8F, 0xF4, 0xB9, 0xAF, 0xD0, 0xC7, 0xBE, 0xBE,
1727         0xB8, 0xAE, 0xD0, 0xF3, 0x9F, 0x5C, 0xB2, 0x86,
1728         0xF4, 0xBE, 0xB9, 0xAF, 0xD0, 0xC3, 0xF1, 0xBE,
1729         0xB8, 0xB0, 0xA3, 0xDE, 0xDF, 0xDF, 0xDF, 0xF2,
1730         0xA3, 0x81, 0xC0, 0x80, 0xCD, 0xC7, 0xCF, 0xBD,
1731         0xB4, 0xB2, 0xA3, 0x86, 0x93, 0xF1, 0x20, 0xFD,
1732         0x3F, 0x2C, 0xFD, 0x3F, 0x34, 0xFD, 0x3F, 0x3C,
1733         0xFD, 0x3F, 0xBE, 0xA2, 0x20, 0xFD, 0x31, 0xA0,
1734         0x2C, 0xFD, 0x31, 0x34, 0xFD, 0x31, 0x3C, 0xFD,
1735         0x31, 0xBE, 0xBE, 0xBC, 0xBC, 0xB0, 0xA3, 0x8B,
1736         0x93, 0x2D, 0x55, 0x7D, 0xA2, 0x86, 0x9D, 0x08,
1737         0xFD, 0x0F, 0xBC, 0xBC, 0xA3, 0x83, 0x92, 0x01,
1738         0xA9, 0x9E, 0x0E, 0x16, 0x1E, 0xBE, 0xBE, 0x99,
1739         /* bank 10: 0x0A00 */
1740         0xA5, 0x2C, 0x54, 0x7C, 0xBA, 0xA5, 0x2C, 0x54,
1741         0x7C, 0xBD, 0xBD, 0xBC, 0xBC, 0xB1, 0xB6, 0x83,
1742         0x95, 0xA5, 0xF1, 0x0E, 0x16, 0x1E, 0xB2, 0xA7,
1743         0x85, 0x95, 0x2A, 0xF0, 0x50, 0x78, 0x87, 0x93,
1744         0xF1, 0x01, 0xDA, 0xA5, 0xDF, 0xDF, 0xDF, 0xD8,
1745         0xA4, 0xDF, 0xDF, 0xDF, 0xB0, 0x80, 0xF2, 0xA4,
1746         0xC3, 0xCB, 0xC5, 0xB2, 0x86, 0x94, 0xBE, 0xBA,
1747         0xA0, 0xF1, 0x2C, 0xFD, 0x3F, 0x34, 0xFD, 0x3F,
1748         0x3C, 0xFD, 0x3F, 0xBE, 0xB8, 0xA6, 0x2C, 0xFD,
1749         0x30, 0x34, 0xFD, 0x30, 0x3C, 0xFD, 0x30, 0xBE,
1750         0xBA, 0xA4, 0x2C, 0xFD, 0x3B, 0x34, 0xFD, 0x3B,
1751         0x3C, 0xFD, 0x3B, 0xBC, 0xB2, 0x8E, 0x94, 0xB8,
1752         0xA6, 0x2D, 0x55, 0x7D, 0xBA, 0xA4, 0x2D, 0x55,
1753         0x7D, 0xBC, 0xBC, 0xF3, 0xB9, 0xA9, 0x80, 0xCD,
1754         0xF2, 0xC4, 0xC5, 0xBA, 0xF3, 0xA0, 0xD0, 0xDE,
1755         0xB1, 0xB4, 0xF7, 0xA7, 0x89, 0x91, 0x72, 0x89,
1756         0x91, 0x47, 0xB6, 0x97, 0x4A, 0xB9, 0xF2, 0xA9,
1757         0xD0, 0xFA, 0xF9, 0xD1, 0xD9, 0xF4, 0x0A, 0x97,
1758         0xD8, 0xF3, 0xBA, 0xA7, 0xF9, 0xDB, 0xFB, 0xD9,
1759         0xF1, 0xB9, 0xB0, 0x81, 0xA9, 0xC3, 0xF2, 0xC5,
1760         0xF3, 0xBA, 0xA0, 0xD0, 0xF8, 0xD8, 0xF1, 0xB1,
1761         0x89, 0xA7, 0xDF, 0xDF, 0xDF, 0xF2, 0xA7, 0xC3,
1762         0xCB, 0xC5, 0xF1, 0xB2, 0xB5, 0xB9, 0x87, 0x97,
1763         0xA5, 0x22, 0xF0, 0x48, 0x70, 0x3C, 0x98, 0x40,
1764         0x68, 0x34, 0x58, 0x99, 0x60, 0xF1, 0xBC, 0xB3,
1765         0x8E, 0x95, 0xAA, 0x25, 0x4D, 0x75, 0xBC, 0xBC,
1766         0xB8, 0xB0, 0xB4, 0xA7, 0x88, 0x9F, 0xF7, 0x5A,
1767         0xF9, 0xD9, 0xF1, 0xBA, 0xA5, 0xDF, 0xDF, 0xDF,
1768         0xB8, 0xDA, 0xF3, 0xA8, 0xF8, 0x88, 0x9D, 0xD0,
1769         0x7C, 0xD8, 0xF7, 0xA7, 0x88, 0x9F, 0x52, 0xF9,
1770         0xD9, 0xF1, 0xBA, 0xA4, 0xDF, 0xDF, 0xDF, 0xB8,
1771         0xDA, 0xF3, 0xA8, 0x88, 0x9C, 0xD0, 0xDF, 0x68,
1772         /* bank 11: 0x0B00 */
1773         0x70, 0x9D, 0x60, 0x70, 0x78, 0xD8, 0xF7, 0xA7,
1774         0x88, 0x9F, 0x42, 0xF9, 0xBA, 0xA0, 0xD0, 0xF3,
1775         0xD9, 0xDE, 0xD8, 0xF8, 0xF9, 0xD1, 0xB8, 0xDA,
1776         0xA8, 0x88, 0x9E, 0xD0, 0x64, 0x68, 0xD8, 0xA8,
1777         0x84, 0x98, 0xD0, 0xF7, 0x7E, 0xF0, 0xB2, 0xB6,
1778         0xBA, 0x85, 0x91, 0xA7, 0x24, 0x70, 0x59, 0x44,
1779         0x69, 0x38, 0x64, 0x48, 0x31, 0x2D, 0x51, 0x79,
1780         0x87, 0xF1, 0xA1, 0x00, 0x2C, 0x54, 0x7C, 0xF0,
1781         0x81, 0xA7, 0x04, 0x28, 0x50, 0x78, 0xFD, 0x7F,
1782         0xF1, 0xA7, 0x87, 0x96, 0x59, 0x91, 0xA1, 0x02,
1783         0x0E, 0x16, 0x1E, 0xF0, 0x84, 0x91, 0xA7, 0x24,
1784         0x70, 0x59, 0x44, 0x69, 0x38, 0x64, 0x48, 0x31,
1785         0x2D, 0x51, 0x79, 0xA2, 0x87, 0x0D, 0x20, 0x59,
1786         0x70, 0x15, 0x38, 0x40, 0x69, 0xA4, 0xF1, 0x62,
1787         0xF0, 0x19, 0x31, 0x48, 0xB8, 0xB1, 0xB4, 0xF1,
1788         0xA6, 0x80, 0xC6, 0xF4, 0xB0, 0x81, 0xF3, 0xA7,
1789         0xC6, 0xB1, 0x8F, 0x97, 0xF7, 0x02, 0xF9, 0xDA,
1790         0xF4, 0x0B, 0xC6, 0xD8, 0xB0, 0xF7, 0xA7, 0x88,
1791         0x9F, 0x52, 0xF9, 0xD9, 0xF4, 0x0B, 0xBF, 0xD8,
1792         0xF1, 0xB2, 0xB6, 0xA6, 0x82, 0x92, 0x2A, 0xF0,
1793         0x50, 0xFD, 0x08, 0xF1, 0xA7, 0x84, 0x94, 0x02,
1794         0xFD, 0x08, 0xB0, 0xB4, 0x86, 0x97, 0x00, 0xB1,
1795         0xBA, 0xA7, 0x81, 0x61, 0xD9, 0xF4, 0x0B, 0xFC,
1796         0xD8, 0xF1, 0x41, 0xDA, 0xF4, 0x0B, 0xFC, 0xD8,
1797         0xF1, 0xB8, 0xB2, 0xA6, 0x82, 0xC0, 0xD8, 0xF1,
1798         0xB0, 0xB6, 0x86, 0x92, 0xA7, 0x16, 0xFD, 0x04,
1799         0x0F, 0xFD, 0x04, 0xF0, 0xBA, 0x87, 0x91, 0xA7,
1800         0x24, 0x58, 0x3D, 0x40, 0x34, 0x49, 0x2D, 0x51,
1801         0xB2, 0x87, 0xF1, 0xA1, 0x00, 0x2C, 0x54, 0x7C,
1802         0xF0, 0x81, 0xA7, 0x04, 0x28, 0x50, 0x78, 0xFD,
1803         0x7F, 0xF1, 0xA7, 0x87, 0x96, 0x59, 0x91, 0xA1,
1804         0x02, 0x0E, 0x16, 0x1E, 0xD8, 0xF7, 0xB0, 0xB4,
1805         /* bank 12: 0x0C00 */
1806         0xBA, 0x88, 0x9E, 0xA7, 0x6A, 0xF9, 0xD9, 0xF4,
1807         0x0D, 0x1E, 0xD8, 0xF3, 0xB6, 0x90, 0xFC, 0xC2,
1808         0x00, 0xD9, 0xF4, 0x0D, 0x0E, 0xD8, 0xF0, 0xB1,
1809         0xB5, 0x8A, 0x9A, 0xA3, 0x2C, 0x50, 0x78, 0xF2,
1810         0xA5, 0xDE, 0xF8, 0xF8, 0xF1, 0xB5, 0xB2, 0xA7,
1811         0x83, 0x90, 0x21, 0xDB, 0xB6, 0xB1, 0x80, 0x93,
1812         0x29, 0xD9, 0xF2, 0xA5, 0xF8, 0xD8, 0xF1, 0xB2,
1813         0xB6, 0xA7, 0x83, 0x93, 0x31, 0xF3, 0xA5, 0xDE,
1814         0xD9, 0xF8, 0xF8, 0xD8, 0xF1, 0xA9, 0x89, 0x99,
1815         0xF0, 0x34, 0x83, 0x38, 0xF1, 0xA7, 0x29, 0xF5,
1816         0x87, 0x90, 0x18, 0xD9, 0xF3, 0xA5, 0xF8, 0xD8,
1817         0xA8, 0x80, 0x91, 0xF0, 0x0C, 0x31, 0x14, 0x28,
1818         0x1C, 0x20, 0x04, 0x39, 0xA7, 0x88, 0x98, 0x04,
1819         0x28, 0x51, 0x79, 0x1D, 0x30, 0x14, 0x38, 0xB1,
1820         0xB8, 0x8A, 0xA7, 0xD0, 0x97, 0x2C, 0x50, 0x50,
1821         0x78, 0x78, 0xBC, 0xBA, 0xB0, 0xA7, 0x85, 0x98,
1822         0x04, 0x28, 0x50, 0x78, 0xF1, 0x84, 0x97, 0x29,
1823         0xD9, 0xBE, 0xB8, 0xA5, 0x8D, 0x98, 0x20, 0x2C,
1824         0x34, 0x3C, 0xBE, 0xBE, 0xBA, 0xAA, 0xDE, 0xDF,
1825         0xF8, 0xF4, 0x0C, 0xA9, 0xD8, 0xF1, 0xBA, 0xAA,
1826         0xF8, 0xA7, 0x84, 0x9A, 0x01, 0xD9, 0xAA, 0xDF,
1827         0xF8, 0xD8, 0xF1, 0xBC, 0xBC, 0x9A, 0xFC, 0xC1,
1828         0x04, 0xD9, 0xAA, 0xFB, 0xA6, 0xB2, 0x89, 0x96,
1829         0x42, 0xB4, 0x97, 0xF0, 0x78, 0xA7, 0x86, 0xF1,
1830         0x38, 0xFD, 0x01, 0xB6, 0x97, 0x01, 0xA6, 0xD0,
1831         0xB6, 0x9A, 0x52, 0x87, 0xF0, 0x18, 0xD8, 0xB2,
1832         0xB6, 0xBA, 0xF1, 0xA9, 0x89, 0x93, 0x1A, 0xB0,
1833         0x87, 0x99, 0x60, 0xB8, 0xA7, 0xD0, 0xFD, 0x42,
1834         0xBA, 0xF3, 0xA5, 0xF9, 0xF9, 0xB8, 0xF1, 0xDA,
1835         0xA7, 0xD0, 0xDF, 0xD8, 0xA7, 0xD0, 0xFA, 0xF9,
1836         0xD1, 0xBA, 0xDA, 0xA7, 0x87, 0x90, 0x6A, 0x66,
1837         0xB2, 0xA0, 0x87, 0x01, 0x2C, 0xF0, 0xA7, 0x80,
1838         /* bank 13: 0x0D00 */
1839         0x90, 0x04, 0x28, 0xFD, 0x7F, 0xF1, 0xA7, 0x87,
1840         0x96, 0x59, 0x90, 0xA0, 0x02, 0x0E, 0xD8, 0xF0,
1841         0xBA, 0xB2, 0xB6, 0xA8, 0x80, 0x91, 0x0C, 0x31,
1842         0x14, 0x28, 0x1C, 0x20, 0x04, 0x39, 0xD8, 0xF7,
1843         0xB8, 0xB4, 0xB0, 0xA7, 0x9D, 0x88, 0x72, 0xF9,
1844         0xBC, 0xBD, 0xBE, 0xD9, 0xF4, 0x0E, 0x81, 0xD8,
1845         0xF2, 0xB8, 0xAD, 0xF8, 0xF9, 0xD1, 0xDA, 0xDE,
1846         0xBA, 0xA1, 0xDE, 0xAE, 0xDE, 0xF8, 0xD8, 0xF2,
1847         0xB1, 0xB5, 0xB9, 0xAE, 0xF9, 0xDA, 0xF4, 0x0E,
1848         0x68, 0xD8, 0xF2, 0x8E, 0xC2, 0xF1, 0xB2, 0x80,
1849         0x9A, 0xF5, 0xAF, 0x24, 0xD9, 0xF4, 0x0E, 0x68,
1850         0xD8, 0xF5, 0x44, 0xD9, 0xF4, 0x0E, 0x68, 0xD8,
1851         0xF5, 0x64, 0xD9, 0xF4, 0x0E, 0x68, 0xD8, 0xF1,
1852         0xB1, 0xB6, 0x8B, 0x90, 0xAF, 0x2D, 0x55, 0x7D,
1853         0xB5, 0x8C, 0x9F, 0xAD, 0x0E, 0x16, 0x1E, 0x8B,
1854         0x9D, 0xAB, 0x2C, 0x54, 0x7C, 0x8D, 0x9F, 0xAA,
1855         0x2E, 0x56, 0x7E, 0x8A, 0x9C, 0xAA, 0x2C, 0x54,
1856         0x7C, 0x9B, 0xAC, 0x26, 0x46, 0x66, 0xAF, 0x8D,
1857         0x9D, 0x00, 0x9C, 0x0D, 0xDB, 0x11, 0x8F, 0x19,
1858         0xF4, 0x0D, 0x9E, 0xD8, 0x0E, 0x68, 0xD8, 0xF1,
1859         0xB2, 0x81, 0xB6, 0x90, 0xAF, 0x2D, 0x55, 0x7D,
1860         0xB1, 0x8F, 0xB5, 0x9F, 0xAF, 0xF5, 0x2C, 0x54,
1861         0x7C, 0x8F, 0x9F, 0xAD, 0xF1, 0x35, 0xD9, 0xAF,
1862         0xC2, 0xDA, 0xAF, 0xC4, 0xD8, 0xAD, 0x1D, 0xDA,
1863         0xAF, 0xC6, 0xD8, 0xB6, 0x8F, 0x9C, 0xAD, 0x1D,
1864         0xBA, 0xD9, 0xF3, 0xA1, 0xDE, 0xF8, 0xF1, 0xB2,
1865         0x80, 0xA1, 0xC3, 0xC5, 0xC7, 0xF4, 0x0D, 0xE5,
1866         0xD8, 0xF3, 0x91, 0xFC, 0xC0, 0x28, 0xDA, 0xA1,
1867         0xF8, 0xD9, 0xF4, 0x0E, 0x68, 0xD8, 0xF3, 0xB9,
1868         0xAE, 0xF8, 0xF9, 0xD1, 0xD9, 0xF8, 0xF4, 0x0E,
1869         0x68, 0xD8, 0xF1, 0xBA, 0xB1, 0xB5, 0xA0, 0x8B,
1870         0x9E, 0x34, 0xFD, 0x32, 0x54, 0xFD, 0x32, 0x74,
1871         /* bank 14: 0x0E00 */
1872         0xFD, 0x32, 0xB2, 0xB6, 0xA3, 0x87, 0xC0, 0xC3,
1873         0xC5, 0xC7, 0xA2, 0x88, 0xC0, 0xC3, 0xC5, 0xC7,
1874         0xA4, 0x86, 0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x85,
1875         0xC4, 0xC7, 0xAC, 0x8D, 0xC0, 0xF3, 0xAE, 0xDE,
1876         0xF8, 0xF4, 0x11, 0x72, 0xD8, 0xF1, 0xA7, 0x83,
1877         0xC0, 0xC3, 0xC5, 0xC7, 0xA8, 0x82, 0xC0, 0xC3,
1878         0xC5, 0xC7, 0xA6, 0x84, 0xC0, 0xC3, 0xC5, 0xC7,
1879         0xA5, 0x85, 0xD0, 0xC0, 0xC3, 0x8D, 0x9D, 0xAF,
1880         0x39, 0xD9, 0xF4, 0x0E, 0x68, 0xD8, 0xF1, 0x83,
1881         0xB5, 0x9E, 0xAE, 0x34, 0xFD, 0x0A, 0x54, 0xFD,
1882         0x0A, 0x74, 0xFD, 0x0A, 0xF2, 0xAF, 0xDE, 0xF8,
1883         0xF8, 0xF8, 0xB6, 0x81, 0x9F, 0x05, 0xF8, 0xF9,
1884         0xD1, 0xDA, 0x8F, 0xA1, 0xC0, 0xF4, 0x0E, 0x6F,
1885         0xD8, 0xF2, 0xBA, 0xAE, 0xF8, 0xF9, 0xD1, 0xDA,
1886         0xF3, 0xBE, 0xBE, 0xBC, 0xBC, 0xBD, 0xBD, 0xB8,
1887         0xB0, 0xB4, 0xA5, 0x85, 0x9C, 0x08, 0xBE, 0xBC,
1888         0xBD, 0xD8, 0xF7, 0xBC, 0xBC, 0xBD, 0xBD, 0xBB,
1889         0xB4, 0xB0, 0xAF, 0x9E, 0x88, 0x62, 0xF9, 0xBC,
1890         0xBD, 0xD9, 0xF4, 0x10, 0xF5, 0xD8, 0xF1, 0xBC,
1891         0xBC, 0xB1, 0x85, 0xBA, 0xA0, 0xC1, 0xC3, 0xC5,
1892         0xBC, 0xB6, 0xB9, 0xAF, 0x87, 0x90, 0x2D, 0x55,
1893         0x7D, 0xB5, 0xAD, 0x87, 0x9F, 0x0E, 0x16, 0x1E,
1894         0xA7, 0x9D, 0x2C, 0x54, 0x7C, 0xAF, 0x8F, 0x2E,
1895         0x56, 0x7E, 0xAF, 0x98, 0x2C, 0x54, 0x7C, 0xA8,
1896         0x26, 0x46, 0x66, 0xB6, 0xBA, 0xA0, 0x8E, 0x90,
1897         0x4C, 0xFD, 0x3B, 0x54, 0xFD, 0x3B, 0x5C, 0xFD,
1898         0x3B, 0xB9, 0xB3, 0xB6, 0xF1, 0xAF, 0x81, 0x2D,
1899         0x55, 0x7D, 0xB1, 0xB5, 0xAF, 0x8F, 0x9F, 0xF5,
1900         0x2C, 0x54, 0x7C, 0xF1, 0xBB, 0xAF, 0x86, 0x98,
1901         0x49, 0xDB, 0x51, 0x59, 0x9F, 0x69, 0x71, 0x79,
1902         0xB3, 0xB7, 0x8B, 0x9C, 0x61, 0xDA, 0xAC, 0xDE,
1903         0xF3, 0xA0, 0xDF, 0xF8, 0xD8, 0xB3, 0xB7, 0xAF,
1904         /* bank 15: 0x0F00 */
1905         0x80, 0x90, 0x69, 0xD9, 0xA0, 0xFA, 0xF1, 0xB2,
1906         0x80, 0xA1, 0xC3, 0xC5, 0xC7, 0xF4, 0x10, 0xDF,
1907         0xD8, 0xF1, 0xBC, 0xBC, 0xB1, 0xAD, 0x8A, 0x9A,
1908         0x34, 0xFD, 0x3A, 0x54, 0xFD, 0x3A, 0x74, 0xFD,
1909         0x3A, 0xBC, 0xB3, 0xB3, 0xAD, 0x8D, 0x9D, 0xF5,
1910         0x2C, 0x54, 0x7C, 0xF3, 0xA2, 0xDE, 0xF8, 0xF4,
1911         0x11, 0x00, 0xD8, 0xF1, 0xAA, 0x8D, 0xC1, 0xF2,
1912         0xA1, 0xF8, 0xF9, 0xD1, 0xDA, 0xF4, 0x0F, 0x66,
1913         0xD8, 0xF1, 0xAF, 0x8A, 0x9A, 0x21, 0x8F, 0x9F,
1914         0xF5, 0x00, 0xF1, 0x80, 0x41, 0xD9, 0xF4, 0x0F,
1915         0x66, 0xD8, 0xF1, 0x91, 0xFC, 0xC0, 0x04, 0xD9,
1916         0xF4, 0x0F, 0x92, 0xD8, 0xF3, 0xA1, 0xDE, 0xF8,
1917         0xA0, 0xDF, 0xF8, 0xF4, 0x10, 0xDF, 0xF3, 0x91,
1918         0xFC, 0xC0, 0x07, 0xD9, 0xF4, 0x0F, 0x92, 0xD8,
1919         0xF1, 0xA3, 0x87, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4,
1920         0x88, 0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x89, 0xC0,
1921         0xC3, 0xC5, 0xC7, 0xA6, 0x86, 0xC4, 0xC7, 0xA1,
1922         0x82, 0xC3, 0xC5, 0xC7, 0xF3, 0xA1, 0xDE, 0xF4,
1923         0x10, 0xF5, 0xD8, 0xF1, 0xB1, 0xB5, 0xAF, 0x86,
1924         0x98, 0x29, 0xDB, 0x31, 0x39, 0xF4, 0x10, 0xF5,
1925         0xD8, 0xF1, 0xBA, 0xB3, 0xB6, 0xA0, 0x81, 0x90,
1926         0x2D, 0x55, 0x7D, 0xBB, 0xF2, 0xA2, 0xF8, 0xF9,
1927         0xD1, 0xDA, 0xDE, 0xF4, 0x10, 0xF5, 0xD8, 0xF1,
1928         0xBA, 0xB3, 0xA3, 0x83, 0xC0, 0xC3, 0xC5, 0xC7,
1929         0xA2, 0x84, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4, 0x85,
1930         0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x86, 0xC0, 0xC3,
1931         0xAC, 0x8C, 0xC2, 0xF3, 0xAE, 0xDE, 0xF8, 0xF8,
1932         0xF4, 0x11, 0x72, 0xD8, 0xF1, 0xB2, 0xBB, 0xA3,
1933         0x83, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4, 0x82, 0xC0,
1934         0xC3, 0xC5, 0xC7, 0xA5, 0x84, 0xC0, 0xC3, 0xC5,
1935         0xC7, 0xA6, 0x85, 0xC0, 0xC3, 0xAC, 0x8C, 0xC4,
1936         0xB3, 0xB7, 0xAF, 0x85, 0x95, 0x06, 0xFD, 0x0F,
1937         /* bank 16: 0x1000 */
1938         0x2E, 0xFD, 0x0F, 0x7E, 0xFD, 0x0F, 0xAF, 0x84,
1939         0x9F, 0x2A, 0xF0, 0x50, 0x78, 0xFD, 0x0F, 0xF1,
1940         0x85, 0x95, 0x56, 0xFD, 0x0F, 0x86, 0x96, 0x06,
1941         0xFD, 0x0F, 0xF0, 0x84, 0x9F, 0xAF, 0x4C, 0x70,
1942         0xFD, 0x0F, 0xF1, 0x86, 0x96, 0x2E, 0xFD, 0x0F,
1943         0x84, 0x9F, 0x72, 0xFD, 0x0F, 0xDF, 0xAF, 0x00,
1944         0x2C, 0x54, 0x7C, 0xAE, 0x8F, 0xC0, 0xAF, 0x8F,
1945         0x9E, 0x21, 0xD9, 0xAE, 0xC2, 0xD8, 0xAF, 0x41,
1946         0xD9, 0xAE, 0xC4, 0xD8, 0xAF, 0x61, 0xD9, 0xAE,
1947         0xC6, 0xD8, 0xAF, 0x8C, 0x9E, 0x61, 0x8B, 0x9C,
1948         0xDB, 0x61, 0xDA, 0xF4, 0x10, 0xF5, 0xD8, 0xF1,
1949         0xAB, 0x83, 0x91, 0x28, 0xFD, 0x05, 0x54, 0xFD,
1950         0x05, 0x7C, 0xFD, 0x05, 0xB8, 0xBD, 0xBD, 0xB5,
1951         0xA3, 0x8B, 0x95, 0x05, 0x2D, 0x55, 0xBD, 0xB4,
1952         0xBB, 0xAD, 0x8A, 0x93, 0x4C, 0xFD, 0x3A, 0x54,
1953         0xFD, 0x3A, 0x5C, 0xFD, 0x3A, 0xB7, 0xAD, 0x8D,
1954         0x9D, 0xF5, 0x2C, 0x54, 0x7C, 0xF3, 0xA2, 0xDE,
1955         0xF8, 0xF8, 0xF4, 0x11, 0x00, 0xD8, 0xF2, 0xA1,
1956         0xF8, 0xF9, 0xD1, 0xD9, 0xF1, 0xAF, 0x8D, 0x9A,
1957         0x01, 0xF5, 0x8F, 0x90, 0xDB, 0x00, 0xF4, 0x10,
1958         0xF5, 0xDA, 0xF1, 0xAA, 0x8D, 0xC0, 0xAE, 0x8B,
1959         0xC1, 0xC3, 0xC5, 0xBE, 0xBE, 0xB9, 0xB0, 0xAA,
1960         0x83, 0xC3, 0xC5, 0xC7, 0xB3, 0xF3, 0xBA, 0xA2,
1961         0xD0, 0xDF, 0xF8, 0xBE, 0xBB, 0xF1, 0xA1, 0xDE,
1962         0xA7, 0x83, 0xC0, 0xC3, 0xC5, 0xC7, 0xA8, 0x84,
1963         0xC0, 0xC3, 0xC5, 0xC7, 0xA9, 0x85, 0xC0, 0xC3,
1964         0xC5, 0xC7, 0xA6, 0x86, 0xD0, 0xC0, 0xC3, 0xA2,
1965         0x81, 0xC3, 0xC5, 0xC7, 0xF4, 0x10, 0xF5, 0xF1,
1966         0xBB, 0xB3, 0xA3, 0xDE, 0xDF, 0xDF, 0xDF, 0xA4,
1967         0x8C, 0xC4, 0xC5, 0xC5, 0xC5, 0xA5, 0xDE, 0xDF,
1968         0xDF, 0xDF, 0xA6, 0xDE, 0xDF, 0xD8, 0xF3, 0xB9,
1969         0xAE, 0xDF, 0xBA, 0xAE, 0xDE, 0xBB, 0xA2, 0xDE,
1970         /* bank 17: 0x1100 */
1971         0xD8, 0xF3, 0xA2, 0xF8, 0xF9, 0xD1, 0xD9, 0xF4,
1972         0x11, 0x70, 0xD8, 0xF1, 0xAF, 0x8D, 0x9D, 0x49,
1973         0xDA, 0xC3, 0xC5, 0xD9, 0xC5, 0xC3, 0xD8, 0xAF,
1974         0x9F, 0x69, 0xD0, 0xDA, 0xC7, 0xD9, 0x8F, 0xC3,
1975         0x8D, 0xAF, 0xC7, 0xD8, 0xB9, 0xA9, 0x8F, 0x9F,
1976         0xF0, 0x54, 0x78, 0xF1, 0xFD, 0x0F, 0xA6, 0xB1,
1977         0x89, 0xC2, 0xB3, 0xAF, 0x8F, 0x9F, 0x2E, 0xFD,
1978         0x11, 0xB1, 0xB5, 0xA9, 0x89, 0x9F, 0x2C, 0xF3,
1979         0xAE, 0xDF, 0xF8, 0xF8, 0xF4, 0x13, 0x2E, 0xD8,
1980         0xF1, 0xAD, 0x86, 0x99, 0x06, 0xFD, 0x10, 0xDF,
1981         0xF8, 0xFD, 0x0F, 0xAD, 0x8D, 0x9D, 0x4C, 0xBB,
1982         0xB3, 0xAD, 0x8F, 0x9D, 0x2A, 0xFD, 0x0F, 0xB7,
1983         0x92, 0xFC, 0xC0, 0x04, 0xD9, 0xF4, 0x0F, 0x32,
1984         0xD8, 0xFC, 0xC0, 0x08, 0xD9, 0xF4, 0x10, 0x8D,
1985         0xD8, 0xF1, 0xD8, 0xF3, 0xBA, 0xB2, 0xB6, 0xAE,
1986         0xF8, 0xF9, 0xD1, 0xD9, 0xF4, 0x13, 0x2C, 0xD8,
1987         0xF1, 0xAF, 0xDE, 0xF9, 0xFD, 0x0F, 0x80, 0x90,
1988         0x2C, 0x54, 0x7C, 0xA0, 0x2A, 0xF0, 0x50, 0x78,
1989         0xFD, 0x0F, 0xF1, 0xA2, 0x82, 0x9C, 0x00, 0x24,
1990         0x44, 0x64, 0xA9, 0x8F, 0x94, 0xF0, 0x04, 0xFD,
1991         0x0F, 0x0C, 0x30, 0xFD, 0x0F, 0x1C, 0x95, 0x20,
1992         0x48, 0xFD, 0x0F, 0xF1, 0x99, 0xC1, 0x2C, 0x54,
1993         0x7C, 0xAA, 0x82, 0x99, 0x02, 0xFD, 0x0F, 0x2E,
1994         0xFD, 0x0F, 0x56, 0xFD, 0x0F, 0x7E, 0xFD, 0x0F,
1995         0xAC, 0x83, 0x9F, 0xF0, 0x04, 0x28, 0x50, 0x78,
1996         0xFD, 0x0F, 0x8C, 0x90, 0xF1, 0x21, 0xF5, 0x8C,
1997         0x9C, 0x2C, 0xF1, 0xAB, 0xDE, 0xF8, 0xFD, 0x0F,
1998         0x8B, 0xC1, 0xAF, 0xDE, 0xF1, 0x89, 0xAF, 0x9F,
1999         0xFC, 0xC0, 0x00, 0xD9, 0xC1, 0x8A, 0xC1, 0x82,
2000         0xC1, 0xD8, 0xFC, 0xC0, 0x04, 0xD9, 0xC3, 0x8A,
2001         0xC3, 0x82, 0xC3, 0xD8, 0xFC, 0xC0, 0x08, 0xD9,
2002         0xC5, 0x8A, 0xC5, 0x82, 0xC5, 0xD8, 0xFC, 0xC0,
2003         /* bank 18: 0x1200 */
2004         0x0C, 0xD9, 0xC7, 0x8A, 0xC7, 0x82, 0xC7, 0xD8,
2005         0xFC, 0xC0, 0x10, 0xD9, 0xF4, 0x12, 0xE6, 0xD8,
2006         0xF1, 0x8B, 0xAB, 0xD0, 0xC0, 0x9F, 0x2E, 0xFD,
2007         0x0F, 0xA0, 0xDE, 0xAB, 0xD0, 0x90, 0x65, 0xA0,
2008         0x8F, 0x9F, 0x4A, 0xFD, 0x0F, 0xAB, 0x8B, 0x90,
2009         0x00, 0xB9, 0xA9, 0xC1, 0xF3, 0xAE, 0xDF, 0xF8,
2010         0xF4, 0x13, 0x2E, 0xD8, 0xF1, 0xBA, 0xB1, 0xB6,
2011         0x89, 0xAB, 0xC1, 0xB2, 0xAF, 0xD0, 0x8B, 0x9F,
2012         0x3E, 0xFD, 0x0F, 0x5A, 0xFD, 0x0F, 0x9F, 0xFC,
2013         0xC0, 0x00, 0xD9, 0xF1, 0x8F, 0xA2, 0xC6, 0xD8,
2014         0xFC, 0xC0, 0x04, 0xD9, 0x8F, 0xA2, 0xC7, 0x84,
2015         0xAB, 0xD0, 0xC0, 0xAF, 0x8A, 0x9B, 0x1E, 0xFD,
2016         0x0F, 0x36, 0xFD, 0x0F, 0xA4, 0x8F, 0x30, 0xAA,
2017         0x9A, 0x40, 0xD8, 0x9F, 0xFC, 0xC0, 0x08, 0xD9,
2018         0x8F, 0xA2, 0xD0, 0xC6, 0x84, 0xAB, 0xD0, 0xC2,
2019         0xAF, 0x8A, 0x9B, 0x1E, 0xFD, 0x0F, 0x56, 0xFD,
2020         0x0F, 0xA4, 0x8F, 0x34, 0xAA, 0x9A, 0x40, 0x84,
2021         0xAB, 0xD0, 0xC4, 0xAF, 0x8A, 0x9B, 0x3E, 0xFD,
2022         0x0F, 0x56, 0xFD, 0x0F, 0xA4, 0xD0, 0x8F, 0x30,
2023         0xAA, 0x9A, 0x4C, 0xD8, 0x9F, 0xFC, 0xC0, 0x0C,
2024         0xD9, 0x8F, 0xA2, 0xD0, 0xC7, 0x84, 0xAB, 0xD0,
2025         0xC6, 0xAF, 0x8A, 0x9B, 0x1E, 0xFD, 0x0F, 0x76,
2026         0xFD, 0x0F, 0xA4, 0xD0, 0x8F, 0x34, 0xAA, 0x9A,
2027         0x40, 0x85, 0xAB, 0xD0, 0xC0, 0xAF, 0x8A, 0x9B,
2028         0x3E, 0xFD, 0x0F, 0x76, 0xFD, 0x0F, 0xA5, 0x8F,
2029         0x30, 0xAA, 0x9A, 0x4C, 0x85, 0xAB, 0xD0, 0xC2,
2030         0xAF, 0x8A, 0x9B, 0x5E, 0xFD, 0x0F, 0x76, 0xFD,
2031         0x0F, 0xA5, 0x8F, 0x34, 0xAA, 0xD0, 0x9A, 0x50,
2032         0xD8, 0xAF, 0xF8, 0xF4, 0x11, 0xDC, 0xF1, 0xD8,
2033         0x8B, 0x9C, 0xAF, 0x2A, 0xFD, 0x0F, 0x8A, 0x9F,
2034         0xB9, 0xAF, 0x02, 0xFD, 0x0F, 0x26, 0xFD, 0x0F,
2035         0x46, 0xFD, 0x0F, 0x66, 0xFD, 0x0F, 0x83, 0xB5,
2036         /* bank 19: 0x1300 */
2037         0x9F, 0xBA, 0xA3, 0x00, 0x2C, 0x54, 0x7C, 0xB6,
2038         0x82, 0x92, 0xA0, 0x31, 0xD9, 0xAD, 0xC3, 0xDA,
2039         0xAD, 0xC5, 0xD8, 0x8D, 0xA0, 0x39, 0xDA, 0x82,
2040         0xAD, 0xC7, 0xD8, 0xF3, 0x9E, 0xFC, 0xC0, 0x04,
2041         0xD9, 0xF4, 0x0E, 0x24, 0xD8, 0xFC, 0xC0, 0x08,
2042         0xD9, 0xF4, 0x0F, 0xDB, 0xD8, 0xF1, 0xD8, 0xF1,
2043         0xB9, 0xB1, 0xB5, 0xA9, 0xDE, 0xF8, 0x89, 0x99,
2044         0xAF, 0x31, 0xD9, 0xF4, 0x13, 0x82, 0xD8, 0xF1,
2045         0x85, 0xAF, 0x29, 0xD9, 0x84, 0xA9, 0xC2, 0xD8,
2046         0x85, 0xAF, 0x49, 0xD9, 0x84, 0xA9, 0xC4, 0xD8,
2047         0x85, 0xAF, 0x69, 0xD9, 0x84, 0xA9, 0xC6, 0xD8,
2048         0x89, 0xAF, 0x39, 0xDA, 0x8E, 0xA9, 0x50, 0xF4,
2049         0x13, 0x82, 0xD8, 0xF1, 0x89, 0xAA, 0x7C, 0xFD,
2050         0x02, 0x9A, 0x68, 0xD8, 0xF1, 0xAA, 0xFB, 0xDA,
2051         0x89, 0x99, 0xAF, 0x26, 0xFD, 0x0F, 0x8F, 0x95,
2052         0x25, 0x89, 0x9F, 0xA9, 0x12, 0xFD, 0x0F, 0xF4,
2053         0x13, 0x6B, 0xD8, 0xF3, 0x9E, 0xFC, 0xC1, 0x04,
2054         0xD9, 0xF4, 0x12, 0x33, 0xD8, 0xFC, 0xC1, 0x08,
2055         0xD9, 0xF4, 0x11, 0x47, 0xD8, 0xF1, 0xBE, 0xBC,
2056         0xBC, 0xBD, 0xBD, 0xF7, 0xB8, 0xB4, 0xB0, 0xAC,
2057         0x84, 0x9D, 0x12, 0xF9, 0xF2, 0xBC, 0xBC, 0x8A,
2058         0xA7, 0xD0, 0xD9, 0xC3, 0xDA, 0xC5, 0xD8, 0xBC,
2059         0xBD, 0xBD, 0xF3, 0x8F, 0xA8, 0xC0, 0xF9, 0xAC,
2060         0x84, 0x97, 0xF5, 0x1A, 0xF1, 0xF8, 0xF9, 0xD1,
2061         0xDA, 0xA8, 0xDE, 0xD8, 0x95, 0xFC, 0xC1, 0x03,
2062         0xD9, 0xA8, 0xDE, 0xD8, 0xBC, 0xBC, 0xF1, 0x98,
2063         0xFC, 0xC0, 0x1C, 0xDB, 0x95, 0xFC, 0xC0, 0x03,
2064         0xA5, 0xDE, 0xA4, 0xDE, 0xD8, 0xAC, 0x88, 0x95,
2065         0x00, 0xD1, 0xD9, 0xA5, 0xF8, 0xD8, 0xA4, 0xFC,
2066         0x80, 0x04, 0x88, 0x95, 0xA4, 0xFC, 0x08, 0x04,
2067         0x20, 0xF7, 0xBC, 0xBD, 0xB5, 0xAC, 0x84, 0x9F,
2068         0xF6, 0x02, 0xF8, 0xF9, 0xD1, 0xDB, 0x84, 0x93,
2069         /* bank 20: 0x1400 */
2070         0xF7, 0x6A, 0xF9, 0xD9, 0xF3, 0xBC, 0xBC, 0xA8,
2071         0x88, 0x92, 0x18, 0xBC, 0xD8, 0xBC, 0xBC, 0xB4,
2072         0xA8, 0x88, 0x9E, 0x08, 0xF4, 0xBE, 0xA1, 0xD0,
2073         0xC1, 0xBC, 0xF7, 0xBE, 0xBE, 0xB5, 0xAC, 0x84,
2074         0x93, 0x6A, 0xF9, 0xBD, 0xBD, 0xB4, 0xD9, 0xF2,
2075         0xAC, 0x8C, 0x97, 0x18, 0xF6, 0x84, 0x9C, 0x02,
2076         0xF8, 0xF9, 0xDB, 0xD1, 0xF1, 0xA3, 0xDE, 0xA5,
2077         0xDF, 0xD8, 0xF7, 0xBE, 0xBD, 0xA7, 0x9D, 0x88,
2078         0x7A, 0xF9, 0xD9, 0xF4, 0x15, 0xA7, 0xD8, 0xF1,
2079         0xBE, 0xBE, 0xBD, 0xBD, 0xBC, 0xBC, 0x93, 0xA3,
2080         0xFC, 0xC0, 0x08, 0xD9, 0xDE, 0xD8, 0x95, 0xFC,
2081         0xC0, 0x08, 0xD9, 0xA5, 0xDF, 0xF8, 0xD8, 0x95,
2082         0xFC, 0xC1, 0x04, 0xDB, 0xFC, 0xC0, 0x04, 0xA3,
2083         0xDE, 0xD8, 0x93, 0xFC, 0xC0, 0x04, 0xDA, 0xF4,
2084         0x15, 0x52, 0xD8, 0xF1, 0xAC, 0x82, 0x96, 0x2D,
2085         0x55, 0x7D, 0x8C, 0x9C, 0x34, 0x18, 0xF5, 0xAC,
2086         0x95, 0x1C, 0xD9, 0xF1, 0xA3, 0xDE, 0xA5, 0xDF,
2087         0xF4, 0x15, 0x52, 0xD8, 0xF7, 0xBC, 0xBD, 0xAC,
2088         0x88, 0x9F, 0x56, 0xF9, 0xBC, 0xBC, 0xBD, 0xBD,
2089         0xD9, 0xF4, 0x14, 0xB7, 0xD8, 0xF1, 0xAC, 0x83,
2090         0x90, 0x45, 0xF9, 0xD9, 0xA0, 0xF8, 0xAC, 0x8C,
2091         0x9C, 0x06, 0xD2, 0xA1, 0x91, 0x00, 0x2C, 0x87,
2092         0xD4, 0xF0, 0xA7, 0x8C, 0x9C, 0x20, 0xD3, 0xD8,
2093         0xF3, 0xBD, 0x98, 0xFC, 0xC0, 0x04, 0xBD, 0xBD,
2094         0xD9, 0xF1, 0xAC, 0x83, 0x98, 0x49, 0xDB, 0xF9,
2095         0xD9, 0xA8, 0xFA, 0xA4, 0x84, 0x90, 0x2C, 0x54,
2096         0x7C, 0xD8, 0xA0, 0x83, 0x93, 0xFC, 0x08, 0x04,
2097         0x20, 0xFC, 0xC0, 0x08, 0xDA, 0xF4, 0x15, 0x52,
2098         0xD8, 0xF1, 0xAC, 0x81, 0x91, 0x02, 0xFD, 0x17,
2099         0x87, 0xD4, 0xFD, 0x47, 0xF0, 0x81, 0x09, 0x09,
2100         0x09, 0x9C, 0x00, 0x00, 0xF1, 0x93, 0xFC, 0x4C,
2101         0x08, 0x00, 0xD8, 0xA9, 0x82, 0x96, 0x01, 0x93,
2102         /* bank 21: 0x1500 */
2103         0xFC, 0xC0, 0x08, 0xDB, 0x95, 0xFC, 0xC1, 0x00,
2104         0xA3, 0xDE, 0xAC, 0x89, 0x93, 0xF5, 0x18, 0xF1,
2105         0xA5, 0xDF, 0xF8, 0xD8, 0xF1, 0x83, 0xAC, 0xC4,
2106         0xF8, 0x8C, 0x93, 0xA8, 0xFC, 0x30, 0x08, 0x10,
2107         0xFC, 0xC0, 0x08, 0xDB, 0x95, 0xFC, 0xC1, 0x04,
2108         0xD9, 0xA3, 0xDE, 0xA5, 0xDF, 0xA4, 0x84, 0x34,
2109         0xFD, 0x08, 0x54, 0xFD, 0x08, 0x74, 0xFD, 0x08,
2110         0xA9, 0x94, 0xF5, 0x2C, 0x54, 0x7C, 0xF1, 0xDB,
2111         0xAC, 0x87, 0x99, 0x49, 0x51, 0x59, 0x84, 0xAB,
2112         0xC3, 0xC5, 0xC7, 0x82, 0xA6, 0xC0, 0xF3, 0xAA,
2113         0xDF, 0xF8, 0xF1, 0xD8, 0x93, 0xFC, 0xC0, 0x00,
2114         0xD9, 0x86, 0xA2, 0xC3, 0xC5, 0xC7, 0xA3, 0xDE,
2115         0xF8, 0xA0, 0xDE, 0xA1, 0xDE, 0xDF, 0xA7, 0xDE,
2116         0xDF, 0xA8, 0xDF, 0xA4, 0xDF, 0xDF, 0xDF, 0xD8,
2117         0xF1, 0x9A, 0xFC, 0xC1, 0x04, 0xD9, 0xAC, 0x82,
2118         0x96, 0x01, 0xF3, 0x81, 0xAA, 0xC4, 0xDB, 0xF5,
2119         0xAC, 0x8C, 0x9A, 0x18, 0xF3, 0xAA, 0xF9, 0xD8,
2120         0xAC, 0x8A, 0x9A, 0x41, 0xD1, 0xAA, 0xD0, 0xC0,
2121         0xD9, 0xF2, 0xAC, 0x85, 0x9A, 0x41, 0xDB, 0xD1,
2122         0xBC, 0xBD, 0xBE, 0xF4, 0x15, 0xA7, 0xD8, 0xF3,
2123         0xBC, 0xBD, 0xBE, 0xA5, 0x85, 0x9C, 0x10, 0xD8,
2124         0xF1, 0xBA, 0xB2, 0xB6, 0xF3, 0x92, 0xFC, 0xC3,
2125         0x07, 0xD9, 0xF2, 0xA5, 0xDE, 0xD8, 0xF2, 0xA7,
2126         0x82, 0x95, 0x65, 0xD1, 0x85, 0xA2, 0xD0, 0xC1,
2127         0xD9, 0xB5, 0xA7, 0x86, 0x93, 0x31, 0xDB, 0xD1,
2128         0xF4, 0x15, 0xD4, 0xD8, 0xF3, 0xB8, 0xB0, 0xB4,
2129         0xA5, 0x85, 0x9C, 0x18, 0xD8, 0xF1, 0xBA, 0xB2,
2130         0xB6, 0x81, 0x96, 0xA1, 0xF8, 0xF9, 0xB9, 0xA6,
2131         0xDA, 0xC3, 0xC5, 0xC7, 0xD9, 0x2D, 0x4D, 0x6D,
2132         0xD8, 0xBA, 0x88, 0xA8, 0xF8, 0xF9, 0xA7, 0xDA,
2133         0xC3, 0xC5, 0xC7, 0xD9, 0x2D, 0x4D, 0x6D, 0xD8,
2134         0xF2, 0xB0, 0xB9, 0xA3, 0xFA, 0xF9, 0xD1, 0xDA,
2135         /* bank 22: 0x1600 */
2136         0xB8, 0x8F, 0xA7, 0xC0, 0xF9, 0xB5, 0x87, 0x93,
2137         0xF6, 0x0A, 0xF2, 0xB4, 0xA4, 0x84, 0x97, 0x24,
2138         0xA4, 0x84, 0x9E, 0x3C, 0xD8, 0xF7, 0xB9, 0xB0,
2139         0xB5, 0xA6, 0x88, 0x95, 0x5A, 0xF9, 0xDA, 0xF1,
2140         0xAB, 0xF8, 0xD8, 0xB8, 0xB4, 0xF3, 0x98, 0xFC,
2141         0xC0, 0x04, 0xDA, 0xF4, 0x16, 0x7E, 0xD8, 0xF2,
2142         0xA9, 0xD0, 0xF8, 0x89, 0x9B, 0xA7, 0x51, 0xD9,
2143         0xA9, 0xD0, 0xDE, 0xA4, 0x84, 0x9E, 0x2C, 0xD8,
2144         0xA8, 0xFA, 0x88, 0x9A, 0xA7, 0x29, 0xD9, 0xA8,
2145         0xDF, 0xA4, 0x84, 0x9D, 0x34, 0xD8, 0xA8, 0xD0,
2146         0xF8, 0x88, 0x9A, 0xA7, 0x51, 0xD9, 0xA8, 0xD0,
2147         0xDE, 0xA4, 0x84, 0x9D, 0x2C, 0xD8, 0xA8, 0xD0,
2148         0xFA, 0x88, 0x9A, 0xA7, 0x79, 0xD9, 0xA8, 0xD0,
2149         0xDF, 0xA4, 0x84, 0x9D, 0x24, 0xD8, 0xF3, 0xA9,
2150         0xD0, 0xF8, 0x89, 0x9B, 0xA7, 0x51, 0xD9, 0xA9,
2151         0xD0, 0xDE, 0xA4, 0x84, 0x9C, 0x2C, 0xD8, 0xF7,
2152         0xA7, 0x88, 0x9F, 0x52, 0xF9, 0xD9, 0xF4, 0x16,
2153         0xBB, 0xD8, 0xF1, 0xB9, 0xA2, 0xFA, 0xF3, 0xB8,
2154         0xA9, 0xD0, 0xFA, 0x89, 0x9B, 0xA7, 0x79, 0xD9,
2155         0xA9, 0xD0, 0xDF, 0xA4, 0x84, 0x9C, 0x24, 0xD8,
2156         0xA7, 0x84, 0x9D, 0xF7, 0x12, 0xF9, 0xD9, 0xF4,
2157         0x16, 0xBB, 0xD8, 0xF2, 0xA8, 0xD0, 0xF8, 0x88,
2158         0x9A, 0xA7, 0x51, 0xD9, 0xA8, 0xD0, 0xDE, 0xA4,
2159         0x84, 0x9D, 0x2C, 0xD8, 0xF7, 0xA7, 0x88, 0x9F,
2160         0x42, 0xF9, 0xD9, 0xF4, 0x17, 0x02, 0xD8, 0xF3,
2161         0xA9, 0xF8, 0x89, 0x9B, 0xA7, 0x01, 0xD9, 0xA9,
2162         0xDE, 0xA4, 0x84, 0x9C, 0x3C, 0xD8, 0xA9, 0xFA,
2163         0x89, 0x9B, 0xA7, 0x29, 0xD9, 0xA9, 0xDF, 0xA4,
2164         0x84, 0x9C, 0x34, 0xD8, 0xF2, 0xA9, 0xFA, 0x89,
2165         0x9B, 0xA7, 0x29, 0xD9, 0xA9, 0xDF, 0xA4, 0x84,
2166         0x9E, 0x34, 0xD8, 0xA9, 0xD0, 0xFA, 0x89, 0x9B,
2167         0xA7, 0x79, 0xD9, 0xA9, 0xD0, 0xDF, 0xA4, 0x84,
2168         /* bank 23: 0x1700 */
2169         0x9E, 0x24, 0xD8, 0xF1, 0xA7, 0xDE, 0xF2, 0x84,
2170         0xCA, 0x97, 0xA4, 0x24, 0xA5, 0x94, 0xF6, 0x0A,
2171         0xF7, 0x85, 0x02, 0xF8, 0xF9, 0xD1, 0xD9, 0xF6,
2172         0x9B, 0x02, 0xD8, 0xA7, 0xB1, 0x82, 0x95, 0x62,
2173         0xF8, 0xF9, 0xD1, 0xD9, 0xF4, 0x18, 0x5F, 0xD8,
2174         0xF0, 0xB0, 0x85, 0xA4, 0xD0, 0xC0, 0xDD, 0xF2,
2175         0xC0, 0xDC, 0xF6, 0xA7, 0x9F, 0x02, 0xF9, 0xD9,
2176         0xF3, 0xA5, 0xDE, 0xDA, 0xF0, 0xDD, 0xF2, 0xC8,
2177         0xDC, 0xD8, 0x85, 0x95, 0xA5, 0x00, 0xD9, 0x86,
2178         0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8,
2179         0xF2, 0x85, 0x00, 0xD9, 0x80, 0xF0, 0xDD, 0xF2,
2180         0xCC, 0xC6, 0xCE, 0xDC, 0xD8, 0x85, 0x00, 0xD9,
2181         0xB1, 0x89, 0xF0, 0xDD, 0xF2, 0xC2, 0xCA, 0xC4,
2182         0xDC, 0xD8, 0xB0, 0x85, 0x00, 0xD9, 0x81, 0xF0,
2183         0xDD, 0xF2, 0xC6, 0xCE, 0x82, 0xC0, 0xC8, 0xDC,
2184         0xD8, 0x85, 0x00, 0xB1, 0xD9, 0x86, 0xF0, 0xDD,
2185         0xF1, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8, 0xB0, 0xF2,
2186         0x85, 0x00, 0xD9, 0xB2, 0x87, 0xF0, 0xDD, 0xF1,
2187         0xC2, 0xC4, 0xC6, 0xF2, 0xB2, 0x86, 0xC4, 0xDC,
2188         0xD8, 0xB0, 0x85, 0x00, 0xB1, 0xD9, 0x8F, 0xF0,
2189         0xDD, 0xF2, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8, 0xB0,
2190         0x85, 0x00, 0x00, 0xD9, 0x82, 0xF0, 0xDD, 0xF2,
2191         0xC2, 0xCA, 0xC4, 0xDC, 0xD8, 0x85, 0x00, 0xD9,
2192         0x85, 0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC,
2193         0xD8, 0xF2, 0x85, 0x00, 0xD9, 0xB1, 0x8A, 0xF0,
2194         0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8, 0xB0,
2195         0xF2, 0x85, 0x00, 0xD9, 0xB1, 0xF0, 0xDD, 0xF1,
2196         0x82, 0xC4, 0xDC, 0xD8, 0xB0, 0xF3, 0xA5, 0xF8,
2197         0xF9, 0xD1, 0xD9, 0xF4, 0x18, 0x26, 0xD8, 0xF3,
2198         0x85, 0x95, 0xA5, 0x00, 0x00, 0xD9, 0xBE, 0xF2,
2199         0xBA, 0xAE, 0xDE, 0xBE, 0xBE, 0xBC, 0xB2, 0x81,
2200         0xF0, 0xDD, 0xF3, 0xC8, 0xDC, 0xBC, 0xBC, 0xD8,
2201         /* bank 24: 0x1800 */
2202         0xB0, 0xB8, 0x85, 0xA5, 0x00, 0xD9, 0xF2, 0xBE,
2203         0xBE, 0xAA, 0xDE, 0xBE, 0xBC, 0xBC, 0x8A, 0xF0,
2204         0xDD, 0xF3, 0xC0, 0xDC, 0xBC, 0xD8, 0x85, 0xA5,
2205         0x00, 0xD9, 0xB9, 0xF2, 0xA3, 0xD0, 0xDE, 0xB2,
2206         0x85, 0xF0, 0xDD, 0xF3, 0xC8, 0xDC, 0xD8, 0xF2,
2207         0xB1, 0x86, 0xB9, 0xAF, 0xC3, 0xC5, 0xC7, 0xF2,
2208         0xB9, 0xA3, 0xDF, 0xB8, 0xB0, 0xB4, 0xA7, 0x84,
2209         0x9D, 0xF7, 0x1A, 0xF9, 0xD9, 0xF4, 0x18, 0x4D,
2210         0xD8, 0xF1, 0xB9, 0xB1, 0xB5, 0xA6, 0x83, 0x9B,
2211         0x61, 0xD9, 0xF4, 0x18, 0x5F, 0xD8, 0xF6, 0xB8,
2212         0xB0, 0xB4, 0xA7, 0x84, 0x94, 0x5A, 0xF8, 0xF9,
2213         0xD1, 0xDA, 0xFE, 0xF1, 0xB9, 0xAB, 0xDE, 0xD8,
2214         0xF1, 0xB8, 0xB0, 0xB4, 0xA7, 0x88, 0x9C, 0xF7,
2215         0x6A, 0xF9, 0xD9, 0xFF, 0xD8, 0xF1, 0xBB, 0xAA,
2216         0xF9, 0xDA, 0xFF, 0xD8, 0xB3, 0x8A, 0xC2, 0xB9,
2217         0xA2, 0xF8, 0xB2, 0x84, 0xBB, 0xAA, 0xD0, 0xC1,
2218         0x8B, 0xB7, 0x9A, 0xBA, 0xA7, 0x3A, 0x93, 0xF0,
2219         0x31, 0x31, 0x20, 0xD3, 0x8F, 0xB6, 0x9C, 0xAB,
2220         0x01, 0x29, 0x51, 0x79, 0xAF, 0xC2, 0xC5, 0xC7,
2221         0x8B, 0x9B, 0xF1, 0x04, 0xFD, 0x01, 0x87, 0xD4,
2222         0x8E, 0x9D, 0xAB, 0xF0, 0x01, 0x29, 0x51, 0x79,
2223         0xAE, 0xC2, 0xC5, 0xC7, 0x8B, 0x9B, 0xF1, 0x04,
2224         0xFD, 0x01, 0xB3, 0x81, 0xB7, 0x9A, 0xBB, 0xA7,
2225         0x7A, 0x93, 0xF0, 0x71, 0x71, 0x60, 0x85, 0x94,
2226         0x01, 0x29, 0x51, 0x79, 0xA5, 0xC2, 0xC5, 0xC7,
2227         0x87, 0x97, 0xF1, 0x04, 0xFD, 0x01, 0x81, 0x9A,
2228         0xA7, 0x1A, 0x93, 0xF0, 0x11, 0x11, 0x00, 0x8E,
2229         0x9B, 0x01, 0x29, 0x51, 0x79, 0xAE, 0xC2, 0xC5,
2230         0xC7, 0x87, 0x97, 0xF1, 0x04, 0xFD, 0x01, 0x83,
2231         0xA3, 0xC2, 0xC5, 0xC7, 0x8A, 0xC7, 0xF2, 0xB2,
2232         0x8B, 0xB6, 0x9B, 0xBA, 0xAB, 0x71, 0xD9, 0xD0,
2233         0xF8, 0xF5, 0x8F, 0x9F, 0xB9, 0xA6, 0x78, 0x8E,
2234         /* bank 25: 0x1900 */
2235         0x9E, 0x7C, 0xF1, 0xB1, 0x8E, 0xB5, 0x96, 0x45,
2236         0x6D, 0x8B, 0xA6, 0xD0, 0x32, 0x3E, 0x8E, 0xAE,
2237         0xD0, 0x50, 0x7C, 0xF4, 0x19, 0x8A, 0xD8, 0xF1,
2238         0xB1, 0x8E, 0xBB, 0xA1, 0xC5, 0xC7, 0xB3, 0xB7,
2239         0x81, 0x91, 0xAF, 0xD0, 0x50, 0xFD, 0x02, 0xB6,
2240         0x9B, 0xFC, 0xC2, 0x00, 0x8F, 0xB5, 0x9B, 0xD9,
2241         0x56, 0xDA, 0x5E, 0xD8, 0xF3, 0xBA, 0xAB, 0xD0,
2242         0xDE, 0xF8, 0xF1, 0xB7, 0x91, 0xA7, 0x69, 0xDB,
2243         0xB1, 0x8E, 0x09, 0xF3, 0xAB, 0xD0, 0xDE, 0xF1,
2244         0xB3, 0x86, 0xB9, 0xA4, 0xC0, 0xD8, 0xB8, 0xB0,
2245         0xB4, 0xA7, 0x88, 0x9D, 0xF7, 0x62, 0xF9, 0xD9,
2246         0xF1, 0xB9, 0xA2, 0xDE, 0xF4, 0x19, 0x84, 0xD8,
2247         0xF1, 0xB1, 0x8A, 0xB5, 0x92, 0x01, 0xD9, 0xF4,
2248         0x19, 0x84, 0xD8, 0xF1, 0x81, 0xB7, 0x91, 0x09,
2249         0xDB, 0x31, 0xF4, 0x19, 0x84, 0xD8, 0xF3, 0xA4,
2250         0xD0, 0xB0, 0x8D, 0xB4, 0x94, 0x1D, 0xF1, 0xB9,
2251         0xA2, 0xDE, 0xF4, 0x42, 0xD8, 0xF2, 0xBA, 0xAB,
2252         0xD0, 0xDE, 0xD8, 0xF3, 0xBB, 0xB3, 0xB7, 0x90,
2253         0xA2, 0x82, 0x00, 0xF2, 0x10, 0xF1, 0x80, 0x9D,
2254         0xAD, 0xD0, 0x7C, 0xF2, 0xA2, 0xFA, 0xF9, 0xD1,
2255         0xF1, 0xB9, 0xAC, 0xD9, 0xDE, 0xDA, 0xF8, 0xD8,
2256         0xF2, 0xBB, 0xAF, 0x92, 0x50, 0x8F, 0x0D, 0xDB,
2257         0xF1, 0xB1, 0x8C, 0xB5, 0x9C, 0x21, 0xD9, 0xF5,
2258         0xB3, 0x85, 0xB7, 0x95, 0xB9, 0xA6, 0x78, 0x8E,
2259         0x9E, 0x7C, 0xF1, 0xB1, 0x8D, 0xB5, 0x9D, 0xAD,
2260         0x1A, 0xF0, 0x96, 0x40, 0x9D, 0x3C, 0x96, 0x48,
2261         0xD8, 0xF1, 0xB1, 0x8E, 0xB5, 0x9D, 0xB9, 0xA6,
2262         0x2A, 0x8D, 0x96, 0x05, 0xD9, 0xF4, 0x1A, 0x09,
2263         0xD8, 0xF2, 0xB3, 0x80, 0xB7, 0x92, 0xBB, 0xAF,
2264         0x50, 0xF8, 0x8F, 0x0D, 0xDB, 0xF1, 0xB1, 0x8C,
2265         0xB5, 0x9C, 0xB9, 0xA6, 0x21, 0xF4, 0x1A, 0x09,
2266         0xD8, 0xF1, 0xB3, 0x8E, 0xBB, 0xA8, 0xD0, 0xC4,
2267         /* bank 26: 0x1A00 */
2268         0xC7, 0xF3, 0xB9, 0xAC, 0xD0, 0xDE, 0xF4, 0x1A,
2269         0x1A, 0xD8, 0xF1, 0xB3, 0x85, 0xBB, 0xA8, 0xD0,
2270         0xC4, 0xC7, 0xF3, 0xB9, 0xAC, 0xD0, 0xDE, 0xF8,
2271         0xDF, 0xF8, 0xD8, 0xF3, 0xB5, 0x9C, 0xFC, 0xC3,
2272         0x04, 0xDB, 0xFC, 0xC2, 0x00, 0xD9, 0xF2, 0xAC,
2273         0xD0, 0xDE, 0xD8, 0xF2, 0xBB, 0xAF, 0xB7, 0x92,
2274         0xB3, 0x82, 0x19, 0x80, 0xA2, 0xD9, 0x26, 0xF3,
2275         0xA7, 0xD0, 0xDF, 0xD8, 0xF1, 0xAF, 0x89, 0x98,
2276         0x19, 0xA9, 0x80, 0xD9, 0x38, 0xD8, 0xAF, 0x89,
2277         0x39, 0xA9, 0x80, 0xDA, 0x3C, 0xD8, 0xAF, 0x2E,
2278         0x88, 0xF5, 0x75, 0xDA, 0xFF, 0xD8, 0x71, 0x80,
2279         0xA9, 0xDA, 0xF1, 0xFF, 0xD8, 0x82, 0xA7, 0xF3,
2280         0xC1, 0xF2, 0x80, 0xC2, 0xF1, 0x97, 0x86, 0x49,
2281         0x2E, 0xA6, 0xD0, 0x50, 0x96, 0x86, 0xAF, 0x75,
2282         0xD9, 0x88, 0xA2, 0xD0, 0xF3, 0xC0, 0xC3, 0xF1,
2283         0xDA, 0x8F, 0x96, 0xA2, 0xD0, 0xF3, 0xC2, 0xC3,
2284         0x82, 0xB6, 0x9B, 0x78, 0x78, 0xF1, 0xD8, 0x80,
2285         0xB7, 0x90, 0xAF, 0x0D, 0x89, 0x99, 0xAF, 0x10,
2286         0x80, 0x9F, 0x21, 0xDA, 0x2E, 0xD8, 0x89, 0x99,
2287         0xAF, 0x31, 0x80, 0xDA, 0x2E, 0xD8, 0xAF, 0x82,
2288         0x92, 0xF3, 0x41, 0x80, 0xF1, 0xD9, 0x2E, 0xD8,
2289         0xAF, 0x82, 0xF3, 0x19, 0x80, 0xF1, 0xD9, 0x2E,
2290         0xD8, 0xF1, 0x89, 0x90, 0xAF, 0xD0, 0x09, 0x8F,
2291         0x99, 0xAF, 0x51, 0xDB, 0x89, 0x31, 0xF3, 0x82,
2292         0x92, 0x19, 0xF2, 0xB1, 0x8C, 0xB5, 0x9C, 0x71,
2293         0xD9, 0xF1, 0xDF, 0xF9, 0xF2, 0xB9, 0xAC, 0xD0,
2294         0xF8, 0xF8, 0xF3, 0xDF, 0xD8, 0xB3, 0xB7, 0xBB,
2295         0x82, 0xAC, 0xF3, 0xC0, 0xA2, 0x80, 0x22, 0xF1,
2296         0xA9, 0x22, 0x26, 0x9F, 0xAF, 0x29, 0xDA, 0xAC,
2297         0xDE, 0xFF, 0xD8, 0xA2, 0xF2, 0xDE, 0xF1, 0xA9,
2298         0xDF, 0xF3, 0xBA, 0xAB, 0xD0, 0xF8, 0xF9, 0xD1,
2299         0xD9, 0xFF, 0xD8, 0xF2, 0xBB, 0xAD, 0xD0, 0xDE,
2300         /* bank 27: 0x1B00 */
2301         0xF8, 0xF1, 0xB1, 0x84, 0xB6, 0x96, 0xBA, 0xA7,
2302         0xD0, 0x7E, 0xB7, 0x96, 0xA7, 0x01, 0xB2, 0x87,
2303         0x9D, 0x05, 0xDB, 0xB3, 0x8D, 0xB6, 0x97, 0x79,
2304         0xF3, 0xB1, 0x8C, 0x96, 0x49, 0xF2, 0xBB, 0xAD,
2305         0xD0, 0xF8, 0xD8, 0xF3, 0xB9, 0xAC, 0xD0, 0xF8,
2306         0xF9, 0xD1, 0xD9, 0xF2, 0xBB, 0xAD, 0xD0, 0xF8,
2307         0xD8, 0xB3, 0xB7, 0xBB, 0x97, 0x8C, 0xAF, 0xF3,
2308         0x79, 0xD9, 0xF4, 0x1B, 0x5E, 0xD8, 0xF1, 0xB1,
2309         0x82, 0xB9, 0xA2, 0xD0, 0xC2, 0xB3, 0xF2, 0xB9,
2310         0xA3, 0xFA, 0xF1, 0xBB, 0xAA, 0xD0, 0xF8, 0xB8,
2311         0xB0, 0xB4, 0xA7, 0x88, 0x9C, 0xF7, 0x72, 0xF9,
2312         0xF4, 0xDA, 0x44, 0xD8, 0x1B, 0x71, 0xD8, 0xF3,
2313         0xB3, 0xB7, 0xBB, 0xA7, 0xD0, 0xFA, 0x97, 0x8C,
2314         0xAF, 0x79, 0xDA, 0xF1, 0x87, 0x9A, 0xAA, 0xD0,
2315         0x70, 0xD8, 0xF2, 0xBB, 0xB3, 0xB7, 0x82, 0x92,
2316         0xAF, 0x31, 0xDA, 0xF4, 0x1B, 0xB2, 0xD8, 0xF1,
2317         0xDE, 0x8D, 0x9D, 0xCC, 0x8F, 0x96, 0xA6, 0x00,
2318         0xAC, 0x8C, 0x9C, 0x0C, 0x30, 0xBA, 0x8D, 0x9D,
2319         0xA7, 0x39, 0xDB, 0xF3, 0xB1, 0x8C, 0xB6, 0x96,
2320         0x49, 0xD9, 0xF1, 0x84, 0xB5, 0x94, 0xB9, 0xA4,
2321         0xD0, 0x5E, 0xF0, 0xB7, 0x9D, 0x38, 0xD8, 0xF1,
2322         0xBB, 0xAC, 0xDE, 0xD0, 0xDE, 0xAD, 0xD0, 0xDF,
2323         0xF1, 0xFF, 0xD8, 0xF3, 0xB9, 0xAC, 0xD0, 0xF8,
2324         0xF9, 0xD1, 0xD9, 0xF2, 0xBB, 0xA2, 0xFA, 0xF8,
2325         0xDA, 0xF2, 0xBB, 0xA2, 0xFA, 0xD8, 0xF2, 0xB3,
2326         0xB7, 0xBB, 0x80, 0x92, 0xAF, 0x49, 0xD1, 0xD9,
2327         0xF1, 0xB9, 0xAC, 0xDE, 0xAD, 0xDE, 0xDF, 0xD8,
2328         0xF1, 0x8C, 0x9C, 0xBB, 0xAC, 0xD0, 0x10, 0xAC,
2329         0xDE, 0xAD, 0xD0, 0xDF, 0x92, 0x82, 0xAF, 0xF1,
2330         0xCA, 0xF2, 0x35, 0xF1, 0x96, 0x8F, 0xA6, 0xD9,
2331         0x00, 0xD8, 0xF1, 0xFF
2332 };
2333 #elif ICM_DMP_FW_VER == 1
2334 static const u8 const dmp_fw_20628[] = {
2335         /* bank 0: 0x0090 */
2336         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2337         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2338         0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
2339         0x00, 0x05, 0x00, 0x02, 0x00, 0x05, 0x00, 0xFF,
2340         0xFF, 0xF7, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
2341         0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
2342         0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00,
2343         0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00,
2344         0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04, 0x00,
2345         0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00,
2346         0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40,
2347         0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10,
2348         0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04,
2349         0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01,
2350         /* bank 1: 0x0100 */
2351         0x00, 0x00, 0x03, 0x84, 0x00, 0x00, 0x9C, 0x40,
2352         0xFE, 0xF8, 0x56, 0xBE, 0x04, 0x00, 0x00, 0x00,
2353         0x00, 0x08, 0x94, 0xA5, 0x00, 0x02, 0xB6, 0xA3,
2354         0x13, 0x5C, 0x28, 0xF6, 0x0C, 0xF5, 0xC2, 0x8F,
2355         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2356         0x00, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x38,
2357         0x04, 0xF6, 0xE8, 0xF4, 0x00, 0x00, 0x68, 0x00,
2358         0x00, 0x01, 0xFF, 0xC7, 0x00, 0x00, 0x00, 0x00,
2359         0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0xAE, 0x14,
2360         0x3E, 0xB8, 0x51, 0xEC, 0x00, 0x0F, 0x00, 0x00,
2361         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2362         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2363         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2364         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2365         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2366         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2367         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2368         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2369         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2370         0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x0C, 0x00,
2371         0x00, 0x00, 0x01, 0x5E, 0x00, 0x00, 0x00, 0x00,
2372         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2373         0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x2B, 0x80,
2374         0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
2375         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC,
2376         0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01,
2377         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2378         0x00, 0x50, 0x50, 0x50, 0x3F, 0xAF, 0xAF, 0xB0,
2379         0x02, 0x00, 0x00, 0x00, 0x36, 0x66, 0x66, 0x66,
2380         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2381         0x8E, 0x17, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
2382         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2383         /* bank 2: 0x0200 */
2384         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2385         0x7F, 0xFF, 0x00, 0x00, 0x0C, 0xCC, 0xCC, 0xCD,
2386         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2387         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2388         0x00, 0x3E, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
2389         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2390         0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
2391         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2392         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2393         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2394         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2395         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2396         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2397         0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
2398         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2399         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2400         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2401         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2402         0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
2403         0x3E, 0xB8, 0x51, 0xEC, 0x01, 0x47, 0xAE, 0x14,
2404         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2405         0x33, 0x33, 0x33, 0x33, 0x0C, 0xCC, 0xCC, 0xCD,
2406         0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x4B, 0xD1,
2407         0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x0A,
2408         0x06, 0xD5, 0x8E, 0x27, 0xE1, 0x05, 0x86, 0xB2,
2409         0x38, 0xB3, 0x8D, 0x1F, 0xCF, 0x87, 0xC3, 0x8F,
2410         0x06, 0xD5, 0x8E, 0x27, 0x1F, 0xA1, 0xAB, 0x12,
2411         0x3A, 0x50, 0xFF, 0xCB, 0x31, 0x7D, 0xD5, 0x43,
2412         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2413         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2414         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2415         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2416         /* bank 3: 0x0300 */
2417         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
2418         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
2419         0x00, 0x06, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00,
2420         0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x8D, 0xF2,
2421         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2422         0x00, 0x07, 0x00, 0x10, 0x00, 0x96, 0x00, 0x3C,
2423         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2424         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2425         0x0C, 0xC1, 0xD5, 0x21, 0xCB, 0xCF, 0x2A, 0x67,
2426         0x51, 0xF6, 0x2F, 0x9C, 0xC5, 0x87, 0x95, 0xAC,
2427         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2428         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2429         0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
2430         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
2431         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2432         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2433         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3D,
2434         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2435         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2436         0x00, 0x20, 0x31, 0x88, 0x00, 0x35, 0xA1, 0x09,
2437         0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
2438         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2439         0x0E, 0x49, 0x6E, 0x64, 0xC5, 0x92, 0x24, 0x82,
2440         0x59, 0xFA, 0xEE, 0x8D, 0xC2, 0x29, 0xFE, 0xD7,
2441         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2442         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
2443         0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0xCC, 0xCC,
2444         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2445         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2446         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2447         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2448         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2449         /* bank 4: 0x0400 */
2450         0x00, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
2451         0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x00, 0x00,
2452         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2453         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2454         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2455         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2456         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2457         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2458         0x00, 0x00, 0x00, 0x03, 0x3F, 0xC1, 0xA7, 0x68,
2459         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2460         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2461         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2462         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2463         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2464         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2465         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2466         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2467         0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2468         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2469         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2470         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2471         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2472         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2473         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2474         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2475         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2476         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2477         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2478         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2479         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2480         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2481         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2482         /* bank 5: 0x0500 */
2483         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2484         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2485         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2486         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2487         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2488         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2489         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2490         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2491         0x00, 0x00, 0x61, 0xA8, 0x00, 0x00, 0x00, 0x10,
2492         0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00,
2493         0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
2494         0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
2495         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
2496         0x00, 0x00, 0x2E, 0xE0, 0x00, 0x06, 0x40, 0x00,
2497         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
2498         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2499         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2500         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2501         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2502         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
2503         0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
2504         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2505         0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
2506         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2507         0x0C, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
2508         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2509         0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x00,
2510         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2511         0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
2512         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
2513         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2514         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2515         /* bank 6: 0x0600 */
2516         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2517         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2518         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
2519         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2520         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
2521         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
2522         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2523         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2524         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2525         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2526         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2527         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2528         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2529         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2530         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2531         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2532         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
2533         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
2534         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2535         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2536         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2537         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2538         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
2539         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2540         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
2541         0x00, 0x00, 0x00, 0x00, 0x01, 0x49, 0x1B, 0x75,
2542         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
2543         0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x0C, 0xCD,
2544         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2545         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2546         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2547         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2548         /* bank 7: 0x0700 */
2549         0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01,
2550         0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x46,
2551         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2552         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2553         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2554         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2555         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2556         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2557         0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
2558         0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
2559         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2560         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2561         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2562         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2563         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2564         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2565         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2566         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2567         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2568         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2569         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2570         0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
2571         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2572         0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x24, 0xF8,
2573         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
2574         0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3C,
2575         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2576         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2577         0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2578         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2579         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2580         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2581         /* bank 8: 0x0800 */
2582         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2583         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2584         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2585         0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xEA,
2586         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2587         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2588         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2589         0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x4E,
2590         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2591         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2592         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2593         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
2594         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2595         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2596         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2597         0x01, 0x47, 0xAE, 0x14, 0x4E, 0x40, 0x00, 0x00,
2598         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2599         0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xF8,
2600         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2601         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2602         0x00, 0x01, 0x00, 0x00, 0x4E, 0x40, 0x00, 0x00,
2603         0x4A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x06,
2604         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2605         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2606         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2607         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2608
2609         0xD8, 0xDC, 0xB8, 0xB0, 0xB4, 0xF3, 0xAA, 0xF8,
2610         0xF9, 0xD1, 0xD9, 0x88, 0x9A, 0xF8, 0xF7, 0x3E,
2611         0xD8, 0xF3, 0x8A, 0x9A, 0xA7, 0x31, 0xD1, 0xDA,
2612         0xF1, 0xFF, 0xD8, 0xF1, 0xA4, 0xDF, 0xA5, 0xDE,
2613         0xF3, 0xA8, 0xDE, 0xD0, 0xDF, 0xA4, 0x84, 0x9F,
2614         0x24, 0xF2, 0xA9, 0xF8, 0xF9, 0xD1, 0xDA, 0xDE,
2615         /* bank 9: 0x0900 */
2616         0xA8, 0xDE, 0xDF, 0xDF, 0xDF, 0xD8, 0xF4, 0xB1,
2617         0x8D, 0xF3, 0xA8, 0xD0, 0xC0, 0xF1, 0xBC, 0xB0,
2618         0xBD, 0xBE, 0x82, 0xA1, 0xC3, 0xC5, 0xC7, 0xBC,
2619         0xBC, 0xA2, 0xDF, 0xDF, 0xDF, 0x80, 0xF2, 0xA2,
2620         0xC3, 0xCB, 0xC5, 0xBC, 0xF1, 0x90, 0xFC, 0xC3,
2621         0x00, 0xD9, 0xF4, 0x09, 0x8E, 0xD8, 0xF3, 0xA0,
2622         0xDF, 0xF1, 0x82, 0x91, 0xA9, 0x2D, 0x55, 0x7D,
2623         0xA9, 0x80, 0x90, 0xFC, 0x51, 0x00, 0x10, 0xFC,
2624         0x51, 0x00, 0x10, 0xFC, 0x51, 0x00, 0x10, 0xFC,
2625         0xC1, 0x04, 0xD9, 0xF2, 0xA0, 0xDF, 0xF4, 0x09,
2626         0x8E, 0xD8, 0xF6, 0xA0, 0xFA, 0x80, 0x90, 0x38,
2627         0xF3, 0xDE, 0xDA, 0xF8, 0xF4, 0x09, 0x8E, 0xD8,
2628         0xF1, 0xBD, 0x95, 0xFC, 0xC1, 0x04, 0xD9, 0xBD,
2629         0xBD, 0xF4, 0x09, 0x8E, 0xDA, 0xBD, 0xBD, 0xD8,
2630         0xF6, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBE, 0xB5,
2631         0xA7, 0x84, 0x92, 0x1A, 0xF8, 0xF9, 0xD1, 0xDB,
2632         0x84, 0x93, 0xF7, 0x6A, 0xB6, 0x87, 0x96, 0xF3,
2633         0x09, 0xFF, 0xDA, 0xBC, 0xBD, 0xBE, 0xD8, 0xF3,
2634         0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBE, 0xB0, 0xB4,
2635         0x8F, 0xF4, 0xB9, 0xAF, 0xD0, 0xC7, 0xBE, 0xBE,
2636         0xB8, 0xAE, 0xD0, 0xF3, 0x9F, 0x5C, 0xB2, 0x86,
2637         0xF4, 0xBE, 0xB9, 0xAF, 0xD0, 0xC3, 0xF1, 0xBE,
2638         0xB8, 0xB0, 0xA3, 0xDE, 0xDF, 0xDF, 0xDF, 0xF2,
2639         0xA3, 0x81, 0xC0, 0x80, 0xCD, 0xC7, 0xCF, 0xBD,
2640         0xB4, 0xB2, 0xA3, 0x86, 0x93, 0xF1, 0x20, 0xFD,
2641         0x3F, 0x2C, 0xFD, 0x3F, 0x34, 0xFD, 0x3F, 0x3C,
2642         0xFD, 0x3F, 0xBE, 0xA2, 0x20, 0xFD, 0x31, 0xA0,
2643         0x2C, 0xFD, 0x31, 0x34, 0xFD, 0x31, 0x3C, 0xFD,
2644         0x31, 0xBE, 0xBE, 0xBC, 0xBC, 0xB0, 0xA3, 0x8B,
2645         0x93, 0x2D, 0x55, 0x7D, 0xA2, 0x86, 0x9D, 0x08,
2646         0xFD, 0x0F, 0xBC, 0xBC, 0xA3, 0x83, 0x92, 0x01,
2647         0xA9, 0x9E, 0x0E, 0x16, 0x1E, 0xBE, 0xBE, 0x99,
2648         /* bank 10: 0x0A00 */
2649         0xA5, 0x2C, 0x54, 0x7C, 0xBA, 0xA5, 0x2C, 0x54,
2650         0x7C, 0xBD, 0xBD, 0xBC, 0xBC, 0xB1, 0xB6, 0x83,
2651         0x95, 0xA5, 0xF1, 0x0E, 0x16, 0x1E, 0xB2, 0xA7,
2652         0x85, 0x95, 0x2A, 0xF0, 0x50, 0x78, 0x87, 0x93,
2653         0xF1, 0x01, 0xDA, 0xA5, 0xDF, 0xDF, 0xDF, 0xD8,
2654         0xA4, 0xDF, 0xDF, 0xDF, 0xB0, 0x80, 0xF2, 0xA4,
2655         0xC3, 0xCB, 0xC5, 0xF1, 0xB1, 0x8E, 0x94, 0xA4,
2656         0x0E, 0x16, 0x1E, 0xB2, 0x86, 0xBE, 0xA0, 0x2C,
2657         0x34, 0x3C, 0xBE, 0xB8, 0xA6, 0x2C, 0xFD, 0x35,
2658         0x34, 0xFD, 0x35, 0x3C, 0xFD, 0x35, 0xBE, 0xBC,
2659         0xB2, 0x8E, 0x94, 0xA6, 0x2D, 0x55, 0x7D, 0xBA,
2660         0xA4, 0x2D, 0x55, 0x7D, 0xBC, 0xBC, 0xF3, 0xB9,
2661         0xA9, 0x80, 0xCD, 0xF2, 0xC4, 0xC5, 0xBA, 0xF3,
2662         0xA0, 0xD0, 0xDE, 0xB1, 0xB4, 0xF7, 0xA7, 0x89,
2663         0x91, 0x72, 0x89, 0x91, 0x47, 0xB6, 0x97, 0x4A,
2664         0xB9, 0xF2, 0xA9, 0xD0, 0xFA, 0xF9, 0xD1, 0xD9,
2665         0xF4, 0x0A, 0x8A, 0xD8, 0xF3, 0xBA, 0xA7, 0xF9,
2666         0xDB, 0xFB, 0xD9, 0xF1, 0xB9, 0xB0, 0x81, 0xA9,
2667         0xC3, 0xF2, 0xC5, 0xF3, 0xBA, 0xA0, 0xD0, 0xF8,
2668         0xD8, 0xF1, 0xB1, 0x89, 0xA7, 0xDF, 0xDF, 0xDF,
2669         0xF2, 0xA7, 0xC3, 0xCB, 0xC5, 0xF1, 0xB2, 0xB5,
2670         0xB9, 0x87, 0x97, 0xA5, 0x22, 0xF0, 0x48, 0x70,
2671         0x3C, 0x98, 0x40, 0x68, 0x34, 0x58, 0x99, 0x60,
2672         0xF1, 0xBC, 0xB3, 0x8E, 0x95, 0xAA, 0x25, 0x4D,
2673         0x75, 0xBC, 0xBC, 0xB8, 0xB0, 0xB4, 0xA7, 0x88,
2674         0x9F, 0xF7, 0x5A, 0xF9, 0xD9, 0xF1, 0xBA, 0xA5,
2675         0xDF, 0xDF, 0xDF, 0xB8, 0xDA, 0xF3, 0xA8, 0xF8,
2676         0x88, 0x9D, 0xD0, 0x7C, 0xD8, 0xF7, 0xA7, 0x88,
2677         0x9F, 0x52, 0xF9, 0xD9, 0xF1, 0xBA, 0xA4, 0xDF,
2678         0xDF, 0xDF, 0xB8, 0xDA, 0xF3, 0xA8, 0x88, 0x9C,
2679         0xD0, 0xDF, 0x68, 0x70, 0x9D, 0x60, 0x70, 0x78,
2680         0xD8, 0xF7, 0xA7, 0x88, 0x9F, 0x42, 0xF9, 0xBA,
2681         /* bank 11: 0x0B00 */
2682         0xA0, 0xD0, 0xF3, 0xD9, 0xDE, 0xD8, 0xF8, 0xF9,
2683         0xD1, 0xB8, 0xDA, 0xA8, 0x88, 0x9E, 0xD0, 0x64,
2684         0x68, 0xD8, 0xA8, 0x84, 0x98, 0xD0, 0xF7, 0x7E,
2685         0xF0, 0xB2, 0xB6, 0xBA, 0x85, 0x91, 0xA7, 0x24,
2686         0x70, 0x59, 0x44, 0x69, 0x38, 0x64, 0x48, 0x31,
2687         0x2D, 0x51, 0x79, 0x87, 0xF1, 0xA1, 0x00, 0x2C,
2688         0x54, 0x7C, 0xF0, 0x81, 0xA7, 0x04, 0x28, 0x50,
2689         0x78, 0xFD, 0x7F, 0xF1, 0xA7, 0x87, 0x96, 0x59,
2690         0x91, 0xA1, 0x02, 0x0E, 0x16, 0x1E, 0xF0, 0x84,
2691         0x91, 0xA7, 0x24, 0x70, 0x59, 0x44, 0x69, 0x38,
2692         0x64, 0x48, 0x31, 0x2D, 0x51, 0x79, 0xA2, 0x87,
2693         0x0D, 0x20, 0x59, 0x70, 0x15, 0x38, 0x40, 0x69,
2694         0xA4, 0xF1, 0x62, 0xF0, 0x19, 0x31, 0x48, 0xB8,
2695         0xB1, 0xB4, 0xF1, 0xA6, 0x80, 0xC6, 0xF4, 0xB0,
2696         0x81, 0xF3, 0xA7, 0xC6, 0xB1, 0x8F, 0x97, 0xF7,
2697         0x02, 0xF9, 0xDA, 0xF4, 0x0B, 0xB9, 0xD8, 0xB0,
2698         0xF7, 0xA7, 0x88, 0x9F, 0x52, 0xF9, 0xD9, 0xF4,
2699         0x0B, 0xB2, 0xD8, 0xF1, 0xB2, 0xB6, 0xA6, 0x82,
2700         0x92, 0x2A, 0xF0, 0x50, 0xFD, 0x08, 0xF1, 0xA7,
2701         0x84, 0x94, 0x02, 0xFD, 0x08, 0xB0, 0xB4, 0x86,
2702         0x97, 0x00, 0xB1, 0xBA, 0xA7, 0x81, 0x61, 0xD9,
2703         0xF4, 0x0B, 0xEF, 0xD8, 0xF1, 0x41, 0xDA, 0xF4,
2704         0x0B, 0xEF, 0xD8, 0xF1, 0xB8, 0xB2, 0xA6, 0x82,
2705         0xC0, 0xD8, 0xF1, 0xB0, 0xB6, 0x86, 0x92, 0xA7,
2706         0x16, 0xFD, 0x04, 0x0F, 0xFD, 0x04, 0xF0, 0xBA,
2707         0x87, 0x91, 0xA7, 0x24, 0x58, 0x3D, 0x40, 0x34,
2708         0x49, 0x2D, 0x51, 0xB2, 0x87, 0xF1, 0xA1, 0x00,
2709         0x2C, 0x54, 0x7C, 0xF0, 0x81, 0xA7, 0x04, 0x28,
2710         0x50, 0x78, 0xFD, 0x7F, 0xF1, 0xA7, 0x87, 0x96,
2711         0x59, 0x91, 0xA1, 0x02, 0x0E, 0x16, 0x1E, 0xD8,
2712         0xF7, 0xB0, 0xB4, 0xBA, 0x88, 0x9E, 0xA7, 0x6A,
2713         0xF9, 0xD9, 0xF4, 0x0D, 0x2D, 0xD8, 0xF3, 0xB6,
2714         /* bank 12: 0x0C00 */
2715         0x90, 0xFC, 0xC2, 0x00, 0xD9, 0xF4, 0x0D, 0x1D,
2716         0xD8, 0xF0, 0xB1, 0xB5, 0x8A, 0x9A, 0xA7, 0x2C,
2717         0x50, 0x78, 0xF2, 0xA5, 0xDE, 0xF8, 0xF8, 0xF1,
2718         0xB5, 0xB2, 0xA7, 0x87, 0x90, 0x21, 0xDB, 0xB6,
2719         0xB1, 0x80, 0x97, 0x29, 0xD9, 0xF2, 0xA5, 0xF8,
2720         0xD8, 0xB2, 0xB6, 0xA8, 0x80, 0x91, 0xF0, 0x0C,
2721         0x31, 0x14, 0x28, 0x1C, 0x20, 0x04, 0x39, 0xB9,
2722         0xB1, 0x8A, 0x98, 0xA6, 0x24, 0x70, 0x59, 0x44,
2723         0x69, 0x38, 0x64, 0x48, 0x31, 0x2D, 0x51, 0x79,
2724         0xBE, 0xB8, 0xA6, 0x86, 0x0D, 0x20, 0x59, 0x70,
2725         0x15, 0x38, 0x40, 0x69, 0x1D, 0x31, 0x48, 0x60,
2726         0xBE, 0xBE, 0xBC, 0xB0, 0x86, 0xA7, 0xD0, 0xC3,
2727         0xBA, 0xA7, 0x85, 0x98, 0x04, 0x28, 0x50, 0x78,
2728         0xF1, 0x84, 0x97, 0x29, 0xD9, 0xBE, 0xB8, 0xA5,
2729         0x8D, 0x98, 0x20, 0x2C, 0x34, 0x3C, 0xBE, 0xBE,
2730         0xBA, 0xAA, 0xDE, 0xDF, 0xF8, 0xF4, 0x0C, 0x8D,
2731         0xD8, 0xF1, 0xBA, 0xAA, 0xF8, 0xA7, 0x84, 0x9A,
2732         0x01, 0xD9, 0xAA, 0xDF, 0xF8, 0xD8, 0xF1, 0xBC,
2733         0xBC, 0x9A, 0xFC, 0xC1, 0x04, 0xD9, 0xAA, 0xFB,
2734         0xA6, 0xB2, 0x89, 0x96, 0x42, 0xB4, 0x97, 0xF0,
2735         0x78, 0xA7, 0x86, 0xF1, 0x38, 0xFD, 0x01, 0xB6,
2736         0x97, 0x01, 0xA6, 0xD0, 0xB6, 0x9A, 0x52, 0x87,
2737         0xF0, 0x18, 0xD8, 0xB2, 0xB6, 0xBA, 0xF1, 0xA9,
2738         0x89, 0x90, 0x1A, 0xB0, 0x87, 0x99, 0x60, 0xB8,
2739         0xA7, 0xD0, 0xFD, 0x42, 0xBA, 0xB2, 0xBD, 0xB4,
2740         0xA7, 0x83, 0x96, 0x2D, 0x55, 0x7D, 0xBE, 0xBB,
2741         0xF2, 0xA0, 0xD0, 0xFA, 0xF9, 0xD1, 0xF1, 0xBE,
2742         0xBE, 0xBA, 0xD9, 0xA3, 0x86, 0x96, 0x2C, 0x34,
2743         0x3C, 0xD8, 0xBD, 0xBD, 0xB6, 0xA7, 0x87, 0x97,
2744         0xF5, 0x2C, 0x54, 0x7C, 0xF1, 0xA7, 0x30, 0x18,
2745         0xA7, 0x99, 0x0D, 0xB8, 0xD9, 0xA7, 0xD0, 0xDF,
2746         0xD8, 0xA7, 0xD0, 0xFA, 0xF9, 0xD1, 0xBA, 0xB0,
2747         /* bank 13: 0x0D00 */
2748         0xB6, 0xDA, 0xA7, 0x87, 0x90, 0x6A, 0x66, 0xB2,
2749         0xA0, 0x87, 0x01, 0x2C, 0xF0, 0xA7, 0x80, 0x90,
2750         0x04, 0x28, 0xFD, 0x7F, 0xF1, 0xA7, 0x87, 0x96,
2751         0x59, 0x90, 0xA0, 0x02, 0x0E, 0xD8, 0xF0, 0xBA,
2752         0xB2, 0xB6, 0xA8, 0x80, 0x91, 0x0C, 0x31, 0x14,
2753         0x28, 0x1C, 0x20, 0x04, 0x39, 0xD8, 0xF7, 0xB8,
2754         0xB4, 0xB0, 0xA7, 0x9D, 0x88, 0x72, 0xF9, 0xBC,
2755         0xBD, 0xBE, 0xD9, 0xF4, 0x0E, 0x86, 0xD8, 0xF2,
2756         0xB8, 0xAD, 0xF8, 0xF9, 0xD1, 0xDA, 0xDE, 0xBA,
2757         0xA1, 0xDE, 0xAE, 0xDE, 0xF8, 0xD8, 0xF2, 0xB1,
2758         0xB5, 0xB9, 0xAE, 0xF9, 0xDA, 0xF4, 0x0E, 0x6D,
2759         0xD8, 0xF2, 0x8E, 0xC2, 0xF1, 0xB2, 0x80, 0x9A,
2760         0xF5, 0xAF, 0x24, 0xD9, 0xF4, 0x0E, 0x6D, 0xD8,
2761         0xF5, 0x44, 0xD9, 0xF4, 0x0E, 0x6D, 0xD8, 0xF5,
2762         0x64, 0xD9, 0xF4, 0x0E, 0x6D, 0xD8, 0xF1, 0xB1,
2763         0xB6, 0x8B, 0x90, 0xAF, 0x2D, 0x55, 0x7D, 0xB5,
2764         0x8C, 0x9F, 0xAD, 0x0E, 0x16, 0x1E, 0x8B, 0x9D,
2765         0xAB, 0x2C, 0x54, 0x7C, 0x8D, 0x9F, 0xAA, 0x2E,
2766         0x56, 0x7E, 0x8A, 0x9C, 0xAA, 0x2C, 0x54, 0x7C,
2767         0x9B, 0xAC, 0x26, 0x46, 0x66, 0xAF, 0x8D, 0x9D,
2768         0x00, 0x9C, 0x0D, 0xDB, 0x11, 0x8F, 0x19, 0xF4,
2769         0x0D, 0xAD, 0xD8, 0x0E, 0x6D, 0xD8, 0xF1, 0xB2,
2770         0x81, 0xB6, 0x90, 0xAF, 0x2D, 0x55, 0x7D, 0xB1,
2771         0x8F, 0xB5, 0x9F, 0xAF, 0xF5, 0x2C, 0x54, 0x7C,
2772         0xF1, 0xB2, 0x8C, 0x9F, 0xAD, 0x6D, 0xDB, 0x71,
2773         0x79, 0xF4, 0x0D, 0xDB, 0xD8, 0xF3, 0xBA, 0xA1,
2774         0xDE, 0xF8, 0xF1, 0x80, 0xA1, 0xC3, 0xC5, 0xC7,
2775         0xF4, 0x0D, 0xEA, 0xD8, 0xF3, 0xB6, 0xBA, 0x91,
2776         0xFC, 0xC0, 0x28, 0xDA, 0xA1, 0xF8, 0xD9, 0xF4,
2777         0x0E, 0x6D, 0xD8, 0xF3, 0xB9, 0xAE, 0xF8, 0xF9,
2778         0xD1, 0xD9, 0xF8, 0xF4, 0x0E, 0x6D, 0xD8, 0xF1,
2779         0xBA, 0xB1, 0xB5, 0xA0, 0x8B, 0x9E, 0x34, 0xFD,
2780         /* bank 14: 0x0E00 */
2781         0x36, 0x54, 0xFD, 0x36, 0x74, 0xFD, 0x36, 0xB2,
2782         0xB6, 0xA3, 0x87, 0xC0, 0xC3, 0xC5, 0xC7, 0xA2,
2783         0x88, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4, 0x86, 0xC0,
2784         0xC3, 0xC5, 0xC7, 0xA5, 0x85, 0xC4, 0xC7, 0xAC,
2785         0x8D, 0xC0, 0xF3, 0xAE, 0xDE, 0xF8, 0xF4, 0x11,
2786         0x66, 0xD8, 0xF1, 0xA7, 0x83, 0xC0, 0xC3, 0xC5,
2787         0xC7, 0xA8, 0x82, 0xC0, 0xC3, 0xC5, 0xC7, 0xA6,
2788         0x84, 0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x85, 0xD0,
2789         0xC0, 0xC3, 0x8D, 0x9D, 0xAF, 0x39, 0xD9, 0xF4,
2790         0x0E, 0x6D, 0xD8, 0xF1, 0x83, 0xB5, 0x9E, 0xAE,
2791         0x34, 0xFD, 0x0A, 0x54, 0xFD, 0x0A, 0x74, 0xFD,
2792         0x0A, 0xF2, 0xAF, 0xDE, 0xF8, 0xF8, 0xF8, 0xB6,
2793         0x81, 0x9F, 0x05, 0xF8, 0xF9, 0xD1, 0xDA, 0x8F,
2794         0xA1, 0xC0, 0xF4, 0x0E, 0x74, 0xD8, 0xF2, 0xBA,
2795         0xAE, 0xF8, 0xF9, 0xD1, 0xDA, 0xF3, 0xBE, 0xBE,
2796         0xBC, 0xBC, 0xBD, 0xBD, 0xB8, 0xB0, 0xB4, 0xA5,
2797         0x85, 0x9C, 0x08, 0xBE, 0xBC, 0xBD, 0xD8, 0xF7,
2798         0xBC, 0xBC, 0xBD, 0xBD, 0xBB, 0xB4, 0xB0, 0xAF,
2799         0x9E, 0x88, 0x62, 0xF9, 0xBC, 0xBD, 0xD9, 0xF4,
2800         0x10, 0xE9, 0xD8, 0xF1, 0xBC, 0xBC, 0xB1, 0x85,
2801         0xBA, 0xA0, 0xC1, 0xC3, 0xC5, 0xBC, 0xB6, 0xA0,
2802         0x8E, 0x90, 0x4C, 0xFD, 0x3B, 0x54, 0xFD, 0x3B,
2803         0x5C, 0xFD, 0x3B, 0xB9, 0xB3, 0xB6, 0xF1, 0xAF,
2804         0x81, 0x2D, 0x55, 0x7D, 0xB1, 0xB5, 0xAF, 0x8F,
2805         0x9F, 0xF5, 0x2C, 0x54, 0x7C, 0xF1, 0xBB, 0xAF,
2806         0x86, 0x9F, 0x69, 0xDB, 0x71, 0x79, 0xDA, 0xF3,
2807         0xA0, 0xDF, 0xF8, 0xD8, 0xB3, 0xB7, 0xF2, 0xA1,
2808         0xF8, 0xF9, 0xD1, 0xF1, 0xDB, 0x8C, 0x9B, 0xAF,
2809         0x19, 0xAC, 0xDE, 0xF3, 0xA0, 0xDF, 0xF8, 0xD8,
2810         0xAF, 0x80, 0x90, 0x69, 0xD9, 0xA0, 0xFA, 0xF1,
2811         0xB2, 0x80, 0xA1, 0xC3, 0xC5, 0xC7, 0xF2, 0xA0,
2812         0xD0, 0xDF, 0xF8, 0xF4, 0x10, 0xD3, 0xD8, 0xF2,
2813         /* bank 15: 0x0F00 */
2814         0xA0, 0xD0, 0xDF, 0xF1, 0xBC, 0xBC, 0xB1, 0xAD,
2815         0x8A, 0x9E, 0x26, 0x46, 0x66, 0xBC, 0xB3, 0xB3,
2816         0xAD, 0x8D, 0x9D, 0xF5, 0x2C, 0x54, 0x7C, 0xF3,
2817         0xA2, 0xDE, 0xF8, 0xF4, 0x10, 0xF4, 0xD8, 0xF1,
2818         0xAA, 0x8D, 0xC1, 0xF2, 0xA1, 0xF8, 0xF9, 0xD1,
2819         0xDA, 0xF4, 0x0F, 0x52, 0xD8, 0xF1, 0xAF, 0x8A,
2820         0x9A, 0x21, 0x8F, 0x9F, 0xF5, 0x00, 0xF1, 0x80,
2821         0x41, 0xD9, 0xF4, 0x0F, 0x52, 0xD8, 0xF1, 0x91,
2822         0xFC, 0xC0, 0x04, 0xD9, 0xF4, 0x0F, 0x99, 0xD8,
2823         0xF3, 0xA1, 0xDE, 0xF8, 0xA0, 0xDF, 0xF8, 0xF4,
2824         0x10, 0xD3, 0xF3, 0x91, 0xFC, 0xC0, 0x07, 0xD9,
2825         0xF4, 0x0F, 0x99, 0xD8, 0xF1, 0xAF, 0xB1, 0x84,
2826         0x9C, 0x01, 0xB3, 0xB5, 0x80, 0x97, 0xDB, 0xF3,
2827         0x21, 0xB9, 0xA7, 0xD9, 0xF8, 0xF4, 0x0F, 0x99,
2828         0xD8, 0xF3, 0xB9, 0xA7, 0xDE, 0xF8, 0xBB, 0xF1,
2829         0xA3, 0x87, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4, 0x88,
2830         0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x89, 0xC0, 0xC3,
2831         0xC5, 0xC7, 0xA6, 0x86, 0xC4, 0xC7, 0xA1, 0x82,
2832         0xC3, 0xC5, 0xC7, 0xF3, 0xA1, 0xDE, 0xF4, 0x10,
2833         0xE9, 0xD8, 0xF1, 0xBB, 0xB3, 0xB7, 0xA1, 0xF8,
2834         0xF9, 0xD1, 0xDA, 0xF2, 0xA0, 0xD0, 0xDF, 0xF8,
2835         0xD8, 0xF1, 0xB9, 0xB1, 0xB6, 0xA8, 0x87, 0x90,
2836         0x2D, 0x55, 0x7D, 0xF5, 0xB5, 0xA8, 0x88, 0x98,
2837         0x2C, 0x54, 0x7C, 0xF1, 0xAF, 0x86, 0x98, 0x29,
2838         0xDB, 0x31, 0x39, 0xF4, 0x10, 0xE9, 0xD8, 0xF1,
2839         0xB3, 0xB6, 0xA7, 0x8A, 0x90, 0x4C, 0x54, 0x5C,
2840         0xBA, 0xA0, 0x81, 0x90, 0x2D, 0x55, 0x7D, 0xBB,
2841         0xF2, 0xA2, 0xF8, 0xF9, 0xD1, 0xDA, 0xDE, 0xF4,
2842         0x10, 0xE9, 0xD8, 0xF1, 0xBA, 0xB3, 0xA3, 0x83,
2843         0xC0, 0xC3, 0xC5, 0xC7, 0xA2, 0x84, 0xC0, 0xC3,
2844         0xC5, 0xC7, 0xA4, 0x85, 0xC0, 0xC3, 0xC5, 0xC7,
2845         0xA5, 0x86, 0xC0, 0xC3, 0xAC, 0x8C, 0xC2, 0xF3,
2846         /* bank 16: 0x1000 */
2847         0xAE, 0xDE, 0xF8, 0xF8, 0xF4, 0x11, 0x66, 0xD8,
2848         0xF1, 0xB2, 0xBB, 0xA3, 0x83, 0xC0, 0xC3, 0xC5,
2849         0xC7, 0xA4, 0x82, 0xC0, 0xC3, 0xC5, 0xC7, 0xA5,
2850         0x84, 0xC0, 0xC3, 0xC5, 0xC7, 0xA6, 0x85, 0xC0,
2851         0xC3, 0xAC, 0x8C, 0xC4, 0xB3, 0xB7, 0xAF, 0x85,
2852         0x95, 0x56, 0xFD, 0x0F, 0x86, 0x96, 0x06, 0xFD,
2853         0x0F, 0xF0, 0x84, 0x9F, 0xAF, 0x4C, 0x70, 0xFD,
2854         0x0F, 0xF1, 0x86, 0x96, 0x2E, 0xFD, 0x0F, 0x84,
2855         0x9F, 0x72, 0xFD, 0x0F, 0xDF, 0xAF, 0x2C, 0x54,
2856         0x7C, 0xAF, 0x8C, 0x69, 0xDB, 0x71, 0x79, 0x8B,
2857         0x9C, 0x61, 0xF4, 0x10, 0x58, 0xDA, 0x10, 0xE9,
2858         0xD8, 0xF1, 0xAB, 0x83, 0x91, 0x28, 0xFD, 0x05,
2859         0x54, 0xFD, 0x05, 0x7C, 0xFD, 0x05, 0xB8, 0xBD,
2860         0xBD, 0xB5, 0xA3, 0x8B, 0x95, 0x05, 0x2D, 0x55,
2861         0xBD, 0xB4, 0xBB, 0xAD, 0x8E, 0x93, 0x0E, 0x16,
2862         0x1E, 0xB7, 0xAD, 0x8D, 0x9D, 0xF5, 0x2C, 0x54,
2863         0x7C, 0xF3, 0xA2, 0xDE, 0xF8, 0xF8, 0xF4, 0x10,
2864         0xF4, 0xD8, 0xF2, 0xA1, 0xF8, 0xF9, 0xD1, 0xD9,
2865         0xF1, 0xAF, 0x8D, 0x9A, 0x01, 0xF5, 0x8F, 0x90,
2866         0xDB, 0x00, 0xF4, 0x10, 0xE9, 0xDA, 0xF1, 0xAA,
2867         0x8D, 0xC0, 0xAE, 0x8B, 0xC1, 0xC3, 0xC5, 0xBE,
2868         0xBE, 0xF3, 0xBA, 0xA2, 0xD0, 0xDF, 0xF8, 0xBE,
2869         0xBB, 0xF1, 0xA1, 0xDE, 0xA7, 0x83, 0xC0, 0xC3,
2870         0xC5, 0xC7, 0xA8, 0x84, 0xC0, 0xC3, 0xC5, 0xC7,
2871         0xA9, 0x85, 0xC0, 0xC3, 0xC5, 0xC7, 0xA6, 0x86,
2872         0xD0, 0xC0, 0xC3, 0xA2, 0x81, 0xC3, 0xC5, 0xC7,
2873         0xF4, 0x10, 0xE9, 0xF1, 0xBB, 0xB3, 0xA3, 0xDE,
2874         0xDF, 0xDF, 0xDF, 0xA4, 0x8C, 0xC4, 0xC5, 0xC5,
2875         0xC5, 0xA5, 0xDE, 0xDF, 0xDF, 0xDF, 0xA6, 0xDE,
2876         0xDF, 0xD8, 0xF3, 0xB9, 0xAE, 0xDF, 0xBA, 0xAE,
2877         0xDE, 0xBB, 0xA2, 0xDE, 0xD8, 0xF3, 0xA2, 0xF8,
2878         0xF9, 0xD1, 0xD9, 0xF4, 0x11, 0x64, 0xD8, 0xF1,
2879         /* bank 17: 0x1100 */
2880         0xAF, 0x8D, 0x9D, 0x49, 0xDA, 0xC3, 0xC5, 0xD9,
2881         0xC5, 0xC3, 0xD8, 0xAF, 0x9F, 0x69, 0xD0, 0xDA,
2882         0xC7, 0xD9, 0x8F, 0xC3, 0x8D, 0xAF, 0xC7, 0xD8,
2883         0xB9, 0xA9, 0x8F, 0x9F, 0xF0, 0x54, 0x78, 0xF1,
2884         0xFD, 0x0F, 0xA6, 0xB1, 0x89, 0xC2, 0xB3, 0xAF,
2885         0x8F, 0x9F, 0x2E, 0xFD, 0x11, 0xB1, 0xB5, 0xA9,
2886         0x89, 0x9F, 0x2C, 0xF3, 0xAE, 0xDF, 0xF8, 0xF8,
2887         0xF4, 0x13, 0x22, 0xD8, 0xF1, 0xAD, 0x86, 0x99,
2888         0x06, 0xFD, 0x10, 0xDF, 0xF8, 0xFD, 0x0F, 0xAD,
2889         0x8D, 0x9D, 0x4C, 0xBB, 0xB3, 0xAD, 0x8F, 0x9D,
2890         0x2A, 0xFD, 0x0F, 0xB7, 0x92, 0xFC, 0xC0, 0x04,
2891         0xD9, 0xF4, 0x0F, 0x1E, 0xD8, 0xFC, 0xC0, 0x08,
2892         0xD9, 0xF4, 0x10, 0x89, 0xD8, 0xF1, 0xD8, 0xF3,
2893         0xBA, 0xB2, 0xB6, 0xAE, 0xF8, 0xF9, 0xD1, 0xD9,
2894         0xF4, 0x13, 0x20, 0xD8, 0xF1, 0xAF, 0xDE, 0xF9,
2895         0xFD, 0x0F, 0x80, 0x90, 0x2C, 0x54, 0x7C, 0xA0,
2896         0x2A, 0xF0, 0x50, 0x78, 0xFD, 0x0F, 0xF1, 0xA2,
2897         0x82, 0x9C, 0x00, 0x24, 0x44, 0x64, 0xA9, 0x8F,
2898         0x94, 0xF0, 0x04, 0xFD, 0x0F, 0x0C, 0x30, 0xFD,
2899         0x0F, 0x1C, 0x95, 0x20, 0x48, 0xFD, 0x0F, 0xF1,
2900         0x99, 0xC1, 0x2C, 0x54, 0x7C, 0xAA, 0x82, 0x99,
2901         0x02, 0xFD, 0x0F, 0x2E, 0xFD, 0x0F, 0x56, 0xFD,
2902         0x0F, 0x7E, 0xFD, 0x0F, 0xAC, 0x83, 0x9F, 0xF0,
2903         0x04, 0x28, 0x50, 0x78, 0xFD, 0x0F, 0x8C, 0x90,
2904         0xF1, 0x21, 0xF5, 0x8C, 0x9C, 0x2C, 0xF1, 0xAB,
2905         0xDE, 0xF8, 0xFD, 0x0F, 0x8B, 0xC1, 0xAF, 0xDE,
2906         0xF1, 0x89, 0xAF, 0x9F, 0xFC, 0xC0, 0x00, 0xD9,
2907         0xC1, 0x8A, 0xC1, 0x82, 0xC1, 0xD8, 0xFC, 0xC0,
2908         0x04, 0xD9, 0xC3, 0x8A, 0xC3, 0x82, 0xC3, 0xD8,
2909         0xFC, 0xC0, 0x08, 0xD9, 0xC5, 0x8A, 0xC5, 0x82,
2910         0xC5, 0xD8, 0xFC, 0xC0, 0x0C, 0xD9, 0xC7, 0x8A,
2911         0xC7, 0x82, 0xC7, 0xD8, 0xFC, 0xC0, 0x10, 0xD9,
2912         /* bank 18: 0x1200 */
2913         0xF4, 0x12, 0xDA, 0xD8, 0xF1, 0x8B, 0xAB, 0xD0,
2914         0xC0, 0x9F, 0x2E, 0xFD, 0x0F, 0xA0, 0xDE, 0xAB,
2915         0xD0, 0x90, 0x65, 0xA0, 0x8F, 0x9F, 0x4A, 0xFD,
2916         0x0F, 0xAB, 0x8B, 0x90, 0x00, 0xB9, 0xA9, 0xC1,
2917         0xF3, 0xAE, 0xDF, 0xF8, 0xF4, 0x13, 0x22, 0xD8,
2918         0xF1, 0xBA, 0xB1, 0xB6, 0x89, 0xAB, 0xC1, 0xB2,
2919         0xAF, 0xD0, 0x8B, 0x9F, 0x3E, 0xFD, 0x0F, 0x5A,
2920         0xFD, 0x0F, 0x9F, 0xFC, 0xC0, 0x00, 0xD9, 0xF1,
2921         0x8F, 0xA2, 0xC6, 0xD8, 0xFC, 0xC0, 0x04, 0xD9,
2922         0x8F, 0xA2, 0xC7, 0x84, 0xAB, 0xD0, 0xC0, 0xAF,
2923         0x8A, 0x9B, 0x1E, 0xFD, 0x0F, 0x36, 0xFD, 0x0F,
2924         0xA4, 0x8F, 0x30, 0xAA, 0x9A, 0x40, 0xD8, 0x9F,
2925         0xFC, 0xC0, 0x08, 0xD9, 0x8F, 0xA2, 0xD0, 0xC6,
2926         0x84, 0xAB, 0xD0, 0xC2, 0xAF, 0x8A, 0x9B, 0x1E,
2927         0xFD, 0x0F, 0x56, 0xFD, 0x0F, 0xA4, 0x8F, 0x34,
2928         0xAA, 0x9A, 0x40, 0x84, 0xAB, 0xD0, 0xC4, 0xAF,
2929         0x8A, 0x9B, 0x3E, 0xFD, 0x0F, 0x56, 0xFD, 0x0F,
2930         0xA4, 0xD0, 0x8F, 0x30, 0xAA, 0x9A, 0x4C, 0xD8,
2931         0x9F, 0xFC, 0xC0, 0x0C, 0xD9, 0x8F, 0xA2, 0xD0,
2932         0xC7, 0x84, 0xAB, 0xD0, 0xC6, 0xAF, 0x8A, 0x9B,
2933         0x1E, 0xFD, 0x0F, 0x76, 0xFD, 0x0F, 0xA4, 0xD0,
2934         0x8F, 0x34, 0xAA, 0x9A, 0x40, 0x85, 0xAB, 0xD0,
2935         0xC0, 0xAF, 0x8A, 0x9B, 0x3E, 0xFD, 0x0F, 0x76,
2936         0xFD, 0x0F, 0xA5, 0x8F, 0x30, 0xAA, 0x9A, 0x4C,
2937         0x85, 0xAB, 0xD0, 0xC2, 0xAF, 0x8A, 0x9B, 0x5E,
2938         0xFD, 0x0F, 0x76, 0xFD, 0x0F, 0xA5, 0x8F, 0x34,
2939         0xAA, 0xD0, 0x9A, 0x50, 0xD8, 0xAF, 0xF8, 0xF4,
2940         0x11, 0xD0, 0xF1, 0xD8, 0x8B, 0x9C, 0xAF, 0x2A,
2941         0xFD, 0x0F, 0x8A, 0x9F, 0xB9, 0xAF, 0x02, 0xFD,
2942         0x0F, 0x26, 0xFD, 0x0F, 0x46, 0xFD, 0x0F, 0x66,
2943         0xFD, 0x0F, 0x83, 0xB5, 0x9F, 0xBA, 0xA3, 0x00,
2944         0x2C, 0x54, 0x7C, 0xB6, 0x82, 0x92, 0xA0, 0x31,
2945         /* bank 19: 0x1300 */
2946         0xD9, 0xAD, 0xC3, 0xDA, 0xAD, 0xC5, 0xD8, 0x8D,
2947         0xA0, 0x39, 0xDA, 0x82, 0xAD, 0xC7, 0xD8, 0xF3,
2948         0x9E, 0xFC, 0xC0, 0x04, 0xD9, 0xF4, 0x0E, 0x29,
2949         0xD8, 0xFC, 0xC0, 0x08, 0xD9, 0xF4, 0x10, 0x07,
2950         0xD8, 0xF1, 0xD8, 0xF1, 0xB9, 0xB1, 0xB5, 0xA9,
2951         0xDE, 0xF8, 0x89, 0x99, 0xAF, 0x31, 0xD9, 0xF4,
2952         0x13, 0x76, 0xD8, 0xF1, 0x85, 0xAF, 0x29, 0xD9,
2953         0x84, 0xA9, 0xC2, 0xD8, 0x85, 0xAF, 0x49, 0xD9,
2954         0x84, 0xA9, 0xC4, 0xD8, 0x85, 0xAF, 0x69, 0xD9,
2955         0x84, 0xA9, 0xC6, 0xD8, 0x89, 0xAF, 0x39, 0xDA,
2956         0x8E, 0xA9, 0x50, 0xF4, 0x13, 0x76, 0xD8, 0xF1,
2957         0x89, 0xAA, 0x7C, 0xFD, 0x02, 0x9A, 0x68, 0xD8,
2958         0xF1, 0xAA, 0xFB, 0xDA, 0x89, 0x99, 0xAF, 0x26,
2959         0xFD, 0x0F, 0x8F, 0x95, 0x25, 0x89, 0x9F, 0xA9,
2960         0x12, 0xFD, 0x0F, 0xF4, 0x13, 0x5F, 0xD8, 0xF3,
2961         0x9E, 0xFC, 0xC1, 0x04, 0xD9, 0xF4, 0x12, 0x27,
2962         0xD8, 0xFC, 0xC1, 0x08, 0xD9, 0xF4, 0x11, 0x3B,
2963         0xD8, 0xF1, 0xBE, 0xBC, 0xBC, 0xBD, 0xBD, 0xF7,
2964         0xB8, 0xB4, 0xB0, 0xAC, 0x84, 0x9D, 0x12, 0xF9,
2965         0xF2, 0xBC, 0xBC, 0x8A, 0xA7, 0xD0, 0xD9, 0xC3,
2966         0xDA, 0xC5, 0xD8, 0xBC, 0xBD, 0xBD, 0xF3, 0x8F,
2967         0xA8, 0xC0, 0xF9, 0xAC, 0x84, 0x97, 0xF5, 0x1A,
2968         0xF1, 0xF8, 0xF9, 0xD1, 0xDA, 0xA8, 0xDE, 0xD8,
2969         0x95, 0xFC, 0xC1, 0x03, 0xD9, 0xA8, 0xDE, 0xD8,
2970         0xBC, 0xBC, 0xF1, 0x98, 0xFC, 0xC0, 0x1C, 0xDB,
2971         0x95, 0xFC, 0xC0, 0x03, 0xA5, 0xDE, 0xA4, 0xDE,
2972         0xD8, 0xAC, 0x88, 0x95, 0x00, 0xD1, 0xD9, 0xA5,
2973         0xF8, 0xD8, 0xA4, 0xFC, 0x80, 0x04, 0x88, 0x95,
2974         0xA4, 0xFC, 0x08, 0x04, 0x20, 0xF7, 0xBC, 0xBD,
2975         0xB5, 0xAC, 0x84, 0x9F, 0xF6, 0x02, 0xF8, 0xF9,
2976         0xD1, 0xDB, 0x84, 0x93, 0xF7, 0x6A, 0xF9, 0xD9,
2977         0xF3, 0xBC, 0xBC, 0xA8, 0x88, 0x92, 0x18, 0xBC,
2978         /* bank 20: 0x1400 */
2979         0xD8, 0xBC, 0xBC, 0xB4, 0xA8, 0x88, 0x9E, 0x08,
2980         0xF4, 0xBE, 0xA1, 0xD0, 0xC1, 0xBC, 0xF7, 0xBE,
2981         0xBE, 0xB5, 0xAC, 0x84, 0x93, 0x6A, 0xF9, 0xBD,
2982         0xBD, 0xB4, 0xD9, 0xF2, 0xAC, 0x8C, 0x97, 0x18,
2983         0xF6, 0x84, 0x9C, 0x02, 0xF8, 0xF9, 0xDB, 0xD1,
2984         0xF1, 0xA3, 0xDE, 0xA5, 0xDF, 0xD8, 0xF7, 0xBE,
2985         0xBD, 0xA7, 0x9D, 0x88, 0x7A, 0xF9, 0xD9, 0xF4,
2986         0x15, 0x9B, 0xD8, 0xF1, 0xBE, 0xBE, 0xBD, 0xBD,
2987         0xBC, 0xBC, 0x93, 0xA3, 0xFC, 0xC0, 0x08, 0xD9,
2988         0xDE, 0xD8, 0x95, 0xFC, 0xC0, 0x08, 0xD9, 0xA5,
2989         0xDF, 0xF8, 0xD8, 0x95, 0xFC, 0xC1, 0x04, 0xDB,
2990         0xFC, 0xC0, 0x04, 0xA3, 0xDE, 0xD8, 0x93, 0xFC,
2991         0xC0, 0x04, 0xDA, 0xF4, 0x15, 0x46, 0xD8, 0xF1,
2992         0xAC, 0x82, 0x96, 0x2D, 0x55, 0x7D, 0x8C, 0x9C,
2993         0x34, 0x18, 0xF5, 0xAC, 0x95, 0x1C, 0xD9, 0xF1,
2994         0xA3, 0xDE, 0xA5, 0xDF, 0xF4, 0x15, 0x46, 0xD8,
2995         0xF7, 0xBC, 0xBD, 0xAC, 0x88, 0x9F, 0x56, 0xF9,
2996         0xBC, 0xBC, 0xBD, 0xBD, 0xD9, 0xF4, 0x14, 0xAB,
2997         0xD8, 0xF1, 0xAC, 0x83, 0x90, 0x45, 0xF9, 0xD9,
2998         0xA0, 0xF8, 0xAC, 0x8C, 0x9C, 0x06, 0xD2, 0xA1,
2999         0x91, 0x00, 0x2C, 0x87, 0xD4, 0xF0, 0xA7, 0x8C,
3000         0x9C, 0x20, 0xD3, 0xD8, 0xF3, 0xBD, 0x98, 0xFC,
3001         0xC0, 0x04, 0xBD, 0xBD, 0xD9, 0xF1, 0xAC, 0x83,
3002         0x98, 0x49, 0xDB, 0xF9, 0xD9, 0xA8, 0xFA, 0xA4,
3003         0x84, 0x90, 0x2C, 0x54, 0x7C, 0xD8, 0xA0, 0x83,
3004         0x93, 0xFC, 0x08, 0x04, 0x20, 0xFC, 0xC0, 0x08,
3005         0xDA, 0xF4, 0x15, 0x46, 0xD8, 0xF1, 0xAC, 0x81,
3006         0x91, 0x02, 0xFD, 0x17, 0x87, 0xD4, 0xFD, 0x47,
3007         0xF0, 0x81, 0x09, 0x09, 0x09, 0x9C, 0x00, 0x00,
3008         0xF1, 0x93, 0xFC, 0x4C, 0x08, 0x00, 0xD8, 0xA9,
3009         0x82, 0x96, 0x01, 0x93, 0xFC, 0xC0, 0x08, 0xDB,
3010         0x95, 0xFC, 0xC1, 0x00, 0xA3, 0xDE, 0xAC, 0x89,
3011         /* bank 21: 0x1500 */
3012         0x93, 0xF5, 0x18, 0xF1, 0xA5, 0xDF, 0xF8, 0xD8,
3013         0xF1, 0x83, 0xAC, 0xC4, 0xF8, 0x8C, 0x93, 0xA8,
3014         0xFC, 0x30, 0x08, 0x10, 0xFC, 0xC0, 0x08, 0xDB,
3015         0x95, 0xFC, 0xC1, 0x04, 0xD9, 0xA3, 0xDE, 0xA5,
3016         0xDF, 0xA4, 0x84, 0x34, 0xFD, 0x08, 0x54, 0xFD,
3017         0x08, 0x74, 0xFD, 0x08, 0xA9, 0x94, 0xF5, 0x2C,
3018         0x54, 0x7C, 0xF1, 0xDB, 0xAC, 0x87, 0x99, 0x49,
3019         0x51, 0x59, 0x84, 0xAB, 0xC3, 0xC5, 0xC7, 0x82,
3020         0xA6, 0xC0, 0xF3, 0xAA, 0xDF, 0xF8, 0xF1, 0xD8,
3021         0x93, 0xFC, 0xC0, 0x00, 0xD9, 0x86, 0xA2, 0xC3,
3022         0xC5, 0xC7, 0xA3, 0xDE, 0xF8, 0xA0, 0xDE, 0xA1,
3023         0xDE, 0xDF, 0xA7, 0xDE, 0xDF, 0xA8, 0xDF, 0xA4,
3024         0xDF, 0xDF, 0xDF, 0xD8, 0xF1, 0x9A, 0xFC, 0xC1,
3025         0x04, 0xD9, 0xAC, 0x82, 0x96, 0x01, 0xF3, 0x81,
3026         0xAA, 0xC4, 0xDB, 0xF5, 0xAC, 0x8C, 0x9A, 0x18,
3027         0xF3, 0xAA, 0xF9, 0xD8, 0xAC, 0x8A, 0x9A, 0x41,
3028         0xD1, 0xAA, 0xD0, 0xC0, 0xD9, 0xF2, 0xAC, 0x85,
3029         0x9A, 0x41, 0xDB, 0xD1, 0xBC, 0xBD, 0xBE, 0xF4,
3030         0x15, 0x9B, 0xD8, 0xF3, 0xBC, 0xBD, 0xBE, 0xA5,
3031         0x85, 0x9C, 0x10, 0xD8, 0xF1, 0xBA, 0xB2, 0xB6,
3032         0xF3, 0x92, 0xFC, 0xC3, 0x07, 0xD9, 0xF2, 0xA5,
3033         0xDE, 0xD8, 0xF2, 0xA7, 0x82, 0x95, 0x65, 0xD1,
3034         0x85, 0xA2, 0xD0, 0xC1, 0xD9, 0xB5, 0xA7, 0x86,
3035         0x93, 0x31, 0xDB, 0xD1, 0xF4, 0x15, 0xC8, 0xD8,
3036         0xF3, 0xB8, 0xB0, 0xB4, 0xA5, 0x85, 0x9C, 0x18,
3037         0xD8, 0xF1, 0xBA, 0xB2, 0xB6, 0x81, 0x96, 0xA1,
3038         0xF8, 0xF9, 0xB9, 0xA6, 0xDA, 0xC3, 0xC5, 0xC7,
3039         0xD9, 0x2D, 0x4D, 0x6D, 0xD8, 0xBA, 0x88, 0xA8,
3040         0xF8, 0xF9, 0xA7, 0xDA, 0xC3, 0xC5, 0xC7, 0xD9,
3041         0x2D, 0x4D, 0x6D, 0xD8, 0xF2, 0xB0, 0xB9, 0xA3,
3042         0xFA, 0xF9, 0xD1, 0xDA, 0xB8, 0x8F, 0xA7, 0xC0,
3043         0xF9, 0xB5, 0x87, 0x93, 0xF6, 0x0A, 0xF2, 0xB4,
3044         /* bank 22: 0x1600 */
3045         0xA4, 0x84, 0x97, 0x24, 0xA4, 0x84, 0x9E, 0x3C,
3046         0xD8, 0xF7, 0xB9, 0xB0, 0xB5, 0xA6, 0x88, 0x95,
3047         0x5A, 0xF9, 0xDA, 0xF1, 0xAB, 0xF8, 0xD8, 0xB8,
3048         0xB4, 0xF3, 0x98, 0xFC, 0xC0, 0x04, 0xDA, 0xF4,
3049         0x16, 0x72, 0xD8, 0xF2, 0xA9, 0xD0, 0xF8, 0x89,
3050         0x9B, 0xA7, 0x51, 0xD9, 0xA9, 0xD0, 0xDE, 0xA4,
3051         0x84, 0x9E, 0x2C, 0xD8, 0xA8, 0xFA, 0x88, 0x9A,
3052         0xA7, 0x29, 0xD9, 0xA8, 0xDF, 0xA4, 0x84, 0x9D,
3053         0x34, 0xD8, 0xA8, 0xD0, 0xF8, 0x88, 0x9A, 0xA7,
3054         0x51, 0xD9, 0xA8, 0xD0, 0xDE, 0xA4, 0x84, 0x9D,
3055         0x2C, 0xD8, 0xA8, 0xD0, 0xFA, 0x88, 0x9A, 0xA7,
3056         0x79, 0xD9, 0xA8, 0xD0, 0xDF, 0xA4, 0x84, 0x9D,
3057         0x24, 0xD8, 0xF3, 0xA9, 0xD0, 0xF8, 0x89, 0x9B,
3058         0xA7, 0x51, 0xD9, 0xA9, 0xD0, 0xDE, 0xA4, 0x84,
3059         0x9C, 0x2C, 0xD8, 0xF7, 0xA7, 0x88, 0x9F, 0x52,
3060         0xF9, 0xD9, 0xF4, 0x16, 0xAF, 0xD8, 0xF1, 0xB9,
3061         0xA2, 0xFA, 0xF3, 0xB8, 0xA9, 0xD0, 0xFA, 0x89,
3062         0x9B, 0xA7, 0x79, 0xD9, 0xA9, 0xD0, 0xDF, 0xA4,
3063         0x84, 0x9C, 0x24, 0xD8, 0xA7, 0x84, 0x9D, 0xF7,
3064         0x12, 0xF9, 0xD9, 0xF4, 0x16, 0xAF, 0xD8, 0xF2,
3065         0xA8, 0xD0, 0xF8, 0x88, 0x9A, 0xA7, 0x51, 0xD9,
3066         0xA8, 0xD0, 0xDE, 0xA4, 0x84, 0x9D, 0x2C, 0xD8,
3067         0xF7, 0xA7, 0x88, 0x9F, 0x42, 0xF9, 0xD9, 0xF4,
3068         0x16, 0xF6, 0xD8, 0xF3, 0xA9, 0xF8, 0x89, 0x9B,
3069         0xA7, 0x01, 0xD9, 0xA9, 0xDE, 0xA4, 0x84, 0x9C,
3070         0x3C, 0xD8, 0xA9, 0xFA, 0x89, 0x9B, 0xA7, 0x29,
3071         0xD9, 0xA9, 0xDF, 0xA4, 0x84, 0x9C, 0x34, 0xD8,
3072         0xF2, 0xA9, 0xFA, 0x89, 0x9B, 0xA7, 0x29, 0xD9,
3073         0xA9, 0xDF, 0xA4, 0x84, 0x9E, 0x34, 0xD8, 0xA9,
3074         0xD0, 0xFA, 0x89, 0x9B, 0xA7, 0x79, 0xD9, 0xA9,
3075         0xD0, 0xDF, 0xA4, 0x84, 0x9E, 0x24, 0xD8, 0xF2,
3076         0xA4, 0x84, 0x9D, 0x3C, 0xF1, 0xA7, 0xDE, 0xF2,
3077         /* bank 23: 0x1700 */
3078         0x84, 0xCA, 0x97, 0xA4, 0x24, 0xA5, 0x94, 0xF6,
3079         0x0A, 0xF7, 0x85, 0x02, 0xF8, 0xF9, 0xD1, 0xD9,
3080         0xF6, 0x9B, 0x02, 0xD8, 0xA7, 0xB1, 0x80, 0x95,
3081         0x42, 0xF8, 0xF9, 0xD1, 0xD9, 0xF4, 0x18, 0x6A,
3082         0xD8, 0xF0, 0xB0, 0x85, 0xA4, 0xD0, 0xC0, 0xDD,
3083         0xF2, 0xC0, 0xDC, 0xF6, 0xA7, 0x9F, 0x02, 0xF9,
3084         0xD9, 0xF3, 0xA5, 0xDE, 0xDA, 0xF0, 0xDD, 0xF2,
3085         0xC8, 0xDC, 0xD8, 0x85, 0x95, 0xA5, 0x00, 0xD9,
3086         0x86, 0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC,
3087         0xD8, 0xF2, 0x85, 0x00, 0xD9, 0x80, 0xF0, 0xDD,
3088         0xF2, 0xCC, 0xC6, 0xCE, 0xDC, 0xD8, 0x85, 0x00,
3089         0xD9, 0xB1, 0x89, 0xF0, 0xDD, 0xF2, 0xC2, 0xCA,
3090         0xC4, 0xDC, 0xD8, 0xB0, 0x85, 0x00, 0xD9, 0x81,
3091         0xF0, 0xDD, 0xF2, 0xC6, 0xCE, 0x82, 0xC0, 0xC8,
3092         0xDC, 0xD8, 0x85, 0x00, 0xB1, 0xD9, 0x86, 0xF0,
3093         0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8, 0xB0,
3094         0xF2, 0x85, 0x00, 0xD9, 0xB2, 0x87, 0xF0, 0xDD,
3095         0xF1, 0xC2, 0xC4, 0xC6, 0xF2, 0xB2, 0x86, 0xC4,
3096         0xDC, 0xD8, 0xB0, 0x85, 0x00, 0xB1, 0xD9, 0x8F,
3097         0xF0, 0xDD, 0xF2, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8,
3098         0xB0, 0x85, 0x00, 0x00, 0xD9, 0x82, 0xF0, 0xDD,
3099         0xF2, 0xC2, 0xCA, 0xC4, 0xDC, 0xD8, 0x85, 0x00,
3100         0xD9, 0x85, 0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6,
3101         0xDC, 0xD8, 0xF2, 0x85, 0x00, 0xD9, 0xB1, 0x8A,
3102         0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8,
3103         0xB0, 0xF2, 0x85, 0x00, 0xD9, 0xB1, 0xF0, 0xDD,
3104         0xF1, 0x82, 0xC4, 0xDC, 0xD8, 0xB0, 0xF3, 0xA5,
3105         0xF8, 0xF9, 0xD1, 0xD9, 0xF4, 0x18, 0x1F, 0xD8,
3106         0xF3, 0x85, 0x95, 0xA5, 0x00, 0x00, 0xD9, 0xBE,
3107         0xF2, 0xBA, 0xAE, 0xDE, 0xBE, 0xBE, 0xBC, 0xB2,
3108         0x81, 0xF0, 0xDD, 0xF3, 0xC8, 0xDC, 0xBC, 0xBC,
3109         0xD8, 0xB0, 0xB8, 0x85, 0xA5, 0x00, 0xD9, 0xF2,
3110         /* bank 24: 0x1800 */
3111         0xBE, 0xBE, 0xAA, 0xDE, 0xBE, 0xBC, 0xBC, 0x8A,
3112         0xF0, 0xDD, 0xF3, 0xC0, 0xDC, 0xBC, 0xD8, 0x85,
3113         0xA5, 0x00, 0xD9, 0xB9, 0xF2, 0xA3, 0xD0, 0xDE,
3114         0xB2, 0x85, 0xF0, 0xDD, 0xF3, 0xC8, 0xDC, 0xD8,
3115         0xF6, 0xB8, 0xB0, 0xA7, 0x84, 0x9D, 0x5A, 0xF8,
3116         0xF9, 0xD1, 0xDA, 0xB1, 0x80, 0xF0, 0xDD, 0xF3,
3117         0xC4, 0xDC, 0xD8, 0xF2, 0x86, 0xB9, 0xAF, 0xC3,
3118         0xC5, 0xC7, 0xF2, 0xB9, 0xA3, 0xDF, 0xB8, 0xB0,
3119         0xB4, 0xA7, 0x84, 0x9D, 0xF7, 0x1A, 0xF9, 0xD9,
3120         0xF4, 0x18, 0x58, 0xD8, 0xF1, 0xB9, 0xB1, 0xB5,
3121         0xA6, 0x83, 0x9B, 0x61, 0xD9, 0xF4, 0x18, 0x6A,
3122         0xD8, 0xF6, 0xB8, 0xB0, 0xB4, 0xA7, 0x84, 0x94,
3123         0x5A, 0xF8, 0xF9, 0xD1, 0xDA, 0xFE, 0xF1, 0xB9,
3124         0xAB, 0xDE, 0xD8, 0xF1, 0xB8, 0xB0, 0xB4, 0xA7,
3125         0x88, 0x9C, 0xF7, 0x6A, 0xF9, 0xD9, 0xFF, 0xD8,
3126         0xF1, 0xBB, 0xAA, 0xF9, 0xDA, 0xFF, 0xD8, 0xB3,
3127         0x8A, 0xC2, 0xB9, 0xA2, 0xF8, 0xB2, 0x84, 0xBB,
3128         0xAA, 0xD0, 0xC1, 0x8B, 0xB7, 0x9A, 0xBA, 0xA7,
3129         0x3A, 0x93, 0xF0, 0x31, 0x31, 0x20, 0xD3, 0x8F,
3130         0xB6, 0x9C, 0xAB, 0x01, 0x29, 0x51, 0x79, 0xAF,
3131         0xC2, 0xC5, 0xC7, 0x8B, 0x9B, 0xF1, 0x04, 0xFD,
3132         0x01, 0x87, 0xD4, 0x8E, 0x9D, 0xAB, 0xF0, 0x01,
3133         0x29, 0x51, 0x79, 0xAE, 0xC2, 0xC5, 0xC7, 0x8B,
3134         0x9B, 0xF1, 0x04, 0xFD, 0x01, 0xB3, 0x81, 0xB7,
3135         0x9A, 0xBB, 0xA7, 0x7A, 0x93, 0xF0, 0x71, 0x71,
3136         0x60, 0x85, 0x94, 0x01, 0x29, 0x51, 0x79, 0xA5,
3137         0xC2, 0xC5, 0xC7, 0x87, 0x97, 0xF1, 0x04, 0xFD,
3138         0x01, 0x81, 0x9A, 0xA7, 0x1A, 0x93, 0xF0, 0x11,
3139         0x11, 0x00, 0x8E, 0x9B, 0x01, 0x29, 0x51, 0x79,
3140         0xAE, 0xC2, 0xC5, 0xC7, 0x87, 0x97, 0xF1, 0x04,
3141         0xFD, 0x01, 0x83, 0xA3, 0xC2, 0xC5, 0xC7, 0x8A,
3142         0xC7, 0xF2, 0xB2, 0x8B, 0xB6, 0x9B, 0xBA, 0xAB,
3143         /* bank 25: 0x1900 */
3144         0x71, 0xD9, 0xD0, 0xF8, 0xF5, 0x8F, 0x9F, 0xB9,
3145         0xA6, 0x78, 0x8E, 0x9E, 0x7C, 0xF1, 0xB1, 0x8E,
3146         0xB5, 0x96, 0x45, 0x6D, 0x8B, 0xA6, 0xD0, 0x32,
3147         0x3E, 0x8E, 0xAE, 0xD0, 0x50, 0x7C, 0xF4, 0x19,
3148         0x93, 0xD8, 0xF1, 0xB1, 0x8E, 0xBB, 0xA1, 0xC5,
3149         0xC7, 0xB3, 0xB7, 0x81, 0x91, 0xAF, 0xD0, 0x50,
3150         0xFD, 0x02, 0xB6, 0x9B, 0xFC, 0xC2, 0x00, 0x8F,
3151         0xB5, 0x9B, 0xD9, 0x56, 0xDA, 0x5E, 0xD8, 0xF3,
3152         0xBA, 0xAB, 0xD0, 0xDE, 0xF8, 0xF1, 0xB7, 0x91,
3153         0xA7, 0x69, 0xDB, 0x89, 0x69, 0xF3, 0xAB, 0xD0,
3154         0xDE, 0xF1, 0x86, 0xB9, 0xA4, 0xC0, 0xD8, 0xB8,
3155         0xB0, 0xB4, 0xA7, 0x88, 0x9D, 0xF7, 0x62, 0xF9,
3156         0xD9, 0xF1, 0xB9, 0xA2, 0xDE, 0xF4, 0x19, 0x8D,
3157         0xD8, 0xF1, 0xB1, 0x8A, 0xB5, 0x92, 0x01, 0xD9,
3158         0xF4, 0x19, 0x8D, 0xD8, 0xF1, 0x81, 0xB7, 0x91,
3159         0x09, 0xDB, 0x31, 0xF4, 0x19, 0x8D, 0xD8, 0xF3,
3160         0xA4, 0xD0, 0xB0, 0x8D, 0xB4, 0x94, 0x1D, 0xF1,
3161         0xB9, 0xA2, 0xDE, 0xF4, 0x42, 0xD8, 0xF2, 0xBA,
3162         0xAB, 0xD0, 0xDE, 0xD8, 0xF3, 0xBB, 0xB3, 0xB7,
3163         0x90, 0xA2, 0x82, 0x00, 0xF2, 0x10, 0xF1, 0x80,
3164         0x9D, 0xAD, 0xD0, 0x7C, 0xF2, 0xA2, 0xFA, 0xF9,
3165         0xD1, 0xF1, 0xB9, 0xAC, 0xD9, 0xDE, 0xDA, 0xF8,
3166         0xD8, 0xF2, 0xBB, 0xAF, 0x92, 0x50, 0x8F, 0x0D,
3167         0xDB, 0xF1, 0xB1, 0x8C, 0xB5, 0x9C, 0x21, 0xD9,
3168         0xF5, 0xB3, 0x85, 0xB7, 0x95, 0xB9, 0xA6, 0x78,
3169         0x8E, 0x9E, 0x7C, 0xF1, 0xB1, 0x8D, 0xB5, 0x9D,
3170         0xAD, 0x1A, 0xF0, 0x96, 0x40, 0x9D, 0x3C, 0x96,
3171         0x48, 0xD8, 0xF1, 0xB1, 0x8E, 0xB5, 0x9D, 0xB9,
3172         0xA6, 0x2A, 0x8D, 0x96, 0x05, 0xD9, 0xF4, 0x1A,
3173         0x12, 0xD8, 0xF2, 0xB3, 0x80, 0xB7, 0x92, 0xBB,
3174         0xAF, 0x50, 0xF8, 0x8F, 0x0D, 0xDB, 0xF1, 0xB1,
3175         0x8C, 0xB5, 0x9C, 0xB9, 0xA6, 0x21, 0xF4, 0x1A,
3176         /* bank 26: 0x1A00 */
3177         0x12, 0xD8, 0xF1, 0xB3, 0x8E, 0xBB, 0xA8, 0xD0,
3178         0xC4, 0xC7, 0xF3, 0xB9, 0xAC, 0xD0, 0xDE, 0xF4,
3179         0x1A, 0x23, 0xD8, 0xF1, 0xB3, 0x85, 0xBB, 0xA8,
3180         0xD0, 0xC4, 0xC7, 0xF3, 0xB9, 0xAC, 0xD0, 0xDE,
3181         0xF8, 0xDF, 0xF8, 0xD8, 0xF3, 0xB5, 0x9C, 0xFC,
3182         0xC3, 0x04, 0xDB, 0xFC, 0xC2, 0x00, 0xD9, 0xF2,
3183         0xAC, 0xD0, 0xDE, 0xD8, 0xF2, 0xBB, 0xAF, 0xB7,
3184         0x92, 0xB3, 0x82, 0x19, 0x80, 0xA2, 0xD9, 0x26,
3185         0xF3, 0xA7, 0xD0, 0xDF, 0xD8, 0xF1, 0xAF, 0x89,
3186         0x98, 0x19, 0xA9, 0x80, 0xD9, 0x38, 0xD8, 0xAF,
3187         0x89, 0x39, 0xA9, 0x80, 0xDA, 0x3C, 0xD8, 0xAF,
3188         0x2E, 0x88, 0xF5, 0x75, 0xDA, 0xFF, 0xD8, 0x71,
3189         0x80, 0xA9, 0xDA, 0xF1, 0xFF, 0xD8, 0x82, 0xA7,
3190         0xF3, 0xC1, 0xF2, 0x80, 0xC2, 0xF1, 0x97, 0x86,
3191         0x49, 0x2E, 0xA6, 0xD0, 0x50, 0x96, 0x86, 0xAF,
3192         0x75, 0xD9, 0x88, 0xA2, 0xD0, 0xF3, 0xC0, 0xC3,
3193         0xF1, 0xDA, 0x8F, 0x96, 0xA2, 0xD0, 0xF3, 0xC2,
3194         0xC3, 0x82, 0xB6, 0x9B, 0x78, 0x78, 0xF1, 0xD8,
3195         0x80, 0xB7, 0x90, 0xAF, 0x0D, 0x89, 0x99, 0xAF,
3196         0x10, 0x80, 0x9F, 0x21, 0xDA, 0x2E, 0xD8, 0x89,
3197         0x99, 0xAF, 0x31, 0x80, 0xDA, 0x2E, 0xD8, 0xAF,
3198         0x82, 0x92, 0xF3, 0x41, 0x80, 0xF1, 0xD9, 0x2E,
3199         0xD8, 0xAF, 0x82, 0xF3, 0x19, 0x80, 0xF1, 0xD9,
3200         0x2E, 0xD8, 0xF1, 0x89, 0x90, 0xAF, 0xD0, 0x09,
3201         0x8F, 0x99, 0xAF, 0x51, 0xDB, 0x89, 0x31, 0xF3,
3202         0x82, 0x92, 0x19, 0xF2, 0xB1, 0x8C, 0xB5, 0x9C,
3203         0x71, 0xD9, 0xF1, 0xDF, 0xF9, 0xF2, 0xB9, 0xAC,
3204         0xD0, 0xF8, 0xF8, 0xF3, 0xDF, 0xD8, 0xB3, 0xB7,
3205         0xBB, 0x82, 0xAC, 0xF3, 0xC0, 0xA2, 0x80, 0x22,
3206         0xF1, 0xA9, 0x22, 0x26, 0x9F, 0xAF, 0x29, 0xDA,
3207         0xAC, 0xDE, 0xFF, 0xD8, 0xA2, 0xF2, 0xDE, 0xF1,
3208         0xA9, 0xDF, 0xF3, 0xBA, 0xAB, 0xD0, 0xF8, 0xF9,
3209         /* bank 27: 0x1B00 */
3210         0xD1, 0xD9, 0xFF, 0xD8, 0xF2, 0xBB, 0xAD, 0xD0,
3211         0xDE, 0xF8, 0xF1, 0xB1, 0x84, 0xB6, 0x96, 0xBA,
3212         0xA7, 0xD0, 0x7E, 0xB7, 0x96, 0xA7, 0x01, 0xB2,
3213         0x87, 0x9D, 0x05, 0xDB, 0xB3, 0x8D, 0xB6, 0x97,
3214         0x79, 0xF3, 0xB1, 0x8C, 0x96, 0x49, 0xF2, 0xBB,
3215         0xAD, 0xD0, 0xF8, 0xD8, 0xF3, 0xB9, 0xAC, 0xD0,
3216         0xF8, 0xF9, 0xD1, 0xD9, 0xF2, 0xBB, 0xAD, 0xD0,
3217         0xF8, 0xD8, 0xB3, 0xB7, 0xBB, 0x97, 0x8C, 0xAF,
3218         0xF3, 0x79, 0xD9, 0xF4, 0x1B, 0x67, 0xD8, 0xF1,
3219         0xB1, 0x82, 0xB9, 0xA2, 0xD0, 0xC2, 0xB3, 0xF2,
3220         0xB9, 0xA3, 0xFA, 0xF1, 0xBB, 0xAA, 0xD0, 0xF8,
3221         0xB8, 0xB0, 0xB4, 0xA7, 0x88, 0x9C, 0xF7, 0x72,
3222         0xF9, 0xF4, 0xDA, 0x44, 0xD8, 0x1B, 0x7A, 0xD8,
3223         0xF3, 0xB3, 0xB7, 0xBB, 0xA7, 0xD0, 0xFA, 0x97,
3224         0x8C, 0xAF, 0x79, 0xDA, 0xF1, 0x87, 0x9A, 0xAA,
3225         0xD0, 0x70, 0xD8, 0xF2, 0xBB, 0xB3, 0xB7, 0x82,
3226         0x92, 0xAF, 0x31, 0xDA, 0xF4, 0x1B, 0xBB, 0xD8,
3227         0xF1, 0xDE, 0x8D, 0x9D, 0xCC, 0x8F, 0x96, 0xA6,
3228         0x00, 0xAC, 0x8C, 0x9C, 0x0C, 0x30, 0xBA, 0x8D,
3229         0x9D, 0xA7, 0x39, 0xDB, 0xF3, 0xB1, 0x8C, 0xB6,
3230         0x96, 0x49, 0xD9, 0xF1, 0x84, 0xB5, 0x94, 0xB9,
3231         0xA4, 0xD0, 0x5E, 0xF0, 0xB7, 0x9D, 0x38, 0xD8,
3232         0xF1, 0xBB, 0xAC, 0xDE, 0xD0, 0xDE, 0xAD, 0xD0,
3233         0xDF, 0xF1, 0xFF, 0xD8, 0xF3, 0xB9, 0xAC, 0xD0,
3234         0xF8, 0xF9, 0xD1, 0xD9, 0xF2, 0xBB, 0xA2, 0xFA,
3235         0xF8, 0xDA, 0xF2, 0xBB, 0xA2, 0xFA, 0xD8, 0xF2,
3236         0xB3, 0xB7, 0xBB, 0x80, 0x92, 0xAF, 0x49, 0xD1,
3237         0xD9, 0xF1, 0xB9, 0xAC, 0xDE, 0xAD, 0xDE, 0xDF,
3238         0xD8, 0xF1, 0x8C, 0x9C, 0xBB, 0xAC, 0xD0, 0x10,
3239         0xAC, 0xDE, 0xAD, 0xD0, 0xDF, 0x92, 0x82, 0xAF,
3240         0xF1, 0xCA, 0xF2, 0x35, 0xF1, 0x96, 0x8F, 0xA6,
3241         0xD9, 0x00, 0xD8, 0xF1, 0xFF
3242 };
3243 #else /* ICM_DMP_FW_VER == 2 */
3244 static const u8 const dmp_fw_20628[] = {
3245         /* bank 0: 0x0090 */
3246         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3247         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3248         0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
3249         0x00, 0x05, 0x00, 0x07, 0x00, 0x05, 0x00, 0xFF,
3250         0xFF, 0xF7, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
3251         0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
3252         0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00,
3253         0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00,
3254         0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04, 0x00,
3255         0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00,
3256         0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40,
3257         0x00, 0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10,
3258         0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04,
3259         0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01,
3260         /* bank 1: 0x0100 */
3261         0x00, 0x00, 0x03, 0x84, 0x00, 0x00, 0x9C, 0x40,
3262         0xFE, 0xF8, 0x56, 0xBE, 0x04, 0x00, 0x00, 0x00,
3263         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3264         0x13, 0x5C, 0x28, 0xF6, 0x0C, 0xF5, 0xC2, 0x8F,
3265         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3266         0x00, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x38,
3267         0x04, 0xF6, 0xE8, 0xF4, 0x00, 0x00, 0x68, 0x00,
3268         0x00, 0x01, 0xFF, 0xC7, 0x00, 0x00, 0x00, 0x00,
3269         0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0xAE, 0x14,
3270         0x3E, 0xB8, 0x51, 0xEC, 0x00, 0x0F, 0x00, 0x00,
3271         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3272         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3273         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3274         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3275         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3276         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3277         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3278         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3279         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3280         0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x0C, 0x00,
3281         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3282         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3283         0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x2B, 0x80,
3284         0x00, 0x00, 0x00, 0x52, 0x00, 0x57, 0x0A, 0x3D,
3285         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC,
3286         0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01,
3287         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3288         0x00, 0x50, 0x50, 0x50, 0x3F, 0xAF, 0xAF, 0xB0,
3289         0x02, 0x00, 0x00, 0x00, 0x36, 0x66, 0x66, 0x66,
3290         0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x2B, 0x80,
3291         0x8E, 0x17, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
3292         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3293         /* bank 2: 0x0200 */
3294         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3295         0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80,
3296         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3297         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3298         0x00, 0x3E, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
3299         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3300         0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
3301         0x00, 0x00, 0x9C, 0x40, 0x0C, 0xCC, 0xCC, 0xCD,
3302         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3303         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3304         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3305         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3306         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3307         0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
3308         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3309         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3310         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3311         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3312         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3313         0x3E, 0xB8, 0x51, 0xEC, 0x01, 0x47, 0xAE, 0x14,
3314         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3315         0x33, 0x33, 0x33, 0x33, 0x0C, 0xCC, 0xCC, 0xCD,
3316         0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x4B, 0xD1,
3317         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
3318         0x06, 0xD5, 0x8E, 0x27, 0xE1, 0x05, 0x86, 0xB2,
3319         0x38, 0xB3, 0x8D, 0x1F, 0xCF, 0x87, 0xC3, 0x8F,
3320         0x06, 0xD5, 0x8E, 0x27, 0x1F, 0xA1, 0xAB, 0x12,
3321         0x3A, 0x50, 0xFF, 0xCB, 0x31, 0x7D, 0xD5, 0x43,
3322         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3323         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3324         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3325         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3326         /* bank 3: 0x0300 */
3327         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3328         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
3329         0x00, 0x06, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00,
3330         0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x8D, 0xF2,
3331         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3332         0x00, 0x07, 0x00, 0x10, 0x00, 0x96, 0x00, 0x3C,
3333         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3334         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3335         0x0C, 0xC1, 0xD5, 0x21, 0xCB, 0xCF, 0x2A, 0x67,
3336         0x51, 0xF6, 0x2F, 0x9C, 0xC5, 0x87, 0x95, 0xAC,
3337         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3338         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3339         0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
3340         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
3341         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3342         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3343         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3D,
3344         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3345         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3346         0x00, 0x20, 0x31, 0x88, 0x00, 0x00, 0x00, 0x00,
3347         0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
3348         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3349         0x0E, 0x49, 0x6E, 0x64, 0xC5, 0x92, 0x24, 0x82,
3350         0x59, 0xFA, 0xEE, 0x8D, 0xC2, 0x29, 0xFE, 0xD7,
3351         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3352         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
3353         0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0xCC, 0xCC,
3354         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3355         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3356         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3357         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3358         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3359         /* bank 4: 0x0400 */
3360         0x00, 0x00, 0x00, 0xA3, 0x00, 0x00, 0x00, 0x02,
3361         0x00, 0x00, 0x00, 0x3A, 0x03, 0xE8, 0x00, 0x00,
3362         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3363         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3364         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3365         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3366         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3367         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3368         0x00, 0x00, 0x00, 0x03, 0x3F, 0xC1, 0xA7, 0x68,
3369         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3370         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3371         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3372         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3373         0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
3374         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3375         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3376         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3377         0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x00, 0x00,
3378         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3379         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3380         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3381         0x00, 0x00, 0x01, 0x5E, 0x00, 0x00, 0x00, 0xFA,
3382         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3383         0x00, 0x13, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
3384         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3385         0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05,
3386         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3387         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3388         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3389         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3390         0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
3391         0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x20, 0x00,
3392         /* bank 5: 0x0500 */
3393         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3394         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3395         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3396         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3397         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3398         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3399         0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
3400         0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00,
3401         0x00, 0x00, 0x61, 0xA8, 0x00, 0x00, 0x00, 0x10,
3402         0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00,
3403         0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
3404         0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
3405         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
3406         0x00, 0x00, 0x2E, 0xE0, 0x00, 0x06, 0x40, 0x00,
3407         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
3408         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3409         0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3410         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3411         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3412         0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
3413         0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
3414         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3415         0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
3416         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3417         0x0C, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
3418         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3419         0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x00,
3420         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3421         0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
3422         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
3423         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3424         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3425         /* bank 6: 0x0600 */
3426         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3427         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3428         0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
3429         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3430         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
3431         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
3432         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3433         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3434         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3435         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3436         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3437         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3438         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3439         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3440         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3441         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3442         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
3443         0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00,
3444         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3445         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3446         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3447         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3448         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3449         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3450         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
3451         0x00, 0x00, 0x00, 0x00, 0x01, 0x49, 0x1B, 0x75,
3452         0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
3453         0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x0C, 0xCD,
3454         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3455         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3456         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3457         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3458         /* bank 7: 0x0700 */
3459         0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01,
3460         0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x46,
3461         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3462         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3463         0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3464         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3465         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3466         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3467         0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
3468         0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
3469         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3470         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3471         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3472         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3473         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3474         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3475         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3476         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3477         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3478         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3479         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3480         0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
3481         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3482         0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xD4, 0xC0,
3483         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
3484         0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3C,
3485         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3486         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3487         0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3488         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3489         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3490         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3491         /* bank 8: 0x0800 */
3492         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3493         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3494         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3495         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3496         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3497         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3498         0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x3A, 0x98,
3499         0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x4E,
3500         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3501         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3502         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3503         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
3504         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3505         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3506         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3507         0x01, 0x47, 0xAE, 0x14, 0x4E, 0x40, 0x00, 0x00,
3508         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3509         0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x20, 0x00,
3510         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3511         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3512         0x00, 0x01, 0x00, 0x00, 0x4E, 0x40, 0x00, 0x00,
3513         0x4A, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x06,
3514         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3515         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3516         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3517         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3518         0xD8, 0xDC, 0xB8, 0xB0, 0xB4, 0xF3, 0xAA, 0xF8,
3519         0xF9, 0xD1, 0xD9, 0x88, 0x9A, 0xF8, 0xF7, 0x3E,
3520         0xD8, 0xF3, 0x8A, 0x9A, 0xA7, 0x31, 0xD1, 0xD9,
3521         0xF4, 0x08, 0xF7, 0xD8, 0xF3, 0x9F, 0x31, 0xD1,
3522         0xD9, 0xF4, 0x08, 0xF7, 0xDA, 0xF1, 0xFF, 0xD8,
3523         0xF1, 0xA4, 0xDF, 0xA5, 0xDE, 0xF3, 0xA8, 0xDE,
3524         /* bank 8: 0x0800 */
3525         0xD0, 0xDF, 0xA4, 0x84, 0x9F, 0x24, 0xF2, 0xA9,
3526         0xF8, 0xF9, 0xD1, 0xDA, 0xDE, 0xA8, 0xDE, 0xDF,
3527         0xDF, 0xDF, 0xD8, 0xF4, 0xB1, 0x8D, 0xF3, 0xA8,
3528         0xD0, 0xB0, 0xB4, 0x8F, 0xF4, 0xB9, 0xAF, 0xD0,
3529         0xC7, 0xBE, 0xBE, 0xB8, 0xAE, 0xD0, 0xF3, 0x9F,
3530         0x75, 0xB2, 0x86, 0xF4, 0xBE, 0xB9, 0xAF, 0xD0,
3531         0xC3, 0xF1, 0xBE, 0xB8, 0xB0, 0xA3, 0xDE, 0xDF,
3532         0xDF, 0xDF, 0xF2, 0xA3, 0x81, 0xC0, 0x80, 0xCD,
3533         0xC7, 0xCF, 0xBC, 0xBD, 0xB4, 0xA3, 0x88, 0x93,
3534         0xF1, 0x62, 0x6E, 0x76, 0x7E, 0xBE, 0xA2, 0x42,
3535         0xA0, 0x4E, 0x56, 0x5E, 0xBE, 0xBE, 0xBC, 0xA3,
3536         0x8B, 0x93, 0x2D, 0x55, 0x7D, 0xA2, 0x86, 0x9D,
3537         0x08, 0xFD, 0x0F, 0xBC, 0xBC, 0xA3, 0x83, 0x92,
3538         0x01, 0xA9, 0x9E, 0x0E, 0x16, 0x1E, 0xBE, 0xBE,
3539         0x99, 0xA5, 0x2C, 0x54, 0x7C, 0xBA, 0xA5, 0x2C,
3540         0x54, 0x7C, 0xBD, 0xBD, 0xBC, 0xBC, 0xB1, 0xB6,
3541         0x83, 0x95, 0xA5, 0xF1, 0x0E, 0x16, 0x1E, 0xB2,
3542         0xA7, 0x85, 0x95, 0x2A, 0xF0, 0x50, 0x78, 0x87,
3543         0x93, 0xF1, 0x01, 0xDA, 0xA5, 0xDF, 0xDF, 0xDF,
3544         0xD8, 0xA4, 0xDF, 0xDF, 0xDF, 0xB0, 0x80, 0xF2,
3545         0xA4, 0xC3, 0xCB, 0xC5, 0xF1, 0xB1, 0x8E, 0x94,
3546         0xA4, 0x0E, 0x16, 0x1E, 0xB2, 0x86, 0xBE, 0xA0,
3547         0x2C, 0x34, 0x3C, 0xBD, 0xBD, 0xB4, 0x96, 0xB8,
3548         0xA1, 0x2C, 0x34, 0x3C, 0xBD, 0xB6, 0x94, 0xBE,
3549         0xA6, 0x2C, 0xFD, 0x35, 0x34, 0xFD, 0x35, 0x3C,
3550         0xFD, 0x35, 0xBE, 0xBC, 0xB2, 0x8E, 0x94, 0xA6,
3551         0x2D, 0x55, 0x7D, 0xBA, 0xA4, 0x2D, 0x55, 0x7D,
3552         0xB8, 0xB0, 0xB4, 0xA6, 0x8F, 0x96, 0x2E, 0x36,
3553         0x3E, 0xBC, 0xBC, 0xBD, 0xA6, 0x86, 0x9F, 0xF5,
3554         0x34, 0x54, 0x74, 0xBC, 0xBE, 0xF1, 0x90, 0xFC,
3555         0xC3, 0x00, 0xD9, 0xF4, 0x0A, 0x5A, 0xD8, 0xF3,
3556         0xA0, 0xDF, 0xF1, 0xBC, 0x86, 0x91, 0xA9, 0x2D,
3557         /* bank 9: 0x0900 */
3558         0x55, 0x7D, 0xBC, 0xBC, 0xA9, 0x80, 0x90, 0xFC,
3559         0x51, 0x00, 0x10, 0xFC, 0x51, 0x00, 0x10, 0xFC,
3560         0x51, 0x00, 0x10, 0xFC, 0xC1, 0x04, 0xD9, 0xF2,
3561         0xA0, 0xDF, 0xF4, 0x0A, 0x5A, 0xD8, 0xF6, 0xA0,
3562         0xFA, 0x80, 0x90, 0x38, 0xF3, 0xDE, 0xDA, 0xF8,
3563         0xF4, 0x0A, 0x5A, 0xD8, 0xF1, 0xBD, 0x95, 0xFC,
3564         0xC1, 0x04, 0xD9, 0xBD, 0xBD, 0xF4, 0x0A, 0x5A,
3565         0xDA, 0xBD, 0xBD, 0xD8, 0xF6, 0xBC, 0xBC, 0xBD,
3566         0xBD, 0xBE, 0xBE, 0xB5, 0xA7, 0x84, 0x92, 0x1A,
3567         0xF8, 0xF9, 0xD1, 0xDB, 0x84, 0x93, 0xF7, 0x6A,
3568         0xB6, 0x87, 0x96, 0xF3, 0x09, 0xFF, 0xDA, 0xBC,
3569         0xBD, 0xBE, 0xD8, 0xF3, 0xBC, 0xBC, 0xBD, 0xBD,
3570         0xBE, 0xBE, 0xB9, 0xB2, 0xA9, 0x80, 0xCD, 0xF2,
3571         0xC4, 0xC5, 0xBA, 0xF3, 0xA0, 0xD0, 0xDE, 0xB1,
3572         0xB4, 0xF7, 0xA7, 0x89, 0x91, 0x72, 0x89, 0x91,
3573         0x47, 0xB6, 0x97, 0x4A, 0xB9, 0xF2, 0xA9, 0xD0,
3574         0xFA, 0xF9, 0xD1, 0xD9, 0xF4, 0x0A, 0x8E, 0xD8,
3575         0xF3, 0xBA, 0xA7, 0xF9, 0xDB, 0xFB, 0xD9, 0xF1,
3576         0xB9, 0xB0, 0x81, 0xA9, 0xC3, 0xF2, 0xC5, 0xF3,
3577         0xBA, 0xA0, 0xD0, 0xF8, 0xD8, 0xF1, 0xB1, 0x89,
3578         0xA7, 0xDF, 0xDF, 0xDF, 0xF2, 0xA7, 0xC3, 0xCB,
3579         0xC5, 0xF1, 0xB2, 0xB5, 0xB9, 0x87, 0x97, 0xA5,
3580         0x22, 0xF0, 0x48, 0x70, 0x3C, 0x98, 0x40, 0x68,
3581         0x34, 0x58, 0x99, 0x60, 0xF1, 0xBC, 0xB3, 0x8E,
3582         0x95, 0xAA, 0x25, 0x4D, 0x75, 0xBC, 0xBC, 0xB8,
3583         0xB0, 0xB4, 0xA7, 0x88, 0x9F, 0xF7, 0x5A, 0xF9,
3584         0xD9, 0xF1, 0xBA, 0xA5, 0xDF, 0xDF, 0xDF, 0xB8,
3585         0xDA, 0xF3, 0xA8, 0xF8, 0x88, 0x9D, 0xD0, 0x7C,
3586         0xD8, 0xF7, 0xA7, 0x88, 0x9F, 0x52, 0xF9, 0xD9,
3587         0xF1, 0xBA, 0xA4, 0xDF, 0xDF, 0xDF, 0xB8, 0xDA,
3588         0xF3, 0xA8, 0x88, 0x9C, 0xD0, 0xDF, 0x68, 0x70,
3589         0x9D, 0x60, 0x70, 0x78, 0xD8, 0xF7, 0xA7, 0x88,
3590         /* bank 10: 0x0A00 */
3591         0x9F, 0x42, 0xF9, 0xBA, 0xA0, 0xD0, 0xF3, 0xD9,
3592         0xDE, 0xD8, 0xF8, 0xF9, 0xD1, 0xB8, 0xDA, 0xA8,
3593         0x88, 0x9E, 0xD0, 0x64, 0x68, 0xD8, 0xA8, 0x84,
3594         0x98, 0xD0, 0xF7, 0x7E, 0xF0, 0xB2, 0xB6, 0xBA,
3595         0x85, 0x91, 0xA7, 0x24, 0x70, 0x59, 0x44, 0x69,
3596         0x38, 0x64, 0x48, 0x31, 0x2D, 0x51, 0x79, 0x87,
3597         0xF1, 0xA1, 0x00, 0x2C, 0x54, 0x7C, 0xF0, 0x81,
3598         0xA7, 0x04, 0x28, 0x50, 0x78, 0xFD, 0x7F, 0xF1,
3599         0xA7, 0x87, 0x96, 0x59, 0x91, 0xA1, 0x02, 0x0E,
3600         0x16, 0x1E, 0xF0, 0x84, 0x91, 0xA7, 0x24, 0x70,
3601         0x59, 0x44, 0x69, 0x38, 0x64, 0x48, 0x31, 0x2D,
3602         0x51, 0x79, 0xA2, 0x87, 0x0D, 0x20, 0x59, 0x70,
3603         0x15, 0x38, 0x40, 0x69, 0xA4, 0xF1, 0x62, 0xF0,
3604         0x19, 0x31, 0x48, 0xB8, 0xB1, 0xB4, 0xF1, 0xA6,
3605         0x80, 0xC6, 0xF4, 0xB0, 0x81, 0xF3, 0xA7, 0xC6,
3606         0xB1, 0x8F, 0x97, 0xF7, 0x02, 0xF9, 0xDA, 0xF4,
3607         0x0B, 0xBD, 0xD8, 0xB0, 0xF7, 0xA7, 0x88, 0x9F,
3608         0x52, 0xF9, 0xD9, 0xF4, 0x0B, 0xB6, 0xD8, 0xF1,
3609         0xB2, 0xB6, 0xA6, 0x82, 0x92, 0x2A, 0xF0, 0x50,
3610         0xFD, 0x08, 0xF1, 0xA7, 0x84, 0x94, 0x02, 0xFD,
3611         0x08, 0xB0, 0xB4, 0x86, 0x97, 0x00, 0xB1, 0xBA,
3612         0xA7, 0x81, 0x61, 0xD9, 0xF4, 0x0B, 0xF3, 0xD8,
3613         0xF1, 0x41, 0xDA, 0xF4, 0x0B, 0xF3, 0xD8, 0xF1,
3614         0xB8, 0xB2, 0xA6, 0x82, 0xC0, 0xD8, 0xF1, 0xB0,
3615         0xB6, 0x86, 0x92, 0xA7, 0x16, 0xFD, 0x04, 0x0F,
3616         0xFD, 0x04, 0xF0, 0xBA, 0x87, 0x91, 0xA7, 0x24,
3617         0x58, 0x3D, 0x40, 0x34, 0x49, 0x2D, 0x51, 0xB2,
3618         0x87, 0xF1, 0xA1, 0x00, 0x2C, 0x54, 0x7C, 0xF0,
3619         0x81, 0xA7, 0x04, 0x28, 0x50, 0x78, 0xFD, 0x7F,
3620         0xF1, 0xA7, 0x87, 0x96, 0x59, 0x91, 0xA1, 0x02,
3621         0x0E, 0x16, 0x1E, 0xD8, 0xF7, 0xB0, 0xB4, 0xBA,
3622         0x88, 0x9E, 0xA7, 0x6A, 0xF9, 0xD9, 0xF4, 0x0D,
3623         /* bank 11: 0x0B00 */
3624         0x0B, 0xD8, 0xF0, 0xB1, 0xB5, 0x8A, 0x9A, 0xA3,
3625         0x2C, 0x50, 0x78, 0xF2, 0xA5, 0xDE, 0xF8, 0xF8,
3626         0xF1, 0xB5, 0xB2, 0xA7, 0x83, 0x90, 0x21, 0xDB,
3627         0xB6, 0xB1, 0x80, 0x93, 0x29, 0xD9, 0xF2, 0xA5,
3628         0xF8, 0xD8, 0xF1, 0xB2, 0xB6, 0xA7, 0x83, 0x93,
3629         0x31, 0xF3, 0xA5, 0xDE, 0xD9, 0xF8, 0xF8, 0xD8,
3630         0xF1, 0xA9, 0x89, 0x99, 0xF0, 0x34, 0x83, 0x38,
3631         0xF1, 0xA7, 0x29, 0xF5, 0x87, 0x90, 0x18, 0xD9,
3632         0xF3, 0xA5, 0xF8, 0xD8, 0xA8, 0x80, 0x91, 0xF0,
3633         0x0C, 0x31, 0x14, 0x28, 0x1C, 0x20, 0x04, 0x39,
3634         0xA7, 0x88, 0x98, 0x04, 0x28, 0x51, 0x79, 0x1D,
3635         0x30, 0x14, 0x38, 0xB1, 0xB8, 0x8A, 0xA7, 0xD0,
3636         0x97, 0x2C, 0x50, 0x50, 0x78, 0x78, 0xBC, 0xBA,
3637         0xB0, 0xA7, 0x85, 0x98, 0x04, 0x28, 0x50, 0x78,
3638         0xF1, 0x84, 0x97, 0x29, 0xD9, 0xBE, 0xB8, 0xA5,
3639         0x8D, 0x98, 0x20, 0x2C, 0x34, 0x3C, 0xBE, 0xBE,
3640         0xBA, 0xAA, 0xDE, 0xDF, 0xF8, 0xF4, 0x0C, 0x95,
3641         0xD8, 0xF1, 0xBA, 0xAA, 0xF8, 0xA7, 0x84, 0x9A,
3642         0x01, 0xD9, 0xAA, 0xDF, 0xF8, 0xD8, 0xF1, 0xBC,
3643         0xBC, 0x9A, 0xFC, 0xC1, 0x04, 0xD9, 0xAA, 0xFB,
3644         0xA6, 0xB2, 0x89, 0x96, 0x42, 0xB4, 0x97, 0xF0,
3645         0x78, 0xA7, 0x86, 0xF1, 0x38, 0xFD, 0x01, 0xB6,
3646         0x97, 0x01, 0xA6, 0xD0, 0xB6, 0x9A, 0x52, 0x87,
3647         0xF0, 0x18, 0xD8, 0xBD, 0xB0, 0xB4, 0xBA, 0x87,
3648         0x96, 0xA7, 0xF5, 0x78, 0xBD, 0xBD, 0xF3, 0xD9,
3649         0xA5, 0xF8, 0xD8, 0xB2, 0xB6, 0xF1, 0xA9, 0x89,
3650         0x93, 0x1A, 0xB0, 0x87, 0x99, 0x60, 0xB8, 0xA7,
3651         0xD0, 0xB2, 0x89, 0xC1, 0xB0, 0xBA, 0xF3, 0xA5,
3652         0xF9, 0xF9, 0xB8, 0xF1, 0xDA, 0xA7, 0xD0, 0xDF,
3653         0xD8, 0xA7, 0xD0, 0xFA, 0xF9, 0xD1, 0xBA, 0xDA,
3654         0xA7, 0x87, 0x90, 0x6A, 0x66, 0xB2, 0xA0, 0x87,
3655         0x01, 0x2C, 0xF0, 0xA7, 0x80, 0x90, 0x04, 0x28,
3656         /* bank 12: 0x0C00 */
3657         0xFD, 0x7F, 0xF1, 0xA7, 0x87, 0x96, 0x59, 0x90,
3658         0xA0, 0x02, 0x0E, 0xD8, 0xF0, 0xBA, 0xB2, 0xB6,
3659         0xA8, 0x80, 0x91, 0x0C, 0x31, 0x14, 0x28, 0x1C,
3660         0x20, 0x04, 0x39, 0xD8, 0xF7, 0xB8, 0xB4, 0xB0,
3661         0xA7, 0x9D, 0x88, 0x72, 0xF9, 0xBC, 0xBD, 0xBE,
3662         0xD9, 0xF4, 0x0E, 0x72, 0xD8, 0xF2, 0xB8, 0xAD,
3663         0xF8, 0xF9, 0xD1, 0xDA, 0xDE, 0xBA, 0xA1, 0xDE,
3664         0xAE, 0xDE, 0xF8, 0xD8, 0xF2, 0xB1, 0xB5, 0xB9,
3665         0xAE, 0xF9, 0xDA, 0xF4, 0x0E, 0x59, 0xD8, 0xF2,
3666         0x8E, 0xC2, 0xF1, 0xB2, 0x80, 0x9A, 0xF5, 0xAF,
3667         0x24, 0xD9, 0xF4, 0x0E, 0x59, 0xD8, 0xF5, 0x44,
3668         0xD9, 0xF4, 0x0E, 0x59, 0xD8, 0xF5, 0x64, 0xD9,
3669         0xF4, 0x0E, 0x59, 0xD8, 0xF1, 0xB1, 0xB6, 0x8B,
3670         0x90, 0xAF, 0x2D, 0x55, 0x7D, 0xB5, 0x8C, 0x9F,
3671         0xAD, 0x0E, 0x16, 0x1E, 0x8B, 0x9D, 0xAB, 0x2C,
3672         0x54, 0x7C, 0x8D, 0x9F, 0xAA, 0x2E, 0x56, 0x7E,
3673         0x8A, 0x9C, 0xAA, 0x2C, 0x54, 0x7C, 0x9B, 0xAC,
3674         0x26, 0x46, 0x66, 0xAF, 0x8D, 0x9D, 0x00, 0x9C,
3675         0x0D, 0xDB, 0x11, 0x8F, 0x19, 0xF4, 0x0D, 0x9B,
3676         0xD8, 0x0E, 0x59, 0xD8, 0xF1, 0xB2, 0x81, 0xB6,
3677         0x90, 0xAF, 0x2D, 0x55, 0x7D, 0xB1, 0x8F, 0xB5,
3678         0x9F, 0xAF, 0xF5, 0x2C, 0x54, 0x7C, 0xF1, 0xB2,
3679         0x8C, 0x9F, 0xAD, 0x6D, 0xDB, 0x71, 0x79, 0xF4,
3680         0x0D, 0xC9, 0xD8, 0xF3, 0xBA, 0xA1, 0xDE, 0xF8,
3681         0xF1, 0x80, 0xA1, 0xC3, 0xC5, 0xC7, 0xF4, 0x0D,
3682         0xD8, 0xD8, 0xF3, 0xB6, 0xBA, 0x91, 0xFC, 0xC0,
3683         0x28, 0xDA, 0xA1, 0xF8, 0xD9, 0xF4, 0x0E, 0x59,
3684         0xD8, 0xF3, 0xB9, 0xAE, 0xF8, 0xF9, 0xD1, 0xD9,
3685         0xF8, 0xF4, 0x0E, 0x59, 0xD8, 0xF1, 0xBA, 0xB1,
3686         0xB5, 0xA0, 0x8B, 0x93, 0x3E, 0x5E, 0x7E, 0xAB,
3687         0x83, 0xC0, 0xC5, 0xB2, 0xB6, 0xA3, 0x87, 0xC0,
3688         0xC3, 0xC5, 0xC7, 0xA2, 0x88, 0xC0, 0xC3, 0xC5,
3689         /* bank 13: 0x0D00 */
3690         0xC7, 0xA4, 0x86, 0xC0, 0xC3, 0xC5, 0xC7, 0xA5,
3691         0x85, 0xC4, 0xC7, 0xAC, 0x8D, 0xC0, 0xF3, 0xAE,
3692         0xDE, 0xF8, 0xF4, 0x11, 0x36, 0xD8, 0xF1, 0xA7,
3693         0x83, 0xC0, 0xC3, 0xC5, 0xC7, 0xA8, 0x82, 0xC0,
3694         0xC3, 0xC5, 0xC7, 0xA6, 0x84, 0xC0, 0xC3, 0xC5,
3695         0xC7, 0xA5, 0x85, 0xD0, 0xC0, 0xC3, 0x8D, 0x9D,
3696         0xAF, 0x39, 0xD9, 0xF4, 0x0E, 0x59, 0xD8, 0xF1,
3697         0x83, 0xB5, 0x9E, 0xAE, 0x34, 0xFD, 0x0A, 0x54,
3698         0xFD, 0x0A, 0x74, 0xFD, 0x0A, 0xF2, 0xAF, 0xDE,
3699         0xF8, 0xF8, 0xF8, 0xB6, 0x81, 0x9F, 0x05, 0xF8,
3700         0xF9, 0xD1, 0xDA, 0x8F, 0xA1, 0xC0, 0xF4, 0x0E,
3701         0x60, 0xD8, 0xF2, 0xBA, 0xAE, 0xF8, 0xF9, 0xD1,
3702         0xDA, 0xF3, 0xBE, 0xBE, 0xBC, 0xBC, 0xBD, 0xBD,
3703         0xB8, 0xB0, 0xB4, 0xA5, 0x85, 0x9C, 0x08, 0xBE,
3704         0xBC, 0xBD, 0xD8, 0xF7, 0xBC, 0xBC, 0xBD, 0xBD,
3705         0xBB, 0xB4, 0xB0, 0xAF, 0x9E, 0x88, 0x62, 0xF9,
3706         0xBC, 0xBD, 0xD9, 0xF4, 0x10, 0xB4, 0xD8, 0xF1,
3707         0xBC, 0xBC, 0xB1, 0x85, 0xBA, 0xB5, 0xA0, 0x98,
3708         0x06, 0x26, 0x46, 0xBC, 0xB9, 0xB3, 0xB6, 0xF1,
3709         0xAF, 0x81, 0x90, 0x2D, 0x55, 0x7D, 0xB1, 0xB5,
3710         0xAF, 0x8F, 0x9F, 0xF5, 0x2C, 0x54, 0x7C, 0xF1,
3711         0xBB, 0xAF, 0x86, 0x9F, 0x69, 0xDB, 0x71, 0x79,
3712         0xDA, 0xF3, 0xA0, 0xDF, 0xF8, 0xF1, 0xA1, 0xDE,
3713         0xF2, 0xF8, 0xD8, 0xB3, 0xB7, 0xF1, 0x8C, 0x9B,
3714         0xAF, 0x19, 0xD9, 0xAC, 0xDE, 0xF3, 0xA0, 0xDF,
3715         0xF8, 0xD8, 0xAF, 0x80, 0x90, 0x69, 0xD9, 0xA0,
3716         0xFA, 0xF1, 0xB2, 0x80, 0xA1, 0xC3, 0xC5, 0xC7,
3717         0xF2, 0xA0, 0xD0, 0xDF, 0xF8, 0xF4, 0x10, 0x9E,
3718         0xD8, 0xF2, 0xA0, 0xD0, 0xDF, 0xF1, 0xBC, 0xBC,
3719         0xB1, 0xAD, 0x8A, 0x9E, 0x26, 0x46, 0x66, 0xBC,
3720         0xB3, 0xB3, 0xF3, 0xA2, 0xDE, 0xF8, 0xF4, 0x10,
3721         0xBF, 0xD8, 0xF1, 0xAA, 0x8D, 0xC1, 0xF2, 0xA1,
3722         /* bank 14: 0x0E00 */
3723         0xF8, 0xF9, 0xD1, 0xDA, 0xF4, 0x0F, 0x2A, 0xD8,
3724         0xF1, 0xAF, 0x8A, 0x9A, 0x21, 0x8F, 0x90, 0xF5,
3725         0x10, 0xDA, 0xF4, 0x0F, 0x2A, 0xD8, 0xF1, 0x91,
3726         0xFC, 0xC0, 0x04, 0xD9, 0xF4, 0x0F, 0x71, 0xD8,
3727         0xF3, 0xA1, 0xDE, 0xF8, 0xA0, 0xDF, 0xF8, 0xF4,
3728         0x10, 0x9E, 0xF3, 0x91, 0xFC, 0xC0, 0x07, 0xD9,
3729         0xF4, 0x0F, 0x71, 0xD8, 0xF1, 0xAF, 0xB1, 0x84,
3730         0x9C, 0x01, 0xB3, 0xB5, 0x80, 0x97, 0xDB, 0xF3,
3731         0x21, 0xB9, 0xA7, 0xD9, 0xF8, 0xF4, 0x0F, 0x71,
3732         0xD8, 0xF3, 0xB9, 0xA7, 0xDE, 0xF8, 0xBB, 0xF1,
3733         0xA3, 0x87, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4, 0x88,
3734         0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x89, 0xC0, 0xC3,
3735         0xC5, 0xC7, 0xA6, 0x86, 0xC4, 0xC7, 0xA1, 0x82,
3736         0xC3, 0xC5, 0xC7, 0xF3, 0xA1, 0xDE, 0xF4, 0x10,
3737         0xB4, 0xD8, 0xF1, 0xBB, 0xB3, 0xB7, 0xA1, 0xF8,
3738         0xF9, 0xD1, 0xDA, 0xF2, 0xA0, 0xD0, 0xDF, 0xF8,
3739         0xD8, 0xF1, 0xB9, 0xB1, 0xB6, 0xA8, 0x87, 0x90,
3740         0x2D, 0x55, 0x7D, 0xF5, 0xB5, 0xA8, 0x88, 0x98,
3741         0x2C, 0x54, 0x7C, 0xF1, 0xAF, 0x86, 0x98, 0x29,
3742         0xDB, 0x31, 0x39, 0xF4, 0x10, 0xB4, 0xD8, 0xF1,
3743         0xB3, 0xB6, 0xA7, 0x8A, 0x90, 0x4C, 0x54, 0x5C,
3744         0xBA, 0xA0, 0x81, 0x90, 0x2D, 0x55, 0x7D, 0xBB,
3745         0xF2, 0xA2, 0xF8, 0xF9, 0xD1, 0xDA, 0xDE, 0xF4,
3746         0x10, 0xB4, 0xD8, 0xF1, 0xBA, 0xB0, 0xAB, 0x8F,
3747         0xC0, 0xC7, 0xB3, 0xA3, 0x83, 0xC0, 0xC3, 0xC5,
3748         0xC7, 0xA2, 0x84, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4,
3749         0x85, 0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x86, 0xC0,
3750         0xC3, 0xAC, 0x8C, 0xC2, 0xF3, 0xAE, 0xDE, 0xF8,
3751         0xF8, 0xF4, 0x11, 0x36, 0xD8, 0xF1, 0xB2, 0xBB,
3752         0xA3, 0x83, 0xC0, 0xC3, 0xC5, 0xC7, 0xA4, 0x82,
3753         0xC0, 0xC3, 0xC5, 0xC7, 0xA5, 0x84, 0xC0, 0xC3,
3754         0xC5, 0xC7, 0xA6, 0x85, 0xC0, 0xC3, 0xAC, 0x8C,
3755         /* bank 15: 0x0F00 */
3756         0xC4, 0xB3, 0xB7, 0xAF, 0x85, 0x95, 0x56, 0xFD,
3757         0x0F, 0x86, 0x96, 0x06, 0xFD, 0x0F, 0xF0, 0x84,
3758         0x9F, 0xAF, 0x4C, 0x70, 0xFD, 0x0F, 0xF1, 0x86,
3759         0x96, 0x2E, 0xFD, 0x0F, 0x84, 0x9F, 0x72, 0xFD,
3760         0x0F, 0xDF, 0xAF, 0x2C, 0x54, 0x7C, 0xAF, 0x8C,
3761         0x69, 0xDB, 0x71, 0x79, 0x8B, 0x9C, 0x61, 0xF4,
3762         0x10, 0x35, 0xDA, 0x10, 0xB4, 0xD8, 0xF1, 0xAB,
3763         0x83, 0x91, 0x28, 0xFD, 0x05, 0x54, 0xFD, 0x05,
3764         0x7C, 0xFD, 0x05, 0xB8, 0xBD, 0xBD, 0xB5, 0xA3,
3765         0x8B, 0x95, 0x05, 0x2D, 0x55, 0xBD, 0xB4, 0xBB,
3766         0xAD, 0x8E, 0x93, 0x0E, 0x16, 0x1E, 0xB7, 0xF3,
3767         0xA2, 0xDE, 0xF8, 0xF8, 0xF4, 0x10, 0xBF, 0xD8,
3768         0xF2, 0xA1, 0xF8, 0xF9, 0xD1, 0xD9, 0xF1, 0xAF,
3769         0x8D, 0x9A, 0x01, 0xF5, 0x8F, 0x90, 0xDB, 0x00,
3770         0xF4, 0x10, 0xB4, 0xDA, 0xF1, 0xAA, 0x8D, 0xC0,
3771         0xAE, 0x8B, 0xC1, 0xC3, 0xC5, 0xA1, 0xDE, 0xA7,
3772         0x83, 0xC0, 0xC3, 0xC5, 0xC7, 0xA8, 0x84, 0xC0,
3773         0xC3, 0xC5, 0xC7, 0xA9, 0x85, 0xC0, 0xC3, 0xC5,
3774         0xC7, 0xA6, 0x86, 0xD0, 0xC0, 0xC3, 0xA2, 0x81,
3775         0xC3, 0xC5, 0xC7, 0xF4, 0x10, 0xB4, 0xF1, 0xBB,
3776         0xB3, 0xA3, 0xDE, 0xDF, 0xDF, 0xDF, 0xA4, 0x8C,
3777         0xC4, 0xC5, 0xC5, 0xC5, 0xA5, 0xDE, 0xDF, 0xDF,
3778         0xDF, 0xA6, 0xDE, 0xDF, 0xD8, 0xF3, 0xB9, 0xAE,
3779         0xDF, 0xBA, 0xAE, 0xDE, 0xBB, 0xA2, 0xDE, 0xD8,
3780         0xF3, 0xA2, 0xF8, 0xF9, 0xD1, 0xD9, 0xF4, 0x11,
3781         0x34, 0xD8, 0xF5, 0xAD, 0x8D, 0x9D, 0x2C, 0x54,
3782         0x7C, 0xF1, 0xAF, 0x49, 0xDA, 0xC3, 0xC5, 0xD9,
3783         0xC5, 0xC3, 0xD8, 0xAF, 0x9F, 0x69, 0xD0, 0xDA,
3784         0xC7, 0xD9, 0x8F, 0xC3, 0x8D, 0xAF, 0xC7, 0xD8,
3785         0xB9, 0xA9, 0x8F, 0x9F, 0xF0, 0x54, 0x78, 0xF1,
3786         0xFD, 0x0F, 0xA6, 0xB1, 0x89, 0xC2, 0xB3, 0xAF,
3787         0x8F, 0x9F, 0x2E, 0xFD, 0x11, 0xB1, 0xB5, 0xA9,
3788         /* bank 16: 0x1000 */
3789         0x89, 0x9F, 0x2C, 0xF3, 0xAE, 0xDF, 0xF8, 0xF8,
3790         0xF4, 0x12, 0xEB, 0xD8, 0xF1, 0xAD, 0x86, 0x99,
3791         0x06, 0xFD, 0x10, 0xDF, 0xF8, 0xFD, 0x0F, 0xAD,
3792         0x8D, 0x9D, 0x4C, 0xBB, 0xB3, 0xAD, 0x8F, 0x9D,
3793         0x2A, 0xFD, 0x0F, 0xB7, 0x92, 0xFC, 0xC0, 0x04,
3794         0xD9, 0xF4, 0x0E, 0xF9, 0xD8, 0xFC, 0xC0, 0x08,
3795         0xD9, 0xF4, 0x10, 0x5F, 0xD8, 0xF1, 0xD8, 0xF3,
3796         0xBA, 0xB2, 0xB6, 0xAE, 0xF8, 0xF9, 0xD1, 0xD9,
3797         0xF4, 0x12, 0xE9, 0xD8, 0xF1, 0xAF, 0xDE, 0xF9,
3798         0xFD, 0x0F, 0x80, 0x90, 0x2C, 0x54, 0x7C, 0xA0,
3799         0x2A, 0xF0, 0x50, 0x78, 0xFD, 0x0F, 0xF1, 0xA2,
3800         0x82, 0x9C, 0x00, 0x24, 0x44, 0x64, 0xA9, 0x8F,
3801         0x94, 0xF0, 0x04, 0xFD, 0x0F, 0x0C, 0x30, 0xFD,
3802         0x0F, 0x1C, 0x95, 0x20, 0x48, 0xFD, 0x0F, 0xF1,
3803         0x99, 0xC1, 0x2C, 0x54, 0x7C, 0xAA, 0x82, 0x99,
3804         0x02, 0xFD, 0x0F, 0x2E, 0xFD, 0x0F, 0x56, 0xFD,
3805         0x0F, 0x7E, 0xFD, 0x0F, 0xAC, 0x83, 0x9F, 0xF0,
3806         0x04, 0x28, 0x50, 0x78, 0xFD, 0x0F, 0x8C, 0x90,
3807         0xF1, 0x21, 0xF5, 0x8C, 0x9C, 0x2C, 0xF1, 0xAF,
3808         0xDE, 0xF1, 0x89, 0xAF, 0x9F, 0xFC, 0xC0, 0x00,
3809         0xD9, 0xC1, 0x8A, 0xC1, 0x82, 0xC1, 0xD8, 0xFC,
3810         0xC0, 0x04, 0xD9, 0xC3, 0x8A, 0xC3, 0x82, 0xC3,
3811         0xD8, 0xFC, 0xC0, 0x08, 0xD9, 0xC5, 0x8A, 0xC5,
3812         0x82, 0xC5, 0xD8, 0xFC, 0xC0, 0x0C, 0xD9, 0xC7,
3813         0x8A, 0xC7, 0x82, 0xC7, 0xD8, 0xFC, 0xC0, 0x10,
3814         0xD9, 0xF4, 0x12, 0xA3, 0xD8, 0xF1, 0x8B, 0xAB,
3815         0xD0, 0xC0, 0x9F, 0x2E, 0xFD, 0x0F, 0xA0, 0xDE,
3816         0xAB, 0xD0, 0x90, 0x65, 0xA0, 0x8F, 0x9F, 0x4A,
3817         0xFD, 0x0F, 0xAB, 0x8B, 0x90, 0x00, 0xB9, 0xA9,
3818         0xC1, 0xF3, 0xAE, 0xDF, 0xF8, 0xF4, 0x12, 0xEB,
3819         0xD8, 0xF1, 0xBA, 0xB1, 0xB6, 0x89, 0xAB, 0xC1,
3820         0xB2, 0xAF, 0xD0, 0x8B, 0x9F, 0x3E, 0xFD, 0x0F,
3821         /* bank 17: 0x1100 */
3822         0x5A, 0xFD, 0x0F, 0x9F, 0xFC, 0xC0, 0x00, 0xD9,
3823         0xF1, 0x8F, 0xA2, 0xC6, 0xD8, 0xFC, 0xC0, 0x04,
3824         0xD9, 0x8F, 0xA2, 0xC7, 0x84, 0xAB, 0xD0, 0xC0,
3825         0xAF, 0x8A, 0x9B, 0x1E, 0xFD, 0x0F, 0x36, 0xFD,
3826         0x0F, 0xA4, 0x8F, 0x30, 0xAA, 0x9A, 0x40, 0xD8,
3827         0x9F, 0xFC, 0xC0, 0x08, 0xD9, 0x8F, 0xA2, 0xD0,
3828         0xC6, 0x84, 0xAB, 0xD0, 0xC2, 0xAF, 0x8A, 0x9B,
3829         0x1E, 0xFD, 0x0F, 0x56, 0xFD, 0x0F, 0xA4, 0x8F,
3830         0x34, 0xAA, 0x9A, 0x40, 0x84, 0xAB, 0xD0, 0xC4,
3831         0xAF, 0x8A, 0x9B, 0x3E, 0xFD, 0x0F, 0x56, 0xFD,
3832         0x0F, 0xA4, 0xD0, 0x8F, 0x30, 0xAA, 0x9A, 0x4C,
3833         0xD8, 0x9F, 0xFC, 0xC0, 0x0C, 0xD9, 0x8F, 0xA2,
3834         0xD0, 0xC7, 0x84, 0xAB, 0xD0, 0xC6, 0xAF, 0x8A,
3835         0x9B, 0x1E, 0xFD, 0x0F, 0x76, 0xFD, 0x0F, 0xA4,
3836         0xD0, 0x8F, 0x34, 0xAA, 0x9A, 0x40, 0x85, 0xAB,
3837         0xD0, 0xC0, 0xAF, 0x8A, 0x9B, 0x3E, 0xFD, 0x0F,
3838         0x76, 0xFD, 0x0F, 0xA5, 0x8F, 0x30, 0xAA, 0x9A,
3839         0x4C, 0x85, 0xAB, 0xD0, 0xC2, 0xAF, 0x8A, 0x9B,
3840         0x5E, 0xFD, 0x0F, 0x76, 0xFD, 0x0F, 0xA5, 0x8F,
3841         0x34, 0xAA, 0xD0, 0x9A, 0x50, 0xD8, 0xAF, 0xF8,
3842         0xF4, 0x11, 0x99, 0xF1, 0xD8, 0x8B, 0x9C, 0xAF,
3843         0x2A, 0xFD, 0x0F, 0x8A, 0x9F, 0xB9, 0xAF, 0x02,
3844         0xFD, 0x0F, 0x26, 0xFD, 0x0F, 0x46, 0xFD, 0x0F,
3845         0x66, 0xFD, 0x0F, 0x83, 0xB5, 0x9F, 0xBA, 0xA3,
3846         0x00, 0x2C, 0x54, 0x7C, 0xB6, 0x82, 0x92, 0xA0,
3847         0x31, 0xD9, 0xAD, 0xC3, 0xDA, 0xAD, 0xC5, 0xD8,
3848         0x8D, 0xA0, 0x39, 0xDA, 0x82, 0xAD, 0xC7, 0xD8,
3849         0xF3, 0x9E, 0xFC, 0xC0, 0x04, 0xD9, 0xF4, 0x0E,
3850         0x15, 0xD8, 0xFC, 0xC0, 0x08, 0xD9, 0xF4, 0x0F,
3851         0xE4, 0xD8, 0xF1, 0xD8, 0xF1, 0xB9, 0xB1, 0xB5,
3852         0xA9, 0xDE, 0xF8, 0x89, 0x99, 0xAF, 0x31, 0xD9,
3853         0xF4, 0x13, 0x3F, 0xD8, 0xF1, 0x85, 0xAF, 0x29,
3854         /* bank 18: 0x1200 */
3855         0xD9, 0x84, 0xA9, 0xC2, 0xD8, 0x85, 0xAF, 0x49,
3856         0xD9, 0x84, 0xA9, 0xC4, 0xD8, 0x85, 0xAF, 0x69,
3857         0xD9, 0x84, 0xA9, 0xC6, 0xD8, 0x89, 0xAF, 0x39,
3858         0xDA, 0x8E, 0xA9, 0x50, 0xF4, 0x13, 0x3F, 0xD8,
3859         0xF1, 0x89, 0xAA, 0x7C, 0xFD, 0x02, 0x9A, 0x68,
3860         0xD8, 0xF1, 0xAA, 0xFB, 0xDA, 0x89, 0x99, 0xAF,
3861         0x26, 0xFD, 0x0F, 0x8F, 0x95, 0x25, 0x89, 0x9F,
3862         0xA9, 0x12, 0xFD, 0x0F, 0xF4, 0x13, 0x28, 0xD8,
3863         0xF3, 0x9E, 0xFC, 0xC1, 0x04, 0xD9, 0xF4, 0x11,
3864         0xF0, 0xD8, 0xFC, 0xC1, 0x08, 0xD9, 0xF4, 0x11,
3865         0x0B, 0xD8, 0xF1, 0xBE, 0xBC, 0xBC, 0xBD, 0xBD,
3866         0xF7, 0xB8, 0xB4, 0xB0, 0xAC, 0x84, 0x9D, 0x12,
3867         0xF9, 0xF2, 0xBC, 0xBC, 0x8A, 0xA7, 0xD0, 0xD9,
3868         0xC3, 0xDA, 0xC5, 0xD8, 0xBC, 0xBD, 0xBD, 0xF3,
3869         0x8F, 0xA8, 0xC0, 0xF9, 0xAC, 0x84, 0x97, 0xF5,
3870         0x1A, 0xF1, 0xF8, 0xF9, 0xD1, 0xDA, 0xA8, 0xDE,
3871         0xD8, 0x95, 0xFC, 0xC1, 0x03, 0xD9, 0xA8, 0xDE,
3872         0xD8, 0xBC, 0xBC, 0xF1, 0x98, 0xFC, 0xC0, 0x1C,
3873         0xDB, 0x95, 0xFC, 0xC0, 0x03, 0xA5, 0xDE, 0xA4,
3874         0xDE, 0xD8, 0xAC, 0x88, 0x95, 0x00, 0xD1, 0xD9,
3875         0xA5, 0xF8, 0xD8, 0xA4, 0xFC, 0x80, 0x04, 0x88,
3876         0x95, 0xA4, 0xFC, 0x08, 0x04, 0x20, 0xF7, 0xBC,
3877         0xBD, 0xB5, 0xAC, 0x84, 0x9F, 0xF6, 0x02, 0xF8,
3878         0xF9, 0xD1, 0xDB, 0x84, 0x93, 0xF7, 0x6A, 0xF9,
3879         0xD9, 0xF3, 0xBC, 0xBC, 0xA8, 0x88, 0x92, 0x18,
3880         0xBC, 0xD8, 0xBC, 0xBC, 0xB4, 0xA8, 0x88, 0x9E,
3881         0x08, 0xF4, 0xBE, 0xA1, 0xD0, 0xBC, 0xF7, 0xBE,
3882         0xBE, 0xB5, 0xAC, 0x84, 0x93, 0x6A, 0xF9, 0xBD,
3883         0xBD, 0xB4, 0xD9, 0xF2, 0xAC, 0x8C, 0x97, 0x18,
3884         0xF6, 0x84, 0x9C, 0x02, 0xF8, 0xF9, 0xDB, 0xD1,
3885         0xF1, 0xA5, 0xDF, 0xD8, 0xF7, 0xBE, 0xBD, 0xA7,
3886         0x9D, 0x88, 0x7A, 0xF9, 0xD9, 0xF4, 0x15, 0x8B,
3887         /* bank 19: 0x1300 */
3888         0xD8, 0xF1, 0xBE, 0xBE, 0xAC, 0xDE, 0xDF, 0xAC,
3889         0x88, 0x9F, 0xF7, 0x5A, 0x56, 0xF1, 0xBC, 0xBC,
3890         0xBD, 0xBD, 0x95, 0xFC, 0xC0, 0x07, 0xDA, 0xF4,
3891         0x15, 0x2C, 0xD8, 0xF1, 0xFC, 0xC0, 0x00, 0xDB,
3892         0x9C, 0xFC, 0xC1, 0x00, 0xF4, 0x15, 0x51, 0xD8,
3893         0xF1, 0xAC, 0x95, 0xFC, 0xC0, 0x08, 0xDA, 0xF4,
3894         0x14, 0x72, 0xD8, 0xF1, 0x82, 0x90, 0x79, 0x2D,
3895         0x55, 0xF5, 0x8C, 0x9C, 0x04, 0xAC, 0x2C, 0x54,
3896         0xF1, 0xBC, 0xBC, 0x80, 0x5D, 0xDB, 0x49, 0x51,
3897         0xF4, 0xBC, 0x14, 0x50, 0xDA, 0xBC, 0x15, 0x28,
3898         0xD8, 0xF5, 0x86, 0x98, 0x38, 0xD9, 0xF1, 0x82,
3899         0x90, 0x2D, 0xD8, 0xAC, 0xD0, 0x86, 0x98, 0xF5,
3900         0x5C, 0xD9, 0xF1, 0x82, 0x90, 0x55, 0xD8, 0xAC,
3901         0x8C, 0x9C, 0x00, 0x00, 0xA5, 0xDF, 0xF8, 0xF4,
3902         0x14, 0x7D, 0xD8, 0xF1, 0x82, 0x96, 0x2D, 0x55,
3903         0x7D, 0x8C, 0x9C, 0x34, 0x18, 0xF1, 0xAC, 0x95,
3904         0xF5, 0x1C, 0xD9, 0xF4, 0x15, 0x28, 0xD8, 0xF1,
3905         0xAC, 0x83, 0x90, 0x45, 0xD9, 0xA0, 0xF8, 0xAC,
3906         0x8C, 0x9C, 0x06, 0xD2, 0xA1, 0x91, 0x00, 0x2C,
3907         0x81, 0xD6, 0xF0, 0xA1, 0xD0, 0x8C, 0x9C, 0x28,
3908         0xD3, 0x87, 0xD4, 0xA7, 0x8C, 0x20, 0xD3, 0xF1,
3909         0xA4, 0x84, 0x90, 0x2C, 0x54, 0x7C, 0xD8, 0xAC,
3910         0x83, 0x90, 0x45, 0xD9, 0xF4, 0x15, 0x51, 0xD8,
3911         0xF1, 0xAC, 0x81, 0x91, 0x02, 0xFD, 0x18, 0x85,
3912         0x66, 0xFD, 0x1F, 0x88, 0x4E, 0xFD, 0x1D, 0x87,
3913         0xD4, 0xFD, 0x56, 0xF0, 0x81, 0x9C, 0xAB, 0xD6,
3914         0xFD, 0x08, 0x31, 0x8C, 0x10, 0x10, 0x01, 0x01,
3915         0x01, 0x39, 0xAC, 0x8B, 0x98, 0xF5, 0x08, 0xD9,
3916         0xF4, 0x15, 0x28, 0xD8, 0xF1, 0xA9, 0x82, 0x96,
3917         0x01, 0x95, 0xFC, 0xC1, 0x00, 0xDA, 0xF4, 0x15,
3918         0x00, 0xDB, 0xF1, 0xAC, 0x89, 0x93, 0xF5, 0x18,
3919         0xF1, 0xA5, 0xDF, 0xF8, 0xD8, 0xF4, 0x15, 0x2C,
3920         /* bank 20: 0x1400 */
3921         0xD8, 0xF1, 0xA4, 0x84, 0x95, 0x34, 0xFD, 0x08,
3922         0x54, 0xFD, 0x08, 0x74, 0xFD, 0x08, 0xA9, 0x94,
3923         0xF5, 0x2C, 0x54, 0x7C, 0xF1, 0xAC, 0x87, 0x99,
3924         0x49, 0xDB, 0x51, 0x59, 0x84, 0xAB, 0xC3, 0xC5,
3925         0xC7, 0x82, 0xA6, 0xC0, 0xF3, 0xAA, 0xDF, 0xF8,
3926         0xD8, 0xF1, 0xA5, 0xDF, 0xD8, 0xF1, 0xA0, 0xDE,
3927         0xA1, 0xDE, 0xDF, 0xDF, 0xDF, 0xA7, 0xDE, 0xDF,
3928         0xA4, 0xDF, 0xDF, 0xDF, 0xA2, 0x95, 0xFC, 0xC0,
3929         0x01, 0xD9, 0x80, 0xC3, 0xC5, 0xC7, 0xA8, 0x83,
3930         0xC1, 0xDA, 0x86, 0xC3, 0xC5, 0xC7, 0xA8, 0x83,
3931         0xC3, 0xD8, 0xF1, 0x9A, 0xFC, 0xC1, 0x04, 0xD9,
3932         0xAC, 0x82, 0x96, 0x01, 0xF3, 0xAA, 0xDE, 0xF8,
3933         0xF8, 0xF8, 0xDB, 0xF5, 0xAC, 0x8C, 0x9A, 0x18,
3934         0xF3, 0xAA, 0xF9, 0xD8, 0xAC, 0x8A, 0x9A, 0x41,
3935         0xD1, 0xAA, 0xD0, 0xC0, 0xD9, 0xF2, 0xAC, 0x85,
3936         0x9A, 0x41, 0xDB, 0xD1, 0xBC, 0xBD, 0xBE, 0xF4,
3937         0x15, 0x8B, 0xD8, 0xF3, 0xBC, 0xBD, 0xBE, 0xA5,
3938         0x85, 0x9C, 0x10, 0xD8, 0xF1, 0xBB, 0xB2, 0xB6,
3939         0xF2, 0xBE, 0xA1, 0xF8, 0xF9, 0xD1, 0xBE, 0xBE,
3940         0xBA, 0xDA, 0xA5, 0xDE, 0xD8, 0xA7, 0x82, 0x95,
3941         0x65, 0xD1, 0x85, 0xA2, 0xD0, 0xC1, 0xD9, 0xB5,
3942         0xA7, 0x86, 0x93, 0x31, 0xDB, 0xD1, 0xF4, 0x15,
3943         0xBA, 0xD8, 0xF3, 0xB8, 0xB0, 0xB4, 0xA5, 0x85,
3944         0x9C, 0x18, 0xD8, 0xF1, 0xBA, 0xB2, 0xB6, 0x81,
3945         0x96, 0xA1, 0xF8, 0xF9, 0xB9, 0xA6, 0xDA, 0xC3,
3946         0xC5, 0xC7, 0xD9, 0x2D, 0x4D, 0x6D, 0xD8, 0xBA,
3947         0x88, 0xA8, 0xF8, 0xF9, 0xA7, 0xDA, 0xC3, 0xC5,
3948         0xC7, 0xD9, 0x2D, 0x4D, 0x6D, 0xD8, 0xF2, 0xB0,
3949         0xB9, 0xA3, 0xFA, 0xF9, 0xD1, 0xDA, 0xB8, 0x8F,
3950         0xA7, 0xC0, 0xF9, 0xB5, 0x87, 0x93, 0xF6, 0x0A,
3951         0xF2, 0xB4, 0xA4, 0x84, 0x97, 0x24, 0xA4, 0x84,
3952         0x9E, 0x3C, 0xD8, 0xF7, 0xB9, 0xB0, 0xB5, 0xA6,
3953         /* bank 21: 0x1500 */
3954         0x88, 0x95, 0x5A, 0xF9, 0xDA, 0xF1, 0xAB, 0xF8,
3955         0xD8, 0xB8, 0xB4, 0xF3, 0x98, 0xFC, 0xC0, 0x04,
3956         0xDA, 0xF4, 0x16, 0x64, 0xD8, 0xF2, 0xA9, 0xD0,
3957         0xF8, 0x89, 0x9B, 0xA7, 0x51, 0xD9, 0xA9, 0xD0,
3958         0xDE, 0xA4, 0x84, 0x9E, 0x2C, 0xD8, 0xA8, 0xFA,
3959         0x88, 0x9A, 0xA7, 0x29, 0xD9, 0xA8, 0xDF, 0xA4,
3960         0x84, 0x9D, 0x34, 0xD8, 0xA8, 0xD0, 0xF8, 0x88,
3961         0x9A, 0xA7, 0x51, 0xD9, 0xA8, 0xD0, 0xDE, 0xA4,
3962         0x84, 0x9D, 0x2C, 0xD8, 0xA8, 0xD0, 0xFA, 0x88,
3963         0x9A, 0xA7, 0x79, 0xD9, 0xA8, 0xD0, 0xDF, 0xA4,
3964         0x84, 0x9D, 0x24, 0xD8, 0xF3, 0xA9, 0xD0, 0xF8,
3965         0x89, 0x9B, 0xA7, 0x51, 0xD9, 0xA9, 0xD0, 0xDE,
3966         0xA4, 0x84, 0x9C, 0x2C, 0xD8, 0xF7, 0xA7, 0x88,
3967         0x9F, 0x52, 0xF9, 0xD9, 0xF4, 0x16, 0xA1, 0xD8,
3968         0xF1, 0xB9, 0xA2, 0xFA, 0xF3, 0xB8, 0xA9, 0xD0,
3969         0xFA, 0x89, 0x9B, 0xA7, 0x79, 0xD9, 0xA9, 0xD0,
3970         0xDF, 0xA4, 0x84, 0x9C, 0x24, 0xD8, 0xA7, 0x84,
3971         0x9D, 0xF7, 0x12, 0xF9, 0xD9, 0xF4, 0x16, 0xA1,
3972         0xD8, 0xF2, 0xA8, 0xD0, 0xF8, 0x88, 0x9A, 0xA7,
3973         0x51, 0xD9, 0xA8, 0xD0, 0xDE, 0xA4, 0x84, 0x9D,
3974         0x2C, 0xD8, 0xF7, 0xA7, 0x88, 0x9F, 0x42, 0xF9,
3975         0xD9, 0xF4, 0x16, 0xE8, 0xD8, 0xF3, 0xA9, 0xF8,
3976         0x89, 0x9B, 0xA7, 0x01, 0xD9, 0xA9, 0xDE, 0xA4,
3977         0x84, 0x9C, 0x3C, 0xD8, 0xA9, 0xFA, 0x89, 0x9B,
3978         0xA7, 0x29, 0xD9, 0xA9, 0xDF, 0xA4, 0x84, 0x9C,
3979         0x34, 0xD8, 0xF2, 0xA9, 0xFA, 0x89, 0x9B, 0xA7,
3980         0x29, 0xD9, 0xA9, 0xDF, 0xA4, 0x84, 0x9E, 0x34,
3981         0xD8, 0xA9, 0xD0, 0xFA, 0x89, 0x9B, 0xA7, 0x79,
3982         0xD9, 0xA9, 0xD0, 0xDF, 0xA4, 0x84, 0x9E, 0x24,
3983         0xD8, 0xF2, 0xA4, 0x84, 0x9D, 0x3C, 0xF1, 0xA7,
3984         0xDE, 0xF2, 0x84, 0xCA, 0x97, 0xA4, 0x24, 0xA5,
3985         0x94, 0xF6, 0x0A, 0xF7, 0x85, 0x02, 0xF8, 0xF9,
3986         /* bank 22: 0x1600 */
3987         0xD1, 0xD9, 0xF6, 0x9B, 0x02, 0xD8, 0xA7, 0xB1,
3988         0x80, 0x95, 0x42, 0xF8, 0xF9, 0xD1, 0xD9, 0xF4,
3989         0x18, 0x5B, 0xD8, 0xF0, 0xB0, 0x85, 0xA4, 0xD0,
3990         0xC0, 0xDD, 0xF2, 0xC0, 0xDC, 0xF6, 0xA7, 0x9F,
3991         0x02, 0xF9, 0xD9, 0xF3, 0xA5, 0xDE, 0xDA, 0xF0,
3992         0xDD, 0xF2, 0xC8, 0xDC, 0xD8, 0x85, 0x95, 0xA5,
3993         0x00, 0xD9, 0x86, 0xF0, 0xDD, 0xF2, 0xCA, 0xCC,
3994         0xCE, 0xDC, 0xD8, 0x85, 0x00, 0xD9, 0x80, 0xF0,
3995         0xDD, 0xF2, 0xCC, 0xC6, 0xCE, 0xDC, 0xD8, 0x85,
3996         0x00, 0xD9, 0xB1, 0x89, 0xF0, 0xDD, 0xF2, 0xC2,
3997         0xCA, 0xC4, 0xDC, 0xD8, 0xB0, 0x85, 0x00, 0xD9,
3998         0x81, 0xF0, 0xDD, 0xF2, 0xC6, 0xCE, 0x82, 0xC0,
3999         0xC8, 0xDC, 0xD8, 0x85, 0x00, 0xB1, 0xD9, 0x86,
4000         0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC, 0xD8,
4001         0xB0, 0xF2, 0x85, 0x00, 0xD9, 0xB2, 0x87, 0xF0,
4002         0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xF2, 0xB2, 0x86,
4003         0xC4, 0xDC, 0xD8, 0xB0, 0x85, 0x00, 0xB1, 0xD9,
4004         0x8F, 0xF0, 0xDD, 0xF2, 0xC2, 0xC4, 0xC6, 0xDC,
4005         0xD8, 0xB0, 0x85, 0x00, 0x00, 0xD9, 0x82, 0xF0,
4006         0xDD, 0xF2, 0xC2, 0xCA, 0xC4, 0xDC, 0xD8, 0x85,
4007         0x00, 0xD9, 0x85, 0xF0, 0xDD, 0xF1, 0xC2, 0xC4,
4008         0xC6, 0xDC, 0xD8, 0xF2, 0x85, 0x00, 0xD9, 0xB1,
4009         0x8A, 0xF0, 0xDD, 0xF1, 0xC2, 0xC4, 0xC6, 0xDC,
4010         0xD8, 0xB0, 0xF2, 0x85, 0x00, 0xD9, 0xB1, 0xF0,
4011         0xDD, 0xF1, 0x82, 0xC4, 0xDC, 0xD8, 0xB0, 0xF3,
4012         0xA5, 0xF8, 0xF9, 0xD1, 0xD9, 0xF4, 0x18, 0x10,
4013         0xD8, 0xF3, 0x85, 0x95, 0xA5, 0x00, 0x00, 0xD9,
4014         0xBE, 0xF2, 0xBA, 0xAE, 0xDE, 0xBE, 0xBE, 0xBC,
4015         0xB2, 0x81, 0xF0, 0xDD, 0xF3, 0xC8, 0xDC, 0xBC,
4016         0xBC, 0xD8, 0xB0, 0xB8, 0x85, 0xA5, 0x00, 0xD9,
4017         0xF2, 0xBE, 0xBE, 0xAA, 0xDE, 0xBE, 0xBC, 0xBC,
4018         0x8A, 0xF0, 0xDD, 0xF3, 0xC0, 0xDC, 0xBC, 0xD8,
4019         /* bank 23: 0x1700 */
4020         0x85, 0xA5, 0x00, 0xD9, 0xB9, 0xF2, 0xA3, 0xD0,
4021         0xDE, 0xB2, 0x85, 0xF0, 0xDD, 0xF3, 0xC8, 0xDC,
4022         0xD8, 0xF6, 0xB8, 0xB0, 0xA7, 0x84, 0x9D, 0x5A,
4023         0xF8, 0xF9, 0xD1, 0xDA, 0xB1, 0x80, 0xF0, 0xDD,
4024         0xF3, 0xC4, 0xDC, 0xD8, 0xF2, 0x86, 0xB9, 0xAF,
4025         0xC3, 0xC5, 0xC7, 0xF2, 0xB9, 0xA3, 0xDF, 0xB8,
4026         0xB0, 0xB4, 0xA7, 0x84, 0x9D, 0xF7, 0x1A, 0xF9,
4027         0xD9, 0xF4, 0x18, 0x49, 0xD8, 0xF1, 0xB9, 0xB1,
4028         0xB5, 0xA6, 0x83, 0x9B, 0x61, 0xD9, 0xF4, 0x18,
4029         0x5B, 0xD8, 0xF6, 0xB8, 0xB0, 0xB4, 0xA7, 0x84,
4030         0x94, 0x5A, 0xF8, 0xF9, 0xD1, 0xDA, 0xFE, 0xF1,
4031         0xB9, 0xAB, 0xDE, 0xD8, 0xF1, 0xB8, 0xB0, 0xB4,
4032         0xA7, 0x88, 0x9C, 0xF7, 0x6A, 0xF9, 0xD9, 0xFF,
4033         0xD8, 0xF1, 0xBB, 0xAA, 0xF9, 0xDA, 0xFF, 0xD8,
4034         0xB3, 0x8A, 0xC2, 0xB2, 0x8B, 0xB6, 0x94, 0xBA,
4035         0xA7, 0x22, 0xB7, 0x93, 0xF0, 0x31, 0x31, 0x20,
4036         0xD3, 0x8F, 0xB6, 0x9C, 0xAB, 0x01, 0x29, 0x51,
4037         0x79, 0xAF, 0xC2, 0xC5, 0xC7, 0x8B, 0x9B, 0xF1,
4038         0x04, 0xFD, 0x01, 0x87, 0xD4, 0x8E, 0x9D, 0xAB,
4039         0xF0, 0x01, 0x29, 0x51, 0x79, 0xAE, 0xC2, 0xC5,
4040         0xC7, 0x8B, 0x9B, 0xF1, 0x04, 0xFD, 0x01, 0xB3,
4041         0x81, 0x94, 0xBB, 0xA7, 0x62, 0xB7, 0x93, 0xF0,
4042         0x71, 0x71, 0x60, 0x85, 0x94, 0x01, 0x29, 0x51,
4043         0x79, 0xA5, 0xC2, 0xC5, 0xC7, 0x87, 0x97, 0xF1,
4044         0x04, 0xFD, 0x01, 0x81, 0xB6, 0x94, 0xA7, 0x02,
4045         0xB7, 0x93, 0xF0, 0x11, 0x11, 0x00, 0x8E, 0x9B,
4046         0x01, 0x29, 0x51, 0x79, 0xAE, 0xC2, 0xC5, 0xC7,
4047         0x87, 0x97, 0xF1, 0x04, 0xFD, 0x01, 0x83, 0xA3,
4048         0xC2, 0xC5, 0xC7, 0xB2, 0x84, 0xC1, 0xB0, 0xB4,
4049         0xB8, 0x88, 0x9D, 0xA7, 0xF7, 0x62, 0xF9, 0xD9,
4050         0xF4, 0x19, 0x5E, 0xD8, 0xF1, 0xBE, 0xAA, 0xF8,
4051         0xFA, 0xAB, 0xDE, 0xBC, 0x8B, 0xBD, 0x9B, 0xBE,
4052         /* bank 24: 0x1800 */
4053         0xBE, 0xBA, 0xAF, 0xD0, 0xFC, 0x58, 0x00, 0x10,
4054         0xBE, 0xB8, 0xFC, 0xC0, 0x04, 0xDB, 0xFC, 0xC1,
4055         0x00, 0xAA, 0xDE, 0xDF, 0xAC, 0xDE, 0xDF, 0xAB,
4056         0xDF, 0xF8, 0xD8, 0xAC, 0xFC, 0x90, 0x00, 0x8C,
4057         0xFC, 0x09, 0x04, 0x00, 0x8A, 0x9C, 0xA9, 0x31,
4058         0xD9, 0xAA, 0xDF, 0xAC, 0xDF, 0xD8, 0x9B, 0xFC,
4059         0xC0, 0x04, 0xDB, 0x9A, 0xA9, 0x19, 0xAC, 0xF8,
4060         0xD8, 0x9B, 0xFC, 0xC1, 0x04, 0xDB, 0x9A, 0xA9,
4061         0x11, 0xAB, 0xDF, 0x8C, 0x9C, 0xA9, 0x19, 0xD9,
4062         0xF3, 0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBE, 0x8D,
4063         0x94, 0xA4, 0xD0, 0x1D, 0xF4, 0x42, 0xDA, 0xF1,
4064         0xBC, 0xBC, 0xBD, 0xBD, 0xBE, 0xBE, 0xD8, 0xF1,
4065         0xB1, 0x8B, 0xB5, 0x9A, 0xB9, 0xA6, 0x41, 0xD9,
4066         0xAA, 0xF8, 0xF5, 0xB2, 0x8F, 0xB6, 0x9F, 0xA6,
4067         0x78, 0x8E, 0x9E, 0x7C, 0xF1, 0xB1, 0x81, 0xB5,
4068         0x96, 0x05, 0x2D, 0x8E, 0xA6, 0x72, 0x7E, 0x81,
4069         0xA1, 0x00, 0x2C, 0xF4, 0x19, 0xAA, 0xD8, 0xF1,
4070         0xAA, 0xDE, 0x81, 0x91, 0xA6, 0x2C, 0xFD, 0x02,
4071         0x96, 0x29, 0x92, 0xFC, 0xC0, 0x03, 0xD9, 0x96,
4072         0x29, 0xD8, 0xA2, 0xDE, 0xF8, 0x86, 0x91, 0xA6,
4073         0x21, 0xDB, 0x8B, 0x61, 0xA2, 0xDE, 0xB3, 0x86,
4074         0xA4, 0xC0, 0xD8, 0xF3, 0xBB, 0xB3, 0xB7, 0xA2,
4075         0xF8, 0xF2, 0xF8, 0xF1, 0x80, 0x9D, 0xAD, 0xD0,
4076         0x7C, 0xF2, 0xA2, 0xFA, 0xF9, 0xD1, 0xF1, 0xB9,
4077         0xAC, 0xD9, 0xDE, 0xDA, 0xF8, 0xD8, 0xF2, 0xA6,
4078         0x82, 0x92, 0x49, 0xF9, 0xDB, 0xF1, 0xB1, 0x8C,
4079         0xB5, 0x9C, 0x21, 0xD9, 0xF5, 0xB3, 0x85, 0xB7,
4080         0x95, 0x78, 0x8E, 0x9E, 0x7C, 0xF1, 0xB1, 0x8D,
4081         0xB5, 0x9D, 0xAD, 0x1A, 0xF0, 0x96, 0x40, 0x9D,
4082         0x3C, 0x96, 0x48, 0xD8, 0xF1, 0xB1, 0x8E, 0xB5,
4083         0x9D, 0xB9, 0xA6, 0x2A, 0x8D, 0x96, 0x05, 0xD9,
4084         0xF4, 0x1A, 0x23, 0xD8, 0xF2, 0xB3, 0x82, 0xB7,
4085         /* bank 25: 0x1900 */
4086         0x92, 0xBB, 0xAF, 0x49, 0xF9, 0xF9, 0xDB, 0xF1,
4087         0xB1, 0x8C, 0xB5, 0x9C, 0xB9, 0xA6, 0x21, 0xF4,
4088         0x1A, 0x23, 0xD8, 0xF1, 0xB3, 0x8E, 0xBB, 0xA8,
4089         0xD0, 0xC4, 0xC7, 0xF3, 0xB9, 0xAC, 0xD0, 0xDE,
4090         0xF4, 0x1A, 0x34, 0xD8, 0xF1, 0xB3, 0x85, 0xBB,
4091         0xA8, 0xD0, 0xC4, 0xC7, 0xF3, 0xB9, 0xAC, 0xD0,
4092         0xDE, 0xF8, 0xDF, 0xF8, 0xD8, 0xF3, 0xB5, 0x9C,
4093         0xFC, 0xC3, 0x04, 0xDB, 0xFC, 0xC2, 0x00, 0xD9,
4094         0xF2, 0xAC, 0xD0, 0xDE, 0xD8, 0xF2, 0xBB, 0xAF,
4095         0xB7, 0x92, 0xB3, 0x82, 0x19, 0x80, 0xA2, 0xD9,
4096         0x26, 0xF3, 0xA7, 0xD0, 0xDF, 0xD8, 0xF1, 0xAF,
4097         0x89, 0x98, 0x19, 0xA9, 0x80, 0xD9, 0x38, 0xD8,
4098         0xAF, 0x89, 0x39, 0xA9, 0x80, 0xDA, 0x3C, 0xD8,
4099         0xAF, 0x2E, 0x88, 0xF5, 0x75, 0xDA, 0xFF, 0xD8,
4100         0x71, 0xDA, 0xF1, 0xFF, 0xD8, 0x82, 0xA7, 0xF3,
4101         0xC1, 0xF2, 0x80, 0xC2, 0xF1, 0x97, 0x86, 0x49,
4102         0x2E, 0xA6, 0xD0, 0x50, 0x96, 0x86, 0xAF, 0x75,
4103         0xD9, 0x88, 0xA2, 0xD0, 0xF3, 0xC0, 0xC3, 0xF1,
4104         0xDA, 0x8F, 0x96, 0xA2, 0xD0, 0xF3, 0xC2, 0xC3,
4105         0x82, 0xB6, 0x9B, 0x78, 0x78, 0xF1, 0xD8, 0xB7,
4106         0xAF, 0xDF, 0xF9, 0x89, 0x99, 0xAF, 0x10, 0x80,
4107         0x9F, 0x21, 0xDA, 0x2E, 0xD8, 0x89, 0x99, 0xAF,
4108         0x31, 0xDA, 0xDF, 0xD8, 0xAF, 0x82, 0x92, 0xF3,
4109         0x41, 0xD9, 0xF1, 0xDF, 0xD8, 0xAF, 0x82, 0xF3,
4110         0x19, 0xD9, 0xF1, 0xDF, 0xD8, 0xF1, 0x89, 0x90,
4111         0xAF, 0xD0, 0x09, 0x8F, 0x99, 0xAF, 0x51, 0xDB,
4112         0x89, 0x31, 0xF3, 0x82, 0x92, 0x19, 0xF2, 0xB1,
4113         0x8C, 0xB5, 0x9C, 0x71, 0xD9, 0xF1, 0xDF, 0xF9,
4114         0xF2, 0xB9, 0xAC, 0xD0, 0xF8, 0xF8, 0xF3, 0xDF,
4115         0xD8, 0xB3, 0xB7, 0xBB, 0x82, 0xAC, 0xF3, 0xC0,
4116         0xA2, 0x80, 0x22, 0xF1, 0xA9, 0x22, 0x26, 0x9F,
4117         0xAF, 0x29, 0xDA, 0xAC, 0xDE, 0xFF, 0xD8, 0xA2,
4118         /* bank 26: 0x1A00 */
4119         0xF2, 0xDE, 0xF1, 0xA9, 0xDF, 0xB5, 0x92, 0xFC,
4120         0xC0, 0x00, 0xD9, 0xFF, 0xD8, 0xAD, 0xD0, 0xDE,
4121         0xF8, 0xB1, 0x84, 0xB6, 0x96, 0xBA, 0xA7, 0xD0,
4122         0x7E, 0xB7, 0x96, 0xA7, 0x01, 0xB2, 0x87, 0x9D,
4123         0x05, 0xDB, 0xB3, 0x8D, 0xB6, 0x97, 0x79, 0xF3,
4124         0xB1, 0x8C, 0x96, 0x49, 0xF1, 0xBB, 0xAD, 0xD0,
4125         0xF8, 0xD8, 0xF3, 0xB9, 0xAC, 0xD0, 0xF8, 0xF9,
4126         0xD1, 0xD9, 0xF1, 0xBB, 0xAD, 0xD0, 0xF8, 0xD8,
4127         0xB3, 0xB7, 0xBB, 0x97, 0x8C, 0xAF, 0xF3, 0x79,
4128         0xD9, 0xF4, 0x1B, 0x6D, 0xD8, 0xF1, 0xB1, 0x82,
4129         0xB9, 0xA2, 0xD0, 0xC2, 0xB3, 0xF2, 0xB9, 0xA3,
4130         0xFA, 0xF1, 0xBB, 0xAA, 0xD0, 0xF8, 0xB8, 0xB0,
4131         0xB4, 0xA7, 0x88, 0x9C, 0xF7, 0x72, 0xF9, 0xF4,
4132         0xDA, 0x44, 0xD8, 0x1B, 0x80, 0xD8, 0xF3, 0xB3,
4133         0xB7, 0xBB, 0xA7, 0xD0, 0xFA, 0x97, 0x8C, 0xAF,
4134         0x79, 0xDA, 0xF1, 0x87, 0x9A, 0xAA, 0xD0, 0x70,
4135         0xD8, 0xF2, 0xBB, 0xB3, 0xB7, 0x82, 0x92, 0xAF,
4136         0x31, 0xDA, 0xF4, 0x1B, 0xBD, 0xD8, 0xF1, 0x8D,
4137         0x96, 0xA6, 0x40, 0xAC, 0x8C, 0x9C, 0x0C, 0x30,
4138         0xBA, 0x8D, 0x9D, 0xA7, 0x39, 0xDB, 0xF3, 0xB1,
4139         0x8C, 0xB6, 0x96, 0x49, 0xD9, 0xF1, 0x84, 0xB5,
4140         0x94, 0xB9, 0xA4, 0xD0, 0x5E, 0xF0, 0xB7, 0x9D,
4141         0x38, 0xD8, 0xF1, 0xBB, 0xAC, 0xDE, 0xD0, 0xDE,
4142         0xAD, 0xD0, 0xDF, 0xF1, 0xFF, 0xD8, 0xF3, 0xB9,
4143         0xAC, 0xD0, 0xF8, 0xF9, 0xD1, 0xD9, 0xF2, 0xBB,
4144         0xA2, 0xFA, 0xF8, 0xDA, 0xF2, 0xBB, 0xA2, 0xFA,
4145         0xD8, 0xF2, 0xBB, 0x82, 0xAF, 0xC2, 0xF9, 0xD1,
4146         0xD9, 0xF1, 0xB9, 0xAC, 0xDE, 0xAD, 0xDE, 0xDF,
4147         0xD8, 0xF1, 0x8C, 0x9C, 0xBB, 0xAC, 0xD0, 0x10,
4148         0xAC, 0xDE, 0xAD, 0xD0, 0xDF, 0x92, 0x82, 0xAF,
4149         0xF1, 0xCA, 0xF2, 0x35, 0xF1, 0x96, 0x8F, 0xA6,
4150         0xD9, 0x00, 0xD8, 0xF1, 0xFF,
4151         /* bank 27: 0x1B00 */
4152 };
4153 #endif /* ICM_DMP_FW_VER */
4154
4155 struct nvi_dmp nvi_dmp_icm = {
4156         .fw                             = dmp_fw_20628,
4157         .fw_ver                         = ICM_DMP_FW_VER,
4158         .fw_len                         = ARRAY_SIZE(dmp_fw_20628),
4159         .fw_crc32                       = ICM_DMP_FW_CRC32,
4160         .fw_mem_addr                    = 0x90,
4161         .fw_start                       = 0x08D0,
4162         .dmp_reset_delay_ms             = 25,
4163         .fifo_mode                      = ICM_DMP_FIFO_MODE,
4164         .dev_msk                        = ICM_DMP_DEV_MSK,
4165         .en_msk                         = MSK_DEV_ALL,
4166         .dd_n                           = ARRAY_SIZE(nvi_dmp_devs),
4167         .dd                             = nvi_dmp_devs,
4168         .ap                             = nvi_dmp_ap,
4169         .ap_n                           = ARRAY_SIZE(nvi_dmp_ap),
4170         .fn_rd                          = &nvi_dmp_rd,
4171         .fn_clk_n                       = &nvi_dmp_clk_n,
4172         .fn_init                        = &nvi_dmp_init,
4173         .fn_en                          = &nvi_dmp_en,
4174         .fn_dev_init                    = &nvi_dd_init,
4175 };
4176 EXPORT_SYMBOL(nvi_dmp_icm);
4177