1 /* DO NOT EDIT - Generated automatically by script_asm.pl */
2 static u32 SCRIPT[] = {
10 ABSOLUTE dsa_select = 0
11 ABSOLUTE dsa_msgout = 8
12 ABSOLUTE dsa_cmnd = 16
13 ABSOLUTE dsa_status = 24
14 ABSOLUTE dsa_msgin = 32
15 ABSOLUTE dsa_datain = 40
16 ABSOLUTE dsa_dataout = 1064
17 ABSOLUTE dsa_size = 2088
19 ABSOLUTE reselected_identify = 0
20 ABSOLUTE msgin_buf = 0
24 ABSOLUTE int_bad_extmsg1a = 0xab930000
25 ABSOLUTE int_bad_extmsg1b = 0xab930001
26 ABSOLUTE int_bad_extmsg2a = 0xab930002
27 ABSOLUTE int_bad_extmsg2b = 0xab930003
28 ABSOLUTE int_bad_extmsg3a = 0xab930004
29 ABSOLUTE int_bad_extmsg3b = 0xab930005
30 ABSOLUTE int_bad_msg1 = 0xab930006
31 ABSOLUTE int_bad_msg2 = 0xab930007
32 ABSOLUTE int_bad_msg3 = 0xab930008
33 ABSOLUTE int_cmd_bad_phase = 0xab930009
34 ABSOLUTE int_cmd_complete = 0xab93000a
35 ABSOLUTE int_data_bad_phase = 0xab93000b
36 ABSOLUTE int_msg_sdtr1 = 0xab93000c
37 ABSOLUTE int_msg_sdtr2 = 0xab93000d
38 ABSOLUTE int_msg_sdtr3 = 0xab93000e
39 ABSOLUTE int_no_msgout1 = 0xab93000f
40 ABSOLUTE int_no_msgout2 = 0xab930010
41 ABSOLUTE int_no_msgout3 = 0xab930011
42 ABSOLUTE int_not_cmd_complete = 0xab930012
43 ABSOLUTE int_sel_no_ident = 0xab930013
44 ABSOLUTE int_sel_not_cmd = 0xab930014
45 ABSOLUTE int_status_not_msgin = 0xab930015
46 ABSOLUTE int_resel_not_msgin = 0xab930016
47 ABSOLUTE int_reselected = 0xab930017
48 ABSOLUTE int_selected = 0xab930018
49 ABSOLUTE int_disc1 = 0xab930019
50 ABSOLUTE int_disc2 = 0xab93001a
51 ABSOLUTE int_disc3 = 0xab93001b
52 ABSOLUTE int_not_rej = 0xab93001c
57 ABSOLUTE had_select = 0x01
58 ABSOLUTE had_msgout = 0x02
59 ABSOLUTE had_cmdout = 0x04
60 ABSOLUTE had_datain = 0x08
61 ABSOLUTE had_dataout = 0x10
62 ABSOLUTE had_status = 0x20
63 ABSOLUTE had_msgin = 0x40
64 ABSOLUTE had_extmsg = 0x80
75 at 0x00000000 : */ 0x60000200,0x00000000,
77 MOVE SCRATCH0 & 0 TO SCRATCH0
79 at 0x00000002 : */ 0x7c340000,0x00000000,
81 ; Enable selection timer
82 MOVE CTEST7 & 0xef TO CTEST7
84 at 0x00000004 : */ 0x7c1bef00,0x00000000,
86 SELECT ATN FROM dsa_select, reselect
88 at 0x00000006 : */ 0x43000000,0x00000c48,
90 JUMP get_status, WHEN STATUS
92 at 0x00000008 : */ 0x830b0000,0x000000a0,
94 ; Disable selection timer
95 MOVE CTEST7 | 0x10 TO CTEST7
97 at 0x0000000a : */ 0x7a1b1000,0x00000000,
99 MOVE SCRATCH0 | had_select TO SCRATCH0
101 at 0x0000000c : */ 0x7a340100,0x00000000,
103 INT int_sel_no_ident, IF NOT MSG_OUT
105 at 0x0000000e : */ 0x9e020000,0xab930013,
107 MOVE SCRATCH0 | had_msgout TO SCRATCH0
109 at 0x00000010 : */ 0x7a340200,0x00000000,
111 MOVE FROM dsa_msgout, when MSG_OUT
113 at 0x00000012 : */ 0x1e000000,0x00000008,
117 JUMP get_status, IF STATUS
119 at 0x00000014 : */ 0x830a0000,0x000000a0,
122 JUMP get_msgin1, WHEN MSG_IN
124 at 0x00000016 : */ 0x870b0000,0x00000920,
126 INT int_sel_not_cmd, IF NOT CMD
128 at 0x00000018 : */ 0x9a020000,0xab930014,
132 MOVE SCRATCH0 | had_cmdout TO SCRATCH0
134 at 0x0000001a : */ 0x7a340400,0x00000000,
136 MOVE FROM dsa_cmnd, WHEN CMD
138 at 0x0000001c : */ 0x1a000000,0x00000010,
143 JUMP get_msgin2, WHEN MSG_IN
145 at 0x0000001e : */ 0x870b0000,0x00000a20,
147 JUMP get_status, IF STATUS
149 at 0x00000020 : */ 0x830a0000,0x000000a0,
151 JUMP input_data, IF DATA_IN
153 at 0x00000022 : */ 0x810a0000,0x000000e0,
155 JUMP output_data, IF DATA_OUT
157 at 0x00000024 : */ 0x800a0000,0x000004f8,
159 INT int_cmd_bad_phase
161 at 0x00000026 : */ 0x98080000,0xab930009,
165 ; Disable selection timer
166 MOVE CTEST7 | 0x10 TO CTEST7
168 at 0x00000028 : */ 0x7a1b1000,0x00000000,
170 MOVE FROM dsa_status, WHEN STATUS
172 at 0x0000002a : */ 0x1b000000,0x00000018,
174 INT int_status_not_msgin, WHEN NOT MSG_IN
176 at 0x0000002c : */ 0x9f030000,0xab930015,
178 MOVE FROM dsa_msgin, WHEN MSG_IN
180 at 0x0000002e : */ 0x1f000000,0x00000020,
182 INT int_not_cmd_complete, IF NOT 0x00
184 at 0x00000030 : */ 0x98040000,0xab930012,
188 at 0x00000032 : */ 0x60000040,0x00000000,
190 ENTRY wait_disc_complete
194 at 0x00000034 : */ 0x48000000,0x00000000,
198 at 0x00000036 : */ 0x98080000,0xab93000a,
202 MOVE SCRATCH0 | had_datain TO SCRATCH0
204 at 0x00000038 : */ 0x7a340800,0x00000000,
206 ENTRY patch_input_data
210 at 0x0000003a : */ 0x80080000,0x00000000,
212 MOVE FROM dsa_datain+0x0000, WHEN DATA_IN
214 at 0x0000003c : */ 0x19000000,0x00000028,
216 MOVE FROM dsa_datain+0x0008, WHEN DATA_IN
218 at 0x0000003e : */ 0x19000000,0x00000030,
220 MOVE FROM dsa_datain+0x0010, WHEN DATA_IN
222 at 0x00000040 : */ 0x19000000,0x00000038,
224 MOVE FROM dsa_datain+0x0018, WHEN DATA_IN
226 at 0x00000042 : */ 0x19000000,0x00000040,
228 MOVE FROM dsa_datain+0x0020, WHEN DATA_IN
230 at 0x00000044 : */ 0x19000000,0x00000048,
232 MOVE FROM dsa_datain+0x0028, WHEN DATA_IN
234 at 0x00000046 : */ 0x19000000,0x00000050,
236 MOVE FROM dsa_datain+0x0030, WHEN DATA_IN
238 at 0x00000048 : */ 0x19000000,0x00000058,
240 MOVE FROM dsa_datain+0x0038, WHEN DATA_IN
242 at 0x0000004a : */ 0x19000000,0x00000060,
244 MOVE FROM dsa_datain+0x0040, WHEN DATA_IN
246 at 0x0000004c : */ 0x19000000,0x00000068,
248 MOVE FROM dsa_datain+0x0048, WHEN DATA_IN
250 at 0x0000004e : */ 0x19000000,0x00000070,
252 MOVE FROM dsa_datain+0x0050, WHEN DATA_IN
254 at 0x00000050 : */ 0x19000000,0x00000078,
256 MOVE FROM dsa_datain+0x0058, WHEN DATA_IN
258 at 0x00000052 : */ 0x19000000,0x00000080,
260 MOVE FROM dsa_datain+0x0060, WHEN DATA_IN
262 at 0x00000054 : */ 0x19000000,0x00000088,
264 MOVE FROM dsa_datain+0x0068, WHEN DATA_IN
266 at 0x00000056 : */ 0x19000000,0x00000090,
268 MOVE FROM dsa_datain+0x0070, WHEN DATA_IN
270 at 0x00000058 : */ 0x19000000,0x00000098,
272 MOVE FROM dsa_datain+0x0078, WHEN DATA_IN
274 at 0x0000005a : */ 0x19000000,0x000000a0,
276 MOVE FROM dsa_datain+0x0080, WHEN DATA_IN
278 at 0x0000005c : */ 0x19000000,0x000000a8,
280 MOVE FROM dsa_datain+0x0088, WHEN DATA_IN
282 at 0x0000005e : */ 0x19000000,0x000000b0,
284 MOVE FROM dsa_datain+0x0090, WHEN DATA_IN
286 at 0x00000060 : */ 0x19000000,0x000000b8,
288 MOVE FROM dsa_datain+0x0098, WHEN DATA_IN
290 at 0x00000062 : */ 0x19000000,0x000000c0,
292 MOVE FROM dsa_datain+0x00a0, WHEN DATA_IN
294 at 0x00000064 : */ 0x19000000,0x000000c8,
296 MOVE FROM dsa_datain+0x00a8, WHEN DATA_IN
298 at 0x00000066 : */ 0x19000000,0x000000d0,
300 MOVE FROM dsa_datain+0x00b0, WHEN DATA_IN
302 at 0x00000068 : */ 0x19000000,0x000000d8,
304 MOVE FROM dsa_datain+0x00b8, WHEN DATA_IN
306 at 0x0000006a : */ 0x19000000,0x000000e0,
308 MOVE FROM dsa_datain+0x00c0, WHEN DATA_IN
310 at 0x0000006c : */ 0x19000000,0x000000e8,
312 MOVE FROM dsa_datain+0x00c8, WHEN DATA_IN
314 at 0x0000006e : */ 0x19000000,0x000000f0,
316 MOVE FROM dsa_datain+0x00d0, WHEN DATA_IN
318 at 0x00000070 : */ 0x19000000,0x000000f8,
320 MOVE FROM dsa_datain+0x00d8, WHEN DATA_IN
322 at 0x00000072 : */ 0x19000000,0x00000100,
324 MOVE FROM dsa_datain+0x00e0, WHEN DATA_IN
326 at 0x00000074 : */ 0x19000000,0x00000108,
328 MOVE FROM dsa_datain+0x00e8, WHEN DATA_IN
330 at 0x00000076 : */ 0x19000000,0x00000110,
332 MOVE FROM dsa_datain+0x00f0, WHEN DATA_IN
334 at 0x00000078 : */ 0x19000000,0x00000118,
336 MOVE FROM dsa_datain+0x00f8, WHEN DATA_IN
338 at 0x0000007a : */ 0x19000000,0x00000120,
340 MOVE FROM dsa_datain+0x0100, WHEN DATA_IN
342 at 0x0000007c : */ 0x19000000,0x00000128,
344 MOVE FROM dsa_datain+0x0108, WHEN DATA_IN
346 at 0x0000007e : */ 0x19000000,0x00000130,
348 MOVE FROM dsa_datain+0x0110, WHEN DATA_IN
350 at 0x00000080 : */ 0x19000000,0x00000138,
352 MOVE FROM dsa_datain+0x0118, WHEN DATA_IN
354 at 0x00000082 : */ 0x19000000,0x00000140,
356 MOVE FROM dsa_datain+0x0120, WHEN DATA_IN
358 at 0x00000084 : */ 0x19000000,0x00000148,
360 MOVE FROM dsa_datain+0x0128, WHEN DATA_IN
362 at 0x00000086 : */ 0x19000000,0x00000150,
364 MOVE FROM dsa_datain+0x0130, WHEN DATA_IN
366 at 0x00000088 : */ 0x19000000,0x00000158,
368 MOVE FROM dsa_datain+0x0138, WHEN DATA_IN
370 at 0x0000008a : */ 0x19000000,0x00000160,
372 MOVE FROM dsa_datain+0x0140, WHEN DATA_IN
374 at 0x0000008c : */ 0x19000000,0x00000168,
376 MOVE FROM dsa_datain+0x0148, WHEN DATA_IN
378 at 0x0000008e : */ 0x19000000,0x00000170,
380 MOVE FROM dsa_datain+0x0150, WHEN DATA_IN
382 at 0x00000090 : */ 0x19000000,0x00000178,
384 MOVE FROM dsa_datain+0x0158, WHEN DATA_IN
386 at 0x00000092 : */ 0x19000000,0x00000180,
388 MOVE FROM dsa_datain+0x0160, WHEN DATA_IN
390 at 0x00000094 : */ 0x19000000,0x00000188,
392 MOVE FROM dsa_datain+0x0168, WHEN DATA_IN
394 at 0x00000096 : */ 0x19000000,0x00000190,
396 MOVE FROM dsa_datain+0x0170, WHEN DATA_IN
398 at 0x00000098 : */ 0x19000000,0x00000198,
400 MOVE FROM dsa_datain+0x0178, WHEN DATA_IN
402 at 0x0000009a : */ 0x19000000,0x000001a0,
404 MOVE FROM dsa_datain+0x0180, WHEN DATA_IN
406 at 0x0000009c : */ 0x19000000,0x000001a8,
408 MOVE FROM dsa_datain+0x0188, WHEN DATA_IN
410 at 0x0000009e : */ 0x19000000,0x000001b0,
412 MOVE FROM dsa_datain+0x0190, WHEN DATA_IN
414 at 0x000000a0 : */ 0x19000000,0x000001b8,
416 MOVE FROM dsa_datain+0x0198, WHEN DATA_IN
418 at 0x000000a2 : */ 0x19000000,0x000001c0,
420 MOVE FROM dsa_datain+0x01a0, WHEN DATA_IN
422 at 0x000000a4 : */ 0x19000000,0x000001c8,
424 MOVE FROM dsa_datain+0x01a8, WHEN DATA_IN
426 at 0x000000a6 : */ 0x19000000,0x000001d0,
428 MOVE FROM dsa_datain+0x01b0, WHEN DATA_IN
430 at 0x000000a8 : */ 0x19000000,0x000001d8,
432 MOVE FROM dsa_datain+0x01b8, WHEN DATA_IN
434 at 0x000000aa : */ 0x19000000,0x000001e0,
436 MOVE FROM dsa_datain+0x01c0, WHEN DATA_IN
438 at 0x000000ac : */ 0x19000000,0x000001e8,
440 MOVE FROM dsa_datain+0x01c8, WHEN DATA_IN
442 at 0x000000ae : */ 0x19000000,0x000001f0,
444 MOVE FROM dsa_datain+0x01d0, WHEN DATA_IN
446 at 0x000000b0 : */ 0x19000000,0x000001f8,
448 MOVE FROM dsa_datain+0x01d8, WHEN DATA_IN
450 at 0x000000b2 : */ 0x19000000,0x00000200,
452 MOVE FROM dsa_datain+0x01e0, WHEN DATA_IN
454 at 0x000000b4 : */ 0x19000000,0x00000208,
456 MOVE FROM dsa_datain+0x01e8, WHEN DATA_IN
458 at 0x000000b6 : */ 0x19000000,0x00000210,
460 MOVE FROM dsa_datain+0x01f0, WHEN DATA_IN
462 at 0x000000b8 : */ 0x19000000,0x00000218,
464 MOVE FROM dsa_datain+0x01f8, WHEN DATA_IN
466 at 0x000000ba : */ 0x19000000,0x00000220,
468 MOVE FROM dsa_datain+0x0200, WHEN DATA_IN
470 at 0x000000bc : */ 0x19000000,0x00000228,
472 MOVE FROM dsa_datain+0x0208, WHEN DATA_IN
474 at 0x000000be : */ 0x19000000,0x00000230,
476 MOVE FROM dsa_datain+0x0210, WHEN DATA_IN
478 at 0x000000c0 : */ 0x19000000,0x00000238,
480 MOVE FROM dsa_datain+0x0218, WHEN DATA_IN
482 at 0x000000c2 : */ 0x19000000,0x00000240,
484 MOVE FROM dsa_datain+0x0220, WHEN DATA_IN
486 at 0x000000c4 : */ 0x19000000,0x00000248,
488 MOVE FROM dsa_datain+0x0228, WHEN DATA_IN
490 at 0x000000c6 : */ 0x19000000,0x00000250,
492 MOVE FROM dsa_datain+0x0230, WHEN DATA_IN
494 at 0x000000c8 : */ 0x19000000,0x00000258,
496 MOVE FROM dsa_datain+0x0238, WHEN DATA_IN
498 at 0x000000ca : */ 0x19000000,0x00000260,
500 MOVE FROM dsa_datain+0x0240, WHEN DATA_IN
502 at 0x000000cc : */ 0x19000000,0x00000268,
504 MOVE FROM dsa_datain+0x0248, WHEN DATA_IN
506 at 0x000000ce : */ 0x19000000,0x00000270,
508 MOVE FROM dsa_datain+0x0250, WHEN DATA_IN
510 at 0x000000d0 : */ 0x19000000,0x00000278,
512 MOVE FROM dsa_datain+0x0258, WHEN DATA_IN
514 at 0x000000d2 : */ 0x19000000,0x00000280,
516 MOVE FROM dsa_datain+0x0260, WHEN DATA_IN
518 at 0x000000d4 : */ 0x19000000,0x00000288,
520 MOVE FROM dsa_datain+0x0268, WHEN DATA_IN
522 at 0x000000d6 : */ 0x19000000,0x00000290,
524 MOVE FROM dsa_datain+0x0270, WHEN DATA_IN
526 at 0x000000d8 : */ 0x19000000,0x00000298,
528 MOVE FROM dsa_datain+0x0278, WHEN DATA_IN
530 at 0x000000da : */ 0x19000000,0x000002a0,
532 MOVE FROM dsa_datain+0x0280, WHEN DATA_IN
534 at 0x000000dc : */ 0x19000000,0x000002a8,
536 MOVE FROM dsa_datain+0x0288, WHEN DATA_IN
538 at 0x000000de : */ 0x19000000,0x000002b0,
540 MOVE FROM dsa_datain+0x0290, WHEN DATA_IN
542 at 0x000000e0 : */ 0x19000000,0x000002b8,
544 MOVE FROM dsa_datain+0x0298, WHEN DATA_IN
546 at 0x000000e2 : */ 0x19000000,0x000002c0,
548 MOVE FROM dsa_datain+0x02a0, WHEN DATA_IN
550 at 0x000000e4 : */ 0x19000000,0x000002c8,
552 MOVE FROM dsa_datain+0x02a8, WHEN DATA_IN
554 at 0x000000e6 : */ 0x19000000,0x000002d0,
556 MOVE FROM dsa_datain+0x02b0, WHEN DATA_IN
558 at 0x000000e8 : */ 0x19000000,0x000002d8,
560 MOVE FROM dsa_datain+0x02b8, WHEN DATA_IN
562 at 0x000000ea : */ 0x19000000,0x000002e0,
564 MOVE FROM dsa_datain+0x02c0, WHEN DATA_IN
566 at 0x000000ec : */ 0x19000000,0x000002e8,
568 MOVE FROM dsa_datain+0x02c8, WHEN DATA_IN
570 at 0x000000ee : */ 0x19000000,0x000002f0,
572 MOVE FROM dsa_datain+0x02d0, WHEN DATA_IN
574 at 0x000000f0 : */ 0x19000000,0x000002f8,
576 MOVE FROM dsa_datain+0x02d8, WHEN DATA_IN
578 at 0x000000f2 : */ 0x19000000,0x00000300,
580 MOVE FROM dsa_datain+0x02e0, WHEN DATA_IN
582 at 0x000000f4 : */ 0x19000000,0x00000308,
584 MOVE FROM dsa_datain+0x02e8, WHEN DATA_IN
586 at 0x000000f6 : */ 0x19000000,0x00000310,
588 MOVE FROM dsa_datain+0x02f0, WHEN DATA_IN
590 at 0x000000f8 : */ 0x19000000,0x00000318,
592 MOVE FROM dsa_datain+0x02f8, WHEN DATA_IN
594 at 0x000000fa : */ 0x19000000,0x00000320,
596 MOVE FROM dsa_datain+0x0300, WHEN DATA_IN
598 at 0x000000fc : */ 0x19000000,0x00000328,
600 MOVE FROM dsa_datain+0x0308, WHEN DATA_IN
602 at 0x000000fe : */ 0x19000000,0x00000330,
604 MOVE FROM dsa_datain+0x0310, WHEN DATA_IN
606 at 0x00000100 : */ 0x19000000,0x00000338,
608 MOVE FROM dsa_datain+0x0318, WHEN DATA_IN
610 at 0x00000102 : */ 0x19000000,0x00000340,
612 MOVE FROM dsa_datain+0x0320, WHEN DATA_IN
614 at 0x00000104 : */ 0x19000000,0x00000348,
616 MOVE FROM dsa_datain+0x0328, WHEN DATA_IN
618 at 0x00000106 : */ 0x19000000,0x00000350,
620 MOVE FROM dsa_datain+0x0330, WHEN DATA_IN
622 at 0x00000108 : */ 0x19000000,0x00000358,
624 MOVE FROM dsa_datain+0x0338, WHEN DATA_IN
626 at 0x0000010a : */ 0x19000000,0x00000360,
628 MOVE FROM dsa_datain+0x0340, WHEN DATA_IN
630 at 0x0000010c : */ 0x19000000,0x00000368,
632 MOVE FROM dsa_datain+0x0348, WHEN DATA_IN
634 at 0x0000010e : */ 0x19000000,0x00000370,
636 MOVE FROM dsa_datain+0x0350, WHEN DATA_IN
638 at 0x00000110 : */ 0x19000000,0x00000378,
640 MOVE FROM dsa_datain+0x0358, WHEN DATA_IN
642 at 0x00000112 : */ 0x19000000,0x00000380,
644 MOVE FROM dsa_datain+0x0360, WHEN DATA_IN
646 at 0x00000114 : */ 0x19000000,0x00000388,
648 MOVE FROM dsa_datain+0x0368, WHEN DATA_IN
650 at 0x00000116 : */ 0x19000000,0x00000390,
652 MOVE FROM dsa_datain+0x0370, WHEN DATA_IN
654 at 0x00000118 : */ 0x19000000,0x00000398,
656 MOVE FROM dsa_datain+0x0378, WHEN DATA_IN
658 at 0x0000011a : */ 0x19000000,0x000003a0,
660 MOVE FROM dsa_datain+0x0380, WHEN DATA_IN
662 at 0x0000011c : */ 0x19000000,0x000003a8,
664 MOVE FROM dsa_datain+0x0388, WHEN DATA_IN
666 at 0x0000011e : */ 0x19000000,0x000003b0,
668 MOVE FROM dsa_datain+0x0390, WHEN DATA_IN
670 at 0x00000120 : */ 0x19000000,0x000003b8,
672 MOVE FROM dsa_datain+0x0398, WHEN DATA_IN
674 at 0x00000122 : */ 0x19000000,0x000003c0,
676 MOVE FROM dsa_datain+0x03a0, WHEN DATA_IN
678 at 0x00000124 : */ 0x19000000,0x000003c8,
680 MOVE FROM dsa_datain+0x03a8, WHEN DATA_IN
682 at 0x00000126 : */ 0x19000000,0x000003d0,
684 MOVE FROM dsa_datain+0x03b0, WHEN DATA_IN
686 at 0x00000128 : */ 0x19000000,0x000003d8,
688 MOVE FROM dsa_datain+0x03b8, WHEN DATA_IN
690 at 0x0000012a : */ 0x19000000,0x000003e0,
692 MOVE FROM dsa_datain+0x03c0, WHEN DATA_IN
694 at 0x0000012c : */ 0x19000000,0x000003e8,
696 MOVE FROM dsa_datain+0x03c8, WHEN DATA_IN
698 at 0x0000012e : */ 0x19000000,0x000003f0,
700 MOVE FROM dsa_datain+0x03d0, WHEN DATA_IN
702 at 0x00000130 : */ 0x19000000,0x000003f8,
704 MOVE FROM dsa_datain+0x03d8, WHEN DATA_IN
706 at 0x00000132 : */ 0x19000000,0x00000400,
708 MOVE FROM dsa_datain+0x03e0, WHEN DATA_IN
710 at 0x00000134 : */ 0x19000000,0x00000408,
712 MOVE FROM dsa_datain+0x03e8, WHEN DATA_IN
714 at 0x00000136 : */ 0x19000000,0x00000410,
716 MOVE FROM dsa_datain+0x03f0, WHEN DATA_IN
718 at 0x00000138 : */ 0x19000000,0x00000418,
720 MOVE FROM dsa_datain+0x03f8, WHEN DATA_IN
722 at 0x0000013a : */ 0x19000000,0x00000420,
726 at 0x0000013c : */ 0x80080000,0x00000908,
730 MOVE SCRATCH0 | had_dataout TO SCRATCH0
732 at 0x0000013e : */ 0x7a341000,0x00000000,
734 ENTRY patch_output_data
738 at 0x00000140 : */ 0x80080000,0x00000000,
740 MOVE FROM dsa_dataout+0x0000, WHEN DATA_OUT
742 at 0x00000142 : */ 0x18000000,0x00000428,
744 MOVE FROM dsa_dataout+0x0008, WHEN DATA_OUT
746 at 0x00000144 : */ 0x18000000,0x00000430,
748 MOVE FROM dsa_dataout+0x0010, WHEN DATA_OUT
750 at 0x00000146 : */ 0x18000000,0x00000438,
752 MOVE FROM dsa_dataout+0x0018, WHEN DATA_OUT
754 at 0x00000148 : */ 0x18000000,0x00000440,
756 MOVE FROM dsa_dataout+0x0020, WHEN DATA_OUT
758 at 0x0000014a : */ 0x18000000,0x00000448,
760 MOVE FROM dsa_dataout+0x0028, WHEN DATA_OUT
762 at 0x0000014c : */ 0x18000000,0x00000450,
764 MOVE FROM dsa_dataout+0x0030, WHEN DATA_OUT
766 at 0x0000014e : */ 0x18000000,0x00000458,
768 MOVE FROM dsa_dataout+0x0038, WHEN DATA_OUT
770 at 0x00000150 : */ 0x18000000,0x00000460,
772 MOVE FROM dsa_dataout+0x0040, WHEN DATA_OUT
774 at 0x00000152 : */ 0x18000000,0x00000468,
776 MOVE FROM dsa_dataout+0x0048, WHEN DATA_OUT
778 at 0x00000154 : */ 0x18000000,0x00000470,
780 MOVE FROM dsa_dataout+0x0050, WHEN DATA_OUT
782 at 0x00000156 : */ 0x18000000,0x00000478,
784 MOVE FROM dsa_dataout+0x0058, WHEN DATA_OUT
786 at 0x00000158 : */ 0x18000000,0x00000480,
788 MOVE FROM dsa_dataout+0x0060, WHEN DATA_OUT
790 at 0x0000015a : */ 0x18000000,0x00000488,
792 MOVE FROM dsa_dataout+0x0068, WHEN DATA_OUT
794 at 0x0000015c : */ 0x18000000,0x00000490,
796 MOVE FROM dsa_dataout+0x0070, WHEN DATA_OUT
798 at 0x0000015e : */ 0x18000000,0x00000498,
800 MOVE FROM dsa_dataout+0x0078, WHEN DATA_OUT
802 at 0x00000160 : */ 0x18000000,0x000004a0,
804 MOVE FROM dsa_dataout+0x0080, WHEN DATA_OUT
806 at 0x00000162 : */ 0x18000000,0x000004a8,
808 MOVE FROM dsa_dataout+0x0088, WHEN DATA_OUT
810 at 0x00000164 : */ 0x18000000,0x000004b0,
812 MOVE FROM dsa_dataout+0x0090, WHEN DATA_OUT
814 at 0x00000166 : */ 0x18000000,0x000004b8,
816 MOVE FROM dsa_dataout+0x0098, WHEN DATA_OUT
818 at 0x00000168 : */ 0x18000000,0x000004c0,
820 MOVE FROM dsa_dataout+0x00a0, WHEN DATA_OUT
822 at 0x0000016a : */ 0x18000000,0x000004c8,
824 MOVE FROM dsa_dataout+0x00a8, WHEN DATA_OUT
826 at 0x0000016c : */ 0x18000000,0x000004d0,
828 MOVE FROM dsa_dataout+0x00b0, WHEN DATA_OUT
830 at 0x0000016e : */ 0x18000000,0x000004d8,
832 MOVE FROM dsa_dataout+0x00b8, WHEN DATA_OUT
834 at 0x00000170 : */ 0x18000000,0x000004e0,
836 MOVE FROM dsa_dataout+0x00c0, WHEN DATA_OUT
838 at 0x00000172 : */ 0x18000000,0x000004e8,
840 MOVE FROM dsa_dataout+0x00c8, WHEN DATA_OUT
842 at 0x00000174 : */ 0x18000000,0x000004f0,
844 MOVE FROM dsa_dataout+0x00d0, WHEN DATA_OUT
846 at 0x00000176 : */ 0x18000000,0x000004f8,
848 MOVE FROM dsa_dataout+0x00d8, WHEN DATA_OUT
850 at 0x00000178 : */ 0x18000000,0x00000500,
852 MOVE FROM dsa_dataout+0x00e0, WHEN DATA_OUT
854 at 0x0000017a : */ 0x18000000,0x00000508,
856 MOVE FROM dsa_dataout+0x00e8, WHEN DATA_OUT
858 at 0x0000017c : */ 0x18000000,0x00000510,
860 MOVE FROM dsa_dataout+0x00f0, WHEN DATA_OUT
862 at 0x0000017e : */ 0x18000000,0x00000518,
864 MOVE FROM dsa_dataout+0x00f8, WHEN DATA_OUT
866 at 0x00000180 : */ 0x18000000,0x00000520,
868 MOVE FROM dsa_dataout+0x0100, WHEN DATA_OUT
870 at 0x00000182 : */ 0x18000000,0x00000528,
872 MOVE FROM dsa_dataout+0x0108, WHEN DATA_OUT
874 at 0x00000184 : */ 0x18000000,0x00000530,
876 MOVE FROM dsa_dataout+0x0110, WHEN DATA_OUT
878 at 0x00000186 : */ 0x18000000,0x00000538,
880 MOVE FROM dsa_dataout+0x0118, WHEN DATA_OUT
882 at 0x00000188 : */ 0x18000000,0x00000540,
884 MOVE FROM dsa_dataout+0x0120, WHEN DATA_OUT
886 at 0x0000018a : */ 0x18000000,0x00000548,
888 MOVE FROM dsa_dataout+0x0128, WHEN DATA_OUT
890 at 0x0000018c : */ 0x18000000,0x00000550,
892 MOVE FROM dsa_dataout+0x0130, WHEN DATA_OUT
894 at 0x0000018e : */ 0x18000000,0x00000558,
896 MOVE FROM dsa_dataout+0x0138, WHEN DATA_OUT
898 at 0x00000190 : */ 0x18000000,0x00000560,
900 MOVE FROM dsa_dataout+0x0140, WHEN DATA_OUT
902 at 0x00000192 : */ 0x18000000,0x00000568,
904 MOVE FROM dsa_dataout+0x0148, WHEN DATA_OUT
906 at 0x00000194 : */ 0x18000000,0x00000570,
908 MOVE FROM dsa_dataout+0x0150, WHEN DATA_OUT
910 at 0x00000196 : */ 0x18000000,0x00000578,
912 MOVE FROM dsa_dataout+0x0158, WHEN DATA_OUT
914 at 0x00000198 : */ 0x18000000,0x00000580,
916 MOVE FROM dsa_dataout+0x0160, WHEN DATA_OUT
918 at 0x0000019a : */ 0x18000000,0x00000588,
920 MOVE FROM dsa_dataout+0x0168, WHEN DATA_OUT
922 at 0x0000019c : */ 0x18000000,0x00000590,
924 MOVE FROM dsa_dataout+0x0170, WHEN DATA_OUT
926 at 0x0000019e : */ 0x18000000,0x00000598,
928 MOVE FROM dsa_dataout+0x0178, WHEN DATA_OUT
930 at 0x000001a0 : */ 0x18000000,0x000005a0,
932 MOVE FROM dsa_dataout+0x0180, WHEN DATA_OUT
934 at 0x000001a2 : */ 0x18000000,0x000005a8,
936 MOVE FROM dsa_dataout+0x0188, WHEN DATA_OUT
938 at 0x000001a4 : */ 0x18000000,0x000005b0,
940 MOVE FROM dsa_dataout+0x0190, WHEN DATA_OUT
942 at 0x000001a6 : */ 0x18000000,0x000005b8,
944 MOVE FROM dsa_dataout+0x0198, WHEN DATA_OUT
946 at 0x000001a8 : */ 0x18000000,0x000005c0,
948 MOVE FROM dsa_dataout+0x01a0, WHEN DATA_OUT
950 at 0x000001aa : */ 0x18000000,0x000005c8,
952 MOVE FROM dsa_dataout+0x01a8, WHEN DATA_OUT
954 at 0x000001ac : */ 0x18000000,0x000005d0,
956 MOVE FROM dsa_dataout+0x01b0, WHEN DATA_OUT
958 at 0x000001ae : */ 0x18000000,0x000005d8,
960 MOVE FROM dsa_dataout+0x01b8, WHEN DATA_OUT
962 at 0x000001b0 : */ 0x18000000,0x000005e0,
964 MOVE FROM dsa_dataout+0x01c0, WHEN DATA_OUT
966 at 0x000001b2 : */ 0x18000000,0x000005e8,
968 MOVE FROM dsa_dataout+0x01c8, WHEN DATA_OUT
970 at 0x000001b4 : */ 0x18000000,0x000005f0,
972 MOVE FROM dsa_dataout+0x01d0, WHEN DATA_OUT
974 at 0x000001b6 : */ 0x18000000,0x000005f8,
976 MOVE FROM dsa_dataout+0x01d8, WHEN DATA_OUT
978 at 0x000001b8 : */ 0x18000000,0x00000600,
980 MOVE FROM dsa_dataout+0x01e0, WHEN DATA_OUT
982 at 0x000001ba : */ 0x18000000,0x00000608,
984 MOVE FROM dsa_dataout+0x01e8, WHEN DATA_OUT
986 at 0x000001bc : */ 0x18000000,0x00000610,
988 MOVE FROM dsa_dataout+0x01f0, WHEN DATA_OUT
990 at 0x000001be : */ 0x18000000,0x00000618,
992 MOVE FROM dsa_dataout+0x01f8, WHEN DATA_OUT
994 at 0x000001c0 : */ 0x18000000,0x00000620,
996 MOVE FROM dsa_dataout+0x0200, WHEN DATA_OUT
998 at 0x000001c2 : */ 0x18000000,0x00000628,
1000 MOVE FROM dsa_dataout+0x0208, WHEN DATA_OUT
1002 at 0x000001c4 : */ 0x18000000,0x00000630,
1004 MOVE FROM dsa_dataout+0x0210, WHEN DATA_OUT
1006 at 0x000001c6 : */ 0x18000000,0x00000638,
1008 MOVE FROM dsa_dataout+0x0218, WHEN DATA_OUT
1010 at 0x000001c8 : */ 0x18000000,0x00000640,
1012 MOVE FROM dsa_dataout+0x0220, WHEN DATA_OUT
1014 at 0x000001ca : */ 0x18000000,0x00000648,
1016 MOVE FROM dsa_dataout+0x0228, WHEN DATA_OUT
1018 at 0x000001cc : */ 0x18000000,0x00000650,
1020 MOVE FROM dsa_dataout+0x0230, WHEN DATA_OUT
1022 at 0x000001ce : */ 0x18000000,0x00000658,
1024 MOVE FROM dsa_dataout+0x0238, WHEN DATA_OUT
1026 at 0x000001d0 : */ 0x18000000,0x00000660,
1028 MOVE FROM dsa_dataout+0x0240, WHEN DATA_OUT
1030 at 0x000001d2 : */ 0x18000000,0x00000668,
1032 MOVE FROM dsa_dataout+0x0248, WHEN DATA_OUT
1034 at 0x000001d4 : */ 0x18000000,0x00000670,
1036 MOVE FROM dsa_dataout+0x0250, WHEN DATA_OUT
1038 at 0x000001d6 : */ 0x18000000,0x00000678,
1040 MOVE FROM dsa_dataout+0x0258, WHEN DATA_OUT
1042 at 0x000001d8 : */ 0x18000000,0x00000680,
1044 MOVE FROM dsa_dataout+0x0260, WHEN DATA_OUT
1046 at 0x000001da : */ 0x18000000,0x00000688,
1048 MOVE FROM dsa_dataout+0x0268, WHEN DATA_OUT
1050 at 0x000001dc : */ 0x18000000,0x00000690,
1052 MOVE FROM dsa_dataout+0x0270, WHEN DATA_OUT
1054 at 0x000001de : */ 0x18000000,0x00000698,
1056 MOVE FROM dsa_dataout+0x0278, WHEN DATA_OUT
1058 at 0x000001e0 : */ 0x18000000,0x000006a0,
1060 MOVE FROM dsa_dataout+0x0280, WHEN DATA_OUT
1062 at 0x000001e2 : */ 0x18000000,0x000006a8,
1064 MOVE FROM dsa_dataout+0x0288, WHEN DATA_OUT
1066 at 0x000001e4 : */ 0x18000000,0x000006b0,
1068 MOVE FROM dsa_dataout+0x0290, WHEN DATA_OUT
1070 at 0x000001e6 : */ 0x18000000,0x000006b8,
1072 MOVE FROM dsa_dataout+0x0298, WHEN DATA_OUT
1074 at 0x000001e8 : */ 0x18000000,0x000006c0,
1076 MOVE FROM dsa_dataout+0x02a0, WHEN DATA_OUT
1078 at 0x000001ea : */ 0x18000000,0x000006c8,
1080 MOVE FROM dsa_dataout+0x02a8, WHEN DATA_OUT
1082 at 0x000001ec : */ 0x18000000,0x000006d0,
1084 MOVE FROM dsa_dataout+0x02b0, WHEN DATA_OUT
1086 at 0x000001ee : */ 0x18000000,0x000006d8,
1088 MOVE FROM dsa_dataout+0x02b8, WHEN DATA_OUT
1090 at 0x000001f0 : */ 0x18000000,0x000006e0,
1092 MOVE FROM dsa_dataout+0x02c0, WHEN DATA_OUT
1094 at 0x000001f2 : */ 0x18000000,0x000006e8,
1096 MOVE FROM dsa_dataout+0x02c8, WHEN DATA_OUT
1098 at 0x000001f4 : */ 0x18000000,0x000006f0,
1100 MOVE FROM dsa_dataout+0x02d0, WHEN DATA_OUT
1102 at 0x000001f6 : */ 0x18000000,0x000006f8,
1104 MOVE FROM dsa_dataout+0x02d8, WHEN DATA_OUT
1106 at 0x000001f8 : */ 0x18000000,0x00000700,
1108 MOVE FROM dsa_dataout+0x02e0, WHEN DATA_OUT
1110 at 0x000001fa : */ 0x18000000,0x00000708,
1112 MOVE FROM dsa_dataout+0x02e8, WHEN DATA_OUT
1114 at 0x000001fc : */ 0x18000000,0x00000710,
1116 MOVE FROM dsa_dataout+0x02f0, WHEN DATA_OUT
1118 at 0x000001fe : */ 0x18000000,0x00000718,
1120 MOVE FROM dsa_dataout+0x02f8, WHEN DATA_OUT
1122 at 0x00000200 : */ 0x18000000,0x00000720,
1124 MOVE FROM dsa_dataout+0x0300, WHEN DATA_OUT
1126 at 0x00000202 : */ 0x18000000,0x00000728,
1128 MOVE FROM dsa_dataout+0x0308, WHEN DATA_OUT
1130 at 0x00000204 : */ 0x18000000,0x00000730,
1132 MOVE FROM dsa_dataout+0x0310, WHEN DATA_OUT
1134 at 0x00000206 : */ 0x18000000,0x00000738,
1136 MOVE FROM dsa_dataout+0x0318, WHEN DATA_OUT
1138 at 0x00000208 : */ 0x18000000,0x00000740,
1140 MOVE FROM dsa_dataout+0x0320, WHEN DATA_OUT
1142 at 0x0000020a : */ 0x18000000,0x00000748,
1144 MOVE FROM dsa_dataout+0x0328, WHEN DATA_OUT
1146 at 0x0000020c : */ 0x18000000,0x00000750,
1148 MOVE FROM dsa_dataout+0x0330, WHEN DATA_OUT
1150 at 0x0000020e : */ 0x18000000,0x00000758,
1152 MOVE FROM dsa_dataout+0x0338, WHEN DATA_OUT
1154 at 0x00000210 : */ 0x18000000,0x00000760,
1156 MOVE FROM dsa_dataout+0x0340, WHEN DATA_OUT
1158 at 0x00000212 : */ 0x18000000,0x00000768,
1160 MOVE FROM dsa_dataout+0x0348, WHEN DATA_OUT
1162 at 0x00000214 : */ 0x18000000,0x00000770,
1164 MOVE FROM dsa_dataout+0x0350, WHEN DATA_OUT
1166 at 0x00000216 : */ 0x18000000,0x00000778,
1168 MOVE FROM dsa_dataout+0x0358, WHEN DATA_OUT
1170 at 0x00000218 : */ 0x18000000,0x00000780,
1172 MOVE FROM dsa_dataout+0x0360, WHEN DATA_OUT
1174 at 0x0000021a : */ 0x18000000,0x00000788,
1176 MOVE FROM dsa_dataout+0x0368, WHEN DATA_OUT
1178 at 0x0000021c : */ 0x18000000,0x00000790,
1180 MOVE FROM dsa_dataout+0x0370, WHEN DATA_OUT
1182 at 0x0000021e : */ 0x18000000,0x00000798,
1184 MOVE FROM dsa_dataout+0x0378, WHEN DATA_OUT
1186 at 0x00000220 : */ 0x18000000,0x000007a0,
1188 MOVE FROM dsa_dataout+0x0380, WHEN DATA_OUT
1190 at 0x00000222 : */ 0x18000000,0x000007a8,
1192 MOVE FROM dsa_dataout+0x0388, WHEN DATA_OUT
1194 at 0x00000224 : */ 0x18000000,0x000007b0,
1196 MOVE FROM dsa_dataout+0x0390, WHEN DATA_OUT
1198 at 0x00000226 : */ 0x18000000,0x000007b8,
1200 MOVE FROM dsa_dataout+0x0398, WHEN DATA_OUT
1202 at 0x00000228 : */ 0x18000000,0x000007c0,
1204 MOVE FROM dsa_dataout+0x03a0, WHEN DATA_OUT
1206 at 0x0000022a : */ 0x18000000,0x000007c8,
1208 MOVE FROM dsa_dataout+0x03a8, WHEN DATA_OUT
1210 at 0x0000022c : */ 0x18000000,0x000007d0,
1212 MOVE FROM dsa_dataout+0x03b0, WHEN DATA_OUT
1214 at 0x0000022e : */ 0x18000000,0x000007d8,
1216 MOVE FROM dsa_dataout+0x03b8, WHEN DATA_OUT
1218 at 0x00000230 : */ 0x18000000,0x000007e0,
1220 MOVE FROM dsa_dataout+0x03c0, WHEN DATA_OUT
1222 at 0x00000232 : */ 0x18000000,0x000007e8,
1224 MOVE FROM dsa_dataout+0x03c8, WHEN DATA_OUT
1226 at 0x00000234 : */ 0x18000000,0x000007f0,
1228 MOVE FROM dsa_dataout+0x03d0, WHEN DATA_OUT
1230 at 0x00000236 : */ 0x18000000,0x000007f8,
1232 MOVE FROM dsa_dataout+0x03d8, WHEN DATA_OUT
1234 at 0x00000238 : */ 0x18000000,0x00000800,
1236 MOVE FROM dsa_dataout+0x03e0, WHEN DATA_OUT
1238 at 0x0000023a : */ 0x18000000,0x00000808,
1240 MOVE FROM dsa_dataout+0x03e8, WHEN DATA_OUT
1242 at 0x0000023c : */ 0x18000000,0x00000810,
1244 MOVE FROM dsa_dataout+0x03f0, WHEN DATA_OUT
1246 at 0x0000023e : */ 0x18000000,0x00000818,
1248 MOVE FROM dsa_dataout+0x03f8, WHEN DATA_OUT
1250 at 0x00000240 : */ 0x18000000,0x00000820,
1252 ENTRY end_data_trans
1255 JUMP get_status, WHEN STATUS
1257 at 0x00000242 : */ 0x830b0000,0x000000a0,
1259 JUMP get_msgin3, WHEN MSG_IN
1261 at 0x00000244 : */ 0x870b0000,0x00000b20,
1263 INT int_data_bad_phase
1265 at 0x00000246 : */ 0x98080000,0xab93000b,
1269 MOVE SCRATCH0 | had_msgin TO SCRATCH0
1271 at 0x00000248 : */ 0x7a344000,0x00000000,
1273 MOVE 1, msgin_buf, WHEN MSG_IN
1275 at 0x0000024a : */ 0x0f000001,0x00000000,
1277 JUMP ext_msg1, IF 0x01 ; Extended Message
1279 at 0x0000024c : */ 0x800c0001,0x00000968,
1281 JUMP ignore_msg1, IF 0x02 ; Save Data Pointers
1283 at 0x0000024e : */ 0x800c0002,0x00000958,
1285 JUMP ignore_msg1, IF 0x03 ; Save Restore Pointers
1287 at 0x00000250 : */ 0x800c0003,0x00000958,
1289 JUMP disc1, IF 0x04 ; Disconnect
1291 at 0x00000252 : */ 0x800c0004,0x000009c8,
1295 at 0x00000254 : */ 0x98080000,0xab930006,
1300 at 0x00000256 : */ 0x60000040,0x00000000,
1304 at 0x00000258 : */ 0x80080000,0x00000058,
1307 MOVE SCRATCH0 | had_extmsg TO SCRATCH0
1309 at 0x0000025a : */ 0x7a348000,0x00000000,
1313 at 0x0000025c : */ 0x60000040,0x00000000,
1315 MOVE 1, msgin_buf + 1, WHEN MSG_IN
1317 at 0x0000025e : */ 0x0f000001,0x00000001,
1319 JUMP ext_msg1a, IF 0x03
1321 at 0x00000260 : */ 0x800c0003,0x00000990,
1323 INT int_bad_extmsg1a
1325 at 0x00000262 : */ 0x98080000,0xab930000,
1330 at 0x00000264 : */ 0x60000040,0x00000000,
1332 MOVE 1, msgin_buf + 2, WHEN MSG_IN
1334 at 0x00000266 : */ 0x0f000001,0x00000002,
1336 JUMP ext_msg1b, IF 0x01 ; Must be SDTR
1338 at 0x00000268 : */ 0x800c0001,0x000009b0,
1340 INT int_bad_extmsg1b
1342 at 0x0000026a : */ 0x98080000,0xab930001,
1347 at 0x0000026c : */ 0x60000040,0x00000000,
1349 MOVE 2, msgin_buf + 3, WHEN MSG_IN
1351 at 0x0000026e : */ 0x0f000002,0x00000003,
1355 at 0x00000270 : */ 0x98080000,0xab93000c,
1360 at 0x00000272 : */ 0x60000040,0x00000000,
1366 at 0x00000274 : */ 0x48000000,0x00000000,
1370 at 0x00000276 : */ 0x98080000,0xab930019,
1372 ENTRY resume_msgin1a
1376 at 0x00000278 : */ 0x60000040,0x00000000,
1380 at 0x0000027a : */ 0x80080000,0x00000058,
1382 ENTRY resume_msgin1b
1386 at 0x0000027c : */ 0x58000008,0x00000000,
1390 at 0x0000027e : */ 0x60000040,0x00000000,
1392 INT int_no_msgout1, WHEN NOT MSG_OUT
1394 at 0x00000280 : */ 0x9e030000,0xab93000f,
1396 MOVE SCRATCH0 | had_msgout TO SCRATCH0
1398 at 0x00000282 : */ 0x7a340200,0x00000000,
1400 MOVE FROM dsa_msgout, when MSG_OUT
1402 at 0x00000284 : */ 0x1e000000,0x00000008,
1406 at 0x00000286 : */ 0x80080000,0x00000058,
1410 MOVE SCRATCH0 | had_msgin TO SCRATCH0
1412 at 0x00000288 : */ 0x7a344000,0x00000000,
1414 MOVE 1, msgin_buf, WHEN MSG_IN
1416 at 0x0000028a : */ 0x0f000001,0x00000000,
1418 JUMP ext_msg2, IF 0x01 ; Extended Message
1420 at 0x0000028c : */ 0x800c0001,0x00000a68,
1422 JUMP ignore_msg2, IF 0x02 ; Save Data Pointers
1424 at 0x0000028e : */ 0x800c0002,0x00000a58,
1426 JUMP ignore_msg2, IF 0x03 ; Save Restore Pointers
1428 at 0x00000290 : */ 0x800c0003,0x00000a58,
1430 JUMP disc2, IF 0x04 ; Disconnect
1432 at 0x00000292 : */ 0x800c0004,0x00000ac8,
1436 at 0x00000294 : */ 0x98080000,0xab930007,
1441 at 0x00000296 : */ 0x60000040,0x00000000,
1445 at 0x00000298 : */ 0x80080000,0x00000078,
1448 MOVE SCRATCH0 | had_extmsg TO SCRATCH0
1450 at 0x0000029a : */ 0x7a348000,0x00000000,
1454 at 0x0000029c : */ 0x60000040,0x00000000,
1456 MOVE 1, msgin_buf + 1, WHEN MSG_IN
1458 at 0x0000029e : */ 0x0f000001,0x00000001,
1460 JUMP ext_msg2a, IF 0x03
1462 at 0x000002a0 : */ 0x800c0003,0x00000a90,
1464 INT int_bad_extmsg2a
1466 at 0x000002a2 : */ 0x98080000,0xab930002,
1471 at 0x000002a4 : */ 0x60000040,0x00000000,
1473 MOVE 1, msgin_buf + 2, WHEN MSG_IN
1475 at 0x000002a6 : */ 0x0f000001,0x00000002,
1477 JUMP ext_msg2b, IF 0x01 ; Must be SDTR
1479 at 0x000002a8 : */ 0x800c0001,0x00000ab0,
1481 INT int_bad_extmsg2b
1483 at 0x000002aa : */ 0x98080000,0xab930003,
1488 at 0x000002ac : */ 0x60000040,0x00000000,
1490 MOVE 2, msgin_buf + 3, WHEN MSG_IN
1492 at 0x000002ae : */ 0x0f000002,0x00000003,
1496 at 0x000002b0 : */ 0x98080000,0xab93000d,
1501 at 0x000002b2 : */ 0x60000040,0x00000000,
1507 at 0x000002b4 : */ 0x48000000,0x00000000,
1511 at 0x000002b6 : */ 0x98080000,0xab93001a,
1513 ENTRY resume_msgin2a
1517 at 0x000002b8 : */ 0x60000040,0x00000000,
1521 at 0x000002ba : */ 0x80080000,0x00000078,
1523 ENTRY resume_msgin2b
1527 at 0x000002bc : */ 0x58000008,0x00000000,
1531 at 0x000002be : */ 0x60000040,0x00000000,
1533 INT int_no_msgout2, WHEN NOT MSG_OUT
1535 at 0x000002c0 : */ 0x9e030000,0xab930010,
1537 MOVE SCRATCH0 | had_msgout TO SCRATCH0
1539 at 0x000002c2 : */ 0x7a340200,0x00000000,
1541 MOVE FROM dsa_msgout, when MSG_OUT
1543 at 0x000002c4 : */ 0x1e000000,0x00000008,
1547 at 0x000002c6 : */ 0x80080000,0x00000078,
1551 MOVE SCRATCH0 | had_msgin TO SCRATCH0
1553 at 0x000002c8 : */ 0x7a344000,0x00000000,
1555 MOVE 1, msgin_buf, WHEN MSG_IN
1557 at 0x000002ca : */ 0x0f000001,0x00000000,
1559 JUMP ext_msg3, IF 0x01 ; Extended Message
1561 at 0x000002cc : */ 0x800c0001,0x00000b68,
1563 JUMP ignore_msg3, IF 0x02 ; Save Data Pointers
1565 at 0x000002ce : */ 0x800c0002,0x00000b58,
1567 JUMP ignore_msg3, IF 0x03 ; Save Restore Pointers
1569 at 0x000002d0 : */ 0x800c0003,0x00000b58,
1571 JUMP disc3, IF 0x04 ; Disconnect
1573 at 0x000002d2 : */ 0x800c0004,0x00000bc8,
1577 at 0x000002d4 : */ 0x98080000,0xab930008,
1582 at 0x000002d6 : */ 0x60000040,0x00000000,
1586 at 0x000002d8 : */ 0x80080000,0x00000908,
1589 MOVE SCRATCH0 | had_extmsg TO SCRATCH0
1591 at 0x000002da : */ 0x7a348000,0x00000000,
1595 at 0x000002dc : */ 0x60000040,0x00000000,
1597 MOVE 1, msgin_buf + 1, WHEN MSG_IN
1599 at 0x000002de : */ 0x0f000001,0x00000001,
1601 JUMP ext_msg3a, IF 0x03
1603 at 0x000002e0 : */ 0x800c0003,0x00000b90,
1605 INT int_bad_extmsg3a
1607 at 0x000002e2 : */ 0x98080000,0xab930004,
1612 at 0x000002e4 : */ 0x60000040,0x00000000,
1614 MOVE 1, msgin_buf + 2, WHEN MSG_IN
1616 at 0x000002e6 : */ 0x0f000001,0x00000002,
1618 JUMP ext_msg3b, IF 0x01 ; Must be SDTR
1620 at 0x000002e8 : */ 0x800c0001,0x00000bb0,
1622 INT int_bad_extmsg3b
1624 at 0x000002ea : */ 0x98080000,0xab930005,
1629 at 0x000002ec : */ 0x60000040,0x00000000,
1631 MOVE 2, msgin_buf + 3, WHEN MSG_IN
1633 at 0x000002ee : */ 0x0f000002,0x00000003,
1637 at 0x000002f0 : */ 0x98080000,0xab93000e,
1642 at 0x000002f2 : */ 0x60000040,0x00000000,
1648 at 0x000002f4 : */ 0x48000000,0x00000000,
1652 at 0x000002f6 : */ 0x98080000,0xab93001b,
1654 ENTRY resume_msgin3a
1658 at 0x000002f8 : */ 0x60000040,0x00000000,
1662 at 0x000002fa : */ 0x80080000,0x00000908,
1664 ENTRY resume_msgin3b
1668 at 0x000002fc : */ 0x58000008,0x00000000,
1672 at 0x000002fe : */ 0x60000040,0x00000000,
1674 INT int_no_msgout3, WHEN NOT MSG_OUT
1676 at 0x00000300 : */ 0x9e030000,0xab930011,
1678 MOVE SCRATCH0 | had_msgout TO SCRATCH0
1680 at 0x00000302 : */ 0x7a340200,0x00000000,
1682 MOVE FROM dsa_msgout, when MSG_OUT
1684 at 0x00000304 : */ 0x1e000000,0x00000008,
1688 at 0x00000306 : */ 0x80080000,0x00000908,
1691 ENTRY resume_rej_ident
1695 at 0x00000308 : */ 0x60000008,0x00000000,
1697 MOVE 1, msgin_buf, WHEN MSG_IN
1699 at 0x0000030a : */ 0x0f000001,0x00000000,
1701 INT int_not_rej, IF NOT 0x07 ; Reject
1703 at 0x0000030c : */ 0x98040007,0xab93001c,
1707 at 0x0000030e : */ 0x60000040,0x00000000,
1711 at 0x00000310 : */ 0x80080000,0x00000050,
1716 ; Disable selection timer
1717 MOVE CTEST7 | 0x10 TO CTEST7
1719 at 0x00000312 : */ 0x7a1b1000,0x00000000,
1721 WAIT RESELECT resel_err
1723 at 0x00000314 : */ 0x50000000,0x00000c70,
1725 INT int_resel_not_msgin, WHEN NOT MSG_IN
1727 at 0x00000316 : */ 0x9f030000,0xab930016,
1729 MOVE 1, reselected_identify, WHEN MSG_IN
1731 at 0x00000318 : */ 0x0f000001,0x00000000,
1735 at 0x0000031a : */ 0x98080000,0xab930017,
1738 MOVE CTEST2 & 0x40 TO SFBR
1740 at 0x0000031c : */ 0x74164000,0x00000000,
1742 JUMP selected, IF 0x00
1744 at 0x0000031e : */ 0x800c0000,0x00000cb0,
1746 MOVE SFBR & 0 TO SFBR
1748 at 0x00000320 : */ 0x7c080000,0x00000000,
1752 MOVE SFBR | 0x11 TO DSA0
1754 at 0x00000322 : */ 0x6a101100,0x00000000,
1756 MOVE SFBR | 0x22 TO DSA1
1758 at 0x00000324 : */ 0x6a112200,0x00000000,
1760 MOVE SFBR | 0x33 TO DSA2
1762 at 0x00000326 : */ 0x6a123300,0x00000000,
1764 MOVE SFBR | 0x44 TO DSA3
1766 at 0x00000328 : */ 0x6a134400,0x00000000,
1770 at 0x0000032a : */ 0x80080000,0x00000000,
1776 at 0x0000032c : */ 0x98080000,0xab930018,
1779 #define A_dsa_cmnd 0x00000010
1780 static u32 A_dsa_cmnd_used[] __attribute((unused)) = {
1784 #define A_dsa_datain 0x00000028
1785 static u32 A_dsa_datain_used[] __attribute((unused)) = {
1916 #define A_dsa_dataout 0x00000428
1917 static u32 A_dsa_dataout_used[] __attribute((unused)) = {
2048 #define A_dsa_msgin 0x00000020
2049 static u32 A_dsa_msgin_used[] __attribute((unused)) = {
2053 #define A_dsa_msgout 0x00000008
2054 static u32 A_dsa_msgout_used[] __attribute((unused)) = {
2061 #define A_dsa_select 0x00000000
2062 static u32 A_dsa_select_used[] __attribute((unused)) = {
2066 #define A_dsa_size 0x00000828
2067 static u32 A_dsa_size_used[] __attribute((unused)) = {
2070 #define A_dsa_status 0x00000018
2071 static u32 A_dsa_status_used[] __attribute((unused)) = {
2075 #define A_had_cmdout 0x00000004
2076 static u32 A_had_cmdout_used[] __attribute((unused)) = {
2080 #define A_had_datain 0x00000008
2081 static u32 A_had_datain_used[] __attribute((unused)) = {
2085 #define A_had_dataout 0x00000010
2086 static u32 A_had_dataout_used[] __attribute((unused)) = {
2090 #define A_had_extmsg 0x00000080
2091 static u32 A_had_extmsg_used[] __attribute((unused)) = {
2097 #define A_had_msgin 0x00000040
2098 static u32 A_had_msgin_used[] __attribute((unused)) = {
2104 #define A_had_msgout 0x00000002
2105 static u32 A_had_msgout_used[] __attribute((unused)) = {
2112 #define A_had_select 0x00000001
2113 static u32 A_had_select_used[] __attribute((unused)) = {
2117 #define A_had_status 0x00000020
2118 static u32 A_had_status_used[] __attribute((unused)) = {
2121 #define A_int_bad_extmsg1a 0xab930000
2122 static u32 A_int_bad_extmsg1a_used[] __attribute((unused)) = {
2126 #define A_int_bad_extmsg1b 0xab930001
2127 static u32 A_int_bad_extmsg1b_used[] __attribute((unused)) = {
2131 #define A_int_bad_extmsg2a 0xab930002
2132 static u32 A_int_bad_extmsg2a_used[] __attribute((unused)) = {
2136 #define A_int_bad_extmsg2b 0xab930003
2137 static u32 A_int_bad_extmsg2b_used[] __attribute((unused)) = {
2141 #define A_int_bad_extmsg3a 0xab930004
2142 static u32 A_int_bad_extmsg3a_used[] __attribute((unused)) = {
2146 #define A_int_bad_extmsg3b 0xab930005
2147 static u32 A_int_bad_extmsg3b_used[] __attribute((unused)) = {
2151 #define A_int_bad_msg1 0xab930006
2152 static u32 A_int_bad_msg1_used[] __attribute((unused)) = {
2156 #define A_int_bad_msg2 0xab930007
2157 static u32 A_int_bad_msg2_used[] __attribute((unused)) = {
2161 #define A_int_bad_msg3 0xab930008
2162 static u32 A_int_bad_msg3_used[] __attribute((unused)) = {
2166 #define A_int_cmd_bad_phase 0xab930009
2167 static u32 A_int_cmd_bad_phase_used[] __attribute((unused)) = {
2171 #define A_int_cmd_complete 0xab93000a
2172 static u32 A_int_cmd_complete_used[] __attribute((unused)) = {
2176 #define A_int_data_bad_phase 0xab93000b
2177 static u32 A_int_data_bad_phase_used[] __attribute((unused)) = {
2181 #define A_int_disc1 0xab930019
2182 static u32 A_int_disc1_used[] __attribute((unused)) = {
2186 #define A_int_disc2 0xab93001a
2187 static u32 A_int_disc2_used[] __attribute((unused)) = {
2191 #define A_int_disc3 0xab93001b
2192 static u32 A_int_disc3_used[] __attribute((unused)) = {
2196 #define A_int_msg_sdtr1 0xab93000c
2197 static u32 A_int_msg_sdtr1_used[] __attribute((unused)) = {
2201 #define A_int_msg_sdtr2 0xab93000d
2202 static u32 A_int_msg_sdtr2_used[] __attribute((unused)) = {
2206 #define A_int_msg_sdtr3 0xab93000e
2207 static u32 A_int_msg_sdtr3_used[] __attribute((unused)) = {
2211 #define A_int_no_msgout1 0xab93000f
2212 static u32 A_int_no_msgout1_used[] __attribute((unused)) = {
2216 #define A_int_no_msgout2 0xab930010
2217 static u32 A_int_no_msgout2_used[] __attribute((unused)) = {
2221 #define A_int_no_msgout3 0xab930011
2222 static u32 A_int_no_msgout3_used[] __attribute((unused)) = {
2226 #define A_int_not_cmd_complete 0xab930012
2227 static u32 A_int_not_cmd_complete_used[] __attribute((unused)) = {
2231 #define A_int_not_rej 0xab93001c
2232 static u32 A_int_not_rej_used[] __attribute((unused)) = {
2236 #define A_int_resel_not_msgin 0xab930016
2237 static u32 A_int_resel_not_msgin_used[] __attribute((unused)) = {
2241 #define A_int_reselected 0xab930017
2242 static u32 A_int_reselected_used[] __attribute((unused)) = {
2246 #define A_int_sel_no_ident 0xab930013
2247 static u32 A_int_sel_no_ident_used[] __attribute((unused)) = {
2251 #define A_int_sel_not_cmd 0xab930014
2252 static u32 A_int_sel_not_cmd_used[] __attribute((unused)) = {
2256 #define A_int_selected 0xab930018
2257 static u32 A_int_selected_used[] __attribute((unused)) = {
2261 #define A_int_status_not_msgin 0xab930015
2262 static u32 A_int_status_not_msgin_used[] __attribute((unused)) = {
2266 #define A_msgin_buf 0x00000000
2267 static u32 A_msgin_buf_used[] __attribute((unused)) = {
2283 #define A_reselected_identify 0x00000000
2284 static u32 A_reselected_identify_used[] __attribute((unused)) = {
2288 #define Ent_do_select 0x00000000
2289 #define Ent_done_ident 0x00000050
2290 #define Ent_end_data_trans 0x00000908
2291 #define Ent_patch_input_data 0x000000e8
2292 #define Ent_patch_new_dsa 0x00000c88
2293 #define Ent_patch_output_data 0x00000500
2294 #define Ent_reselect 0x00000c48
2295 #define Ent_resume_cmd 0x00000068
2296 #define Ent_resume_msgin1a 0x000009e0
2297 #define Ent_resume_msgin1b 0x000009f0
2298 #define Ent_resume_msgin2a 0x00000ae0
2299 #define Ent_resume_msgin2b 0x00000af0
2300 #define Ent_resume_msgin3a 0x00000be0
2301 #define Ent_resume_msgin3b 0x00000bf0
2302 #define Ent_resume_pmm 0x00000078
2303 #define Ent_resume_rej_ident 0x00000c20
2304 #define Ent_wait_disc1 0x000009d0
2305 #define Ent_wait_disc2 0x00000ad0
2306 #define Ent_wait_disc3 0x00000bd0
2307 #define Ent_wait_disc_complete 0x000000d0
2308 static u32 LABELPATCHES[] __attribute((unused)) = {
2356 } EXTERNAL_PATCHES[] __attribute((unused)) = {
2359 static u32 INSTRUCTIONS __attribute((unused)) = 407;
2360 static u32 PATCHES __attribute((unused)) = 42;
2361 static u32 EXTERNAL_PATCHES_LEN __attribute((unused)) = 0;