162306a36Sopenharmony_ci/* DO NOT EDIT - Generated automatically by script_asm.pl */ 262306a36Sopenharmony_cistatic u32 SCRIPT[] = { 362306a36Sopenharmony_ci/* 462306a36Sopenharmony_ci; Script for the NCR (or symbios) 53c700 and 53c700-66 chip 562306a36Sopenharmony_ci; 662306a36Sopenharmony_ci; Copyright (C) 2001 James.Bottomley@HansenPartnership.com 762306a36Sopenharmony_ci;;----------------------------------------------------------------------------- 862306a36Sopenharmony_ci;; 962306a36Sopenharmony_ci;; This program is free software; you can redistribute it and/or modify 1062306a36Sopenharmony_ci;; it under the terms of the GNU General Public License as published by 1162306a36Sopenharmony_ci;; the Free Software Foundation; either version 2 of the License, or 1262306a36Sopenharmony_ci;; (at your option) any later version. 1362306a36Sopenharmony_ci;; 1462306a36Sopenharmony_ci;; This program is distributed in the hope that it will be useful, 1562306a36Sopenharmony_ci;; but WITHOUT ANY WARRANTY; without even the implied warranty of 1662306a36Sopenharmony_ci;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1762306a36Sopenharmony_ci;; GNU General Public License for more details. 1862306a36Sopenharmony_ci;; 1962306a36Sopenharmony_ci;; You should have received a copy of the GNU General Public License 2062306a36Sopenharmony_ci;; along with this program; if not, write to the Free Software 2162306a36Sopenharmony_ci;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 2262306a36Sopenharmony_ci;; 2362306a36Sopenharmony_ci;;----------------------------------------------------------------------------- 2462306a36Sopenharmony_ci; 2562306a36Sopenharmony_ci; This script is designed to be modified for the particular command in 2662306a36Sopenharmony_ci; operation. The particular variables pertaining to the commands are: 2762306a36Sopenharmony_ci; 2862306a36Sopenharmony_ciABSOLUTE Device_ID = 0 ; ID of target for command 2962306a36Sopenharmony_ciABSOLUTE MessageCount = 0 ; Number of bytes in message 3062306a36Sopenharmony_ciABSOLUTE MessageLocation = 0 ; Addr of message 3162306a36Sopenharmony_ciABSOLUTE CommandCount = 0 ; Number of bytes in command 3262306a36Sopenharmony_ciABSOLUTE CommandAddress = 0 ; Addr of Command 3362306a36Sopenharmony_ciABSOLUTE StatusAddress = 0 ; Addr to receive status return 3462306a36Sopenharmony_ciABSOLUTE ReceiveMsgAddress = 0 ; Addr to receive msg 3562306a36Sopenharmony_ci; 3662306a36Sopenharmony_ci; This is the magic component for handling scatter-gather. Each of the 3762306a36Sopenharmony_ci; SG components is preceded by a script fragment which moves the 3862306a36Sopenharmony_ci; necessary amount of data and jumps to the next SG segment. The final 3962306a36Sopenharmony_ci; SG segment jumps back to . However, this address is the first SG script 4062306a36Sopenharmony_ci; segment. 4162306a36Sopenharmony_ci; 4262306a36Sopenharmony_ciABSOLUTE SGScriptStartAddress = 0 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci; The following represent status interrupts we use 3 hex digits for 4562306a36Sopenharmony_ci; this: 0xPRS where 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci; P: 4862306a36Sopenharmony_ciABSOLUTE AFTER_SELECTION = 0x100 4962306a36Sopenharmony_ciABSOLUTE BEFORE_CMD = 0x200 5062306a36Sopenharmony_ciABSOLUTE AFTER_CMD = 0x300 5162306a36Sopenharmony_ciABSOLUTE AFTER_STATUS = 0x400 5262306a36Sopenharmony_ciABSOLUTE AFTER_DATA_IN = 0x500 5362306a36Sopenharmony_ciABSOLUTE AFTER_DATA_OUT = 0x600 5462306a36Sopenharmony_ciABSOLUTE DURING_DATA_IN = 0x700 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci; R: 5762306a36Sopenharmony_ciABSOLUTE NOT_MSG_OUT = 0x10 5862306a36Sopenharmony_ciABSOLUTE UNEXPECTED_PHASE = 0x20 5962306a36Sopenharmony_ciABSOLUTE NOT_MSG_IN = 0x30 6062306a36Sopenharmony_ciABSOLUTE UNEXPECTED_MSG = 0x40 6162306a36Sopenharmony_ciABSOLUTE MSG_IN = 0x50 6262306a36Sopenharmony_ciABSOLUTE SDTR_MSG_R = 0x60 6362306a36Sopenharmony_ciABSOLUTE REJECT_MSG_R = 0x70 6462306a36Sopenharmony_ciABSOLUTE DISCONNECT = 0x80 6562306a36Sopenharmony_ciABSOLUTE MSG_OUT = 0x90 6662306a36Sopenharmony_ciABSOLUTE WDTR_MSG_R = 0xA0 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci; S: 6962306a36Sopenharmony_ciABSOLUTE GOOD_STATUS = 0x1 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci; Combinations, since the script assembler can't process | 7262306a36Sopenharmony_ciABSOLUTE NOT_MSG_OUT_AFTER_SELECTION = 0x110 7362306a36Sopenharmony_ciABSOLUTE UNEXPECTED_PHASE_BEFORE_CMD = 0x220 7462306a36Sopenharmony_ciABSOLUTE UNEXPECTED_PHASE_AFTER_CMD = 0x320 7562306a36Sopenharmony_ciABSOLUTE NOT_MSG_IN_AFTER_STATUS = 0x430 7662306a36Sopenharmony_ciABSOLUTE GOOD_STATUS_AFTER_STATUS = 0x401 7762306a36Sopenharmony_ciABSOLUTE UNEXPECTED_PHASE_AFTER_DATA_IN = 0x520 7862306a36Sopenharmony_ciABSOLUTE UNEXPECTED_PHASE_AFTER_DATA_OUT = 0x620 7962306a36Sopenharmony_ciABSOLUTE UNEXPECTED_MSG_BEFORE_CMD = 0x240 8062306a36Sopenharmony_ciABSOLUTE MSG_IN_BEFORE_CMD = 0x250 8162306a36Sopenharmony_ciABSOLUTE MSG_IN_AFTER_CMD = 0x350 8262306a36Sopenharmony_ciABSOLUTE SDTR_MSG_BEFORE_CMD = 0x260 8362306a36Sopenharmony_ciABSOLUTE REJECT_MSG_BEFORE_CMD = 0x270 8462306a36Sopenharmony_ciABSOLUTE DISCONNECT_AFTER_CMD = 0x380 8562306a36Sopenharmony_ciABSOLUTE SDTR_MSG_AFTER_CMD = 0x360 8662306a36Sopenharmony_ciABSOLUTE WDTR_MSG_AFTER_CMD = 0x3A0 8762306a36Sopenharmony_ciABSOLUTE MSG_IN_AFTER_STATUS = 0x440 8862306a36Sopenharmony_ciABSOLUTE DISCONNECT_AFTER_DATA = 0x580 8962306a36Sopenharmony_ciABSOLUTE MSG_IN_AFTER_DATA_IN = 0x550 9062306a36Sopenharmony_ciABSOLUTE MSG_IN_AFTER_DATA_OUT = 0x650 9162306a36Sopenharmony_ciABSOLUTE MSG_OUT_AFTER_DATA_IN = 0x590 9262306a36Sopenharmony_ciABSOLUTE DATA_IN_AFTER_DATA_IN = 0x5a0 9362306a36Sopenharmony_ciABSOLUTE MSG_IN_DURING_DATA_IN = 0x750 9462306a36Sopenharmony_ciABSOLUTE DISCONNECT_DURING_DATA = 0x780 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci; 9762306a36Sopenharmony_ci; Other interrupt conditions 9862306a36Sopenharmony_ci; 9962306a36Sopenharmony_ciABSOLUTE RESELECTED_DURING_SELECTION = 0x1000 10062306a36Sopenharmony_ciABSOLUTE COMPLETED_SELECTION_AS_TARGET = 0x1001 10162306a36Sopenharmony_ciABSOLUTE RESELECTION_IDENTIFIED = 0x1003 10262306a36Sopenharmony_ci; 10362306a36Sopenharmony_ci; Fatal interrupt conditions. If you add to this, also add to the 10462306a36Sopenharmony_ci; array of corresponding messages 10562306a36Sopenharmony_ci; 10662306a36Sopenharmony_ciABSOLUTE FATAL = 0x2000 10762306a36Sopenharmony_ciABSOLUTE FATAL_UNEXPECTED_RESELECTION_MSG = 0x2000 10862306a36Sopenharmony_ciABSOLUTE FATAL_SEND_MSG = 0x2001 10962306a36Sopenharmony_ciABSOLUTE FATAL_NOT_MSG_IN_AFTER_SELECTION = 0x2002 11062306a36Sopenharmony_ciABSOLUTE FATAL_ILLEGAL_MSG_LENGTH = 0x2003 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT = 0x3000 11362306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT1 = 0x3001 11462306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT2 = 0x3002 11562306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT3 = 0x3003 11662306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT4 = 0x3004 11762306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT5 = 0x3005 11862306a36Sopenharmony_ciABSOLUTE DEBUG_INTERRUPT6 = 0x3006 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci; 12262306a36Sopenharmony_ci; SCSI Messages we interpret in the script 12362306a36Sopenharmony_ci; 12462306a36Sopenharmony_ciABSOLUTE COMMAND_COMPLETE_MSG = 0x00 12562306a36Sopenharmony_ciABSOLUTE EXTENDED_MSG = 0x01 12662306a36Sopenharmony_ciABSOLUTE SDTR_MSG = 0x01 12762306a36Sopenharmony_ciABSOLUTE SAVE_DATA_PTRS_MSG = 0x02 12862306a36Sopenharmony_ciABSOLUTE RESTORE_DATA_PTRS_MSG = 0x03 12962306a36Sopenharmony_ciABSOLUTE WDTR_MSG = 0x03 13062306a36Sopenharmony_ciABSOLUTE DISCONNECT_MSG = 0x04 13162306a36Sopenharmony_ciABSOLUTE REJECT_MSG = 0x07 13262306a36Sopenharmony_ciABSOLUTE PARITY_ERROR_MSG = 0x09 13362306a36Sopenharmony_ciABSOLUTE SIMPLE_TAG_MSG = 0x20 13462306a36Sopenharmony_ciABSOLUTE IDENTIFY_MSG = 0x80 13562306a36Sopenharmony_ciABSOLUTE IDENTIFY_MSG_MASK = 0x7F 13662306a36Sopenharmony_ciABSOLUTE TWO_BYTE_MSG = 0x20 13762306a36Sopenharmony_ciABSOLUTE TWO_BYTE_MSG_MASK = 0x0F 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci; This is where the script begins 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciENTRY StartUp 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciStartUp: 14462306a36Sopenharmony_ci SELECT ATN Device_ID, Reselect 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciat 0x00000000 : */ 0x41000000,0x00000020, 14762306a36Sopenharmony_ci/* 14862306a36Sopenharmony_ci JUMP Finish, WHEN STATUS 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ciat 0x00000002 : */ 0x830b0000,0x00000460, 15162306a36Sopenharmony_ci/* 15262306a36Sopenharmony_ci JUMP SendIdentifyMsg, IF MSG_OUT 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciat 0x00000004 : */ 0x860a0000,0x000001b0, 15562306a36Sopenharmony_ci/* 15662306a36Sopenharmony_ci INT NOT_MSG_OUT_AFTER_SELECTION 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ciat 0x00000006 : */ 0x98080000,0x00000110, 15962306a36Sopenharmony_ci/* 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ciReselect: 16262306a36Sopenharmony_ci WAIT RESELECT SelectedAsTarget 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciat 0x00000008 : */ 0x50000000,0x00000058, 16562306a36Sopenharmony_ci/* 16662306a36Sopenharmony_ci INT RESELECTED_DURING_SELECTION, WHEN MSG_IN 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ciat 0x0000000a : */ 0x9f0b0000,0x00001000, 16962306a36Sopenharmony_ci/* 17062306a36Sopenharmony_ci INT FATAL_NOT_MSG_IN_AFTER_SELECTION 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ciat 0x0000000c : */ 0x98080000,0x00002002, 17362306a36Sopenharmony_ci/* 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci ENTRY GetReselectionData 17662306a36Sopenharmony_ciGetReselectionData: 17762306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciat 0x0000000e : */ 0x0f000001,0x00000000, 18062306a36Sopenharmony_ci/* 18162306a36Sopenharmony_ci INT RESELECTION_IDENTIFIED 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ciat 0x00000010 : */ 0x98080000,0x00001003, 18462306a36Sopenharmony_ci/* 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci ENTRY GetReselectionWithTag 18762306a36Sopenharmony_ciGetReselectionWithTag: 18862306a36Sopenharmony_ci MOVE 3, ReceiveMsgAddress, WHEN MSG_IN 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ciat 0x00000012 : */ 0x0f000003,0x00000000, 19162306a36Sopenharmony_ci/* 19262306a36Sopenharmony_ci INT RESELECTION_IDENTIFIED 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciat 0x00000014 : */ 0x98080000,0x00001003, 19562306a36Sopenharmony_ci/* 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci ENTRY SelectedAsTarget 19862306a36Sopenharmony_ciSelectedAsTarget: 19962306a36Sopenharmony_ci; Basically tell the selecting device that there's nothing here 20062306a36Sopenharmony_ci SET TARGET 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ciat 0x00000016 : */ 0x58000200,0x00000000, 20362306a36Sopenharmony_ci/* 20462306a36Sopenharmony_ci DISCONNECT 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciat 0x00000018 : */ 0x48000000,0x00000000, 20762306a36Sopenharmony_ci/* 20862306a36Sopenharmony_ci CLEAR TARGET 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ciat 0x0000001a : */ 0x60000200,0x00000000, 21162306a36Sopenharmony_ci/* 21262306a36Sopenharmony_ci INT COMPLETED_SELECTION_AS_TARGET 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciat 0x0000001c : */ 0x98080000,0x00001001, 21562306a36Sopenharmony_ci/* 21662306a36Sopenharmony_ci; 21762306a36Sopenharmony_ci; These are the messaging entries 21862306a36Sopenharmony_ci; 21962306a36Sopenharmony_ci; Send a message. Message count should be correctly patched 22062306a36Sopenharmony_ci ENTRY SendMessage 22162306a36Sopenharmony_ciSendMessage: 22262306a36Sopenharmony_ci MOVE MessageCount, MessageLocation, WHEN MSG_OUT 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ciat 0x0000001e : */ 0x0e000000,0x00000000, 22562306a36Sopenharmony_ci/* 22662306a36Sopenharmony_ciResumeSendMessage: 22762306a36Sopenharmony_ci RETURN, WHEN NOT MSG_OUT 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ciat 0x00000020 : */ 0x96030000,0x00000000, 23062306a36Sopenharmony_ci/* 23162306a36Sopenharmony_ci INT FATAL_SEND_MSG 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ciat 0x00000022 : */ 0x98080000,0x00002001, 23462306a36Sopenharmony_ci/* 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci ENTRY SendMessagePhaseMismatch 23762306a36Sopenharmony_ciSendMessagePhaseMismatch: 23862306a36Sopenharmony_ci CLEAR ACK 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ciat 0x00000024 : */ 0x60000040,0x00000000, 24162306a36Sopenharmony_ci/* 24262306a36Sopenharmony_ci JUMP ResumeSendMessage 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ciat 0x00000026 : */ 0x80080000,0x00000080, 24562306a36Sopenharmony_ci/* 24662306a36Sopenharmony_ci; 24762306a36Sopenharmony_ci; Receive a message. Need to identify the message to 24862306a36Sopenharmony_ci; receive it correctly 24962306a36Sopenharmony_ci ENTRY ReceiveMessage 25062306a36Sopenharmony_ciReceiveMessage: 25162306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciat 0x00000028 : */ 0x0f000001,0x00000000, 25462306a36Sopenharmony_ci/* 25562306a36Sopenharmony_ci; 25662306a36Sopenharmony_ci; Use this entry if we've just tried to look at the first byte 25762306a36Sopenharmony_ci; of the message and want to process it further 25862306a36Sopenharmony_ciProcessReceiveMessage: 25962306a36Sopenharmony_ci JUMP ReceiveExtendedMessage, IF EXTENDED_MSG 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ciat 0x0000002a : */ 0x800c0001,0x000000d0, 26262306a36Sopenharmony_ci/* 26362306a36Sopenharmony_ci RETURN, IF NOT TWO_BYTE_MSG, AND MASK TWO_BYTE_MSG_MASK 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ciat 0x0000002c : */ 0x90040f20,0x00000000, 26662306a36Sopenharmony_ci/* 26762306a36Sopenharmony_ci CLEAR ACK 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ciat 0x0000002e : */ 0x60000040,0x00000000, 27062306a36Sopenharmony_ci/* 27162306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress + 1, WHEN MSG_IN 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ciat 0x00000030 : */ 0x0f000001,0x00000001, 27462306a36Sopenharmony_ci/* 27562306a36Sopenharmony_ci RETURN 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ciat 0x00000032 : */ 0x90080000,0x00000000, 27862306a36Sopenharmony_ci/* 27962306a36Sopenharmony_ciReceiveExtendedMessage: 28062306a36Sopenharmony_ci CLEAR ACK 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ciat 0x00000034 : */ 0x60000040,0x00000000, 28362306a36Sopenharmony_ci/* 28462306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress + 1, WHEN MSG_IN 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ciat 0x00000036 : */ 0x0f000001,0x00000001, 28762306a36Sopenharmony_ci/* 28862306a36Sopenharmony_ci JUMP Receive1Byte, IF 0x01 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ciat 0x00000038 : */ 0x800c0001,0x00000110, 29162306a36Sopenharmony_ci/* 29262306a36Sopenharmony_ci JUMP Receive2Byte, IF 0x02 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ciat 0x0000003a : */ 0x800c0002,0x00000128, 29562306a36Sopenharmony_ci/* 29662306a36Sopenharmony_ci JUMP Receive3Byte, IF 0x03 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ciat 0x0000003c : */ 0x800c0003,0x00000140, 29962306a36Sopenharmony_ci/* 30062306a36Sopenharmony_ci JUMP Receive4Byte, IF 0x04 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ciat 0x0000003e : */ 0x800c0004,0x00000158, 30362306a36Sopenharmony_ci/* 30462306a36Sopenharmony_ci JUMP Receive5Byte, IF 0x05 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ciat 0x00000040 : */ 0x800c0005,0x00000170, 30762306a36Sopenharmony_ci/* 30862306a36Sopenharmony_ci INT FATAL_ILLEGAL_MSG_LENGTH 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ciat 0x00000042 : */ 0x98080000,0x00002003, 31162306a36Sopenharmony_ci/* 31262306a36Sopenharmony_ciReceive1Byte: 31362306a36Sopenharmony_ci CLEAR ACK 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ciat 0x00000044 : */ 0x60000040,0x00000000, 31662306a36Sopenharmony_ci/* 31762306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress + 2, WHEN MSG_IN 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ciat 0x00000046 : */ 0x0f000001,0x00000002, 32062306a36Sopenharmony_ci/* 32162306a36Sopenharmony_ci RETURN 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ciat 0x00000048 : */ 0x90080000,0x00000000, 32462306a36Sopenharmony_ci/* 32562306a36Sopenharmony_ciReceive2Byte: 32662306a36Sopenharmony_ci CLEAR ACK 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ciat 0x0000004a : */ 0x60000040,0x00000000, 32962306a36Sopenharmony_ci/* 33062306a36Sopenharmony_ci MOVE 2, ReceiveMsgAddress + 2, WHEN MSG_IN 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ciat 0x0000004c : */ 0x0f000002,0x00000002, 33362306a36Sopenharmony_ci/* 33462306a36Sopenharmony_ci RETURN 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ciat 0x0000004e : */ 0x90080000,0x00000000, 33762306a36Sopenharmony_ci/* 33862306a36Sopenharmony_ciReceive3Byte: 33962306a36Sopenharmony_ci CLEAR ACK 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ciat 0x00000050 : */ 0x60000040,0x00000000, 34262306a36Sopenharmony_ci/* 34362306a36Sopenharmony_ci MOVE 3, ReceiveMsgAddress + 2, WHEN MSG_IN 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ciat 0x00000052 : */ 0x0f000003,0x00000002, 34662306a36Sopenharmony_ci/* 34762306a36Sopenharmony_ci RETURN 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ciat 0x00000054 : */ 0x90080000,0x00000000, 35062306a36Sopenharmony_ci/* 35162306a36Sopenharmony_ciReceive4Byte: 35262306a36Sopenharmony_ci CLEAR ACK 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ciat 0x00000056 : */ 0x60000040,0x00000000, 35562306a36Sopenharmony_ci/* 35662306a36Sopenharmony_ci MOVE 4, ReceiveMsgAddress + 2, WHEN MSG_IN 35762306a36Sopenharmony_ci 35862306a36Sopenharmony_ciat 0x00000058 : */ 0x0f000004,0x00000002, 35962306a36Sopenharmony_ci/* 36062306a36Sopenharmony_ci RETURN 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ciat 0x0000005a : */ 0x90080000,0x00000000, 36362306a36Sopenharmony_ci/* 36462306a36Sopenharmony_ciReceive5Byte: 36562306a36Sopenharmony_ci CLEAR ACK 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ciat 0x0000005c : */ 0x60000040,0x00000000, 36862306a36Sopenharmony_ci/* 36962306a36Sopenharmony_ci MOVE 5, ReceiveMsgAddress + 2, WHEN MSG_IN 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ciat 0x0000005e : */ 0x0f000005,0x00000002, 37262306a36Sopenharmony_ci/* 37362306a36Sopenharmony_ci RETURN 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ciat 0x00000060 : */ 0x90080000,0x00000000, 37662306a36Sopenharmony_ci/* 37762306a36Sopenharmony_ci; 37862306a36Sopenharmony_ci; Come here from the message processor to ignore the message 37962306a36Sopenharmony_ci; 38062306a36Sopenharmony_ci ENTRY IgnoreMessage 38162306a36Sopenharmony_ciIgnoreMessage: 38262306a36Sopenharmony_ci CLEAR ACK 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ciat 0x00000062 : */ 0x60000040,0x00000000, 38562306a36Sopenharmony_ci/* 38662306a36Sopenharmony_ci RETURN 38762306a36Sopenharmony_ci 38862306a36Sopenharmony_ciat 0x00000064 : */ 0x90080000,0x00000000, 38962306a36Sopenharmony_ci/* 39062306a36Sopenharmony_ci; 39162306a36Sopenharmony_ci; Come here to send a reply to a message 39262306a36Sopenharmony_ci; 39362306a36Sopenharmony_ci ENTRY SendMessageWithATN 39462306a36Sopenharmony_ciSendMessageWithATN: 39562306a36Sopenharmony_ci SET ATN 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ciat 0x00000066 : */ 0x58000008,0x00000000, 39862306a36Sopenharmony_ci/* 39962306a36Sopenharmony_ci CLEAR ACK 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ciat 0x00000068 : */ 0x60000040,0x00000000, 40262306a36Sopenharmony_ci/* 40362306a36Sopenharmony_ci JUMP SendMessage 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ciat 0x0000006a : */ 0x80080000,0x00000078, 40662306a36Sopenharmony_ci/* 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ciSendIdentifyMsg: 40962306a36Sopenharmony_ci CALL SendMessage 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ciat 0x0000006c : */ 0x88080000,0x00000078, 41262306a36Sopenharmony_ci/* 41362306a36Sopenharmony_ci CLEAR ATN 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ciat 0x0000006e : */ 0x60000008,0x00000000, 41662306a36Sopenharmony_ci/* 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ciIgnoreMsgBeforeCommand: 41962306a36Sopenharmony_ci CLEAR ACK 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ciat 0x00000070 : */ 0x60000040,0x00000000, 42262306a36Sopenharmony_ci/* 42362306a36Sopenharmony_ci ENTRY SendCommand 42462306a36Sopenharmony_ciSendCommand: 42562306a36Sopenharmony_ci JUMP Finish, WHEN STATUS 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ciat 0x00000072 : */ 0x830b0000,0x00000460, 42862306a36Sopenharmony_ci/* 42962306a36Sopenharmony_ci JUMP MsgInBeforeCommand, IF MSG_IN 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ciat 0x00000074 : */ 0x870a0000,0x000002c0, 43262306a36Sopenharmony_ci/* 43362306a36Sopenharmony_ci INT UNEXPECTED_PHASE_BEFORE_CMD, IF NOT CMD 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ciat 0x00000076 : */ 0x9a020000,0x00000220, 43662306a36Sopenharmony_ci/* 43762306a36Sopenharmony_ci MOVE CommandCount, CommandAddress, WHEN CMD 43862306a36Sopenharmony_ci 43962306a36Sopenharmony_ciat 0x00000078 : */ 0x0a000000,0x00000000, 44062306a36Sopenharmony_ci/* 44162306a36Sopenharmony_ciResumeSendCommand: 44262306a36Sopenharmony_ci JUMP Finish, WHEN STATUS 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ciat 0x0000007a : */ 0x830b0000,0x00000460, 44562306a36Sopenharmony_ci/* 44662306a36Sopenharmony_ci JUMP MsgInAfterCmd, IF MSG_IN 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ciat 0x0000007c : */ 0x870a0000,0x00000248, 44962306a36Sopenharmony_ci/* 45062306a36Sopenharmony_ci JUMP DataIn, IF DATA_IN 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ciat 0x0000007e : */ 0x810a0000,0x000002f8, 45362306a36Sopenharmony_ci/* 45462306a36Sopenharmony_ci JUMP DataOut, IF DATA_OUT 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ciat 0x00000080 : */ 0x800a0000,0x00000338, 45762306a36Sopenharmony_ci/* 45862306a36Sopenharmony_ci INT UNEXPECTED_PHASE_AFTER_CMD 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ciat 0x00000082 : */ 0x98080000,0x00000320, 46162306a36Sopenharmony_ci/* 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ciIgnoreMsgDuringData: 46462306a36Sopenharmony_ci CLEAR ACK 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ciat 0x00000084 : */ 0x60000040,0x00000000, 46762306a36Sopenharmony_ci/* 46862306a36Sopenharmony_ci ; fall through to MsgInDuringData 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ciEntry MsgInDuringData 47162306a36Sopenharmony_ciMsgInDuringData: 47262306a36Sopenharmony_ci; 47362306a36Sopenharmony_ci; Could be we have nothing more to transfer 47462306a36Sopenharmony_ci; 47562306a36Sopenharmony_ci JUMP Finish, WHEN STATUS 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ciat 0x00000086 : */ 0x830b0000,0x00000460, 47862306a36Sopenharmony_ci/* 47962306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ciat 0x00000088 : */ 0x0f000001,0x00000000, 48262306a36Sopenharmony_ci/* 48362306a36Sopenharmony_ci JUMP DisconnectDuringDataIn, IF DISCONNECT_MSG 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ciat 0x0000008a : */ 0x800c0004,0x00000398, 48662306a36Sopenharmony_ci/* 48762306a36Sopenharmony_ci JUMP IgnoreMsgDuringData, IF SAVE_DATA_PTRS_MSG 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ciat 0x0000008c : */ 0x800c0002,0x00000210, 49062306a36Sopenharmony_ci/* 49162306a36Sopenharmony_ci JUMP IgnoreMsgDuringData, IF RESTORE_DATA_PTRS_MSG 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ciat 0x0000008e : */ 0x800c0003,0x00000210, 49462306a36Sopenharmony_ci/* 49562306a36Sopenharmony_ci INT MSG_IN_DURING_DATA_IN 49662306a36Sopenharmony_ci 49762306a36Sopenharmony_ciat 0x00000090 : */ 0x98080000,0x00000750, 49862306a36Sopenharmony_ci/* 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ciMsgInAfterCmd: 50162306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 50262306a36Sopenharmony_ci 50362306a36Sopenharmony_ciat 0x00000092 : */ 0x0f000001,0x00000000, 50462306a36Sopenharmony_ci/* 50562306a36Sopenharmony_ci JUMP DisconnectAfterCmd, IF DISCONNECT_MSG 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ciat 0x00000094 : */ 0x800c0004,0x00000298, 50862306a36Sopenharmony_ci/* 50962306a36Sopenharmony_ci JUMP IgnoreMsgInAfterCmd, IF SAVE_DATA_PTRS_MSG 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ciat 0x00000096 : */ 0x800c0002,0x00000288, 51262306a36Sopenharmony_ci/* 51362306a36Sopenharmony_ci JUMP IgnoreMsgInAfterCmd, IF RESTORE_DATA_PTRS_MSG 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ciat 0x00000098 : */ 0x800c0003,0x00000288, 51662306a36Sopenharmony_ci/* 51762306a36Sopenharmony_ci CALL ProcessReceiveMessage 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_ciat 0x0000009a : */ 0x88080000,0x000000a8, 52062306a36Sopenharmony_ci/* 52162306a36Sopenharmony_ci INT MSG_IN_AFTER_CMD 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ciat 0x0000009c : */ 0x98080000,0x00000350, 52462306a36Sopenharmony_ci/* 52562306a36Sopenharmony_ci CLEAR ACK 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ciat 0x0000009e : */ 0x60000040,0x00000000, 52862306a36Sopenharmony_ci/* 52962306a36Sopenharmony_ci JUMP ResumeSendCommand 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ciat 0x000000a0 : */ 0x80080000,0x000001e8, 53262306a36Sopenharmony_ci/* 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ciIgnoreMsgInAfterCmd: 53562306a36Sopenharmony_ci CLEAR ACK 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ciat 0x000000a2 : */ 0x60000040,0x00000000, 53862306a36Sopenharmony_ci/* 53962306a36Sopenharmony_ci JUMP ResumeSendCommand 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ciat 0x000000a4 : */ 0x80080000,0x000001e8, 54262306a36Sopenharmony_ci/* 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ciDisconnectAfterCmd: 54562306a36Sopenharmony_ci CLEAR ACK 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_ciat 0x000000a6 : */ 0x60000040,0x00000000, 54862306a36Sopenharmony_ci/* 54962306a36Sopenharmony_ci WAIT DISCONNECT 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_ciat 0x000000a8 : */ 0x48000000,0x00000000, 55262306a36Sopenharmony_ci/* 55362306a36Sopenharmony_ci ENTRY Disconnect1 55462306a36Sopenharmony_ciDisconnect1: 55562306a36Sopenharmony_ci INT DISCONNECT_AFTER_CMD 55662306a36Sopenharmony_ci 55762306a36Sopenharmony_ciat 0x000000aa : */ 0x98080000,0x00000380, 55862306a36Sopenharmony_ci/* 55962306a36Sopenharmony_ci ENTRY Disconnect2 56062306a36Sopenharmony_ciDisconnect2: 56162306a36Sopenharmony_ci; We return here after a reselection 56262306a36Sopenharmony_ci CLEAR ACK 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ciat 0x000000ac : */ 0x60000040,0x00000000, 56562306a36Sopenharmony_ci/* 56662306a36Sopenharmony_ci JUMP ResumeSendCommand 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ciat 0x000000ae : */ 0x80080000,0x000001e8, 56962306a36Sopenharmony_ci/* 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ciMsgInBeforeCommand: 57262306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_ciat 0x000000b0 : */ 0x0f000001,0x00000000, 57562306a36Sopenharmony_ci/* 57662306a36Sopenharmony_ci JUMP IgnoreMsgBeforeCommand, IF SAVE_DATA_PTRS_MSG 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ciat 0x000000b2 : */ 0x800c0002,0x000001c0, 57962306a36Sopenharmony_ci/* 58062306a36Sopenharmony_ci JUMP IgnoreMsgBeforeCommand, IF RESTORE_DATA_PTRS_MSG 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ciat 0x000000b4 : */ 0x800c0003,0x000001c0, 58362306a36Sopenharmony_ci/* 58462306a36Sopenharmony_ci CALL ProcessReceiveMessage 58562306a36Sopenharmony_ci 58662306a36Sopenharmony_ciat 0x000000b6 : */ 0x88080000,0x000000a8, 58762306a36Sopenharmony_ci/* 58862306a36Sopenharmony_ci INT MSG_IN_BEFORE_CMD 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_ciat 0x000000b8 : */ 0x98080000,0x00000250, 59162306a36Sopenharmony_ci/* 59262306a36Sopenharmony_ci CLEAR ACK 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_ciat 0x000000ba : */ 0x60000040,0x00000000, 59562306a36Sopenharmony_ci/* 59662306a36Sopenharmony_ci JUMP SendCommand 59762306a36Sopenharmony_ci 59862306a36Sopenharmony_ciat 0x000000bc : */ 0x80080000,0x000001c8, 59962306a36Sopenharmony_ci/* 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ciDataIn: 60262306a36Sopenharmony_ci CALL SGScriptStartAddress 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ciat 0x000000be : */ 0x88080000,0x00000000, 60562306a36Sopenharmony_ci/* 60662306a36Sopenharmony_ciResumeDataIn: 60762306a36Sopenharmony_ci JUMP Finish, WHEN STATUS 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ciat 0x000000c0 : */ 0x830b0000,0x00000460, 61062306a36Sopenharmony_ci/* 61162306a36Sopenharmony_ci JUMP MsgInAfterDataIn, IF MSG_IN 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_ciat 0x000000c2 : */ 0x870a0000,0x00000358, 61462306a36Sopenharmony_ci/* 61562306a36Sopenharmony_ci JUMP DataInAfterDataIn, if DATA_IN 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ciat 0x000000c4 : */ 0x810a0000,0x00000328, 61862306a36Sopenharmony_ci/* 61962306a36Sopenharmony_ci INT MSG_OUT_AFTER_DATA_IN, if MSG_OUT 62062306a36Sopenharmony_ci 62162306a36Sopenharmony_ciat 0x000000c6 : */ 0x9e0a0000,0x00000590, 62262306a36Sopenharmony_ci/* 62362306a36Sopenharmony_ci INT UNEXPECTED_PHASE_AFTER_DATA_IN 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ciat 0x000000c8 : */ 0x98080000,0x00000520, 62662306a36Sopenharmony_ci/* 62762306a36Sopenharmony_ci 62862306a36Sopenharmony_ciDataInAfterDataIn: 62962306a36Sopenharmony_ci INT DATA_IN_AFTER_DATA_IN 63062306a36Sopenharmony_ci 63162306a36Sopenharmony_ciat 0x000000ca : */ 0x98080000,0x000005a0, 63262306a36Sopenharmony_ci/* 63362306a36Sopenharmony_ci JUMP ResumeDataIn 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_ciat 0x000000cc : */ 0x80080000,0x00000300, 63662306a36Sopenharmony_ci/* 63762306a36Sopenharmony_ci 63862306a36Sopenharmony_ciDataOut: 63962306a36Sopenharmony_ci CALL SGScriptStartAddress 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_ciat 0x000000ce : */ 0x88080000,0x00000000, 64262306a36Sopenharmony_ci/* 64362306a36Sopenharmony_ciResumeDataOut: 64462306a36Sopenharmony_ci JUMP Finish, WHEN STATUS 64562306a36Sopenharmony_ci 64662306a36Sopenharmony_ciat 0x000000d0 : */ 0x830b0000,0x00000460, 64762306a36Sopenharmony_ci/* 64862306a36Sopenharmony_ci JUMP MsgInAfterDataOut, IF MSG_IN 64962306a36Sopenharmony_ci 65062306a36Sopenharmony_ciat 0x000000d2 : */ 0x870a0000,0x000003e8, 65162306a36Sopenharmony_ci/* 65262306a36Sopenharmony_ci INT UNEXPECTED_PHASE_AFTER_DATA_OUT 65362306a36Sopenharmony_ci 65462306a36Sopenharmony_ciat 0x000000d4 : */ 0x98080000,0x00000620, 65562306a36Sopenharmony_ci/* 65662306a36Sopenharmony_ci 65762306a36Sopenharmony_ciMsgInAfterDataIn: 65862306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ciat 0x000000d6 : */ 0x0f000001,0x00000000, 66162306a36Sopenharmony_ci/* 66262306a36Sopenharmony_ci JUMP DisconnectAfterDataIn, IF DISCONNECT_MSG 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ciat 0x000000d8 : */ 0x800c0004,0x000003c0, 66562306a36Sopenharmony_ci/* 66662306a36Sopenharmony_ci JUMP IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ciat 0x000000da : */ 0x800c0002,0x00000428, 66962306a36Sopenharmony_ci/* 67062306a36Sopenharmony_ci JUMP IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG 67162306a36Sopenharmony_ci 67262306a36Sopenharmony_ciat 0x000000dc : */ 0x800c0003,0x00000428, 67362306a36Sopenharmony_ci/* 67462306a36Sopenharmony_ci CALL ProcessReceiveMessage 67562306a36Sopenharmony_ci 67662306a36Sopenharmony_ciat 0x000000de : */ 0x88080000,0x000000a8, 67762306a36Sopenharmony_ci/* 67862306a36Sopenharmony_ci INT MSG_IN_AFTER_DATA_IN 67962306a36Sopenharmony_ci 68062306a36Sopenharmony_ciat 0x000000e0 : */ 0x98080000,0x00000550, 68162306a36Sopenharmony_ci/* 68262306a36Sopenharmony_ci CLEAR ACK 68362306a36Sopenharmony_ci 68462306a36Sopenharmony_ciat 0x000000e2 : */ 0x60000040,0x00000000, 68562306a36Sopenharmony_ci/* 68662306a36Sopenharmony_ci JUMP ResumeDataIn 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ciat 0x000000e4 : */ 0x80080000,0x00000300, 68962306a36Sopenharmony_ci/* 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ciDisconnectDuringDataIn: 69262306a36Sopenharmony_ci CLEAR ACK 69362306a36Sopenharmony_ci 69462306a36Sopenharmony_ciat 0x000000e6 : */ 0x60000040,0x00000000, 69562306a36Sopenharmony_ci/* 69662306a36Sopenharmony_ci WAIT DISCONNECT 69762306a36Sopenharmony_ci 69862306a36Sopenharmony_ciat 0x000000e8 : */ 0x48000000,0x00000000, 69962306a36Sopenharmony_ci/* 70062306a36Sopenharmony_ci ENTRY Disconnect3 70162306a36Sopenharmony_ciDisconnect3: 70262306a36Sopenharmony_ci INT DISCONNECT_DURING_DATA 70362306a36Sopenharmony_ci 70462306a36Sopenharmony_ciat 0x000000ea : */ 0x98080000,0x00000780, 70562306a36Sopenharmony_ci/* 70662306a36Sopenharmony_ci ENTRY Disconnect4 70762306a36Sopenharmony_ciDisconnect4: 70862306a36Sopenharmony_ci; we return here after a reselection 70962306a36Sopenharmony_ci CLEAR ACK 71062306a36Sopenharmony_ci 71162306a36Sopenharmony_ciat 0x000000ec : */ 0x60000040,0x00000000, 71262306a36Sopenharmony_ci/* 71362306a36Sopenharmony_ci JUMP ResumeSendCommand 71462306a36Sopenharmony_ci 71562306a36Sopenharmony_ciat 0x000000ee : */ 0x80080000,0x000001e8, 71662306a36Sopenharmony_ci/* 71762306a36Sopenharmony_ci 71862306a36Sopenharmony_ci 71962306a36Sopenharmony_ciDisconnectAfterDataIn: 72062306a36Sopenharmony_ci CLEAR ACK 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ciat 0x000000f0 : */ 0x60000040,0x00000000, 72362306a36Sopenharmony_ci/* 72462306a36Sopenharmony_ci WAIT DISCONNECT 72562306a36Sopenharmony_ci 72662306a36Sopenharmony_ciat 0x000000f2 : */ 0x48000000,0x00000000, 72762306a36Sopenharmony_ci/* 72862306a36Sopenharmony_ci ENTRY Disconnect5 72962306a36Sopenharmony_ciDisconnect5: 73062306a36Sopenharmony_ci INT DISCONNECT_AFTER_DATA 73162306a36Sopenharmony_ci 73262306a36Sopenharmony_ciat 0x000000f4 : */ 0x98080000,0x00000580, 73362306a36Sopenharmony_ci/* 73462306a36Sopenharmony_ci ENTRY Disconnect6 73562306a36Sopenharmony_ciDisconnect6: 73662306a36Sopenharmony_ci; we return here after a reselection 73762306a36Sopenharmony_ci CLEAR ACK 73862306a36Sopenharmony_ci 73962306a36Sopenharmony_ciat 0x000000f6 : */ 0x60000040,0x00000000, 74062306a36Sopenharmony_ci/* 74162306a36Sopenharmony_ci JUMP ResumeDataIn 74262306a36Sopenharmony_ci 74362306a36Sopenharmony_ciat 0x000000f8 : */ 0x80080000,0x00000300, 74462306a36Sopenharmony_ci/* 74562306a36Sopenharmony_ci 74662306a36Sopenharmony_ciMsgInAfterDataOut: 74762306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 74862306a36Sopenharmony_ci 74962306a36Sopenharmony_ciat 0x000000fa : */ 0x0f000001,0x00000000, 75062306a36Sopenharmony_ci/* 75162306a36Sopenharmony_ci JUMP DisconnectAfterDataOut, if DISCONNECT_MSG 75262306a36Sopenharmony_ci 75362306a36Sopenharmony_ciat 0x000000fc : */ 0x800c0004,0x00000438, 75462306a36Sopenharmony_ci/* 75562306a36Sopenharmony_ci JUMP IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG 75662306a36Sopenharmony_ci 75762306a36Sopenharmony_ciat 0x000000fe : */ 0x800c0002,0x00000428, 75862306a36Sopenharmony_ci/* 75962306a36Sopenharmony_ci JUMP IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG 76062306a36Sopenharmony_ci 76162306a36Sopenharmony_ciat 0x00000100 : */ 0x800c0003,0x00000428, 76262306a36Sopenharmony_ci/* 76362306a36Sopenharmony_ci CALL ProcessReceiveMessage 76462306a36Sopenharmony_ci 76562306a36Sopenharmony_ciat 0x00000102 : */ 0x88080000,0x000000a8, 76662306a36Sopenharmony_ci/* 76762306a36Sopenharmony_ci INT MSG_IN_AFTER_DATA_OUT 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ciat 0x00000104 : */ 0x98080000,0x00000650, 77062306a36Sopenharmony_ci/* 77162306a36Sopenharmony_ci CLEAR ACK 77262306a36Sopenharmony_ci 77362306a36Sopenharmony_ciat 0x00000106 : */ 0x60000040,0x00000000, 77462306a36Sopenharmony_ci/* 77562306a36Sopenharmony_ci JUMP ResumeDataOut 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_ciat 0x00000108 : */ 0x80080000,0x00000340, 77862306a36Sopenharmony_ci/* 77962306a36Sopenharmony_ci 78062306a36Sopenharmony_ciIgnoreMsgAfterData: 78162306a36Sopenharmony_ci CLEAR ACK 78262306a36Sopenharmony_ci 78362306a36Sopenharmony_ciat 0x0000010a : */ 0x60000040,0x00000000, 78462306a36Sopenharmony_ci/* 78562306a36Sopenharmony_ci; Data in and out do the same thing on resume, so pick one 78662306a36Sopenharmony_ci JUMP ResumeDataIn 78762306a36Sopenharmony_ci 78862306a36Sopenharmony_ciat 0x0000010c : */ 0x80080000,0x00000300, 78962306a36Sopenharmony_ci/* 79062306a36Sopenharmony_ci 79162306a36Sopenharmony_ciDisconnectAfterDataOut: 79262306a36Sopenharmony_ci CLEAR ACK 79362306a36Sopenharmony_ci 79462306a36Sopenharmony_ciat 0x0000010e : */ 0x60000040,0x00000000, 79562306a36Sopenharmony_ci/* 79662306a36Sopenharmony_ci WAIT DISCONNECT 79762306a36Sopenharmony_ci 79862306a36Sopenharmony_ciat 0x00000110 : */ 0x48000000,0x00000000, 79962306a36Sopenharmony_ci/* 80062306a36Sopenharmony_ci ENTRY Disconnect7 80162306a36Sopenharmony_ciDisconnect7: 80262306a36Sopenharmony_ci INT DISCONNECT_AFTER_DATA 80362306a36Sopenharmony_ci 80462306a36Sopenharmony_ciat 0x00000112 : */ 0x98080000,0x00000580, 80562306a36Sopenharmony_ci/* 80662306a36Sopenharmony_ci ENTRY Disconnect8 80762306a36Sopenharmony_ciDisconnect8: 80862306a36Sopenharmony_ci; we return here after a reselection 80962306a36Sopenharmony_ci CLEAR ACK 81062306a36Sopenharmony_ci 81162306a36Sopenharmony_ciat 0x00000114 : */ 0x60000040,0x00000000, 81262306a36Sopenharmony_ci/* 81362306a36Sopenharmony_ci JUMP ResumeDataOut 81462306a36Sopenharmony_ci 81562306a36Sopenharmony_ciat 0x00000116 : */ 0x80080000,0x00000340, 81662306a36Sopenharmony_ci/* 81762306a36Sopenharmony_ci 81862306a36Sopenharmony_ciFinish: 81962306a36Sopenharmony_ci MOVE 1, StatusAddress, WHEN STATUS 82062306a36Sopenharmony_ci 82162306a36Sopenharmony_ciat 0x00000118 : */ 0x0b000001,0x00000000, 82262306a36Sopenharmony_ci/* 82362306a36Sopenharmony_ci INT NOT_MSG_IN_AFTER_STATUS, WHEN NOT MSG_IN 82462306a36Sopenharmony_ci 82562306a36Sopenharmony_ciat 0x0000011a : */ 0x9f030000,0x00000430, 82662306a36Sopenharmony_ci/* 82762306a36Sopenharmony_ci MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_ciat 0x0000011c : */ 0x0f000001,0x00000000, 83062306a36Sopenharmony_ci/* 83162306a36Sopenharmony_ci JUMP FinishCommandComplete, IF COMMAND_COMPLETE_MSG 83262306a36Sopenharmony_ci 83362306a36Sopenharmony_ciat 0x0000011e : */ 0x800c0000,0x00000490, 83462306a36Sopenharmony_ci/* 83562306a36Sopenharmony_ci CALL ProcessReceiveMessage 83662306a36Sopenharmony_ci 83762306a36Sopenharmony_ciat 0x00000120 : */ 0x88080000,0x000000a8, 83862306a36Sopenharmony_ci/* 83962306a36Sopenharmony_ci INT MSG_IN_AFTER_STATUS 84062306a36Sopenharmony_ci 84162306a36Sopenharmony_ciat 0x00000122 : */ 0x98080000,0x00000440, 84262306a36Sopenharmony_ci/* 84362306a36Sopenharmony_ci ENTRY FinishCommandComplete 84462306a36Sopenharmony_ciFinishCommandComplete: 84562306a36Sopenharmony_ci CLEAR ACK 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ciat 0x00000124 : */ 0x60000040,0x00000000, 84862306a36Sopenharmony_ci/* 84962306a36Sopenharmony_ci WAIT DISCONNECT 85062306a36Sopenharmony_ci 85162306a36Sopenharmony_ciat 0x00000126 : */ 0x48000000,0x00000000, 85262306a36Sopenharmony_ci/* 85362306a36Sopenharmony_ci ENTRY Finish1 85462306a36Sopenharmony_ciFinish1: 85562306a36Sopenharmony_ci INT GOOD_STATUS_AFTER_STATUS 85662306a36Sopenharmony_ci 85762306a36Sopenharmony_ciat 0x00000128 : */ 0x98080000,0x00000401, 85862306a36Sopenharmony_ci}; 85962306a36Sopenharmony_ci 86062306a36Sopenharmony_ci#define A_AFTER_CMD 0x00000300 86162306a36Sopenharmony_cistatic u32 A_AFTER_CMD_used[] __attribute((unused)) = { 86262306a36Sopenharmony_ci}; 86362306a36Sopenharmony_ci 86462306a36Sopenharmony_ci#define A_AFTER_DATA_IN 0x00000500 86562306a36Sopenharmony_cistatic u32 A_AFTER_DATA_IN_used[] __attribute((unused)) = { 86662306a36Sopenharmony_ci}; 86762306a36Sopenharmony_ci 86862306a36Sopenharmony_ci#define A_AFTER_DATA_OUT 0x00000600 86962306a36Sopenharmony_cistatic u32 A_AFTER_DATA_OUT_used[] __attribute((unused)) = { 87062306a36Sopenharmony_ci}; 87162306a36Sopenharmony_ci 87262306a36Sopenharmony_ci#define A_AFTER_SELECTION 0x00000100 87362306a36Sopenharmony_cistatic u32 A_AFTER_SELECTION_used[] __attribute((unused)) = { 87462306a36Sopenharmony_ci}; 87562306a36Sopenharmony_ci 87662306a36Sopenharmony_ci#define A_AFTER_STATUS 0x00000400 87762306a36Sopenharmony_cistatic u32 A_AFTER_STATUS_used[] __attribute((unused)) = { 87862306a36Sopenharmony_ci}; 87962306a36Sopenharmony_ci 88062306a36Sopenharmony_ci#define A_BEFORE_CMD 0x00000200 88162306a36Sopenharmony_cistatic u32 A_BEFORE_CMD_used[] __attribute((unused)) = { 88262306a36Sopenharmony_ci}; 88362306a36Sopenharmony_ci 88462306a36Sopenharmony_ci#define A_COMMAND_COMPLETE_MSG 0x00000000 88562306a36Sopenharmony_cistatic u32 A_COMMAND_COMPLETE_MSG_used[] __attribute((unused)) = { 88662306a36Sopenharmony_ci 0x0000011e, 88762306a36Sopenharmony_ci}; 88862306a36Sopenharmony_ci 88962306a36Sopenharmony_ci#define A_COMPLETED_SELECTION_AS_TARGET 0x00001001 89062306a36Sopenharmony_cistatic u32 A_COMPLETED_SELECTION_AS_TARGET_used[] __attribute((unused)) = { 89162306a36Sopenharmony_ci 0x0000001d, 89262306a36Sopenharmony_ci}; 89362306a36Sopenharmony_ci 89462306a36Sopenharmony_ci#define A_CommandAddress 0x00000000 89562306a36Sopenharmony_cistatic u32 A_CommandAddress_used[] __attribute((unused)) = { 89662306a36Sopenharmony_ci 0x00000079, 89762306a36Sopenharmony_ci}; 89862306a36Sopenharmony_ci 89962306a36Sopenharmony_ci#define A_CommandCount 0x00000000 90062306a36Sopenharmony_cistatic u32 A_CommandCount_used[] __attribute((unused)) = { 90162306a36Sopenharmony_ci 0x00000078, 90262306a36Sopenharmony_ci}; 90362306a36Sopenharmony_ci 90462306a36Sopenharmony_ci#define A_DATA_IN_AFTER_DATA_IN 0x000005a0 90562306a36Sopenharmony_cistatic u32 A_DATA_IN_AFTER_DATA_IN_used[] __attribute((unused)) = { 90662306a36Sopenharmony_ci 0x000000cb, 90762306a36Sopenharmony_ci}; 90862306a36Sopenharmony_ci 90962306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT 0x00003000 91062306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT_used[] __attribute((unused)) = { 91162306a36Sopenharmony_ci}; 91262306a36Sopenharmony_ci 91362306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT1 0x00003001 91462306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT1_used[] __attribute((unused)) = { 91562306a36Sopenharmony_ci}; 91662306a36Sopenharmony_ci 91762306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT2 0x00003002 91862306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT2_used[] __attribute((unused)) = { 91962306a36Sopenharmony_ci}; 92062306a36Sopenharmony_ci 92162306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT3 0x00003003 92262306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT3_used[] __attribute((unused)) = { 92362306a36Sopenharmony_ci}; 92462306a36Sopenharmony_ci 92562306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT4 0x00003004 92662306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT4_used[] __attribute((unused)) = { 92762306a36Sopenharmony_ci}; 92862306a36Sopenharmony_ci 92962306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT5 0x00003005 93062306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT5_used[] __attribute((unused)) = { 93162306a36Sopenharmony_ci}; 93262306a36Sopenharmony_ci 93362306a36Sopenharmony_ci#define A_DEBUG_INTERRUPT6 0x00003006 93462306a36Sopenharmony_cistatic u32 A_DEBUG_INTERRUPT6_used[] __attribute((unused)) = { 93562306a36Sopenharmony_ci}; 93662306a36Sopenharmony_ci 93762306a36Sopenharmony_ci#define A_DISCONNECT 0x00000080 93862306a36Sopenharmony_cistatic u32 A_DISCONNECT_used[] __attribute((unused)) = { 93962306a36Sopenharmony_ci}; 94062306a36Sopenharmony_ci 94162306a36Sopenharmony_ci#define A_DISCONNECT_AFTER_CMD 0x00000380 94262306a36Sopenharmony_cistatic u32 A_DISCONNECT_AFTER_CMD_used[] __attribute((unused)) = { 94362306a36Sopenharmony_ci 0x000000ab, 94462306a36Sopenharmony_ci}; 94562306a36Sopenharmony_ci 94662306a36Sopenharmony_ci#define A_DISCONNECT_AFTER_DATA 0x00000580 94762306a36Sopenharmony_cistatic u32 A_DISCONNECT_AFTER_DATA_used[] __attribute((unused)) = { 94862306a36Sopenharmony_ci 0x000000f5, 94962306a36Sopenharmony_ci 0x00000113, 95062306a36Sopenharmony_ci}; 95162306a36Sopenharmony_ci 95262306a36Sopenharmony_ci#define A_DISCONNECT_DURING_DATA 0x00000780 95362306a36Sopenharmony_cistatic u32 A_DISCONNECT_DURING_DATA_used[] __attribute((unused)) = { 95462306a36Sopenharmony_ci 0x000000eb, 95562306a36Sopenharmony_ci}; 95662306a36Sopenharmony_ci 95762306a36Sopenharmony_ci#define A_DISCONNECT_MSG 0x00000004 95862306a36Sopenharmony_cistatic u32 A_DISCONNECT_MSG_used[] __attribute((unused)) = { 95962306a36Sopenharmony_ci 0x0000008a, 96062306a36Sopenharmony_ci 0x00000094, 96162306a36Sopenharmony_ci 0x000000d8, 96262306a36Sopenharmony_ci 0x000000fc, 96362306a36Sopenharmony_ci}; 96462306a36Sopenharmony_ci 96562306a36Sopenharmony_ci#define A_DURING_DATA_IN 0x00000700 96662306a36Sopenharmony_cistatic u32 A_DURING_DATA_IN_used[] __attribute((unused)) = { 96762306a36Sopenharmony_ci}; 96862306a36Sopenharmony_ci 96962306a36Sopenharmony_ci#define A_Device_ID 0x00000000 97062306a36Sopenharmony_cistatic u32 A_Device_ID_used[] __attribute((unused)) = { 97162306a36Sopenharmony_ci 0x00000000, 97262306a36Sopenharmony_ci}; 97362306a36Sopenharmony_ci 97462306a36Sopenharmony_ci#define A_EXTENDED_MSG 0x00000001 97562306a36Sopenharmony_cistatic u32 A_EXTENDED_MSG_used[] __attribute((unused)) = { 97662306a36Sopenharmony_ci 0x0000002a, 97762306a36Sopenharmony_ci}; 97862306a36Sopenharmony_ci 97962306a36Sopenharmony_ci#define A_FATAL 0x00002000 98062306a36Sopenharmony_cistatic u32 A_FATAL_used[] __attribute((unused)) = { 98162306a36Sopenharmony_ci}; 98262306a36Sopenharmony_ci 98362306a36Sopenharmony_ci#define A_FATAL_ILLEGAL_MSG_LENGTH 0x00002003 98462306a36Sopenharmony_cistatic u32 A_FATAL_ILLEGAL_MSG_LENGTH_used[] __attribute((unused)) = { 98562306a36Sopenharmony_ci 0x00000043, 98662306a36Sopenharmony_ci}; 98762306a36Sopenharmony_ci 98862306a36Sopenharmony_ci#define A_FATAL_NOT_MSG_IN_AFTER_SELECTION 0x00002002 98962306a36Sopenharmony_cistatic u32 A_FATAL_NOT_MSG_IN_AFTER_SELECTION_used[] __attribute((unused)) = { 99062306a36Sopenharmony_ci 0x0000000d, 99162306a36Sopenharmony_ci}; 99262306a36Sopenharmony_ci 99362306a36Sopenharmony_ci#define A_FATAL_SEND_MSG 0x00002001 99462306a36Sopenharmony_cistatic u32 A_FATAL_SEND_MSG_used[] __attribute((unused)) = { 99562306a36Sopenharmony_ci 0x00000023, 99662306a36Sopenharmony_ci}; 99762306a36Sopenharmony_ci 99862306a36Sopenharmony_ci#define A_FATAL_UNEXPECTED_RESELECTION_MSG 0x00002000 99962306a36Sopenharmony_cistatic u32 A_FATAL_UNEXPECTED_RESELECTION_MSG_used[] __attribute((unused)) = { 100062306a36Sopenharmony_ci}; 100162306a36Sopenharmony_ci 100262306a36Sopenharmony_ci#define A_GOOD_STATUS 0x00000001 100362306a36Sopenharmony_cistatic u32 A_GOOD_STATUS_used[] __attribute((unused)) = { 100462306a36Sopenharmony_ci}; 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_ci#define A_GOOD_STATUS_AFTER_STATUS 0x00000401 100762306a36Sopenharmony_cistatic u32 A_GOOD_STATUS_AFTER_STATUS_used[] __attribute((unused)) = { 100862306a36Sopenharmony_ci 0x00000129, 100962306a36Sopenharmony_ci}; 101062306a36Sopenharmony_ci 101162306a36Sopenharmony_ci#define A_IDENTIFY_MSG 0x00000080 101262306a36Sopenharmony_cistatic u32 A_IDENTIFY_MSG_used[] __attribute((unused)) = { 101362306a36Sopenharmony_ci}; 101462306a36Sopenharmony_ci 101562306a36Sopenharmony_ci#define A_IDENTIFY_MSG_MASK 0x0000007f 101662306a36Sopenharmony_cistatic u32 A_IDENTIFY_MSG_MASK_used[] __attribute((unused)) = { 101762306a36Sopenharmony_ci}; 101862306a36Sopenharmony_ci 101962306a36Sopenharmony_ci#define A_MSG_IN 0x00000050 102062306a36Sopenharmony_cistatic u32 A_MSG_IN_used[] __attribute((unused)) = { 102162306a36Sopenharmony_ci}; 102262306a36Sopenharmony_ci 102362306a36Sopenharmony_ci#define A_MSG_IN_AFTER_CMD 0x00000350 102462306a36Sopenharmony_cistatic u32 A_MSG_IN_AFTER_CMD_used[] __attribute((unused)) = { 102562306a36Sopenharmony_ci 0x0000009d, 102662306a36Sopenharmony_ci}; 102762306a36Sopenharmony_ci 102862306a36Sopenharmony_ci#define A_MSG_IN_AFTER_DATA_IN 0x00000550 102962306a36Sopenharmony_cistatic u32 A_MSG_IN_AFTER_DATA_IN_used[] __attribute((unused)) = { 103062306a36Sopenharmony_ci 0x000000e1, 103162306a36Sopenharmony_ci}; 103262306a36Sopenharmony_ci 103362306a36Sopenharmony_ci#define A_MSG_IN_AFTER_DATA_OUT 0x00000650 103462306a36Sopenharmony_cistatic u32 A_MSG_IN_AFTER_DATA_OUT_used[] __attribute((unused)) = { 103562306a36Sopenharmony_ci 0x00000105, 103662306a36Sopenharmony_ci}; 103762306a36Sopenharmony_ci 103862306a36Sopenharmony_ci#define A_MSG_IN_AFTER_STATUS 0x00000440 103962306a36Sopenharmony_cistatic u32 A_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = { 104062306a36Sopenharmony_ci 0x00000123, 104162306a36Sopenharmony_ci}; 104262306a36Sopenharmony_ci 104362306a36Sopenharmony_ci#define A_MSG_IN_BEFORE_CMD 0x00000250 104462306a36Sopenharmony_cistatic u32 A_MSG_IN_BEFORE_CMD_used[] __attribute((unused)) = { 104562306a36Sopenharmony_ci 0x000000b9, 104662306a36Sopenharmony_ci}; 104762306a36Sopenharmony_ci 104862306a36Sopenharmony_ci#define A_MSG_IN_DURING_DATA_IN 0x00000750 104962306a36Sopenharmony_cistatic u32 A_MSG_IN_DURING_DATA_IN_used[] __attribute((unused)) = { 105062306a36Sopenharmony_ci 0x00000091, 105162306a36Sopenharmony_ci}; 105262306a36Sopenharmony_ci 105362306a36Sopenharmony_ci#define A_MSG_OUT 0x00000090 105462306a36Sopenharmony_cistatic u32 A_MSG_OUT_used[] __attribute((unused)) = { 105562306a36Sopenharmony_ci}; 105662306a36Sopenharmony_ci 105762306a36Sopenharmony_ci#define A_MSG_OUT_AFTER_DATA_IN 0x00000590 105862306a36Sopenharmony_cistatic u32 A_MSG_OUT_AFTER_DATA_IN_used[] __attribute((unused)) = { 105962306a36Sopenharmony_ci 0x000000c7, 106062306a36Sopenharmony_ci}; 106162306a36Sopenharmony_ci 106262306a36Sopenharmony_ci#define A_MessageCount 0x00000000 106362306a36Sopenharmony_cistatic u32 A_MessageCount_used[] __attribute((unused)) = { 106462306a36Sopenharmony_ci 0x0000001e, 106562306a36Sopenharmony_ci}; 106662306a36Sopenharmony_ci 106762306a36Sopenharmony_ci#define A_MessageLocation 0x00000000 106862306a36Sopenharmony_cistatic u32 A_MessageLocation_used[] __attribute((unused)) = { 106962306a36Sopenharmony_ci 0x0000001f, 107062306a36Sopenharmony_ci}; 107162306a36Sopenharmony_ci 107262306a36Sopenharmony_ci#define A_NOT_MSG_IN 0x00000030 107362306a36Sopenharmony_cistatic u32 A_NOT_MSG_IN_used[] __attribute((unused)) = { 107462306a36Sopenharmony_ci}; 107562306a36Sopenharmony_ci 107662306a36Sopenharmony_ci#define A_NOT_MSG_IN_AFTER_STATUS 0x00000430 107762306a36Sopenharmony_cistatic u32 A_NOT_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = { 107862306a36Sopenharmony_ci 0x0000011b, 107962306a36Sopenharmony_ci}; 108062306a36Sopenharmony_ci 108162306a36Sopenharmony_ci#define A_NOT_MSG_OUT 0x00000010 108262306a36Sopenharmony_cistatic u32 A_NOT_MSG_OUT_used[] __attribute((unused)) = { 108362306a36Sopenharmony_ci}; 108462306a36Sopenharmony_ci 108562306a36Sopenharmony_ci#define A_NOT_MSG_OUT_AFTER_SELECTION 0x00000110 108662306a36Sopenharmony_cistatic u32 A_NOT_MSG_OUT_AFTER_SELECTION_used[] __attribute((unused)) = { 108762306a36Sopenharmony_ci 0x00000007, 108862306a36Sopenharmony_ci}; 108962306a36Sopenharmony_ci 109062306a36Sopenharmony_ci#define A_PARITY_ERROR_MSG 0x00000009 109162306a36Sopenharmony_cistatic u32 A_PARITY_ERROR_MSG_used[] __attribute((unused)) = { 109262306a36Sopenharmony_ci}; 109362306a36Sopenharmony_ci 109462306a36Sopenharmony_ci#define A_REJECT_MSG 0x00000007 109562306a36Sopenharmony_cistatic u32 A_REJECT_MSG_used[] __attribute((unused)) = { 109662306a36Sopenharmony_ci}; 109762306a36Sopenharmony_ci 109862306a36Sopenharmony_ci#define A_REJECT_MSG_BEFORE_CMD 0x00000270 109962306a36Sopenharmony_cistatic u32 A_REJECT_MSG_BEFORE_CMD_used[] __attribute((unused)) = { 110062306a36Sopenharmony_ci}; 110162306a36Sopenharmony_ci 110262306a36Sopenharmony_ci#define A_REJECT_MSG_R 0x00000070 110362306a36Sopenharmony_cistatic u32 A_REJECT_MSG_R_used[] __attribute((unused)) = { 110462306a36Sopenharmony_ci}; 110562306a36Sopenharmony_ci 110662306a36Sopenharmony_ci#define A_RESELECTED_DURING_SELECTION 0x00001000 110762306a36Sopenharmony_cistatic u32 A_RESELECTED_DURING_SELECTION_used[] __attribute((unused)) = { 110862306a36Sopenharmony_ci 0x0000000b, 110962306a36Sopenharmony_ci}; 111062306a36Sopenharmony_ci 111162306a36Sopenharmony_ci#define A_RESELECTION_IDENTIFIED 0x00001003 111262306a36Sopenharmony_cistatic u32 A_RESELECTION_IDENTIFIED_used[] __attribute((unused)) = { 111362306a36Sopenharmony_ci 0x00000011, 111462306a36Sopenharmony_ci 0x00000015, 111562306a36Sopenharmony_ci}; 111662306a36Sopenharmony_ci 111762306a36Sopenharmony_ci#define A_RESTORE_DATA_PTRS_MSG 0x00000003 111862306a36Sopenharmony_cistatic u32 A_RESTORE_DATA_PTRS_MSG_used[] __attribute((unused)) = { 111962306a36Sopenharmony_ci 0x0000008e, 112062306a36Sopenharmony_ci 0x00000098, 112162306a36Sopenharmony_ci 0x000000b4, 112262306a36Sopenharmony_ci 0x000000dc, 112362306a36Sopenharmony_ci 0x00000100, 112462306a36Sopenharmony_ci}; 112562306a36Sopenharmony_ci 112662306a36Sopenharmony_ci#define A_ReceiveMsgAddress 0x00000000 112762306a36Sopenharmony_cistatic u32 A_ReceiveMsgAddress_used[] __attribute((unused)) = { 112862306a36Sopenharmony_ci 0x0000000f, 112962306a36Sopenharmony_ci 0x00000013, 113062306a36Sopenharmony_ci 0x00000029, 113162306a36Sopenharmony_ci 0x00000031, 113262306a36Sopenharmony_ci 0x00000037, 113362306a36Sopenharmony_ci 0x00000047, 113462306a36Sopenharmony_ci 0x0000004d, 113562306a36Sopenharmony_ci 0x00000053, 113662306a36Sopenharmony_ci 0x00000059, 113762306a36Sopenharmony_ci 0x0000005f, 113862306a36Sopenharmony_ci 0x00000089, 113962306a36Sopenharmony_ci 0x00000093, 114062306a36Sopenharmony_ci 0x000000b1, 114162306a36Sopenharmony_ci 0x000000d7, 114262306a36Sopenharmony_ci 0x000000fb, 114362306a36Sopenharmony_ci 0x0000011d, 114462306a36Sopenharmony_ci}; 114562306a36Sopenharmony_ci 114662306a36Sopenharmony_ci#define A_SAVE_DATA_PTRS_MSG 0x00000002 114762306a36Sopenharmony_cistatic u32 A_SAVE_DATA_PTRS_MSG_used[] __attribute((unused)) = { 114862306a36Sopenharmony_ci 0x0000008c, 114962306a36Sopenharmony_ci 0x00000096, 115062306a36Sopenharmony_ci 0x000000b2, 115162306a36Sopenharmony_ci 0x000000da, 115262306a36Sopenharmony_ci 0x000000fe, 115362306a36Sopenharmony_ci}; 115462306a36Sopenharmony_ci 115562306a36Sopenharmony_ci#define A_SDTR_MSG 0x00000001 115662306a36Sopenharmony_cistatic u32 A_SDTR_MSG_used[] __attribute((unused)) = { 115762306a36Sopenharmony_ci}; 115862306a36Sopenharmony_ci 115962306a36Sopenharmony_ci#define A_SDTR_MSG_AFTER_CMD 0x00000360 116062306a36Sopenharmony_cistatic u32 A_SDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = { 116162306a36Sopenharmony_ci}; 116262306a36Sopenharmony_ci 116362306a36Sopenharmony_ci#define A_SDTR_MSG_BEFORE_CMD 0x00000260 116462306a36Sopenharmony_cistatic u32 A_SDTR_MSG_BEFORE_CMD_used[] __attribute((unused)) = { 116562306a36Sopenharmony_ci}; 116662306a36Sopenharmony_ci 116762306a36Sopenharmony_ci#define A_SDTR_MSG_R 0x00000060 116862306a36Sopenharmony_cistatic u32 A_SDTR_MSG_R_used[] __attribute((unused)) = { 116962306a36Sopenharmony_ci}; 117062306a36Sopenharmony_ci 117162306a36Sopenharmony_ci#define A_SGScriptStartAddress 0x00000000 117262306a36Sopenharmony_cistatic u32 A_SGScriptStartAddress_used[] __attribute((unused)) = { 117362306a36Sopenharmony_ci 0x000000bf, 117462306a36Sopenharmony_ci 0x000000cf, 117562306a36Sopenharmony_ci}; 117662306a36Sopenharmony_ci 117762306a36Sopenharmony_ci#define A_SIMPLE_TAG_MSG 0x00000020 117862306a36Sopenharmony_cistatic u32 A_SIMPLE_TAG_MSG_used[] __attribute((unused)) = { 117962306a36Sopenharmony_ci}; 118062306a36Sopenharmony_ci 118162306a36Sopenharmony_ci#define A_StatusAddress 0x00000000 118262306a36Sopenharmony_cistatic u32 A_StatusAddress_used[] __attribute((unused)) = { 118362306a36Sopenharmony_ci 0x00000119, 118462306a36Sopenharmony_ci}; 118562306a36Sopenharmony_ci 118662306a36Sopenharmony_ci#define A_TWO_BYTE_MSG 0x00000020 118762306a36Sopenharmony_cistatic u32 A_TWO_BYTE_MSG_used[] __attribute((unused)) = { 118862306a36Sopenharmony_ci 0x0000002c, 118962306a36Sopenharmony_ci}; 119062306a36Sopenharmony_ci 119162306a36Sopenharmony_ci#define A_TWO_BYTE_MSG_MASK 0x0000000f 119262306a36Sopenharmony_cistatic u32 A_TWO_BYTE_MSG_MASK_used[] __attribute((unused)) = { 119362306a36Sopenharmony_ci 0x0000002c, 119462306a36Sopenharmony_ci}; 119562306a36Sopenharmony_ci 119662306a36Sopenharmony_ci#define A_UNEXPECTED_MSG 0x00000040 119762306a36Sopenharmony_cistatic u32 A_UNEXPECTED_MSG_used[] __attribute((unused)) = { 119862306a36Sopenharmony_ci}; 119962306a36Sopenharmony_ci 120062306a36Sopenharmony_ci#define A_UNEXPECTED_MSG_BEFORE_CMD 0x00000240 120162306a36Sopenharmony_cistatic u32 A_UNEXPECTED_MSG_BEFORE_CMD_used[] __attribute((unused)) = { 120262306a36Sopenharmony_ci}; 120362306a36Sopenharmony_ci 120462306a36Sopenharmony_ci#define A_UNEXPECTED_PHASE 0x00000020 120562306a36Sopenharmony_cistatic u32 A_UNEXPECTED_PHASE_used[] __attribute((unused)) = { 120662306a36Sopenharmony_ci}; 120762306a36Sopenharmony_ci 120862306a36Sopenharmony_ci#define A_UNEXPECTED_PHASE_AFTER_CMD 0x00000320 120962306a36Sopenharmony_cistatic u32 A_UNEXPECTED_PHASE_AFTER_CMD_used[] __attribute((unused)) = { 121062306a36Sopenharmony_ci 0x00000083, 121162306a36Sopenharmony_ci}; 121262306a36Sopenharmony_ci 121362306a36Sopenharmony_ci#define A_UNEXPECTED_PHASE_AFTER_DATA_IN 0x00000520 121462306a36Sopenharmony_cistatic u32 A_UNEXPECTED_PHASE_AFTER_DATA_IN_used[] __attribute((unused)) = { 121562306a36Sopenharmony_ci 0x000000c9, 121662306a36Sopenharmony_ci}; 121762306a36Sopenharmony_ci 121862306a36Sopenharmony_ci#define A_UNEXPECTED_PHASE_AFTER_DATA_OUT 0x00000620 121962306a36Sopenharmony_cistatic u32 A_UNEXPECTED_PHASE_AFTER_DATA_OUT_used[] __attribute((unused)) = { 122062306a36Sopenharmony_ci 0x000000d5, 122162306a36Sopenharmony_ci}; 122262306a36Sopenharmony_ci 122362306a36Sopenharmony_ci#define A_UNEXPECTED_PHASE_BEFORE_CMD 0x00000220 122462306a36Sopenharmony_cistatic u32 A_UNEXPECTED_PHASE_BEFORE_CMD_used[] __attribute((unused)) = { 122562306a36Sopenharmony_ci 0x00000077, 122662306a36Sopenharmony_ci}; 122762306a36Sopenharmony_ci 122862306a36Sopenharmony_ci#define A_WDTR_MSG 0x00000003 122962306a36Sopenharmony_cistatic u32 A_WDTR_MSG_used[] __attribute((unused)) = { 123062306a36Sopenharmony_ci}; 123162306a36Sopenharmony_ci 123262306a36Sopenharmony_ci#define A_WDTR_MSG_AFTER_CMD 0x000003a0 123362306a36Sopenharmony_cistatic u32 A_WDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = { 123462306a36Sopenharmony_ci}; 123562306a36Sopenharmony_ci 123662306a36Sopenharmony_ci#define A_WDTR_MSG_R 0x000000a0 123762306a36Sopenharmony_cistatic u32 A_WDTR_MSG_R_used[] __attribute((unused)) = { 123862306a36Sopenharmony_ci}; 123962306a36Sopenharmony_ci 124062306a36Sopenharmony_ci#define Ent_Disconnect1 0x000002a8 124162306a36Sopenharmony_ci#define Ent_Disconnect2 0x000002b0 124262306a36Sopenharmony_ci#define Ent_Disconnect3 0x000003a8 124362306a36Sopenharmony_ci#define Ent_Disconnect4 0x000003b0 124462306a36Sopenharmony_ci#define Ent_Disconnect5 0x000003d0 124562306a36Sopenharmony_ci#define Ent_Disconnect6 0x000003d8 124662306a36Sopenharmony_ci#define Ent_Disconnect7 0x00000448 124762306a36Sopenharmony_ci#define Ent_Disconnect8 0x00000450 124862306a36Sopenharmony_ci#define Ent_Finish1 0x000004a0 124962306a36Sopenharmony_ci#define Ent_Finish2 0x000004a8 125062306a36Sopenharmony_ci#define Ent_FinishCommandComplete 0x00000490 125162306a36Sopenharmony_ci#define Ent_GetReselectionData 0x00000038 125262306a36Sopenharmony_ci#define Ent_GetReselectionWithTag 0x00000048 125362306a36Sopenharmony_ci#define Ent_IgnoreMessage 0x00000188 125462306a36Sopenharmony_ci#define Ent_MsgInDuringData 0x00000218 125562306a36Sopenharmony_ci#define Ent_ReceiveMessage 0x000000a0 125662306a36Sopenharmony_ci#define Ent_SelectedAsTarget 0x00000058 125762306a36Sopenharmony_ci#define Ent_SendCommand 0x000001c8 125862306a36Sopenharmony_ci#define Ent_SendMessage 0x00000078 125962306a36Sopenharmony_ci#define Ent_SendMessagePhaseMismatch 0x00000090 126062306a36Sopenharmony_ci#define Ent_SendMessageWithATN 0x00000198 126162306a36Sopenharmony_ci#define Ent_StartUp 0x00000000 126262306a36Sopenharmony_cistatic u32 LABELPATCHES[] __attribute((unused)) = { 126362306a36Sopenharmony_ci 0x00000001, 126462306a36Sopenharmony_ci 0x00000003, 126562306a36Sopenharmony_ci 0x00000005, 126662306a36Sopenharmony_ci 0x00000009, 126762306a36Sopenharmony_ci 0x00000027, 126862306a36Sopenharmony_ci 0x0000002b, 126962306a36Sopenharmony_ci 0x00000039, 127062306a36Sopenharmony_ci 0x0000003b, 127162306a36Sopenharmony_ci 0x0000003d, 127262306a36Sopenharmony_ci 0x0000003f, 127362306a36Sopenharmony_ci 0x00000041, 127462306a36Sopenharmony_ci 0x0000006b, 127562306a36Sopenharmony_ci 0x0000006d, 127662306a36Sopenharmony_ci 0x00000073, 127762306a36Sopenharmony_ci 0x00000075, 127862306a36Sopenharmony_ci 0x0000007b, 127962306a36Sopenharmony_ci 0x0000007d, 128062306a36Sopenharmony_ci 0x0000007f, 128162306a36Sopenharmony_ci 0x00000081, 128262306a36Sopenharmony_ci 0x00000087, 128362306a36Sopenharmony_ci 0x0000008b, 128462306a36Sopenharmony_ci 0x0000008d, 128562306a36Sopenharmony_ci 0x0000008f, 128662306a36Sopenharmony_ci 0x00000095, 128762306a36Sopenharmony_ci 0x00000097, 128862306a36Sopenharmony_ci 0x00000099, 128962306a36Sopenharmony_ci 0x0000009b, 129062306a36Sopenharmony_ci 0x000000a1, 129162306a36Sopenharmony_ci 0x000000a5, 129262306a36Sopenharmony_ci 0x000000af, 129362306a36Sopenharmony_ci 0x000000b3, 129462306a36Sopenharmony_ci 0x000000b5, 129562306a36Sopenharmony_ci 0x000000b7, 129662306a36Sopenharmony_ci 0x000000bd, 129762306a36Sopenharmony_ci 0x000000c1, 129862306a36Sopenharmony_ci 0x000000c3, 129962306a36Sopenharmony_ci 0x000000c5, 130062306a36Sopenharmony_ci 0x000000cd, 130162306a36Sopenharmony_ci 0x000000d1, 130262306a36Sopenharmony_ci 0x000000d3, 130362306a36Sopenharmony_ci 0x000000d9, 130462306a36Sopenharmony_ci 0x000000db, 130562306a36Sopenharmony_ci 0x000000dd, 130662306a36Sopenharmony_ci 0x000000df, 130762306a36Sopenharmony_ci 0x000000e5, 130862306a36Sopenharmony_ci 0x000000ef, 130962306a36Sopenharmony_ci 0x000000f9, 131062306a36Sopenharmony_ci 0x000000fd, 131162306a36Sopenharmony_ci 0x000000ff, 131262306a36Sopenharmony_ci 0x00000101, 131362306a36Sopenharmony_ci 0x00000103, 131462306a36Sopenharmony_ci 0x00000109, 131562306a36Sopenharmony_ci 0x0000010d, 131662306a36Sopenharmony_ci 0x00000117, 131762306a36Sopenharmony_ci 0x0000011f, 131862306a36Sopenharmony_ci 0x00000121, 131962306a36Sopenharmony_ci}; 132062306a36Sopenharmony_ci 132162306a36Sopenharmony_cistatic struct { 132262306a36Sopenharmony_ci u32 offset; 132362306a36Sopenharmony_ci void *address; 132462306a36Sopenharmony_ci} EXTERNAL_PATCHES[] __attribute((unused)) = { 132562306a36Sopenharmony_ci}; 132662306a36Sopenharmony_ci 132762306a36Sopenharmony_cistatic u32 INSTRUCTIONS __attribute((unused)) = 149; 132862306a36Sopenharmony_cistatic u32 PATCHES __attribute((unused)) = 56; 132962306a36Sopenharmony_cistatic u32 EXTERNAL_PATCHES_LEN __attribute((unused)) = 0; 1330