xref: /openbsd/sys/dev/microcode/kue/kue_fw.h (revision 771fbea0)
1 /*	$OpenBSD: kue_fw.h,v 1.2 2004/11/22 18:49:05 deraadt Exp $ */
2 /*	$NetBSD: kue_fw.h,v 1.3 2001/01/19 08:54:21 jdolecek Exp $	*/
3 /*
4  * Copyright (c) 1997, 1998, 1999, 2000
5  *	Bill Paul <wpaul@ee.columbia.edu>.  All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *	This product includes software developed by Bill Paul.
18  * 4. Neither the name of the author nor the names of any co-contributors
19  *    may be used to endorse or promote products derived from this software
20  *    without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25  * ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
26  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32  * THE POSSIBILITY OF SUCH DAMAGE.
33  *
34  * $FreeBSD: src/sys/dev/usb/kue_fw.h,v 1.1 2000/01/05 04:27:07 wpaul Exp $
35  */
36 
37 /*
38  * This file contains the firmware needed to make the KLSI chip work,
39  * along with a few constants related to the QT Engine microcontroller
40  * embedded in the KLSI part.
41  *
42  * Firmware is loaded using the vendor-specific 'send scan data'
43  * command (0xFF). The basic operation is that we must load the
44  * firmware, then issue some trigger commands to fix it up and start
45  * it running. There are three transfers: load the binary code,
46  * load the 'fixup' (data segment?), then issue a command to
47  * start the code firmware running. The data itself is prefixed by
48  * a 16-bit signature word, a 16-bit length value, a type byte
49  * and an interrupt (command) byte. The code segment is of type
50  * 0x02 (replacement interrupt vector data) and the fixup segment
51  * is of type 0x03 (replacement interrupt fixup data). The interrupt
52  * code is 0x64 (load new code). The length word is the total length
53  * of the segment minus 7. I precomputed the values and stuck them
54  * into the appropriate locations within the segments to save some
55  * work in the driver.
56  */
57 
58 #if 0
59 
60 
61 /* QT controller data block types. */
62 /* Write data into specific memory location. */
63 #define KUE_QTBTYPE_WRITE_DATA		0x00
64 /* Write data into interrupt vector location */
65 #define KUE_QTBTYPE_WRITE_INTVEC	0x01
66 /* Replace interrupt vector with this data */
67 #define KUE_QTBTYPE_REPL_INTVEC		0x02
68 /* Fixup interrupt vector code with this data */
69 #define KUE_QTBTYPE_FIXUP_INTVEC	0x03
70 /* Force jump to location */
71 #define KUE_QTBTYPE_JUMP		0x04
72 /* Force call to location */
73 #define KUE_QTBTYPE_CALL		0x05
74 /* Force interrupt call */
75 #define KUE_QTBTYPE_CALLINTR		0x06
76 /*
77  * Cause data to be written using the specified QT engine
78  * interrupt, from starting location in memory for a specified
79  * number of bytes.
80  */
81 #define KUE_QTBTYPE_WRITE_WITH_INTR	0x07
82 /* Cause data from stream to be written using specified QT interrupt. */
83 #define KUE_QTBTYPE_WRITE_STR_WITH_INTR 0x08
84 /* Cause data to be written to config locations. */
85 /* Addresses assume 0xc000 offset. */
86 #define KUE_QTBTYPE_WRITE_CONFIG	0x09
87 
88 #define KUE_QTINTR_LOAD_CODE		0x64
89 #define KUE_QTINTR_TRIGGER_CODE		0x3B
90 #define KUE_QTINTR_LOAD_CODE_HIGH	0x9C
91 
92 #endif /* 0 */
93 
94 
95 /* Firmware code segment */
96 const unsigned char kue_code_seg[] =
97 {
98     /******************************************/
99     /* NOTE: B6/C3 is data header signature   */
100     /*	     0xAA/0xBB is data length = total */
101     /*	     bytes - 7, 0xCC is type, 0xDD is */
102     /*	     interrupt to use.		      */
103     /******************************************/
104     0xB6, 0xC3, 0xf7, 0x0e, 0x02, 0x64,
105     0x9f, 0xcf, 0xbc, 0x08, 0xe7, 0x57, 0x00, 0x00,
106     0x9a, 0x08, 0x97, 0xc1, 0xe7, 0x67, 0xff, 0x1f,
107     0x28, 0xc0, 0xe7, 0x87, 0x00, 0x04, 0x24, 0xc0,
108     0xe7, 0x67, 0xff, 0xf9, 0x22, 0xc0, 0x97, 0xcf,
109     0xe7, 0x09, 0xa2, 0xc0, 0x94, 0x08, 0xd7, 0x09,
110     0x00, 0xc0, 0xe7, 0x59, 0xba, 0x08, 0x94, 0x08,
111     0x03, 0xc1, 0xe7, 0x67, 0xff, 0xf7, 0x24, 0xc0,
112     0xe7, 0x05, 0x00, 0xc0, 0xa7, 0xcf, 0x92, 0x08,
113     0xe7, 0x57, 0x00, 0x00, 0x8e, 0x08, 0xa7, 0xa1,
114     0x8e, 0x08, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00,
115     0xf2, 0x09, 0x0a, 0xc0, 0xe7, 0x57, 0x00, 0x00,
116     0xa4, 0xc0, 0xa7, 0xc0, 0x56, 0x08, 0x9f, 0xaf,
117     0x70, 0x09, 0xe7, 0x07, 0x00, 0x00, 0xf2, 0x09,
118     0xe7, 0x57, 0xff, 0xff, 0x90, 0x08, 0x9f, 0xa0,
119     0x40, 0x00, 0xe7, 0x59, 0x90, 0x08, 0x94, 0x08,
120     0x9f, 0xa0, 0x40, 0x00, 0xc8, 0x09, 0xa2, 0x08,
121     0x08, 0x62, 0x9f, 0xa1, 0x14, 0x0a, 0xe7, 0x57,
122     0x00, 0x00, 0x52, 0x08, 0xa7, 0xc0, 0x56, 0x08,
123     0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x57, 0x00, 0x00,
124     0x8e, 0x08, 0xa7, 0xc1, 0x56, 0x08, 0xc0, 0x09,
125     0xa8, 0x08, 0x00, 0x60, 0x05, 0xc4, 0xc0, 0x59,
126     0x94, 0x08, 0x02, 0xc0, 0x9f, 0xaf, 0xee, 0x00,
127     0xe7, 0x59, 0xae, 0x08, 0x94, 0x08, 0x02, 0xc1,
128     0x9f, 0xaf, 0xf6, 0x00, 0x9f, 0xaf, 0x9e, 0x03,
129     0xef, 0x57, 0x00, 0x00, 0xf0, 0x09, 0x9f, 0xa1,
130     0xde, 0x01, 0xe7, 0x57, 0x00, 0x00, 0x78, 0x08,
131     0x9f, 0xa0, 0xe4, 0x03, 0x9f, 0xaf, 0x2c, 0x04,
132     0xa7, 0xcf, 0x56, 0x08, 0x48, 0x02, 0xe7, 0x09,
133     0x94, 0x08, 0xa8, 0x08, 0xc8, 0x37, 0x04, 0x00,
134     0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf, 0xe7, 0x57,
135     0x00, 0x00, 0xa6, 0x08, 0x97, 0xc0, 0xd7, 0x09,
136     0x00, 0xc0, 0xc1, 0xdf, 0xc8, 0x09, 0x9c, 0x08,
137     0x08, 0x62, 0x1d, 0xc0, 0x27, 0x04, 0x9c, 0x08,
138     0x10, 0x94, 0xf0, 0x07, 0xee, 0x09, 0x02, 0x00,
139     0xc1, 0x07, 0x01, 0x00, 0x70, 0x00, 0x04, 0x00,
140     0xf0, 0x07, 0x44, 0x01, 0x06, 0x00, 0x50, 0xaf,
141     0xe7, 0x09, 0x94, 0x08, 0xae, 0x08, 0xe7, 0x17,
142     0x14, 0x00, 0xae, 0x08, 0xe7, 0x67, 0xff, 0x07,
143     0xae, 0x08, 0xe7, 0x07, 0xff, 0xff, 0xa8, 0x08,
144     0xe7, 0x07, 0x00, 0x00, 0xa6, 0x08, 0xe7, 0x05,
145     0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
146     0xc1, 0xdf, 0x48, 0x02, 0xd0, 0x09, 0x9c, 0x08,
147     0x27, 0x02, 0x9c, 0x08, 0xe7, 0x09, 0x20, 0xc0,
148     0xee, 0x09, 0xe7, 0xd0, 0xee, 0x09, 0xe7, 0x05,
149     0x00, 0xc0, 0x97, 0xcf, 0x48, 0x02, 0xc8, 0x37,
150     0x04, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x60,
151     0x21, 0xc0, 0xc0, 0x37, 0x3e, 0x00, 0x23, 0xc9,
152     0xc0, 0x57, 0xb4, 0x05, 0x1b, 0xc8, 0xc0, 0x17,
153     0x3f, 0x00, 0xc0, 0x67, 0xc0, 0xff, 0x30, 0x00,
154     0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00,
155     0x00, 0x02, 0xc0, 0x17, 0x4c, 0x00, 0x30, 0x00,
156     0x06, 0x00, 0xf0, 0x07, 0xbe, 0x01, 0x0a, 0x00,
157     0x48, 0x02, 0xc1, 0x07, 0x02, 0x00, 0xd7, 0x09,
158     0x00, 0xc0, 0xc1, 0xdf, 0x51, 0xaf, 0xe7, 0x05,
159     0x00, 0xc0, 0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04,
160     0x9f, 0xaf, 0xe4, 0x03, 0x97, 0xcf, 0x9f, 0xaf,
161     0xe4, 0x03, 0xc9, 0x37, 0x04, 0x00, 0xc1, 0xdf,
162     0xc8, 0x09, 0x70, 0x08, 0x50, 0x02, 0x67, 0x02,
163     0x70, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc0, 0xdf,
164     0x9f, 0xaf, 0xde, 0x01, 0x97, 0xcf, 0xe7, 0x57,
165     0x00, 0x00, 0xaa, 0x08, 0x97, 0xc1, 0xe7, 0x57,
166     0x01, 0x00, 0x7a, 0x08, 0x97, 0xc0, 0xc8, 0x09,
167     0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x00, 0x02,
168     0xc0, 0x17, 0x0e, 0x00, 0x27, 0x00, 0x34, 0x01,
169     0x27, 0x0c, 0x0c, 0x00, 0x36, 0x01, 0xef, 0x57,
170     0x00, 0x00, 0xf0, 0x09, 0x9f, 0xc0, 0xbe, 0x02,
171     0xe7, 0x57, 0x00, 0x00, 0xb0, 0x08, 0x97, 0xc1,
172     0xe7, 0x07, 0x09, 0x00, 0x12, 0xc0, 0xe7, 0x77,
173     0x00, 0x08, 0x20, 0xc0, 0x9f, 0xc1, 0xb6, 0x02,
174     0xe7, 0x57, 0x09, 0x00, 0x12, 0xc0, 0x77, 0xc9,
175     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x77,
176     0x00, 0x08, 0x20, 0xc0, 0x2f, 0xc1, 0xe7, 0x07,
177     0x00, 0x00, 0x42, 0xc0, 0xe7, 0x07, 0x05, 0x00,
178     0x90, 0xc0, 0xc8, 0x07, 0x0a, 0x00, 0xe7, 0x77,
179     0x04, 0x00, 0x20, 0xc0, 0x09, 0xc1, 0x08, 0xda,
180     0x7a, 0xc1, 0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0,
181     0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0, 0x1a, 0xcf,
182     0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08, 0x00, 0xd8,
183     0x27, 0x50, 0x34, 0x01, 0x17, 0xc1, 0xe7, 0x77,
184     0x02, 0x00, 0x20, 0xc0, 0x79, 0xc1, 0x27, 0x50,
185     0x34, 0x01, 0x10, 0xc1, 0xe7, 0x77, 0x02, 0x00,
186     0x20, 0xc0, 0x79, 0xc0, 0x9f, 0xaf, 0xd8, 0x02,
187     0xe7, 0x05, 0x00, 0xc0, 0x00, 0x60, 0x9f, 0xc0,
188     0xde, 0x01, 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x00,
189     0xb8, 0x08, 0x06, 0xcf, 0xe7, 0x07, 0x30, 0x0e,
190     0x02, 0x00, 0xe7, 0x07, 0x50, 0xc3, 0x12, 0xc0,
191     0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xe7, 0x07,
192     0x01, 0x00, 0xb8, 0x08, 0x97, 0xcf, 0xe7, 0x07,
193     0x50, 0xc3, 0x12, 0xc0, 0xe7, 0x07, 0x30, 0x0e,
194     0x02, 0x00, 0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08,
195     0xe7, 0x07, 0x05, 0x00, 0x90, 0xc0, 0x97, 0xcf,
196     0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0, 0xe7, 0x07,
197     0x04, 0x00, 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x00,
198     0x7a, 0x08, 0xe7, 0x57, 0x0f, 0x00, 0xb2, 0x08,
199     0x13, 0xc1, 0x9f, 0xaf, 0x2e, 0x08, 0xca, 0x09,
200     0xac, 0x08, 0xf2, 0x17, 0x01, 0x00, 0x5c, 0x00,
201     0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00, 0xe7, 0x07,
202     0x00, 0x00, 0xb2, 0x08, 0xe7, 0x07, 0x01, 0x00,
203     0xb4, 0x08, 0xc0, 0x07, 0xff, 0xff, 0x97, 0xcf,
204     0x9f, 0xaf, 0x4c, 0x03, 0xc0, 0x69, 0xb4, 0x08,
205     0x57, 0x00, 0x9f, 0xde, 0x33, 0x00, 0xc1, 0x05,
206     0x27, 0xd8, 0xb2, 0x08, 0x27, 0xd2, 0xb4, 0x08,
207     0xe7, 0x87, 0x01, 0x00, 0xb4, 0x08, 0xe7, 0x67,
208     0xff, 0x03, 0xb4, 0x08, 0x00, 0x60, 0x97, 0xc0,
209     0xe7, 0x07, 0x01, 0x00, 0xb0, 0x08, 0x27, 0x00,
210     0x12, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0xb6, 0x08,
211     0x00, 0xd2, 0x02, 0xc3, 0xc0, 0x97, 0x05, 0x80,
212     0x27, 0x00, 0xb6, 0x08, 0xc0, 0x99, 0x82, 0x08,
213     0xc0, 0x99, 0xa2, 0xc0, 0x97, 0xcf, 0xe7, 0x07,
214     0x00, 0x00, 0xb0, 0x08, 0xc0, 0xdf, 0x97, 0xcf,
215     0xc8, 0x09, 0x72, 0x08, 0x08, 0x62, 0x02, 0xc0,
216     0x10, 0x64, 0x07, 0xc1, 0xe7, 0x07, 0x00, 0x00,
217     0x64, 0x08, 0xe7, 0x07, 0xc8, 0x05, 0x24, 0x00,
218     0x97, 0xcf, 0x27, 0x04, 0x72, 0x08, 0xc8, 0x17,
219     0x0e, 0x00, 0x27, 0x02, 0x64, 0x08, 0xe7, 0x07,
220     0xd6, 0x05, 0x24, 0x00, 0x97, 0xcf, 0xd7, 0x09,
221     0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00,
222     0x62, 0x08, 0x13, 0xc1, 0x9f, 0xaf, 0x70, 0x03,
223     0xe7, 0x57, 0x00, 0x00, 0x64, 0x08, 0x13, 0xc0,
224     0xe7, 0x09, 0x64, 0x08, 0x30, 0x01, 0xe7, 0x07,
225     0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07, 0x10, 0x00,
226     0x96, 0xc0, 0xe7, 0x09, 0x64, 0x08, 0x62, 0x08,
227     0x04, 0xcf, 0xe7, 0x57, 0x00, 0x00, 0x64, 0x08,
228     0x02, 0xc1, 0x9f, 0xaf, 0x70, 0x03, 0xe7, 0x05,
229     0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
230     0xc1, 0xdf, 0xc8, 0x09, 0x72, 0x08, 0x27, 0x02,
231     0x78, 0x08, 0x08, 0x62, 0x03, 0xc1, 0xe7, 0x05,
232     0x00, 0xc0, 0x97, 0xcf, 0x27, 0x04, 0x72, 0x08,
233     0xe7, 0x05, 0x00, 0xc0, 0xf0, 0x07, 0x40, 0x00,
234     0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00,
235     0x00, 0x02, 0xc0, 0x17, 0x0c, 0x00, 0x30, 0x00,
236     0x06, 0x00, 0xf0, 0x07, 0x64, 0x01, 0x0a, 0x00,
237     0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x02, 0x00,
238     0x51, 0xaf, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00,
239     0x6a, 0x08, 0x97, 0xc0, 0xc1, 0xdf, 0xc8, 0x09,
240     0x6a, 0x08, 0x27, 0x04, 0x6a, 0x08, 0x27, 0x52,
241     0x6c, 0x08, 0x03, 0xc1, 0xe7, 0x07, 0x6a, 0x08,
242     0x6c, 0x08, 0xc0, 0xdf, 0x17, 0x02, 0xc8, 0x17,
243     0x0e, 0x00, 0x9f, 0xaf, 0x16, 0x05, 0xc8, 0x05,
244     0x00, 0x60, 0x03, 0xc0, 0x9f, 0xaf, 0x80, 0x04,
245     0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf,
246     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x08, 0x62,
247     0x1c, 0xc0, 0xd0, 0x09, 0x72, 0x08, 0x27, 0x02,
248     0x72, 0x08, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
249     0x97, 0x02, 0xca, 0x09, 0xac, 0x08, 0xf2, 0x17,
250     0x01, 0x00, 0x04, 0x00, 0xf2, 0x27, 0x00, 0x00,
251     0x06, 0x00, 0xca, 0x17, 0x2c, 0x00, 0xf8, 0x77,
252     0x01, 0x00, 0x0e, 0x00, 0x06, 0xc0, 0xca, 0xd9,
253     0xf8, 0x57, 0xff, 0x00, 0x0e, 0x00, 0x01, 0xc1,
254     0xca, 0xd9, 0x22, 0x1c, 0x0c, 0x00, 0xe2, 0x27,
255     0x00, 0x00, 0xe2, 0x17, 0x01, 0x00, 0xe2, 0x27,
256     0x00, 0x00, 0xca, 0x05, 0x00, 0x0c, 0x0c, 0x00,
257     0xc0, 0x17, 0x41, 0x00, 0xc0, 0x67, 0xc0, 0xff,
258     0x30, 0x00, 0x08, 0x00, 0x00, 0x02, 0xc0, 0x17,
259     0x0c, 0x00, 0x30, 0x00, 0x06, 0x00, 0xf0, 0x07,
260     0xdc, 0x00, 0x0a, 0x00, 0xf0, 0x07, 0x00, 0x00,
261     0x04, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x40, 0xd1,
262     0x01, 0x00, 0xc0, 0x19, 0xa6, 0x08, 0xc0, 0x59,
263     0x98, 0x08, 0x04, 0xc9, 0x49, 0xaf, 0x9f, 0xaf,
264     0xee, 0x00, 0x4a, 0xaf, 0x67, 0x10, 0xa6, 0x08,
265     0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x01, 0x00,
266     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x50, 0xaf,
267     0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xc0, 0x07,
268     0x01, 0x00, 0xc1, 0x09, 0x7c, 0x08, 0xc1, 0x77,
269     0x01, 0x00, 0x97, 0xc1, 0xd8, 0x77, 0x01, 0x00,
270     0x12, 0xc0, 0xc9, 0x07, 0x4c, 0x08, 0x9f, 0xaf,
271     0x64, 0x05, 0x04, 0xc1, 0xc1, 0x77, 0x08, 0x00,
272     0x13, 0xc0, 0x97, 0xcf, 0xc1, 0x77, 0x02, 0x00,
273     0x97, 0xc1, 0xc1, 0x77, 0x10, 0x00, 0x0c, 0xc0,
274     0x9f, 0xaf, 0x86, 0x05, 0x97, 0xcf, 0xc1, 0x77,
275     0x04, 0x00, 0x06, 0xc0, 0xc9, 0x07, 0x7e, 0x08,
276     0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x00, 0xcf,
277     0x00, 0x90, 0x97, 0xcf, 0x50, 0x54, 0x97, 0xc1,
278     0x70, 0x5c, 0x02, 0x00, 0x02, 0x00, 0x97, 0xc1,
279     0x70, 0x5c, 0x04, 0x00, 0x04, 0x00, 0x97, 0xcf,
280     0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00,
281     0x0c, 0x00, 0x06, 0x00, 0x00, 0x00, 0xcb, 0x09,
282     0x88, 0x08, 0xcc, 0x09, 0x8a, 0x08, 0x0b, 0x53,
283     0x11, 0xc0, 0xc9, 0x02, 0xca, 0x07, 0x78, 0x05,
284     0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x0a, 0xc8,
285     0x82, 0x08, 0x0a, 0xcf, 0x82, 0x08, 0x9f, 0xaf,
286     0x64, 0x05, 0x97, 0xc0, 0x05, 0xc2, 0x89, 0x30,
287     0x82, 0x60, 0x78, 0xc1, 0x00, 0x90, 0x97, 0xcf,
288     0x89, 0x10, 0x09, 0x53, 0x79, 0xc2, 0x89, 0x30,
289     0x82, 0x08, 0x7a, 0xcf, 0xc0, 0xdf, 0x97, 0xcf,
290     0xe7, 0x09, 0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09,
291     0x98, 0xc0, 0x68, 0x08, 0x0f, 0xcf, 0xe7, 0x09,
292     0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09, 0x98, 0xc0,
293     0x68, 0x08, 0xe7, 0x09, 0x64, 0x08, 0x30, 0x01,
294     0xe7, 0x07, 0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07,
295     0x10, 0x00, 0x96, 0xc0, 0xd7, 0x09, 0x00, 0xc0,
296     0x17, 0x02, 0xc8, 0x09, 0x62, 0x08, 0xc8, 0x37,
297     0x0e, 0x00, 0xe7, 0x57, 0x04, 0x00, 0x68, 0x08,
298     0x3d, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0,
299     0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17,
300     0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07,
301     0xba, 0x08, 0xe7, 0x77, 0x2a, 0x00, 0x66, 0x08,
302     0x30, 0xc0, 0x97, 0x02, 0xca, 0x09, 0xac, 0x08,
303     0xe7, 0x77, 0x20, 0x00, 0x66, 0x08, 0x0e, 0xc0,
304     0xf2, 0x17, 0x01, 0x00, 0x10, 0x00, 0xf2, 0x27,
305     0x00, 0x00, 0x12, 0x00, 0xe7, 0x77, 0x0a, 0x00,
306     0x66, 0x08, 0xca, 0x05, 0x1e, 0xc0, 0x97, 0x02,
307     0xca, 0x09, 0xac, 0x08, 0xf2, 0x17, 0x01, 0x00,
308     0x0c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x0e, 0x00,
309     0xe7, 0x77, 0x02, 0x00, 0x66, 0x08, 0x07, 0xc0,
310     0xf2, 0x17, 0x01, 0x00, 0x44, 0x00, 0xf2, 0x27,
311     0x00, 0x00, 0x46, 0x00, 0x06, 0xcf, 0xf2, 0x17,
312     0x01, 0x00, 0x60, 0x00, 0xf2, 0x27, 0x00, 0x00,
313     0x62, 0x00, 0xca, 0x05, 0x9f, 0xaf, 0x68, 0x04,
314     0x0f, 0xcf, 0x57, 0x02, 0x09, 0x02, 0xf1, 0x09,
315     0x68, 0x08, 0x0c, 0x00, 0xf1, 0xda, 0x0c, 0x00,
316     0xc8, 0x09, 0x6c, 0x08, 0x50, 0x02, 0x67, 0x02,
317     0x6c, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc9, 0x05,
318     0xe7, 0x09, 0x64, 0x08, 0x62, 0x08, 0xe7, 0x57,
319     0x00, 0x00, 0x62, 0x08, 0x02, 0xc0, 0x9f, 0xaf,
320     0x70, 0x03, 0xc8, 0x05, 0xe7, 0x05, 0x00, 0xc0,
321     0xc0, 0xdf, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
322     0x17, 0x00, 0x17, 0x02, 0x97, 0x02, 0xc0, 0x09,
323     0x92, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0,
324     0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17,
325     0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07,
326     0xba, 0x08, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0,
327     0xca, 0x09, 0xac, 0x08, 0xe7, 0x07, 0x00, 0x00,
328     0x7a, 0x08, 0xe7, 0x07, 0x66, 0x03, 0x02, 0x00,
329     0xc0, 0x77, 0x02, 0x00, 0x10, 0xc0, 0xef, 0x57,
330     0x00, 0x00, 0xf0, 0x09, 0x04, 0xc0, 0x9f, 0xaf,
331     0xd8, 0x02, 0x9f, 0xcf, 0x12, 0x08, 0xf2, 0x17,
332     0x01, 0x00, 0x50, 0x00, 0xf2, 0x27, 0x00, 0x00,
333     0x52, 0x00, 0x9f, 0xcf, 0x12, 0x08, 0xef, 0x57,
334     0x00, 0x00, 0xf0, 0x09, 0x08, 0xc0, 0xe7, 0x57,
335     0x00, 0x00, 0xb8, 0x08, 0xe7, 0x07, 0x00, 0x00,
336     0xb8, 0x08, 0x0a, 0xc0, 0x03, 0xcf, 0xc0, 0x77,
337     0x10, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00,
338     0x58, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5a, 0x00,
339     0xc0, 0x77, 0x80, 0x00, 0x06, 0xc0, 0xf2, 0x17,
340     0x01, 0x00, 0x70, 0x00, 0xf2, 0x27, 0x00, 0x00,
341     0x72, 0x00, 0xc0, 0x77, 0x08, 0x00, 0x1d, 0xc1,
342     0xf2, 0x17, 0x01, 0x00, 0x08, 0x00, 0xf2, 0x27,
343     0x00, 0x00, 0x0a, 0x00, 0xc0, 0x77, 0x00, 0x02,
344     0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, 0x64, 0x00,
345     0xf2, 0x27, 0x00, 0x00, 0x66, 0x00, 0xc0, 0x77,
346     0x40, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00,
347     0x5c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00,
348     0xc0, 0x77, 0x01, 0x00, 0x01, 0xc0, 0x37, 0xcf,
349     0x36, 0xcf, 0xf2, 0x17, 0x01, 0x00, 0x00, 0x00,
350     0xf2, 0x27, 0x00, 0x00, 0x02, 0x00, 0xef, 0x57,
351     0x00, 0x00, 0xf0, 0x09, 0x18, 0xc0, 0xe7, 0x57,
352     0x01, 0x00, 0xb2, 0x08, 0x0e, 0xc2, 0x07, 0xc8,
353     0xf2, 0x17, 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27,
354     0x00, 0x00, 0x52, 0x00, 0x06, 0xcf, 0xf2, 0x17,
355     0x01, 0x00, 0x54, 0x00, 0xf2, 0x27, 0x00, 0x00,
356     0x56, 0x00, 0xe7, 0x07, 0x00, 0x00, 0xb2, 0x08,
357     0xe7, 0x07, 0x01, 0x00, 0xb4, 0x08, 0xc8, 0x09,
358     0x34, 0x01, 0xca, 0x17, 0x14, 0x00, 0xd8, 0x77,
359     0x01, 0x00, 0x05, 0xc0, 0xca, 0xd9, 0xd8, 0x57,
360     0xff, 0x00, 0x01, 0xc0, 0xca, 0xd9, 0xe2, 0x19,
361     0x94, 0xc0, 0xe2, 0x27, 0x00, 0x00, 0xe2, 0x17,
362     0x01, 0x00, 0xe2, 0x27, 0x00, 0x00, 0x9f, 0xaf,
363     0x2e, 0x08, 0x9f, 0xaf, 0xde, 0x01, 0xe7, 0x57,
364     0x00, 0x00, 0xaa, 0x08, 0x9f, 0xa1, 0xf0, 0x0b,
365     0xca, 0x05, 0xc8, 0x05, 0xc0, 0x05, 0xe7, 0x05,
366     0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, 0xc8, 0x09,
367     0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x27, 0x04,
368     0x6e, 0x08, 0x27, 0x52, 0x70, 0x08, 0x03, 0xc1,
369     0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x9f, 0xaf,
370     0x68, 0x04, 0x97, 0xcf, 0xff, 0xff, 0xff, 0xff,
371     0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
372     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
373     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
374     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
375     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
376     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
377     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
378     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
379     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
380     0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
381     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
382     0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
383     0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x33, 0xcc,
384     0x00, 0x00, 0x00, 0x00, 0xe7, 0x57, 0x00, 0x80,
385     0xb2, 0x00, 0x06, 0xc2, 0xe7, 0x07, 0x52, 0x0e,
386     0x12, 0x00, 0xe7, 0x07, 0x98, 0x0e, 0xb2, 0x00,
387     0xe7, 0x07, 0xa4, 0x09, 0xf2, 0x02, 0xc8, 0x09,
388     0xb4, 0x00, 0xf8, 0x07, 0x02, 0x00, 0x0d, 0x00,
389     0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07, 0x00, 0x00,
390     0x0e, 0xc0, 0xc8, 0x09, 0xdc, 0x00, 0xf0, 0x07,
391     0xff, 0xff, 0x09, 0x00, 0xf0, 0x07, 0xfb, 0x13,
392     0x0b, 0x00, 0xe7, 0x09, 0xc0, 0x00, 0x58, 0x08,
393     0xe7, 0x09, 0xbe, 0x00, 0x54, 0x08, 0xe7, 0x09,
394     0x10, 0x00, 0x92, 0x08, 0xc8, 0x07, 0xb4, 0x09,
395     0x9f, 0xaf, 0x8c, 0x09, 0x9f, 0xaf, 0xe2, 0x0b,
396     0xc0, 0x07, 0x80, 0x01, 0x44, 0xaf, 0x27, 0x00,
397     0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0x27, 0x00,
398     0x8c, 0x08, 0xc0, 0x07, 0x74, 0x00, 0x44, 0xaf,
399     0x27, 0x00, 0xac, 0x08, 0x08, 0x00, 0x00, 0x90,
400     0xc1, 0x07, 0x1d, 0x00, 0x20, 0x00, 0x20, 0x00,
401     0x01, 0xda, 0x7c, 0xc1, 0x9f, 0xaf, 0x8a, 0x0b,
402     0xc0, 0x07, 0x4c, 0x00, 0x48, 0xaf, 0x27, 0x00,
403     0x56, 0x08, 0x9f, 0xaf, 0x72, 0x0c, 0xe7, 0x07,
404     0x00, 0x80, 0x96, 0x08, 0xef, 0x57, 0x00, 0x00,
405     0xf0, 0x09, 0x03, 0xc0, 0xe7, 0x07, 0x01, 0x00,
406     0x1c, 0xc0, 0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf,
407     0x49, 0xaf, 0xe7, 0x87, 0x43, 0x00, 0x0e, 0xc0,
408     0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf,
409     0x8a, 0x0c, 0xc0, 0x07, 0x01, 0x00, 0x60, 0xaf,
410     0x4a, 0xaf, 0x97, 0xcf, 0x00, 0x08, 0x09, 0x08,
411     0x11, 0x08, 0x00, 0xda, 0x7c, 0xc1, 0x97, 0xcf,
412     0x67, 0x04, 0xcc, 0x02, 0xc0, 0xdf, 0x51, 0x94,
413     0xb1, 0xaf, 0x06, 0x00, 0xc1, 0xdf, 0xc9, 0x09,
414     0xcc, 0x02, 0x49, 0x62, 0x75, 0xc1, 0xc0, 0xdf,
415     0xa7, 0xcf, 0xd6, 0x02, 0x0e, 0x00, 0x24, 0x00,
416     0xd6, 0x05, 0x22, 0x00, 0xc4, 0x06, 0xd0, 0x00,
417     0xf0, 0x0b, 0xaa, 0x00, 0x0e, 0x0a, 0xbe, 0x00,
418     0x2c, 0x0c, 0x10, 0x00, 0x20, 0x00, 0x04, 0x00,
419     0xc4, 0x05, 0x02, 0x00, 0x66, 0x03, 0x06, 0x00,
420     0x00, 0x00, 0x24, 0xc0, 0x04, 0x04, 0x28, 0xc0,
421     0xfe, 0xfb, 0x1e, 0xc0, 0x00, 0x04, 0x22, 0xc0,
422     0xff, 0xf0, 0xc0, 0x00, 0x60, 0x0b, 0x00, 0x00,
423     0x00, 0x00, 0xff, 0xff, 0x34, 0x0a, 0x3e, 0x0a,
424     0x9e, 0x0a, 0xa8, 0x0a, 0xce, 0x0a, 0xd2, 0x0a,
425     0xd6, 0x0a, 0x00, 0x0b, 0x10, 0x0b, 0x1e, 0x0b,
426     0x20, 0x0b, 0x28, 0x0b, 0x28, 0x0b, 0x27, 0x02,
427     0xa2, 0x08, 0x97, 0xcf, 0xe7, 0x07, 0x00, 0x00,
428     0xa2, 0x08, 0x0a, 0x0e, 0x01, 0x00, 0xca, 0x57,
429     0x0e, 0x00, 0x9f, 0xc3, 0x2a, 0x0b, 0xca, 0x37,
430     0x00, 0x00, 0x9f, 0xc2, 0x2a, 0x0b, 0x0a, 0xd2,
431     0xb2, 0xcf, 0xf4, 0x09, 0xc8, 0x09, 0xde, 0x00,
432     0x07, 0x06, 0x9f, 0xcf, 0x3c, 0x0b, 0xf0, 0x57,
433     0x80, 0x01, 0x06, 0x00, 0x9f, 0xc8, 0x2a, 0x0b,
434     0x27, 0x0c, 0x02, 0x00, 0x86, 0x08, 0xc0, 0x09,
435     0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0xe7, 0x07,
436     0x00, 0x00, 0x84, 0x08, 0x27, 0x00, 0x5c, 0x08,
437     0x00, 0x1c, 0x06, 0x00, 0x27, 0x00, 0x8c, 0x08,
438     0x41, 0x90, 0x67, 0x50, 0x86, 0x08, 0x0d, 0xc0,
439     0x67, 0x00, 0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00,
440     0x5e, 0x08, 0xe7, 0x07, 0x8a, 0x0a, 0x60, 0x08,
441     0xc8, 0x07, 0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf,
442     0x97, 0xcf, 0x9f, 0xaf, 0xac, 0x0e, 0xe7, 0x09,
443     0x8c, 0x08, 0x8a, 0x08, 0xe7, 0x09, 0x86, 0x08,
444     0x84, 0x08, 0x59, 0xaf, 0x97, 0xcf, 0x27, 0x0c,
445     0x02, 0x00, 0x7c, 0x08, 0x59, 0xaf, 0x97, 0xcf,
446     0x09, 0x0c, 0x02, 0x00, 0x09, 0xda, 0x49, 0xd2,
447     0xc9, 0x19, 0xac, 0x08, 0xc8, 0x07, 0x5a, 0x08,
448     0xe0, 0x07, 0x00, 0x00, 0x60, 0x02, 0xe0, 0x07,
449     0x04, 0x00, 0xd0, 0x07, 0x9a, 0x0a, 0x48, 0xdb,
450     0x41, 0x90, 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf,
451     0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, 0xf0, 0x57,
452     0x06, 0x00, 0x06, 0x00, 0x26, 0xc1, 0xe7, 0x07,
453     0x7e, 0x08, 0x5c, 0x08, 0x41, 0x90, 0x67, 0x00,
454     0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00, 0x5e, 0x08,
455     0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08, 0xc8, 0x07,
456     0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf, 0x97, 0xcf,
457     0x07, 0x0c, 0x06, 0x00, 0xc7, 0x57, 0x06, 0x00,
458     0x10, 0xc1, 0xc8, 0x07, 0x7e, 0x08, 0x16, 0xcf,
459     0x00, 0x0c, 0x02, 0x00, 0x00, 0xda, 0x40, 0xd1,
460     0x27, 0x00, 0x98, 0x08, 0x1f, 0xcf, 0x1e, 0xcf,
461     0x27, 0x0c, 0x02, 0x00, 0xa4, 0x08, 0x1a, 0xcf,
462     0x00, 0xcf, 0x27, 0x02, 0x20, 0x01, 0xe7, 0x07,
463     0x08, 0x00, 0x22, 0x01, 0xe7, 0x07, 0x13, 0x00,
464     0xb0, 0xc0, 0x97, 0xcf, 0x41, 0x90, 0x67, 0x00,
465     0x5a, 0x08, 0xe7, 0x01, 0x5e, 0x08, 0x27, 0x02,
466     0x5c, 0x08, 0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08,
467     0xc8, 0x07, 0x5a, 0x08, 0xc1, 0x07, 0x00, 0x80,
468     0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf,
469     0x00, 0x60, 0x05, 0xc0, 0xe7, 0x07, 0x00, 0x00,
470     0x9a, 0x08, 0xa7, 0xcf, 0x58, 0x08, 0x9f, 0xaf,
471     0xe2, 0x0b, 0xe7, 0x07, 0x01, 0x00, 0x9a, 0x08,
472     0x49, 0xaf, 0xd7, 0x09, 0x00, 0xc0, 0x07, 0xaf,
473     0xe7, 0x05, 0x00, 0xc0, 0x4a, 0xaf, 0xa7, 0xcf,
474     0x58, 0x08, 0xc0, 0x07, 0x40, 0x00, 0x44, 0xaf,
475     0x27, 0x00, 0xa0, 0x08, 0x08, 0x00, 0xc0, 0x07,
476     0x20, 0x00, 0x20, 0x94, 0x00, 0xda, 0x7d, 0xc1,
477     0xc0, 0x07, 0xfe, 0x7f, 0x44, 0xaf, 0x40, 0x00,
478     0x41, 0x90, 0xc0, 0x37, 0x08, 0x00, 0xdf, 0xde,
479     0x50, 0x06, 0xc0, 0x57, 0x10, 0x00, 0x02, 0xc2,
480     0xc0, 0x07, 0x10, 0x00, 0x27, 0x00, 0x76, 0x08,
481     0x41, 0x90, 0x9f, 0xde, 0x40, 0x06, 0x44, 0xaf,
482     0x27, 0x00, 0x74, 0x08, 0xc0, 0x09, 0x76, 0x08,
483     0x41, 0x90, 0x00, 0xd2, 0x00, 0xd8, 0x9f, 0xde,
484     0x08, 0x00, 0x44, 0xaf, 0x27, 0x00, 0x9e, 0x08,
485     0x97, 0xcf, 0xe7, 0x87, 0x00, 0x84, 0x28, 0xc0,
486     0xe7, 0x67, 0xff, 0xf3, 0x24, 0xc0, 0x97, 0xcf,
487     0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0xe7, 0x57,
488     0x00, 0x00, 0x7a, 0x08, 0x97, 0xc1, 0x9f, 0xaf,
489     0xe2, 0x0b, 0xe7, 0x87, 0x00, 0x06, 0x22, 0xc0,
490     0xe7, 0x07, 0x00, 0x00, 0x90, 0xc0, 0xe7, 0x67,
491     0xfe, 0xff, 0x3e, 0xc0, 0xe7, 0x07, 0x2e, 0x00,
492     0x0a, 0xc0, 0xe7, 0x87, 0x01, 0x00, 0x3e, 0xc0,
493     0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf,
494     0xf0, 0x0c, 0x97, 0xcf, 0x17, 0x00, 0xa7, 0xaf,
495     0x54, 0x08, 0xc0, 0x05, 0x27, 0x00, 0x52, 0x08,
496     0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0x9f, 0xaf,
497     0xe2, 0x0b, 0xe7, 0x07, 0x0c, 0x00, 0x40, 0xc0,
498     0x9f, 0xaf, 0xf0, 0x0c, 0xe7, 0x07, 0x00, 0x00,
499     0x78, 0x08, 0x00, 0x90, 0xe7, 0x09, 0x88, 0x08,
500     0x8a, 0x08, 0x27, 0x00, 0x84, 0x08, 0x27, 0x00,
501     0x7c, 0x08, 0x9f, 0xaf, 0x8a, 0x0c, 0xe7, 0x07,
502     0x00, 0x00, 0xb2, 0x02, 0xe7, 0x07, 0x00, 0x00,
503     0xb4, 0x02, 0xc0, 0x07, 0x06, 0x00, 0xc8, 0x09,
504     0xde, 0x00, 0xc8, 0x17, 0x03, 0x00, 0xc9, 0x07,
505     0x7e, 0x08, 0x29, 0x0a, 0x00, 0xda, 0x7d, 0xc1,
506     0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf,
507     0x00, 0x90, 0x27, 0x00, 0x6a, 0x08, 0xe7, 0x07,
508     0x6a, 0x08, 0x6c, 0x08, 0x27, 0x00, 0x6e, 0x08,
509     0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x27, 0x00,
510     0x78, 0x08, 0x27, 0x00, 0x62, 0x08, 0x27, 0x00,
511     0x64, 0x08, 0xc8, 0x09, 0x74, 0x08, 0xc1, 0x09,
512     0x76, 0x08, 0xc9, 0x07, 0x72, 0x08, 0x11, 0x02,
513     0x09, 0x02, 0xc8, 0x17, 0x40, 0x06, 0x01, 0xda,
514     0x7a, 0xc1, 0x51, 0x94, 0xc8, 0x09, 0x9e, 0x08,
515     0xc9, 0x07, 0x9c, 0x08, 0xc1, 0x09, 0x76, 0x08,
516     0x01, 0xd2, 0x01, 0xd8, 0x11, 0x02, 0x09, 0x02,
517     0xc8, 0x17, 0x08, 0x00, 0x01, 0xda, 0x7a, 0xc1,
518     0x51, 0x94, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
519     0xe7, 0x57, 0x00, 0x00, 0x52, 0x08, 0x97, 0xc0,
520     0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x09, 0x94, 0x08,
521     0x90, 0x08, 0xe7, 0x57, 0xff, 0xff, 0x90, 0x08,
522     0x04, 0xc1, 0xe7, 0x07, 0xf0, 0x0c, 0x8e, 0x08,
523     0x97, 0xcf, 0xe7, 0x17, 0x32, 0x00, 0x90, 0x08,
524     0xe7, 0x67, 0xff, 0x07, 0x90, 0x08, 0xe7, 0x07,
525     0x26, 0x0d, 0x8e, 0x08, 0x97, 0xcf, 0xd7, 0x09,
526     0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00,
527     0x96, 0x08, 0x23, 0xc0, 0xe7, 0x07, 0x00, 0x80,
528     0x80, 0xc0, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0,
529     0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07,
530     0x00, 0x80, 0x80, 0xc0, 0xc0, 0x07, 0x00, 0x00,
531     0xc0, 0x07, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00,
532     0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07,
533     0x00, 0x80, 0x80, 0xc0, 0xe7, 0x07, 0x00, 0x80,
534     0x40, 0xc0, 0xc0, 0x07, 0x00, 0x00, 0xe7, 0x07,
535     0x00, 0x00, 0x40, 0xc0, 0xe7, 0x07, 0x00, 0x00,
536     0x80, 0xc0, 0xef, 0x57, 0x00, 0x00, 0xf1, 0x09,
537     0x9f, 0xa0, 0xc0, 0x0d, 0xe7, 0x07, 0x04, 0x00,
538     0x90, 0xc0, 0xe7, 0x07, 0x00, 0x02, 0x40, 0xc0,
539     0xe7, 0x07, 0x0c, 0x02, 0x40, 0xc0, 0xe7, 0x07,
540     0x00, 0x00, 0x96, 0x08, 0xe7, 0x07, 0x00, 0x00,
541     0x8e, 0x08, 0xe7, 0x07, 0x00, 0x00, 0xaa, 0x08,
542     0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x9f, 0xaf,
543     0x9e, 0x03, 0xe7, 0x05, 0x00, 0xc0, 0x9f, 0xaf,
544     0xde, 0x01, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
545     0x9f, 0xaf, 0xde, 0x0d, 0xef, 0x77, 0x00, 0x00,
546     0xf1, 0x09, 0x97, 0xc1, 0x9f, 0xaf, 0xde, 0x0d,
547     0xef, 0x77, 0x00, 0x00, 0xf1, 0x09, 0x97, 0xc1,
548     0xef, 0x07, 0x01, 0x00, 0xf1, 0x09, 0xe7, 0x87,
549     0x00, 0x08, 0x1e, 0xc0, 0xe7, 0x87, 0x00, 0x08,
550     0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7, 0x22, 0xc0,
551     0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0, 0x11, 0xc0,
552     0xe7, 0x67, 0xff, 0xf7, 0x1e, 0xc0, 0xe7, 0x87,
553     0x00, 0x08, 0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7,
554     0x22, 0xc0, 0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0,
555     0x04, 0xc1, 0xe7, 0x87, 0x00, 0x08, 0x22, 0xc0,
556     0x97, 0xcf, 0xe7, 0x07, 0x01, 0x01, 0xf0, 0x09,
557     0xef, 0x57, 0x18, 0x00, 0xfe, 0xff, 0x97, 0xc2,
558     0xef, 0x07, 0x00, 0x00, 0xf0, 0x09, 0x97, 0xcf,
559     0xd7, 0x09, 0x00, 0xc0, 0x17, 0x00, 0x17, 0x02,
560     0x97, 0x02, 0xe7, 0x57, 0x00, 0x00, 0x7a, 0x08,
561     0x06, 0xc0, 0xc0, 0x09, 0x92, 0xc0, 0xc0, 0x77,
562     0x09, 0x02, 0x9f, 0xc1, 0xea, 0x06, 0x9f, 0xcf,
563     0x20, 0x08, 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07,
564     0x00, 0x00, 0x0e, 0xc0, 0x9f, 0xaf, 0x66, 0x0e,
565     0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf, 0xd7, 0x09,
566     0x00, 0xc0, 0x17, 0x02, 0xc8, 0x09, 0xb0, 0xc0,
567     0xe7, 0x67, 0xfe, 0x7f, 0xb0, 0xc0, 0xc8, 0x77,
568     0x00, 0x20, 0x9f, 0xc1, 0x64, 0xeb, 0xe7, 0x57,
569     0x00, 0x00, 0xc8, 0x02, 0x9f, 0xc1, 0x80, 0xeb,
570     0xc8, 0x99, 0xca, 0x02, 0xc8, 0x67, 0x04, 0x00,
571     0x9f, 0xc1, 0x96, 0xeb, 0x9f, 0xcf, 0x4c, 0xeb,
572     0xe7, 0x07, 0x00, 0x00, 0xa6, 0xc0, 0xe7, 0x09,
573     0xb0, 0xc0, 0xc8, 0x02, 0xe7, 0x07, 0x03, 0x00,
574     0xb0, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0x86, 0x08,
575     0xc0, 0x37, 0x01, 0x00, 0x97, 0xc9, 0xc9, 0x09,
576     0x88, 0x08, 0x02, 0x00, 0x41, 0x90, 0x48, 0x02,
577     0xc9, 0x17, 0x06, 0x00, 0x9f, 0xaf, 0x64, 0x05,
578     0x9f, 0xa2, 0xd6, 0x0e, 0x02, 0xda, 0x77, 0xc1,
579     0x41, 0x60, 0x71, 0xc1, 0x97, 0xcf, 0x17, 0x02,
580     0x57, 0x02, 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00,
581     0x43, 0x04, 0x21, 0x04, 0xe0, 0x00, 0x43, 0x04,
582     0x21, 0x04, 0xe0, 0x00, 0xc1, 0x07, 0x01, 0x00,
583     0xc9, 0x05, 0xc8, 0x05, 0x97, 0xcf,
584     0,	  0
585 };
586 
587 /* Firmware fixup (data?) segment */
588 const unsigned char kue_fix_seg[] =
589 {
590     /******************************************/
591     /* NOTE: B6/C3 is data header signature   */
592     /*	     0xAA/0xBB is data length = total */
593     /*	     bytes - 7, 0xCC is type, 0xDD is */
594     /*	     interrupt to use.		      */
595     /******************************************/
596     0xB6, 0xC3, 0xc9, 0x02, 0x03, 0x64,
597     0x02, 0x00, 0x08, 0x00, 0x24, 0x00, 0x2e, 0x00,
598     0x2c, 0x00, 0x3e, 0x00, 0x44, 0x00, 0x48, 0x00,
599     0x50, 0x00, 0x5c, 0x00, 0x60, 0x00, 0x66, 0x00,
600     0x6c, 0x00, 0x70, 0x00, 0x76, 0x00, 0x74, 0x00,
601     0x7a, 0x00, 0x7e, 0x00, 0x84, 0x00, 0x8a, 0x00,
602     0x8e, 0x00, 0x92, 0x00, 0x98, 0x00, 0x9c, 0x00,
603     0xa0, 0x00, 0xa8, 0x00, 0xae, 0x00, 0xb4, 0x00,
604     0xb2, 0x00, 0xba, 0x00, 0xbe, 0x00, 0xc4, 0x00,
605     0xc8, 0x00, 0xce, 0x00, 0xd2, 0x00, 0xd6, 0x00,
606     0xda, 0x00, 0xe2, 0x00, 0xe0, 0x00, 0xea, 0x00,
607     0xf2, 0x00, 0xfe, 0x00, 0x06, 0x01, 0x0c, 0x01,
608     0x1a, 0x01, 0x24, 0x01, 0x22, 0x01, 0x2a, 0x01,
609     0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, 0x4e, 0x01,
610     0x52, 0x01, 0x58, 0x01, 0x5c, 0x01, 0x9c, 0x01,
611     0xb6, 0x01, 0xba, 0x01, 0xc0, 0x01, 0xca, 0x01,
612     0xd0, 0x01, 0xda, 0x01, 0xe2, 0x01, 0xea, 0x01,
613     0xf0, 0x01, 0x0a, 0x02, 0x0e, 0x02, 0x14, 0x02,
614     0x26, 0x02, 0x6c, 0x02, 0x8e, 0x02, 0x98, 0x02,
615     0xa0, 0x02, 0xa6, 0x02, 0xba, 0x02, 0xc6, 0x02,
616     0xce, 0x02, 0xe8, 0x02, 0xee, 0x02, 0xf4, 0x02,
617     0xf8, 0x02, 0x0a, 0x03, 0x10, 0x03, 0x1a, 0x03,
618     0x1e, 0x03, 0x2a, 0x03, 0x2e, 0x03, 0x34, 0x03,
619     0x3a, 0x03, 0x44, 0x03, 0x4e, 0x03, 0x5a, 0x03,
620     0x5e, 0x03, 0x6a, 0x03, 0x72, 0x03, 0x80, 0x03,
621     0x84, 0x03, 0x8c, 0x03, 0x94, 0x03, 0x98, 0x03,
622     0xa8, 0x03, 0xae, 0x03, 0xb4, 0x03, 0xba, 0x03,
623     0xce, 0x03, 0xcc, 0x03, 0xd6, 0x03, 0xdc, 0x03,
624     0xec, 0x03, 0xf0, 0x03, 0xfe, 0x03, 0x1c, 0x04,
625     0x30, 0x04, 0x38, 0x04, 0x3c, 0x04, 0x40, 0x04,
626     0x48, 0x04, 0x46, 0x04, 0x54, 0x04, 0x5e, 0x04,
627     0x64, 0x04, 0x74, 0x04, 0x78, 0x04, 0x84, 0x04,
628     0xd8, 0x04, 0xec, 0x04, 0xf0, 0x04, 0xf8, 0x04,
629     0xfe, 0x04, 0x1c, 0x05, 0x2c, 0x05, 0x30, 0x05,
630     0x4a, 0x05, 0x56, 0x05, 0x5a, 0x05, 0x88, 0x05,
631     0x8c, 0x05, 0x96, 0x05, 0x9a, 0x05, 0xa8, 0x05,
632     0xcc, 0x05, 0xd2, 0x05, 0xda, 0x05, 0xe0, 0x05,
633     0xe4, 0x05, 0xfc, 0x05, 0x06, 0x06, 0x14, 0x06,
634     0x12, 0x06, 0x1a, 0x06, 0x20, 0x06, 0x26, 0x06,
635     0x2e, 0x06, 0x34, 0x06, 0x48, 0x06, 0x52, 0x06,
636     0x64, 0x06, 0x86, 0x06, 0x90, 0x06, 0x9a, 0x06,
637     0xa0, 0x06, 0xac, 0x06, 0xaa, 0x06, 0xb2, 0x06,
638     0xb8, 0x06, 0xdc, 0x06, 0xda, 0x06, 0xe2, 0x06,
639     0xe8, 0x06, 0xf2, 0x06, 0xf8, 0x06, 0xfc, 0x06,
640     0x0a, 0x07, 0x10, 0x07, 0x14, 0x07, 0x24, 0x07,
641     0x2a, 0x07, 0x32, 0x07, 0x38, 0x07, 0xb2, 0x07,
642     0xba, 0x07, 0xde, 0x07, 0xe4, 0x07, 0x10, 0x08,
643     0x14, 0x08, 0x1a, 0x08, 0x1e, 0x08, 0x30, 0x08,
644     0x38, 0x08, 0x3c, 0x08, 0x44, 0x08, 0x42, 0x08,
645     0x48, 0x08, 0xc6, 0x08, 0xcc, 0x08, 0xd2, 0x08,
646     0xfe, 0x08, 0x04, 0x09, 0x0a, 0x09, 0x0e, 0x09,
647     0x12, 0x09, 0x16, 0x09, 0x20, 0x09, 0x24, 0x09,
648     0x28, 0x09, 0x32, 0x09, 0x46, 0x09, 0x4a, 0x09,
649     0x50, 0x09, 0x54, 0x09, 0x5a, 0x09, 0x60, 0x09,
650     0x7c, 0x09, 0x80, 0x09, 0xb8, 0x09, 0xbc, 0x09,
651     0xc0, 0x09, 0xc4, 0x09, 0xc8, 0x09, 0xcc, 0x09,
652     0xd0, 0x09, 0xd4, 0x09, 0xec, 0x09, 0xf4, 0x09,
653     0xf6, 0x09, 0xf8, 0x09, 0xfa, 0x09, 0xfc, 0x09,
654     0xfe, 0x09, 0x00, 0x0a, 0x02, 0x0a, 0x04, 0x0a,
655     0x06, 0x0a, 0x08, 0x0a, 0x0a, 0x0a, 0x0c, 0x0a,
656     0x10, 0x0a, 0x18, 0x0a, 0x24, 0x0a, 0x2c, 0x0a,
657     0x32, 0x0a, 0x3c, 0x0a, 0x46, 0x0a, 0x4c, 0x0a,
658     0x50, 0x0a, 0x54, 0x0a, 0x5a, 0x0a, 0x5e, 0x0a,
659     0x66, 0x0a, 0x6c, 0x0a, 0x72, 0x0a, 0x78, 0x0a,
660     0x7e, 0x0a, 0x7c, 0x0a, 0x82, 0x0a, 0x8c, 0x0a,
661     0x92, 0x0a, 0x90, 0x0a, 0x98, 0x0a, 0x96, 0x0a,
662     0xa2, 0x0a, 0xb2, 0x0a, 0xb6, 0x0a, 0xc4, 0x0a,
663     0xe2, 0x0a, 0xe0, 0x0a, 0xe8, 0x0a, 0xee, 0x0a,
664     0xf4, 0x0a, 0xf2, 0x0a, 0xf8, 0x0a, 0x0c, 0x0b,
665     0x1a, 0x0b, 0x24, 0x0b, 0x40, 0x0b, 0x44, 0x0b,
666     0x48, 0x0b, 0x4e, 0x0b, 0x4c, 0x0b, 0x52, 0x0b,
667     0x68, 0x0b, 0x6c, 0x0b, 0x70, 0x0b, 0x76, 0x0b,
668     0x88, 0x0b, 0x92, 0x0b, 0xbe, 0x0b, 0xca, 0x0b,
669     0xce, 0x0b, 0xde, 0x0b, 0xf4, 0x0b, 0xfa, 0x0b,
670     0x00, 0x0c, 0x24, 0x0c, 0x28, 0x0c, 0x30, 0x0c,
671     0x36, 0x0c, 0x3c, 0x0c, 0x40, 0x0c, 0x4a, 0x0c,
672     0x50, 0x0c, 0x58, 0x0c, 0x56, 0x0c, 0x5c, 0x0c,
673     0x60, 0x0c, 0x64, 0x0c, 0x80, 0x0c, 0x94, 0x0c,
674     0x9a, 0x0c, 0x98, 0x0c, 0x9e, 0x0c, 0xa4, 0x0c,
675     0xa2, 0x0c, 0xa8, 0x0c, 0xac, 0x0c, 0xb0, 0x0c,
676     0xb4, 0x0c, 0xb8, 0x0c, 0xbc, 0x0c, 0xce, 0x0c,
677     0xd2, 0x0c, 0xd6, 0x0c, 0xf4, 0x0c, 0xfa, 0x0c,
678     0x00, 0x0d, 0xfe, 0x0c, 0x06, 0x0d, 0x0e, 0x0d,
679     0x0c, 0x0d, 0x16, 0x0d, 0x1c, 0x0d, 0x22, 0x0d,
680     0x20, 0x0d, 0x30, 0x0d, 0x7e, 0x0d, 0x82, 0x0d,
681     0x9a, 0x0d, 0xa0, 0x0d, 0xa6, 0x0d, 0xb0, 0x0d,
682     0xb8, 0x0d, 0xc2, 0x0d, 0xc8, 0x0d, 0xce, 0x0d,
683     0xd4, 0x0d, 0xdc, 0x0d, 0x1e, 0x0e, 0x2c, 0x0e,
684     0x3e, 0x0e, 0x4c, 0x0e, 0x50, 0x0e, 0x5e, 0x0e,
685     0xae, 0x0e, 0xb8, 0x0e, 0xc6, 0x0e, 0xca, 0x0e,
686     0,	  0
687 };
688 
689 /* Fixup command. */
690 #define KUE_TRIGCMD_OFFSET	5
691 const unsigned char kue_trig_seg[] = {
692     0xb6, 0xc3, 0x01, 0x00, 0x06, 0x64, 0x00, 0x00
693 };
694