9 ABSOLUTE dsa_select = 0
10 ABSOLUTE dsa_msgout = 8
11 ABSOLUTE dsa_cmnd = 16
12 ABSOLUTE dsa_status = 24
13 ABSOLUTE dsa_msgin = 32
14 ABSOLUTE dsa_datain = 40
15 ABSOLUTE dsa_dataout = 1064
16 ABSOLUTE dsa_size = 2088
18 ABSOLUTE reselected_identify = 0
19 ABSOLUTE msgin_buf = 0
23 ABSOLUTE int_bad_extmsg1a = 0xab930000
24 ABSOLUTE int_bad_extmsg1b = 0xab930001
25 ABSOLUTE int_bad_extmsg2a = 0xab930002
26 ABSOLUTE int_bad_extmsg2b = 0xab930003
27 ABSOLUTE int_bad_extmsg3a = 0xab930004
28 ABSOLUTE int_bad_extmsg3b = 0xab930005
29 ABSOLUTE int_bad_msg1 = 0xab930006
30 ABSOLUTE int_bad_msg2 = 0xab930007
31 ABSOLUTE int_bad_msg3 = 0xab930008
32 ABSOLUTE int_cmd_bad_phase = 0xab930009
33 ABSOLUTE int_cmd_complete = 0xab93000a
34 ABSOLUTE int_data_bad_phase = 0xab93000b
35 ABSOLUTE int_msg_sdtr1 = 0xab93000c
36 ABSOLUTE int_msg_sdtr2 = 0xab93000d
37 ABSOLUTE int_msg_sdtr3 = 0xab93000e
38 ABSOLUTE int_no_msgout1 = 0xab93000f
39 ABSOLUTE int_no_msgout2 = 0xab930010
40 ABSOLUTE int_no_msgout3 = 0xab930011
41 ABSOLUTE int_not_cmd_complete = 0xab930012
42 ABSOLUTE int_sel_no_ident = 0xab930013
43 ABSOLUTE int_sel_not_cmd = 0xab930014
44 ABSOLUTE int_status_not_msgin = 0xab930015
45 ABSOLUTE int_resel_not_msgin = 0xab930016
46 ABSOLUTE int_reselected = 0xab930017
47 ABSOLUTE int_selected = 0xab930018
48 ABSOLUTE int_disc1 = 0xab930019
49 ABSOLUTE int_disc2 = 0xab93001a
50 ABSOLUTE int_disc3 = 0xab93001b
51 ABSOLUTE int_not_rej = 0xab93001c
56 ABSOLUTE had_select = 0x01
57 ABSOLUTE had_msgout = 0x02
58 ABSOLUTE had_cmdout = 0x04
59 ABSOLUTE had_datain = 0x08
60 ABSOLUTE had_dataout = 0x10
61 ABSOLUTE had_status = 0x20
62 ABSOLUTE had_msgin = 0x40
63 ABSOLUTE had_extmsg = 0x80
74 at 0x00000000 : */ 0x60000200,0x00000000,
76 MOVE SCRATCH0 & 0 TO SCRATCH0
78 at 0x00000002 : */ 0x7c340000,0x00000000,
80 ; Enable selection timer
81 MOVE CTEST7 & 0xef TO CTEST7
83 at 0x00000004 : */ 0x7c1bef00,0x00000000,
85 SELECT ATN FROM dsa_select, reselect
87 at 0x00000006 : */ 0x43000000,0x00000c48,
89 JUMP get_status, WHEN STATUS
91 at 0x00000008 : */ 0x830b0000,0x000000a0,
93 ; Disable selection timer
94 MOVE CTEST7 | 0x10 TO CTEST7
96 at 0x0000000a : */ 0x7a1b1000,0x00000000,
98 MOVE SCRATCH0 | had_select TO SCRATCH0
100 at 0x0000000c : */ 0x7a340100,0x00000000,
102 INT int_sel_no_ident, IF NOT MSG_OUT
104 at 0x0000000e : */ 0x9e020000,0xab930013,
106 MOVE SCRATCH0 | had_msgout TO SCRATCH0
108 at 0x00000010 : */ 0x7a340200,0x00000000,
110 MOVE FROM dsa_msgout, when MSG_OUT
112 at 0x00000012 : */ 0x1e000000,0x00000008,
116 JUMP get_status, IF STATUS
118 at 0x00000014 : */ 0x830a0000,0x000000a0,
121 JUMP get_msgin1, WHEN MSG_IN
123 at 0x00000016 : */ 0x870b0000,0x00000920,
125 INT int_sel_not_cmd, IF NOT CMD
127 at 0x00000018 : */ 0x9a020000,0xab930014,
131 MOVE SCRATCH0 | had_cmdout TO SCRATCH0
133 at 0x0000001a : */ 0x7a340400,0x00000000,
135 MOVE FROM dsa_cmnd, WHEN CMD
137 at 0x0000001c : */ 0x1a000000,0x00000010,
142 JUMP get_msgin2, WHEN MSG_IN
144 at 0x0000001e : */ 0x870b0000,0x00000a20,
146 JUMP get_status, IF STATUS
148 at 0x00000020 : */ 0x830a0000,0x000000a0,
150 JUMP input_data, IF DATA_IN
152 at 0x00000022 : */ 0x810a0000,0x000000e0,
154 JUMP output_data, IF DATA_OUT
156 at 0x00000024 : */ 0x800a0000,0x000004f8,
158 INT int_cmd_bad_phase
160 at 0x00000026 : */ 0x98080000,0xab930009,
164 ; Disable selection timer
165 MOVE CTEST7 | 0x10 TO CTEST7
167 at 0x00000028 : */ 0x7a1b1000,0x00000000,
169 MOVE FROM dsa_status, WHEN STATUS
171 at 0x0000002a : */ 0x1b000000,0x00000018,
173 INT int_status_not_msgin, WHEN NOT MSG_IN
175 at 0x0000002c : */ 0x9f030000,0xab930015,
177 MOVE FROM dsa_msgin, WHEN MSG_IN
179 at 0x0000002e : */ 0x1f000000,0x00000020,
181 INT int_not_cmd_complete, IF NOT 0x00
183 at 0x00000030 : */ 0x98040000,0xab930012,
187 at 0x00000032 : */ 0x60000040,0x00000000,
189 ENTRY wait_disc_complete
193 at 0x00000034 : */ 0x48000000,0x00000000,
197 at 0x00000036 : */ 0x98080000,0xab93000a,
201 MOVE SCRATCH0 | had_datain TO SCRATCH0
203 at 0x00000038 : */ 0x7a340800,0x00000000,
205 ENTRY patch_input_data
209 at 0x0000003a : */ 0x80080000,0x00000000,
211 MOVE FROM dsa_datain+0x0000, WHEN DATA_IN
213 at 0x0000003c : */ 0x19000000,0x00000028,
215 MOVE FROM dsa_datain+0x0008, WHEN DATA_IN
217 at 0x0000003e : */ 0x19000000,0x00000030,
219 MOVE FROM dsa_datain+0x0010, WHEN DATA_IN
221 at 0x00000040 : */ 0x19000000,0x00000038,
223 MOVE FROM dsa_datain+0x0018, WHEN DATA_IN
225 at 0x00000042 : */ 0x19000000,0x00000040,
227 MOVE FROM dsa_datain+0x0020, WHEN DATA_IN
229 at 0x00000044 : */ 0x19000000,0x00000048,
231 MOVE FROM dsa_datain+0x0028, WHEN DATA_IN
233 at 0x00000046 : */ 0x19000000,0x00000050,
235 MOVE FROM dsa_datain+0x0030, WHEN DATA_IN
237 at 0x00000048 : */ 0x19000000,0x00000058,
239 MOVE FROM dsa_datain+0x0038, WHEN DATA_IN
241 at 0x0000004a : */ 0x19000000,0x00000060,
243 MOVE FROM dsa_datain+0x0040, WHEN DATA_IN
245 at 0x0000004c : */ 0x19000000,0x00000068,
247 MOVE FROM dsa_datain+0x0048, WHEN DATA_IN
249 at 0x0000004e : */ 0x19000000,0x00000070,
251 MOVE FROM dsa_datain+0x0050, WHEN DATA_IN
253 at 0x00000050 : */ 0x19000000,0x00000078,
255 MOVE FROM dsa_datain+0x0058, WHEN DATA_IN
257 at 0x00000052 : */ 0x19000000,0x00000080,
259 MOVE FROM dsa_datain+0x0060, WHEN DATA_IN
261 at 0x00000054 : */ 0x19000000,0x00000088,
263 MOVE FROM dsa_datain+0x0068, WHEN DATA_IN
265 at 0x00000056 : */ 0x19000000,0x00000090,
267 MOVE FROM dsa_datain+0x0070, WHEN DATA_IN
269 at 0x00000058 : */ 0x19000000,0x00000098,
271 MOVE FROM dsa_datain+0x0078, WHEN DATA_IN
273 at 0x0000005a : */ 0x19000000,0x000000a0,
275 MOVE FROM dsa_datain+0x0080, WHEN DATA_IN
277 at 0x0000005c : */ 0x19000000,0x000000a8,
279 MOVE FROM dsa_datain+0x0088, WHEN DATA_IN
281 at 0x0000005e : */ 0x19000000,0x000000b0,
283 MOVE FROM dsa_datain+0x0090, WHEN DATA_IN
285 at 0x00000060 : */ 0x19000000,0x000000b8,
287 MOVE FROM dsa_datain+0x0098, WHEN DATA_IN
289 at 0x00000062 : */ 0x19000000,0x000000c0,
291 MOVE FROM dsa_datain+0x00a0, WHEN DATA_IN
293 at 0x00000064 : */ 0x19000000,0x000000c8,
295 MOVE FROM dsa_datain+0x00a8, WHEN DATA_IN
297 at 0x00000066 : */ 0x19000000,0x000000d0,
299 MOVE FROM dsa_datain+0x00b0, WHEN DATA_IN
301 at 0x00000068 : */ 0x19000000,0x000000d8,
303 MOVE FROM dsa_datain+0x00b8, WHEN DATA_IN
305 at 0x0000006a : */ 0x19000000,0x000000e0,
307 MOVE FROM dsa_datain+0x00c0, WHEN DATA_IN
309 at 0x0000006c : */ 0x19000000,0x000000e8,
311 MOVE FROM dsa_datain+0x00c8, WHEN DATA_IN
313 at 0x0000006e : */ 0x19000000,0x000000f0,
315 MOVE FROM dsa_datain+0x00d0, WHEN DATA_IN
317 at 0x00000070 : */ 0x19000000,0x000000f8,
319 MOVE FROM dsa_datain+0x00d8, WHEN DATA_IN
321 at 0x00000072 : */ 0x19000000,0x00000100,
323 MOVE FROM dsa_datain+0x00e0, WHEN DATA_IN
325 at 0x00000074 : */ 0x19000000,0x00000108,
327 MOVE FROM dsa_datain+0x00e8, WHEN DATA_IN
329 at 0x00000076 : */ 0x19000000,0x00000110,
331 MOVE FROM dsa_datain+0x00f0, WHEN DATA_IN
333 at 0x00000078 : */ 0x19000000,0x00000118,
335 MOVE FROM dsa_datain+0x00f8, WHEN DATA_IN
337 at 0x0000007a : */ 0x19000000,0x00000120,
339 MOVE FROM dsa_datain+0x0100, WHEN DATA_IN
341 at 0x0000007c : */ 0x19000000,0x00000128,
343 MOVE FROM dsa_datain+0x0108, WHEN DATA_IN
345 at 0x0000007e : */ 0x19000000,0x00000130,
347 MOVE FROM dsa_datain+0x0110, WHEN DATA_IN
349 at 0x00000080 : */ 0x19000000,0x00000138,
351 MOVE FROM dsa_datain+0x0118, WHEN DATA_IN
353 at 0x00000082 : */ 0x19000000,0x00000140,
355 MOVE FROM dsa_datain+0x0120, WHEN DATA_IN
357 at 0x00000084 : */ 0x19000000,0x00000148,
359 MOVE FROM dsa_datain+0x0128, WHEN DATA_IN
361 at 0x00000086 : */ 0x19000000,0x00000150,
363 MOVE FROM dsa_datain+0x0130, WHEN DATA_IN
365 at 0x00000088 : */ 0x19000000,0x00000158,
367 MOVE FROM dsa_datain+0x0138, WHEN DATA_IN
369 at 0x0000008a : */ 0x19000000,0x00000160,
371 MOVE FROM dsa_datain+0x0140, WHEN DATA_IN
373 at 0x0000008c : */ 0x19000000,0x00000168,
375 MOVE FROM dsa_datain+0x0148, WHEN DATA_IN
377 at 0x0000008e : */ 0x19000000,0x00000170,
379 MOVE FROM dsa_datain+0x0150, WHEN DATA_IN
381 at 0x00000090 : */ 0x19000000,0x00000178,
383 MOVE FROM dsa_datain+0x0158, WHEN DATA_IN
385 at 0x00000092 : */ 0x19000000,0x00000180,
387 MOVE FROM dsa_datain+0x0160, WHEN DATA_IN
389 at 0x00000094 : */ 0x19000000,0x00000188,
391 MOVE FROM dsa_datain+0x0168, WHEN DATA_IN
393 at 0x00000096 : */ 0x19000000,0x00000190,
395 MOVE FROM dsa_datain+0x0170, WHEN DATA_IN
397 at 0x00000098 : */ 0x19000000,0x00000198,
399 MOVE FROM dsa_datain+0x0178, WHEN DATA_IN
401 at 0x0000009a : */ 0x19000000,0x000001a0,
403 MOVE FROM dsa_datain+0x0180, WHEN DATA_IN
405 at 0x0000009c : */ 0x19000000,0x000001a8,
407 MOVE FROM dsa_datain+0x0188, WHEN DATA_IN
409 at 0x0000009e : */ 0x19000000,0x000001b0,
411 MOVE FROM dsa_datain+0x0190, WHEN DATA_IN
413 at 0x000000a0 : */ 0x19000000,0x000001b8,
415 MOVE FROM dsa_datain+0x0198, WHEN DATA_IN
417 at 0x000000a2 : */ 0x19000000,0x000001c0,
419 MOVE FROM dsa_datain+0x01a0, WHEN DATA_IN
421 at 0x000000a4 : */ 0x19000000,0x000001c8,
423 MOVE FROM dsa_datain+0x01a8, WHEN DATA_IN
425 at 0x000000a6 : */ 0x19000000,0x000001d0,
427 MOVE FROM dsa_datain+0x01b0, WHEN DATA_IN
429 at 0x000000a8 : */ 0x19000000,0x000001d8,
431 MOVE FROM dsa_datain+0x01b8, WHEN DATA_IN
433 at 0x000000aa : */ 0x19000000,0x000001e0,
435 MOVE FROM dsa_datain+0x01c0, WHEN DATA_IN
437 at 0x000000ac : */ 0x19000000,0x000001e8,
439 MOVE FROM dsa_datain+0x01c8, WHEN DATA_IN
441 at 0x000000ae : */ 0x19000000,0x000001f0,
443 MOVE FROM dsa_datain+0x01d0, WHEN DATA_IN
445 at 0x000000b0 : */ 0x19000000,0x000001f8,
447 MOVE FROM dsa_datain+0x01d8, WHEN DATA_IN
449 at 0x000000b2 : */ 0x19000000,0x00000200,
451 MOVE FROM dsa_datain+0x01e0, WHEN DATA_IN
453 at 0x000000b4 : */ 0x19000000,0x00000208,
455 MOVE FROM dsa_datain+0x01e8, WHEN DATA_IN
457 at 0x000000b6 : */ 0x19000000,0x00000210,
459 MOVE FROM dsa_datain+0x01f0, WHEN DATA_IN
461 at 0x000000b8 : */ 0x19000000,0x00000218,
463 MOVE FROM dsa_datain+0x01f8, WHEN DATA_IN
465 at 0x000000ba : */ 0x19000000,0x00000220,
467 MOVE FROM dsa_datain+0x0200, WHEN DATA_IN
469 at 0x000000bc : */ 0x19000000,0x00000228,
471 MOVE FROM dsa_datain+0x0208, WHEN DATA_IN
473 at 0x000000be : */ 0x19000000,0x00000230,
475 MOVE FROM dsa_datain+0x0210, WHEN DATA_IN
477 at 0x000000c0 : */ 0x19000000,0x00000238,
479 MOVE FROM dsa_datain+0x0218, WHEN DATA_IN
481 at 0x000000c2 : */ 0x19000000,0x00000240,
483 MOVE FROM dsa_datain+0x0220, WHEN DATA_IN
485 at 0x000000c4 : */ 0x19000000,0x00000248,
487 MOVE FROM dsa_datain+0x0228, WHEN DATA_IN
489 at 0x000000c6 : */ 0x19000000,0x00000250,
491 MOVE FROM dsa_datain+0x0230, WHEN DATA_IN
493 at 0x000000c8 : */ 0x19000000,0x00000258,
495 MOVE FROM dsa_datain+0x0238, WHEN DATA_IN
497 at 0x000000ca : */ 0x19000000,0x00000260,
499 MOVE FROM dsa_datain+0x0240, WHEN DATA_IN
501 at 0x000000cc : */ 0x19000000,0x00000268,
503 MOVE FROM dsa_datain+0x0248, WHEN DATA_IN
505 at 0x000000ce : */ 0x19000000,0x00000270,
507 MOVE FROM dsa_datain+0x0250, WHEN DATA_IN
509 at 0x000000d0 : */ 0x19000000,0x00000278,
511 MOVE FROM dsa_datain+0x0258, WHEN DATA_IN
513 at 0x000000d2 : */ 0x19000000,0x00000280,
515 MOVE FROM dsa_datain+0x0260, WHEN DATA_IN
517 at 0x000000d4 : */ 0x19000000,0x00000288,
519 MOVE FROM dsa_datain+0x0268, WHEN DATA_IN
521 at 0x000000d6 : */ 0x19000000,0x00000290,
523 MOVE FROM dsa_datain+0x0270, WHEN DATA_IN
525 at 0x000000d8 : */ 0x19000000,0x00000298,
527 MOVE FROM dsa_datain+0x0278, WHEN DATA_IN
529 at 0x000000da : */ 0x19000000,0x000002a0,
531 MOVE FROM dsa_datain+0x0280, WHEN DATA_IN
533 at 0x000000dc : */ 0x19000000,0x000002a8,
535 MOVE FROM dsa_datain+0x0288, WHEN DATA_IN
537 at 0x000000de : */ 0x19000000,0x000002b0,
539 MOVE FROM dsa_datain+0x0290, WHEN DATA_IN
541 at 0x000000e0 : */ 0x19000000,0x000002b8,
543 MOVE FROM dsa_datain+0x0298, WHEN DATA_IN
545 at 0x000000e2 : */ 0x19000000,0x000002c0,
547 MOVE FROM dsa_datain+0x02a0, WHEN DATA_IN
549 at 0x000000e4 : */ 0x19000000,0x000002c8,
551 MOVE FROM dsa_datain+0x02a8, WHEN DATA_IN
553 at 0x000000e6 : */ 0x19000000,0x000002d0,
555 MOVE FROM dsa_datain+0x02b0, WHEN DATA_IN
557 at 0x000000e8 : */ 0x19000000,0x000002d8,
559 MOVE FROM dsa_datain+0x02b8, WHEN DATA_IN
561 at 0x000000ea : */ 0x19000000,0x000002e0,
563 MOVE FROM dsa_datain+0x02c0, WHEN DATA_IN
565 at 0x000000ec : */ 0x19000000,0x000002e8,
567 MOVE FROM dsa_datain+0x02c8, WHEN DATA_IN
569 at 0x000000ee : */ 0x19000000,0x000002f0,
571 MOVE FROM dsa_datain+0x02d0, WHEN DATA_IN
573 at 0x000000f0 : */ 0x19000000,0x000002f8,
575 MOVE FROM dsa_datain+0x02d8, WHEN DATA_IN
577 at 0x000000f2 : */ 0x19000000,0x00000300,
579 MOVE FROM dsa_datain+0x02e0, WHEN DATA_IN
581 at 0x000000f4 : */ 0x19000000,0x00000308,
583 MOVE FROM dsa_datain+0x02e8, WHEN DATA_IN
585 at 0x000000f6 : */ 0x19000000,0x00000310,
587 MOVE FROM dsa_datain+0x02f0, WHEN DATA_IN
589 at 0x000000f8 : */ 0x19000000,0x00000318,
591 MOVE FROM dsa_datain+0x02f8, WHEN DATA_IN
593 at 0x000000fa : */ 0x19000000,0x00000320,
595 MOVE FROM dsa_datain+0x0300, WHEN DATA_IN
597 at 0x000000fc : */ 0x19000000,0x00000328,
599 MOVE FROM dsa_datain+0x0308, WHEN DATA_IN
601 at 0x000000fe : */ 0x19000000,0x00000330,
603 MOVE FROM dsa_datain+0x0310, WHEN DATA_IN
605 at 0x00000100 : */ 0x19000000,0x00000338,
607 MOVE FROM dsa_datain+0x0318, WHEN DATA_IN
609 at 0x00000102 : */ 0x19000000,0x00000340,
611 MOVE FROM dsa_datain+0x0320, WHEN DATA_IN
613 at 0x00000104 : */ 0x19000000,0x00000348,
615 MOVE FROM dsa_datain+0x0328, WHEN DATA_IN
617 at 0x00000106 : */ 0x19000000,0x00000350,
619 MOVE FROM dsa_datain+0x0330, WHEN DATA_IN
621 at 0x00000108 : */ 0x19000000,0x00000358,
623 MOVE FROM dsa_datain+0x0338, WHEN DATA_IN
625 at 0x0000010a : */ 0x19000000,0x00000360,
627 MOVE FROM dsa_datain+0x0340, WHEN DATA_IN
629 at 0x0000010c : */ 0x19000000,0x00000368,
631 MOVE FROM dsa_datain+0x0348, WHEN DATA_IN
633 at 0x0000010e : */ 0x19000000,0x00000370,
635 MOVE FROM dsa_datain+0x0350, WHEN DATA_IN
637 at 0x00000110 : */ 0x19000000,0x00000378,
639 MOVE FROM dsa_datain+0x0358, WHEN DATA_IN
641 at 0x00000112 : */ 0x19000000,0x00000380,
643 MOVE FROM dsa_datain+0x0360, WHEN DATA_IN
645 at 0x00000114 : */ 0x19000000,0x00000388,
647 MOVE FROM dsa_datain+0x0368, WHEN DATA_IN
649 at 0x00000116 : */ 0x19000000,0x00000390,
651 MOVE FROM dsa_datain+0x0370, WHEN DATA_IN
653 at 0x00000118 : */ 0x19000000,0x00000398,
655 MOVE FROM dsa_datain+0x0378, WHEN DATA_IN
657 at 0x0000011a : */ 0x19000000,0x000003a0,
659 MOVE FROM dsa_datain+0x0380, WHEN DATA_IN
661 at 0x0000011c : */ 0x19000000,0x000003a8,
663 MOVE FROM dsa_datain+0x0388, WHEN DATA_IN
665 at 0x0000011e : */ 0x19000000,0x000003b0,
667 MOVE FROM dsa_datain+0x0390, WHEN DATA_IN
669 at 0x00000120 : */ 0x19000000,0x000003b8,
671 MOVE FROM dsa_datain+0x0398, WHEN DATA_IN
673 at 0x00000122 : */ 0x19000000,0x000003c0,
675 MOVE FROM dsa_datain+0x03a0, WHEN DATA_IN
677 at 0x00000124 : */ 0x19000000,0x000003c8,
679 MOVE FROM dsa_datain+0x03a8, WHEN DATA_IN
681 at 0x00000126 : */ 0x19000000,0x000003d0,
683 MOVE FROM dsa_datain+0x03b0, WHEN DATA_IN
685 at 0x00000128 : */ 0x19000000,0x000003d8,
687 MOVE FROM dsa_datain+0x03b8, WHEN DATA_IN
689 at 0x0000012a : */ 0x19000000,0x000003e0,
691 MOVE FROM dsa_datain+0x03c0, WHEN DATA_IN
693 at 0x0000012c : */ 0x19000000,0x000003e8,
695 MOVE FROM dsa_datain+0x03c8, WHEN DATA_IN
697 at 0x0000012e : */ 0x19000000,0x000003f0,
699 MOVE FROM dsa_datain+0x03d0, WHEN DATA_IN
701 at 0x00000130 : */ 0x19000000,0x000003f8,
703 MOVE FROM dsa_datain+0x03d8, WHEN DATA_IN
705 at 0x00000132 : */ 0x19000000,0x00000400,
707 MOVE FROM dsa_datain+0x03e0, WHEN DATA_IN
709 at 0x00000134 : */ 0x19000000,0x00000408,
711 MOVE FROM dsa_datain+0x03e8, WHEN DATA_IN
713 at 0x00000136 : */ 0x19000000,0x00000410,
715 MOVE FROM dsa_datain+0x03f0, WHEN DATA_IN
717 at 0x00000138 : */ 0x19000000,0x00000418,
719 MOVE FROM dsa_datain+0x03f8, WHEN DATA_IN
721 at 0x0000013a : */ 0x19000000,0x00000420,
725 at 0x0000013c : */ 0x80080000,0x00000908,
729 MOVE SCRATCH0 | had_dataout TO SCRATCH0
731 at 0x0000013e : */ 0x7a341000,0x00000000,
733 ENTRY patch_output_data
737 at 0x00000140 : */ 0x80080000,0x00000000,
739 MOVE FROM dsa_dataout+0x0000, WHEN DATA_OUT
741 at 0x00000142 : */ 0x18000000,0x00000428,
743 MOVE FROM dsa_dataout+0x0008, WHEN DATA_OUT
745 at 0x00000144 : */ 0x18000000,0x00000430,
747 MOVE FROM dsa_dataout+0x0010, WHEN DATA_OUT
749 at 0x00000146 : */ 0x18000000,0x00000438,
751 MOVE FROM dsa_dataout+0x0018, WHEN DATA_OUT
753 at 0x00000148 : */ 0x18000000,0x00000440,
755 MOVE FROM dsa_dataout+0x0020, WHEN DATA_OUT
757 at 0x0000014a : */ 0x18000000,0x00000448,
759 MOVE FROM dsa_dataout+0x0028, WHEN DATA_OUT
761 at 0x0000014c : */ 0x18000000,0x00000450,
763 MOVE FROM dsa_dataout+0x0030, WHEN DATA_OUT
765 at 0x0000014e : */ 0x18000000,0x00000458,
767 MOVE FROM dsa_dataout+0x0038, WHEN DATA_OUT
769 at 0x00000150 : */ 0x18000000,0x00000460,
771 MOVE FROM dsa_dataout+0x0040, WHEN DATA_OUT
773 at 0x00000152 : */ 0x18000000,0x00000468,
775 MOVE FROM dsa_dataout+0x0048, WHEN DATA_OUT
777 at 0x00000154 : */ 0x18000000,0x00000470,
779 MOVE FROM dsa_dataout+0x0050, WHEN DATA_OUT
781 at 0x00000156 : */ 0x18000000,0x00000478,
783 MOVE FROM dsa_dataout+0x0058, WHEN DATA_OUT
785 at 0x00000158 : */ 0x18000000,0x00000480,
787 MOVE FROM dsa_dataout+0x0060, WHEN DATA_OUT
789 at 0x0000015a : */ 0x18000000,0x00000488,
791 MOVE FROM dsa_dataout+0x0068, WHEN DATA_OUT
793 at 0x0000015c : */ 0x18000000,0x00000490,
795 MOVE FROM dsa_dataout+0x0070, WHEN DATA_OUT
797 at 0x0000015e : */ 0x18000000,0x00000498,
799 MOVE FROM dsa_dataout+0x0078, WHEN DATA_OUT
801 at 0x00000160 : */ 0x18000000,0x000004a0,
803 MOVE FROM dsa_dataout+0x0080, WHEN DATA_OUT
805 at 0x00000162 : */ 0x18000000,0x000004a8,
807 MOVE FROM dsa_dataout+0x0088, WHEN DATA_OUT
809 at 0x00000164 : */ 0x18000000,0x000004b0,
811 MOVE FROM dsa_dataout+0x0090, WHEN DATA_OUT
813 at 0x00000166 : */ 0x18000000,0x000004b8,
815 MOVE FROM dsa_dataout+0x0098, WHEN DATA_OUT
817 at 0x00000168 : */ 0x18000000,0x000004c0,
819 MOVE FROM dsa_dataout+0x00a0, WHEN DATA_OUT
821 at 0x0000016a : */ 0x18000000,0x000004c8,
823 MOVE FROM dsa_dataout+0x00a8, WHEN DATA_OUT
825 at 0x0000016c : */ 0x18000000,0x000004d0,
827 MOVE FROM dsa_dataout+0x00b0, WHEN DATA_OUT
829 at 0x0000016e : */ 0x18000000,0x000004d8,
831 MOVE FROM dsa_dataout+0x00b8, WHEN DATA_OUT
833 at 0x00000170 : */ 0x18000000,0x000004e0,
835 MOVE FROM dsa_dataout+0x00c0, WHEN DATA_OUT
837 at 0x00000172 : */ 0x18000000,0x000004e8,
839 MOVE FROM dsa_dataout+0x00c8, WHEN DATA_OUT
841 at 0x00000174 : */ 0x18000000,0x000004f0,
843 MOVE FROM dsa_dataout+0x00d0, WHEN DATA_OUT
845 at 0x00000176 : */ 0x18000000,0x000004f8,
847 MOVE FROM dsa_dataout+0x00d8, WHEN DATA_OUT
849 at 0x00000178 : */ 0x18000000,0x00000500,
851 MOVE FROM dsa_dataout+0x00e0, WHEN DATA_OUT
853 at 0x0000017a : */ 0x18000000,0x00000508,
855 MOVE FROM dsa_dataout+0x00e8, WHEN DATA_OUT
857 at 0x0000017c : */ 0x18000000,0x00000510,
859 MOVE FROM dsa_dataout+0x00f0, WHEN DATA_OUT
861 at 0x0000017e : */ 0x18000000,0x00000518,
863 MOVE FROM dsa_dataout+0x00f8, WHEN DATA_OUT
865 at 0x00000180 : */ 0x18000000,0x00000520,
867 MOVE FROM dsa_dataout+0x0100, WHEN DATA_OUT
869 at 0x00000182 : */ 0x18000000,0x00000528,
871 MOVE FROM dsa_dataout+0x0108, WHEN DATA_OUT
873 at 0x00000184 : */ 0x18000000,0x00000530,
875 MOVE FROM dsa_dataout+0x0110, WHEN DATA_OUT
877 at 0x00000186 : */ 0x18000000,0x00000538,
879 MOVE FROM dsa_dataout+0x0118, WHEN DATA_OUT
881 at 0x00000188 : */ 0x18000000,0x00000540,
883 MOVE FROM dsa_dataout+0x0120, WHEN DATA_OUT
885 at 0x0000018a : */ 0x18000000,0x00000548,
887 MOVE FROM dsa_dataout+0x0128, WHEN DATA_OUT
889 at 0x0000018c : */ 0x18000000,0x00000550,
891 MOVE FROM dsa_dataout+0x0130, WHEN DATA_OUT
893 at 0x0000018e : */ 0x18000000,0x00000558,
895 MOVE FROM dsa_dataout+0x0138, WHEN DATA_OUT
897 at 0x00000190 : */ 0x18000000,0x00000560,
899 MOVE FROM dsa_dataout+0x0140, WHEN DATA_OUT
901 at 0x00000192 : */ 0x18000000,0x00000568,
903 MOVE FROM dsa_dataout+0x0148, WHEN DATA_OUT
905 at 0x00000194 : */ 0x18000000,0x00000570,
907 MOVE FROM dsa_dataout+0x0150, WHEN DATA_OUT
909 at 0x00000196 : */ 0x18000000,0x00000578,
911 MOVE FROM dsa_dataout+0x0158, WHEN DATA_OUT
913 at 0x00000198 : */ 0x18000000,0x00000580,
915 MOVE FROM dsa_dataout+0x0160, WHEN DATA_OUT
917 at 0x0000019a : */ 0x18000000,0x00000588,
919 MOVE FROM dsa_dataout+0x0168, WHEN DATA_OUT
921 at 0x0000019c : */ 0x18000000,0x00000590,
923 MOVE FROM dsa_dataout+0x0170, WHEN DATA_OUT
925 at 0x0000019e : */ 0x18000000,0x00000598,
927 MOVE FROM dsa_dataout+0x0178, WHEN DATA_OUT
929 at 0x000001a0 : */ 0x18000000,0x000005a0,
931 MOVE FROM dsa_dataout+0x0180, WHEN DATA_OUT
933 at 0x000001a2 : */ 0x18000000,0x000005a8,
935 MOVE FROM dsa_dataout+0x0188, WHEN DATA_OUT
937 at 0x000001a4 : */ 0x18000000,0x000005b0,
939 MOVE FROM dsa_dataout+0x0190, WHEN DATA_OUT
941 at 0x000001a6 : */ 0x18000000,0x000005b8,
943 MOVE FROM dsa_dataout+0x0198, WHEN DATA_OUT
945 at 0x000001a8 : */ 0x18000000,0x000005c0,
947 MOVE FROM dsa_dataout+0x01a0, WHEN DATA_OUT
949 at 0x000001aa : */ 0x18000000,0x000005c8,
951 MOVE FROM dsa_dataout+0x01a8, WHEN DATA_OUT
953 at 0x000001ac : */ 0x18000000,0x000005d0,
955 MOVE FROM dsa_dataout+0x01b0, WHEN DATA_OUT
957 at 0x000001ae : */ 0x18000000,0x000005d8,
959 MOVE FROM dsa_dataout+0x01b8, WHEN DATA_OUT
961 at 0x000001b0 : */ 0x18000000,0x000005e0,
963 MOVE FROM dsa_dataout+0x01c0, WHEN DATA_OUT
965 at 0x000001b2 : */ 0x18000000,0x000005e8,
967 MOVE FROM dsa_dataout+0x01c8, WHEN DATA_OUT
969 at 0x000001b4 : */ 0x18000000,0x000005f0,
971 MOVE FROM dsa_dataout+0x01d0, WHEN DATA_OUT
973 at 0x000001b6 : */ 0x18000000,0x000005f8,
975 MOVE FROM dsa_dataout+0x01d8, WHEN DATA_OUT
977 at 0x000001b8 : */ 0x18000000,0x00000600,
979 MOVE FROM dsa_dataout+0x01e0, WHEN DATA_OUT
981 at 0x000001ba : */ 0x18000000,0x00000608,
983 MOVE FROM dsa_dataout+0x01e8, WHEN DATA_OUT
985 at 0x000001bc : */ 0x18000000,0x00000610,
987 MOVE FROM dsa_dataout+0x01f0, WHEN DATA_OUT
989 at 0x000001be : */ 0x18000000,0x00000618,
991 MOVE FROM dsa_dataout+0x01f8, WHEN DATA_OUT
993 at 0x000001c0 : */ 0x18000000,0x00000620,
995 MOVE FROM dsa_dataout+0x0200, WHEN DATA_OUT
997 at 0x000001c2 : */ 0x18000000,0x00000628,
999 MOVE FROM dsa_dataout+0x0208, WHEN DATA_OUT
1001 at 0x000001c4 : */ 0x18000000,0x00000630,
1003 MOVE FROM dsa_dataout+0x0210, WHEN DATA_OUT
1005 at 0x000001c6 : */ 0x18000000,0x00000638,
1007 MOVE FROM dsa_dataout+0x0218, WHEN DATA_OUT
1009 at 0x000001c8 : */ 0x18000000,0x00000640,
1011 MOVE FROM dsa_dataout+0x0220, WHEN DATA_OUT
1013 at 0x000001ca : */ 0x18000000,0x00000648,
1015 MOVE FROM dsa_dataout+0x0228, WHEN DATA_OUT
1017 at 0x000001cc : */ 0x18000000,0x00000650,
1019 MOVE FROM dsa_dataout+0x0230, WHEN DATA_OUT
1021 at 0x000001ce : */ 0x18000000,0x00000658,
1023 MOVE FROM dsa_dataout+0x0238, WHEN DATA_OUT
1025 at 0x000001d0 : */ 0x18000000,0x00000660,
1027 MOVE FROM dsa_dataout+0x0240, WHEN DATA_OUT
1029 at 0x000001d2 : */ 0x18000000,0x00000668,
1031 MOVE FROM dsa_dataout+0x0248, WHEN DATA_OUT
1033 at 0x000001d4 : */ 0x18000000,0x00000670,
1035 MOVE FROM dsa_dataout+0x0250, WHEN DATA_OUT
1037 at 0x000001d6 : */ 0x18000000,0x00000678,
1039 MOVE FROM dsa_dataout+0x0258, WHEN DATA_OUT
1041 at 0x000001d8 : */ 0x18000000,0x00000680,
1043 MOVE FROM dsa_dataout+0x0260, WHEN DATA_OUT
1045 at 0x000001da : */ 0x18000000,0x00000688,
1047 MOVE FROM dsa_dataout+0x0268, WHEN DATA_OUT
1049 at 0x000001dc : */ 0x18000000,0x00000690,
1051 MOVE FROM dsa_dataout+0x0270, WHEN DATA_OUT
1053 at 0x000001de : */ 0x18000000,0x00000698,
1055 MOVE FROM dsa_dataout+0x0278, WHEN DATA_OUT
1057 at 0x000001e0 : */ 0x18000000,0x000006a0,
1059 MOVE FROM dsa_dataout+0x0280, WHEN DATA_OUT
1061 at 0x000001e2 : */ 0x18000000,0x000006a8,
1063 MOVE FROM dsa_dataout+0x0288, WHEN DATA_OUT
1065 at 0x000001e4 : */ 0x18000000,0x000006b0,
1067 MOVE FROM dsa_dataout+0x0290, WHEN DATA_OUT
1069 at 0x000001e6 : */ 0x18000000,0x000006b8,
1071 MOVE FROM dsa_dataout+0x0298, WHEN DATA_OUT
1073 at 0x000001e8 : */ 0x18000000,0x000006c0,
1075 MOVE FROM dsa_dataout+0x02a0, WHEN DATA_OUT
1077 at 0x000001ea : */ 0x18000000,0x000006c8,
1079 MOVE FROM dsa_dataout+0x02a8, WHEN DATA_OUT
1081 at 0x000001ec : */ 0x18000000,0x000006d0,
1083 MOVE FROM dsa_dataout+0x02b0, WHEN DATA_OUT
1085 at 0x000001ee : */ 0x18000000,0x000006d8,
1087 MOVE FROM dsa_dataout+0x02b8, WHEN DATA_OUT
1089 at 0x000001f0 : */ 0x18000000,0x000006e0,
1091 MOVE FROM dsa_dataout+0x02c0, WHEN DATA_OUT
1093 at 0x000001f2 : */ 0x18000000,0x000006e8,
1095 MOVE FROM dsa_dataout+0x02c8, WHEN DATA_OUT
1097 at 0x000001f4 : */ 0x18000000,0x000006f0,
1099 MOVE FROM dsa_dataout+0x02d0, WHEN DATA_OUT
1101 at 0x000001f6 : */ 0x18000000,0x000006f8,
1103 MOVE FROM dsa_dataout+0x02d8, WHEN DATA_OUT
1105 at 0x000001f8 : */ 0x18000000,0x00000700,
1107 MOVE FROM dsa_dataout+0x02e0, WHEN DATA_OUT
1109 at 0x000001fa : */ 0x18000000,0x00000708,
1111 MOVE FROM dsa_dataout+0x02e8, WHEN DATA_OUT
1113 at 0x000001fc : */ 0x18000000,0x00000710,
1115 MOVE FROM dsa_dataout+0x02f0, WHEN DATA_OUT
1117 at 0x000001fe : */ 0x18000000,0x00000718,
1119 MOVE FROM dsa_dataout+0x02f8, WHEN DATA_OUT
1121 at 0x00000200 : */ 0x18000000,0x00000720,
1123 MOVE FROM dsa_dataout+0x0300, WHEN DATA_OUT
1125 at 0x00000202 : */ 0x18000000,0x00000728,
1127 MOVE FROM dsa_dataout+0x0308, WHEN DATA_OUT
1129 at 0x00000204 : */ 0x18000000,0x00000730,
1131 MOVE FROM dsa_dataout+0x0310, WHEN DATA_OUT
1133 at 0x00000206 : */ 0x18000000,0x00000738,
1135 MOVE FROM dsa_dataout+0x0318, WHEN DATA_OUT
1137 at 0x00000208 : */ 0x18000000,0x00000740,
1139 MOVE FROM dsa_dataout+0x0320, WHEN DATA_OUT
1141 at 0x0000020a : */ 0x18000000,0x00000748,
1143 MOVE FROM dsa_dataout+0x0328, WHEN DATA_OUT
1145 at 0x0000020c : */ 0x18000000,0x00000750,
1147 MOVE FROM dsa_dataout+0x0330, WHEN DATA_OUT
1149 at 0x0000020e : */ 0x18000000,0x00000758,
1151 MOVE FROM dsa_dataout+0x0338, WHEN DATA_OUT
1153 at 0x00000210 : */ 0x18000000,0x00000760,
1155 MOVE FROM dsa_dataout+0x0340, WHEN DATA_OUT
1157 at 0x00000212 : */ 0x18000000,0x00000768,
1159 MOVE FROM dsa_dataout+0x0348, WHEN DATA_OUT
1161 at 0x00000214 : */ 0x18000000,0x00000770,
1163 MOVE FROM dsa_dataout+0x0350, WHEN DATA_OUT
1165 at 0x00000216 : */ 0x18000000,0x00000778,
1167 MOVE FROM dsa_dataout+0x0358, WHEN DATA_OUT
1169 at 0x00000218 : */ 0x18000000,0x00000780,
1171 MOVE FROM dsa_dataout+0x0360, WHEN DATA_OUT
1173 at 0x0000021a : */ 0x18000000,0x00000788,
1175 MOVE FROM dsa_dataout+0x0368, WHEN DATA_OUT
1177 at 0x0000021c : */ 0x18000000,0x00000790,
1179 MOVE FROM dsa_dataout+0x0370, WHEN DATA_OUT
1181 at 0x0000021e : */ 0x18000000,0x00000798,
1183 MOVE FROM dsa_dataout+0x0378, WHEN DATA_OUT
1185 at 0x00000220 : */ 0x18000000,0x000007a0,
1187 MOVE FROM dsa_dataout+0x0380, WHEN DATA_OUT
1189 at 0x00000222 : */ 0x18000000,0x000007a8,
1191 MOVE FROM dsa_dataout+0x0388, WHEN DATA_OUT
1193 at 0x00000224 : */ 0x18000000,0x000007b0,
1195 MOVE FROM dsa_dataout+0x0390, WHEN DATA_OUT
1197 at 0x00000226 : */ 0x18000000,0x000007b8,
1199 MOVE FROM dsa_dataout+0x0398, WHEN DATA_OUT
1201 at 0x00000228 : */ 0x18000000,0x000007c0,
1203 MOVE FROM dsa_dataout+0x03a0, WHEN DATA_OUT
1205 at 0x0000022a : */ 0x18000000,0x000007c8,
1207 MOVE FROM dsa_dataout+0x03a8, WHEN DATA_OUT
1209 at 0x0000022c : */ 0x18000000,0x000007d0,
1211 MOVE FROM dsa_dataout+0x03b0, WHEN DATA_OUT
1213 at 0x0000022e : */ 0x18000000,0x000007d8,
1215 MOVE FROM dsa_dataout+0x03b8, WHEN DATA_OUT
1217 at 0x00000230 : */ 0x18000000,0x000007e0,
1219 MOVE FROM dsa_dataout+0x03c0, WHEN DATA_OUT
1221 at 0x00000232 : */ 0x18000000,0x000007e8,
1223 MOVE FROM dsa_dataout+0x03c8, WHEN DATA_OUT
1225 at 0x00000234 : */ 0x18000000,0x000007f0,
1227 MOVE FROM dsa_dataout+0x03d0, WHEN DATA_OUT
1229 at 0x00000236 : */ 0x18000000,0x000007f8,
1231 MOVE FROM dsa_dataout+0x03d8, WHEN DATA_OUT
1233 at 0x00000238 : */ 0x18000000,0x00000800,
1235 MOVE FROM dsa_dataout+0x03e0, WHEN DATA_OUT
1237 at 0x0000023a : */ 0x18000000,0x00000808,
1239 MOVE FROM dsa_dataout+0x03e8, WHEN DATA_OUT
1241 at 0x0000023c : */ 0x18000000,0x00000810,
1243 MOVE FROM dsa_dataout+0x03f0, WHEN DATA_OUT
1245 at 0x0000023e : */ 0x18000000,0x00000818,
1247 MOVE FROM dsa_dataout+0x03f8, WHEN DATA_OUT
1249 at 0x00000240 : */ 0x18000000,0x00000820,
1251 ENTRY end_data_trans
1254 JUMP get_status, WHEN STATUS
1256 at 0x00000242 : */ 0x830b0000,0x000000a0,
1258 JUMP get_msgin3, WHEN MSG_IN
1260 at 0x00000244 : */ 0x870b0000,0x00000b20,
1262 INT int_data_bad_phase
1264 at 0x00000246 : */ 0x98080000,0xab93000b,
1268 MOVE SCRATCH0 | had_msgin TO SCRATCH0
1270 at 0x00000248 : */ 0x7a344000,0x00000000,
1272 MOVE 1, msgin_buf, WHEN MSG_IN
1274 at 0x0000024a : */ 0x0f000001,0x00000000,
1276 JUMP ext_msg1, IF 0x01 ; Extended Message
1278 at 0x0000024c : */ 0x800c0001,0x00000968,
1280 JUMP ignore_msg1, IF 0x02 ; Save Data Pointers
1282 at 0x0000024e : */ 0x800c0002,0x00000958,
1284 JUMP ignore_msg1, IF 0x03 ; Save Restore Pointers
1286 at 0x00000250 : */ 0x800c0003,0x00000958,
1288 JUMP disc1, IF 0x04 ; Disconnect
1290 at 0x00000252 : */ 0x800c0004,0x000009c8,
1294 at 0x00000254 : */ 0x98080000,0xab930006,
1299 at 0x00000256 : */ 0x60000040,0x00000000,
1303 at 0x00000258 : */ 0x80080000,0x00000058,
1306 MOVE SCRATCH0 | had_extmsg TO SCRATCH0
1308 at 0x0000025a : */ 0x7a348000,0x00000000,
1312 at 0x0000025c : */ 0x60000040,0x00000000,
1314 MOVE 1, msgin_buf + 1, WHEN MSG_IN
1316 at 0x0000025e : */ 0x0f000001,0x00000001,
1318 JUMP ext_msg1a, IF 0x03
1320 at 0x00000260 : */ 0x800c0003,0x00000990,
1322 INT int_bad_extmsg1a
1324 at 0x00000262 : */ 0x98080000,0xab930000,
1329 at 0x00000264 : */ 0x60000040,0x00000000,
1331 MOVE 1, msgin_buf + 2, WHEN MSG_IN
1333 at 0x00000266 : */ 0x0f000001,0x00000002,
1335 JUMP ext_msg1b, IF 0x01 ; Must be SDTR
1337 at 0x00000268 : */ 0x800c0001,0x000009b0,
1339 INT int_bad_extmsg1b
1341 at 0x0000026a : */ 0x98080000,0xab930001,
1346 at 0x0000026c : */ 0x60000040,0x00000000,
1348 MOVE 2, msgin_buf + 3, WHEN MSG_IN
1350 at 0x0000026e : */ 0x0f000002,0x00000003,
1354 at 0x00000270 : */ 0x98080000,0xab93000c,
1359 at 0x00000272 : */ 0x60000040,0x00000000,
1365 at 0x00000274 : */ 0x48000000,0x00000000,
1369 at 0x00000276 : */ 0x98080000,0xab930019,
1371 ENTRY resume_msgin1a
1375 at 0x00000278 : */ 0x60000040,0x00000000,
1379 at 0x0000027a : */ 0x80080000,0x00000058,
1381 ENTRY resume_msgin1b
1385 at 0x0000027c : */ 0x58000008,0x00000000,
1389 at 0x0000027e : */ 0x60000040,0x00000000,
1391 INT int_no_msgout1, WHEN NOT MSG_OUT
1393 at 0x00000280 : */ 0x9e030000,0xab93000f,
1395 MOVE SCRATCH0 | had_msgout TO SCRATCH0
1397 at 0x00000282 : */ 0x7a340200,0x00000000,
1399 MOVE FROM dsa_msgout, when MSG_OUT
1401 at 0x00000284 : */ 0x1e000000,0x00000008,
1405 at 0x00000286 : */ 0x80080000,0x00000058,
1409 MOVE SCRATCH0 | had_msgin TO SCRATCH0
1411 at 0x00000288 : */ 0x7a344000,0x00000000,
1413 MOVE 1, msgin_buf, WHEN MSG_IN
1415 at 0x0000028a : */ 0x0f000001,0x00000000,
1417 JUMP ext_msg2, IF 0x01 ; Extended Message
1419 at 0x0000028c : */ 0x800c0001,0x00000a68,
1421 JUMP ignore_msg2, IF 0x02 ; Save Data Pointers
1423 at 0x0000028e : */ 0x800c0002,0x00000a58,
1425 JUMP ignore_msg2, IF 0x03 ; Save Restore Pointers
1427 at 0x00000290 : */ 0x800c0003,0x00000a58,
1429 JUMP disc2, IF 0x04 ; Disconnect
1431 at 0x00000292 : */ 0x800c0004,0x00000ac8,
1435 at 0x00000294 : */ 0x98080000,0xab930007,
1440 at 0x00000296 : */ 0x60000040,0x00000000,
1444 at 0x00000298 : */ 0x80080000,0x00000078,
1447 MOVE SCRATCH0 | had_extmsg TO SCRATCH0
1449 at 0x0000029a : */ 0x7a348000,0x00000000,
1453 at 0x0000029c : */ 0x60000040,0x00000000,
1455 MOVE 1, msgin_buf + 1, WHEN MSG_IN
1457 at 0x0000029e : */ 0x0f000001,0x00000001,
1459 JUMP ext_msg2a, IF 0x03
1461 at 0x000002a0 : */ 0x800c0003,0x00000a90,
1463 INT int_bad_extmsg2a
1465 at 0x000002a2 : */ 0x98080000,0xab930002,
1470 at 0x000002a4 : */ 0x60000040,0x00000000,
1472 MOVE 1, msgin_buf + 2, WHEN MSG_IN
1474 at 0x000002a6 : */ 0x0f000001,0x00000002,
1476 JUMP ext_msg2b, IF 0x01 ; Must be SDTR
1478 at 0x000002a8 : */ 0x800c0001,0x00000ab0,
1480 INT int_bad_extmsg2b
1482 at 0x000002aa : */ 0x98080000,0xab930003,
1487 at 0x000002ac : */ 0x60000040,0x00000000,
1489 MOVE 2, msgin_buf + 3, WHEN MSG_IN
1491 at 0x000002ae : */ 0x0f000002,0x00000003,
1495 at 0x000002b0 : */ 0x98080000,0xab93000d,
1500 at 0x000002b2 : */ 0x60000040,0x00000000,
1506 at 0x000002b4 : */ 0x48000000,0x00000000,
1510 at 0x000002b6 : */ 0x98080000,0xab93001a,
1512 ENTRY resume_msgin2a
1516 at 0x000002b8 : */ 0x60000040,0x00000000,
1520 at 0x000002ba : */ 0x80080000,0x00000078,
1522 ENTRY resume_msgin2b
1526 at 0x000002bc : */ 0x58000008,0x00000000,
1530 at 0x000002be : */ 0x60000040,0x00000000,
1532 INT int_no_msgout2, WHEN NOT MSG_OUT
1534 at 0x000002c0 : */ 0x9e030000,0xab930010,
1536 MOVE SCRATCH0 | had_msgout TO SCRATCH0
1538 at 0x000002c2 : */ 0x7a340200,0x00000000,
1540 MOVE FROM dsa_msgout, when MSG_OUT
1542 at 0x000002c4 : */ 0x1e000000,0x00000008,
1546 at 0x000002c6 : */ 0x80080000,0x00000078,
1550 MOVE SCRATCH0 | had_msgin TO SCRATCH0
1552 at 0x000002c8 : */ 0x7a344000,0x00000000,
1554 MOVE 1, msgin_buf, WHEN MSG_IN
1556 at 0x000002ca : */ 0x0f000001,0x00000000,
1558 JUMP ext_msg3, IF 0x01 ; Extended Message
1560 at 0x000002cc : */ 0x800c0001,0x00000b68,
1562 JUMP ignore_msg3, IF 0x02 ; Save Data Pointers
1564 at 0x000002ce : */ 0x800c0002,0x00000b58,
1566 JUMP ignore_msg3, IF 0x03 ; Save Restore Pointers
1568 at 0x000002d0 : */ 0x800c0003,0x00000b58,
1570 JUMP disc3, IF 0x04 ; Disconnect
1572 at 0x000002d2 : */ 0x800c0004,0x00000bc8,
1576 at 0x000002d4 : */ 0x98080000,0xab930008,
1581 at 0x000002d6 : */ 0x60000040,0x00000000,
1585 at 0x000002d8 : */ 0x80080000,0x00000908,
1588 MOVE SCRATCH0 | had_extmsg TO SCRATCH0
1590 at 0x000002da : */ 0x7a348000,0x00000000,
1594 at 0x000002dc : */ 0x60000040,0x00000000,
1596 MOVE 1, msgin_buf + 1, WHEN MSG_IN
1598 at 0x000002de : */ 0x0f000001,0x00000001,
1600 JUMP ext_msg3a, IF 0x03
1602 at 0x000002e0 : */ 0x800c0003,0x00000b90,
1604 INT int_bad_extmsg3a
1606 at 0x000002e2 : */ 0x98080000,0xab930004,
1611 at 0x000002e4 : */ 0x60000040,0x00000000,
1613 MOVE 1, msgin_buf + 2, WHEN MSG_IN
1615 at 0x000002e6 : */ 0x0f000001,0x00000002,
1617 JUMP ext_msg3b, IF 0x01 ; Must be SDTR
1619 at 0x000002e8 : */ 0x800c0001,0x00000bb0,
1621 INT int_bad_extmsg3b
1623 at 0x000002ea : */ 0x98080000,0xab930005,
1628 at 0x000002ec : */ 0x60000040,0x00000000,
1630 MOVE 2, msgin_buf + 3, WHEN MSG_IN
1632 at 0x000002ee : */ 0x0f000002,0x00000003,
1636 at 0x000002f0 : */ 0x98080000,0xab93000e,
1641 at 0x000002f2 : */ 0x60000040,0x00000000,
1647 at 0x000002f4 : */ 0x48000000,0x00000000,
1651 at 0x000002f6 : */ 0x98080000,0xab93001b,
1653 ENTRY resume_msgin3a
1657 at 0x000002f8 : */ 0x60000040,0x00000000,
1661 at 0x000002fa : */ 0x80080000,0x00000908,
1663 ENTRY resume_msgin3b
1667 at 0x000002fc : */ 0x58000008,0x00000000,
1671 at 0x000002fe : */ 0x60000040,0x00000000,
1673 INT int_no_msgout3, WHEN NOT MSG_OUT
1675 at 0x00000300 : */ 0x9e030000,0xab930011,
1677 MOVE SCRATCH0 | had_msgout TO SCRATCH0
1679 at 0x00000302 : */ 0x7a340200,0x00000000,
1681 MOVE FROM dsa_msgout, when MSG_OUT
1683 at 0x00000304 : */ 0x1e000000,0x00000008,
1687 at 0x00000306 : */ 0x80080000,0x00000908,
1690 ENTRY resume_rej_ident
1694 at 0x00000308 : */ 0x60000008,0x00000000,
1696 MOVE 1, msgin_buf, WHEN MSG_IN
1698 at 0x0000030a : */ 0x0f000001,0x00000000,
1700 INT int_not_rej, IF NOT 0x07 ; Reject
1702 at 0x0000030c : */ 0x98040007,0xab93001c,
1706 at 0x0000030e : */ 0x60000040,0x00000000,
1710 at 0x00000310 : */ 0x80080000,0x00000050,
1715 ; Disable selection timer
1716 MOVE CTEST7 | 0x10 TO CTEST7
1718 at 0x00000312 : */ 0x7a1b1000,0x00000000,
1720 WAIT RESELECT resel_err
1722 at 0x00000314 : */ 0x50000000,0x00000c70,
1724 INT int_resel_not_msgin, WHEN NOT MSG_IN
1726 at 0x00000316 : */ 0x9f030000,0xab930016,
1728 MOVE 1, reselected_identify, WHEN MSG_IN
1730 at 0x00000318 : */ 0x0f000001,0x00000000,
1734 at 0x0000031a : */ 0x98080000,0xab930017,
1737 MOVE CTEST2 & 0x40 TO SFBR
1739 at 0x0000031c : */ 0x74164000,0x00000000,
1741 JUMP selected, IF 0x00
1743 at 0x0000031e : */ 0x800c0000,0x00000cb0,
1745 MOVE SFBR & 0 TO SFBR
1747 at 0x00000320 : */ 0x7c080000,0x00000000,
1751 MOVE SFBR | 0x11 TO DSA0
1753 at 0x00000322 : */ 0x6a101100,0x00000000,
1755 MOVE SFBR | 0x22 TO DSA1
1757 at 0x00000324 : */ 0x6a112200,0x00000000,
1759 MOVE SFBR | 0x33 TO DSA2
1761 at 0x00000326 : */ 0x6a123300,0x00000000,
1763 MOVE SFBR | 0x44 TO DSA3
1765 at 0x00000328 : */ 0x6a134400,0x00000000,
1769 at 0x0000032a : */ 0x80080000,0x00000000,
1775 at 0x0000032c : */ 0x98080000,0xab930018,
1778 #define A_dsa_cmnd 0x00000010
1779 u32 A_dsa_cmnd_used
[] = {
1783 #define A_dsa_datain 0x00000028
1784 u32 A_dsa_datain_used
[] = {
1915 #define A_dsa_dataout 0x00000428
1916 u32 A_dsa_dataout_used
[] = {
2047 #define A_dsa_msgin 0x00000020
2048 u32 A_dsa_msgin_used
[] = {
2052 #define A_dsa_msgout 0x00000008
2053 u32 A_dsa_msgout_used
[] = {
2060 #define A_dsa_select 0x00000000
2061 u32 A_dsa_select_used
[] = {
2065 #define A_dsa_size 0x00000828
2066 u32 A_dsa_size_used
[] = {
2069 #define A_dsa_status 0x00000018
2070 u32 A_dsa_status_used
[] = {
2074 #define A_had_cmdout 0x00000004
2075 u32 A_had_cmdout_used
[] = {
2079 #define A_had_datain 0x00000008
2080 u32 A_had_datain_used
[] = {
2084 #define A_had_dataout 0x00000010
2085 u32 A_had_dataout_used
[] = {
2089 #define A_had_extmsg 0x00000080
2090 u32 A_had_extmsg_used
[] = {
2096 #define A_had_msgin 0x00000040
2097 u32 A_had_msgin_used
[] = {
2103 #define A_had_msgout 0x00000002
2104 u32 A_had_msgout_used
[] = {
2111 #define A_had_select 0x00000001
2112 u32 A_had_select_used
[] = {
2116 #define A_had_status 0x00000020
2117 u32 A_had_status_used
[] = {
2120 #define A_int_bad_extmsg1a 0xab930000
2121 u32 A_int_bad_extmsg1a_used
[] = {
2125 #define A_int_bad_extmsg1b 0xab930001
2126 u32 A_int_bad_extmsg1b_used
[] = {
2130 #define A_int_bad_extmsg2a 0xab930002
2131 u32 A_int_bad_extmsg2a_used
[] = {
2135 #define A_int_bad_extmsg2b 0xab930003
2136 u32 A_int_bad_extmsg2b_used
[] = {
2140 #define A_int_bad_extmsg3a 0xab930004
2141 u32 A_int_bad_extmsg3a_used
[] = {
2145 #define A_int_bad_extmsg3b 0xab930005
2146 u32 A_int_bad_extmsg3b_used
[] = {
2150 #define A_int_bad_msg1 0xab930006
2151 u32 A_int_bad_msg1_used
[] = {
2155 #define A_int_bad_msg2 0xab930007
2156 u32 A_int_bad_msg2_used
[] = {
2160 #define A_int_bad_msg3 0xab930008
2161 u32 A_int_bad_msg3_used
[] = {
2165 #define A_int_cmd_bad_phase 0xab930009
2166 u32 A_int_cmd_bad_phase_used
[] = {
2170 #define A_int_cmd_complete 0xab93000a
2171 u32 A_int_cmd_complete_used
[] = {
2175 #define A_int_data_bad_phase 0xab93000b
2176 u32 A_int_data_bad_phase_used
[] = {
2180 #define A_int_disc1 0xab930019
2181 u32 A_int_disc1_used
[] = {
2185 #define A_int_disc2 0xab93001a
2186 u32 A_int_disc2_used
[] = {
2190 #define A_int_disc3 0xab93001b
2191 u32 A_int_disc3_used
[] = {
2195 #define A_int_msg_sdtr1 0xab93000c
2196 u32 A_int_msg_sdtr1_used
[] = {
2200 #define A_int_msg_sdtr2 0xab93000d
2201 u32 A_int_msg_sdtr2_used
[] = {
2205 #define A_int_msg_sdtr3 0xab93000e
2206 u32 A_int_msg_sdtr3_used
[] = {
2210 #define A_int_no_msgout1 0xab93000f
2211 u32 A_int_no_msgout1_used
[] = {
2215 #define A_int_no_msgout2 0xab930010
2216 u32 A_int_no_msgout2_used
[] = {
2220 #define A_int_no_msgout3 0xab930011
2221 u32 A_int_no_msgout3_used
[] = {
2225 #define A_int_not_cmd_complete 0xab930012
2226 u32 A_int_not_cmd_complete_used
[] = {
2230 #define A_int_not_rej 0xab93001c
2231 u32 A_int_not_rej_used
[] = {
2235 #define A_int_resel_not_msgin 0xab930016
2236 u32 A_int_resel_not_msgin_used
[] = {
2240 #define A_int_reselected 0xab930017
2241 u32 A_int_reselected_used
[] = {
2245 #define A_int_sel_no_ident 0xab930013
2246 u32 A_int_sel_no_ident_used
[] = {
2250 #define A_int_sel_not_cmd 0xab930014
2251 u32 A_int_sel_not_cmd_used
[] = {
2255 #define A_int_selected 0xab930018
2256 u32 A_int_selected_used
[] = {
2260 #define A_int_status_not_msgin 0xab930015
2261 u32 A_int_status_not_msgin_used
[] = {
2265 #define A_msgin_buf 0x00000000
2266 u32 A_msgin_buf_used
[] = {
2282 #define A_reselected_identify 0x00000000
2283 u32 A_reselected_identify_used
[] = {
2287 #define Ent_do_select 0x00000000
2288 #define Ent_done_ident 0x00000050
2289 #define Ent_end_data_trans 0x00000908
2290 #define Ent_patch_input_data 0x000000e8
2291 #define Ent_patch_new_dsa 0x00000c88
2292 #define Ent_patch_output_data 0x00000500
2293 #define Ent_reselect 0x00000c48
2294 #define Ent_resume_cmd 0x00000068
2295 #define Ent_resume_msgin1a 0x000009e0
2296 #define Ent_resume_msgin1b 0x000009f0
2297 #define Ent_resume_msgin2a 0x00000ae0
2298 #define Ent_resume_msgin2b 0x00000af0
2299 #define Ent_resume_msgin3a 0x00000be0
2300 #define Ent_resume_msgin3b 0x00000bf0
2301 #define Ent_resume_pmm 0x00000078
2302 #define Ent_resume_rej_ident 0x00000c20
2303 #define Ent_wait_disc1 0x000009d0
2304 #define Ent_wait_disc2 0x00000ad0
2305 #define Ent_wait_disc3 0x00000bd0
2306 #define Ent_wait_disc_complete 0x000000d0
2307 u32 LABELPATCHES
[] = {
2355 } EXTERNAL_PATCHES
[] = {
2358 u32 INSTRUCTIONS
= 407;
2360 u32 EXTERNAL_PATCHES_LEN
= 0;