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